主要内容

fpga和asic的FIR滤波器架构

离散FIR滤波器冷杉杀害多人者冷杉插入器法罗速率变换器信道器,通道合成器block都使用相同的FIR滤波器架构来实现它们的算法。

这些块提供筛选器实现,在资源和吞吐量之间进行权衡。在向体系结构中添加管道寄存器时,过滤器实现还考虑到DSP块的特定于供应商的硬件细节。这些管道寄存器位置的差异有助于使滤波器设计适合FPGA上的DSP块。对于将乘数器、管道寄存器和预加器匹配到FPGA供应商的DSP配置的过滤器实现,在生成HDL代码时指定目标设备。

滤波器实现去除零值系数的乘数,例如在半带滤波器和希尔伯特变换中。当使用标量输入数据时,对于对称系数和反对称系数,过滤器共享乘数。基于帧的过滤器不支持对称优化。

FIR滤波器实现了高效复杂的乘法器架构,并通过使用跨子滤波器共享硬件资源的多相滤波器支持基于帧的输入。

本页上的架构图假设传递函数具有l系数(在为对称或反对称系数共享乘数或为零值系数删除乘数的优化之前)。N表示有效输入样本之间的循环数。

滤波器结构 设置
完全平行收缩结构
  • 离散FIR滤波器

  • 法罗速率变换器

  • 信道器

  • 通道合成器

  • 冷杉杀害多人者

  • 冷杉插入器

  • 适用于离散FIR滤波器,法罗速率变换器,信道化器和信道合成器滤波器结构直接形式systolic

  • 对于FIR Decimator和FIR Interpolator - Set滤波器结构直接形式systolic而且循环次数为1。

完全平行转置的建筑
  • 离散FIR滤波器

  • 法罗速率变换器

  • 信道器

  • 通道合成器

  • 冷杉杀害多人者

  • 冷杉插入器

滤波器结构直接式转置
部分串联收缩结构(1 < N < L)
  • 离散FIR滤波器

  • 法罗速率变换器

  • 冷杉杀害多人者

  • 冷杉插入器

  • 对于离散FIR滤波器集滤波器结构部分连续收缩期并通过循环或乘数指定序列化因子,结果为1<N<l

  • 适用于Farrow速率转换器,FIR Decimator和FIR Interpolator - Set滤波器结构直接形式systolic而且有效输入样本之间的最小循环数到大于1但小于l

全串联收缩压结构(N≥L)
  • 离散FIR滤波器

  • 法罗速率变换器

  • 冷杉杀害多人者

  • 冷杉插入器

  • 对于离散FIR滤波器集滤波器结构部分连续收缩期并通过循环指定一个序列化因子Nl,或设置乘数数1

  • 适用于Farrow速率转换器,FIR Decimator和FIR Interpolator - Set滤波器结构直接形式systolic而且有效输入样本之间的最小循环数到一个大于l

复杂的乘数

如果其中一个数据或系数是复杂的,但不是两者都复杂,过滤块实现一个过滤器来计算实输出和第二个过滤器来计算虚部。这个实现的结果是每个滤波器抽头有两个乘数。

当数据和系数都很复杂时,块并行实现三个过滤器。该图显示了复杂输入数据的过滤器实现XXr+×X复系数WWr+×W

当你从参数中指定系数时,Wr+W而且Wr-W是预先计算的,因此该实现使用3个DSP块为每个滤波器抽头,加上输入加法器和两个输出加法器。每个滤波器分频倍增器的输入增加一位。

当你使用可编程系数时,过滤器为每个过滤器抽头使用2个以上的加法器。这些加秩器计算系数Wr+W而且Wr-W

基于帧的输入数据

离散FIR滤波器、FIR Decimator、FIR Interpolator、Channelizer和Channel合成器块接受基于帧的输入数据,以支持每秒千兆样本的吞吐量。当你应用基于框架的输入数据时,FIR滤波器实现了滤波器系数的多相分解Vsubfilters,V是输入向量的大小。基于框架的过滤器比标量输入的过滤器提高了吞吐量,使用了更多的硬件资源。基于帧的过滤器不实现对称优化。

对于一个输入向量为1 × 2的滤波器,Y0Y1,该图显示了多相分解为两个实现该方程的子滤波器。

Y 0 z X 0 z H 0 z + z 1 X 1 z H 1 z Y 1 z X 0 z H 1 z + X 1 z H 0 z

每个子过滤器接受标量输入,并使用您所选择的体系结构实现直接形式systolic直接式转置.如果子滤波器由于不同数量的系数或零值系数优化而有不同的延迟,则实现包括内部延迟以对齐输出样本。您不能使用基于帧的输入与串行收缩架构。

当使用带有可编程系数的基于帧的输入时,输出可能与标量模式下的输出不匹配。这种差异是由于将输入向量中的每个样本应用到子滤波器的内部定时。输入系数的变化有效地发生在不同的输入样本中,而不是在标量模式中。

完全平行收缩结构

这种过滤器结构是一个完全平行的收缩结构,对对称或反对称和零值系数进行了优化。延迟取决于对称系数,并显示在块图标上。

当对称系数对的绝对值相等时,它们共享一个DSP块。这种对共享使实现能够使用Xilinx中的预加器®和英特尔®DSP块。图的上半部分显示了一个没有对系数优化的对称滤波器。图的下半部分显示了使用对系数优化的体系结构。

完全平行转置的建筑

完全平行转置体系结构通过共享任何两个或两个以上具有相等绝对值的系数的乘数来最小化乘数。它还去掉了零值系数的乘数。当使用标量输入时,过滤器的延迟为6个周期。这种延迟不随系数的值而改变。

图的上半部分显示了没有等绝对值系数优化的部分对称滤波器的理论架构。图的下半部分显示了使用等价系数优化实现的转置架构。如果系数是反对称的,输出加法器就变成减法。

部分串联收缩结构(1 <N<l

部分串行实现使用=装天花板(l/N收缩的细胞。每个单元由延迟线、系数查找表和DSP(乘法-加法)块组成。系数分布在查找表。每个DSP块执行的计算是串行化的。输入到块的样本必须是标量且至少N周期分开。该块的延迟时间为+装天花板(l/) + 5

如果乘数查找表中的所有系数都是0或2的幂,则实现不包括该乘数。两次乘法的幂被实现为移位。

该块实现了基于ram的延迟线,比基于寄存器的实现使用更少的资源。未初始化的RAM位置可能导致X在您的HDL模拟开始时的值。你可以避免X的方法来初始化RAM,或通过启用初始化所有RAM块配置参数。该参数将RAM位置设置为0用于模拟而被合成工具忽略。

全串联收缩结构(Nl

当您选择这样的序列化因子时Nl,该块实现了全串联收缩结构。对于实系数和实输入,滤波器使用单一的DSP(乘法-加法)块,带有延迟线和所有的查找表l系数。输入样本必须至少N周期分开。该过滤器的延迟时间为l+ 5

相关的话题

Baidu
map