Identification of the delay induced by a FIR interpolator block in simulink
3 views (last 30 days)
Show older comments
I am currently trying to upsample some signals in Simulink using the FIR interpolation block.
To test such functionnalities, I used the `ex_polyphaseinterp` example provided in the documentation.
According to the same documentation, with the settings used in the example, the interpolated signal should have a 3 sample delay (as the upsample factor is of 3).
However, when checking the scope for the signals, a much higher delay is observed as can be seen below

Can anyone clarify the information in the documentation and / or point errors in my reasoning ?
3 Comments
Mathieu NOE
on 13 Oct 2020
hello
I wonder if the term "latency" in the doc covers everything you see on your graph
beside this " latency " effect (to be clarified) , any FIR filter will show a group delay equals half of the FIR order
do you know your filter order ?
Answers (1)
Elady
on 1 Jul 2021
Edited: Elady
on 1 Jul 2021
Hello Guerin,
The delay that you see in the FIR interpolator output is a result of the FIR group delay, like Mathieu mentioned.
That delay should not be confused with the latency discussed in the documentation. That latency has a different meaning, pertaining multirate execution and frame-based processing, which is not the case here (you verify that the FIR Interpolator block runs in "sample based" mode).
In the case of the ex_polyphaseinterp example, the FIR is obtained by h=fir1(35,0.3). It is a symmetric type-II linear phase FIR, which has a group delay of
samples. Accounting for the sample time in the simulation
, the expected output delay is
, exactly as it shows on the scope.
Regards,
Elad
0 Comments
See Also
Categories
Find more on Array and Matrix Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!