数字信号处理实验5--数字滤波器的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验5数字滤波器的设计一、实验目的(1)加深对脉冲响应不变法、双线性变换法、窗函数法和频率采样法的了解;(2)掌握MATLAB进行滤波器设计的子函数。二、实验涉及的MATLAB子函数1、buttord功能:确定巴特沃斯滤波器的阶数和3dB截止频率。调用格式:[n,wn]=buttord(wp,ws,Rp,As)。其中,0《wp(或ws)《1,其值为1时表示0.5fs。Rp为通带最大衰减指标,As为阻带最小衰减指标。[n,wn]=buttord(wp,ws,Rp,As,’s’)。wp、ws可以是实际的频率值或角频率值,wn将取相同的量纲。Rp为通带最大衰减指标,As为阻带最小衰减指标。当wpws时为高通滤波器,当wp、ws为二元向量时,为带通或带阻滤波器,此时wn也为二元向量。2、buttap功能:巴特沃斯模拟滤波器原型调用格式:[z,p,k]=buttap(n)3、lp2lp、lp2hp、lp2bp、lp2bs模拟域频率变换的子函数功能:低通原型到模拟低通滤波器的变换、低通原型到模拟高通滤波器的变换、低通原型到模拟带通滤波器的变换、低通原型到模拟带阻滤波器的变换。调用格式:[bt,at]=lp2lp(b,a,w0)。将传递函数表示的截止频率为1rad/s的模拟低通滤波器原型变换成截止频率为w0的低通滤波器。4、impinvar功能:用脉冲响应不变法实现模拟到数字滤波器的变换。调用格式:[bd,ad]=impinvar(b,a,Fs)。将模拟滤波器系数b,a变换成数字滤波器系数bd,ad,两者冲激响应不变。Fs缺省值为1Hz。5、bilinear功能:双线性变换,将s域映射到z域的标准方法。调用格式:[numd,dend]=bilinear(num,den,fs)。将模拟域传递函数变换为数字域传递函数,fs为取样频率。[numd,dend]=bilinear(num,den,fs,fp)。将模拟域传递函数变换为数字域传递函数,fs为取样频率,fp为通带截止频率。6、butter功能:调用格式:[b,a]=butter(n,wn,’ftype’)。n为滤波器阶数,wn为滤波器截止频率(0~1)。(在MATLAB滤波器设计工具函数中,数字频率采用标准化频率,取值范围为0~1之间,标准化频率1对应数字频率,对应的模拟频率为采样频率的一半。)’ftype’为滤波器类型:’high’为高通,截止频率wn;’stop’为带阻,截止频率wn=[w1,w2];缺省时为低通和带通滤波器,低通滤波器时wn为截止频率,带通滤波器时wn=[w1,w2]。7、窗函数功能:boxcar矩形窗;triang三角窗;hamming汉明窗;hanning海宁窗;blackman布莱克曼窗;kaiser凯瑟窗。调用格式:w=hamming(n)。产生n点的汉明窗。三、实验原理1、在MATLAB中,经典设计IIR数字滤波器采用下面步骤:(1)根据给定的性能指标和方法,首先对设计性能指标中的频率指标进行转换,转换后的频率指标作为模拟滤波器原型设计指标;(2)估计模拟滤波器最小阶数和边界频率,可利用MATLAB工具函数buttord,cheblord等。(3)设计模拟低通滤波器原型,可利用MATLAB工具函数buttap,cheblap等;(4)有模拟低通原型经频率变换得到模拟滤波器(低通、高通、带通、带阻),可利用MATLAB工具函数lp2lp,lp2hp,lp2bp,lp2bs等;(5)将模拟滤波器离散化得到IIR数字滤波器,可利用MATLAB工具函数bilinear,impinvar等。四、实验内容1.利用脉冲响应不变法,用巴特沃斯滤波器原型设计一个低通滤波器,满足:dBAdBRsspp15,3.0,1,2.0,采样频率为10000Hz。wp=0.2*pi;ws=0.3*pi;rp=1;rs=15;fs=10000;omgp=wp*fs;omgs=ws*fs;[n,omgc]=buttord(omgp,omgs,rp,rs,'s');[z,p,k]=buttap(n);[bap,aap]=zp2tf(z,p,k);[ba,aa]=lp2lp(bap,aap,omgc);[bz,az]=impinvar(ba,aa,fs);[H,w]=freqz(bz,az,fs);subplot(2,1,1),plot(w/pi,abs(H));subplot(2,1,2),plot(w/pi,angle(H));00.10.20.30.40.50.60.70.80.9100.20.40.60.8100.10.20.30.40.50.60.70.80.91-4-20242.设计巴特沃斯高通数字滤波器,满足:通带边界频率为400Hz,阻带边界频率为200Hz,通带衰减小于3dB,阻带衰减大于15dB,采样频率为1000Hz。rp=3;rs=15;fs=1000;wp=2*pi*400/fs;ws=2*pi*200/fs;wp2=2*tan(wp/2)*fs;ws2=2*tan(ws/2)*fs;[n,omgc]=buttord(wp2,ws2,rp,rs,'s');[b,a]=butter(n,omgc,'high','s');[bz,az]=bilinear(b,a,fs);[H,w]=freqz(bz,az,fs);subplot(2,1,1),plot(w/pi,abs(H));subplot(2,1,2),plot(w/pi,angle(H));00.10.20.30.40.50.60.70.80.9100.20.40.60.8100.10.20.30.40.50.60.70.80.91012343.用窗函数法设计一个线性相位FIR低通滤波器,满足:通带边界频率6.0p,阻带边界频率7.0s,阻带衰减不小于50dB,通带波纹不大于1dB。实验代码:wp=0.6*pi;ws=0.7*pi;N=ceil(8*pi/(ws-wp))ifrem(N,2)==0N=N+1;endNw=N;wc=(wp+ws)/2;n=0:N-1;a=(N-1)/2;m=n-a+0.00001;hd=sin(wc*m)./(pi*m);win=(hanning(Nw))';h=hd.*win;b=h;freqz(b,1)00.10.20.30.40.50.60.70.80.91-6000-4000-20000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-150-100-50050NormalizedFrequency(rad/sample)Magnitude(dB)4.用频率采样法设计一高通数字滤波器,满足:阻带边界频率6.0s,通带边界频率8.0p,设过渡带中的频率样本值为598.0,1095.021TT。实验代码:N=37;wp=0.8*pi;ws=0.6*pi;wc=(wp+ws)/2;N1=fix(wc/(2*pi/N));N2=N-2*N1-1;A=[zeros(1,N1+1),ones(1,N2),zeros(1,N1)];A(N1+2)=0.1095;A(N-N1)=0.598;thta=-pi*[0:N-1]*(N-1)/N;H=A.*exp(j*thta);h=real(ifft(H));v=1:N;subplot(2,2,1),plot(v,A,'k*');title('频率样本');ylabel('H(k)');axis([0,fix(N*1.1),-0.1,1.1]);subplot(2,2,2),stem(v,h,'k');title('脉冲响应');ylabel('h(n)');axis([0,fix(N*1.1),min(h)*1.1,max(h)*1.1]);M=500;n1=[1:N];w=linspace(0,pi,M);X=h*exp(-j*n1'*w);subplot(2,2,3);plot(w./pi,abs(X),'k');xlabel('\omega/\pi');ylabel('Hd(w)');title('幅度响应');axis([0,1,-0.1,1.3]);subplot(2,2,4);plot(w./pi,20*log10(abs(X)),'k');title('幅度响应'),xlabel('\omega/\pi');ylabel('dB');axis([0,1,-80,10]);01020304000.20.40.60.81频率样本H(k)010203040-0.2-0.100.10.20.3脉冲响应h(n)00.5100.51/Hd(w)幅度响应00.51-80-60-40-200幅度响应/dB三、思考题4.1为什么脉冲响应不变法不能用于设计数字高通滤波器和带阻滤波器?数字滤波器的频率响应与模拟滤波器的频率响应有何区别?答:脉冲响应不变法有频谱周期延拓效应,因此只能用于带限的频响特性,如衰减特性很好的低通或带通。而高频衰减越大,频响的混淆效应越小,至于高通和带限滤波器,由于它们在高频部分不衰减,因此将完全混淆在低频响应中。数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即频带宽度为|Ω|=π/T=Ωs/2,才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真。这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。4.2使用双线性变换法时模拟频率和数字频率有何关系?会带来什么影响?如何解决?关系:数字域频率ω和模拟域频率Ω是非线性关系影响:双线性变换法虽然避免了“频率混叠效应”,但出现了模拟频率与数字频率为一种非线性的关系情形。即:模拟滤波器与数字滤波器的响应在对应的频率关系上发生了“畸变”,也造成了相位的非线性变化,这是双线性变换法的主要缺点。具体而言,在W上刻度为均匀的频率点映射到w上时变成了非均匀的点,而且随频率增加越来越密。解决:根据公式Ω=(2tan(ω/2))/T进行修正4.3使用MATLAB窗函数法设计FIRDF的基本方法有哪几种?请列出各种方法设计低通、高通、带通、带阻的主要程序语句。4.4利用MATLAB提供的fir2子函数如何确定理想滤波器的幅频特性?如何在过渡带增加采样点?答:函数fir2的各种形式如下:b=fir2(n,f,m)b=fir2(n,f,m,window)b=fir2(n,f,m,npt)b=fir2(n,f,m,npt,window)b=fir2(n,f,m,npt,lap)b=fir2(n,f,m,npt,lap,window)其中,向量f是指定频率点的幅度响应样本,与m定义的幅度响应样本对应;f和m具有相同的长度,并且f的第一个和最后一个分量分别是0和1;可以对f中的频点进行复制,从而跳变地逼近幅度响应指标。npt指定了函数fir2()进行内插得频率响应的栅格点数目,默认值为512。lap指定了在f中重复频率点间插入的区域大小。为了提高阻带的衰减,减小通带的波动,可以采用频率采样的优化设计法,即在间断点区间内插一个或几个过渡带采样点。可以根据给定的阻带最小衰减来选择过渡带采样点个数m。增加过渡带采样点可以使通带和阻带内波纹幅度减小。

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功