带通滤波器使频率加倍

信息处理 过滤器 频谱 卷积 带通
2022-02-24 20:19:59

我在实现一个复杂的带通滤波器时遇到了一个奇怪的错误。滤波器设计过程基于加窗方法并且似乎运行良好,但是当我在我的时域输入样本上应用滤波器的系数并执行 DFFT 时,载波频率加倍。我真的不知道为什么会发生这种情况,但我的猜测是我在卷积过程中做了坏事。第一个图显示了复带通滤波器的幅度响应。第二张图显示了我输入的 5kHz 载波信号的 FFT,第三张图显示了相同的数据,但应用了 BP 滤波器。一切都在复杂的平原上发生。

复带通滤波器

未应用滤波器 - 5kHz 载波 带通滤波器应用于相同的 5kHz 载波输入

3个回答

您的复数乘法代码为每个输出样本输入 2 个样本。这将充当倍频器。

我在仔细检查我的应用程序的整个实施时发现了问题的根源。几周前,我添加了一种从二进制文件中读取单个输入样本的方法,但我不知何故弄乱了我使用的缓冲区的大小。它必须是 8 字节长(2 个浮点数的空间),代表样本的实部和虚部,但我使用了 16 个字节。真是愚蠢的错误!感谢您的帮助,我很高兴!

你的采样频率是多少,fm?你应用了奈奎斯特定理吗?您可能需要执行 fm/2=fe,然后将通带 Wp 和消除频带 Ws 转换为 Wp/fe 和 Ws/fe。