Oppenheim 的离散时间信号处理说,要使两个 DFT(即循环卷积)的乘积等于线性卷积,DFT 的长度必须至少为 P + L - 1,其中 P 和 L 是时域序列的长度用于计算 DFT。我理解这意味着数字滤波器的输出将比输入长。
Matlab 的 filter 函数返回一个与输入长度相同的序列。它是如何做到的?如果你不增加输出的长度,它如何避免你应该得到的时域中的混叠?
希望滤波器输出与输入具有相同的长度。我可以让输入和输出是正弦曲线的整数个周期,并避免任何频谱泄漏。要求对信号进行零填充以进行滤波使得不可能避免频谱泄漏。