Why does dsp.CICInterpolator prepend zeros?
显示 更早的评论
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.
回答(1 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!