%频率采样法
fp=2500;fs=3500;Fs=8000;rs=30;
wp=2*fp*pi/Fs;ws=2*fs*pi/Fs;%求归一化数字通带截止频率,求归一化数字阻带起始频率
Bt=ws-wp;%求过渡带宽
m=1;alpha=0.5842*(rs-21)^0.4+0.07886*(rs-21);%计算kaiser窗的控制参数 N=ceil(m+1)*2*pi/Bt;%求出滤波器的阶数 N=N+mod(N+1,2);
Np=fix(wp/(2*pi/N)); Ns=N-2*Np-1;
Hk=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
wc=(ws+wp)/2/pi; %求滤波器的截止频率并关于pi归一化
hk=fir1(M,wc,kaiser(M+1,alpha))%利用 fir1 函数求出滤波器的系数 [Hk,w] = freqz(hk,1); % 计算频率响应 mag = abs(Hk); % 求幅频特性 db = 20*log10(mag/max(mag)); % 化为分贝值 db1=db';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title('数字滤波器——频率采样法')
%%
%利用等波纹最佳逼近法设计FIR数字滤波器
Fs=8000;f=[2500,3500];m=[1,0]; rp=1;rs=30;
delta1=(10^(rp/20)-1)/(10^(rp/20)+1);delta2=10^(-rs/20); rip=[delta1,delta2];
[M,fo,mo,w]=remezord(f,m,rip,Fs);%边界频率为模拟频率时必须加入采样频率 M=M+1;%估算的M直达不到要求,家1后满足要求
6
hn=remez(M,fo,mo,w);
[Hk,w] = freqz(hn,1); % 计算频率响应 mag = abs(Hk); % 求幅频特性 db = 20*log10(mag/max(mag)); % 化为分贝值 db1=db';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title('数字滤波器——等波纹最佳逼近法')
7