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
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603011

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

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

收藏 人收藏

    评论

    相关推荐

    滤波特性哪几种方法

    滤波特性通常指的是滤波器对信号的处理能力,即滤波器允许某些频率的信号通过,而阻止其他频率的信号通过的特性。实现滤波特性的
    的头像 发表于 11-26 10:15 289次阅读

    模拟低通滤波器的设计方法哪些

    模拟低通滤波器的设计方法主要包括以下几种: 一、基于滤波器原型的设计方法 巴特沃斯(Butterworth)
    的头像 发表于 11-26 10:07 346次阅读

    基于FPGA实现FIR数字滤波器

    。随着现代数字通信系统对于高精度、高处理速度的需求,越来越多的研究转向采用FPGA来实现FIR滤波器。而对于FIR滤波器要充分考虑其资源与运
    的头像 发表于 11-05 16:26 508次阅读
    基于FPGA<b class='flag-5'>实现</b><b class='flag-5'>FIR</b>数字<b class='flag-5'>滤波器</b>

    FIR滤波器的工作原理和特点

    的输出仅与其输入以及有限数量的之前输入样本有关,并且其单位冲激响应(即滤波器对单位冲激信号的响应)在有限时间内衰减到零。这种特性使得FIR滤波器在设计和实现上具有一定的优势。
    的头像 发表于 08-05 16:33 1133次阅读
    <b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>的工作原理和特点

    如何区分IIR滤波器FIR滤波器

    对信号进行处理的系统,它可以按照预定的规则改变信号的频谱特性。在数字信号处理中,滤波器通常用于去除噪声、抑制干扰或提取特定频率成分。IIR和FIR滤波器是两种基本的数字滤波器类型,它们
    的头像 发表于 07-19 09:44 4693次阅读

    iir滤波器的基本结构哪几种

    IIR滤波器,即无限脉冲响应滤波器,其基本结构主要有以下几种: 1. 直接型 直接型结构根据IIR滤波器的差分方程直接实现。这种结构可以分为
    的头像 发表于 07-19 09:35 969次阅读

    iir滤波器fir滤波器的优势和特点

    IIR滤波器FIR滤波器是数字信号处理领域中两种非常重要的滤波器类型。它们各自具有独特的优势和特点,适用于不同的应用场景。本文将介绍IIR滤波器
    的头像 发表于 07-19 09:28 1402次阅读

    断路哪几种

    断路哪几种  断路是一种用于保护电气线路和设备的重要元件,它可以在电路发生短路或过载时自动切断电源,以避免设备损坏和火灾等危险。断路
    的头像 发表于 06-10 16:19 2272次阅读

    Vivado 使用Simulink设计FIR滤波器

    领域都有着广泛的应用。 Vivado自带的FIR滤波器IP核已经很好用,这里借FIR滤波器的设计,介绍Simulink图形设计编程方法。Si
    发表于 04-17 17:29

    Vivado经典案例:使用Simulink设计FIR滤波器

    FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格
    的头像 发表于 03-25 09:18 2095次阅读
    Vivado经典案例:使用Simulink设计<b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>

    降噪是什么原理 降噪方法分为哪几种

    降噪是什么原理 降噪方法分为哪几种  降噪是指通过一系列技术手段减少或消除环境中存在的噪声干扰,从而提高音频、图像、信号等的质量或清晰度。降噪的原理主要涉及信号处理、数字滤波、统计学等方面的知识
    的头像 发表于 03-14 16:55 7397次阅读

    变压的调压方式哪几种

    常见的大功率级别的调压方式哪些? 变压调压又分为哪几种形式? 调压入合调压出合调压入分调压出分这几个概念分别是什么意思?
    发表于 02-21 15:11

    熔断几种形式 熔断的灭弧方法哪几种

    熔断几种形式 熔断的灭弧方法哪几种? 熔断
    的头像 发表于 02-06 10:08 2388次阅读

    什么是串行端口?哪几种分类?

    什么是串行端口?哪几种分类? 串行端口是计算机中用于进行数据传输的一种接口类型,通过单一的数据线逐位地传输数据。与串行端口相对应的是并行端口,与串行端口不同,它使用多条数据线同时传输数据。 串行
    的头像 发表于 02-02 15:40 2073次阅读

    FIR滤波器和IIR滤波器的区别与联系哪些

    FIR滤波器和IIR滤波器是数字信号处理中的两种常见滤波器类型,它们在原理、结构和性能等方面存在显著的差异与联系。
    的头像 发表于 01-29 16:41 2711次阅读
    <b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>和IIR<b class='flag-5'>滤波器</b>的区别与联系<b class='flag-5'>有</b>哪些