当前位置:首页 >> 工学 >>

基于MATLAB的FIR数字滤波器的设计与仿真


科技信■

o科教前沿O

SCIENCE&TECHNOLOGY INFORMATION

2010年第13期

基于MATLAB的FIR数字 滤波器的设计与仿真
卢莉蓉周晋阳牛晓东 (长治医学院生物医学工程系 山西长治046000)
【摘要】数字滤波器作为数字信号处理的基本组成构件,其设计在数字信号处理中有着重要的意史。本文根据FIR.数字滤波嚣设计的基 本原理。提出了基于MATLAB的FIK敷字滤波器的窗函数设计法。文中给出了设计实例,仿真结果表明设计的各项性能指标均达到了指定要 求。设计过程简便易行。 【关键词lFIR数字滤波器;窗函数法;MATLAB
。111e
Design

and Imitate of FIR ZHOU

m#tal Filter

Based

on

MATLAB

LU Li-rong

j磷1ang

NIU XIAO-dong

(Bio Medical Engineering Department of ChangzM Medical College,ChangzM Slmnxi,们6000 China) 【AbstraetlDigltal filter is the basic components of digital signal processing,the design of it has an important meaning for the digital signal processing.This paper proposes the method of using window function to design兀R filter based Oil MATLAB.according to the design basic principle
0f FlR digital filter.In the pape‘the simulation result shows that the designed filter simple and practical.
Call

meet

the

requirements very

well and the design procedure

is

【Key words]FIR digital falter,Window function method;MA7rLAB

0引言 随着信息时代的到来,数字信号处理已成为当今一门极其重要 的的学科和技术。数字信号处理在通信、语音、图像、自动控制、雷达、 军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在 数字信号处理中,数字滤波器占有非常重要的地位。根据冲激响应的 时域特性。数字滤波器可以分为无限长冲激响应数字滤波器(Infinite Impulse Response Digital Filter,简称IIR数字滤波器)和有限长冲激响 应滤波器(Finite Impulse Response Digital Filter,简称兀R数字滤波 器)Ill。FIR数字滤波器具有自己突出的优点:易于实现严格的线性相 位、系统总是稳定的、总能用因果系统来实现01。 MAlrIAB软件是mathworks公司开发的一种设计软件,该软件具 有使用简单、方便、易编程、语言简练的特点。同时具有强大的数值分 析、矩阵运算、图形绘制、数据处理等功能。 随着MAlrIAB的不断完善.尤其是MAl’LAB的信号处理工具箱 的推出,如今MATLAB已经成为数字信号处理应用中分析和仿真设 计的主要工具。 FIR数字滤波器的设计问题实质上是确定能满足所要求的转移 序列或脉冲响应的常数的问题,设计方法主要有窗函数法、频率采样 法和等波纹最佳逼近法等。由于窗函数设计简单。有闭合形式的公式 可循.本论文主要讨论利用MATLAB采用窗函数法设计兀R数字滤 波器的实现过程。 1窗函数设计法 1.1窗函数的理论根据 窗函数设计滤波器的基本思想。就是根据给定的滤波器技术指 标,选择滤波器的阶数N和合适的窗函数∞(,1)。即用一个有限长度的 窗口函数序列埘(n)来截取一个无限长序列k(n)获取一个有限长序
列h(n).即

衰1

窗函数基本参数的比较
加窗后滤波器性能指标 过渡带宽△一

窗谱性能指标 窗函数 旁瓣峰值/dB 矩形窗 三角形窗 汉宁窗 海明窗 布莱克曼窗 凯泽窗
-13 —25 —3l —4l 一57 —57

主瓣宽 度/(2.Tr/N)
2 4 4 4 6

(2硎)
0.9 2.1 3.1 3.3 5.5 5

阻带最小衰减,dB
—21 —25

—“
—53

■^ 一舳

1.2窗函数设计法的步骤阳
在设计滤波器之前,应该先根据具体的工程应用确定滤波器的技 术指标。在大多数实际应用中,数字滤波器常常被用来实现选频操作, 所以指标的形式一般为在频域中以分贝值给出的相对幅度响应和相 位响应。 用窗函数法设计兀R滤波器的步骤如下: (1)根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口 长度N。窗函数类型可根据最小阻带衰减A。独立选择.因为窗口长度 N对最小阻带衰减A;没有影响。在确定窗函数类型以后。可根据过渡 带宽小于给定指标确定所拟用的窗函数的窗口长度N。设待求滤波器

的过渡带宽为“,它与窗121长度N近似成反比。窗函数类型确定后.
其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要 在计算中逐步修正。原则是在保证阻带衰减满足要求的情况下,尽量 选择较小的N。在N和窗函数类型确定后。即可调用MATLAB中的窗 函数求出窗函数丘,(4)。 (2)根据待求滤波器的理想频率响应求出理想单位脉冲响应k (n)。如果给出待求滤波器的频率响应为肌(矿)。则理想的单位脉冲响 应可以用下面的傅里叶反变换式求出:

h(n)=hd(,l抽(,I) (1) 并且要满足以下两个条件: (1)窗谱主瓣尽可能地窄,以获得较陡的过渡带; (2)尽量减少窗谱的最大旁瓣的相对幅度,也就是能量尽量集中于 主瓣,使峰肩和纹波减小,就可增多阻带的衰减。 这就给窗函数序列的形状和长度选择提出了严格的要求。 在实际工程中常用的窗函数有六种。即矩形窗、三角窗、汉宁窗、 海明窗、布莱克曼窗和凯泽窗。这些窗函数在MATLAB中分别用 boxcar、triang、hanning、hamming、blackman、kaiser实现。它们之间的性 能比较如表1所示。

k(n)=毒一I吼(,)池, 肺’1
t ,7

(I-I)

(3)计算滤波器的单位脉冲响应h(n)。它是理想单位脉冲响应和 窗函数的乘积。即^(n);弘n)?oJ(n)。MATI^B中用点乘命令表示为JI=
k?∞。

(4)检验技术指标是否满足要求。‘如果不满足要求,可根据具体情 况,调整窗函数类型或长度,直到满足要求为止。


FIR低通滤波器的实例设计H 已知数字滤波器的性能指标为:通带截止颍率魄=o.15仃,阻带起

始频率咄---O.37r,通带内波动R产0.15dB,阻带阿最小衰减As=50dB,要 求用窗函数法设计一个FIR低通滤波器。

万方数据

2010年第13期

。科教前沿。

科技信■

分析:从表l可以看出,海明窗、布莱克曼窗和凯泽窗能提供大于 50dB的最小阻带衰减。但海明窗的旁瓣峰值最小,主瓣宽度最窄.可 以使滤波器的阶数较少,所以选用海明窗进行设计,程序主要部分如 下:

鲥d on; xlabd(’以pi为单位的频率'; ylabei(’分贝数m

Ⅵ卸.15+pi;
ws=O.3+pi; width--ws—wp;

m=ceil(6.6+pi/width)+l; disp([’滤波器的长度为。咖【12蚰<nlm;
n--O:m-l;

wc=(ws+wp)/2; alp=(m—1),2;
M=n-alp+eps;

hd=sin(wc+M)./(pi+聊;


hm=(hmmins(m))7;

h=hd.*w hm;

【H,w]--freqz(h,[1],1000,"whole'); H=(I{(1:501))j w=(w(1:501))’ mag=abs(a);

db=20+loglO“mag+印s}/In删ma91);

pha=mJeffl);
四rd=grodelayoa,【l】'1订;
de_w=2*p“1000;

图1

海明窗函数设计的低通滤波器的响应曲线

运行程序结果为:滤波器的长度为45.实际通带波动为 0.048436。最小阻带衰减为52。仿真结果如图l所示。满足设计要求。 3结束语 FIR数字滤波器在数字信号处理领域有非常重要的地位.应用 MATLAB语言设计FIR数字滤波器,可节省大量的编程时间.提高编

rp=-(min(db(1:1:wp/de_w+1)));

diBp([’实际通带波动为’,num2州rp)D;
as=-round(max(db(ws/de_w+1:1:501))); disp([’最小阻带衰减为’amm2str(as)]); subplot(2,2,1); stem(n,hd); title(7理想冲激响应1; axi觚0,m-1,-0.1,0.3】); xlabel('n3;ylabel('hd(n)’; subplot(2,2,2); stem(n,w—Jm); title(’海明窗’; axis([O,m-1,0,1.1】); xlabel('n3,'ylabel('w(n)3; subplot(2,2,3); stem(n,h);

程效率,还可根据设计要求随时改变参数,以使滤波器达到最优化露
【参考文献】
[1]程佩青.数字信号处理教程[M1.北京:清华大学出版社,2007. [2]陈桂明.应用MATLAB语言处理数字信号与数字图像【M】.jC京:科学出版杜,
2001.

[3】陈怀琛.数字信号处理教程——M^11^BMA释义与实现嗍.北京:电子工业
出版社.2004. [4]张德丰.MATLAB在电子信息工程中的应用【M】.北京:电子工业出版社,
2009.

洲e(’实际冲激响应';
axis([o,m-I,-0.I,0.3D; xlabel('n'); ylabel('h(n),; subplot(2,2,4); piot(w/pi,d”; title(’幅度响应(dB),; 缸is(【o’1,一100,loD;

作者简介:卢莉蓉(1982一),女,山西长治人,项士研究生,助曩,主要研究 方向为生物医学工程。 周量阳(1958.一),男,山西长治人,奉科,教授,主要研究方向为生物医学工 程。 牛晓东(1980一),男,山西长治人,硕士研究生,讲师,主要研究方向为机械 电子学。

【责任编辑:张慧]

l上接第7页)
-R?mft l

[2]钱敏平,龚光鲁.随机过程论【M】.北京:北京大学出版社,1997.

e4I_研e 用l(A)表示集合A的示性函数,有


“.1L≤堋咒≤,埘+球

{?脚U

1。IT.>no]P{T.>no}

(4)

[3]高明美。等.双二项风险模型的破产概率fJl.经济数学,2004,21(1):6-9. [4】董英华,张汉军.带干扰的双Poisson风险模型的破产概率【J】.数学理论与应 用.2003,23(1):99-101.

’,{咒>nol】≤球 …,{尺(曲≥0l】 O≤gle4’膏‘叫IT。>ao]P{r.>no}=E[e。。h),{z:>砌】≤研e4。眠),{尺(曲≥ol】

时,月舻∞,P-a.s.。因此由勒贝格(Lebesgue)控制收敛定理,得
lim球
-R?^k1

由于0≤e

1。,{R㈨≥0}≤1,根据强大数定理可以证明当,l广,。

作者简介:张相虎(1979.卜),男,汉族,山末德州人,主要从事保险精算方
面的研究。

。lD嘲尸{7>州=o,P.吐s.

孚是,在(4)式两端令,l一*,即证结论。口
【参考文献】
[1]谢志刚,韩天雄.风险理论与寿脸精算【M】.天津:南开大学出版社。2000.

※项目资助:山东科技大学科学研究。謇■计划”项目 (2009AZZl 1 3)。 【责任编辑:汤静]

万方数据


相关文章:
基于MATLAB的FIR数字滤波器的设计与仿真(开题报告)
设计□ 基于 MATLAB 的 FIR 数字滤波器的设计与仿真 学号 生产□ 论文□ 实验室□ 其他□ 指导教师 专题研究□ 一、选题的意义 随着信息技术的迅猛发展,数字...
基于MATLAB的数字滤波器的设计与仿真毕业论文
毕业论文 基于 MATLAB 的数字滤波器的设计与仿真 摘 要 数字滤波器是数字信号...通过实例给出了 FIR 程序设计法的仿真图形,并在 MATLAB 的 Simulink 环境下, ...
基于MATLAB的FIR数字滤波器的设计与仿真毕业设计论文
本科毕业设计论文 题目 基于 MATLAB 的 FIR 数字滤波器的设计与仿真 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ...
基于Matlab的数字滤波器的设计与仿真
基于Matlab的数字滤波器的设计与仿真_工学_高等教育_教育专区。本人大学毕业做的...数字滤波器进行仿真,并采用软件自带的 FDAtool 工具及不 同的 FIR 数字滤波器...
毕业论文_基于Matlab的FIR数字滤波器设计与优化
有限长冲激响应(FIR)滤波器在数字信号处理发挥着重要作用,我们会采用 MATLAB 软件对 FIR 数字滤波器进行仿真设计,简化了设计中繁琐的计算。本 文采用窗函数法、...
基于matlab的fir数字滤波器
同时介绍了 FIR数字滤波器几种设计方法的函数调用格式; 通过实例, 给出了程序设计法的详细步骤, 并在Matlab的Simulink环境下,对所设计的滤波器进行了仿真。 关键...
基于Matlab的FIR滤波器设计与仿真
基于Matlab的FIR滤波器设计与仿真_工学_高等教育_教育专区。学号:054100603 姓名...运用窗函数设计滤波器是FIR 数字滤波器设计的主要方法之一,由于 运算简单,又有...
基于MATLAB的FIR数字滤波器设计论文
基于MATLAB的FIR数字滤波器设计论文_工学_高等教育_教育专区。毕业设计摘要...在分析三种设计方法原理的基础上, 借助Matlab仿真软件工具箱中的fir1、fir2和...
基于MATLAB的数字滤波器的设计与仿真分析
011 申请日期: 2011 年 5 月 10 日 宁夏大学新华学院本科学位论文 摘要 本文研究了 IIR 数字滤波器 FIR 数字滤波器Matlab 环境下的设计方法及仿真分 析...
基于matlab的fir数字滤波器设计
基于Matlab 的 fir 数字滤波器设计 基于 matlab 的 fir 数字滤波器设计 sea (湖南涉外经济学院 湖南 长沙 421000) 摘 要:介绍了应用Matlab语言设计FIR数字滤波器...
更多相关标签: