離散自己/相互相関を計算する
[c, lagindex] = xcorr(x) [c, lagindex] = xcorr(x, y) [c, lagindex] = xcorr(.., maxlags) [c, lagindex] = xcorr(.., maxlags, scaling)
実数または複素浮動小数点数のベクトル.
実数または複素浮動小数点数のベクトル.
デフォルト値は x
.
スカラーで,1より大きな整数.
デフォルト値は n
.
ただし,n
はx
,
y
ベクトルの長さの大きい方です.
文字列で,値は以下のどれか:
"biased"
, "unbiased"
,
"coeff"
, "none"
.
デフォルト値は "none"
.
実数または浮動小数点数のベクトルで,向きは
x
と同じです.
行ベクトルで, c
の値に
対応する添字(lag index)を有します.
c=xcorr(x)
は,以下のように正規化しない離散自己共分散を計算します:
c
を返します.
自己共分散の並びは,
Ck=-n:n
となります.ただし,n
は,
x
の長さです.xcorr(x,y)
は正規化しない離散相互共分散を以下のように計算します:
c
に返します.
相互共分散の並びは,
Ck=-n:nとなります.
ただし,n
は,
x
およびy
の長さの大きい方です.maxlags
引数が指定された場合,
xcorr
は c
を
返し,共分散の並びは Ck=-maxlags:maxlags と
なります.
maxlags
が length(x)
よりも
大きい場合, c
の先頭と末尾の複数の値は
ゼロになります.
scaling
引数は,
c
に結果を出力する前に
C(k)を正規化する方法を以下のように指定します:
c=
C/n
.c=
C./(n-(-maxlags:maxlags))
.c=
C/(norm(x)*norm(y))
.![]() | corr
関数は 手法この関数は,ifft(fft(x).*conj(fft(y))) により
Cを計算します. |
t = linspace(0, 100, 2000); y = 0.8 * sin(t) + 0.8 * sin(2 * t); [c, ind] = xcorr(y, "biased"); plot(ind, c) | ![]() | ![]() |
Version | Description |
5.4.0 | xcorr追加. |