Fractional Resampler - GNU Radio Fractional Resampler block in GNU Radio has parameter phase shift but there is a lack of information in which factors user has to provide this parameter (radians, degrees or samples?). There is only an error message providing and info that the range of this parameter should be set between 0 and 1. I have created simple simulation with the fractional resampler block to kinda 'debug' its behavior. There is an 100 length input vector consisting of zeros but one in the middle (50th index). Then there is an interpolatior with the RRC filter. Given 0 phase shift and 1 for resampling ratio the output from the interpolating FIR Filter and Fractional Resampler are not in line, meaning that original signal is delayed by 3 samples and to compensate this phenomena I needed to delay samples by 3 in the branch where Fractional Resampler exists. Question are:

Why 3 samples offset occurs?
How to interpret phase shift parameter from Fractional Resampler block?

I don't know if its relevant information but QT Time Sink has normal trigger set to 0.1.
I am enclosing the flowgraph and the source
https://gist.github.com/marcinsztajn/afe03d05653864b10125fefe7d8b888d
&quot;Phase shift&quot; is poor terminology as time delay is not exactly the same, but the significance of the 0 to 1 factor is a fractional delay in units of samples.
The filter itself will always have additional delay, as a causal filter which is simply a processing delay independent of resampled delay as given by the phase shift parameter. For example a resampling delay of 0.5 will resample the original waveform such as to provide all new samples that are midway in between the current samples, and this new resampled waveform will be completely delayed by the filtering delay in time related to the input waveform.
The example in the figure below shows the original samples as blue dots of an underlying continuous time waveform as the line. If we used a &quot;phase shift&quot; parameter of 0.2, the samples as given by the red dots would be determined as the interpolated fractional delay values. These red dots would all be shifted even further to the right relative the original locations as shown in the lower plot due to the processing delay of the filter itself. (As we would see with any causal filter).