打印
[资料分享]

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

[复制链接]
1645|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Violin11|  楼主 | 2018-11-19 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Violin11 于 2018-11-19 10:14 编辑

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

   在Matlab/Simulink环境下,采用DSP Builder模块搭建FIR模型,根据FDATool工具对FIR滤波器进行了设计,然后进行系统级仿真和ModelSim功能仿真,其仿真结果表明其数字滤波器的滤波效果良好。通过SignalCompiler把模型转换成VHDL语言加入到FPGA的硬件设计中,从QuartusⅡ软件中的虚拟逻辑分析工具SignalTapⅡ中得到数字滤波器实时的结果波形图,结果符合预期。


  0 引言

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


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

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

  

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

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

  


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

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

  

 (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硬件系统中。


  3 FIR 数字滤波器的详细设计

   3.1 FIR数字滤波器模块设计与系统级仿真

  根据FIR数字滤波器的原理,在Simulink环境下搭建16阶的FIR数字滤波器结构,如图3所示。

  在模型的搭建过程中,使用了两个8位的Shift Taps移位寄存器模块对输入信号进行分解,然后根据数字滤波器的原理进行算法计算。

  



相关帖子

沙发
Violin11|  楼主 | 2018-11-19 10:14 | 只看该作者
基于FPGA的FIR数字滤波器设计方案

文档1.pdf

172.43 KB

使用特权

评论回复
板凳
aspoke| | 2019-1-11 22:28 | 只看该作者
FPGA中fir核的使用

使用特权

评论回复
地板
232321122| | 2019-1-11 22:29 | 只看该作者
哪些参数是重要的?

使用特权

评论回复
5
ghuca| | 2019-1-11 22:29 | 只看该作者
用matlab里面的simulink画模型

使用特权

评论回复
6
soodesyt| | 2019-1-11 22:30 | 只看该作者
有用verilog写过fir数字滤波器的吗

使用特权

评论回复
7
mnynt121| | 2019-1-11 22:30 | 只看该作者
用matlab生成coe文件作为输入

使用特权

评论回复
8
plsbackup| | 2019-1-11 22:30 | 只看该作者
如果是采用FPGA的ipcore,会自动生产系数文件

使用特权

评论回复
9
kmzuaz| | 2019-1-11 22:30 | 只看该作者
有现成的IP核就直接用

使用特权

评论回复
10
qiufengsd| | 2019-1-11 22:31 | 只看该作者
《数字信号处理的FPGA实现》

使用特权

评论回复
11
wengh2016| | 2019-1-11 22:31 | 只看该作者
如何用用FPGA实现FIR滤波器?

使用特权

评论回复
12
uiint| | 2019-1-11 22:31 | 只看该作者
无线通信的MATLAB和FPGA实现

使用特权

评论回复
13
mnynt121| | 2019-1-11 22:32 | 只看该作者
调用ise中fir滤波器ip内核做一个fir滤波

使用特权

评论回复
14
aspoke| | 2019-1-11 22:32 | 只看该作者
去看FIR的IP核用户指南

使用特权

评论回复
15
soodesyt| | 2019-1-11 22:32 | 只看该作者
还有这个设计应该怎样在FPGA中实现?

使用特权

评论回复
16
232321122| | 2019-1-11 22:32 | 只看该作者
做这个设计的最佳方法是什么?

使用特权

评论回复
17
ghuca| | 2019-1-11 22:32 | 只看该作者
用dsp builder库中的Signal

使用特权

评论回复
18
uiint| | 2019-1-11 22:32 | 只看该作者
PUDN上有很多例子

使用特权

评论回复
19
wengh2016| | 2019-1-11 22:32 | 只看该作者
什么版本的编译软件?

使用特权

评论回复
20
qiufengsd| | 2019-1-11 22:32 | 只看该作者
在fpga实现fir时,fir参数都要定点化

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

717

主题

1010

帖子

3

粉丝