1、matlab中xcorr的用法(轉自他處)函數
Matlab中用於計算自相關函數的指令是xcorr.好比矩陣A=[1 2 3];io
xcorr(A)=3.0000 8.0000 14.0000 8.0000 3.0000變量
自相關函數是信號間隔的函數,間隔有正負間隔,因此n個長度的信號,有2n-1個自相關函數值,分別描述的是不一樣信號間隔的類似程度。sed
好比,上面的矩陣,最後獲得5個結果,其中第三個是本身和本身相乘,最後相加的結果,值最大1*1+2*2+3*3=14。而第二個和第四個分別是間隔正負1的結果也就是1*2+2*3=8,2*1+3*2=8。第1個和第五個分別是間隔正負2,也就是1*3=3,3*1=3。方法
使用方法回目錄
c = xcorr(x,y)
c = xcorr(x)
c = xcorr(x,y,'option')
c = xcorr(x,'option')
c = xcorr(x,y,maxlags)
c = xcorr(x,maxlags)
c = xcorr(x,y,maxlags,'option')
c = xcorr(x,maxlags,'option')
[c,lags] = xcorr(...)
功能描述回目錄
xcorr來估計隨機過程當中的互相關序列,自相關是xcorr的一個特例。
互相關函數序列爲:
x(n)和y(n)爲統計的隨機序列,-∞
c = xcorr(x,y) 返回矢量長度爲2*N-1互相關函數序列,其中x和y的矢量長度均爲N,若是x和y的長度不同,則在短的序列後補零直到二者長度相等。
通常狀況下,xcorr計算無正規化的原始相關係數。
輸出矢量C經過c(m) = Rxy(m-N), m=1, ..., 2N-1.獲得。
一般,互相關函數須要正規化來獲得更準確的估計值。
c = xcorr(x) 爲矢量x的自相關估計;
c = xcorr(x,y,'option') 爲有正規化選項的互相關計算;其中選項爲
"biased"爲有偏的互相關函數估計;
"unbiased"爲無偏的互相關函數估計;
"coeff"爲0延時的正規化序列的自相關計算;
"none"爲原始的互相關計算;
若需瞭解更多的有偏和無偏相關估計,請參閱文獻[1].
c= xcorr(x,'option')特指以上某個選項的自相關估計。
c = xcorr(x,y,maxlags) 返回一個延遲範圍在[-maxlags,maxlags]的互相關函數序列,輸出c的程度爲2*maxlags-1.
c = xcorr(x,maxlags) 返回一個延遲範圍在[-maxlags,maxlags]的自相關函數序列,輸出c的程度爲2*maxlags-1.
c = xcorr(x,y,maxlags,'option') 同時指定maxlags和option的互相關計算.
c = xcorr(x,maxlags,'option') 同時指定maxlags和option的自相關計算.
[c,lags] = xcorr(...)返回一個在c進行相關估計的延遲矢量lag,其範圍爲[-maxlags:maxlags],當maxlags沒有指定時,其範圍爲[-N+1,N-1]
總之,不管是互相關計算仍是相關計算都是以序列中間位置進行0lags計算。
應用舉例回目錄
使用高斯白噪聲進行自相關估計,其中lags=10;
ww = randn(1000,1);
[c_ww,lags] = xcorr(ww,10,'coeff');
stem(lags,c_ww)統計
) 相關程度與相關函數的取值有什麼聯繫?
相關係數只是一個比率,不是等單位量度,無什麼單位名稱,也不是相關的百分數,通常取小數點後兩位來表示。相關係數的正負號只表示相關的方向,絕對值表示相關的程度。由於不是等單位的度量,於是不能說相關係數0.7是0.35兩倍,只能說相關係數爲0.7的二列變量相關程度比相關係數爲0.35的二列變量相關程度更爲密切和更高。也不能說相關係數從0.70到0.80與相關係數從0.30到0.40增長的程度同樣大。
對於相關係數的大小所表示的意義目前在統計學界尚不一致,但一般按下是這樣認爲的:
相關係數 相關程度
0.00-±0.30 微相關
±0.30-±0.50 實相關
±0.50-±0.80 顯著相關
±0.80-±1.00 高度相關
matlab計算自相關函數autocorr和xcorr有什麼不同的?xcorr是沒有將均值減掉作的相關,autocorr則是減掉了均值。matlab