CIC filter wordlength and simulink simulation problem
6 次查看(过去 30 天)
显示 更早的评论
I want to design a CIC filter which has a decimation ratio of 32, I need 10 bits at the output, and my input is 2 bits, I want 3 stages and differential delay is 1 so according to Hogenauer's paper wordlength is N*log(RM)+Bin -1=3*log(32)+2=16 bits, however I want 10 bits at the output, and again according to Hogenauer's paper the number of bits being discarded at each stage is 0,0,1,3,4,5. Anyway I want to simulate this CIC filter in Matlab Simulink, first I want to simulate the filter without discarding the bits, after I want to simulate the filter with discarding the bits, first I use
hm=mfilt.cicdecim(32,1,3,2,16);
realizemdl(hm);
and obtain simulink blocks, I use a discrete sine wave source from Signal Processing Blockset and try to simulate and see the output with a scope but the output is not the required output, after I use
hm=mfilt.cicdecim(32,1,3,2,10,[16 15 14 12 11 10]);
realizemdl(hm);
and the output gets worse. when I use
hm=mfilt.cicdecim(32,1,3);
realizemdl(hm);
in this case the input wordlength is 16, output wordlength is 31 and I can get reasonable results, my question is how can I obtain 10 bits output when I want to design a CIC filter with a decimation ratio of 32 and simulate it with simulink ?
0 个评论
回答(1 个)
Seth Popinchalk
2011-1-27
The Signal Processing Blockset contains the CIC Filter block in the Signal Processing Blockset -> Filtering -> Filter Designs library. This block enables you to specify the Filter Internals, including the output word length.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Multirate and Multistage Filters 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!