corr2

内容

  1. 1 メニュー情報
  2. 2 概要
  3. 3 追加の情報
  4. 4 コマンドラインでの使用法
  5. 5 変数
  6. 6 説明
  7. 7 サンプル
  8. 8 アルゴリズム
  9. 9 参考文献
  10. 10 関連のXファンクション

メニュー情報

2次の相関

概要

2次の相関

追加の情報

これはOriginProのみの機能です。

コマンドラインでの使用法

1. corr2 im1:=Mat(1) im2:=Mat(2);

2. corr2 im1:=Mat(1) im2:=Mat(2) norm:=1;

3. corr2 im1:=Mat(1) im2:=Mat(2) algorithm:=circular;

4. corr2 im1:=Mat(1) im2:=Mat(2) method:=shift;

変数

表示
変数
I/O

データ型
デフォルト
説明
入力行列1 im1

入力

MatrixObject

<unassigned>

最初の2次元の入力信号を持つ行列を指定します。

入力行列2 im2

入力

MatrixObject

<unassigned>

2番目の2次元の入力信号を持つ行列を指定します。

手法 method

入力

int

fft

2D相関を計算する方法を指定します。

オプションリスト

  • fft:FFT
    Shift Accumulate法よりも高速ですが、精度が劣ります。通常、大きなデータに対して使われます。
  • shift:シフト累積
    この方法は、その数学の定義を使って、相関を計算します。これは精度は高いですが、大きなデータに対しては遅くなります。
アルゴリズム algorithm

入力

int

linear

線形相関または循環相関を計算するかどうかを指定します。

オプションリスト

  • linear:線形
    線形の相関が実行されます。入力範囲の外側のデータポイントは0として表示されます。
  • circular:円
    循環相関が実行されます。入力範囲外のデータポイントは入力データポイントの繰り返しと見なされます。
規格化の結果 norm

入力

int

0

結果を規格化するかどうかを指定します。

相関の結果 om

出力

MatrixObject

<新規>!<新規>

出力行列を指定します。

説明

2D相関は、 行列に保存されている2つの2D信号間の類似性を検出するのに使われる方法です。2つの行列、aおよびbの2D相関は次式で定義されます。
Image:corr2_help_English_files_image002.gif

2D相関は線形または循環にすることができます。線形の相関では、元の範囲の外側にあるインデックス付きの要素は0として扱われます。それに対して循環の相関では、元の範囲内の要素の繰り返しで観測されます。線形相関の結果の行列の大きさは、
Image:corr2_help_English_files_image004.jpg
となります。ここで M および N は、それぞれ2つの行列の幅と高さになります。逆に、循環相関を計算する場合、行列の大きさは、
Image:corr2_help_English_files_image006.jpg
となります。通常、入力信号にインパルスが含まれる場合、線形相関が使われ、信号が周期的に表示される場合、循環相関が使われます。

計算した相関のマグニチュードは、信号がどの程度似ているかを示します。相関が大きい場合、2つの信号は大変よく似ていると考えられます。相関が0の場合、2つの信号は独立していると考えられます。

サンプル

1. MBookSignalsという名前の行列の1番目のシートと2番目のシートにある信号の線形相関を計算するには、次のスクリプトコマンドを使います。

corr2 im1:=[MBookSignals]1!1 im2:= [MBookSignals]2!1

2. 2D相関の方法を変更するには、次のように入力し、corr2ダイアログを開き、オプションを選択します。

corr2 -d

3. 事前に保存したテーマファイルを使ってデータに2D相関を実行するには、corr2ダイアログで設定を保存し、保存したテーマのタイトルを使って、次のスクリプトコマンドを実行します。

corr2 -t "my two-d corelation theme.oth"

アルゴリズム

2D相関の計算には2つの方法 – FFT および Shift-Accumulationがあります。Shift accumulationが選択されると、結果は相関の定義式を使って計算されます。FFTが選択されると、2D相関の計算は実際には次の手順で実行されます。

1. 両方の2D信号の離散フーリエ変換が2D FFTを使って計算されます。

2. 最初の信号のフーリエ係数と2番目の信号の共役係数の乗算が行われます。

3. 積に逆離散フーリエ変換を実行します。

一般的には、FFTの方法は大きなデータに対して高速に計算しますが、FFTの性質から境界に近いいくつかのデータポイントに対して正確さが失われます。

参考文献

William H.Press, Brian P.Flannery, Saul A.Teukolsky, William T.Vetterling.1992.Numerical Recipes in C : The Art of Scientific Computing.Cambridge University Press.

関連のXファンクション

conv, fft1, ifft1