FPGA 中的低通滤波器

Low Pass Filters in FPGA's

我正在尝试使用 VHDL 在 FPGA 中实现低通滤波器。现在,我计算出了所有的滤波器系数,但我无法理解如何使用这些系数,因为它们不是整数。对于 VHDL 中的简单过滤器实现示例,我将不胜感激。

非常感谢, 克里斯

您应该将系数转换为定点数。

很短:

  • 选择一个精度并将所有系数乘以最接近的两个较高的倒数幂。
  • 在FPGA中进行正常的乘加运算。
  • 最终结果应除以相同的 2 次方。

示例:

  • 系数为 C0 = 0.707,C1= 0.123
  • 让我们取 0.5% 的精度,即 1/200
  • 200 以上最接近的 2 次方是 256
  • C0变为0.707*256 = 181,C1变为0.123*256 = 31.
  • 在你的过滤器中使用它们。
  • 最后丢掉底部的 8 位(额外的你可以使用位 7 舍入)