Why does dsp.CICInterpolator prepend zeros?
Ältere Kommentare anzeigen
The output of dsp.CICInterpolator is exactly what I expect, except with N zeros padded at the start. What is the idea behind these extra zeros?
In the literature, we usually see that the group delay of a CIC filter is N*(R*M-1)/2. However, with the prepended zeros, dsp.CICInterpolator has a group delay of N*(R*M-1)/2 + N.
The example code provided here uses a lot of magic numbers. In particular, it plots y(1,4:end) (i.e. discarding the first 3 samples). This produces the correct alignment because the group delay in this example is N*(R*M-1)/2 + N = 3. However, if we remove the prepended zeros, then we get N*(R*M-1)/2 as I would expect.
I can't find any specific details on the implementation. Can anyone shed any light on this?
Many thanks.
Antworten (1)
Harry
am 27 Feb. 2020
0 Stimmen
Kategorien
Mehr zu Interpolation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!