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

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

3天内不再提示

FPGA 实现线性相位 FIR 滤波器的注意事项

FPGA设计论坛 来源:未知 2023-05-26 01:20 次阅读

点击上方蓝字关注我们

本文将回顾对称 FIR滤波器的高效 FPGA 实现的注意事项。

本文将推导对称 FIR 滤波器的模块化流水线结构。我们将看到派生结构可以使用XilinxFPGA 的 DSP 片有效地实现。

对称 FIR 滤波器

让我们考虑一个八阶 FIR 滤波器。该滤波器的传递函数为

$$Y(z)= sum_{k=0}^{7} z^{-k} h_k X(z)$$

假设滤波器是对称的,并且我们有 $$h_k = h_{7-k}$$ 对于 $$k=0, 1, dots ,7$$。因此,传递函数可以改写为

$$Y(z)= (1+z^{-7})h_0X(z)+(z^{-1}+z^{-6})h_1X(z)+(z^{-2}+ z^{-5})h_2X(z)+ (z^{-3}+z^{-4})h_3X(z)$$

公式 1

我们可以将公式 1 实现为具有四级流水线的系统,如图 1 所示。此框图的每个阶段对应于公式 1 的四项之一。

cd76dba8-fb1f-11ed-90ce-dac502259ad0.jpg

图 1. 点击放大。

由于我们插入了三个寄存器组来执行流水线操作,因此我们预计会有三个时钟周期的延迟。就 z 变换而言,图 1 的输出将是 $$z^{-3}$$ 乘以 $$Y(z)$$(如公式 1 所示)。换句话说,我们有 $$sig7=z^{-3}Y(z)$$。因此,我们有

$$egin{align}
sig7 &= z^{-3}(1+z^{-7})h_0X(z)
+z^{-3}(z^{-1}+z^{-6 })h_1X(z)
&+z^{-3}(z^{-2}+z^{-5})h_2X(z) + z^{-3}(z^{-3}+ z^{-4})h_3X(z)

end{对齐}$$

公式 2

现在,我们应该将这四项中的每一项分配到图 1 中的适当阶段。我们有输出 sig7 的方程式,因此首先设计系统的阶段会更容易。如果我们将术语 $$z^{-3}(1+z^{-7})h_0X(z)$$ 实现为阶段 4,我们将必须级联十个延迟元件来实现 $$z^{- 10}$$。但是,如果我们将 $$z^{-3}(z^{-3}+z^{-4})h_3X(z)$$ 实现为阶段 4,我们将只需要七个延迟元件的级联。因此,我们将方程式 2 的一项实现为图 1 的阶段 4。这给出了图 2 中所示的电路。

cd8a3978-fb1f-11ed-90ce-dac502259ad0.jpg

图 2

因此,我们得到

$$sig6 = z^{-3}(1+z^{-7})h_0X(z)
+z^{-3}(z^{-1}+z^{-6})h_1X(z) +z^{-3}(z^{-2}+z^{-5})h_2X(z)$$

这使

$$sig5 = z^{-2}(1+z^{-7})h_0X(z)
+z^{-2}(z^{-1}+z^{-6})h_1X(z) +z^{-2}(z^{-2}+z^{-5})h_2X(z)$$

现在,就像第 4 阶段一样,我们可以推导出图 1 的第 3 阶段并获得图 3 中的电路。

cda4e4da-fb1f-11ed-90ce-dac502259ad0.jpg

图 3

现在,我们有

$$sig3 = z^{-1}(1+z^{-7})h_0X(z)
+z^{-1}(z^{-1}+z^{-6})h_1X(z) $$

可以改写为

$$sig3 = z^{-1}sig1
+z^{-1}(z^{-1}+z^{-6})h_1X(z)$$

在哪里

$$sig1 = (1+z^{-7})h_0X(z)$$

使用这两个方程,我们可以找到图 4 所示的终结构。

cdbf2624-fb1f-11ed-90ce-dac502259ad0.jpg

图 4.点击放大。

请注意,对于级,包含一个零输入的加法器,以强调原理图的模块化和规则结构。此外,在 sig7 之后放置了一个额外的延迟元件。如您所见,虚线框内的电路在结构的每个阶段都重复出现。这种模块化结构是理想的,因为它便于扩展结构以用于任意数量的抽头。

Xilinx 在其高性能 FPGA 中将虚线框内的电路实现为 DSP slice。这些DSP Slice可以高效级联;这就是为什么可以使用多个切片来实现给定的 FIR 滤波器的原因。在下一节中,我们将回顾 DSP48 Slice 的结构。

赛灵思 DSP Slice

DSP Slice 是多种元素,实现图 4 的 FIR 滤波器只是众多可能应用中的一种。图 5 显示了 Virtex-4 器件中 DSP48 片的框图。

cdd79d3a-fb1f-11ed-90ce-dac502259ad0.png

图 5. Virtex-4 器件中 DSP48 片的框图。图片由赛灵思提供。点击放大。

加法器/减法器的输出方程为

$$Adder Out= Big ( Z pm (X+Y+C_{in}) Big )$$

其中 X、Y 和 Z 表示相应多路复用器的输出值。多路复用器允许我们为加法器/减法器选择不同的输入。乘法是 DSP Slice 的典型应用。例如,我们可以配置 DSP48 slice 来实现以下等式:

$$Adder Out = C pm (A imes B + C_{in})$$

当使用乘法器功能时,X 和 Y 多路复用器的输出必须馈送到加法器,因为方框图中所示的乘法器生成两个部分结果,这些结果由加法器/减法器组合以产生终的乘法结果。有关详细信息,请参阅 Xilinx 的书 DSP:设计以获得结果的第 21 页。

slice 不同输入路径中的寄存器允许我们进行流水线设计。例如,我们可以直接将输入 A 应用于 slice 的数学部分,其路径中没有寄存器,或者我们可以在其路径中放置一个或两个寄存器。这是通过可以从寄存器之前或之后选择输入的多路复用器(参见图 5)实现的。

DSP 切片(图 5 中标记为“P”)的输出可以应用于同一切片的加法器/减法器以实现累加器。

如图 5 所示,DSP Slice 支持多种功能,包括乘法、乘法后累加、全流水线乘法和循环桶式移位。DSP48 Slice 的更版本包含一些修改,例如包括预加器块,这使得 Slice 更加通用。例如,预加器可用于实现对称 FIR 滤波器(如上所述)。请注意,DSP slice 旨在有效地实现上述功能。这就是为什么与使用 FPGA 通用结构的设计相比,基于 DSP 片的设计可以实现更低的功耗、更高的性能和更高效的硅片利用率。有关 Xilinx DSP slice 的更多详细信息,请参阅上述书籍。

使用 DSP Slice 实现对称 FIR 滤波器

下面的图 6 显示了图 5 的 DSP slice 的简化框图。

ce023568-fb1f-11ed-90ce-dac502259ad0.jpg

图 6

这个简化的框图强调了一个 slice 的输出可以作为输入路由到下一个 slice 的加法器/减法器。如果我们忽略图 6 中所示的输入寄存器,则图 6 的原理图与图 4 的虚线框内的电路相同。因此,通过级联这些 DSP slice,我们可以有效地实现图 4 的 FIR 滤波器。在这个在这种情况下,我们可以使用 FPGA 的通用结构切片来实现红色加法器(参见图 4)。

图 7 显示了使用 7 系列 DSP48 片的图 4 的实现。


ce1c42c8-fb1f-11ed-90ce-dac502259ad0.png

图 7. 八抽头对称 FIR 滤波器的基于 DSP48 的实现。图片由赛灵思提供。点击放大。

此处,带阴影的加法器实现了图 4 中的红色加法器,延迟线可以使用片内的寄存器实现。您可以在此处图 7 电路的 Xilinx VHDL 代码(如果单击此链接,将立即开始)。

结论

我们推导出用于对称 FIR 滤波器的模块化流水线结构。我们还研究了 Xilinx DSP slice 的结构,它可用于实现多种功能,包括乘法、乘法后累加、全流水线乘法和循环桶式移位。7 系列 DSP48 Slice 更加通用,可以更高效地实施对称 FIR 滤波器。

ce4439a4-fb1f-11ed-90ce-dac502259ad0.png

ce50fce8-fb1f-11ed-90ce-dac502259ad0.pngce612aaa-fb1f-11ed-90ce-dac502259ad0.jpg

扫取二维码获取

更多精彩

FPGA设计论坛

往期推荐

  • 至芯科技-FPGA就业培训来袭!你的选择开启你的高薪之路!5月30号西安中心开课、欢迎咨询!

  • FPGA 的 DCM时钟管理单元概述

  • 简谈CPUMCU、FPGA、SoC这些芯片异同之处

  • 简谈Altera和Xilinx的FPGA 区别

欢迎关注至芯科技

至芯官网:www.zxopen.com

至芯科技技术论坛:www.fpgaw.com

至芯科技淘宝网址:

https://zxopen.taobao.com

至芯科技FPGA初级课程(B站):

https://space.bilibili.com/521850676

至芯科技FPGA在线课程(腾讯课堂):

https://zxopenbj.ke.qq.com/

至芯科技-FPGA 交流群(QQ):282124839

扫码加微信邀请您加入FPGA学习交流群

ce73f7de-fb1f-11ed-90ce-dac502259ad0.pngce83fc6a-fb1f-11ed-90ce-dac502259ad0.jpgce97ef04-fb1f-11ed-90ce-dac502259ad0.png

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

cea4ec86-fb1f-11ed-90ce-dac502259ad0.png

点个

cebab7d2-fb1f-11ed-90ce-dac502259ad0.png

在看

你最好看


原文标题:FPGA 实现线性相位 FIR 滤波器的注意事项

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


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

    关注

    1629

    文章

    21729

    浏览量

    602986

原文标题:FPGA 实现线性相位 FIR 滤波器的注意事项

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

收藏 人收藏

    评论

    相关推荐

    基于FPGA实现FIR数字滤波器

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

    先进FPGA的电源设计注意事项(电源设计121)

    电子发烧友网站提供《先进FPGA的电源设计注意事项(电源设计121).pdf》资料免费下载
    发表于 08-26 09:27 0次下载
    先进<b class='flag-5'>FPGA</b>的电源设计<b class='flag-5'>注意事项</b>(电源设计<b class='flag-5'>器</b>121)

    请问OPA211用在VCO环路滤波器上有哪些注意事项

    在VCO环路滤波器上我们原来用的运放是AD797,现在换成TI的OPA211,没有改外围电路,其性能不如规格书标的参数(噪声、压摆率、带宽),请问OPA211用在VCO环路滤波器上有哪些注意事项?或者有没有更好的型号推荐来替换
    发表于 08-16 08:28

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

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

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

    IIR(无限脉冲响应)滤波器FIR(有限脉冲响应)滤波器是数字信号处理领域中两种非常重要的滤波器类型。它们在许多应用中都发挥着关键作用,如音频处理、图像处理、通信系统等。 1. 引言
    的头像 发表于 07-19 09:44 4683次阅读

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

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

    基于matlab FPGA verilog的FIR滤波器设计

    今天和大侠简单聊一聊基于matlab FPGA verilog的FIR滤波器设计,话不多说,上货。 本次设计实现8阶滤波器,9个系数
    发表于 07-04 20:11

    matlab与FPGA数字信号处理系列 Verilog 实现并行 FIR 滤波器

    FPGA 实现 FIR 滤波器时,最常用的是直接型结构,简单方便,在实现直接型结构时,可以选择串行结构/并行结构/分布式结构。 并行结构
    发表于 05-24 07:48

    DSP教学实验箱_DSP算法实验_嵌入式教程:4-3 有限冲激响应滤波器FIR)算法(CCS显示)

    :有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定
    发表于 05-16 09:30

    Vivado 使用Simulink设计FIR滤波器

    滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR
    发表于 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>

    电源滤波器在接线时有哪些需要注意事项

    电源滤波器在接线时有哪些需要注意事项?|维爱普电源滤波器
    的头像 发表于 01-31 09:35 636次阅读

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

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

    电源滤波器接线的注意事项

    电源滤波器接线的注意事项  电源滤波器在电子设备中起着非常重要的作用,它能够有效地滤除电源中的干扰和杂波,保证设备正常运行。在进行电源滤波器的接线安装时,需要
    的头像 发表于 01-11 15:59 1168次阅读

    滤波器的主要功能和使用注意事项:展示其的重要性

    滤波器是一种电子元件,用于清除电信号中的杂波和噪声。在电子设备中,滤波器扮演着非常重要的角色,它可以提供稳定的电源信号,从而确保电子设备的正常运行。本文深圳市维爱普电子有限公司小编将详细分析滤波器的主要作用和使用
    的头像 发表于 01-08 09:51 2134次阅读
    <b class='flag-5'>滤波器</b>的主要功能和使用<b class='flag-5'>注意事项</b>:展示其的重要性