基于Matlab的IIR滤波器的设计与仿真_第1页
基于Matlab的IIR滤波器的设计与仿真_第2页
基于Matlab的IIR滤波器的设计与仿真_第3页
基于Matlab的IIR滤波器的设计与仿真_第4页
基于Matlab的IIR滤波器的设计与仿真_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西南科技大学专业方向设计报告课程名称: 通信工程专业方向设计设计名称:基于Matlab的IIR滤波器的设计与仿真姓 名:周书华学号:20096131班 级: 通信工程0903班指导教师:张红英起止日期: 2012/11/222012/12/14西南科技大学信息工程学院制方向设计任务书学生班级:通信工程0903班 学生姓名:周书华 学号:20096131设计名称:基于Matlab的IIR滤波器的设计与仿真起止日期: 2012/11/22 2012/12/14指导教师: 张红英设计要求:1)了解无限冲激响应IIR滤波器的传统设计与方法;2)了解Matlab信号处理箱。掌握FDATool专用滤波器设

2、计分析工具;3)利用Matlab设计一个10阶的带通Chebyshev I型滤波器,其通带范围是 100到200Hz,采样频率为1000Hz幅值衰减Rp=0.5,画出其幅频、相频 和冲激响应;(自编 Matlab程序和利用FDATool工具箱实现)方向设计学生日志时间设计内容2012/11/22-2012/11/29学习数字信号处理教程,特别是关于IIR数字滤波器的部分2012/11/30-2012/12/08学习MATLA应用软件,特别是其信号处理箱和 Simuink2012/12/09-2012/12/10分析IIR数字滤波器的传统设计方法2012/12/11分别在MATLAB编程设计和利

3、用FDATool来设计IIR滤波器2012/12/12对设计的IIR进行仿真并分析2012/12/13完成专业设计报告的撰写2012/12/14答辩基于Matlab的IIR滤波器的设计与仿真一、摘要传统的数字滤波器设计计算繁琐,尤其是设计高阶滤波器时工作量大,利用Matlab可以快速有效地实现数字滤波器的设计与仿真。本文介绍了 IIR数字滤波器的传统设计思想和步骤, 同时也介绍了利用MATLAB寸IIR数字滤波器进行设计的方法、设计的操作步骤以及对设计的 滤波器的仿真。二、设计目的和意义1、 通过此次专业方向设计,了解无限冲激响应IIR滤波器的传统设计方法;2、了解Matlab信号处理箱并掌握

4、FDATool专用滤波器设计分析工具;3、学习如何使用Matlab,学会用Matlab解决实际问题。三、设计原理数字滤波器,是具有一定传输选择特性的数字信号处理装置, 其输入和输出均为数字信号, 实质上是一个由有限精度算法实现的线性时不变离散系统。可以把它理解为是一个计算程序或 算法,它把代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按照预定的形式变化。数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器, 根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR )和有限长冲激响应滤波器(FIR)。1

5、、无限冲激响应IIR滤波器及其传统设计方法IIR滤波器的有理系统函数为:H(z)=bkZN1akZk 1Y(z)X(z)(1)(2)(3)表示这一系统输入输出关系的 N阶差分方程为:y(n)=刀aky(n- k) + 宴0bkX(n- k)k= 1对照模拟滤波器的传递函数:H(s) = bmSm+bm-1 sm-1 +?+b。ansn+a n-1 sn-1 +?+a 0不难看出,IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。模拟滤波器的 设计在理论上已十分成熟,所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步 变换的思路。根据以上思路,首先设计一个模拟原型滤波器 (截止

6、频率为1rad/s的低通滤波器),然后 在模拟域(S平面)进行频率变换,将模拟原形滤波器转换成所需类型 (指定截止频率的低通、 高通、带通、带阻)的模拟滤波器,再将其数字离散化,从 S平面映射至Z平面,得到所需技 术指标的数字滤波器。(也可先将模拟原型离散化,得到数字原型滤波器,继而在数字域(Z平面)进行频率变换,得到所需类型的数字滤波器。)模拟滤波器到数字滤波器的转换可在时域进行也可在频域实现,时域转换的关键是要使数字滤波器与模拟滤波器时域响应的采样值相等,以保持其瞬态特性不变,常用的是冲激响应不变法。频域变换法必须使得数字滤波器在-nn范围内的幅频特性与模拟滤波器在-n/T w w n/T

7、范围内的幅频特性一致,即保证s平面与z平面上幅频特性的一一单值对应 关系,常用的是脉冲响应不变法和双线性变换法。IIR滤波器的传统设计方法思路清晰,步骤详尽,可参阅公式、手册循章而行。但其计算非常繁琐,设计过程中要改变参数和滤波器类型时都要重新计算。它需要反复的实验,需要设计者凭借经验设定参数,很多时候要根据设计要求和滤波效果不断调整,以达到设计的最优化。在这种情况下,单纯的靠公式计算和编制简单的程序很难在短时间内完成。2、IIR滤波器的 Matlab设计图1 Matlab 2012a 主界面Matlab是MATHWORK司推出的一套面向科学和数值计算的可视化语言,它集数值分析、 矩阵运算、信

8、号处理和图形显示于一体,是一个高度集成系统具有友好的用户界面和良好的帮 助功能。Matlab自带的信号处理工具箱(Signal Processing Toolbox )具有强大的信号处理和分析功能,利用Matlab软件优越的数字分析及仿真功能,对理解数字滤波器及数字滤波 具有一定参考价值。Matlab的信号处理工具箱中,提供了一整套模拟、数字滤波器的设计命令和运算函数, 方便准确,简单易行,使得设计人员除了可按上述传统设计步骤快速地进行较复杂高阶选频滤 波器的计算、分析外,还可通过原型变换法直接进行各种典型数字滤波器设计,即应用Matlab设计工具从模拟原型直接变换成满足原定频域指标要求的数字

9、滤波器。Matlab有两种途径来设计IIR数字滤波器,分别为FDATool界面设计和直接程序设计。1)FDATool界面设计FDATool是Matlab信号处理工具箱里专用的滤波器设计分析工具,其界面为滤波器的设 计提供了一个交互式的设计环境,用户进行参数设置后,可以设计几乎所有的基本常规滤波器, 包括IIR和FIR的各种设计方法,操作简单,方便灵活。FDATool界面总共分两大部分,一部分是 Desig n Filter ,在界面的下半部,用来设置滤 波器的设计参数;另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。uinfi,陆e Edvi 起|1日吳4Tanff-eds V

10、TMr Wndcw Helpl:曲UH金 3金3:贮曰bd也庇占LL I SkJOlLd叨E Iter 以Twl - iTcHhdMita】FaA-r匸 rty =rdB-u-幣rwnjp1 ofdiLQ rtPiUB营trFriMjfiEf SpfiQfnfiurA*jhbs 規abv -OCH图2 FDATool界面Design Filter部分主要分为:A、Response Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。B、Design Method(设计方法)选项,包括IIR滤波

11、器的Butterwotth(巴特沃思) 法、Chebyshev Type I(切比雪夫 I 型)法、Chebyshev Type II(切比雪夫 II型)法、Elliptic( 椭圆滤波器)法和FIR滤波器的Equiripple 法、 Least-Squares(最小乘方)法、Window(窗函数)法;C、Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括 Specify Order(指 定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的 滤波器的阶数(N阶滤波器,Specify Order=N-1)。如果选择 Minimum Ord

12、er, 则MATLA根据所选择的滤波器类型自动使用最小阶数;D、Freque ncy Specificatio ns选项,可以详细定义频带的各参数,包括采样频率和频带的截止频率。它的具体选项由Filter Type 选项和Design Method选项决定。例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、 Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截 止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数 设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定,所以只需定义通带截止频率,而不

13、必定义阻带参数。E、Mag ni tude Specificatio ns选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义 Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内 的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采用窗函数设计时,通 带截止频率处的幅值衰减固定为 6db,所以不必定义。2)直接程序设计在Matlab中,对各种滤波器的设计都有相应的函数,可以用来做滤波器程序设计。比如,估计IIR数字滤波器的阶数N,相应的M文件为:buttord用于巴特沃斯滤波器, cheb1ord用于切比雪夫1型滤波器,cheb2ord用于切比雪夫2型滤波

14、器,ellipord 用于椭圆 滤波器。对于基于双线性变换法的IIR滤波器设计,对应于四种逼近技术,相应的M文件为:butter 用于巴特沃斯滤波器的设计,cheby1用于切比雪夫1型滤波器的设计,cheby2用于切比雪夫 2型滤波器的设计,ellip用于椭圆滤波器的设计。同时,利用zp2tf可以由滤波器的零极点向量和标量增益因子得到传输函数分子和分母的 系数向量。利用函数zp2sos可以得到传输函数分子和分母系数向量的二次项因子。计算出传 输函数的系数之后,可以利用M文件freqz来计算频率响应,可以利用impz来计算冲激响应。由于本设计,已经明确了要设计一个 10阶的带通Chebyshev

15、 I型滤波器,注重介绍一下 cheby1函数。利用b,a=cheby1(n,Rp,Wn,ftype )可以设计出阶数为n、截止频率为 Wn带通波纹最大衰减为Rp的数字低通滤波器。其中参数ftype的形式决定了滤波器的形式,当 它为high时得到滤波器为n阶的、截止频率为 Wn的高通滤波器。若 Wn是一个含有两个元素 向量w1 w2,则cheby1函数返回值是阶数为2n的带通滤波器的系统函数有理多项式的系数, 通带范围是w1Ww23、Simulink 仿真Simulink是Matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集 成环境。在该环境中,无需大量书写程序,而只需要通过

16、简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活 等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设 计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。g SimulEnk Lrbrary Brov/ser Erter searsti terrLibrariesLibrary: Simulink Setrch Hesulk (none)Most Freqjenlly Usd BlocksaSimulink Commcniy Used Ubcksi-Continuo

17、us i-Ciscontinuitiss!“ C-iscrelt亍Log把 and Bit Operations ?- Lc oku p Tables i - IJatti Operatons Medel Verification r-iiodekWide Jtilties I- Ports & SubBystarns !? Signal Attributese - Signal Rautirg=la Sinks討“ SourcesY Lscr-Defiled Fufictions i+ - addition3( Mith & Discrete+ ft -ero&pflct E locketC

18、ommunicatons Svsten. i + - W Compiyter Vision Systzrr . p- F 翱 ntrol Sy 5te mT&o Ibax + - CSP System Ttjoibox 一斥 匸也日 A cqu isiia n Tqc lb茁 + “吕 Embedded C?der + H Fuzzy Logic Toolbox H Gauges Bl&cfcset f kOL Verifier L ”tAcquisiti(?n TdcI&oft instrument Control Toolbox W Model Predidive Control.+ “吕

19、:heurri Ntw?rkloD)twKShowinc: SimuhnKSignal Rcutin-gCommonly U&e3SlodisGontinu-DUiDiseontinu tiDiiareLDgic ana ElirtOpeB:tion5Loo:up TaslwMathOperationsModel l*耳rifigti 口1nUtilHifliSutyft*iniSign a fi Ata bates图 3 Simulink Library Browser界面Simulink Library Browser (模型库浏览器),里面有大量的功能模块,比如示波器、力卩 法器、离散正

20、弦信号源等。而这些功能模块,都可以编辑其参数。仿真界面,新建立一个model ,就可以进入仿真界面。可以把 Simulink Library Browser 里面的功能模块拖动到 model中,也可以在FDATool滤波器设计界面把设计好的滤波器导入到 model中,然后对仿真框图进行编辑,仿真。IIR 滤波器仿真步骤:打开 Simulink Library Browser;新建一个 model;在 SimulinkLibrary Browser中找到DSF离散正弦信号源、加法器以及示波器并拖到 model中;再在FDATool 界面把设计好的IIR滤波器导入到model中;在model中编辑

21、仿真框图;在DSP离散信号模块 中设定相关参数;最后进行仿真。通过设定相关参数,观察仿真中的示波器的波形等,就可以分析出设计的IIR滤波器是否 达到要求。图4 Simulink的model仿真界面四、详细设计步骤本专业方向设计,要求分别自编Matlab程序和利用FDATool工具箱设计一个10阶的带通Chebyshev I型滤波器,其通带范围是100到200Hz,采样频率为1000Hz,幅值衰减Rp=05 并画出其幅频、相频和冲激响应。1、1)自编Matlab程序进行设计在MATLAB境下运行该程序即可得到设计的IIR滤波器的时域冲激响应。阶数为10幅值衰减为0.5频率缩放因子Wn返回H(z)

22、的分子分母系数 冲激响应n=5;Rp=0.5;Wn=100 200/500;b,a=cheby1( n,Rp,Wn); % y,t=impz(b,a,101);%stem(t,y,.); grid;xlabel(Time(msec on ds);2)在MATLAB境下运行该程序即可得到设计的n=5;Rp=0.5;Wn=100 200/500;b,a=cheby1( n,Rp,Wn); %freqz(b,a,512,1000);%ylabel(Amplitude); title(ImpulseResp on se);IIR滤波器的幅频和相频。阶数为10幅值衰减为0.5频率缩放因子Wn返回H(z)

23、的分子分母系数频率响应2、利用FDATool进行设计1)打开FDATool面板在Matlab主界面:点击左下角“Start ”选项 点击弹出界面的“Toolboxes ”选项点击弹出界面 “DSPSystem”选项 点击弹出界面 “Filter Design&Analysis Tool(fdatool)选项。通过以上步骤,便打开了 FDATool界面图5如何打开FDATool界面2)在FDATool界面中设计并保存IIR滤波器在Filter Type中选择Bandpass (带通滤波器);在 Design Method选项中选择IIR,在 相邻的右则选项中选择 Chebyshev I (切比雪

24、夫I型);指定Filter Order 项中的Specify Order=10;在 Frequency Specifications中选择 Unit 为 Hz,采样频率 Fs=1000,通带 Fpass1=100和 Fpass2=200;在 Magnitude Specifications中选择 Unit 为 db,Apass=0.5。点击 DesignFilter即可得到所设计的IIR滤波器。通过菜单选项Analysis可以在特性区看到所设计的幅 频响应、相频响应和冲击响应等特性。完成以上步骤,点击保存滤波器,保存名字为IIR_100_200.fda。3、 仿真本文通过调用Simuink中的

25、功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。1)搭建仿真图a、新建一个model在Matlab主界面新建一个model,并保存为IIRmodel.mdl ;b、打开 Simulink Library Browser在model界面的工具栏有Library Browser的图标;c、 在Simulink Library Browser中寻找器件并拖动到model仿真图需要一个 scope(Simulink/Sinks/scope示波器),两个 Sine Wav( Simulink/Sources/Sine Wave DSP 离散正弦

26、信号源),一个 Add( Sinulink/MathOperati on s/Add 加法器);d、把设计好的滤波器导入到model中FDATo o界面中“ File ” “ Export to Simuli nk Model” f “ Realize Model”;e、修改示波器scope为同时可以测试四个信号双击model中的scope,在弹出界面点击设置按钮并编辑 scope的参数“ Numberof axes”为4;f、按照图6连接各个功能模块。可 liRmodelFi le ETit Viw Simuiation Fermat Too k Help M 怎站亀 A斗廿总上32Sine

27、 WaveSirs rYavsTInpurt OutputI冋 T3C-200t匸1Re 100%ode45图6 IIR 数字滤波器仿真框图2)改变参数分别改变Sin eWave Si neWave1的参数,以用不同的信号测试所设计的滤波器的滤波效果。假定,信号s1=si n( pi*0.1* n) ;s2=si n(pi*0.2* n) ;s=s1+s3;即s为含有2个频率成分的信号(归一化频率(w/2)分别为0.05、0.1 )。可用此信号来用所设计的滤波器滤除归一化频率为0.05的成分,以此检测滤波器的滤波效果。则需要改变参数如下:a、修改仿真配置参数Configuration Para

28、meter点击菜单中的Simulation 并打开Con figuration Parameter,在弹出界面中更改仿 真时间 Simulation time 为0.0 到 1000.0 ;b、器件 Sin eWave双击Sin eWave,在弹出界面中,修改参数si ne type为time based,修改freque ncy 为0.2*pi ,sample time 改为 1 ;c、器件 Sin eWave双击SineWavel,在弹出界面中,修改参数sine type为time based,修改frequency 为0.6*pi ,sample time 改为 1 ;3)仿真改变参数继

29、续仿真所有环节都布置完成后,点击model中工具start simulation的图标进行仿真。根据仿真, 查看scope示波器中的波形,分析仿真结果,并再次改变输入信号,改变Sin eWave Sin eWave1的参数,再次进行仿真,分析直到了解了设计的IIR滤波器的滤波效果为止。五、设计结果及分析1、 自编Matlab程序设计结果运行程序,得到设计的IIR滤波器的相频、幅频以及冲击响应如下:?nJ3p_j=duuiII1iah3nIIi1415 打1Q01i0200Freituency2、FDATool界面设计结果在FDATool界面,按照要求对IIR滤波器设计完成后,点击菜单选项Ana

30、lysis下Impulse Response选项,得到IIR滤波器的冲激响应(图 9),点击菜单选项 Analysis下MagnitudeResponse选项,可以得到幅频(图 10),点击菜单选项 Analysis下Phase Response选项, 可以得到相频(图11)。_ kqputeQ2G4C4CBD12Q1401180Tm 帼4CCE0;图9 IIR数字滤波器(FDATool设计)的冲激响应hlflrfeliKfc Rcilsofw idBj仃躅疋n呵們町图10 IIR 数字滤波器(FDATool设计)的幅频Rp3*10Qiso20-C2S0迩K54004SC图11 IIR 数字滤

31、波器(FDATool设计)的相频3、分析设计的IIR滤波器根据结果可知,自编程与FDATool界面的IIR滤波器设计,得到的结果是一样的。由图8(上)和图10可知,这种滤波器在100-200HZ的通带范围内是等波纹的,而在阻带 中是单调的,这是Chebyshev I滤波器的幅频特性。由图8(下)和图11可知,在100-200Hz的范围内相移较小,其曲线近似一条直线,失真较小;当频率超过这一范围时,相移较大,而 且其曲线是非直线的,所以失真也较大。由图7和图9得到了 Chebyshev I滤波器的时域冲激响应,在5ms-100ms有冲激响应,超过这一范围的冲激响应近似为零,进而实现了Chebys

32、hevI带通滤波器的设计。4、仿真结果信号S = S1 + S2 ; S3为S滤波后的信号1)S1 的频率为 50Hz,跖=2 n?50 = 100 n,阳=罟=0.1 n;S2的频率为 100Hz,Qs2 = 2 n? 100 = 200 n, 3S2 = 学=0.2 n 仿真,得图 12 结果。fs自賂|回d員Q篷嘉百 %1U1信号S,侖注:泯菠前的信号:10015020C1.525C言号即5020C2501.S10.5005C信g盟皓主卷宴倶留的0,500l51.520C20C2501 me oisei: zso1.510i500.5_iL_100150100图12 3S1 = 0.1 n 3S2 = 0.2的仿真结果由上图可以看出信号S经过滤波后,信号的频率大致为100Hz即滤波后的信号与S2大致相同2)S1 的频率为 300Hz, Qsi = 2 n?300 = 600 n,隔=善=0.6 n;S2的频率为 150Hz,Qs2Qs2 = 2 n? 150 = 300 n,隔2 =寻=0.3 n 仿真,得图 13 结果。图133S1 = 0.6 n 3S2 = 0.3的仿真结果由上图可以看出信号S经过滤波后,信号的频率大致为150Hz,即滤波后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论