FIR_Filter Kaiser

조회 수: 9 (최근 30일)
Kervin Aranzado
Kervin Aranzado 2022년 9월 22일
답변: Star Strider 2022년 9월 22일
I need to decrease the filter order n by 1
fsamp = 12000; %sampling rate
fcuts = [1800 2000]; %indicate frequency cutoffs
mags = [1 0]; %desired magnitudes per band
devs = [0.0114469 0.01778279]; %amplitude deviation per band
[n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fsamp);...
%Use Kaiser window estimation
hh = fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale'); %design FIR filter
freqz(hh) %plot response

채택된 답변

Star Strider
Star Strider 2022년 9월 22일
I am not certain what the problem is.
Try something like this —
fsamp = 12000; %sampling rate
fcuts = [1800 2000]; %indicate frequency cutoffs
mags = [1 0]; %desired magnitudes per band
devs = [0.0114469 0.01778279]; %amplitude deviation per band
[n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fsamp);
n = n-1; % <— ADDED
%Use Kaiser window estimation
hh = fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale'); %design FIR filter
figure
freqz(hh,1,2^16,fsamp) %plot response
Changing the filter order by 1 likely changes nothing significant about the filter behaviour, at least for FIR filters.
.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Digital Filter Design에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by