完整版)基于Matlab的FIR滤波器的设计与仿真_第1页
完整版)基于Matlab的FIR滤波器的设计与仿真_第2页
完整版)基于Matlab的FIR滤波器的设计与仿真_第3页
完整版)基于Matlab的FIR滤波器的设计与仿真_第4页
完整版)基于Matlab的FIR滤波器的设计与仿真_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、西南科技大学通信原理设计报告课程名称:通信原理课程设计设计名称:数字FIR滤波器设计与仿真分析姓名:XXXXXX学号:XXXXXXXX班级:XXXXXXXXXXX指导教师: XXXXXX起止日期: 2014/6/26 2014/7/5西南科技大学信息工程学院制方向设计任务书学生班级: XXXXXXX学生姓名:XXXXXX学号: XXXXXXXXX设计名称:数字FIR滤波器设计与仿真分析起止日期: 2014/6/22-2014/7/5 指导教师: XXXXXXXX设计要求:理解数字FIR滤波的设计原则及方法,设计一个通带截止频率5M,阻带起始频率8M采 样率40M的数字低通滤波器,带外衰减不低于

2、-60dB。要求如下:(1)设计滤波器,得到相关参数;(2)基于寄存器乘加结构完成滤波器设计;(3)给出频响曲线。方向设计学生日志时间设计内容2014/6/22-2014/6/24学习数字信号处理教程,特别是关于FIR数字滤波器的部分2014/6/24-2014/6/26学习MATLA应用软件,特别是其信号处理箱和 Simuink2014/6/26-2014/7/1分析FIR数字滤波器的传统设计方法2014/7/2分别在MATLAB编程设计和利用FDATool来设计FIR滤波器2014/7/3对设计的FIR进行仿真并分析2014/7/4完成专业设计报告的撰写2014/7/5答辩数字FIR滤波器

3、设计与仿真分析一、摘要传统的数字滤波器设计计算繁琐,尤其是设计高阶滤波器时工作量大,利用Matlab可以快速有效地实现数字滤波器的设计与仿真。本文介绍了有限长单位冲激响应 FIR数字滤波器的传 统设计思想和步骤,同时也介绍了利用MATLAB寸FIR数字滤波器进行设计的方法、设计的操作步骤以及对设计的滤波器的仿真。二、设计目的和意义1. 通过此次专业方向设计,了解有限长单位冲激响应FIR数字滤波器的传统设计方法;2. 了解Matlab信号处理箱并掌握FDATool专用滤波器设计分析工具;3. 学习如何使用Matlab,学会用Matlab解决实际问题。三、设计原理数字滤波器,是具有一定传输选择特性

4、的数字信号处理装置,其输入和输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。可以把它理解为是一个计算程序或 算法,它把代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按照预定的形式变化。数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器, 根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR )和有限长冲激响应滤波器(FIR)。1. 有限长冲激响应滤波器FIR滤波器及其传统设计方法FIR滤波器的单位冲击响应是有限长的,h(n)在三二三1范围内有值,其系统函数为- Z - ,它是

5、的(N-1)阶多项式,H(z)在有限z平面(,二|打匚B )有N-1 个零点;在z平面原点z=0处有N-1阶极点。2. FIR滤波器的Matlab设计Matlab是MATHWORK司推出的一套面向科学和数值计算的可视化语言,它集数值分析、 矩阵运算、信号处理和图形显示于一体,是一个高度集成系统具有友好的用户界面和良好的帮 助功能。Matlab 自带的信号处理工具箱(Signal Processing Toolbox )具有强大的信号处 理和分析功能,利用 Matlab软件优越的数字分析及仿真功能,对理解数字滤波器及数字滤波 具有一定参考价值。图1 Matlab 2007b 主界面Matlab的

6、信号处理工具箱中,提供了一整套模拟、数字滤波器的设计命令和运算函数, 方便准确,简单易行,使得设计人员除了可按上述传统设计步骤快速地进行较复杂高阶选频滤 波器的计算、分析外,还可通过原型变换法直接进行各种典型数字滤波器设计,即应用Matlab设计工具从模拟原型直接变换成满足原定频域指标要求的数字滤波器。Matlab有两种途径来设计FIR数字滤波器,分别为FDATool界面设计和直接程序设计。1)FDATool界面设计FDATool是Matlab信号处理工具箱里专用的滤波器设计分析工具,其界面为滤波器的设 计提供了一个交互式的设计环境,用户进行参数设置后,可以设计几乎所有的基本常规滤波器, 包括

7、IIR和FIR的各种设计方法,操作简单,方便灵活。FDATool界面总共分两大部分,一部分是 Desig n Filter,在界面的下半部,用来设置滤波器的设计参数;另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:A、 Response Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、 Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。B、Design Method(设计方法)选项,包括IIR滤波器的Butterwotth(巴特沃思)法、 Chebyshev Type I(切比雪夫

8、I 型)法、Chebyshev Type II(切比雪夫 II 型)法、Elliptic( 椭 圆滤波器)法和FIR滤波器的Equiripple 法、Least-Squares(最小乘方)法、Window(窗函数) 法;4BJ Fiiltrr Drigp & Analysis *nol - urrtriled.fdlaFil p Ecit 含5鼻|严缶 Tjrg脚JHIpD Q Q 3LAEET3 IP)瓦1田昂吃i tn厂岳J u O E s 愛l 匚urrenl FitiHr rifwniarfcim.Fftrir 5prr.帀匚rlimsErxUJre Oida- Shbte- SoLr

9、ceCct-Fcrm FRSkrcFitaiFI1& iMar鬥壬*r-HJ jq -IL:H30rriLiJ5 L;ceolicetiir!&BuBEronfia EwripdeRadyLawHigfrpBrEITBans? KeUnto: _eLensty Feeler. 2DFtSIOPI2Q0CI rter OrthiEtSDi*/ or耋仁0 ln muTi cr dgrFftciLicrc/ apse; itCBt ohiLnrs: hzFi 48L0QYes re5iiBd图2 FDATool界面C、Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括 Specif

10、y Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤 波器,Specify Order=N-1)。如果选择Minimum Order,贝U MATLA根据所选择的滤波器类型 自动使用最小阶数;D Frequency Specifications选项,可以详细定义频带的各参数,包括采样频率和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定。例如Bandpass(带 通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上 限截

11、止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。 采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定,所以只需定义通带截 止频率,而不必定义阻带参数。E、Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义 Wstop1(频率Fstop1处的幅值衰减)、Wpass通带范围内的幅值衰减)、Wstop2(频 率Fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。3.Simuli nk 仿真Simulink是Matlab最重

12、要的组件之一,它提供一个动态系统建模、仿真和综合分析的集5成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复 杂的系统。Simuli nk具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活 等优点,并基于以上优点 Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设 计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。图 3 Simulink Library Browser 界面Simulink Library Browser(模型库浏览器),里面有大量的功能模块,比如示波器、力卩法器、离散正弦信号源等。而这些功能模

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

14、信号模块 中设定相关参数;最后进行仿真。通过设定相关参数,观察仿真中的示波器的波形等,就可以分析出设计的IIR滤波器是否 达到要求。in r?Sine W吐看&Sine 的 3vs 1 +DigitalFiltef Duign4O*Scsc-elinIturSi ne Wave2图4 Simulink的model仿真界面4. 窗函数法设计FIR数字滤波器设我们所要设计的FIR滤波器的传输函数是 凤炉乜,給功是与其对应的单位脉冲响应,因此Hd ejhd n e j nn(4-1)hd n oHd ejej nd2(4-2)如果我们能够在 氓加冷已知的情况下,求出冷初,经过Z变换可得到滤波器的系统

15、函数。通 常情况下理想数字滤波器的单位脉冲相应hd(n)是无限长的,且是非因果序列。获得有限脉冲响应滤波器的一种可能方法是对 试/問截取一段痢碱:来近似代替-,可是这样会改变原来 的滤波器指标,出现吉布斯效应误差。窗函数法就是用被称为窗函数的有限加权序列w(n)来修正式(1)的傅里叶基数以求得要求的有限脉冲响应序列h(n),即h(n) hd(n)w( n)(4-3)w(n)是有限长序列,当nN-1时,w(n)=O。这种方法的重点在于选择某种合适的窗函数。要求窗函数主瓣宽度尽可能窄,以获得最小的过渡带:旁瓣相对值尽可能小,以使得通带波纹小,并且阻带衰减 大。F面介绍几种常用的窗函数:201 .矩

16、形窗(Rectangle Window)其频率函数为:WR nrn(4-4)Wr ejsinN 2 sin 2(4-5)2. 三角形窗(Bartlett Window)其频率函数为:wBr n2n012nN 1(4-6)WBr ej2 sin N 4N sin 2N 12(4-7)3. 汉宁(Hanning)窗,又称升余弦窗WHn ncos(4-8)利用傅里叶变换得到频率函数WHn当N时,N 10.5Wr 0.25WRWrN 12(4-9),所以窗函数的幅度函数为0.5Wr0.25 Wr.N 1 e(4-10)4. 汉明(Hamming)窗,又称改进的升综WHm n 0.54 DES 鴛Rn(

17、4-11)其幅度函数为:上述窗函数的基本参数如下表窗函数旁瓣峰值幅度/db过度宽带阻带最小衰减/db矩形窗-134 n /N-21三角形窗-268n /N-25汉宁窗-318n /N-44汉明窗-408n /N-53布莱克曼窗-5712n /N-74凯泽窗-5710n /N-80表1窗函数基本参数表Wdrn0.54W,0.23 WR(4-12)5 布莱克曼(Biankman)窗,又称二阶升余弦窗WB(n)0.42 o.5cos 去0.08CO畔1 Rn(4-13)其幅度函数为:Wb()0.42Wr0.25 WR0.04 W(4-14)6.凯泽(Kaiser)窗IoWk n -112nN 12,

18、0其中:B是一个可自由选择的参数,Io(x)(4-15)是第一类修正零阶贝塞尔函数7,窗函数法设计滤波器的步骤:1)根据技术要求确定待求滤波器的单位取样响应二務询2)根据对过渡带和阻带衰减的要求,选择窗函数旳形式,并估计窗口长度No3)计算滤波器的单位取样响应二:(4-16)h n hd n n式中,能耶蔚是前面所选择好的窗函数检验技术指标是否满足要求。根据下式计算:N 1(4-17)H ejh n en 0如果理性不满足要求,根据具体情况重复步骤(2)(3)(4)步,直到满足要求为止四、详细设计步骤1. 自编Matlab程序进行设计本专业方向设计,要求分别自编Matlab程序和利用FDATo

19、ol工具箱设计一个10阶的低通 FIR数字滤波器,通带截止频率5M,阻带起始频率8M采样频率40M的数字低通滤波器,带外 衰减不低于-60dB,并画出其幅频、相频和冲激响应。1)在MATLAB境下运行该程序即可得到设计的 FIR滤波器的时域幅频、相频和冲激响应 将模拟频率转换成数字频率Wp=0.25*pi;%Ws=0.4*pi;将模拟频率转化为数字频率Wdel=Ws-Wp;%边带宽度N=ceil(11*pi/Wdel); %向上取整,计算阶数Wn=(0.4+0.25)*pi/2; %归一化wnwin dow=blackma n(N+1);%设置为布莱克曼窗,带外衰减要求为 60db b=fir

20、1(N,Wn/pi,w in dow); %N为理想滤波器阶数freqz(b,1)%频响特性2. 利用FDATool进行设计1)打开FDATool面板在Matlab主界面:点击左下角“ Start ”选项点击弹出界面的“ Toolboxes ”选项点击弹出界面“ DSP System”选项 点击弹出界面“ Filter Design&AnalysisTool(fdatool) ”选项。通过以上步骤,便打开了FDATool界面。Cur oilitn In伯EcrtuiStructure Oroct-Fcrrw FIROrcfer20stabe:YesSere Fife-.尸 Magrrfucls

21、 Rcsponac (:)ilxiwig臂.Hghpss5-亦帕dpDtfersrrt-iatiXL 閘PWM FyW. Design Mefrccsjierworlhl Fitor Crdore Htcify trdcr:二DMkihruni orderL OollcmDsrisCy Faclcir 丄rroquorio p耶对丽口哺汕歎nMagrwfudo ciiicatiorbo.Enter wcicht:网g for escti tert Ibetow训中朋口: “Wstap- 60Q FF =9MF|ppid图4 FDATool设计界面1)在FDATool界面中设计并保存FIR滤波器

22、在 ResponseType中选择 Lowpass,在 Design Method中选择 FIR 中的 Equiripple,在 Fliter order 中选择 Specify order 并赋值 10,在 option 中的 Density Factor 赋值 20,在 Frequency Specification的Unit选项选择 MHZFs(采样频率)为40, Fpass (通带截止频率)为5,Fstop(阻带起始频率)为 8。在Magnitude Specifications 的 Wpass(通带衰减)赋值为1,Wstop (阻带衰减)赋值为60,。点击Design Filter即

23、可得到所设计的FIR滤波器。通过菜单选项Analysis可以在特性区看到所设计的幅频响应、相频响应和冲击响应等特性。完成以上步骤,点击保存滤波器,保存名字为FIR_100_200.fda。3. 仿真本文通过调用Simuink中的功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。1)搭建仿真图a. 新建一个 model在Matlab主界面新建一个 model,并保存为lIRmodel.mdl ;b. 打开 Simulink Library Browser在model界面的工具栏有 Library Browser 的图标;c. 在Simul

24、ink Library Browser中寻找器件并拖动到 model仿真图需要一个 scope (Simulink/Sinks/scope示波器),三个 Sine Wave (Simulink/Sources/Sine Wave DSP离散正弦信号源),一个 Add( Sinulink/Math Operations/Add 加d. 把设计好的滤波器导入到model中FDATool界面中“ File ” 一 “Export to Simulink Model” f “Realize Modele. 从matlab 主界面启动 simulink ,new一个 model,找至U signal p

25、rocesingblockset-filter desig ns,添加一个 FDAToo 模块,如图所示:f. 按照图6连接各个功能模块。图6 IIR 数字滤波器仿真框图1)改变参数分别改变SineWaveSineWave1的参数,以用不同的信号测试所设计的滤波器的滤波效果。假定,信号 s1=sin( - J;s2=sin(.二); s=s1+s3+s2;a. 修改仿真配置参数Configuration Parameter点击菜单中的Simulation 并打开Configuration Parameter,在弹出界面中更改仿真时 间 Simulation time 为 0.0 到0.1,并将

26、 slover 选项改为 discrete (XXXX ;b. 器件 Sin eWave双击Sin eWave在弹出界面中,修改参数 sine type 为time based,修改freque ncy为-*pi ,sample time 改为-上 -;c. 器件 Sin eWave双击SineWavel,在弹出界面中,修改参数 sine type 为time based,修改frequency为:_ ; *pi , sample time 改为 1 I 2)仿真改变参数继续仿真所有环节都布置完成后,点击modeI中工具start simulation的图标进行仿真。根据仿真, 查看scope

27、示波器中的波形,分析仿真结果,并再次改变输入信号,改变Sin eWave Sin eWave1的参数,再次进行仿真,分析直到了解了设计的FIR滤波器的滤波效果为止。五、设计结果及分析1. FDATool界面设计结果在FDATool界面,按照要求对IIR滤波器设计完成后,点击菜单选项Analysis下ImpulseResponse选项,得到FIR滤波器的冲激响应(图 9),点击菜单选项 Analysis下MagnitudeResponse选项,可以得到幅频(图 10),点击菜单选项 Analysis下Phase Response选项,可以得到相频(图11)Impulse Resp onse图7

28、FIR数字滤波器(FDATool设计)的冲激响应n g aMMagn itude Resp onse (dB)图8 FIR数字滤波器(FDATool设计)的幅频.ton PKQarc es aB-120Phase Response246 8 10 12Freque ncy (MHz)141618-2-4-8o图9 FIR数字滤波器(FDATool设计)的相频2.自编Matlab程序设计结果50eunnM0-50-1500-1000-30000.10.20.30.40.50.60.70.80.9Normalized Freque ncy ( rad/sample)17卜/yvn c 厂、H1 :

29、j -1000.10.20.30.40.50.60.70.80.9Normalized Freque ncy ( rad/sample)J、 ,、卜4卜-W7L rjrrm; -2000图10 FIR数字滤波器(自编程序设计)的相频和幅频3.仿真结果1.51C2350 02350.02350 02350.02360.02:60.D2360023610236|Tie cnsa o图11仿真前的信号si和s2波形图12仿真后滤波的信号波形以及混叠后的波形由上图可以看出信号S经过滤波后,信号的频率大致为-:Hz,即滤波后的信号与 S1 大致相同。六、总结与体会总体而言,FIR数字滤波器传统设计方法虽然有众多优点,但其计算非常繁琐。利用MATLAB 设计滤波器,使原来非常繁琐复杂的程序设计变成了简单的函数调用,为滤波器的设计和实现开辟了广阔的天地,尤其是 Matlab工

温馨提示

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

评论

0/150

提交评论