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

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

3天内不再提示

FIR滤波器的实现方法有哪几种?

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

扫码添加小助手

加入工程师交流群

wKgZomUxaM-AdT8LAAADFPiCFw8011.pngwKgZomUxaM-AWegnAAAAuFYhST8616.png

点击上方蓝字关注我们

wKgZomUxaM-AX5ojAAAC9hV8I20337.png

数字滤波器是语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足波器对幅度和相位特性的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。
有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。
一、FIR数字滤波器
FIR滤波器用当前和过去输入样值的加权和来形成它的输出,如下所示的前馈差分方程所描述的。
FIR滤波器又称为移动均值滤波器,因为任何时间点的输出均依赖于包含有最新的M个输入样值的一个窗。由于它的响应只依赖于有限个输入,FIR滤波器对一个离散事件冲激有一个有限长非零响应,即一个M阶FIR滤波器对一个冲激的响应在M个时钟周期之后为零。
FIR滤波器可用图1所示的z域块图来描述。
wKgZomUxaM-AOGWBAABn6zX3ofw721.png
其中每个标有z-1的方框都代表了有一个时钟周期延时的寄存器单元。这个图中标出了数据通道和必须由滤波器完成的操作。滤波器的每一级都保存了一个已延时的输入样值,各级的输入连接和输出连接被称为抽头,并且系数集合{hk}称为滤波器的抽头系数。一个M阶的滤波器有M+1个抽头。通过移位寄存器用每个时钟边沿n(时间下标)处的数据流采样值乘以抽头,并且求和得到输出yFIR[n]。滤波器的加法和乘法必须足够快,在下一个时钟来到之前形成y[n]。并且在每一级中都必须测量它们的大小以适应他们数据通道的宽度。在要求精度的实际应用中,Lattice结构可以减少有限字长的影响,但增加了计算成本。一般的目标是尽可能快地滤波,以达到高采样率。通过组合逻辑的最长信号通路包括M级加法和一级乘法运算。FIR结构指定机器的每一个算术单元有限字长,并且管理运算过程中数据流。
二、FIR数字滤波器设计的实现
目前FIR滤波器的实现方法有三种:利用单片通用数字滤波器集成电路DSP器件和可编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要。使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度必然不快。FPGA/CPLD有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好。但长期以来,FPGA/CPLD一直被用于系统逻辑或时序控制上,很少有信号处理方面的应用,其原因主要是因为在FPGA/CPLD中缺乏实现乘法运算的有效结构。
现在的FPGA产品已经能够完全胜任这种任务了。其中Altera公司的Stratix系列产品采用1.5V内核,0.13um全铜工艺制造,它除了具有以前Altera FPGA芯片的所有特性外,还有如下特点:芯片内有三种RAM块,即512bit容量的小RAM(M512)、4KB容量的标准RAM(M4K) 、512KB的大容量RAM(MegaRAM)。内嵌硬件乘法器和乘加结构的DSP块,适于实现高速信号处理;采用全新的布线结构,分为三种长度的行列布线,在保证延时可预测的同时增加布线的灵活性;增加片内终端匹配电阻,提高信号完整性,简化PCB布线;同时具有时钟管理和锁相环能力。
FIR滤波器的Verilog HDL设计实例
1、设计意图
本例主要是在Stratix器件内实现基本有限脉冲响应滤波器。
FIR的基本结构包括一系列的乘法和加法。FIR的运算可用式(1)的方程描述,现重写如下:
wKgZomUxaM-AY_CdAAAJE-U_eRs743.png
一个L=8的FIR设计如图2,利用了输入的8个样本。因此称之为8抽头滤波器。该结构是有一个移位寄存器,乘法器和加法器组成的,可实现L=8阶的FIR。其数据通道必须足够宽,以适应乘法器和加法器的输出。这些采样值被编码为有限字长的形式,然后通过M个寄存器并行移动。可见用一个MAC级连链就可以构成这种机器。每个寄存器提供一个单位样本内延迟。这些延迟输入与各自的系数相乘,然后叠加得到输出。图2所示为基于MAC的8阶FIR数字滤波器结构
wKgZomUxaM-ADm0QAADvkEmWxA0648.png
在该设计中有八个抽头,各抽头有18位输入和滤波器系数。由于一个DSP块可以支持4个18位输入的分支,所以设计需要2个DSP块。输入数据串行加载到DSP块中,DSP内部的移入/移出寄存器链用于产生延迟。滤波器系数从TriMatrix? 的ROM存储器中加载。
2、Verilog HDL代码编写风格
HDL代码编写应该具有很好的易读性和可重用性,而自顶向下的分割方法可以帮助我们达到最佳的结果。HDL代码在达到功能的情况下要尽可能的简洁,尽量避免使用带有特殊库单元的实例,因为这样会使得整个进程变得不可靠。
在本设计中,我们将设计划分成一个顶级文件和三个次级文件,并且调用了QuartusII中的MegaFunction功能辅助完成整个设计。
wKgZomUxaNCAI8s3AACvs0P55uo352.png
图3显示FIR滤波器的顶级方块图
wKgZomUxaNCABpdSAAGNuf9s7KI827.png
表1:FIR滤波器的设计范例的端口列表
3、验证仿真
完全可综合设计的一个优点就是同样的HDL代码能够用于验证和综合。在使用HDL代码之前必须要验证设计的功能,最好且最简单的方法就是利用验证工具,其次是利用仿真工具作有目的的仿真。
QuartusII内部带有仿真器,只要通过建立正确的Vector Waveform File(向量波形文件)就可以开始仿真了。图4所示为QuartusII内部仿真器得到的8阶FIR的脉冲响应波形。
wKgZomUxaNCAc1U4AAEHVIUAsOA071.png
五、结论
利用Verilog HDL设计数字滤波器的最大优点就是可使设计更加灵活。比较硬件电路图设计,Verilog HDL语言设计的参数可以很容易在Verilog程序中更改,通过综合工具的简化和综合即可以得到电路图,其效率要高出利用卡诺图进行人工设计许多。而且编译过程也非常简单高效。优秀编码风格能够在综合过程中节省芯片使用的单元,从而降低设计成本。

wKgZomUxaNCAezMUAABUdafP6GM098.jpg

精彩推荐 至芯科技FPGA就业培训班——助你步入成功之路、10月29号西安中心开课、欢迎咨询! 利用FPGA实现的一种机载高清视频处理模块 基于FPGA的等效时间采样原理的实现扫码加微信邀请您加入FPGA学习交流群

wKgZomUxaNCAZdbAAABiq3a-ogY004.jpgwKgZomUxaNCAOsvzAAACXWrmhKE950.png

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

点个在看你最好看


原文标题:FIR滤波器的实现方法有哪几种?

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

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

    关注

    1655

    文章

    22283

    浏览量

    630223

原文标题:FIR滤波器的实现方法有哪几种?

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

    测量电子电路设计(滤波器篇)

    主要介绍如何从放大了的信号中除去有害噪声,提取有用信号的滤波技术。书中介绍处理低频信号所必需的RC滤波器、有源滤波器、LC滤波器,以及低频滤波器
    发表于 05-17 16:54

    滤波器安装位置讲究吗?

    在电子设备和通信系统中,滤波器是不可或缺的关键元件,它能够筛选和处理信号,确保信息的准确传输和设备的稳定运行。然而,滤波器的安装位置并非随意为之,而是有着诸多讲究。正确的安装位置能充分发挥滤波器
    的头像 发表于 05-15 16:18 1064次阅读

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

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

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

    在现代通信信号处理领域中,随着各种精密计算和快速计算的发展对信号处理的实时性、快速性的要求越来越高。以往的模拟滤波器无法克服电压漂移、温度漂移和噪声等问题,从而带来了许多误差和不稳定因素。而数字滤波器具有稳定性高、精度高、设计灵活、实现
    的头像 发表于 03-06 12:31 1764次阅读
    基于FPGA的<b class='flag-5'>FIR</b>数字<b class='flag-5'>滤波器</b>设计

    分布式存储哪几种类型?

    分布式存储哪几种类型?分布式存储系统是一种将数据分散存储在多台独立节点上的技术,根据数据模型可分为键值存储、列式存储、文档存储和图形存储等类型;按数据存储单位可分为基于文件、块和对象的存储;按
    的头像 发表于 02-20 11:00 1124次阅读

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

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

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

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

    带通滤波器的设计步骤与优化方法

    带通滤波器作为信号处理领域的重要组件,其设计步骤与优化方法对于确保滤波器性能满足特定应用需求至关重要。本文将详细阐述带通滤波器的设计步骤,并深入探讨优化
    的头像 发表于 02-05 16:48 2928次阅读

    常见的有源变压哪几种

    麻烦问一下大家,我们常见的有源变压哪几种?最关键的问题是,有源变压和无源变压建模方法
    发表于 01-22 07:47

    WEBENCH有源滤波器设计与实现

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

    数字低通滤波器实现方法

    低通滤波器(Ideal Low Pass Filter, ILPF)是一种理论上的滤波器,它在通带(低频部分)内具有平坦的响应,而在阻带(高频部分)内衰减至零。然而,由于其在通带和阻带之间存在尖锐的过渡,导致其在实际中难以实现
    的头像 发表于 01-21 09:52 1656次阅读

    常见低通滤波器类型分析

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

    滤波器的一些常识

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