基于Matlab的_IIR数字滤波器的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

工程应用基于M a tl ab的II R数字滤波器的设计与实现
收稿日期:2009209230 
李 征,李成书,王宏斌
(兰州交通大学电子与信息工程学院,兰州730070)
摘 要:提出了一种采用Matlab的数字滤波器设计工具箱F DAT OOL快速有效设计II R数字滤波器的方法,可实时调整滤波器的参数从而使滤波器的设计达到最优。

概述了F DAT OOL的使用方法,采用DSP Builder建立了实现模型,给出了基于FPG A的II R数字滤波器的实现流程,并且在最后使用Si m ulink进行仿真,给出了仿真波形。

关键词:Matlab;II R数字滤波器;F DA t ool设计工具;DSP
D esi gn and I m plem en ta ti on of II R D i g ita l F ilter Ba sed on M a tl ab
L I Zheng,L I Cheng2shu,WANG Hong2bin
(College of Electr onics and I nf or mati on Engineering,Lanzhou J iaot ong University,Lanzhou730070,P.R.China)
Abstract:This paper p r oposes one rap id and effective design scheme usingMatlab t oolbox F DAT OOL t o realize II R digital filter design p r oposal,which can adjust the para meter of filter and thus op ti m ize the filter design.The paper intr oduces the app licati on method of F DAT OOL,uses the DSP Builder t o establish the realizati on model,and p r oposes the realizati on p r ocess of II R digital filter based on FPG A.Finally,the si m ulati on wad done by using Si m ulink,and p r oposes the si m ula2 ti on wavef or m.
Key words:M atlab;II R digital filter;F DA t ool;DSP
0 引 言
随着信息与数字技术的发展,数字信号处理已成为当今极其重要的学科与技术之一,它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。

在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。

其中,滤波是应用非常广泛的一个环节,数字滤波器的理论与相关设计也一直都是人们研究的重点之一。

数字滤波器根据其单位冲击响应函数的时域特性可分为两类:无限冲击响应(II R)滤波器和有限冲击响应(F I R)滤波器。

在给定滤波器阶数时,与F I R 滤波器相比,无限冲击响应II R(infinite i m pulse re2 s ponse)滤波器在达到某种性能属性方面可以有更好的效率。

这是因为II R滤波器引入了反馈,且适合于系统传递函数的0点和极点的实现。

II R数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以II R滤波器的设计可以采取在模拟滤波器设计基础上进一步变换的方法。

其设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计法。

平时所要设计的数字滤波器、阶数和类型并不一定是完全给定的,很多时候要根据设计要求和滤波效果不断地进行调整,以达到设计的最优化。

在这种情况下,滤波器设计就要进行大量复杂的运算,单纯依靠公式计算和编制简单的程序很难在短时间内完成。

利用Matlab强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化计算量。

目前,高速II R滤波器的实现方法,通常可以采用设计优化好的II R滤波器的I P核,用户使用这种I P核,根据实际需要进行简单的开发即可。

这种实现方法虽然简单,但是需要得到I P核才能进行。



5
7

工程应用
D I G I TAL COMMUN I C AT I
O N /2009112文采取了一种基于DSP Builder 的FPG A 设计方法,以一个带通的10阶II R 滤波器的实现为例,此方法扩展性好、灵活性强、速度快,滤波器的阶数、位数以及滤波特性等均可得到方便地更改,具有较好的应用前景。

1 II R 滤波器的M a tl ab 设计流程
利用Matlab 强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大简化计算量。

本文采用Matlab 提供的滤波器设计的专门工具箱———F DA t ool 设计滤波器,F DA t ool 可以设计几乎所有的常规滤波器,包括F I R 和II R 滤波器。

首先在Matlab 命令窗口输入F DA t ool,即可调出F DA t ool 工具箱。

F DA t ool 界面中的下半部分用来设置滤波器的设计参数,上半部分用来显示滤波器的各种特性。

界面下半部分主要分为:Res ponse Type (滤波器类型)选项,其中包括Lo wpass (低通)、H ighpass (高通)、Bandpass (带通)、Bandst op (带阻)
和特殊的F I R 滤波器。

Design Method (设计方法)选项,包括II R 滤波器
的Butter worth (巴特沃思)法、Chebyshev Ty pe I (切比雪夫I 型)法、Chebyshev Ty pe Ⅱ(切比雪夫Ⅱ型)法和F I R 滤波器的E 2quiri pp le 法、Least 2Squares (最小乘
方)法、W indo w (窗函数)法等设计方法。

Filter O rder (滤波器阶数)选项,用来定义滤波
器的阶数,可以使用Specify O rder 来指定阶数,也可以选择M ini m u mO rder (最小阶数)选项,Matlab 会根据所选择的滤波器类型自动使用最小阶数。

在Res ponse Type (滤波器类型)选项和Design Method (设计方法)选项设置完成以后,通过Frequen 2cy Specificati ons 选项定义频带的各参数,包括采样频
率和频带的截止频率。

Magnitude S pecificati ons 选项,用来定义幅值衰
减的情况。

W indo w S pecificati ons 选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。

本文以一个II R 滤波器的设计为例说明如何使用Matlab 设计数字滤波器。

要求设计一个10阶的带通Elli p tic 滤波器,采样频率为1000Hz 。

本例中,首先在Filter Type 中选择Bandpass (带通滤波器),在Design Method 选项中选择II R;接着在相邻
的右则选项中选择Elli p tic,指定Filter O rder 项中的Specify O rder =10;然后在Frequency Specificati ons
中选择Unit 为Hz,给出采样频率Fs =1000Hz,通带F pass1=8,F pass1=10;最后在Magnitude Specifi 2cati ons 中选择Unit 为db,A pass =1,A st op =80。


置完成后点击DesignFilter 即可得到所设计的II R 滤波器。

通过菜单选项Analysis 可以在特性区看到所设计的幅频响应、相频响应等特性,如图1、图2所示。

设计完成后将结果保存为filter11fda 文件。

2 II R 数字滤波器的DSP Builder 设计
211 D SP Bu ilder 介绍
DSP builder 是一个系统级设计工具,它架构在多个软件工具之上,并把系统级和RT L 级2个设计领域的设计工具连接起来,最大程度地发挥了2种工具的优势。

DSP builder 依赖于数学分析工具Matlab /Si m ulink,以Si m ulink 的B l ockset 形式出现,
在Si m ulink 中进行图形化设计与仿真。

同时又通过Signal Co mp iler 把Si m ulink 的模型文件(后缀是.mdl )转化为硬件描述语言VHDL 文件,以及用于控
制综合与编译的tcl 脚本。

而对后者的处理,可以由FPG A 开发工具QuartusII 来完成。

DSP Builder 可以帮助开发者完成基于FPG A
的DSP 或其他电子系统设计。

除了图形化的系统
—67—
工程应用
建模外,DSP Builder 还可以自动完成大部分的设计过程和仿真,直至把设计文件下载至FPG A 中。

利用Matlab \DSP Builder 进行DSP 模块设计是S OPC 技术的一个组成部分。

这是因为:一方面,产生于Matlab \DSP builder\QuartusII 流程的DSP 模块可以
成为单片FPG A 电路系统的一个组成部分,以担任某种局部电路的功能;另一方面,通过Matlab \DSP Builder,可以直接为N i os II 处理器设计加速器,并
以指令的形式加入到N i os II 指令系统,从而成为系统的一个接口设备,与整个片内嵌入式系统融为一体;继而,用户可根据设计项目的具体要求,构建自己的DSP 处理器系统。

212 F I R 数字滤波器模型建立
根据II R 滤波器原理,可以利用FPG A 来实现II R 滤波电路,DSP Builder 设计流程的第一步是在Matlab /Si m ulink 中进行设计输入,即在Matlab 的Si m ulink 环境中建立一个mdl 模型文件,用图形方
式调用A ltera DSP Builder 和其他的Si m ulink 库中的图形模块,构成系统级或算法级设计框图(或称Si m ulink 建模)。

使用DSP Builder 工具箱建立II R
滤波器模型。

如图3所示。

图3 10阶II R 设计模型
213 基于D SP Bu ilder 的系统级仿真
输入信号采用正弦信号和随机信号叠加,其中的仿真波形如图4所示。

从II R 滤波电路的仿真结果看出,输入信号通过滤波器后输出基本上变成单频率的正弦信号,至此完成了模型仿真。

在Si m link 仿真结束后,通过Signal Copm iler 工具将所设计的mdl 文件转换成VHDL 文件,完成转换、综合、和适配操作,并在Quartus II 中进行仿真,
并完成下载测试。

图4 D SP Bu ilder 下的II R 滤波器时域波形
3 结束语
本文应用Matlab /Si m ulink 技术对II R 滤波器进行了硬件设计,给出了实现框图。

利用DSP Duilder 设计的II R 数字滤波器是高效、正确、可行的方法;仿真波形说明本文设计的II R 滤波器的滤波效果良好,具有较好的工程应用价值。

本文设计的II R 滤波器,设计周期短,占用的FPG A 逻辑资源少,其运算速度与DSP 处理器相比有很大的提高。

通过FP 2G A 实现提高了系统的集成度,利用Matlab 设计II R
滤波器并进行仿真,可随时调整参数对比滤波器特性,快速得到仿真结果,直观方便,极大地减少了工作量,提高了工作效率。

参考文献:
[1] 孙屹.Si m ulink 通信仿真开发手册[M ].北京:国防工
业出版社,2004:1192123.
[2] 王紫婷.E DA 技术与应用[M ].兰州:兰州大学出版
社,2003:4042407.
[3] 刘凌.数字信号处理的FPG A 实现[M ].北京:清华大
学出版社,2002:992119.
[4] 潘松.E DA 技术实用教程[M ].北京:科学出版社,
2005:2662268.
作者简介:
李 征(1984-),男,河北邢台人,硕士研究生,主要研究方向为E DA 技术及应用开发,E 2mail:jvfeng8496@1631co m 。


77—。

相关文档
最新文档