adaptive filtering by using uncorrelativity feature
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ahmed Tawfeeq
el 21 de Mayo de 2012
Comentada: Greg Heath
el 9 de Oct. de 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 comentarios
Respuesta aceptada
Greg Heath
el 23 de Ag. de 2012
Editada: Greg Heath
el 23 de Ag. de 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 comentarios
Más respuestas (1)
Stephen
el 21 de Mayo de 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 comentarios
Greg Heath
el 9 de Oct. de 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
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!