Why do "corr(x,y)" and "xcorr(x,y)" give different answers when x and y are simulated discrete samples of radar signals of form a*e^ib, with partially correlated randomized b values?

77 vues (au cours des 30 derniers jours)
To calculate the correlation between discrete samples from two simulated radar signals (column vectors of equal length), there appear to be two approaches in Matlab. One is the function "corr(x,y)" in the statistics toolbox and the other is "xcorr(x,y)" in the signal processing toolbox. For a given set of signal samples x,y these two functions give different results and the reason for the difference is not apparent.

Réponse acceptée

Honglei Chen
Honglei Chen le 11 Déc 2018
It would be helpful if you could provide a script showcasing the difference and explain why you think the two should be the same.
From the documentation, corr and xcorr are quite different. corr computes the correlation coefficients between the two sequences, while xcorr computes the correlation of one sequence with another sequence at different delays. So to me it's expected that the two results are different.
HTH
  3 commentaires
Honglei Chen
Honglei Chen le 12 Déc 2018
Thanks for the clarification. The difference is that corr removes the mean of the signal while xcorr does not. If you compare
corr(x,y)
and
xcorr(x-mean(x),y-mean(y),0,'coeff')
the two should be the same.
HTH

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by