窗函数法设计FIR数字高通滤波器用matlab 技术指标 fc=4800Hz,fp=5000Hz,Ac=100dB,Ap=1dB
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 20:46:07
窗函数法设计FIR数字高通滤波器用matlab 技术指标 fc=4800Hz,fp=5000Hz,Ac=100dB,Ap=1dB
窗函数法设计FIR数字高通滤波器
用matlab
技术指标 fc=4800Hz,fp=5000Hz,Ac=100dB,Ap=1dB
窗函数法设计FIR数字高通滤波器用matlab 技术指标 fc=4800Hz,fp=5000Hz,Ac=100dB,Ap=1dB
将模拟频率转化为数字频率,设取样时间为T(要满足抽样定理)
Ωp=2π*fp*T Ωs=2π*fs*T
过渡带宽度△Ω=Ωp-Ωs
阻带衰减已经超过74db,要选用Kaiser窗了,Kaiser的参数可变,要根据公式确定滤波器的参数
一般都选用Ⅰ型线性相位滤波器即滤波器阶数M为偶数,程序如下:
wp=;ws=;Ap=1;As=100;
Rp=1-10.^(-0.05*Ap);Rs=10.^(-0.05*As);
f=[fp fs];
a=[0 1];
dev=[Rp Rs];
[M,wc,beta,ftype]=kaiserord(f,a,dev);
M=mod(M,2)+M;
h=fir1(M,wc,ftype,kaiser(M+1,beta));
omega=linspace(0,pi,512);
mag=freqz(h,[1],omega);
plot(omega/pi,20*log10(abs(mag)));
grid;
omega1=linspace(0,wp,512);
h1=freqz(h,[1],omega1);
omega2=linspace(ws,pi,512);
h2=freqz(h,[1],omega2);
fprintf('Ap=%.4f\n',-20*log10(min(abs(h1))));
fprintf('As=%.4f\n',-20*log10(max(abs(h2))));
运行程序可以得到滤波器的通阻带衰减,画出频率响应,若同阻带衰减不满足要求还可以使用滤波器的优化,一般使用的等波纹FIR进行优化