Correlation
2 つの入力の相互相関

ライブラリ:
DSP System Toolbox /
Statistics
説明
Correlation ブロックは、第 1 次元に沿って 2 つの N 次元入力配列の相互相関を計算します。計算は時間領域または周波数領域で実行できます。[計算領域] パラメーターで領域を指定できます。時間領域では、ブロックは最初の入力信号 u を、2 番目の入力信号 v の時間反転複素共役と畳み込みます。周波数領域では、相互相関を計算するために、ブロックは次を行います。
両方の入力信号 U と V のフーリエ変換を行います。
U と V* を乗算します。ここで、* は複素共役を意味します。
積の逆フーリエ変換を計算します。
[計算領域] を [最速]
に設定すると、ブロックは計算数が最小限になる領域を選択します。これらの計算方法の詳細については、アルゴリズムを参照してください。
端子
入力
このブロックは、実数値または複素数値のマルチチャネルの多次元入力を受け入れます。[計算領域] を [時間]
に設定すると、入力は固定小数点信号になります。入力信号の一方または両方が複素数の場合、出力信号も複素数になります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
複素数のサポート: あり
このブロックは、実数値または複素数値のマルチチャネルの多次元入力を受け入れます。[計算領域] を [時間]
に設定すると、入力は固定小数点信号になります。入力信号の一方または両方が複素数の場合、出力信号も複素数になります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
複素数のサポート: あり
出力
2 つの入力信号の相互相関出力。
入力が N 次元配列の場合、オブジェクトは最初の次元を除くすべての次元が入力配列と一致する N 次元配列を出力します。以下に例を示します。
入力 u と v の次元がそれぞれ Mu×N×P と Mv×N×P の場合、Correlation ブロックは (Mu + Mv – 1)×N×P の配列を出力します。
入力 u と v の次元が Mu 行 N 列と Mv 行 N 列の場合、ブロックは (Mu + Mv – 1) 行 N 列の行列を出力します。
1 つの入力が列ベクトルで、もう 1 つの入力が N 次元配列の場合、Correlation ブロックはベクトルと N 次元配列の各列との相互相関を計算します。以下に例を示します。
入力 u が Mu 行 1 列の列ベクトルで、v が Mv 行 N 列の行列の場合、ブロックは (Mu + Mv – 1) 行 N 列の行列を出力します。
同様に、u と v がそれぞれ長さ Mu と Mv の列ベクトルである場合、ブロックはベクトル相互相関を実行します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
複素数のサポート: あり
パラメーター
[メイン] タブ
時間
— 時間領域で相互相関を計算し、メモリ使用量を最小限に抑えます。周波数
— 周波数領域で相互相関を計算します。詳細については、アルゴリズムを参照してください。最速
— 計算数が最小限になる領域で相互相関を計算します。
固定小数点信号を相互相関させるには、このパラメーターを [時間]
に設定します。
[データ型] タブ
メモ
固定小数点信号は時間領域でのみサポートされます。これらのパラメーターを使用するには、[メイン] タブで [計算領域] を [時間]
に設定します。
固定小数点演算の丸めモードを次のいずれかに指定します。
負方向
正方向
最も近い偶数方向
最も近い正の整数方向
最も近い整数方向
最も簡潔
ゼロ方向
詳細については、丸めモードを参照してください。
メモ
[丸めモード] と [整数オーバーフローで飽和] のパラメーターは、以下のすべての条件に一致する場合、数値結果には影響しません。
[乗算出力] のデータ型が次である。
[継承: 内部ルールによる継承]
。[アキュムレータ] のデータ型が次である。
[継承: 内部ルールによる継承]
。[出力] のデータ型が次である。
[継承: アキュムレータと同じ]
。
これらのデータ型設定を使用すると、ブロックは完全精度モードで動作します。
このパラメーターをオンにすると、ブロックは固定小数点演算の結果を飽和させます。このパラメーターをオフにすると、ブロックは固定小数点演算の結果をラップします。saturate
および wrap
の詳細については、固定小数点演算のオーバーフロー モードを参照してください。
メモ
[丸めモード] と [整数オーバーフローで飽和] のパラメーターは、以下のすべての条件に一致する場合、数値結果には影響しません。
[乗算出力] のデータ型が次である。
[継承: 内部ルールによる継承]
。[アキュムレータ] のデータ型が次である。
[継承: 内部ルールによる継承]
。
これらのデータ型設定を使用すると、ブロックは完全精度モードで動作します。
[乗算出力] は、Correlation ブロック内の乗算演算の出力のデータ型を指定します。乗算出力データ型の詳細については、乗算のデータ型および固定小数点データ型を参照してください。
継承: 内部ルールによる継承
— ブロックは内部ルールに基づき乗算出力のデータ型を継承します。このルールの詳細については、内部ルールによる継承を参照してください。継承: 入力と同じ
— ブロックは乗算出力のデータ型を入力のデータ型と同じになるように指定します。fixdt([],16,0)
— ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。
[乗算出力] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。
データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
[アキュムレータ] は、Correlation ブロックでの累積演算の出力のデータ型を指定します。このブロックのアキュムレータ データ型の使い方を示す図については、固定小数点データ型を参照してください。
継承: 内部ルールによる継承
— ブロックは内部ルールに基づきアキュムレータのデータ型を継承します。このルールの詳細については、内部ルールによる継承を参照してください。継承: 入力と同じ
— ブロックはアキュムレータのデータ型を入力のデータ型と同じになるように指定します。継承: 乗算出力と同じ
— ブロックはアキュムレータのデータ型を乗算出力のデータ型と同じになるように指定します。fixdt([],16,0)
— ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。
[アキュムレータ] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。
データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
[出力] は、Correlation ブロックの出力のデータ型を指定します。出力データ型の詳細については、固定小数点データ型を参照してください。
継承: 入力と同じ
— ブロックは出力のデータ型を入力のデータ型と同じになるように指定します。継承: 乗算出力と同じ
— ブロックは出力のデータ型を乗算出力のデータ型と同じになるように指定します。継承: アキュムレータと同じ
— ブロックは出力のデータ型をアキュムレータのデータ型と同じになるように指定します。fixdt([],16,0)
— ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。
[出力] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。
データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
ブロックが出力可能な最小値を指定します。Simulink® ソフトウェアでは、この最小値を使用して次を行います。
シミュレーション範囲のチェック。信号範囲の指定 (Simulink)を参照してください。
固定小数点データ型の自動スケーリング。
ブロックが出力可能な最大値を指定します。Simulink ソフトウェアでは、この最大値を使用して次を行います。
シミュレーション範囲のチェック。信号範囲の指定 (Simulink)を参照してください。
固定小数点データ型の自動スケーリング。
ブロック ダイアログ ボックスで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
相互相関は、2 つの離散時間シーケンスの類似性を、一方が他方に対して示す遅延の関数として表すものです。
長さが N である、2 つの決定論的入力、または結合広義定常 (WSS) ランダム過程の 2 つのリアライゼーション x と y の相互相関は、次の関係を使用して計算されます。
ここで、h はラグを表し、* は複素共役を表します。入力が結合 WSS ランダム過程のリアライゼーションである場合、rxy(h) は、次の式で表される理論上の相互相関の非正規化推定値になります。
ここで、E{ } は期待値演算子です。
次の図は、Correlation ブロックが固定小数点信号に使用するデータ型を示しています (時間領域のみ)。
ブロックの [データ型] タブで、乗算出力、アキュムレータ、および出力データ型を設定できます。
入力が実数の場合、乗算器の出力は乗算出力のデータ型になります。入力が複素数の場合、乗算器の出力はアキュムレータのデータ型になります。実行される複素数の乗算の詳細については、乗算のデータ型を参照してください。
メモ
1 つまたは両方の入力が符号付き固定小数点信号の場合、すべての内部ブロックのデータ型は符号付き固定小数点になります。内部ブロックのデータ型は、両方の入力が符号なし固定小数点信号の場合にのみ、符号なし固定小数点になります。
アルゴリズム
計算領域を時間に設定すると、アルゴリズムは時間領域内の 2 つの信号の相互相関を計算します。この領域では、入力信号は固定小数点信号になります。
2 つの 2 次元配列の相関
入力が 2 つの 2 次元配列の場合、出力の j 番目の列 yuv には次の要素が含まれます。
ここで、
*
は複素共役を意味します。u は Mu 行 N 列の入力行列です。
v は Mv 行 N 列の入力行列です。
yu,v は (Mu + Mv – 1) 行 N 列の行列です。
入力 u と v は、有効な範囲外でインデックス化される場合はゼロになります。
列ベクトルと 2 次元配列の相関
1 つの入力が列ベクトルで、もう 1 つの入力が 2 次元配列の場合、アルゴリズムは入力ベクトルを 2 次元配列の各列と個別に相互相関させます。出力の j 番目の列 yu,v には次の要素が含まれます。
ここで、
*
は複素共役を意味します。u は Mu 行 1 列の列ベクトルです。
v は Mv 行 N 列の行列です。
yuv は (Mu + Mv – 1) 行 N 列の行列です。
入力 u と v は、有効な範囲外でインデックス化される場合はゼロになります。
2 つの列ベクトルの相関
入力が 2 つの列ベクトルの場合、出力の j 番目の列 yuv には次の要素が含まれます。
ここで、
*
は複素共役を意味します。u は Mu 行 1 列の列ベクトルです。
v は Mv 行 1 列の列ベクトルです。
yuv は (Mu + Mv – 1) 行 1 列の列ベクトルです。
入力 u と v は、有効な範囲外でインデックス化される場合はゼロになります。
計算領域を周波数に設定すると、アルゴリズムは周波数領域で相互相関を計算します。
相互相関を計算するためのアルゴリズムは次のようになります。
両方の入力信号 U と V のフーリエ変換を行います。
U と V* を乗算します。ここで、* は複素共役を意味します。
積の逆フーリエ変換を計算します。
この領域で、入力の長さによっては、アルゴリズムに必要な計算量が少なくなる場合があります。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)