集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 739|回复: 0

基于FPGA的FIR数字滤波器设计方案(一)

[复制链接]
羽蒙 发表于 2014-8-1 10:16:21 | 显示全部楼层 |阅读模式
 在信息信号处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。通过滤波运算,将一组输入数据序列转变为另一组输出数据序列,从而实现时域或频域中信号属性的改变。常用的数字滤波器可分为有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器两种。其中,FIR数字滤波器具有严格的线性相位,而且非递归结构也保证了运算的稳定性。在实时性要求比较高的应用场合,采用可编程芯片FPGA加以实现,相比于DSP芯片或专用芯片的实现方法,具有高速、高精度、高灵活性的优点。本文在采取了一种基于FPGA和DSP Builder的方法设计FIR数字滤波器时,采用了层次化、模块化的设计思想,遵循DSP Builder的设计开发流程,在Matlab/Simulink 中建立模型并进行系统级仿真,再进行Verilog语言转换,ModelSim仿真验证无误后实现了FIR数字滤波器的实时测试。

  1 FIR 数字滤波器的基本原理及结构

  对于一个FIR滤波器系统,它的冲击响应总是有限长的,其系统函数可以记为:

  对于一个FIR滤波器系统,它的冲击响应总是有限长的,其系统函数可以记为

  式中:x(n) 是输入采样序列;h(i) 是滤波器系数;k 是滤波器阶数;y(n) 表示滤波器的输出序列。

  图1为k 阶FIR数字滤波器的结构框图。

  基于FPGA的FIR数字滤波器设计方案(一)

  2 FIR 数字滤波器的设计流程

  该设计流程主要涉及到Matlab/Simulink、DSPBuilder和Quartus Ⅱ等工具软件的开发设计。整个设计流程,包括从系统描述直至硬件实现,可以在一个完整的设计环境中完成,如图2所示。

  基于FPGA的FIR数字滤波器设计方案(一)

  (1)Matlab/Simulink 中设计输入,即在Matlab 的Simulink环境中建立一个扩展名为mdl的模型文件,用图形方式调用Altera DSP Builder 和其他Simulink库中的图形模块(Block),构成系统级或算法级设计框图(或称Simulink设计模型)。

  (2)利用Simulink的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真,也叫系统级仿真。

  (3)DSP Builder设计实现的关键一步,通过Signal-Compiler把Simulink的模型文件转化成通用的硬件描述语言Verilog文件。

  (4)转换好的Verilog源代码用ModelSim软件进行功能仿真,验证Verilog文件的正确性。接下来的几个步骤是对以上设计产生的Verilog的RTL代码和仿真文件在Quartus Ⅱ工具软件中进行综合、编译适配,生成扩展名为。sof的文件加载到FPGA硬件系统中。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-26 03:24 , Processed in 0.056054 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表