资源描述:
《MATLAB窗函数法实现FIR的高通,带通和低通滤波器的程序要点.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB课程设计报告学院:地球物理与石油资源学院班级:测井(基)11001姓名:大牛啊啊啊学号:班内编号:指导教师:陈义群完成日期:2013年6月3日一、题目FIR滤波器的窗函数设计法及性能比较1.FIR滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR滤波器的主要特点为:a.线性相位;b.非递归运算。2.FIR滤波器的设计FIR滤波器的设计方法主要有三种:a.窗函数设计法;b.频率抽样发;c.最小平法
2、抽样法;这里我主要讨论在MATLAB环境下通过调用信号分析与处理工具箱的几类窗函数来设计滤波器并分析与比较其性能。窗函数法设计FIR滤波器的一般步骤如下:a.根据实际问题确定要设计的滤波器类型;b.根据给定的技术指标,确定期望滤波器的理想频率特性;c.求期望滤波器的单位脉冲响应;d.求数字滤波器的单位脉冲响应;e.应用。常用的窗函数有(1)Hanningwindoww(n)[0.5n)]RN(n)(9.2.2)0.5cos(N1(2)Hammingwindoww(n)[0.540.46cos(2n)]RN(n)(9.2.3)N1(3)Balckmanwindoww(n)[0.420.5co
3、s(2n)0.08cos(4n)]RN(n)(9.2.4)N1N1(4)Kaiserwindoww(n)[I0{1[2n/(N1)]2}(9.2.5)I0()]RN(n)式中I0(x)是零阶Bessel函数,可定义为I0(x)1[(x/2)m]2m1m!当x0时与矩形窗一致;当x5.4414时与海明窗结果相同;当x8.885时与布莱克曼窗结果相同。3.窗函数的选择标准1.较低的旁瓣幅度,尤其是第一旁瓣;2.旁瓣幅度要下降得快,以利于增加阻带衰减;3.主瓣宽度要窄,这样滤波器过渡带较窄。4.常用窗函数的参数5.FIR滤波器的MATLAB实现方式在MATLAB信号分析与处理工具箱中提供了大
4、量FIR窗函数的设计函数,本次用到主要有以下几种:hanning(N)hamming(N)blackman(N)kaiser(n+1,beta)kaiserordfreqzfilterhanninghammingblackmankaiser窗函数的调用窗函数的调用窗函数的调用窗函数的调用计算kaiser窗函数的相关参数求取频率响应对信号进行滤波的函数6.实验具体步骤本次实验分别通过调用hanning,hamming,Blackman,kaiser窗函数,给以相同的技术参数,来设计低通,带通,高通滤波器,用上述窗函数的选择标准来比较各种窗函数的优劣,并给以一个简谐波进行滤波处理,比较
5、滤波前后的效果。达到综合比较的效果。二、源代码1.利用hanninghammingblackmankaiser窗,设计一个低通FIRfunctionlowpassfilterclc;clearall;Fs=100;%采样频率fp=20;%通带截止频率fs=30;%阻带起始频率wp=2*pi*fp/Fs;%将模拟通带截止频率转换为数字滤波器频率ws=2*pi*fs/Fs;%将模拟阻带起始频率转换为数字滤波器频率wn=(wp+ws)/2/pi;%标准化的截止频率响应Bt=ws-wp;N0=ceil(6.2*pi/Bt);%滤波器长度N=N0+mod(N0+1,2);window1=hann
6、ing(N);%使用hanning窗函数window2=hamming(N);%使用hamming窗函数window3=blackman(N);%使用blackman窗函数[n,Wn,beta,ftype]=kaiserord([2025],[10],[0.010.01],100);window4=kaiser(n+1,beta);%使用kaiser窗函数%设计加窗函数fir1b1=fir1(N-1,wn,window1);b2=fir1(N-1,wn,window2);b3=fir1(N-1,wn,window3);b4=fir1(n,Wn/pi,window4,'noscale');%
7、求取频率响应[H1,W1]=freqz(b1,1,512,2);[H2,W2]=freqz(b2,1,512,2);[H3,W3]=freqz(b3,1,512,2);[H4,W4]=freqz(b4,1,512,2);figure(1);subplot(2,2,1),plot(W1,20*log10(abs(H1)));%绘制频率响应图形axis([0,1,-100,100]);title('低通hanning窗的频率