信号与系统滤波器课程设计.docx
《信号与系统滤波器课程设计.docx》由会员分享,可在线阅读,更多相关《信号与系统滤波器课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
信号与系统滤波器课程设计
《信号与系统》课程设计———模拟巴特沃斯低通滤波器的设计
【设计题目】巴特沃兹滤波器、切比雪夫滤波器、椭圆滤波器的设计
【摘要】主要设计的是低通数字巴特沃兹滤波器,并通过参数设计对比了不同阶数的巴特沃兹滤波器特性能;设计同一要求下的巴特沃兹滤波器、切比雪夫滤波器、椭圆滤波器低通滤波器,并对他们进行了比较。
【引言】对于频率性选择滤波器,巴特沃兹滤波器是广泛应用的一类连续时间LTI系统,特别是数字滤波具有精度高、灵活性好的等优势,并可以针对信号处理的要求,通过修改参数来改变滤波器特性。
一个N阶巴特沃兹滤波器的频率响应的幅值应满足
通过matlab中给出的用来模拟巴特沃兹滤波器设计的各种强大函数,预先给定参数——通带边缘频率、阻带边缘频率、通带振幅波动dB数、阻带衰减dB数,可以做出相应的的低通滤波器。
变化参数,讨论滤波器滤波特性的变化,及滤波效果。
【关键字】巴特沃兹滤波器
【正文】
1.设计一个低通巴特沃兹滤波器满足下列技术指标:
Wp=30;Ws=50;Rp=7dB;Rs=16dB
其中:
Wp=以弧度/秒为单位的通带边缘频率;Wp>0
Ws=以弧度/秒为单位的阻带边缘频率;Wp>Ws>0
Rp=通带中的振幅波动的+dB数;(Rp>0)
Rs=阻带衰减的+dB数;(Rs>0)
利用matlab提供的一个函数Buttord,
Buttord的作用是:
计算巴特沃兹滤波器的阶N,以满足通带频率、阻带频率、振幅波动、阻带衰减等这些参数要求,(calculatestheminimumorderofadigitaloranalogButterworthfilterrequiredtomeetasetoffilterdesignspecifications.)在工程中,因为低阶的滤波器容易实现且较便宜,所以求最低的阶。
Matlab程序代码:
wp=30;
ws=50;
rp=7;
rs=16;
对于原始信号x。
若采样频率Fs=1000Hz,设计一个8阶、通带为100-200Hz的带通滤波器:
[b,a]=butter(8,[])=butter(8,[100/(1000/2)200/(1000/2)])这里Fa=Fs/2,Fa是分析频率得到滤波器系数后,就可以直接用了。
[n,Wn]=buttord(wp*2*pi,ws*2*pi,rp,rs,'s');fprintf('\n***BUTTERWORTHFILTERORDER=%2.0f\n',n)
[b,a]=butter(n,Wn,'s');
[H,Wn]=freqs(b,a);
plot(Wn*rs/(2*pi),abs(H));
grid;
xlabel('频率/Hz');
ylabel('幅值');
***BUTTERWORTHFILTERORDER=3
一个简单的巴特沃兹滤波器的设计实际上归结于设计滤波器系数[b,a],即其频率响应的分子分母的系数向量。
这里还采用了两个matlab里的函数:
用于设计滤波器的butter和用于计算并画出幅度响应的freqs;
[b,a]=butter(N,Wn,'low')designsalowpass低通滤波器
([b,a]=butter(N,Wn)--带通滤波器;[b,a]=butter(N,Wn,'high')---用来设计高通滤波器)
Wn的确定跟采样频率Fs有关。
画出幅频特性曲线如下:
求得滤波器系数[b,a]向量:
b=
+006*
000
a=
+006*
2.改变滤波器设计参数,分析滤波器性质的变化:
Matlab程序实现如下:
wp=30;
ws=50;
rp=1;
rs=30;
[n,Wn]=buttord(wp*2*pi,ws*2*pi,rp,rs,'s');fprintf('\n***BUTTERWORTHFILTERORDER=%2.0f\n',n);
[b,a]=butter(n,Wn,'s');
[H,Wn]=freqs(b,a);
plot(Wn*rs/(2*pi),abs(H));
grid;
xlabel('频率/Hz');
ylabel('幅值');
***BUTTERWORTHFILTERORDER=9
减小通带幅度波动,同时增大阻带衰减dB数,发现滤波器的阶数变大了,从滤波器原理分析,是滤波器性能提高了。
结论:
随着指标要求越高,即通带波动越小,阻带衰减越大,巴特沃斯滤波器的阶数会增加,过渡带会变窄。
对滤波器实现的难度也增加了。
3.、切比雪夫I滤波器设计
巴特沃斯滤波器的频率特性曲线,无论在通带和阻带都是频率的单调函数。
因此.当通带边界处满足指标要求时,通带内肯定会有余量。
因此,更有效的设计方法应该是将精确度均匀地分布在整个通带内,或者均匀分布在整个阻带内,或者同时分布在两者之内。
这样,就可用阶数较低的系统满足要求。
这可通过选择具有等波纹特性的逼近函数来达到。
切比雪夫Ι型滤波器幅度平方函数:
其中
N:
滤波器的阶数
截止频率
表示通带波纹大小,
越大,波纹越大
A、切比雪夫I滤波器设计(指标wp=2*pi*6000;ws=2*pi*12000;rp=3;as=25;
)
wp=2*pi*6000;ws=2*pi*12000;rp=3;as=25;
[n1,wp1]=cheb1ord(wp,ws,rp,as,'s');
[B1,A1]=cheby1(n1,rp,wp1,'s');
k=0:
511;fk=0:
14000/512:
14000;wk=2*pi*fk;
Hk1=freqs(B1,A1,wk);
plot(fk/1000,20*log10(abs(Hk1)));
xlabel('频率(kHz)','FontSize',16,'FontWeight','bold');
ylabel('幅度(dB)','FontSize',16,'FontWeight','bold');
程序结果
n1=
3
wp1=
+004
求得滤波器系数[b,a]向量
B1=
+013*
000
A1=
+013*
画出幅频特性曲线如下:
通过观察我们可以证实,切比雪夫I滤波器在通带幅度有等波纹波动。
这里设计的滤波器指标比较低,随着指标的升高,要设计的滤波器阶数N增大,过度带变窄。
B、切比雪夫II滤波器设计(指标wp=2*pi*6000;ws=2*pi*12000;rp=3;as=25;
)
wp=2*pi*6000;ws=2*pi*12000;rp=3;as=25;
[n2,wp2]=cheb2ord(wp,ws,rp,as,'s');
[B2,A2]=cheby2(n2,as,wp2,'s');
k=0:
511;fk=0:
14000/512:
14000;wk=2*pi*fk;
Hk2=freqs(B2,A2,wk);
plot(fk/1000,20*log10(abs(Hk2)));
xlabel('频率(kHz)','FontSize',16,'FontWeight','bold');
ylabel('幅度(dB)','FontSize',16,'FontWeight','bold');
程序结果
n2=
3
wp2=
+004
求得滤波器系数[b,a]向量
B2=
+013*
0
A2=
+013*
画出幅频特性曲线如下:
通过观察我们可以证实,切比雪夫II滤波器在阻带幅度有等波纹波动。
这里设计的滤波器指标比较低,阶数比较低(N=3)随着指标的升高,要设计的滤波器阶数N增大,过度带变窄。
4椭圆滤波器
是在和等波纹的一种,椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。
表示纹波系数
椭圆滤波器的程序如下:
wp=2*pi*6000;ws=2*pi*12000;rp=3;as=25;
[n3,wp3]=ellipord(wp,ws,rp,as,'s');
[B3,A3]=ellip(n3,rp,as,wp3,'s');
k=0:
511;fk=0:
14000/512:
14000;wk=2*pi*fk;
Hk3=freqs(B3,A3,wk);
plot(fk/1000,20*log10(abs(Hk3)));
xlabel('频率(kHz)','FontSize',16,'FontWeight','bold');
ylabel('幅度(dB)','FontSize',16,'FontWeight','bold');
运算结果:
n3=
3
wp3=
+004
求得滤波器系数[b,a]向量
B3=
+013*
0
A3=
+013*
画出幅频特性曲线如下:
5在相同的要求下(wp=2*pi*6000;ws=2*pi*12000;rp=3;as=25;
)对这这种滤波器比较:
1.、巴特沃斯滤波器通频带的频率响应曲线最平滑。
2.、I型切比雪夫滤波器”在上频率响应幅度有等波纹波动。
3、II型切比雪夫滤波器”在上频率响应幅度有等波纹波动。
4、椭圆滤波器是在和等波纹的一种。
5椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。
实验结论
1、滤波器的指标要求越高(通带波动越小,阻带衰减越大,过度带越窄)则阶数n增大,实现难度加大。
2、三种滤波器各有优点缺点,要根据实际情况与要求进行适当的选择。