100dB。3900Hz和100Hz的频率均在阻带内,只有25000Hz的频率在通带内。
图3.3 滤波器的输入信号和输出信号
由图3.3可见,通过模拟系统后,3900Hz的高频成分和100Hz的低频成分被滤除了,输出只含有2500Hz频率成分的振动。
3.2切比雪夫(chebyshev)滤波器
巴特沃兹滤波器在通带内幅度特性是单调下降的,如果阶次一定,则在靠近截止?c处,幅度下降很多,或者说,为了使通带内的衰减足够小,需要的阶次N很高,为了克服这一缺点,采用切比雪夫多项式来逼近所希望的|H(j?)|2。切比雪夫滤波器的|H(j?)|2在通带范围内是等幅起伏的,所以在同样的通常内衰减要求下,其阶数较巴特沃兹滤波器要小。 3.2.1 Chebyshev I型
Chebvshev I型模拟低通滤波器的平方幅值响应函数为:
H?j??2?A????21??1??CN?????c?22 (3.3)
式中,?为小于1的正数,表示通带内的幅值波纹情况;?c为截止频率,N
?为Chebyshev多项式阶数,CN??????为?Chebyshev多项式,定义为:
c CN?cosNcos?1?x?(x)???1?x??coshNcosh???x?1?x?1 (3.4)
21
Chebyshev I型滤波器特点是:通带内具有等波纹起伏特性,而在阻带内则单调下降,且具有更大衰减特性;阶数愈高,特性愈接近矩形。传递函数没有零点,极点分布在一个椭圆上。
注意,这里所说的零点和极点分布在一个椭圆上为Laplace域中的形式。 MATLAB信号处理工具箱函数cheb1ap设计N阶Chebyshev I型模拟低通滤波器原型。因为Chebyshev I型模拟原型滤波器通带内具有波纹特点,所以在调用时需增加通带波纹所能下降的最低限度Rp(dB)。由于Rp为相对于增益1的下降分贝数,所以该值越小滤波器在通带内越接近1,滤波器的性能越好,通常取值范围为1~5(dB)。此函数的调用格式为:
[z.p,k]=cheb1ap(N,Rp)
式中,N为滤波器的阶数,Rp为通带波纹,单位为dB,z,p,k分别为滤波器的零点、极点和增益。
图3.4 Chebyshev I型模拟原型滤波器平方幅频图
与Butterworth滤波器相比(图3.1),可以看到:在相同的阶数下,Chebyshev I型模拟原型滤波器具有更窄(更陡)的过渡带。但这种特性是以牺牲了通带的单调平滑特性(而成为波纹状)为代价的。如果我们不想牺牲通带内的单调平滑特性有无办法设计阶数较小而过渡带较窄的滤波器呢?这就涉及到Chebyshev II型滤波器。
3.2.2 Chebyshev II型滤波器
Chebyshev II型低通模拟滤波器的平方幅值响应函数为:
22
H?j??2?A????21?22???1??CN??????c?????1 (3.5)
式中各项参数的意义同上。
Chebyshev II型模拟滤波器的特点是:阻带内具有等波纹的起伏特性,而在通带内是单调、平滑的,阶数愈高,频率特性曲线愈接近矩形。传递函数既有极点又有零点。
Chebyshev II型模拟滤波器零点为[z(1),z(2),?,z(nz)],极点为[p(1),p(2),?,p(np)],滤波器的增益为K。
MATLAB信号处理工具箱提供函数cheb2ap设计N阶Chebyshev II型模拟滤波器的原型。由于Chebyshev II型滤波器阻带内有波纹,通带内单调平滑,则必须给定阻带衰减Rs,前面已经讲过,通带波纹和阻带衰减都是相对于增益1的下降,因此,Rp和Rs越大则与通带增益1的差距越大。因此,阻带衰减Rs越大对应的滤波器滤波效果越好,通常Rs的取值要大于16dB。该函数通常调用格式为:
[z,p,k]=cheb2ap(N,Rs)
式中,N为滤波器的阶数;Rs为阻带波纹,单位dB; z,p,k为滤波器的零极点和增益。
图3.5 Chebyshev II型模拟原型滤波器平方幅频图
可见Chebyshev II型滤波器在通带内是单调平滑的,而阻带内却出现了波纹。随着滤波器阶数的增高,其幅频特性越接近矩形。
由前面的讲解可知,Butterworth滤波器具有单调平滑的频率特性,但在过渡带宽相同的条件下,所需的滤波器阶数较高(即设计的滤波器滤波速度较慢,
23
成本较高)。而Chebyshev I和II型滤波器在通带或阻带内有波纹出现,但在过渡带宽相同的条件下,所需的滤波器阶数较低(即设计的滤波器滤波速度较快,成本较低)。 3.2.3 应用举例
x(t)?sin?2*?*30*t??0.5*cos?2*?*300*t??2*sin?2*?*800*t?为输入
信号,设计一个5阶的chebyshev I型带通滤波器,通带波纹3dB,下边界频率500?rad/s,上边界频率1000?rad/s,绘制幅频响应图。给出该滤波器的脉冲响应、阶跃响应。模拟滤波器的输出并给出模拟输入信号和模拟输出信号的Fourier振幅谱。
程序如下:
N=5;Rp=3;w1=500*pi;w2=1000*pi; %滤波器阶数、阻带衰减 [z,p,k]=cheb1ap(N,Rp); %设计Chebyshev I型原型低通滤波器 [b,a]=zp2tf(z,p,k); %转换为传递函数形式 Wo=sqrt(w1*w2); %中心频率 Bw=w2-w1; %频带宽度
[bt,at]=lp2bp(b,a,Wo,Bw); %频率转换 [h,w]=freqs(bt,at); %计算复数频率响应 figure(1)
subplot(2,2,1),semilogy(w/pi,abs(h)); %绘制幅频响应 xlabel('Angular frequency/pi');grid on;title('Magnitude'); subplot(2,2,2),plot(w/pi,angle(h)*180/pi);%绘制相频响应 xlabel('Angular frequency/pi');
ylabel('Phase/^o');grid on;title('Phase angle')
H=[tf(bt,at)]; %在MATLAB中表示此滤波器 [h1,t1]=impulse(H); %绘出系统的脉冲响应图
subplot(2,2,3),plot(t1,h1);xlabel('Time/s');title('Impluse response')
[h2,t2]=step(H); %绘出系统的阶跃响应图
subplot(2,2,4),plot(t2,h2);xlabel('Time/s');title('Step response')
figure(2)
dt=1/2000; t=0:dt:0.1; %给出模拟滤波器输出的时间范围 u=sin(2*pi*30*t)+0.5*cos(2*pi*300*t)+2*sin(2*pi*800*t); subplot(221),plot(t,u) %绘制模拟输入信号
24
相关推荐: