429.基于MATLAB的FIR数字滤波器的设计与实现.doc

上传人:文库蛋蛋多 文档编号:4140856 上传时间:2023-04-07 格式:DOC 页数:7 大小:45.50KB
返回 下载 相关 举报
429.基于MATLAB的FIR数字滤波器的设计与实现.doc_第1页
第1页 / 共7页
429.基于MATLAB的FIR数字滤波器的设计与实现.doc_第2页
第2页 / 共7页
429.基于MATLAB的FIR数字滤波器的设计与实现.doc_第3页
第3页 / 共7页
429.基于MATLAB的FIR数字滤波器的设计与实现.doc_第4页
第4页 / 共7页
429.基于MATLAB的FIR数字滤波器的设计与实现.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《429.基于MATLAB的FIR数字滤波器的设计与实现.doc》由会员分享,可在线阅读,更多相关《429.基于MATLAB的FIR数字滤波器的设计与实现.doc(7页珍藏版)》请在三一办公上搜索。

1、基于MATLAB的FIR数字滤波器的设计与实现 【摘 要】MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,它是由美国Mathworks公司于1984年正式推出的,是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求,还有数字滤波器,它通常是通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波,本文介绍了FIR滤波器的设计基础和利用窗函数设计FIR滤波器的方法,运用MATLAB语言实现了低通FIR滤波器的设计仿真。【关键词】MATLAB;FIR滤波器;窗函数设计【Abstract】MATLAB is a matrix l

2、aboratory (MATrix LABoratoy) acronym, it is by the Mathworks company officially launched in 1984, and is a matrix-based interactive programming language, specifically for science, engineering calculations and drawings demand, as well as digital filters, it is usually through a certain relationship b

3、etween the change in computing the frequency of the input signal contained in the relative proportions of ingredients, or filter out certain frequencies to achieve the filtering, this article describes the basis of FIR filter design and use of window function FIR filter design methods, the use of MA

4、TLAB language to achieve a low-pass FIR filter design and simulation.【Key words 】 MATLAB; FIR filter; window function design一、MATLAB简介 MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,它是由美国Mathworks公司于1984年正式推出的,是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求1。随着版本的不断升级,内容不断扩充,功能更加强大,从而被广泛应用于仿真技术、自动控制和数字信号处理等领域。全球现有超过五十万的

5、企业用户和上千万的个人用户,广泛分布在航空航天、金融财务、机械化工、电信、教育等各个行业2。二、数字滤波器简介 滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,上述每种滤波器又可以分为模拟滤波器和数字滤波器。如果滤波器的输入输出都是数字信号,则这样的滤波器称之为数字滤波器,它通常通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波。根据数字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器3。有数字信号处理的一般理论可知,IIR滤波器的特征是具有无限持续时间的冲激响应,而FIR滤波器使

6、冲激响应只能持续一定的时间。三、数字滤波器的设计步骤 3.1确定指标。在设计一个滤波器之前,必须首先确定一些技术指标。这些技术指标需要来制定。在很多实际应用中,例如语音或音频信号处理中,数字滤波器常用来实现选频操作。因此,指标的形式一般确定为频域中幅度和相位的响应。 3.2逼近。确定了滤波器的技术指标后,就可以利用数学和DSP的基本原理提出一个滤波器模型来逼近给定的目标。这一步是滤波器设计的所要研究的主要问题,是整个设计过程的重中之重。 3.3硬件或软件实现。上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器,根据这个描述就可以用硬件或在计算机上用软件实现。四、窗函数设计法 4.1 窗函

7、数的理论根据。窗函数设计滤波器的基本思想,就是根据给定的滤波器技术指标,选择滤波器的阶数和合适的窗函数()。即用一个有限长度的窗口函数序列()来截取一个无限长的序列hd(n)获得一个有限长序列(),即h(n)=w(n)*hd(n),并且要满足以下两个条件:(1)窗谱主瓣尽可能地窄,以获得较陡的过渡带;(2)尽量减少窗谱的最大旁瓣的相对幅度,也就是能量尽量集中于主瓣,使峰肩和纹波减小,就可增多阻带的衰减。这就给窗函数序列的形状和长度选择提出了严格的要求。 4.2用窗函数设计FIR滤波器的步骤(1)根据技术要求确定待求滤波器的单位取样响应hd(n)。如果给出待求滤波器的频响为Hd(ejw),那么单

8、位取样响应应用下式求出:hd(n)=Hd(ejw)ejwndw(1)如果Hd(ejw)较为复杂,或者不能用封闭公式Hd(ejw)表示时,则不能用上式求出hd(n)。我们可以对Hd(ejw)从w=0到w=2采样M点,采样值为Hd(e),k=0,1,2,M-1并用代替公式(1)中的dw,公式(1)近似写成:hM(n)=Hd(e)e(2)根据频率采样定理,hM(n)与hd(n)应满足如下关系:hM(n)=hd(n+rM) 因此,如果M选的较大,可以保证在窗口内hM(n)有效逼近hd(n)。实际计算公式(2),可以用Hd(ejw)的M点采样值,进行M点的IDFT(IFFT)得到。如果给出通带阻代衰减和

9、边界频率要求,可选用理想滤波器作为逼近函数,从而用理想滤波器的特性作傅里叶逆变换,求出hd(n)。例如,理性低通滤波器如公式(3)所示,Hd(ejw)=ejwa,w?燮wc0,wcw?燮(3)求出单位取样响应hd(n)如下式:hd(n)=为保证线性相位,取a=(N-1)/2。(2)根据对过渡带及阻带衰减的要求,选择窗函数的形式,并估计窗口长度N。设待求滤波器的长度用w来表示,它近似等于窗函数主瓣宽度。因过渡带w近似于窗口长度N成反比,NA/w,A决定于窗口形式。例如,矩形窗A=4哈明窗A=8等。按照过渡带及阻带衰减情况,选择窗函数形式。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣窄的窗函

10、数。(3)计算滤波器的单位取样响应h(n),h(n)=w(n)*hd(n)。式中w(n)是上面选择好的窗函数。如果要求线性相位,则要求hd(n)和w(n)均对(N-1)/2对称。如要求h(n)对(N-1)/2奇对称,只要保证hd(n)对(N-1)/2奇对称就可以了。(4)验算技术指标是否满足要求。设计出的滤波器频率响应应用下式计算:H(ejw)=h(n)e-jwn计算上式时可用FFT算法。如果H(ejw)不满足要求,根据具体情况重复(2)(3)(4)步,直到满足要求。五、用各种窗函数设计FIR数字滤波器实例 例分别用矩形窗和Hamming窗设计线性相位FIR低通滤波器。要求通带截止频率wc=/

11、4,单位脉冲响应h(n)的长度N=21。绘出h(n)及其幅频响应特性曲线。设计分析(1)用窗函数法设计FIR数字滤波器时,先求出相应的理想滤波器(本例应为理想低通)单位脉冲响应hd(n),再根据阻带最小衰减选择合适的窗函数w(n),最后得到FIR滤波器单位脉冲响应h(n)=w(n)*hd(n)。(2)本题中,wc=/4,N = 21,所以线性相位理想低通滤波器的单位脉冲响应为:hd(n)=(3)为了满足线性相位FIR滤波器条件h(n)=h(N-1-n),要求 a=(N-1)/2=10。信号处理工具箱中有窗生成函数boxcar,hamming,hanning和blackman等。Wn=boxca

12、r(m)产生长度为m的矩形窗函数列向量wn,其他窗函数产生工具箱函数的调用格式相同。(4)MATLAB程序clear;close allN=21; wc=pi/4; %理想低通滤波器参数n=0:N-1; r=(N-1)/2;hdn=sin(wc*(n-r)/pi./(n-r); %计算理想低通单位脉冲响应hd(n)if rem(N,2)=0 hdn(r+1)=wc/pi; end % N为奇数时,处理n=r点的0/0型wn1=boxcar(N); % 矩形窗hn1=hdn.*wn1; % 加窗% 以上两条语句可代以fir函数:hn1=fir1(N-1,wc/pi,boxcar(N);wn2=h

13、amming(N); % hamming 窗hn2=hdn.*wn2; % 加窗% 以上两条语句可代以fir函数:hn2=fir1(N-1,wc/pi,hamming(N);k=3;k=1; %绘图函数p751f的位置参数hnwplot(hn1,k);title(矩形窗设计的h(n)%hamming 窗wn2=hamming(N);hn2=hdn.*wn2;k=3;hnwplot(hn2,k);title(hamming设计的h(n)(5)程序运行结果(6)结果分析 对两种窗函数的设计结果分别如上图所示。由图中可以看出,不同的窗函数生成的过渡带宽和阻带最小衰减是不同的。这就是选择窗函数的根据。

14、FIR滤波器的应用十分广泛,当今的许多信号处理系统,如图像处理等系统要求具有线性相位特性。在这方面FIR滤波器有独特的优点,我们能很容易设计出具有严格线性相位的FIR系统。此外,FIR滤波器的冲激响应应是有限长序列,其系统函数为一个多项式,它所包含的极点多为原点,所以FIR滤波器永远是稳定的。结束语 FIR数字滤波器在数字处理领域有非常重要的地位,应用MATLAB语言进行FIR数字滤波器的设计仿真时,可根据设计要求随时改变参数,以使滤波器达到最优化。【参考文献】1陈怀琛.MATLAB及在电子信息课程中的应用(第三版)M.电子工业出版社,2006.3.2中仿信息科技有限公司.MATLAB产品介绍EB/OL.3丁玉美.数字信号处理(第二版)M.西安:西安电子科技大学出版社,2000.12.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号