Covariance estimation - disregarding phase info
I would like to estimate the covariance of two signals and in particular a pure sinusoidal with 10Hz frequency (s1) and another one formed by band-pass filtering white noise in the band of 9-11Hz (s2). The problem is that I dont want the estimate to be biased by the phase of the signals. To be more precise, I would like to have a measure of how closer the sinusoidal signal is to s2, when compared to, lets say another periodic signal with frequency outside the 9-11 band. So in other words I should find a way to go around the problem of matching the phase of signal s2 with that of s1. Covariance estimation in the time domain doesnt work for me, so I suspect I could move to the frequency domain where I might be able to remove the phase information. My question is however how could I do that? I know that the following estimates covariance in the frequency domain:
S1 = fft(s1, FFT_SIZE) ;
S2 = fft(s2, FFT_SIZE) ;
C12 = S1 .* conj(S2) ;
However the following:
cova = fftshift(real(ifft(C12))) ;
is not correct, as phase information is not removed. Does anybody know how to remove the phase information? The aim is to have the same estimation of the covariance even after lagging s2 a few samples.