FIR_Filter Kaiser

4 visualizzazioni (ultimi 30 giorni)
Kervin Aranzado
Kervin Aranzado il 22 Set 2022
Risposto: Star Strider il 22 Set 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

Risposta accettata

Star Strider
Star Strider il 22 Set 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.
.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by