《《数字滤波器》课件.ppt》由会员分享,可在线阅读,更多相关《《数字滤波器》课件.ppt(29页珍藏版)》请在三一办公上搜索。
1、第三章 数字滤波器,3-5 数字滤波器的Matlab实现、分 析和设计,3-5-1 数字滤波器的Matlab实现,1.数字滤波器的传递函数,卷积滤波器(FIR滤波器):,递推滤波器(IIR滤波器):,综合以上两式,数字滤波器的一般表达式:注:Matlab的向量下标是从1开始的,故此处从b(1)开始记向量b=b(1)b(2)b(3)b(N+1)a=1 a(2)a(3)a(L+1)则一个滤波器完全由向量a、b决定。特例:a=1 时,为FIR滤波器。,2.滤波器函数(1)filter函数格式:y=filter(b,a,x)功能:用给定的b、a作为滤波系数构成滤波器,对x进行滤波,结果放在y中,长度为
2、max(na,nb)。注:既适用于IIR,也适用于FIR滤波器(a=1)。,(2)fftfilt函数格式:y=fftfilt(b,x)y=fftfilt(b,x,n)功能:基于FFT的FIR滤波器用给定的b作为滤波系数构成FIR滤波器,对x进行滤波,结果放在y中。用给定的b作为滤波系数构成FIR滤波器,对x进行滤波,结果放在y中。其中FFT的长度为nfft=2nextpow2(n);数据长度为nfft-length(b)+1.注:nextpow2(n)函数得到大于n且与n最接近的2的幂。如nextpow2(33)=6;nextpow2(32)=5 length(b)函数得到b的长度。,(3)f
3、iltfilt函数格式:y=filtfilt(b,a,x)功能:零相位滤波器。先将数据按顺序滤波,再将结果逆转后反向通过滤波器,可得到零相位失真。例3.1 对比上述几种滤波器。(ex31.m),3-5-2 数字滤波器的Matlab分析1.数字滤波器的频率响应函数 freqz格式:有如下7种格式:h,w=freqz(b,a,n)-得到滤波器n点的频率响应,这n点均匀分布在单位圆的上半圆(0-)。h中为频率响应H(f),w中为这n点的频率。(缺省n=512)h,f=freqz(b,a,n,Fs)-得到滤波器n点的频率响应,这n点均匀分布在单位圆的(0-Fs/2)范围内。h中为频率响应H(f),f中
4、为这n点的频率(Fs 和f以Hz为单位)。,h,w=freqz(b,a,n,whole)-得到滤波器n点的频率响应,这n点均匀分布在单位圆上(0-2)。h中为频率响应H(f),w中为这n点的频率。h,f=freqz(b,a,n,whole,Fs)-得到滤波器n点的频率响应,这n点均匀分布在单位圆上0-Fs的范围内。h中为频率响应H(f),f中为这n点的频率(Fs 和f以Hz为单位)。h=freqz(b,a,w)-得到滤波器在矢量w所给定频率上的频率响应。注:w所给定频率必须在0-2的范围内。h中为频率响应H(f)。,h=freqz(b,a,f,Fs)-得到滤波器在矢量f所给定频率上的频率响应。
5、注:f所给定频率必须在0-Fs的范围内。h中为频率响应H(f)。不带输出变量的freqz函数画出幅频和相频特性曲线。例3.2 对一数字滤波器求频率特性。(ex32.m),2.数字滤波器的单位脉冲响应函数 impz格式:有如下4种格式:h,t=impz(b,a)-得到滤波器的脉冲响应h,取样点数n由impz函数自动选取并记录在t中(t=0:n-1)。h,t=impz(b,a,n)-得到滤波器在指定点的脉冲响应h。当n为标量时,t=0:n-1;当n为矢量时(其值应为整数),则t=n,即在这些指定的点计算脉冲响应h。,h,t=impz(b,a,n,Fs)-得到滤波器在指定点的脉冲响应h。取样间隔为1
6、/Fs。不带输出变量的impz函数用stem(t,h)画出脉冲响应特性曲线。例3.3 对一数字滤波器求脉冲响应。(ex33.m),3.数字滤波器的零极点图 zplane格式:有如下3种格式:zplane(z,p)-在z平面上画出系统的零点z(用o表示)和极点p(用x表示),并画出单位圆。zplane(b,a)-在z平面上画出用分子b和分母a表示的系统的零点(用o表示)和极点(用x表示),并画出单位圆。,hz,hp,ht=zplane(z,p)-返回三个句柄矢量:零点线句柄hz;极点线句柄hz;坐标轴、单位圆及文本句柄ht。例3.4在z平面上画出上例的零极点图。(ex34.m),3-5-3 数字
7、滤波器的Matlab设计1.递推滤波器(IIR)的设计可以设计如下的模拟和数字滤波器:besselfBessel(贝塞尔)滤波器的设计butterButterworth(巴特沃斯)滤波器的设计*cheby1Chebyshev(切比雪夫)I型滤波器的设计cheby2Chebyshev(切比雪夫)II型滤波器的设计ellip椭圆滤波器的设计yulewalk递归数字滤波器的设计,(1)butter函数功能:Butterworth模拟和数字滤波器的设计。(只讲数字滤波器的设计)格式:b,a=butter(n,Wn,ftype)说明:b、a-所要求的滤波器系数;n-滤波器阶数;Wn-截止频率,即幅值下降
8、1/2处的频率。此处,Wn0,1,Wn=1相当于0.5fs。ftype-类型:无-低通或带通(Wn=w1 w2);high-高通;stop且Wn=w1 w2-带阻。,例3.5设采样频率fs=900Hz,设计n=9阶的Butterworth的低通滤波器,截止频率n=300Hz。与n=50阶的Butterworth的低通滤波器比较。(ex35.m)解:(a)b,a=butter(9,300/450);freqz(b,a,512,1000)(b)b,a=butter(50,300/450);freqz(b,a,512,1000)(a)(b),例3.6设采样频率fs=1000Hz,设计n=10阶的Bu
9、tterworth的高通滤波器,截止频率n=300Hz。解:b,a=butter(10,300/500,high);freqz(b,a,512,1000)(ex36.m),例3.7 用上述滤波器滤波。(ex37.m),(2)buttord函数功能:选择Butterworth滤波器的阶数。(只讲数字滤波器的设计)格式:n,Wn=buttord(Wp,Ws,Rp,As)说明:n-满足Wp,Ws,Rp,As的滤波器最小阶数;Wn-截止频率;Wp-(0,Wp)通带;Rp-通带内波纹系数;Ws-(Ws,1)阻带;As-阻带内衰减系数。注:当WpWs-高通滤波器;Wp=Wp1,Wp2,Ws=Ws1,Ws2
10、 Wp1 Ws1,Ws2 Wp2 带通 Wp1 Ws1,Ws2 Wp2 带阻,Wp,Ws,Rp,As的含义(低通滤波器为例):,Rp,As的大小:设:1=0.01,2=0.001则Rp=0.1737 dBAs=60 dB,例3.8 设计一个低通滤波器,通带0-100Hz,Rp1dB,As=30dB(ex38.m)解:取采样频率fs=1000Hz,则Wp=100/500;Ws=150/500,例3.9 设计一个带通滤波器,通带100-250Hz,Rp1dB,As=30dB(ex39.m)解:取采样频率fs=1000Hz,则Wp=100 250/500;Ws=50 300/500,2.卷积滤波器(
11、FIR)的设计可以设计如下的模拟和数字滤波器:fir1基于窗函数的FIR滤波器的设计-标准响应*fir2基于窗函数的FIR滤波器的设计-任意响应*firls最小二乘FIR滤波器的设计intfilt内插FIR滤波器的设计remezParks-McCellan最优FIR滤波器的设计,(1)fir1函数功能:基于窗函数的FIR滤波器的设计-标准频率响应。格式:b=fir1(n,Wn,ftype,Window)说明:b-所要求的滤波器系数;n-滤波器阶数;Wn-截止频率,即幅值下降1/2处的频率。此处,Wn0,1,Wn=1相当于0.5fs。ftype-类型:无-低通或带通(Wn=w1 w2);high
12、-高通;stop且Wn=w1 w2-带阻。Window-窗口:无-Hamming窗 Hanning(n)-汉宁窗 Kaiser(n,beta)-凯泽窗 Chebwin(n,r)-切比雪夫窗,例3.11 设计48阶FIR带通滤波器,0.35w0.65。(ex311.m)例:b=fir1(48,0.35 0.65);freqz(b,1,512),例3.12 设计34阶FIR高通滤波器,Wn=0.48。(ex312.m)例:b=fir1(34,0.48,high);freqz(b,1,512),(2)fir2函数功能:基于窗函数的FIR滤波器的设计-任意频率响应。格式:b=fir2(n,f,m,Window)说明:b-所要求的滤波器系数;n-滤波器阶数;m,f-构成期望频率响应。此处,f0,1,f=1 相当于0.5fs。必从0开始,到1结束。Window-窗口:无-Hamming窗 Hanning(n)-汉宁窗 Kaiser(n,beta)-凯泽窗 Chebwin(n,r)-切比雪夫窗,例2.13 设计一个30阶低通FIR滤波器,使之接近于理想频率特性:f=0 0.6 0.6 1m=1 1 0 0解:(ex313.m),