0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

快速实现基于FPGA的脉动FIR滤波器,VHDL,脉动阵列,PE处理单元,FIR滤波器

FPGA设计论坛 来源:未知 2022-12-01 10:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言

目前,用FPGA(现场可编程门阵列)实现FIR(有限冲击响应)滤波器的方法大多利用FPGA中LUT(查找表)的特点采用DA(分布式算法)或CSD码等方法,将乘加运算操作转化为位与、加减和移位操作。这些结构需要占用器件较多的LE(逻辑元件)资源,设计周期长,工作频率低,实时性差。本文提出一种基于Stratix系列FPGA器件的新的实时高速脉动FIR滤波器的快速实现方法。利 用FGPA集成的DSP(数字信号处理器)乘加模块定制卷积运算单元,利用VHDL(甚高速集成电路硬件描述语言)元件例化语句快速生成脉动阵列结构的FIR滤波器,设计周期短、可移植性强,设计采用全流水结构,能高速、无滞后地实现实时信号处理。

1 设计指标及参数量化

1.1 滤波器技术指标

本文依据以下技术指标设计一个64阶等波纹滤波器:Fs=4.092 MHz;Fpass=1.4 MHz,fstop=1.6 MHz;Wpass<1 dB,Wstop<-50 dB。使用MATLAB中FDA-Tool工具获得滤波器系数。

1.2 参数量化

从FDATool中得到的滤波器系数值是一组浮点小数,必须量化为定点数才能在FPGA器件中实现。本文采用移位舍入的量化方法对滤波器系数进行量化,MATLAB描述为:

得到64阶系数。滤波器系数预先存入器件内部ROM中,通过修改coet.mif文件中的参数可以改变滤波器的类型或参数。使用altera_mf库中altsyncram元件可以直接调用ROM中保存的数据。其调用语句描述如下:

2 FIR设计

2.1 器件简介

Stratix系列FPGA内部提供了丰富的硬功能模块,如片内RAM、PLL(锁相环)、DSP模块等,充分理解这些模块的结构特点和工作原理,掌握其使用方法,可以充分利用器件资源,最大程度地发挥器件在整个系统设计中的作用,使系统设计最优化。提供的DSP模块集成了乘、加/减/累加、求和这几种算术操作,支持符号数、无符号数和混合运算,并且在这些计算路径中集成了可选的寄存器级和全局/局部时钟控制。一个DSP块最多可以配置成8个9×9、4个18×18或者1个36×36的乘法器,可工作在简单乘法器模式、乘累加模式、2乘加模式和4乘加模式,应用这4种模式,可以实现高性能的DSP算法。本文选用StratixⅡ器件,在QuartusⅡ开发环境下应用4乘加模式生成脉动阵列PE(处理单元),用VHDL描述实现FIR滤波器设计。

2.2 脉动阵列结构没计

本文参考文献[6]中阵列F结构--扇入结果,输入流动,权值存入PE,设计一种可实时更替权值的FIR脉动结构,如图1所示。权值w从上流入各个PE中,输入x门左向右流入PE。在这个阵列中,x值在每个单步时刻内向右边的PE移动一次。在每次计算中,各个PE同时进行乘法,算出同一个y值的各乘积项,然后将乘积结果扇入至加法器中相加,得到该y值的结果,实现FIR算法。

2.3 PE设计

DSP模块集成的算术操作中,4乘加模式就是4个乘法器将乘积送出相加,输出一个加/减的结果。利用模块内部可选的寄存器,可使输入数据在模块内部流动,实现移位寄存器功能,如图2所示FPGA片内DSP块的结构。若两路输入分别为输入信号和滤波器系数,则图2所示的结构恰好构成一个4阶FIR滤波器。

本文选用DSP模块构成脉动阵列结构FIR滤波器的PE卷积单元。具体方法是,采用基于Altera_mf库的乘累加运算元件“ALTMULT_ADD”可以快速完成PE设计。通过Altera的IP工具MegaWizard管理器(MegaWizard Plug-In Manager),定制算术单元(Arith-metic)中乘累加底层基本宏功能模块的参数,设置需要的乘法器个数、输入输出数据格式、流水线控制时钟等参数,即可完成4阶卷积PE元件的设计。

通过调用宏功能模块生成元件的封装文什,然后在设计代码中调用该封装文件。本文选择16位符号数输入、34位符号数输出,设置分级流水线控制输入、输出、乘积结果和加法结果,选择一路输入内部移位。第k个PE元件例化VHDL描述如下:

元件中clk0~clk1分别指向PE中各级寄存器建立时钟。例如t-1时刻,x(t-I)~x(t-4)参与PEk中计算;t时刻,数据x(t)流入PE时,PE 中 4个乘法单元中寄存的数据往前流动,x(t-4)从shiftouta端门流向下级PE。

3 FIR优化设计

将前述的例化的PE单元按图1所示的脉动结构连接起来,就完成了一个基本的脉动FIR滤波器设计,为提高系统性能,需要进一步对设计进行优化。

3.1 时序优化设计

对设计而言,提高工作频率至关重要,更高的工作频率意味着更强的处理能力。合理设计系统的时序对提高整个设计的工作频率有着至关重要的作用。而整个系统中最核心和复杂的时序关系为PE内部乘加时序。以下时序优化以PE单元为例。

本设计期望系统工作在200 MHz以上。因此,对设计的tco(时钟到输出延时)、tsu(输入建立时间)、tpd(引脚到引脚延时)分别约束为3 ns、2 ns、5 ns。编译后从时序分析报告(Timing Analyzer Report)可得到PE处理单元的基本时序关系。若使用单周期设计,从输入数据到参与乘法、加法计算再到结果输出,至少需要2.023+1.829+2.625+2.577=9.84 ns才能完成一次运算,达不到期望时钟频率。若应用DSP模块的流水线工作,合理设置PE单元各级触发时钟,则可使系统工作频率昆著提高,系统最高可工作在356.13 MHz(相同速度等级的芯片,Altera公司提供的9位16阶FIR IP核,参考工作频率为217.15 MHz)。考虑系统完成后全天候工作,为保证系统长期稳定,本设计最终选用208.33 MHz系统工作频率,设计实际使用的控制时钟如图3所示。

3.2 加法优化设计

设计一个64阶的滤波器,需要使用16个PE,即需要对16个乘加结果进行加操作,如果采用图1所示的加法运算,如图4(a)所示,计算一次y值需要15个时钟周期才能完成,而且在15个周期内各个加法输入不能变化,若设计中PE能达到300 MHz的工作频牢,加法也只能工作在20 MHz,必然阻碍设计的高速实现,成为制约系统性能的瓶颈。

采用流水线的加法运算是解决这个瓶颈的最好方法。如图4(b)所示。clk1~clk5与PE计算时钟同步,无需延长加法计算时钟,第5级流水的加法器使能后就能实时得到y结果。通过LPM(参数化模块库),直接在代码中实例化LPM加法运算,就能快速生成全流水结构的加法模块。其中第1级16个加法描述如下:

END GENERATE

4 FIR实现

上述的描述在QuartusⅡ开发工具中进行编译和布局布线,采用的目标器件为EP2S601024C4芯片,系统内部最高运算时钟为356.13 MHz,如图5所示。

设计的其他性能参数如下:总逻辑单元1 037个;总寄存器单元1 070个;总存储器容量2 048B;使用的9位DSP模块128个;最差输入引脚到寄存器延时1.750 ns;最差寄存器到输出引脚延时2.615 ns。

本设计经过MATLAB与Modelsim联合功能仿真,MATLAB与Quartus联合时序仿真,两种仿真结果与FPGA处理后的数据一致。

5 结束语

本文结合FPGA器件的结构和特点,利用DSP模块及其内部寄存器实现FIR脉动滤波器,不仅性能高,同时节约了LE资源和布线资源。通过MegaWizard宏模块编辑器,可以快速定制核心的处理单元实现脉动结构,对不同结构的滤波器只需修改定制处理单元参数和ROM中系数,就可以迅速设计出新的滤波器。采用全流水加法结构,使用最少的逻辑单元,达到最高的工作频率,完成对信号的实时、高速处理。






精彩推荐



至芯科技12年不忘初心、再度起航11月12日北京中心FPGA工程师就业班开课、线上线下多维教学、欢迎咨询!
Vivado中FFT IP核的使用
FPGA开发中时序不满足(建立时间)的典型案例及解决方法
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看







原文标题:快速实现基于FPGA的脉动FIR滤波器,VHDL,脉动阵列,PE处理单元,FIR滤波器

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22282

    浏览量

    630070

原文标题:快速实现基于FPGA的脉动FIR滤波器,VHDL,脉动阵列,PE处理单元,FIR滤波器

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    信号处理:指数移动平均 (EMA) 滤波器

    作者: Mustahsin Zarif 之前我们在《信号处理简介》一文中已经见过了两类滤波器:有限脉冲响应 (FIR) 滤波器和无限脉冲响应 (IIR)
    的头像 发表于 10-04 18:35 1539次阅读
    信号<b class='flag-5'>处理</b>:指数移动平均 (EMA) <b class='flag-5'>滤波器</b>

    基于卡尔曼滤波的无刷电机转矩脉动抑制研究

    数据处理算法,卡尔曼滤波器同时具备良好的滤波特性。因此文章在分析永磁无刷直流电动机数学模型的基础上,提出了一种基于卡尔曼滤波的无刷直流电机转矩脉动
    发表于 07-29 16:13

    有源滤波器与无源滤波器的区别

    滤波器是根据电路参数对电路频带宽度的影响而设计出来的工程应用电路,滤波器种类很多,有源滤波器和无源滤波器的区别我们最简单的分别办法是看看是否需要电源,在作用上最大的区别在于有源
    的头像 发表于 06-18 09:03 1207次阅读

    基于 FPGA 的任意波形发生+低通滤波器系统设计

    对图像进行平滑去噪处理。 本次设计将用两种方式实现低通滤波器。 方法一:利用Vivado自身具备的DDS和FIR的IP核实现; 方法二:通过
    发表于 05-07 15:34

    进群免费领FPGA学习资料!数字信号处理、傅里叶变换与FPGA开发等

    ~ 01、数字信号处理FPGA实现 旨在讲解前端数字信号处理算法的高效实现。首先概述了当前的FPGA
    发表于 04-07 16:41

    深入解读智多晶FIR IP

    在数字信号处理领域,FIR 滤波器凭借其稳定性强、线性相位等优势,被广泛应用于各类信号处理场景。今天,就带大家深入解读西安智多晶微电子有限公司推出的
    的头像 发表于 03-20 17:08 925次阅读
    深入解读智多晶<b class='flag-5'>FIR</b> IP

    基于FPGAFIR数字滤波器设计

    在现代通信信号处理领域中,随着各种精密计算和快速计算的发展对信号处理的实时性、快速性的要求越来越高。以往的模拟滤波器无法克服电压漂移、温度漂
    的头像 发表于 03-06 12:31 1760次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIR</b>数字<b class='flag-5'>滤波器</b>设计

    在电源滤波器中,使用不同技术的滤波器有何性能差异

    电源滤波器分电容、电感、有源三类,各有优劣。电容滤波器结构简单成本低,但低频滤波效果差;电感滤波器低频效果好但体积大;有源滤波器
    的头像 发表于 02-17 10:49 815次阅读
    在电源<b class='flag-5'>滤波器</b>中,使用不同技术的<b class='flag-5'>滤波器</b>有何性能差异

    如何区分有源滤波器和无源滤波器,它们各自的应用场景是什么

    有源滤波器与无源滤波器的主要区别在于元件构成。无源滤波器主要由无源元件组成,如电阻、电容和电感,它们自身不具备放大信号的能力。而有源滤波器则在无源元件的基础上引入了有源器件,通常是放大
    的头像 发表于 02-08 11:45 1766次阅读
    如何区分有源<b class='flag-5'>滤波器</b>和无源<b class='flag-5'>滤波器</b>,它们各自的应用场景是什么

    算法操作案例分享丨有限冲激响应滤波器FIR)实验

    》、《电机控制系统设计》、《DSP系统设计与应用》向下滑动查看所有实验列表内容2►案例分享一、实验名称:4-2有限冲激响应滤波器FIR)算法(MATLAB辅助,
    的头像 发表于 02-08 09:43 1167次阅读
    算法操作案例分享丨有限冲激响应<b class='flag-5'>滤波器</b>(<b class='flag-5'>FIR</b>)实验

    低通滤波器的工作原理 低通滤波器在音频处理中的应用

    的特性,电容通高频阻低频,而电感则相反,通低频阻高频。通过巧妙结合这两种元件,低通滤波器可以实现对信号的频率选择性过滤。 RC低通滤波器 RC低通滤波器是最简单的一种低通
    的头像 发表于 02-01 10:24 2615次阅读

    WEBENCH有源滤波器设计与实现

    电子发烧友网站提供《WEBENCH有源滤波器设计与实现.pdf》资料免费下载
    发表于 01-21 14:54 2次下载
    WEBENCH有源<b class='flag-5'>滤波器</b>设计与<b class='flag-5'>实现</b>

    常见低通滤波器类型分析

    低通滤波器(Low-pass filter, LPF)是一种允许低频信号通过,同时阻止或减弱高频信号的电子滤波器。在信号处理、通信系统和音频处理等领域中,低通
    的头像 发表于 01-21 09:50 2700次阅读

    滤波器的一些常识

    滤波器简介:滤波器是一种用于信号处理的设备或系统,用于改变信号的频率特性,以实现信号的滤波、增强、去噪或降噪等功能。
    的头像 发表于 12-18 17:05 1482次阅读
    <b class='flag-5'>滤波器</b>的一些常识