{新}16阶滤波器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于DSP Builder的16阶FIR滤波器实现 2009-11-26 21:02:52 来源:电子工程世界 关键字: FPGA VHDL FIR 0 引 言 ??? FIR数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它能够提供理想的线性相位响应,在整个频带上获得常数群时延,从而得到零失真输出信号,同时它可以采用十分简单的算法予以实现。这些优点使FIR滤波器成为设计工程师的首选。在采用VHDL或VerilogHDL等硬件描述语言设计数字滤波器时。由于程序的编写往往不能达到良好优化而使滤波器性能表现一般,而采用调试好的IP Core需要向Al-tera公司购买。在此,采用一种基于DSP Builder的FPGA设计方法,使FIR滤波器设计较为简单易行,并能满足设计要求。 1 FIR滤波器介绍 1.1 FIR滤波器原理 ??? 对于一个FIR滤波器系统,它的冲激响应总是有限长的,最具体的FIR滤波器可用下式表示: ??? 式中:r是FIR滤波器的抽头数;x(n-r)是延时,r个抽头的输入信号;b(r)是第r级抽头数(单位脉冲响应);M是滤波器的阶数;y(n)表示滤波器的输出序列。滤波器就是寻求一个可实现的系统函数H(z),使其频率响应H(ejω)满足所希望得到的频域信号,也可以用卷积的形式来表示: ??? y(n)=z(n)*h(n) 典型的直接I型FIR滤波器如图1表示,其输出序列y(n)满足下式: 1.2 设计要求 ??? 数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统。它的设计步骤是先根据需要确定其性能指标,设计一个系统函数h(n)逼近所需要的性能指标,滤波器的系数计算可以借助Matlab强大的计算功能和现成滤波器设计工具来完成,最后采用有限的精度算法实现。该系统的设计指标为:设计一个16阶的低通滤波器,选模拟信号的采样频率Fs为5 kHz,要求信号的截止频率Fc=1 kHz,输入序列的位宽为9位(最宽位为符号位)。激励源为幅值为27,频率为800 Hz与1 600 Hz两个信号的混频信号。 2 基于DSP Builder设计FIR滤波器 2.1 DSP Builder介绍 ??? DSP Builder是美国Al-tera公司推出的一个面向DSP开发的系统级设计工具,它在Quartus设计环境中集成了Matlab和SimuIinkDSP开发软件。以往使用的Matlab工具仅仅作为DSP算法的建模和基于纯数学的仿真,其数学模型无法为硬件DSP应用系统直接产生实用的程序代码,仿真测试的结果也往往是基于数学的算法结果。而以往的FPGA所需要的传统基于硬件描述语言的设计因考虑了FPGA硬件的延时与VHDL递归算法的衔接,以及补码运算和乘积结果截取等问题,所以相当繁琐。而对于DSP Builder而言,它作为Matlab的一个Simulink工具箱,使得用FPGA设计的DSP系统完全可以通过Simulink的图形化界面进行建模、系统级仿真。设计模型可直接向VHDL硬件描述语言转换,并自动调用Quartus等EDA设计软件,完成综合、网表生成以及器件适配乃至FPGA的配置下载,使得系统描述与硬件实现有机地融合,充分体现了现代电子技术自动化开发的特点与优势。 2.2 FIR滤波器的设计 2.2.1 FIR滤波器参数选取 ??? 采用Matlab提供的滤波器专用设计工具FDAtool仿真设计的滤波器,可满足要求的FIR滤波器幅频特性,由于浮点小数在FPGA中实现得比较困难,且代价太大,因而需要将滤波器的系数和输人数据转化为整数,其中量化后的系统可以在Matlab主窗口中直接转化,对于输入数据,乘以28的增益用Altbus控制位宽转化为整数输入。 2.2.2 FIR滤波器模型的建立 ??? 根据FIR滤波器原理,可以利用FPGA来实现FIR滤波电路。DSP Builder设计流程的第一步是在Matlab/Simulink中进行设计输入的,即在Matlab的Simulink环境中建立一个MDL模型文件,用图形方式调用DSP Builder和其他Simulink库中的图形模块,构成系统级或算法级设计框图,如图2所示。 2.2.3 在Simulink中的仿真并生成VHDL代码 ??? 完成模型设计之后,可以先在Simulink中对模型进行仿真,可以通过Simulink中的示波器模块查看各个步骤的中间结果。输入信号采用800 Hz和1 600 Hz,幅值相同的两个正弦信号的叠加。仿真结果如图3所示。从仿真波形可以看出,通过滤波器之后,1 600 Hz的信号能够被很好地滤除。 ??? 双击SignalCompiler可对以上的设计模型进行分析,选择相应的芯片,将以上设计模块图文件“翻译”成VHD

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档