xcorr
離散自己/相互相関を計算する
呼び出し手順
[c, lagindex] = xcorr(x) [c, lagindex] = xcorr(x, y) [c, lagindex] = xcorr(.., maxlags) [c, lagindex] = xcorr(.., maxlags, scaling)
パラメータ
- x
実数または複素浮動小数点数のベクトル.
- y
実数または複素浮動小数点数のベクトル. デフォルト値は
x
.- maxlags
スカラーで,1より大きな整数. デフォルト値は
n
. ただし,n
はx
,y
ベクトルの長さの大きい方です.- scaling
文字列で,値は以下のどれか:
"biased"
,"unbiased"
,"coeff"
,"none"
. デフォルト値は"none"
.- c
実数または浮動小数点数のベクトルで,向きは
x
と同じです.- lagindex
行ベクトルで,
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)を正規化する方法を以下のように指定します:
- "biased":
c=
C/n
. - "unbiased":
c=
C./(n-(-maxlags:maxlags))
. - "coeff":
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)
![](/docs/2023.1.0/ja_JP/xcorr_1.png)
履歴
バージョン | 記述 |
5.4.0 | xcorr追加. |
Report an issue | ||
<< hank | Correlation Convolution | Filters >> |