FIR_Filter Kaiser
5 views (last 30 days)
Show older comments
Kervin Aranzado
on 22 Sep 2022
Answered: Star Strider
on 22 Sep 2022
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
0 Comments
Accepted Answer
Star Strider
on 22 Sep 2022
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 Comments
More Answers (0)
See Also
Categories
Find more on Kaiser in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!