第7章 数字信号处理实验 实验10 用MATLAB窗函数法设计FIR滤波器
实验10 用MATLAB窗函数法设计FIR滤波器
一、实验目的
㈠、学习用MATLAB语言窗函数法编写简单的FIR数字滤波器设计程序。 ㈡、实现设计的FIR数字滤波器,对信号进行实时处理。
二、实验原理
㈠、运用窗函数法设计FIR数字滤波器
与IIR滤波器相比,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数H(z)为
N?1 H(z)??h(n)zn?0?n
H(z)是z?1的(N?1)次多项式,它在z平面上有(N?1)个零点,原点z?0是(N?1)阶
重极点。因此,H(z)永远是稳定的。稳定和线性相位特性是FIR滤波器突出的优点。
FIR滤波器的设计任务是选择有限长度的h(n),使传输函数H(ej?)满足技术要求。主要设计方法有窗函数法、频率采样法和切比雪夫等波纹逼近法。本实验主要介绍用窗函
数法设计FIR数字滤波器。
50Magnitude (dB)0-50-10000.10.20.30.40.50.60.70.8Normalized Angular Frequency (′p rads/sample)0.910Phase (degrees)-500-1000-1500-2000-250000.10.20.30.40.50.60.70.8Normalized Angular Frequency (′p rads/sample)0.91
图7-10-1 例1 带通FIR滤波器特性
㈡、 用MATLAB语言设计FIR数字滤波器
例1:设计一个24阶FIR带通滤波器,通带为0.35<ω<0.65。其程序如下
b=fir1(48,[0.35 0.65]); freqz(b,1,512)
47
DSP与通信技术应用综合实验
可得到如图7-10-1 所示的带通FIR滤波器特性。由程序可知,该滤波器采用了缺省的Hamming窗。
例2:设计一个34阶的高通FIR滤波器,截止频率为0.48,并使用具有30dB波纹的Chebyshev窗。其程序如下
Window=chebwin(35,30);
b=fir1(34,0.48,'high',Window); freqz(b,1,512)
可得到如图7-10-2 所示的高通FIR滤波器特性。
50Magnitude (dB)0-50-100-15000.10.20.30.40.50.60.70.8Normalized Angular Frequency (′p rads/sample)0.91500Phase (degrees)0-500-1000-1500-200000.10.20.30.40.50.60.70.8Normalized Angular Frequency (′p rads/sample)0.91
图7-10-2 例2 高通FIR滤波器特性
例3:设计一个30阶的低通FIR滤波器,使之与期望频率特性相近,其程序如下 f=[0 0.6 0.6 1];
m=[1 1 0 0]; b=fir2(30,f,m); [h,w]=freqz(b,1,128); plot(f,m,w/pi,abs(h))
结果如图7-10-3所示。
1.41.210.80.60.40.2000.10.20.30.40.50.60.70.80.91
图7-10-3 例3 理想和实际滤波器特性
例4:使用Hamming窗设计一个50阶的FIR带通滤波器,通带为0.3<ω<0.7,试用绝对和相对两种形式显示其幅频特性。
w1=0.3;w2=0.7;n=50; Window=hamming(n+1); b=fir1(n,[w1 w2],Window); [h,w]=freqz(b,1); GB=real(20*log10(h));
subplot(2,1,1);plot(w/pi,abs(h),'linewidth',2 );
48
第7章 数字信号处理实验 实验10 用MATLAB窗函数法设计FIR滤波器
set(gca,'XTickMode','manual','XTick',[0,1]);
set(gca,'YTickMode','manual','YTick',[0.0032,0.5,0.707,0.8913,1]); axis([0 ,1.0, -0.1, 1.2]);legend('|H(jω)|-ω'); subplot(2,1,2);plot(w/pi,GB,'linewidth',2); set(gca,'XTickMode','manual','XTick',[0,1]);
set(gca,'YTickMode','manual','YTick',[-150,-100,-50,-1]); axis([0 ,1.0, -150, 10]);legend('G(dB)-ω');
结果如图7-10-4所示。
10.89130.7070.5|H(j|?)|-|?0.003200.30.71-1-50-100-150G(dB)-|?00.30.71 图7-10-4 例4FIR带通滤波器幅频特性
三、实验任务
㈠、用窗函数法辅助设计FIR数字滤波器。
1.试用fir2设计一个32阶的FIR低通滤波器,通带为0.4<ω,并将它与期望频率特性相比较。
* 加矩形窗,并显示这个滤波器的幅频特性和相频特性。
2.试用fir1设计以上条件的FIR低通滤波器,其中请分别使用矩形窗、三角窗、哈明窗、汉宁窗、布莱克曼窗,观察其滤波器响应特性。
3.试用fir1设计一个16阶的FIR带阻滤波器,阻带为0.25<ω<0.75,请分别观察用矩形窗、三角窗、哈明窗、汉宁窗、布莱克曼窗实现滤波器响应特性的情况。
㈡、用硬件系统实现FIR数字滤波器
1.用硬件系统实现㈠、2中设计的FIR低通数字滤波器,用示波器观察其设计结果,并与MATLAB中显示的结果相比较。
2.用硬件系统实现㈠、3中设计的FIR带通数字滤波器,用示波器观察其设计结果,并与MATLAB中显示的结果相比较。
注:具体操作方法参考实验5。
㈢、试用fir1设计一个n=38的FIR带通滤波器,通带为0.4<ω<0.6, 1.要求使用具有50dB波纹的切比雪夫窗,观察其滤波器响应特性。 *2.试用绝对和相对两种形式显示其幅频特性。
四、实验预习
㈠、仔细阅读实验原理部分,了解MATLAB有关FIR滤波器设计方面的各条函数的意
49
DSP与通信技术应用综合实验
义及使用方法,逐条分析例题程序。
㈡、试根据实验任务,列写设计程序。
五、实验设备
微型计算机 一台 HD8680型DPS实验箱 一台 双踪示波器 一台
六、实验报告
列写出通过调试的设计程序。
50
相关推荐: