Ambiguity between theoretical and MATLAB CIC decimator models
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (2)
Edson Silva
le 24 Juil 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 commentaires
Edson Silva
le 24 Juil 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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336676/image.png)
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 commentaires
Voir également
Catégories
En savoir plus sur Filter Analysis dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!