2019年3月11日 星期一

【Matlab筆記】cross correlation:xcross與crosscorr之異同

最近因為需要計算關節角度的相似性,所以需要使用cross correlation的計算。


在維基百科中,cross correlation的說明是"a measure of similarity of two series as a function of the displacement of one relative to the other.  This is also known as a sliding dot product or sliding inner-product.",看起來大致符合需求。



不過他的計算原理還是對我而言相對困難,因為我另外找了點比較間單的說明,我覺得以下這個影片有大概解釋了我所需要知道的概念。

(相關出處:David Dorran的cross correlation demo)




而查詢Matlab的function後,發現使其相關的計算共有xcross與crosscorr兩種,所以簡單記錄一下兩種的相同及相異之處。

crosscorr是在Econometrics Toolbox中,在Matlab help中的敘述為Sample cross-correlation,xcorr則是在Signal Processing Toolbox中,其敘述是Cross-correlation。
嗯,還真是看不出個什麼來=..=

而根據function中的說明,xcorr計算的是沒有normallization的原始相關性,而crosscorr則是計算扣除平均、標準化後的相關性。兩個function其實都是在算cross correlation,主要可以看使用目的選擇要用哪一個。

以下兩者的計算可以得到相同的結果:(出處)

c = xcorr(x - mean(x), y - mean(y), N, 'coeff');
C = crosscorr(y, x, N);







沒有留言:

張貼留言