使用方法
c = xcorr(x,y)
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)為統計的隨機序列,-∞<n<∞,其中E{·}為預期的數值操作,且xcorr函式只能估計有限序列。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;
MATLAB程式:
ww = randn(1000,1);
[c_ww,lags] = xcorr(ww,10,'coeff');
stem(lags,c_ww)
參考文獻
[1] Orfanidis, S.J., Optimum Signal Processing. An Introduction. 2nd Edition, Prentice-Hall, Englewood Cliffs, NJ, 1996.