File Exchange

image thumbnail

Circular Cross Correlation using FFT

version (1.69 KB) by Johannes Schmitz
Calculate the circular and non-circular cross correlation using the FFT method.


Updated 17 Oct 2013

View License

Rough idea:
Get the crosscorrelation of two vectors a and b by:

e = fft(c);
f = fft(d);

g = e.*conj(f);

h = ifft(g);

See code for complete version and details like zeropadding.

Cite As

Johannes Schmitz (2020). Circular Cross Correlation using FFT (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

Leyuan Pan

Hi, a quick question here. Why a fftshift is required in cxcorr_fft?

Lukas Post

Why dont you pad the first array after the data?


Hi, I have a signal of frequency 1 and 3 Hz. And another signal of 1 and 5 Hz. Can I eliminate common frequency(1 Hz) from each signal by using circular cross correlation?

Fan D.Chen

This program is perfect, I have to say, thank you

MATLAB Release Compatibility
Created with R2013b
Compatible with any release
Platform Compatibility
Windows macOS Linux