论文IIR高通滤波器的matlab设计和在dsp上的实现.doc
《论文IIR高通滤波器的matlab设计和在dsp上的实现.doc》由会员分享,可在线阅读,更多相关《论文IIR高通滤波器的matlab设计和在dsp上的实现.doc(26页珍藏版)》请在三一办公上搜索。
1、IIR高通滤波器的matlab设计和在dsp上的实现摘要在众多滤波器设计方法中,本设计着重讨论了IIR高通滤波器的设计。对此滤波器的理论知识作了具体分析,通过matlab来对其进行设计并在dsp上直观形象的实现其功能。在本设计中,我先采集一段语音信号,借助matlab软件,设计出一定性能指标参数的IIR高通滤波器对其进行处理,借此对比此语音信号滤波前后的变化,从而观察此滤波器的软件滤波效果。并通过matlab来确定此滤波器的传递函数参数,再借助dsp实验系统来进行硬件上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5416评估板上实时运行,结果实现了目标要求。关键
2、词:IIR高通滤波器 Matlab7.0 DspAbstractIn numerous filters design method, this design emphasized to discuss the design of a filter of IIR.Made the concrete nalysis to the theories knowledge of this filter, pass the Matlab to come as to its carry on the design and keep the view image to carry out its functi
3、on on the DSP.In this design, I collect a speech signal first, asking for help the software of Matlab, designing a filter of an IIR of certain function index sign parameter as to its carry on the processing, borrow this contrast this speech signal wave in front and back of variety, thus observe a re
4、sult of the software of this filter.Come to certain this filter to deliver the function parameter through a Matlab also, then ask for help the DSP experiment system to carry on the realization on the hardware.While carry out, imitates the true development in the CCS5000 first, then evaluate procedur
5、e add carry the TMS320VC5416 up the plank the solid luck go, as a result carrying out the target request.Keyword:A high filter of IIR Matlab7.0 Dsp一、 模拟滤波器和数字滤波器的比较模拟滤波器是频率选择电路,用于放大或衰减单一频率成分的正弦信号或信号频谱的一部分。数字滤波器是指完成信号滤波处理功能的、用有限精度算法实现的离散时间线性非时变系统。它是一个离散时间系统,它能改变包含在离散时间信号x中的谱信息,使其生成新的离散时间信号y,采样信号表示为一列
6、数字。数字滤波器本身既可以是用数字硬件装配而成的一台用于完成给定运算的专用数字计算机,也可以是将所需的运算编成的程序,让通用计算机执行。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。基于以上比较,本设计选用数字滤波器。二、 数字滤波器的介绍数字滤波器的种类很多,根据冲击响应特性,可分为有限区间冲击响应滤波器FIR和无限区间冲击响应滤波器IIR两大类。根据滤波器的功能,又可以将它们分为:低通滤波器(LPF)高通滤波器(HPF)带通滤波器(BPF)带阻滤波器(BSF)数字滤波器的数学运算通常有两种实现方式。一种是频域法,即利用FFT快速运算办法对输入信号进行离散傅立叶变换,分析其频谱,然后根
7、据所希望的频率特性进行滤波,再利用傅立叶反变换恢复出时域信号。这种方法具有较好的频域选择特性和灵活性,并且由于信号频率与所希望的频谱特性是简单的相乘关系,所以它比计算等价的时域卷积要快得多。另一种方法是时域法,这种方法是通过对离散抽样数据做差分数学运算来达到滤波的目的的。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。三、 FIR和IIR的比较FIR类滤波器通常是非递归型滤波器,没有反馈项,仅有正馈,其主要优点
8、是稳定性好、硬件易实现。但要达到高性能,需要滤波器阶次高,从而系数多,所做的乘法操作多,延迟时间长。IIR型滤波器是一种递归型滤波器,具有反馈,结构简单,系数少,乘法操作少,可以解析控制,效率较高,与模拟滤波器有对应关系。其缺点是要考虑系统稳定性,需要记忆的数据多,易产生溢出。两者相比较,在满足性能要求的前下,IIR滤波器比相应的FIR滤波器具有低得多的阶次。虽然FIR滤波器较IIR可得到严格的线性相位,但在相同技术指标下,IIR滤波器由于存在着输出对输入的反馈,因而可用约1/101/5FIR 滤波器的阶数来满足指标的要求,这样一来所用的存储空间少,运算次数少,实时性强。此外,IIR滤波可以利
9、用模拟滤波器设计的现成的闭合公式、数据和表格。因而计算工作量小,对计算工具要求不高。如在谐波检测环节中所用数字滤波器的作用在于通过直流,滤除交流,对相位的要求不高,而对计算速度要求极高,故而在此情况下可以选择IIR滤波器来实现功能。四、 IIR高通滤波器的matlab设计1、 数字滤波器IIR的介绍及设计、 常用IIR数字滤波器的比较数字IIR滤波器具有良好的幅频响应特性,被广泛应用于通信、控制、生物医学、振动分析、雷达和声纳等领域。从滤波器实现来看,数字IIR滤波器的主要结构有直接型、直接型、级联型以及并联型几种等基本网络结构类型,如下:直接型IIR滤波器的系统函数对应的差分方程为其信号流程
10、图直接型IIR滤波器的系统函数又可以写成第一个子系统实现零点,时域为。第二个子系统实现极点,时域为。其信号流程图为:级联型将IIR滤波器的系统函数的分子分母表达为因子的形式,即由于系统函数的系数都是实系数,故零、极点只有两种情况:或者是实根,或者是共轭复根。并联型将IIR滤波器的系统函数展开成部分分式之和,即总系统为个部分系统函数之和,则表示其为各响应子系统的并联。在各种数字滤波器结构中,级联型滤波器结构一方面由于各级之间相互不影响,便于准确实现滤波器零、极点和调整滤波器频率响应性能;另一方面由于各级极点密集度小,滤波器性能受滤波器系数量化的影响小,因此倍受关注。偶数阶级联型数字IIR滤波器由
11、若干二阶实系数子滤波器以级联形式组成,奇数阶级联型IIR滤波器通常由一个一阶实系数子滤波器和若干二阶实系数子滤波器以级联形式组成,具体如图1所示。一阶和二阶数字IIR子滤波器采用如图2所示的直接型网络结构,这样可以保证所需的存储器数量最少。IIR滤波器主要有以下几种模拟滤波器逼近:巴特沃斯Butterwoth,切贝雪夫I型Cheby,切贝雪夫型Cheby,椭圆函数型(或称考尔型)Elliptic,以及Bessel型。2、 MatlabMATLAB是一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含
12、了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。在本设计中同时结合了函数和FDATool工具来对比设计IIR高通滤波器。Matlab界面如下图:(1) Matlab中的滤波器直接设计IIR滤波器的函数 freqz函数:求解数字滤波器频率响应 h,f=freqz(b,a,n,fs) fs为采样频率abs函数y=abs(x)计算x各元素的绝对值 buttord函数:选择巴特沃斯滤波器最小阶数n,wn=buttord(wp,ws,rp,rs) Cheb1ord函数:选择切笔雪夫型滤波器最小阶数n,wn= C
13、heb1ord(wp,ws,rp,rs)Cheb2ord函数:选择切笔雪夫型滤波器最小阶数n,wn= Cheb2ord(wp,ws,rp,rs) Ellipord函数:选择椭圆滤波器最小阶数 n,wn= Ellipord(wp,ws,rp,rs)(2) matlab中的交互式图形用户界面工具sptool SPTool是一个图形环境,它为信号处理工具箱中的很多函数提供了易于使用的界面,只需要操纵鼠标就可以再如、观察、分析和打印数字信号,分析、实现和设计数字滤波器,以及频谱分析等。启动matlab后在命令窗口输入sptool回车就可以打开sptool的主窗口。由sptool的主窗口可以看出,spt
14、ool有3个列表框:signals列表框,filters列表框和spectra列表框,它们对应着sptool工具中的4个功能模块。信号浏览器:观察、分析时域信号的信息;滤波器设计器:创建任意阶数的低通、高通、带通或带阻的FIR和IIR滤波器;滤波器观察器:分析滤波器的特性,有幅值响应、相位响应、群延迟和脉冲响应等;谱观察起:把用各种PSD估计方法得到的频域数据以图形的方式进行分析研究在用sptool进行信号处理时,必须先载入数据。按照不同的数据类型,数据载入可以分为信号数据载入、滤波器数据载入以及功率谱数据载入。A、 首先在matlab工作空间创建信号数据B、 载入信号数据。Import to
15、 sptoola、 选择载入数据对话框右上角import as 下拉表框中的signal选项。b、 选择载入数据对话框中间workspace contents列表框中的信号数据y,再单击与右边data文本框一一对应的箭头按钮,则在data文本框中会出现y的名字。c、 选择载入数据对话框中间workspace contents列表框中的信号数据fs,再单击与右边samping frequency文本框一一对应的箭头按钮,则在samping frequency文本框中会出现fs的名字。d、 确定载入信号的名称,设为“ling1”。e、 单击ok按钮后,信号数据被载入。此时,在sptool主窗口的s
16、ignals列表框中单击view按钮,就可以观察所载入的数据信号波形了。C、 载入滤波器数据a、 选择载入数据对话框右上角import as 下拉表框中的filter选项,表示载入滤波器数据。这时候,在该下拉列表框的下面会出现一个新的下拉列表框form,里面含有4种不同类型的滤波器表达式: Transfer Function;state space;zero,poles,gain;2nd order sections。b、 选择载入数据对话框中间workspace contents列表框中的信号数据a,再单击与右边denominator文本框一一对应的箭头按钮,则在denominator文本框
17、中会出现a的名字。同理,选择载入数据对话框中间workspace contents列表框中的信号数据b,再单击与右边numerator文本框一一对应的箭头按钮,则在numerator文本框中会出现b的名字。c、 选择载入数据对话框中间workspace contents列表框中的信号数据fs,再单击与右边samping frequency文本框一一对应的箭头按钮,则在samping frequency文本框中会出现fs的名字。d、 确定载入信号的名称,设为“filter1”。e、 单击ok按钮后,滤波器数据被载入。此时,在sptool主窗口的filters列表框中单击view按钮,就可以观察所
18、载入的滤波器数据的波形了。D、 载入功率谱数据a、 选择载入数据对话框右上角import as 下拉表框中的spectrum选项,表示载入滤波器数据。这时候,在该下拉列表框的下面会出现两个字段:PSD和Freq.Vector。b、 选择载入数据对话框中间workspace contents列表框中的信号数据pxx,再单击与右边psd文本框一一对应的箭头按钮,则在psd文本框中会出现a的名字。c、 选择载入数据对话框中间workspace contents列表框中的信号数据F,再单击与右边Freq.Vector文本框一一对应的箭头按钮,则在Freq.Vecto文本框中会出现F的名字。d、 确定载
19、入信号的名称,设为“spect1”。e、 单击ok按钮后,滤波器数据被载入。此时,在sptool主窗口的spectrum列表框中单击view按钮,就可以观察所载入的滤波器数据的波形了(3) Matlab中的交互式数字滤波器设计工具FADToolFDATool(Filter Design & Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(Filter Design Toolbox)。FADTool可以对滤波器进行直接设计。FDATool可以设计几乎所有的基本的常规滤波器,包括FIR和IIR的各种设计方
20、法。它操作简单,方便灵活。对于设计完成的滤波器,在FADTool中而已对其进行分析,绘制幅频曲线、相位响应、零极点图等,并且将设计结果保存到工作空间中,同时,也可将其保存为mat文件、文本文件,或直接生成c语言的头文件等。通过filter design toolbox,在FADTool中还可以考虑滤波器量化对滤波器性能造成的影响。FDATool界面总共分两大部分,一部分是Design Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:Filter Type(滤波器类型)选项,包括Low
21、pass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。Design Method(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函数)法。Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括Specify Order(指定阶数)和Minimum Order
22、(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify OrderN-1),如果选择Minimum Order则MATLAB根据所选择的滤波器类型自动使用最小阶数。Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 IIR 滤波器 matlab 设计 dsp 实现
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4143525.html