为什么 FIR 经常使用直接形式而不是转置形式?

信息处理 过滤器 离散信号 信号分析 有限脉冲响应 数字滤波器
2022-01-27 01:26:06

尽管转置形式的计算负担和内存要求较少,但为什么 FIR 主要使用直接形式?

在此处输入图像描述

在此处输入图像描述

2个回答

我看不出这两种实现之间如何减少内存或计算负担(注意这并不意味着简单,只是需要计算的数量,请继续阅读......)通常使用转置形式的决定是为了高使用大量抽头加速 FPGA 实现,因为您可以消除长加法器树,否则由于乘法器和加法器延迟的累积效应,这会将最大时钟频率限制为较低的数字,但对于固定精度,这可能会变得更加复杂实施,因为位宽必须随着您在过滤器中的进行而增长。(这种考虑在存在反馈但影响具有大型加法器树的 FIR 实现的 IIR 实现中尤为重要,也是将更长的 IIR 滤波器分解为级联形式的原因)。

我在下面对适用于 FIR/IIR 的基本形式进行了总结,以使可能不太熟悉的读者受益,并在评论中查看 Ben 的链接以获取特定于 FPGA 实现的更高级结构:

直接表格 1

直接形式 2

转置过滤器

转置自

级联从

如果实现在最终输出必须进行量化之前保留位,则直接形式比转置形式简单得多。使用转置形式要求您的状态具有双宽字宽,除非您将这些状态中的每一个量化回单宽。但这比仅仅将一堆双宽词相加并量化结果更大的量化误差。