通过 FFT 和零填充 MATLAB 实现自相关

Autcorrelation Via FFT and Zero Padding MATLAB

我想从概念上理解为什么在通过 fft 计算向量 x 的自相关函数时,最好的方法是零填充

nFFT = 2^(nextpow2(length(x))+1); 

% nFFT = 2*length(x) will do it as well

F = fft(x-mean(x),nFFT);

而不是,例如

nFFT = 2^(nextpow2(length(y)));

为什么我们填充向量的方式对自相关函数的逼近影响如此之大?

谢谢。

如果零填充不足(到原始长度的 2 倍或更多),FFT 快速卷积相关会产生循环自相关,而不是线性自相关,这通常是所需要的。