CIC filter wordlength and simulink simulation problem
조회 수: 3 (최근 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에서 Filter Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!