Does xcorr use zero padding to negate end effects?
Ältere Kommentare anzeigen
I am new to much of Matlab and signal processing, but would like to know if the Matlab function xcorr automatically zero-pads the two input vectors (in real life these would be two vectors of sampled data) to negate the end effects that usually occur when performing discrete Fourier Transforms, or in this case the discrete FFT.
Antworten (1)
Wayne King
am 30 Jan. 2013
Bearbeitet: Wayne King
am 30 Jan. 2013
0 Stimmen
Hi, xcorr() does pad the DFT of the input vectors to the length
2^nextpow2(2*M-1)
where M is the greater length of the two input vectors. So in the case of autocorrelation, that is clearly the length of the input vector.
In the case of cross correlation with different length vectors, M is the length of the longest vector and the shorter vector is appended with zeros in the time domain before computing the DFT.
2 Kommentare
Richard
am 30 Jan. 2013
Wayne King
am 30 Jan. 2013
Hi Richard, No, it will use an padding on the fft() of 2^nextpow2(2*8-1) or 2^4=16
nextpow2(2*8-1) is power of 2 larger than 15 or 4 in this case, since 2^4 is 16.
Kategorien
Mehr zu Correlation and Convolution finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!