DSP实验4巴特沃斯滤波器的设计与实现精_第1页
DSP实验4巴特沃斯滤波器的设计与实现精_第2页
DSP实验4巴特沃斯滤波器的设计与实现精_第3页
DSP实验4巴特沃斯滤波器的设计与实现精_第4页
DSP实验4巴特沃斯滤波器的设计与实现精_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验四 巴特沃斯数字滤波器的设计与实现1 数字滤波器的设计参数滤波器的4个重要的通带、阻带参数为:通带截止频率(Hz) :阻带起始频率(Hz):通带内波动(dB),即通带内所允许的最大衰减;:阻带内最小衰减设采样速率(即奈奎斯特速率)为,将上述参数中的频率参数转化为归一化角频率参数:通带截止角频率(rad/s) ,; :阻带起始角频率(rad/s) ,通过以上参数就可以进行离散滤波器的设计。l 低通滤波器情况:采样频率为8000Hz,要求通带截止频率为1500Hz,阻带起始频率为2000Hz,通带内波动3dB,阻带内最小衰减为50dB,则=1500/4000,=2000/4000,=3dB,=

2、50dB。l 高通滤波器情况:采样频率为8000Hz,要求通带截止频率为1500Hz,阻带起始频率为1000Hz,通带内波动3dB,阻带内最小衰减为65dB,则=1500/4000,=1000/4000,=3dB,=65dB。l 带通滤波器情况:采样频率为8000Hz,要求通带截止频率为800Hz,1500Hz,阻带起始频率为500Hz,1800Hz,通带内波动3dB,阻带内最小衰减为45dB,则=800/4000,1500/4000,=500/4000,1800/4000,=3dB,=45dB。l 带阻滤波器情况:采样频率为8000Hz,要求通带截止频率为800Hz,1500Hz,阻带起始频

3、率为1000Hz,1300Hz,通带内波动3dB,阻带内最小衰减为55dB,则=800/4000,1500/4000,=1000/4000,1300/4000,=3dB,=45dB。2 巴特沃斯滤波器设计1) 巴特沃斯滤波器阶数的选择:在已知设计参数,之后,可利用“buttord”命令可求出所需要的滤波器的阶数和3dB截止频率,其格式为:n,Wn=buttordWp,Ws,Rp,Rs,其中Wp,Ws,Rp,Rs分别为通带截止频率、阻带起始频率、通带内波动、阻带内最小衰减。返回值n为滤波器的最低阶数,Wn为3dB截止频率。2) 巴特沃斯滤波器系数计算:由巴特沃斯滤波器的阶数n以及3dB截止频率W

4、n可以计算出对应传递函数H(z)的分子分母系数,MATLAB提供的命令如下:l 巴特沃斯低通滤波器系数计算:b,a=butter(n,Wn),其中b为H(z)的分子多项式系数,a为H(z)的分母多项式系数l 巴特沃斯高通滤波器系数计算:b,a=butter(n,Wn,High) l 巴特沃斯带通滤波器系数计算:b,a=butter(n,W1,W2),其中W1,W2为截止频率,是2元向量,需要注意的是该函数返回的是2*n阶滤波器系数。l 巴特沃斯带阻滤波器系数计算:b,a=butter(ceil(n/2),W1,W2,stop),其中W1,W2为截止频率,是2元向量,需要注意的是该函数返回的也是

5、2*n阶滤波器系数。3 巴特沃斯滤波器设计实例1)采样速率为8000Hz,要求设计一个低通滤波器,=2100Hz,=2500Hz,=3dB,=25dB。程序如下:fn=8000; fp=2100; fs=2500; Rp=3; Rs=25;Wp=fp/(fn/2);%计算归一化角频率Ws=fs/(fn/2);n,Wn=buttord(Wp,Ws,Rp,Rs);%计算阶数和截止频率b,a=butter(n,Wn);%计算H(z)分子、分母多项式系数H,F=freqz(b,a,1000,8000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率)subplot(2,1,1)plo

6、t(F,20*log10(abs(H) xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)') title('低通滤波器')axis(0 4000 -30 3);grid onsubplot(2,1,2)pha=angle(H)*180/pi;plot(F,pha);grid on运行结果如下:·2)采样速率为8000Hz,要求设计一个高通滤波器,=1000Hz,=700Hz,=3dB,=20dB。程序如下:fn=8000; fp=1000; fs=700; Rp=3; Rs=20;Wp=fp/

7、(fn/2);%计算归一化角频率Ws=fs/(fn/2);n,Wn=buttord(Wp,Ws,Rp,Rs);%计算阶数和截止频率b,a=butter(n,Wn,high);%计算H(z)分子、分母多项式系数H,F=freqz(b,a,1000,8000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率)subplot(2,1,1)plot(F,20*log10(abs(H)axis(0 4000 -30 3)xlabel('Frequency(Hz)') ylabel('Magnitude(dB)') title('高通滤波器'

8、;)grid onsubplot(2,1,2)pha=angle(H)*180/pi;plot(F,pha)grid on运行结果如下:3)采样速率为10000Hz,要求设计一个带通滤波器,=1000Hz,1500Hz,=600Hz,1900Hz,=3dB,=20dB。程序如下:fn=10000; fp=1000,1500; fs=600,1900; Rp=3; Rs=20;Wp=fp/(fn/2);%计算归一化角频率Ws=fs/(fn/2);n,Wn=buttord(Wp,Ws,Rp,Rs);%计算阶数和截止频率b,a=butter(n,Wn);%计算H(z)分子、分母多项式系数H,F=fr

9、eqz(b,a,1000,10000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率)subplot(2,1,1)plot(F,20*log10(abs(H)axis(0 5000 -30 3)xlabel('Frequency(Hz)') ylabel('Magnitude(dB)') title('带通滤波器')grid onsubplot(2,1,2)pha=angle(H)*180/pi;plot(F,pha)grid on运行结果如下:4)采样速率为10000Hz,要求设计一个带通滤波器,=1000Hz,1500Hz

10、,=1200Hz,1300Hz,=3dB,=30dB。程序如下:fn=10000; fp=1000,1500; fs=1200,1300; Rp=3; Rs=30;Wp=fp/(fn/2);%计算归一化角频率Ws=fs/(fn/2);n,Wn=buttord(Wp,Ws,Rp,Rs);%计算阶数和截止频率b,a=butter(n,Wn,'stop');%计算H(z)分子、分母多项式系数H,F=freqz(b,a,1000,10000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率)subplot(2,1,1)plot(F,20*log10(abs(H)axi

11、s(0 5000 -35 3)xlabel('Frequency(Hz)') ylabel('Magnitude(dB)') title('带阻滤波器')grid onsubplot(2,1,2)pha=angle(H)*180/pi;plot(F,pha)grid on运行结果如下:5)梳状滤波器的设计 使用MATLAB中的函数“iircomb”可以设计出峰值或谷值滤波器H(z)的分子分母多项式系数,其格式为: num,den=iircomb(n,bw,ab,type) num,den分别为H(z)的分子、分母系数;n为梳状滤波器阶数,在数字归

12、一化频率02pi区间梳状滤波器开槽数等于n+1;bw为滤波器开槽的ab dB带宽,默认ab=-3dB;type可以是notch或peak,notch为开槽性梳状滤波器,peak为峰值性梳状滤波器。例:在采样频率为8000Hz的条件下设计一个在500Hz,1000Hz,2000Hz,n×500Hz的地方开槽的陷波,陷波带宽(-3dB处)为60Hz。程序如下:Fs=8000;%采样速率Ts=1/Fs;f0=500;%开槽基频率bw=60/(Fs/2);%归一化开槽带宽ab=-3;%开槽带宽位置处的衰减n=Fs/f0;%计算滤波器阶数num,den=iircomb(n,bw,ab,'

13、;notch');%计算H(z)分子分母多项式系数H,F=freqz(num,den,2000,8000);%计算滤波器的幅频响应subplot(2,1,1)plot(F,20*log10(abs(H)axis(0 5000 -35 3)xlabel('Frequency(Hz)') ylabel('Magnitude(dB)') title('梳状滤波器')grid onsubplot(2,1,2)pha=angle(H)*180/pi;plot(F,pha)grid on4滤波器的实现:使用“filter”命令实现在以上设计中求出滤波

14、器H(z)的分子分母系数向量b,a之后,可以用“filter”指令实现对输入信号进行滤波。作业:设计滤波器,把输入信号中的三个信号分离出来。附:低通滤波器对输入信号进行分离的程序及结果:Fs=2000;t=(1:100)/Fs;x=cos(2*pi*100*t)+cos(2*pi*200*t)+cos(2*pi*800*t);figure(1)subplot(2,1,1)plot(t,x)axis(0 0.05 -4 4)X=fft(x);subplot(2,1,2)plot(abs(X)Wp=80/(Fs/2);Ws=120/(Fs/2);Rp=3; Rs=25;n,Wn=buttord(Wp,Ws,Rp,Rs);%计算阶数和截止频率b,a=butter(n,Wn);%计算H(z)分子、分母多项式系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论