科技信息 O,tSl-教前沿0 SCIENCE&TECHNOLOGY INFORMATION 2010年第13期 基于MATLAB的FIR数字 滤波器的设计与仿真 卢莉蓉周晋阳牛晓东 (长治医学院生物医学工程系 山西 长治046000) 【摘要】数字滤波器作为数字信号处理的基本组成构件,其设计在数字信号处理中有着重要的意义。本文根据FIR数字滤波器设计的基 本原理,提出了基于MATLAB的FIR数字滤波器的窗函数设计法。文中给出了设计实例,仿真结果表明设计的各项性能指标均达到了指定要 求,设计过程简便易行。 【关键词]FIR数字滤波器;窗函数法;MATLAB The Design and Imitate of FIR Digital Filter Based on MATLAB LU Li-rong ZHOU JI rang NIU XIAO-dong (Bio-Memcal Engineering Department of Changzhi Medical College,Changzhi Shanxi,046000 China) 【Abstract]Digital filter is the basic components of digital signal processing,the desin of igt h an important meaning f0r the digital sinalg processing.This paper pmpo ̄s the method of using window function to design FIR filter based on MATLAB,according to the desin basigc principle f FIoR diitagl iflter.In the paper,the simulation result shows that the desined fgilter can meet the requirements very well and the desin procedure igs simple and practica1. 【Key words]FIR digitla fiher;Window function method;MATLAB 0引言 随着信息时代的到来,数字信号处理已成为当今一门极其重要 的的学科和技术。数字信号处理在通信、语音、图像、自动控制、雷达、 军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在 数字信号处理中,数字滤波器占有非常重要的地位。根据冲激响应的 时域特性,数字滤波器可以分为无限长冲激响应数字滤波器(Infinite 矩形窗 三角形窗 汉宁窗 海明窗 布莱克曼窗 凯泽窗 窗函数 表1 窗函数基本参数的比较 窗谱性能指标 加窗后滤波器性能指标 阻带最小衰减/dB 旁瓣峰值,dB 主瓣宽 过渡带宽A ̄o/ 度/(2 ̄r/N) 【2 ,N) 一l3 -25 —3l —4l -57 -57 2 4 4 4 6 0.9 2.1 3.1 3_3 5.5 5 Impulse Response Diigtal Filter,简称IIR数字滤波器)和有限长冲激响 应滤波器(Finite Impulse Response Diigtal Filter,简称FIR数字滤波 器)…。FIR数字滤波器具有自己突出的优点:易于实现严格的线性相 位、系统总是稳定的、总能用因果系统来实现l】I。 MATLAB软件是mathworks公司开发的一种设计软件,该软件具 —2l -25 —44 -53 -74 -80 有使用简单、方便、易编程、语言简练的特点,同时具有强大的数值分 术指标。在大多数实际应用中,数字滤波器常常被用来实现选频操作, 析、矩阵运算、图形绘制、数据处理等功能。 所以指标的形式一般为在频域中以分贝值给出的相对幅度响应和相 随着MATLAB的不断完善,尤其是MATLAB的信号处理工具箱 位响应。 的推出,如今MATLAB已经成为数字信号处理应用中分析和仿真设 用窗函数法设计FIR滤波器的步骤如下: 计的主要工具。 (1)根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口 FIR数字滤波器的设计问题实质上是确定能满足所要求的转移 长度N。窗函数类型可根据最小阻带衰减A 独立选择,因为窗口长度 序列或脉冲响应的常数的问题.设计方法主要有窗函数法、频率采样 N对最小阻带衰减A 没有影响。在确定窗函数类型以后,可根据过渡 法和等波纹最佳逼近法等。由于窗函数设计简单,有闭合形式的公式 带宽小于给定指标确定所拟用的窗函数的窗口长度N。设待求滤波器 可循,本论文主要讨论利用MATLAB采用窗函数法设计FIR数字滤 的过渡带宽为△m,它与窗口长度N近似成反比。窗函数类型确定后, 波器的实现过程。 其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要 1-2窗函数设计法的步骤[213] 在设计滤波器之前.应该先根据具体的工程应用确定滤波器的技 1窗函数设计法 1.1窗函数的理论根据 在计算中逐步修正。原则是在保证阻带衰减满足要求的情况下,尽量 选择较小的N。在N和窗函数类型确定后,即可调用MATLAB中的窗 函数求出窗函数w(n)。 f21根据待求滤波器的理想频率响应求出理想单位脉冲响应k ),则理想的单位脉冲响 标,选择滤波器的阶数N和合适的窗函数∞(n)。即用一个有限长度的 (n)。如果给出待求滤波器的频率响应为H ( 窗口函数序列∞(n)来截取一个无限长序列h (n)获取一个有限长序 应可以用下面的傅里叶反变换式求出:窗函数设计滤波器的基本思想,就是根据给定的滤波器技术指 列h(n),即 1 f hd(n)=— "/7 I 啼 ( ) (1—1) (n)=^d(n)6 (n) (1) 并且要满足以下两个条件: (1)窗谱主瓣尽可能地窄,以获得较陡的过渡带; (2)尽量减少窗谱的最大旁瓣的相对幅度,也就是能量尽量集中于 主瓣,使峰肩和纹波减小,就可增多阻带的衰减。 这就给窗函数序列的形状和长度选择提出了严格的要求。 (3)计算滤波器的单位脉冲响应h(n)。它是理想单位脉冲响应和 窗函数的乘积,即^(n)= (n) to(n),MATLAB中用点乘命令表示为^= ・∞。 f41检验技术指标是否满足要求。'女口果不满足要求,可根据具体情 况,调整窗函数类型或长度,直到满足要求为止。 在实际工程中常用的窗函数有六种,即矩形窗、三角窗、汉宁窗、 2 FIR低通滤波器的实例设计嘲 海明窗、布莱克曼窗和凯泽窗。这些窗函数在MATLAB中分别用 已知数字滤波器的性能指标为:通带截止频率 =O.15 ̄r,阻带起 boxcar、triang、harming、hamming、blackman、kaiser实现,它们之间的性 始频率虬=0.37r,通带内波动R 0.15dB,阻带内最小衰减As=50dB,要 能比较如表1所示。 求用窗函数法设计一个FIR低通滤波器。 2010年第13期 SCIENCE&TECItNOLOGY D 0蹦AT10N 0科教前沿。 科技信息 分析:从表1可以看出,海明窗、布莱克曼窗和凯泽窗能提供大于 d 0n; 50dB的最小阻带衰减。但海明窗的旁瓣峰值最小,主瓣宽度最窄,可 以使滤波器的阶数较少,所以选用海明窗进行设计,程序主要部分如 下: wp=o.15 pi; ws=O.3 pi; width=ws—wp; xlabe】( 以pj为单位的频率,); ylabel( 分贝数'; m=ceil(6.6 pi/width ̄,+1; disp([ 滤波器的长度为 ,num2str(m)]); n:O:m一1: wc=(ws+wp)/2; alp=(m—1)/2; M=n-alp+eps; hd=sin[wc M).,(pi M); whm:(}lamming(m)) ; —h=hd. whm; [H,w]=freqz(}l,【lJ'1000.,"whole'); H--(H(I:501))" ; w=(w(1:5O1)) ; mag=abs(H); db=20 logIO((mag+eps)/m ̄x(mag)); pha=an e㈣; grd=grp&lay(h’【1],w); dew=2 WlOOO; Ip=一(min(db(1:l:wp/,ae—w+1))); disp(【 实际通带波动为 ,num2str(rp)]); as_一-round{ ̄瑚a】【(db(ws/de_w+1:1:501))); disp(【,最小阻带衰减为 ,num2str(,ls)】); subplot(2,2,1); 图1 海明窗函数设计的低通滤波器的响应曲线 运行程序结果为:滤波器的长度为45,实际通带波动为 0.048436,最小阻带衰减为52。仿真结果如图1所示。满足设计要求。 3结束语 FIR数字滤波器在数字信号处理领域有非常重要的地位,应用 MATLAB语言设计FIR数字滤波器,可节省大量的编程时间,提高编 程效率,还可根据设计要求随时改变参数,以使滤波器达到最优化 【参考文献】 [1]程佩青.数字信号处理教程[M1.北京:清华大学出版社,2007. [2]陈桂明.应用 ̄ATLAB语言处理数字信号与数字图像【M1.北京:科学出版社 2001. stem(n,hd); fji】ef 理想冲激响应’: axi ̄(1O,,m-1,一-0.1,0_3】); xIabei(,n';y1abeI(,hd(n),; subplot(2,2,2); stem(n,w—hm); title(" 海明窗1; a)【is([O,m-1,O,1.1]); [3]陈怀琛.数字信号处理教程——MATLABMA释义与实现fM1.北京:电子工业 出版社.2OO4. xl ̄bel('n3;ylabel('w(n)'); subplot(2,2.,3); stem(n,h); tit1e( 实际冲激响应1: [4]张德丰.MATLAB在电子信息工程中的应用fM1.北京:电子工业出版社, 2009. 作者简介:卢莉蓉(1982一),女,山西长治人.硕士研究生,助教,主要研究 方向为生物医学I程。 周晋阳(1958一),男,山西长活人,本科.教授,主要研究方向为生物医学工 程。 is(f0.,m-I,一0.1,o.3』); x1abel(,n,): ylabel( (n)’; subplot(2,2,41; plol(w/pi,db1; title( 幅度响应(dB)’; a】【is(【O,1,~100.,1O]); 牛晓东(198O~),男,山西长治人,硕士研究生,讲师,主要研究方向为机械 电子学。 [责任编辑:张慧] (上搔第7页) R( ) R 1 e = 0≤ 。IT.≤ P{ ≤n0l+E[e 。I 州P【 > ) R R )(4) [2]钱敏平,龚光鲁.随机过程论[M].北京:北京大学出版社,1997. [3]高明美,等.双二项风险模型的破产概率[J].经济数学..20O4210):6一-9. [4]董英华,张汉军.带干扰的双Poisson风险模型的破产概率啪.数学理论与应 用.20(3.,230)19s-一101. 作者简介:张相虎(1979.9一),男,汉族.山东德州人,主要从事保险精算方 面的研究 用I(A)表示集合A的示性函数,有 l 砌Pl :Efe ,) ,{ ]≤研e ・ ( ) (曲≥O)] 由于O≤e ( ≥0}≤1,根据强大数定理可以证明当, ∞ 时,R㈨一 ,P_n 因此由勒贝格(Lebesgue)控制收敛定理,得 R・ ( ) liar J咒>, 7≯珊}=O,JpLn . ,即证结论。 【参考文献】 ※顷目资助:山东科技大学科学研究“春蕾计划”项目 于是,在(4)式两端令, (2OO9AZZ1 13)。 [责任编辑:汤静] [1]谢志刚,韩天雄.风险理论与寿险精算[M].天津:南开大学出版社,2OO0.