Ambiguity between theoretical and MATLAB CIC decimator models
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have been doing a lot of experimentation on fixed point CIC decimator filters built by the function mfilt.cicdecim and then using the filter function for filtering. I created a model in SystemVerilog as per traditional theoritical CIC implementation. On comparison between the MATLAB and SystemVerilog models, I have observed some anomalies which are listed hereby :-
Anomalies
1. Whatever be the input to the filter, the first O/P of MATLAB filters is always zero.
2. When moving from one stage to multi stage filters, the O/P of MATLAB filters doesn't follow the traditional implementation (perhaps some different algorithm is implemented).
Could someone please help me as to how exactly these CIC decimators are implemented in MATLAB. I could share snippets of my code if need be.
Thanks
0 Commenti
Risposte (2)
Edson Silva
il 24 Lug 2020
I noticed exactly the same problem. Take a look at my question:
https://www.mathworks.com/matlabcentral/answers/570100-cic-decimator-output-mirrored?s_tid=srchtitle
I am sorry I did not find an answer to that yet
0 Commenti
Edson Silva
il 24 Lug 2020
I think the answer to this question is the way the MATLAB block is implemented. In the traditional CIC decimator algorithm, the delay unit in the integrator is used in the feedback path, but in the MATLAB block it uses the unit delay in the feedforward path of the integrators:
Although the filter will be equivalent (same frequency response), the numerical output of the two implementations are a different (the mirrored look that I mentioned in my question).
I don't know if there is any way of implementing the CIC in Matlab using the unit delay in the feedback.
0 Commenti
Vedere anche
Categorie
Scopri di più su Multirate Signal Processing in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!