实验四 滤波器传输函数的零点和极点 对滤波特性的影响 第11周: 周二(5.02)第1~2节, 506 2018/12/10 实验四 滤波器传输函数的零点和极点 对滤波特性的影响 第11周: 周二(5.02)第1~2节, 506 01:32:03
一、实验目的 1. 直观地了解滤波器传输函数的零点和极点(的个数和位置)对滤波特性的影响。 2. 利用设计的滤波器进行滤波。 01:32:03
实验原理 当z=ejω通过零点时,|H|具有最小幅度值 当z=ejω通过极点时,|H|具有最大幅度值 零、极点矢量图 单位圆 复数z平面 01:32:03
零点位置影响频谱谷底(阻带)的位置和深度 极点位置影响频谱山峰(通带)的位置和高度 复数z平面 零点位置影响频谱谷底(阻带)的位置和深度 极点位置影响频谱山峰(通带)的位置和高度 单位圆 零、极点矢量图 01:32:03
二、实验要求 1、对于给定的滤波器传输函数H(z),通过增加其零点和极点来改变其滤波特性(改变其幅度谱)。 2、自己设计含噪声的有用信号,利用上面得到的滤波器对信号进行滤波。 01:32:03
三、实验内容 1、给定某个滤波器的传输函数H(z): 增加其零点和极点的个数,分析新的滤波器的滤波特性(幅度谱)。 01:32:03
a=conv([1, -0.5335], [1, -(0.625+0.3773i)]); %分母 b=conv([0, 0.0798], [1, 0.6566]); %分子 a=conv([1, -0.5335], [1, -(0.625+0.3773i)]); %分母 a=conv(a, [1, -(0.625-0.3773i)]); %分母 zplane(b,a); %画零点极点图 [h,w] = freqz(b,a); figure(2); plot(w/pi, abs(h)); conv( )可以实现多项式相乘 01:32:03
2个零点:z=0, z=-0.6566 1个极点: z=0.5335 1对共轭极点: z=0.6250+0.3773i, z=0.6250-0.3773i 零点极点图 幅度谱 01:32:03
增加一对零点或一对极点的方法: r = ??; %给定r和w w = ??; %(0~2*pi)之间 Rre = r*cos(w); Rim = r*sin(w); a1 = Rre + i*Rim; a2 = Rre - i*Rim; 注:极点只能在单位圆内(r<1) 零点可以在单位圆上(r=1) 01:32:03
1)根据给定的滤波器的H(z)的零点极点图及幅度谱,设计增加一对零点和极点;(自己给定上页程序中的r和w) 零点、极点图 幅度谱 具体步骤: 1)根据给定的滤波器的H(z)的零点极点图及幅度谱,设计增加一对零点和极点;(自己给定上页程序中的r和w) 2)画出增加零点/极点后的幅度谱;分析是否达到了预期的效果。 01:32:03
设一对极点为a1和a2,一对零点为b1和b2,则改造后的H(z)变为: 利用conv( )函数把增加的一对(或多对)零点和极点的系数分别乘到分子和分母上。 01:32:03
注意:需要对H(z)做归一 实现方式: [h,w] = freqz(b,a); b = b/max(abs(h)); (使通带内的幅度谱最大值为1)。 实现方式: [h,w] = freqz(b,a); b = b/max(abs(h)); 幅度谱 (调整之后的系数b供后面的filtfilt函数使用) 01:32:03
2、利用设计的滤波器进行滤波 y=filtfilt(b, a, x); 具体步骤: 1)根据前面得到的增加零点/极点后的滤波器幅度谱特性,设计含噪声和有用信号的复杂信号(比如不同频率的cos或sin信号); 2)利用Matlab函数filtfilt( )对信号进行滤波,分析滤波结果。 b和a分别为H(z)的分子和分母多向式的系数; x为待滤波的输入信号。 y=filtfilt(b, a, x); 注意:要设计合适的复杂信号,使得能观察到增加零点/极点前后的滤波结果的变化。比如:把噪声信号的频率设置在滤波器过渡带区域内。 01:32:03
参考示例 01:32:03