资源描述:
《数字信号处理实验用窗函数实现fir数字滤波器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验6用窗函数法设计FIR数字滤波器一、实验目的•加深对窗函数法设计FIR数字滤波器的基木原理的理解。•掌握用窗函数法设计FIR数字滤波器的原理和方法。•了解各种窗函数对滤波特性的影响。了解MATLAB有关窗函数法设计的常用子函数。二、实验涉及的matlab子函数1、窗函数(1)boxcar功能:矩形窗。调用格式:w=boxcar(n),可产生一个长度为n的矩形窗函数,列向量。同上:triang(三角窗)、hamming(哈明窗)、hanning(汉宁窗)、blackman(2)kaiser功能:凯塞窗。调用格式:w=kaiser(n,
2、beta),可产生一个长度为n的凯塞窗函数。Beta为影响窗函数旁瓣的B参数,增加B可使主瓣变宽、旁瓣幅度变低。kaiserord:功能:根据设计指标直接计算窗函数参数。调用格式:[M,Wc,beta,ftype]=kaiserord(f,a,dev),f:需设计的FIR滤波器的频带。a:FIR滤波器在x个频带中的幅度值。通带为1,阻带为Oodev:FIR滤波器在x个频带屮的波动值。M:阶数。beta:Kaiser窗的参数b。Wc和ftype:函数fkl的调用参数。2、滤波器设计函数firl功能:设计基于窗函数的FIR数字滤波器。调用格
3、式:•b=fir1(n,Wn,Window),利用Window中指定的窗函数设计截止频率为Wn的线性相位滤波器。Window长度为n+1,如果不指定Window参数,则采用哈明窗。b:滤波器系数。当OSWnM时,可得到n阶低通FIR滤波器。当Wn=[WlW2]时,firl函数可得到带通滤波器,其通带为w14、对称N为奇函数的结构,因此当输入的阶次为偶数时,fhi函数会自动加1。三、实验原理窗函数法设计线性相位FIR滤波器步骤:(1)确定数字滤波器的性能要求;(2)根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应出(』°)的幅频特性和相频特性;(3)计算IDTFT得理想单位脉冲响应hd(n);(4)选择适当的窗函数w(n),根据h(n)=hd(n)w(n)求所需设计的FIR滤波器单位脉冲响应;下而举例说明用窗函数法设计FIR数字滤波器的过程。例、设计线性相位FIR高通滤波器。Qp=0.67n,Qs=O.53h,Ap
5、=O.3dB,As=50dBo由As确定截断所用窗函数:Hamming窗或Kaiser窗。程序如下:(1)釆用Hamming(汉宁)窗Wp=0.67*pi;Ws=0.53*pi;Ap=0.3;As=50;N=ceil(7*pi/(Wp・Ws));%确定窗的长度N=mod(N,2)+l+N;%使滤波器为I型,N为奇数,mod(a,b):求a除以b的余数。例mod(17,6)=5M=N-1w=hamming(N)^;Wc=(Wp+Ws)/2;k=0:M;hd=-(Wc/pi)*sinc(Wc*(k-0.5*M)/pi);%sinc(x)=s
6、in(pi*x)/pi*xhd(O.5*M+l)=hd(O.5*M+l)+l;%第0.5*M+l个点,即k=0.5*M时的点h=hd.*w;H=freqz(h);dbH=20*logl0(abs(H));omega=linspace(0,pi,512);plot(omega/pi,dbH);(2)采用Kaiser窗Ap=0.3;As=50;Rp=l-10.A(-O.O5*Ap);Rs=10.A(-O.O5*As);f^[0.53,0.67];a=[0,l];dev=[Rp,Rs];[M,Wc,beta,ftype]=kaiserord(
7、f,a,dev);M=mod(M,2)+M;%h=firl(M,Wc,ftype,kaiser(M+l,beta));omega=linspace(0,pi,512);mag=freqz(h);plot(omega/pi,20*logl0(abs(mag)));四、实验任务设H个FIR数字高通滤波器,Qp=0.67p,Qs=0.53p,Ap=0.3dB,As=60dBo在下表列出的窗函数中有几种能实现该滤波器?用合适的窗函数来实现。窗函数过渡带宽度阻带最小衰减(dB)矩形窗1.8K/7V-21三角窗4.2兀/N-25汉宁窗6.2K/7V
8、-44汉明窗7k/N-53布莱克蔓窗11Ati/N-74凯塞窗(卩=7.865)10MN-80N:窗函数的长度。类型III111IV阶数M偶奇偶奇灿罔的对称偶对称偶对奇对奇对A(d)关于4=0的对称性偶对称