Design a low pass filter using kaiser window
이전 댓글 표시
I need to setup a FIR filter for a signal with pass band cutoff 3.2 Hz, stop band cutoff 4.8 Hz, pass band ripple 0.1 dB, stop band attenuation 44 dB and sample frequency 16 Hz
After reading the documentation I tried this. Is the implementation correct?
[n,Wn,beta,ftype] = kaiserord([3.2 4.8],[1 0],...
[0.1 44],16);
b = fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');
c = kaiserord([3.2 4.8],[1 0],[0.1 44],16,'cell');
bcell = fir1(c{:});
hfvt = fvtool(b,1,bcell,1);
legend(hfvt,'b','bcell');
채택된 답변
추가 답변 (1개)
Star Strider
2016년 12월 16일
1 개 추천
For what it’s worth, it seems to me to do what you designed it to do. In the fvtool GUI, you need to open the ‘Analysis’ tab and enter your sampling frequency (the last item in the drop-down menu) to verify the frequencies of the passband and stopband.
댓글 수: 2
Gehan Kavinda
2016년 12월 16일
편집: Gehan Kavinda
2016년 12월 16일
Star Strider
2016년 12월 16일
The frequencies you calculated from the radian frequencies are approximately correct (you rounded them to the nearest 0.1). By that criterion, the filter is correct. I don’t recognise the notation of ‘Ap’ and ‘Aa’, so I assume you interpreted them correctly. (I can’t find my copy of Antoniou just now.) Your filter has about 40 dB stopband ripple and about 20 dB stopband attenuation. I didn’t specifically measure the passband ripple, but it looks correct.
카테고리
도움말 센터 및 File Exchange에서 Kaiser에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

