corr2
メニュー情報
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相関は次式で定義されます。
2D相関は線形または循環にすることができます。線形の相関では、元の範囲の外側にあるインデックス付きの要素は0として扱われます。それに対して循環の相関では、元の範囲内の要素の繰り返しで観測されます。線形相関の結果の行列の大きさは、
となります。ここで M および N は、それぞれ2つの行列の幅と高さになります。逆に、循環相関を計算する場合、行列の大きさは、
となります。通常、入力信号にインパルスが含まれる場合、線形相関が使われ、信号が周期的に表示される場合、循環相関が使われます。
計算した相関のマグニチュードは、信号がどの程度似ているかを示します。相関が大きい場合、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
|