为什么我使用 Matlab 滤波器设计工具创建的滤波器不适用于定点数



我使用Matlab滤波器设计工具创建了一个低通滤波器组。我将银行导出到 Simulink 模型中。双精度,一切正常。但是,如果我使用滤波器设计工具将滤波器转换为定点运算,则输出信号只是噪声或零。

最初,我想为 int16 音频信号创建一个 VHDL 滤波器。但是 eigther fi(1,16,0( 或其他一些定点配置确实有效。

定点设置

测试平台和输入信号设置

输出信号

许多典型的IIR滤波器配置需要比输入和输出更多的精度和更大的中间项和反馈项的动态范围。 根据滤波器类型,所需的额外位数大致与采样速率与滤波器截止频率之比或过渡带的陡度成正比。 若要进行调试,可能需要尝试打印出这些中间项进行检查,并确保它们不会溢出或下溢。

最新更新