通过 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 快速卷积相关会产生循环自相关,而不是线性自相关,这通常是所需要的。
我想从概念上理解为什么在通过 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 快速卷积相关会产生循环自相关,而不是线性自相关,这通常是所需要的。