将频域中的高频归零而不是与低通滤波器卷积是否正确?
Is it correct to zero high frequencies in frequency domain instead of convolution with a lowpass filter?
我有一个 3M 样本长的信号。我想对其进行子采样。我知道为了避免混叠,我需要过滤掉高于奈奎斯特频率的频率。我知道我可以通过与某些滤波器(例如 Butterworth)进行卷积来做到这一点,但我知道这样可以保留一些高频。
我想知道我是否可以将频域中不需要的频率归零并使用反向 FFT 返回到时域。这种方法在数值上是否正确?我知道某些库使用 FFT 加速卷积。
这不太正确。将 FFT 中的顶部频率归零只会将波长除以 FFT 长度的频率归零。如果您将信号频移半个 bin 并进行另一个 FFT,您会发现存在一些泄漏并且较高频率不全为零。
结果会非常接近,但是对 整个信号进行 FFT 是非常接近的一种非常昂贵的方法。
您应该只使用普通过滤器。只要在滤波器截止频率和奈奎斯特频率之间留出合理的空间,就可以轻松确保混叠误差远小于量化误差和其他噪声。
我有一个 3M 样本长的信号。我想对其进行子采样。我知道为了避免混叠,我需要过滤掉高于奈奎斯特频率的频率。我知道我可以通过与某些滤波器(例如 Butterworth)进行卷积来做到这一点,但我知道这样可以保留一些高频。
我想知道我是否可以将频域中不需要的频率归零并使用反向 FFT 返回到时域。这种方法在数值上是否正确?我知道某些库使用 FFT 加速卷积。
这不太正确。将 FFT 中的顶部频率归零只会将波长除以 FFT 长度的频率归零。如果您将信号频移半个 bin 并进行另一个 FFT,您会发现存在一些泄漏并且较高频率不全为零。
结果会非常接近,但是对 整个信号进行 FFT 是非常接近的一种非常昂贵的方法。
您应该只使用普通过滤器。只要在滤波器截止频率和奈奎斯特频率之间留出合理的空间,就可以轻松确保混叠误差远小于量化误差和其他噪声。