自己相関
- 更新日2025-07-30
- 5分で読める
入力シーケンスXの自己相関を計算します。データをX入力に配線して使用する多態性インスタンスを決定するか、インスタンスを手動で選択します。

1D自己相関
関数x(t)の自己相関Rxx(t)は、以下のように定義されます。

ここで、記号⊖は相関を表す。
「自己相関」VIの離散展開では、Yは指標付けが負になり得るシーケンス、Nは入力シーケンスXの要素数であるとし、以下の関係で示されるように、その範囲外にあるXの指標付けされた要素が0に等しいことを前提とします。
xj = 0, j < 0 または j ≥ N次に、「自己相関」VIは、以下の式によってYの要素を求めます。
,ここで、j = –(N–1), –(N–2), …, –1, 0, 1, …, (N–2), (N–1)
出力シーケンスRxxの要素は、以下の式によってシーケンスYの要素と関連付けられます。
Rxxi = yi–(N–1)ここで、i = 0, 1, 2, … , 2N–2
出力シーケンスRxxの要素数が2N–1であることに注意してください。LabVIEW配列は指標付けで負の数値を使用できないため、t = 0の対応する相関値は出力シーケンスRxxのN番目の要素になります。したがって、Rxxは「自己相関」VIが指標付けでN回シフトする相関値を表します。以下のブロックダイアグラムは、「自己相関」VIの正しい指標付けを表示する方法の1つを示します。

以下のグラフは、上記のブロックダイアグラムの結果を示します。

自動相関の計算の精度を向上させるには、正規化が必要な場合もあります。このVIは、バイアスのある正規化とバイアスのない正規化を行います。
-
偏った正規化
正規化に 偏りがある場合、LabVIEWは以下のように偏った正規化を適用します:

ここで、j = –(N–1), –(N–2), …, –1, 0, 1, … , (N–2), (N–1)、
Rxx(バイアスあり)i = yi–(N–1)ここで、i = 0, 1, 2, … , 2N–2
-
不偏正規化
正規化が 不偏である場合、LabVIEWは以下のように不偏正規化を適用します:

ここで、j = –(N–1), –(N–2), …, –1, 0, 1, … , (N–2), (N–1)、
Rxx(バイアスなし)i = yi–(N–1)ここで、i = 0, 1, 2, … , 2N–2
2D自己相関
「自己相関」VIは、2次元の自己相関を以下の式で計算します。

ここで、i = –(M–1), …, –1, 0, 1, … , (M–1) および j = –(N–1), …, –1, 0, 1, … , (N–1)
ここで、M は行列Xの行数で、N は行列Xの列数です。範囲外にある指標付けされた要素Xは、以下の関係式に示されるように0に等しくなります。
x(m,n) =0、 m <0または m ≧ M または n <0または n ≧ N