版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通信工程专业课程设计IIFIR数字滤波器的设计张欣(陕西理工学院物电学院通信092班,陕西 汉中 723003)指导教师:郑争兵 摘 要 FIR数字滤波器:有限长单位冲激响应滤波器,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。基于DSP Builder对FIR 数字滤波器进行设计,根据FIR低通数字滤波器的原理与滤波特性,通过MATLAB/Simulink软件模拟一定性能的FIR滤波器频率响应与抽头系数,实现用软件描述硬件的动作及其功能。结合DSP Builder产生图形化建模仿真,分析此模型的正确性,进行参数设置,获得理想的滤波
2、效果。最后通过SignalCompiler把Silmulink的模型文件转换成硬件描述语言VHDL文件,用QuartusII仿真下载,验证设计结果。关 键 词 VHDL; MATLAB; FIR数字滤波器; 仿真中图分类号 TN702 文献标志码 A Design of FIR digital filtersZhang xin(Grade06,Class1,Major of Communication Engineering,School of Physics and Telecommunication Engineering Shaanxi University of Technology,
3、 Hanzhong 723003,China)Tutor:Zheng ZhengbingAbstract FIR digital filter: a finite impulse response filter, it can ensure that any increase in the frequency characteristics of both a strict linear phase frequency characteristics, while its unit sample response is finite, and therefore the system filt
4、er is stable. Based on the DSP Builder of FIR digital filter design, according to the FIR low-pass digital filter principle and filtering characteristics, through the MATLAB / Simulink software simulation of certain properties of the FIR filter frequency response and the tap coefficients, using soft
5、ware to describe the action and function of the hardware. Combined with DSP Builder to produce graphic modeling simulation, analysis of the correctness of the model, parameter setting, obtain ideal filtering effect. Finally through the SignalCompiler Silmulink model file is converted into a hardware
6、 description language VHDL file, using QuartusII simulation, validation of design results.Key words:VHDL; MATLAB; FIR Digital filter; simulation29目 录FIR数字滤波器的设计IAbstrctII目 录11.绪 论21.1课题背景21.1.1数字滤波器21.1.2 DSP Builder软件及开发流程41.1.3 MATLAB技术现状61.2滤波器研究现状72.FIR滤波器原理及设计方案82.1 FIR数字滤波器原理82.2设计方案选择102.2.1方
7、案一:FIR IPCore102.2.2方案二:VHDL语言102.2.3方案三:DSPBuilder103.滤波器的设计113.1 8阶常系数FIR数字滤波器设计113.1.1设计过程123.1.2滤波器仿真结果133.2 16阶常数FIR滤波器设计143.2.1 设计过程143.2.2滤波器仿真结果163.3 基于Matlab的滤波器设计工具,获得滤波器系数173.4基于(IP)核的滤波器设计203.4.1设计过程203.4.2滤波器仿真结果24结论25致谢27参考文献281.绪 论1.1课题背景1.1.1数字滤波器在许多信息处理过程中,如对信号的过滤、检测、预测等,都要广泛地用到滤波器,
8、而数字滤波器则因其设计灵活、实现方便等特点而广为接受。所谓数字滤波器就是具有某种选择性的器件、网络或以计算机硬件支持的计算程序。其功能本质是按事先设计好的程序,将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列,从而改变信号的形式和内容,达到对信号加工或滤波以符合技术指标的要求。若滤波器的输入、输出都是离散时间信号,那么,该滤波器的冲击响应(或滤波因子)也必然是离散的,我们称这样的滤波器为数字滤波器(Digital Filter,DF)。当用硬件实现一个DF时,所需的元件是延迟器、乘法器和加法器。当在计算机上用软件实现时,它就是一段线性褶积(或卷积)的程序。我们知道,模拟滤波器(A
9、nalog Filter,AF)只能用硬件来实现,其元器件是R,L,C及运算放大器或开关电路。因此,DF的实现要比AF容易的多,而且易获得较为理想的效果。滤波器的种类很多,分类方法也不同,如可以从功能上分,也可以从实现方法上分,或从设计方法上来分等等。但总的来说,滤波器可以分为两大类,即经典滤波器和现代滤波器。经典滤波器是假定输入信号x(n)中的有效信号和噪声(或干扰)信号成分各在不同的频带,当x(n)通过一个线性滤波系统后,可以将欲噪声信号成分有效地去除。可是,如果有效信号和噪声信号的频率带相互重叠,那么经典的滤波器将无能为力。现在的地质雷达信号处理中的滤波器主要采用经典的滤波器进行处理。因
10、此有时滤波效果较好,有时较差。现代滤波理论研究的主要内容是从含有噪声的数据记录(又称为时间序列)中估计出信号的某些特征或信号本身。一旦信号被估计出,那么估计出的信号将比原信号会有高的信噪比。现代滤波器把信号和噪声都视为随机信号,利用它们的统计特征(如自相关函数、功率谱函数等等)导出一套最佳的估值算法,然后用硬件和软件实现。目前现代滤波器主要有:维纳滤波器、卡尔曼滤波器、线性预测器、自适应滤波器等。数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多技术最复杂的要算
11、数字滤波器了。数字滤波器的优劣直接决定产品的优劣。数字滤波器的应用现状与发展趋势: (1) 语音处理 语音处理是最早应用数字滤波器的领域之一,也是最早推动数字信号处理理论发展的领域之一。该领域主要包括5个方面的内容:第一,语音信号分析。对第二,语音合成。即利用专用数字硬件或在通用计算机上运行软件来产生语音;第三,语音识别。即用专用硬件或计算机识别人讲的话,或者识别说话的人;第四,语音增强。即从噪音或干扰中提取被掩盖的语音信号。第五,语音编码。(2) 图像处理数字滤波技术以成功地应用于静止图像和活动图像的恢复和增强、数据压缩、去噪音和干扰、图像识别以及层析X射线摄影,还成功地应用于雷达、声纳、超
12、声波和红外信号的可见图像成像。(3) 通信在现代通信技术领域内,几乎没有一个分支不受到数字滤波技术的影响。采用数字滤波器,特别是在数字通信、网络通信、图像通信、多媒体通信等应用中,离开了数字滤波器,几乎是寸步难行。其中,被认为是通信技术未来发展方向的软件无线电技术,更是以数字滤波技术为基础。(4) 电视数字电视取代模拟电视已是必然趋势。高清晰度电视的普及指日可待,与之配套的视频光盘技术已形成具有巨大市场的产业;可视电话和会议电视产品不断更新换代。(5) 雷达雷达信号占有的频带非常宽,数据传输速率也非常高,因而压缩数据量和降低数据传输速率是雷达信号数字处理面临的首要问题。告诉数字器件的出现促进了
13、雷达信号处理技术的进步。(6) 声纳声纳信号处理分为两大类,即有源声纳信号处理和无源声纳信号处理,有源声纳系统涉及的许多理论和技术与雷达系统相同。 (7) 生物医学信号处理 数字滤波器在医学中的应用日益广泛,如对脑电图和心电图的分析、层析X射线摄影的计算机辅助分析、胎儿心音的自适应检测等。(8) 音乐数字滤波器为音乐领域开辟了一个新局面,在对音乐信号进行编辑、合成、以及在音乐中加入交混回响、合声等特殊效果特殊方面,数字滤波技术都显示出了强大的威力。 数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛地应用于各个科学技术领域, 例如数字电视、语音、
14、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,在前面部分已经提到,这些都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。1.1.2 DSP Builder软件及开发流程DSP Builder是一个系统级(或算法级)设计工具,它构架在多个软件工具之上,并把系统级和RTL级两个设计领域的设计
15、工具连接起来,最大程度地发挥了两种工具的优势。DSP Builder依赖于Math Works公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simulink中进行图形化设计和仿真,同时又通过Signal Compiler可以把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。而对后者的处理可以由FPGA/CPLD开发工具Quartus II来完成。 DSP Builder是Altera推出的一个数字信号处理(DSP)开发工具,它在Quartus FPGA
16、设计环境中集成了MathWorks的Matlab和Simulink DSP开发软件。Altera的DSP系统体系解决方案是一项具有开创性的解决方案,它将FPGA的应用领域从多通道高性能信号处理扩展到很广泛的基于主流DSP的应用,是Altera第一款基于C代码的可编程逻辑设计流程。 Altera可编程逻辑器件(PLD)中的DSP系统设计需要高级算法和HDL开发工具。Altera DSP Builder将The MathWorks MATLAB和Simulink系统级设计工具的算法开发、仿真和验证功能与VHDL综合、仿真和Altera开发工具整合在一起,实现了这些工具的集成。 DSP Builde
17、r在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期。已有的MATLAB函数和Simulink模块可以和Altera DSP Builder模块以及Altera知识产权(IP)MegaCore功能相结合,将系统级设计实现和DSP算法开发相链接。DSP Builder支持系统、算法和硬件设计共享一个公共开发平台。 设计人员可以使用DSP Builder模块迅速生成Simulink系统建模硬件。DSP Builder包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等基本操作。可以使用DSP Builder模型中的MegaCore功能实现复杂功能的集成。
18、 Altera还提供DSP Builder高级模块集,这一Simulink库实现了时序驱动的Simulink综合。 Altera MegaCore是高级参数化IP功能,例如有限冲击响应(FIR)滤波器和快速傅立叶变换(FFT)等,经过配置能够迅速方便的达到系统性能要求。MegaCore功能支持Altera的IP评估特性,使您在购买许可之前,便可以验证功能及其时序。 Altera IP MegaStore网站上为DSP Builder和IP评估流程提供DSP IP完整介绍 DSP Builder SignalCompiler模块读取由DSP Builder和MegaCore模块构建的Simuli
19、nk建模文件(.mdl),生成VHDL文件和工具命令语言(Tcl)脚本,进行综合、硬件实施和仿真。下图所示为DSP Builder设计流程: 1.1.3 MATLAB技术现状 Matlab 是美国 MathWorks 公司自 20 世纪 80 年代中期推出的数学软件,优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。到目前为止,其最高版本 6.0 版已经推出。随着版本的不断升级,它在数值计算及符号计算功能上得到了进一步完善。 Matlab 已经发展成为多学科、多种工作平台的功能强大的大型软件。在欧美等高校, Matlab 已经成为线性代数、自动控制理论、概率论及数理统计、数
20、字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具,是攻读学位的大学生、硕士生、博士生必须掌握的基本技能。Matlab 的主要特点是: 有高性能数值计算的高级算法,特别适合矩阵代数领域;有大量事先定义的数学函数,并且有很强的用户自定义函数的能力;有强大的绘图功能以及具有教育、科学和艺术学的图解和可视化的二维、三维图;基于 HTML 的完整的帮助功能; 适合个人应用的强有力的面向矩阵 ( 向量 ) 的高级程序设计语言;与其它语言编写的程序结合和输入输出格式化数据的能力;有在多个应用领域解决难题的工具箱。Matlab作为一个数值运算软件和仿真工具正在越来越多的领域中得到不同程度的应用,
21、下面的内容估计还可以大大的扩张。主要应用领域:1工程运算2控制系统设计3 DSP系统和通讯系统设计4测量与测试5图形处理6金融建模与分析应用。传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。利用MATLAB信号处理工具箱(Signal Processing Toolbox)可以快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用MATLAB语言进行程序设计和利用信号处理工具箱的FDATool工具进行界面设计的详细步骤。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。
22、MATLAB是一种功能强大的数据分析和工程计算高级语言,在工业、电子、信号处理、医学、建筑以及航空等领域有着广泛的应用。Altera的DSP Builder是连接MATLAB中的Simulink和Quartus开发软件的DSP开发工具,在它的实际应用中,FIR滤波器是最为常用的模块之一,而且基于DSP Builder的FIR滤波器设计方式有很多种。基于Matlab 的Web 应用原理,在信号分析和诊断上也可应用,例如文献资料证明,可以利用这一原理开发远程信号分析与诊断系统,其中包含频谱分析、相关分析、时序分析、小波分析、小波包含分析、时频分析、机械图像分析以及远程智能诊断系统,该系统能充分利用
23、Matlab 强大的信号分析和工程计算能力,充分发挥Matlab 的平台良好的扩展性,以及对硬件和数据库的操作性,实现更高级的功能。1.2滤波器研究现状数字信号实际上是用数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列;而图像信号经采样和量化后,得到的数字信号是一个二维离散空间序列。数字信号处理,就是用数值计算的方法对数字序列进行各种处理,把信号变换成符合需要的某种形式。例如,对数字信号经行滤波以限制他的频带或滤除噪音和干扰,或将他们与其他信号进行分离;对信号进行频谱分析或功率谱分析以了解信号的频谱组成,进而对信号进行识别;对信号进行某种变换,使之更适合于传输,
24、存储和应用;对信号进行编码以达到数据压缩的目的,等等。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。数字滤波器的实现,大体上有如下几种方法:(1) 在通用的微型机上用软件来实现。软件可以由使用者自己编写或使用现成的。自IEEE DSP Comm.于1979年推出第一个信号处理软件包以来,国外的研究机构、公司也陆续推出不同语言不同用途的信号处理软件包。这种实现方法速度较慢,多用于教学与科研。(2) 用单片机来实现。目前单片机的发展速度很快,功能也很强依靠单片机的硬件环境和信号处理软件可用于工程实际,如数字控制、医疗仪器等。(3) 利用专门用于信号处
25、理的DSP片来实现。DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器、累加器,采用流水线工作方式及并行结构,多总线,速度快,配有适于信号处理的指令等,DSP芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。2.FIR滤波器原理及设计方案2.1 FIR数字滤波器原理 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。不论是窗函数设计法,还是频率抽样设计法,都要求出滤波器的单位冲激响应h(n),然后才能在时域中实现频域中的滤波。1.滤波系数的差分方程 在频域,当其输入信号为X(ej)时,如滤波器的频率响应为H(
26、ej),则其输出信号为Y(ej)=X(ej)H(ej)。在时域,设滤波器的单位冲激响应h(n)为一N点序列,即0nN-1时h(n)的值不为零,根据离散傅氏变换的性质,则可以将滤波器的输入序列x(n)的响应y(n)表示为x(n)与h(n)的卷积和,即:这就是滤波系统的差分方程,它给滤波器的实现奠定了理论基础。即求出时域的h(n)后,便可通过卷积来实现频域的滤波。2.卷积和运算的实现 FIR数字滤波器的设计组成结构如下图所示:(1) h(n)序列N个点数值的存储由于h(n)是根据滤波性能要求已经设计好的有限长单位冲激响应,故其N个点的数值是已知的,因此可以存放在ROM或RAM当中,且对应着N个不同
27、的地址,便于寻址。(2) 输入序列x(n)的移位寄存 输入序列x(n)是不断变化的,因此只能对其进行移位寄存,寄存器的个数为N,即N个寄存器中分别存放着x(n)、x(n-1)x(n-N+1),它们都随着n的变化而变化。(3) 乘法器 用以完成两个数值的乘法,即h(m)x(n-m),也就是将存储器中N地址所对应的N个固定数值h(m)分别与N个移位寄存器中的不断变化的N个变化数值x(n-m)相乘。 (4) 累加器 用以实现N个乘积的累加,即将当前x(n)所对应的N个乘积进行累加,所得到的和就是y(n)。当滤波器的下一个输入值即x(n +1)到来时,累加器清零,并重新将下一组x(n +1)所对应的N
28、个乘积进行累加,所得到的和就是y(n +1)。2.2设计方案选择2.2.1方案一:FIR IPCore 首先要安装Altera公司的FIR IPCore,并利用QuartusII软件打开IP Toolbench完成FIR的参数设置;然后通过摸/数转换器(ADC)采集模拟信号并将数据送给FIR数字滤波器进行处理。利用QuartusII完成整个设计,最后下载并进行测试,利用嵌入式逻辑分析仪观测FIR滤波器的输入输出数据之间的关系。本实验的模拟信号使有DDS产生的。2.2.2方案二:VHDL语言由Matlabb计算FIR数字滤波器的滤波系数,再进过VHDL语言设计逻辑电路,再通过QuartusII软
29、件,将各个模块软件封装成期间,在顶层设计中通过连线,完成整个系统。最后仿真下载,观察对比。2.2.3方案三:DSPBuilder由滤波器原理的得出方案的框图,如图2.2.3所示,根据框图可以完成实验设计。使用MATLAB计算滤波器系数DSP Builder中根据要求画出滤波器的结构图DSP Builder图中填入相关的系数DSP Builder中导出滤波器VHDL语言设计建立Quartus中的模块图2.2.3 DPSBulider方案设计 经过方案的对比,方案一和方案二的设计过程都比较繁琐,中间涉及一些生疏的知识环节不利于设计工程的顺利进行,尤其VHDL语言程序设计要求语法正确、结构完整,给模
30、块设计和顶层文件设计带来诸多不便。但是,方案三的实际过程简便,易于错误修改,仿真运行结果清晰,即使初学者也能进行独立的操作和设计。最终我们小组决定采用方案三完成FIR数字滤波器的设计。3.滤波器的设计3.1 8阶常系数FIR数字滤波器设计假定一个8阶的FIR滤波器,其h(n)可以表示为:h(0)=269h(1)=395h(2)=470h(3)=511其中: h(4)=511 C是量化时附加的因子h(5)=470h(6)=395h(7)=2693.1.1设计过程 1)启动Matlab软件,打开Simulink Library Browser界面,建立一个新的模型文件,保留并命名为FIR8.mdl
31、。2)如图3.1.1.1所示,拖入相应的模块,然后按图所示连接电路。 Incerment Decrement模块:参数“Bus type”设为“Unsigned Integer” “Numer of bits”设为“20” 参数“Drection”设为“Increment” BusConversion模块:参数“Input Bus Tipe”设为“Unsigned Integer” 参数“Inputnumber of bits”设为“20” 参数“Outputnumber of bits”设为“13”Parallel Adder Subtractor模块:参数“Number of input
32、”设为“2” “Add(+)Sub(-)”设为“+” 参数“Clock Phase Slection”设为“1”Phaseword1模块:参数“Bus type”设为“Unsigned Integer” “Numer of bits”设为“16” 参数“Node Type ”设为“Integer Node ”BusConversion模块:参数“Input Bus Tipe”设为“Unsigned Integer” 参数“Inputnumber of bits”设为“16” 参数“Outputnumber of bits”设为“8” “Input Bit Connected to Output
33、 LSB”设为“8”Delay模块: 参数“Depth”设为“1” 参数“Clock Phase Slection ” 设为“1”图3.1.1.1 7阶常数滤波器 上部分为扫频电路模型,下部分为滤波器模型。3)设置仿真参数 本模型添加了SimulinkSkinsScope模块,用与查看相应的位选信号的产生结果,选中其中的“Data history”,把Limit data points to tast:设为100000。 选择Simulion菜单下的configuration parameters进行仿真参数的相应设置,在弹出的窗口中,stop time设置为100000,然后单击“OK”。4
34、)保存FIR8模型并进行仿真选择Simulation菜单下的Start项,或按下Ctrl+T键开始启动仿真。3.1.2滤波器仿真结果如图3.1.2所示:图3.1.2 常数FIR滤波器仿真波形 所设计为8阶FIR低通滤波器,观察以上仿真波形可知,滤波器对低频信号的衰减较小,信号的频率越高,滤波器对信号的衰减越大。由此可知所涉及的滤波器性能良好,滤波效果明显。3.2 16阶常数FIR滤波器设计3.2.1 设计过程1)启动Matlab软件,打开Simulink Library Browser界面,建立一个新的模型文件,保留并命名为FIR16.mdl。2)如图2.3.2.1所示,拖入相应的模块,然后按
35、图所示连接电路。图3.2.1 16阶FIR滤波器Incerment Decrement模块:参数“Bus type”设为“Unsigned Integer” “Numer of bits”设为“20” 参数“Drection”设为“Increment” BusConversion模块:参数“Input Bus Tipe”设为“Unsigned Integer” 参数“Inputnumber of bits”设为“20” 参数“Outputnumber of bits”设为“13”Parallel Adder Subtractor模块:参数“Number of input ”设为“2” “Add
36、(+)Sub(-)”设为“+” 参数“Clock Phase Slection”设为“1”Phaseword1模块:参数“Bus type”设为“Unsigned Integer” “Numer of bits”设为“16” 参数“Node Type ”设为“Integer Node ”BusConversion模块:参数“Input Bus Tipe”设为“Unsigned Integer” 参数“Inputnumber of bits”设为“16” 参数“Outputnumber of bits”设为“8” “Input Bit Connected to Output LSB”设为“8”D
37、elay模块: 参数“Depth”设为“1” 参数“Clock Phase Slection ” 设为“1”3)设置仿真参数 本模型添加了SimulinkSkinsScope模块,用与查看相应的位选信号的产生结果,选中其中的“Data history”,把Limit data points to tast:设为100000。 选择Simulion菜单下的configuration parameters进行仿真参数的相应设置,在弹出的窗口中,stop time设置为100000,然后单击“OK”。4)保存FIR16模型并进行仿真选择Simulation菜单下的Start项,或按下Ctrl+T键开
38、始启动仿真。3.2.2滤波器仿真结果如下图所示:图3.2.2 16阶常数滤波器 所设计为16阶FIR低通滤波器,观察以上仿真波形可知,滤波器对低频信号的衰减较小,信号的频率越高,滤波器对信号的衰减越大。由此可知所涉及的滤波器性能良好,滤波效果明显。3.3 基于Matlab的滤波器设计工具,获得滤波器系数FDATool(Filter Design & Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(Filter Design Toolbox) FDATool界面总共分两大部分,一部分是Desig
39、n Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:Filter Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。Design Method(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(椭圆滤波器)法和FIR滤波器的Equi
40、ripple法、Least-Squares(最小乘方)法、Window(窗函数)法。Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括Specify Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify OrderN-1),如果选择Minimum Order则MATLAB根据所选择的滤波器类型自动使用最小阶数。Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Filter Type选项和Design Me
41、thod选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅
42、值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。Window Specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数,在通带内的衰减为6dB。1)打开Matlab的FDATool,如下图3.3.1所示。根据具体设计要求计算滤波器的系数,在系数计算好填入图中后,16阶FIR滤波器才能真正应用,这就要使用我们强大的MATLAB工具了。 MATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。点击MATLAB主窗口
43、下方的“start”按钮,选择“ToolBox”“Filter Design”“ Filter Design & Analysis Tool(FDATool)”,打开FDATool。其界面如下所示:此时我们可以进行滤波器的设计:选择滤波器类型为低通,设计方法为FIR,采用窗口法(Window),滤波器阶数定制为15(在此设置的是15阶,而不是16阶,这是由于在前面设计的16阶FIR的常系数h(0)=0),采样频率Fs=50KHZ,截止频率Fc=10KHZ。2)选择Design Filer。点击“Design Filter”,就可以让MATLAB计算FIR滤波器的系数并作相关的分析。求出
44、的FIR滤波器的系数可以通过选择菜单“Analysis”“Filter Coefficients”来观察。如图3.3.2所示3)滤波器分析。可以通过FDATool的菜单“Analysis”进行幅频响应分析、相频响应分析、群延时分析、冲激响应分析、阶跃响应分析、零极点分析。如果觉得某些结果不符合设计要求,则可以进行相应的参数调整。4) 导出滤波器系数,如图3.3.3所示。为导出设计好的滤波器系数,选择FDATool菜单的“File”“Export”,打开导出(Export)对话框,在该窗口中,选择导出到工作区(Workspace),这是滤波器系数就存到一个一维变量中了,要将它们变成整数,只要在M
45、ATLAB主窗口的窗口命令中键入:Num*(28)即得,如图3.3.4所示。把计算出的系数逐个填入到FIR滤波器模型中,就完成了一个16阶直接I型低通滤波器的设计。图3.3.1打开FDATool图3.3.2 滤波器设计界面图3.3.3 导出系数对话框图3.3.4 系数产生由于产生系数数值太小,滤波不明显,所以对所有系数扩大9倍,进行滤波器设计。把上面得到的系数,作为AltBus1、AltBus2、AltBus3、AltBus4、AltBus5、AltBus6、AltBus7、AltBus8、AltBus9、AltBus10、AltBus11、AltBus12、AltBus13、AltBus14
46、、AltBus15模块的设计。3.4基于(IP)核的滤波器设计3.4.1设计过程 首先安装Altera公司的FIR IPCore,然后在Simulink 库管理器中看到MegaCore Function这个库,并利用DSP Builder软件打开IP Toolbench完成FIR 的参数设置;把扫频信号产生电路产生的信号输入FIR数字滤波器进行处理。1)启动Matlab软件,打开Simulink Library Browser界面,建立一个新的模型文件,保留并命名为FIR_IP.mdl。2)如图2.3.3.1所示,拖入相应的模块,然后按图所示连接电路。图3.4.1 FIR_IP实验模型Ince
47、rment Decrement模块:参数“Bus type”设为“Unsigned Integer” “Numer of bits”设为“18” 参数“Drection”设为“Increment” BusConversion模块:参数“Input Bus Tipe”设为“Unsigned Integer” 参数“Inputnumber of bits”设为“18” 参数“Outputnumber of bits”设为“13”Parallel Adder Subtractor模块:参数“Number of input ”设为“2” “Add(+)Sub(-)”设为“+” 参数“Clock Pha
48、se Slection”设为“1”Phaseword1模块:参数“Bus type”设为“Unsigned Integer” “Numer of bits”设为“16” 参数“Node Type ”设为“Integer Node ”BusConversion模块:参数“Input Bus Tipe”设为“Unsigned Integer” 参数“Inputnumber of bits”设为“16” 参数“Outputnumber of bits”设为“8” “Input Bit Connected to Output LSB”设为“8” Delay模块: 参数“Depth”设为“1” 参数“C
49、lock Phase Slection ” 设为“1”3)在Altera DSP Builder中的Megacore Functions库中找到fir_complier模块,拖入模型中。图3.4.2 fir_compiler模块4)设置FIR参数双击FIR 模块,将弹出FIR编辑器的向导,如图3.4.3所示。单击“Step 1:Parameterize”打开FIR编译器的参数设置对话框,如图3.4.4所示。单击“Edit Coefficient Set”按钮进行系数设置。单击“Apply”按钮后在图3.4.4中的Time Response& Coefficient Values,就显示
50、了计算出的滤波器系数等信息。如图3.4.5所示,将FIR滤波器设置为32阶低通滤波器,单速率采样,采集频率500KHZ,窗类型选择海明窗,设置完毕后按“OK”按钮便会生成系数并保存设置。在FIR编译器的参数设置对话框中设置FIR滤波器的输入输出接口,输入为10位无符号二进制数,输出方式选择“Actual Coefficient”,输出数据宽度选择“Custom Resolution”,即截取输出,因为输出要接DA,选择截取高10位输出,滤波器的结构选择分布式算法并行结构,其他参数默认不变。如图3.4.4所示。最后按“Finish”按钮完成设置。单击图3.4.3中的“Step 2: Genera
51、te”打开IP核生成对话框,等到对话框右下角的“Exit”按钮变为可用后点击,退出FIR编辑器的向导,等MATLAB优化对话框自动退出之后,如图3.4.1所示连接电路,进行下一步仿真。本模型添加了SimulinkSkinsScope模块,用与查看相应的位选信号的产生结果,选中其中的“Data history”,把Limit data points to tast:设为100000。 选择Simulion菜单下的configuration parameters进行仿真参数的相应设置,在弹出的窗口中,stop time设置为100000,然后单击“OK”。图3.4.3FIR设置对话框 图3.4.4
52、 FIR编译器 图3.4.5 FIR系数生成对话框5)保存FIR_IP模型并进行仿真选择Simulation菜单下的Start项,或按下Ctrl+T键开始启动仿真。3.4.2滤波器仿真结果如下图所示:图2.3.3.6 FIR_IP仿真结果 观察以上仿真波形可知,滤波器对低频信号的衰减较小,信号的频率越高,滤波器对信号的衰减越大。由此可知所涉及的滤波器性能良好,滤波效果明显。结论通过这一阶段的学习,对VHDL硬件描述语言和DSPbuider ,FIR数字滤波器的相关知识以及QuartusII的使用有了一定的了解。在运用两种硬件语言设计滤波器的同时加深了对FIR数字滤波器功能及特性的理解,并掌握了仿真测试平台QuartusII 的应用,熟悉了VHDL硬件语言的编程过程及各自的特点。DSPbuider和 IP核 都是用于FIR数字滤波器的两种设计方法。两者的共同点在于:能形式化地、抽象化地表示电路的结构和行为;可借用高级语言来简化电路的描述;具有电路仿真与验证机制以保证设计的正确;易于理解和移植重用。不同的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海市体育场馆赛事期间临时便利店应急保障可行性研究报告
- 1800亩砂糖橘病虫害绿色防控项目可行性研究报告
- 服务行业投诉处理优化方案
- 康复理疗师(初级)推拿手法培训试卷2026年及答案
- 民宿场景布置优化提升方案
- 智能家居行业市场发展研究跨境电商运营风险防控研究
- 厨房整体装修施工方案
- 建筑工程施工后期质量管理与维护措施
- 纺织品检测实验室标准操作规程
- 吉林省2026年上半年绿化工中级理论模拟试题及答案
- 认知障碍的评估
- 2026年生产安全事故应急预案模版
- 中医防治呼吸道传染病
- GB/T 47168-2026烟花爆竹玩具
- 初中语文中考阅读分层赋分题解题模型知识清单
- 财务部门标准化操作流程(SOP)
- 2025年移动政企项目交付经理岗位笔试及答案
- 小学道德与法治生活化情境创设课题报告教学研究课题报告
- 食物巧储存课件
- 2026年高考统编版历史二轮专题复习:「主观题(非选择题)」解题思路及技巧
- 2025年安徽省从村(社区)干部中录用乡镇(街道)机关公务员考试测试题及答案
评论
0/150
提交评论