我继承了一些使用 FIR 低通滤波器实现 2 插值的 FPGA 代码。该代码附带一个 cocotb 测试台,该测试台还对过滤器 (scipy.signal.lfilter) 进行建模,然后将 VHDL 实现与模型进行比较。VHDL 和模型一致。我使用了一些捕获的基带 20MHz WIFI 信号的 ADC 数据,并通过了 cocotb 测试,输出频谱与我预期的不太一样。
左侧是时域数据,右侧是该时域数据的 FFT。最上面的图是输入测试数据(我的 20MHz 基带 WIFI 数据)。中间图是 VHDL 插值 x2 FIR 的输出,底部图是 Python 模型输出。
所以我得到了预期的时域数据和频谱加倍,但我不确定为什么我会在 VHDL 和模型输出中得到本底噪声的滚降。任何人都可以就可能导致这种功能的原因提供任何建议吗?