adaptive filtering by using uncorrelativity feature
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ahmed Tawfeeq
am 21 Mai 2012
Kommentiert: Greg Heath
am 9 Okt. 2013
Hi every body..... I have three signals , two of them are supposed to be correlated , while the the third is supposed to be uncorrelated with the first two signals , as I know that for two signals to be uncorrelated , their mean values should be zero, am I wrong? there is a program in matlab help that perform adaptive filtering on ECG signal to extract fetal ECG , but I tried to measure the correlativity between them I found that it does not match what I know about the principle of correlation , please help me to understand that principle....thank you for your patience....
0 Kommentare
Akzeptierte Antwort
Greg Heath
am 23 Aug. 2012
Bearbeitet: Greg Heath
am 23 Aug. 2012
The cross correlation function of two signals is calculated using the zero-mean/unit-variance zscores. Therefore it is invariant w.r.t. changes in means and standard deviations.
Although the functions XCORR, CROSSCORR and NNCORR automatically calculate the zscores, the zscores must be explicitly calculated when obtaining the cross correlation using FFT.
Hope this helps.
Greg
0 Kommentare
Weitere Antworten (1)
Stephen
am 21 Mai 2012
you can get the signal mean to zero by subtracting the original mean. then divide by the variance, to make the variance effectively 1. you can use corr() or crosscorr() to get some sort of answer related to the degree of correlation then. for signals that are correlated, it means that there is some sort of dependence of one signal on the other, so if one increases, the other will either also increase or decrease. if one changed while the other stayed constant, that would be less correlated, but I'm no expert at this, you should read more to get a good idea.
2 Kommentare
Greg Heath
am 9 Okt. 2013
No. Correlation depends on the shape of the function the auto and cross correlations of the following functions should be identical
1. x and y
2. u and v
u = A*x + b
v = C*y + d
Hope this helps.
Greg
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!