If I have a signal A at 2 kHz and signal B mixed at 2 kHz + 3kHz, and then i take the FFT of them both, and then cross-correlate them many times, the 3kHz peak should disappear? Since this peak is not present in signal A.


  • $\begingroup$ Why don't you cross-correlate them in time domain itself? $\endgroup$ – DSP Novice Mar 17 '20 at 4:02

If your intention is to cross-correlate the two signals, they will only disappear (zero result) if you are judicious with your time duration of the signals.

The description and question is somewhat confusing however since "cross-correlation in the frequency domain" typically means using the following relationship to perform (circular) cross-correlation:

$${\tt xcorr}(a,b) = {\tt ifft}\left({\tt fft}(a) {\tt fft}(b)^*\right)$$

where the * represents a complex conjugate. And the intention here is to cross-correlate time domain signals through multiplication in the frequency domain.

To cross correlate the actual frequency waveforms meaning you do want to correlate the frequency spectrums themselves (treated as arbitrary waveforms) is simply then cross correlating impulses, so would have the expected result for doing that: the cross correlation function of impulses results in impulses with their related shifts, in this case shifted in frequency.

To achieve what I think you are trying to accomplish given your final sentence and expected result, you would multiply in the frequency domain (not convolve!), in which case the expected signal would "disappear" with proper processing as detailed below since this would indeed represent the equivalent of convolution in the time domain.

Note that the magnitude of correlation versus a frequency offset is a Sinc function with the first null at $1/T$ where $T$ is the time duration of the signal for which you take the FFT.

For example consider a signal that is a single tone with frequency 1 MHz and correlate it to another single tone with 1 KHz offset (1.001 MHz). If your time duration of the two signals is exactly 1 ms then you will indeed get a zero result (this is the foundation of the “Orthogonal” in OFDM). But if for example the duration was 1.5 ms, you will still see a significant result in the cross correlation of the two!

This ultimately defines the resolution bandwidth of the correlation and because of the relatively high sidelobes that don’t rapidly decease, we often use windowing techniques prior to correlating (and taking FFT’s) to decrease the cross correlation of more distant signals when a high dynamic range is desired (but windowing increases the main lobe—- pushes further out the location of that first correlation null beyond the frequency offset given by $1/T$).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.