武汉理工大学《MATLAB原理与应用》课程设计
分析:从高通滤波器的幅频响应曲线可以看出,大于0.6π区间上处于通带,满足高通滤波器阻带截止频率0.6π的要求,而阻带截止频率截止于0.5π同样满足设计的要求。
图3 高通滤波器幅度特性
分析:从高通滤波器幅度响应曲线可以看出,在通带内高通滤波器幅度衰减满足小于1dB的设计要求。而在阻带内同样满足大于30dB的衰减要求。说明设计的高通FIR滤波器满足设计的性能要求,达到了设计的标准。
5.4 高通FIR数字滤波器的进一步设计
5.4.1高通FIR滤波器改进措施分析
以上设计的FIR数字滤波器满足设计的要求,但是我们发现在阻带内信号存在很大的震荡,但是实际上我们总是希望信号在通带内无衰减,而在阻带内没有信号通过。这也是理想滤波器的设计要求,但是实际上并不能达到理想的标准。但我们可以通过一定的手段减小阻带内的信号震荡,使之趋近于理想滤波器的特性要求。
对于此次设计的高通滤波器,我们可以通过增加频率采样点,即在频率响应间断点附近区间内插一个或几个过渡采样点,使不连续点变成缓慢过渡,这样,
12
武汉理工大学《MATLAB原理与应用》课程设计
虽然加大了过渡带,但明显增大了阻带衰减。
5.4.2 高通FIR滤波器改进设计程序
N=33;
wc=3*pi/5;T1=0.2;T2=0.7;%增加过渡点值 N1=fix(wc/(2*pi/N)); N2=N-2*N1;
A=[zeros(1,N1),T1,T2,ones(1,N2-4),T2,T1,zeros(1,N1)];%增加过渡点 theta=-pi*[1:N]*(N-1)/N; ??????
在这个采样频率点的选取上,新增了四个过渡点在频率响应间断点上,即0.2,0.7,这样的方法是提高阻带衰减的最有效的方法。由于程序设计大部分不变,所以这部分只给出了部分程序。
5.4.3 改进型高通FIR滤波器调试结果
图4 理想高通滤波器增加频率过度点
13
武汉理工大学《MATLAB原理与应用》课程设计
图5 改进型高通FIR滤波器幅度特性
分析:在频率响应间断点附近区间内插了几个过渡采样点,是不连续的点变成缓慢过渡,我们可以看到,在改进后的高通FIR滤波器特性曲线中,可以看到明显使得阻带内的衰减幅度大大增加,达到了-50dB,有效减小了阻带震荡,使设计的高通FIR滤波器性能更加稳定,更加趋近于理想高通FIR滤波器。
6 高通FIR数字滤波器性能测试
6.1高通FIR数字滤波器性能测试程序
f1=200;f2=500;f3=1000;%输入信号频率 fs=3000;%采样频率 figure(1) subplot(211)
t=0:1/fs:0.25;%定义时间范围和步长
s=sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*f3*t);%滤波前信号 plot(t,s);%滤波前信号图像
xlabel('时间/秒'); ylabel('幅度');title('信号滤波前时域图'); subplot(212)
Fs=fft(s,512);%将信号变换到频域
14
武汉理工大学《MATLAB原理与应用》课程设计
AFs=abs(Fs);%信号频域图的幅值 f=(0:255)*fs/512;%频率采样
plot(f,AFs(1:256));%滤波前信号频域图
xlabel('频率/赫兹'); ylabel('频谱'); title('信号滤波前频谱图'); figure(2) sf=filter(h,1,s); subplot(211)
plot(t,sf)%滤波后信号的图像
xlabel('时间/秒'); ylabel('幅度'); title('信号滤波后时域图'); axis([0.2 0.25 -2 2]);%限定图像坐标范围 subplot(212)
Fsf=fft(sf,512);%滤波后信号频域 AFsf=abs(Fsf);%信号频域的幅值 f=(0:255)*fs/512;%频率采样
plot(f,AFsf(1:256))%滤波后信号频域图
xlabel('时间/秒'); ylabel('幅度'); title('信号滤波后时域图');
6.2 性能测试结果
图6输入信号波形与频谱图
15
武汉理工大学《MATLAB原理与应用》课程设计
图7输出信号波形与频谱图
分析:从输入输出信号的波形和频谱图可以看出,输入信号含有200Hz,500Hz,1000Hz的混合信号,经过高通FIR滤波器之后,只有高频1000Hz的信号通过,低频信号全部被过滤掉,检验了所设计的高通FIR滤波器的性能,说明所设计的高通FIR滤波器满足设计的要求,达到了很好的滤波效果。
7 FDATOOL工具箱设计高通FIR滤波器
7.1 FDATOOL工具箱
fdatool(filter design & analysis tool)是matlab信号处理工具箱里专用的滤波器设计分析工具。fdatool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。进入fdatool工具箱在matlab的命令行上输入fdatool,回车,如图所示:
16