[优秀毕业设计精品] 基于DSP Builder的FIR数字滤波器的仿真设计

上传人:仙*** 文档编号:31323712 上传时间:2021-10-11 格式:DOC 页数:41 大小:739.33KB
收藏 版权申诉 举报 下载
[优秀毕业设计精品] 基于DSP Builder的FIR数字滤波器的仿真设计_第1页
第1页 / 共41页
[优秀毕业设计精品] 基于DSP Builder的FIR数字滤波器的仿真设计_第2页
第2页 / 共41页
[优秀毕业设计精品] 基于DSP Builder的FIR数字滤波器的仿真设计_第3页
第3页 / 共41页
资源描述:

《[优秀毕业设计精品] 基于DSP Builder的FIR数字滤波器的仿真设计》由会员分享,可在线阅读,更多相关《[优秀毕业设计精品] 基于DSP Builder的FIR数字滤波器的仿真设计(41页珍藏版)》请在装配图网上搜索。

1、数字信号处理课程设计题 目:基于DSP Builder的FIR数字滤波器的仿真设计姓 名: 专 业: 通信工程工程班 级: 09级3班院 系: 工学院入学年度:2008年指导教师: 日 期: 2011年12月12日基于DSP Builder的FIR数字滤波器的仿真设计摘要:数字滤波器是数字信号处理中的核心环节,而FIR数字滤波器因其具有严格的线性相位,系统总是稳定等特点而广泛应用于数字信号处理的各个领域,因此是一个重要的研究课题。随着微电子技术的发展,数字信号处理得到了飞速发展。数字滤波器是谱分析、雷达信号处理、通信信号处理应用中的基本处理算法,在数字音频、图像处理、数据传输、生物医学等领域得

2、到了广泛应用。本文内容包括FIR数字滤波器的网络结构、线形相位条件和特点以及设计方法、基于MATLAB/Simulink的DSP设计技术、详细的设计流程向导、ModelSim仿真等。本文通过一个设计实例,提出了一种采用DSP Builder实现有限冲激响应滤波器的设计方案,并以一个20阶低通数字滤波器的实现为例,设计并完成软件仿真与验证。通过仿真与验证,本系统所设计的数字滤波器能够成功运行,且所设计滤波器稳定性好,精确度高,不易受环境影响。在利用FPGA进行数字滤波器的开发时,采用基于Matlab环境的DSP Builder作为设计工具可以更方便的建立模型,完成整个设计。关键词:MATLAB;

3、数字滤波器;DSP Builder;仿真The Design Of The FIR Digital FilterBased On DSP BuilderAbstract: Digital filter algorithm is one of the core techniques in signal processing. The FIR digital filter has been widely used in signal processing field because of its strict linear phase and stability. With the develop

4、ment of microelectronics technology, digital signal processing has made rapid development. Digital filter is the basic processing algorithms in respect of spectral analysis, radar signal processing and communications signal processing applications, and receive widely application at the field of digi

5、tal audio, Image processing, data transmission and biomedical etc.This content includes FIR digital filter network structure, linear-phase conditions, characteristics, design methods, DSP design technology of MATLAB-based, detailed design flow guide and ModelSim simulation and so on. This paper pose

6、d a design example through using the DSP Builder realize Finite Impulse Response Filter and complete hardware design simulation and verification as an example by the realization of 24-step low-pass digital FIR filter.Through simulation and verification, the system of the digital filter designed can

7、run successfully, and the designed filter has good stability, high accuracy, less susceptible to environmental impacts. In the use of FPGA for the development of digital filters using Matlab-based environment as a design tool for DSP Builder can be more convenient to create models, and to complete t

8、he whole design.Key words: MATLAB; Digital filter; DSP Builder; Simulation. 目录一、前言1(一)数字滤波器的概念以及分类1(二)FIR和IIR滤波器的比较1二、FIR数字滤波器的原理3六、DSP BUILDER设计流程14七、基于DSP BUILDER设计FIR数字滤波器17(一)3阶常系数FIR滤波器的设计17(二)4阶FIR滤波器节的设计21(三)20阶FIR滤波器模型设计25八、基于MATLAB的滤波器设计工具30(一)滤波器指标30(二)打开MATLAB的FDATOOL30(三)选择DESIGN FILTER3

9、1(四)滤波器分析33(五)量化36(六)导出滤波器系数39(七)修改FIR滤波器模型添加参数41(八)导出滤波器系数的另一种方法41九、结束语43一、前言(一)数字滤波器的概念以及分类所谓数字滤波器是指输入输出均为数字信号,通过一定的运算关系改变输入信号中所含频率成分的相对比例或者滤除某些频率成分的器件。常用的滤波器有无限长单位脉冲响应(IIR)滤波器和有限长单位脉冲响应(FIR)滤波器两种。其中,FIR滤波器能提供理想的线性相位响应,在整个频带上获得常数群延时从而得到零失真输出信号,同时它可以采用十分简单的算法实现,这两个优点使FIR滤波器成为设计的首选。采用一种基于DSP Builder

10、 的FPGA设计方法,使FIR滤波器设计较为简单易行,并能满足设计要求。设FIR滤波器单位脉冲响应长度为N,其系统函数为: (1-1)是的(N-1)次多项式,它在z平面上有(N-1)个零点,原点z=0是(N-1)阶重极点。因此,永远稳定。稳定和线性相位特性是FIR滤波器突出的优点。(二)FIR和IIR滤波器的比较在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能。因此,指标的形式应为频域中的幅度和相位响应。在通带中,通常希望具有线性相位响应。在FIR滤波器中可以得到精确的线性相位。在IIR滤波器中通常的相位是不可能得到的,因此主要考虑幅度指标。IIR数字滤波器的设计和模拟滤波器的

11、设计有着密切的联系。通常要设计出适当的模拟滤波器,再通过一定的频带变换把它转换成所需要的数字IIR滤波器。此外,任何数字信号处理系统中也还不可避免地用到模拟滤波器,因此模拟滤波器设计也是数字信号应该掌握的技术。FIR滤波器的设计方法和IIR滤波器的设计方法有很大的不同。FIR滤波器设计任务是选择有限长度的,使传输函数满足技术要求。在设计和实现上FIR滤波器具有如下优越性:(1) 相应相位可为严格线性,因此它不存在延迟失真,只有固定的时间延迟;(2) 由于不存在稳定性问题,所以设计相对简单;(3) 只包含实数算法,不涉及复数算法,不需要递推运算,长度为M的滤波器(阶数为M-1)它的计算值约为M/

12、2。二、FIR数字滤波器的原理对于一个FIR滤波器系统而言,它的冲激响应总是有限长的,其系统函数可以记为: (2-1)其中M是FIR滤波器的零点数,即延时节数,在这里被称为FIR滤波器的节数。 最基本的FIR滤波器可用下式表示: (2-2)其中是输入采样序列,是滤波器系数,L是滤波器的系数长度,表示滤波器的输出序列。也可以用卷积来表示输出序列与、的关系。 (2-3)图2-1中显示了一个典型的直接I型4阶FIR滤波器,其输出序列满足下列等式: (2-4)图2-1 4阶FIR滤波器结构在这个FIR滤波器中,总共存在3个延时节,4个乘法单元,一个4输入的加法器。如果采用普通的数字信号处理器(DSP

13、Processor)来实现,只能用串行的方式顺序的执行延时,乘加操作,这不可能在一个DSP(指数字信号处理器)指令周期内完成,必须用多个指令周期来完成。但是,如果采用FPGA来实现,就可以采用并行结构,在一个时钟周期内得到一个FIR滤波器的输出。六、DSP Builder设计流程DSP Builder是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度发挥了两种工具的优势。DSP Builder依赖于Math Works公司数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simuli

14、nk中进行图形化设计和仿真,同时又通过SignalCompiler可以把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。而对后者的处理可以由FPGA/CPLD开发工具Quartus,DSP Builder针对不同情况提供了两套设计流程,即自动流程和手动流程。图6-1是利用DSP Builder进行DSP设计的流程框图。如图6-1所示,DSP Builder设计流程第一步是在Matlab/Simulink中进行设计输入,即在Matlab的Simulink环境中建立一个mdl模型文件,用图形方式调用Alte

15、ra DSP Builder和其它Simulink库中的图形模块(Block),构成系统级或算法级设计框图(或称Simulink设计模型)。第二步是利用Simulink强大的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。在这两步中,与一般的Matlab Simulink建模过程几乎没有什么区别,所不同的是设计模型库采用Altera DSP Builder的Simulink库,也不涉及到其它EDA软件,没有自动流程和手动流程的区别。图6-1 DSP Builder设计流程为了针对不同用户的设计目的和设计要求,DSP Builder提供了两种不同的设计流程,主要可以分为自动流程和手动

16、流程。在手动流程中,设计者可以灵活地指定综合、适配条件。不过,需要手动的调用VHDL综合器进行综合,调用Quartus进行适配,调用ModelSim或者Quartus进行仿真,最后用Quartus产生相应的编程文件用于FPGA的配置。采用手动流程时,除了行为级仿真验证和设计输入外,其它过程与标准的基于VHDL的EDA设计流程完全是一致的。由上一步的DSP Builder设计流程得到VHDL文件(由Simulink模型文件.mdl通过SignalCompiler转换而成),送入综合器进行综合。综合器可以是SynplifyPro,也可以是LelnardoSpectrum,或者采用Altera自己的

17、Quartus。在综合时,可能需要对综合器进行配置或者提供综合的约束条件。由于这个过程操作可能比较繁琐,所以DSP Builder的SignalCompiler相应提供了一个接口,针对设计,自动产生一个TCL脚本与综合器Synplify或者LelnardoSpectrum相接。综合器在综合操作后会产生一个网表文件,以供下一个流程使用。这里产生的网表文件称为ATOM网表文件(如图6-1所示),主要是EDIF一种参数可设置的,并含有具体器件系列硬件特征(如逻辑宏LCs、I/O单元、乘积项、嵌入式系统块ESB等)的网表文件。如果用DSP Builder产生的DSP模型只是庞大设计中的一个子模块,则可

18、以在设计中调用DSP Builder产生的VHDL文件,以构成完整的设计。同时,一样可以使用Quartus强大的LogicLock功能和SignalTap测试技术。在图6-1的流程中,其中有个流程在DSP设计中是不可或缺的,那就是HDL仿真。与DSP Builder可以配合使用的HDL仿真器是ModelSim。DSP Builder在生成VHDL代码时,可以同时生成用于测试DSP模块的TestBench(测试平台)文件,DSP Builder生成的TestBench文件采用VHDL 语言,测试向量与该DSP模块在Simulink中的仿真激励相一致。通过ModelSim仿真生成的TestBenc

19、h可以验证生成的VHDL代码与Simulink中DSP模型的一致性。另外,DSP Builder在产生TestBench的同时,还产生了针对ModelSim仿真的Rcl脚本来简化用户的操作,掩盖ModelSim仿真时的复杂性。七、利用DSP Builder设计FIR数字滤波器图7-1中显示了一个典型的直接I型4阶FIR滤波器,其输出序列满足下列等式: (7-1)图7-1 4阶FIR滤波器结构在这个FIR滤波器中,总共存在3个延时节,4个乘法单元,一个4输入的加法器。如果采用普通的数字信号处理器(DSP Processor)来实现,只能用串行的方式顺序地执行延时,乘加工作,这不可能在一个DSP(

20、指数字信号处理器)指令周期内完成,必须用多个指令周期来完成。但是,如果采用FPGA来实现,就可以采用并行结构,在一个时钟周期内得到一个FIR滤波器的输出。使用DSP Builder可以方便地在图形化环境中设计FIR数字滤波器,而且滤波器系数的计算可以帮助Matlab强大的计算能力和现成的滤波器设计工具来完成。(一)3阶常系数FIR滤波器的设计在此用以下示例来说明整个设计过程。假定一个3阶的FIR滤波器,其可以表示为: 其中:,是量化时附加的因子。这里采用直接I型来实现FIR滤波器。设计好的3阶直接I型FIR滤波器模型图可以参见图7-2。图7-2 3阶FIR滤波器图中模块的参数作如下设置:Xin

21、模块:(Altbus)库:Altera DSP Builder中Bus Manipulation库参数“Bus Type”设为“signed integer”参数“Node Type”设为“Input port”参数“number of bits”设为“8”Yout模块:(Altbus)库:Altera DSP Builder中Bus Manipulation库参数“Bus Type”设为“signed integer”参数“Nope Type”设为“Output port”参数“number of bits”设为“8”Parallel Adder Subtractor模块:(Parallel

22、 Adder Subtractor)库:Altera DSP Builder中Arithmetic库“Add(+)Sub(-)”设为“+”Delay1,Delay2,Delay3模块:(Delay)库:Altera DSP Builder中Storage库参数“Depth”设为“1”参数“Clock Phase Selection”设为“1”h0模块:(Gain)库:Altera DSP Builder 中Arithemtic库参数“Gain Value”设为“63”参数“Map Gain Value to Bus Type”设为“Signed Integer”参数“Gate Value nu

23、mber of bits”设为“8”参数“Number of Pipeline Levels”设为“0”h1模块:(Gain)参数“Gain Value”设为“127”其余同h(0)模块h2模块:(Gain)参数“Gain Value”设为“127”其余同h(0)模块h3模块:(Gain)参数“Gain Value”设为“63”其余同h0模块。由于FIR滤波器的系数已经给定,是一个常数,从图中看到,在DSP Builder中可以用Gain(增益)模块来实现的运算,用延时Delay模块来实现输入信号序列的延时。设计完3阶FIR滤波器模型后,就可以添加Simulink模块进行仿真了,如图7-3所示

24、。图7-3 带仿真模块的3阶滤波器模型新增的仿真模块的参数作如下设置: Chirp Signal:模块:(Chirp Signal) 库:Simulink中Sources库 参数“Initial Frequency(Hz)”设为“1” 参数“Target time”设为“10”参数“Frequency at target time(Hz)”设为“1” 参数“Interpret vectors parameter as 1-D ”选中 Gain 模块:(Gain) 库:Simulink中Math Operations 库 参数“Gain”设为“Element wise(K.*Vu)” Scope

25、模块:(Scope) 库:Simulink中sinks库参数“Number of Axes”为“2”其中,Chirp Signal模块为线性调频信号发生模块,生成一个线性调频信号0.1Hz1Hz。在该模型仿真中,使用默认的仿真参数。(二)4阶FIR滤波器节的设计对于直接I型FIR滤波器是可以级联的,结构见图7-4,也就是说,在滤波器系数可改变的情况下,可以预先设计好一个FIR滤波器节,在实际应用中通过不断地调用FIR滤波器节,将其级联起来,用来完成多阶FIR滤波器的设计。图7-4 直接I型FIR滤波器结构图7-5是一个直接I型的4阶FIR滤波器节结构。为了使该滤波器节的调用更为方便,在x输入后

26、插入一个延时单元,由3阶滤波器演变成一个4阶的,不过常系数项(系数项)恒为0。由于通信应用中,FIR滤波器处理的往往是信号流,因而,增加一个延时单元不会影响FIR滤波器处理的结果,只是系统延时增加了一个时钟周期。图7-5 直接I型4阶FIR滤波器模型对于该FIR滤波器节,其系统函数可以用下式来表示: (7-2)由于浮点小数在FPGA中实现比较困难,实现的代价太大,因而在DSP Builder中不妨使用整数运算来实现,最后用位数舍取的方法得到结果。为了使参数可变,FIR滤波器系数、也作为输入端口。在本设计中输入序列的位宽设为9位。图7-6显示的就是一个设计好的4阶FIR滤波器节,与图7-2的常数

27、FIR滤波器相比,这里运用Product(乘法)模块代替了Gain(增益)模块。图7-6 直接I型4阶FIR滤波器节图7-6中相关模块的参数设置如下:xin、hn1、hn2、hn3、hn4模块:(Altbus)库:Altera DSP Buider中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type” 设为“Input port”参数“number of bits”设为“9”yn模块:(Altbus)库:Altera DSP Buider中Bus Manipulation库参数“Bus Type”设为“signed Integ

28、er”参数“Node Type” 设为“output port”参数“number of bits”设为“20”xn4模块:(Altbus)库:Altera DSP Buider中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type” 设为“output port”参数“number of bits”设为“9”Parallel Adder Subtractor模块:(Parallel Adder Subtractor)库:Altera DSP Buider中Arithmetic库参数“Add(+)Sub(-)”设为“+”使用“P

29、ipeline”参数“Clock Phaese Selectioon”设为“1”Delay、Delay1、Delay2、Delay3模块:(Delay)库:Altera DSP Buider中Storage库参数“Depth”设为“1”参数“Clock Phase Selectioon”设为“1”Product模块:(Product)库:Altera DSP Buider中Arithmetic库参数“Pipeline”设为“2”参数“Clock Phase Selectioon”设为“1”不选择“Use LPM”(三)20阶FIR滤波器模型设计利用以上设计的4阶FIR滤波器节可以方便地搭成4n

30、阶直接I型FIR滤波器(注意:)。比如要实现一个20阶的低通滤波器,可以调用5个4阶FIR滤波器来实现。1.设计4阶FIR滤波器节子系统建立一个新的DSP Builder模型,复制上节的FIR4tap模型到新模型。由FIR4tap模型建立子系统(SubSystem),并对端口信号进行修改,把子系统更名为fir4tap,如图7-7所示。fir4tap的内部结构如图7-8所示。(建立子系统的方法:选中模块,在选中模块上点击鼠标右键,在弹出的右键菜单中选择“Create subsystem”。)图7-7 fir4tap子系统图7-8 fir4tap子系统内部原理图2.组成20阶FIR滤波器模型复制5

31、个fir4tap,并将它们衔接起来。前一及的输出端口x4接后一级x输入端口,并附加上20个常数端口,作为FIR滤波器系数的输入。把5个子系统fir4tap的输入端口y连接起来,接入一个5输入端口的加法器,得到FIR滤波器的输出。注意:在做好子系统后,要修改其Mask参数MaskType为“SubSystem AlteraBlockSet”。设计好的20阶滤波器如图7-9所示。图7-9 20阶直接I型FIR滤波器模型20阶直接I型FIR滤波器模型中,对新增加的模块作如下设置:xin模块:(Altbus)库:Altera DSP Buider中Bus Manipulation库参数“Bus Typ

32、e”设为“signed Integer”参数“Node Type” 设为“Input port”参数“number of bits”设为“9”yout模块:(Altbus)库:Altera DSP Buider中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type” 设为“Output port”参数“number of bits”设为“20”X24模块:(Altbus)库:Altera DSP Buider中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type”

33、 设为“Output port”参数“number of bits”设为“9”Parallel Adder Subtractor模块:(Parallel Adder Subtractor)库:Altera DSP Buider中Arithmetic库参数“Add(+)Sub(-)”设为“+”使用“Pipeline”参数“Clock Phaese Selectioon”设为“1”h0、h2、h3、h4、h5、h6、h7、h8、h9、h10、h11、h12、h13、h14、h15、h16、h17、h18、h19、h20、h21、h22、h23模块:(Delay)库:Altera DSP Buide

34、r中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“number of bits”设为“9”不过,在图7-9中,对h1h24统一设置了一个值:512,而实际上滤波器的系数要根据具体要求进行计算。在系数计算好后,FIR滤波器才能真正应用。八、基于MATLAB的滤波器设计工具(一)滤波器指标若需要设计一个20阶的FIR滤波器(h(0)=0),给定的参数如下:低通滤波器;采样频率Fs为48kHz,滤波器Fc为10.8kHz;输入序列位宽为9位(最高位为符号位)。在此利用MATLAB来完成FIR滤波器系数确定。(二)打开MATLAB的FDATOOLM

35、ATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。点击MATLAB主窗口下方的“Start”(开始)按钮,按图8-1选择“ToolBox”“Filter Design”“Filter Design & Analysis Tool(FDATool)”,打开FDATool,如图8-2所示。图8-1 打开的FDATool图8-2 FDATool界面(三)选择DESIGN FILTERFDATool 界面左下侧排列了一组工具按钮,其功能分别如下所述: 滤波器转换(TransForm Fil

36、er) 设置量化参数(Set Quantization Parameters) 实现模型(Realize Model) 导入滤波器(Import Filter) 设计滤波器(Design Filter)选择其中的按钮,进入设计滤波器界面,进行下列选择:1. 滤波器类型(Filter Type)为低通(Lowpass);2. 设计方法(Design Method)为FIR,采用窗口法(Window);3. 滤波器阶数(Filter Order)定制为20;4. 窗口类型为Kaiser,Beta为0.5;5. Fs为48kHz,Fc为10.8kHz。设置好后的界面见图8-3。图8-3 滤波器设计界

37、面注意:在滤波器阶数选择时,在此设置的是19阶,而不是20阶!这是由于在前面设计的20阶FIR滤波器的常系数项。其系统函数可用下式来表示: (8-1)显然上式可以写成: (8-2)即可以看成是一个19阶的FIR滤波器的输出结果经过了一个单位延时单元,以在FDATool中把它当成19阶FIR滤波器来计算参数。点击 Design Filter ,让MATLAB计算FIR滤波器系数并作相关分析。(四)滤波器分析计算完FIR滤波器系统分析后,往往需要对设计好的FIR滤波器进行相关的性能分析,以便了解该滤波器是否满足设计要求。分析操作步骤如下:1. 选择FDATool的菜单“Analysis”“Magn

38、itude Response”,启动幅频响应分析。图8-4显示了滤波器的幅频响应图,x轴为频率,y轴为幅度值(单位为dB)。在图的左侧列出了当前滤波器的相关信息:(1)滤波器类型为Direct form FIR(直接I型FIR滤波器)(2)滤波器阶数为19注意:不是每种FIR滤波器设计方法计算出的滤波器都是直接I型结构的。如果在DSP Builder中设计的FIR滤波器为直接I型结构,那就必须保证再这里显示的FIR滤波器结构为“Direct form FIR”。图8-4 FIR滤波器的幅频响应2. 选择菜单“Analysis”“Phase Response”,启动相频响应分析。图8-5显示了滤

39、波器的相频响应。由图可以看到设计的FIR滤波器在通带内相位响应为线性的,即该滤波器是一个线形相位滤波器。图8-5 FIR滤波器的相频响应3. 图8-6显示了滤波器幅频特性与相频特性的比较。这可以通过菜单选择“Analysis”“MagnitudePhase Response”来启动分析。图8-6 幅频响应与相频响应的比较4. 选择菜单“Analysis”“Group Delay Response”,启动群延时分析,波形如图8-7所示。图8-7 群延时5. 在菜单“Analysis”下还有一些分析:(1)“Impulse Response”:冲激响应,见图8-8。(2) “Step Respon

40、se”:阶跃响应,见图8-9。(3) “Pole/Zero Plot”:零极点图,见图8-10。由于直接I型FIR滤波器只有零点,所以在图8-10中不存在极点。图8-8 FIR滤波器的冲激响应图8-9 FIR滤波器的阶跃响应图8-10 FIR滤波器的零极点求出的FIR滤波器的系数可以通过选择菜单“Analysis”“Filter Coefficients”来观察,见图8-11。图中列出了FDATool计算的19阶直接I型FIR滤波器的部分系数。图8-11 FIR滤波器系数(五)量化从图8-11可以看到,FDATool计算出的值是一个有符号小数,而在DSP Builder下建立的FIR滤波器模型

41、需要一个整数作为滤波器系数。所以必须进行量化,并对得到的系数进行归一化。为此,点击FDATool左下侧的工具按钮进行量化参数设置。在设置“Turnquantization on”前选择“”。如图8-12所示。图8-12 量化参数设置在滤波器的设计指标中,已经提到FIR滤波器的输入位宽是9位,表示为有符号数。在图8-12中设置前4项的量化格式(Format)为“16 15”,表示量化后位宽为16位,绝对值为15位;设置后2项(乘积、乘积和)的量化格式为“32 30”。点击Optimization按钮,打开图8-13所示的对话框。在此量化优化设置对话框中选择相关的优化选项。图8-13 量化优化设置

42、对话框图8-14中显示了量化后的部分系数值。注意在这里系数仍是用小数表示的,不同于量化前的系数,现在其二进制表示的位数已满足量化要求。图8-14 量化后的系数值设计的FIR滤波器在量化后滤波器的性能会有所改变,其幅频响应、相频响应也有所变化。图8-15为量化后的幅频、相频响应波形图。图8-15 量化后的幅频、相频响应量化在带来实现方便的同时也带来了量化噪声,图8-16显示了量化带来的噪声分析。图8-16 量化后的噪声分析(六)导出滤波器系数为导出设计好的滤波器系数,选择FDATool菜单的“File”“Export.”,打开导出(Export)对话框,如图8-17所示。图8-17 导出系数对话

43、框在该窗口中,选择导出到工作区(Workspace)。这时滤波器系数就存入到一个一维变量Num中了,不过这时Num中的元素是以小数形式出现的:Num=-0.0271910.0437930.048859-0.037842-0.0764160.022430.11380.010986-0.17587-0.0971680.361510.826810.826810.36151-0.097168-0.175870.0109860.11380.02243-0.076416-0.0378420.0488590.043793-0.027191现在若要在FIR滤波器模型中使用这些数据,还需要将他们转化为整数,在M

44、ATLAB主窗口的命令中键入:Num*(215)得到: Num*(215)ans = Columns 1 through 9 -891 1435 1601 -1240 -2504 735 3729 360 -5763 Columns 10 through 18 -3184 11846 27093 27093 11846 -3184 -5763 360 3729 Columns 19 through 24 735 -2504 -1240 1601 1435 -891(七)修改FIR滤波器模型添加参数把计算出的系数逐个填入到FIR滤波器模型中,见图8-18。这样就完成了一个20阶直接I型FIR低通

45、滤波器的设计。(八)导出滤波器系数的另一种方法按照上面介绍的导出滤波器系数的方法在FIR滤波器阶数较大时就不太方便,而且在设计要求有所变化时系数的修改极为不利。可以按照以下方法来导出:把FIR滤波器模型中的h1h24模块的参数“Constant Value(常数值)”设置为:Num*(215)其中Num同上文所述,是FDATool的导出系数,n用具体的数字来代替,如h1模块用Num(1)*(215),h2模块用Num(2)*(215)。图8-18 20阶低通FIR滤波器九、结束语通过仿真与验证,本系统所设计的数字滤波器能够成功运行,且所设计滤波器稳定性好,精确度高,不易受环境影响。在利用FPG

46、A进行数字滤波器的开发时,采用基于Matlab环境的DSP Builder作为设计工具可以更方便的建立模型,完成整个设计。当然,在实际应用中,受精度、速度和器件选择方面的影响,可以对其转化的VHDL进行进一步的优化。通过这次毕业设计,我不仅巩固以前所学的知识,并且又新学到了不少的有用的知识,不但使我提高了自己的能力也知道了自己的不足。我深刻地认识到,只有单纯的理论知识是不行的,必须多实践,多操作才可以使自己的知识得到巩固,从而提高自身素质。在系统的设计过程中,虽然遇到了很多不同程度的问题和困难,但最后基本上均以解决,系统能够顺利运行并完成各项功能。由于时间上和个人学识上有限,系统还存在一些不足之处,还有一些功能更高更完善的功能没有能实现,有待于以后进一步的改进和完善。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!