Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Convolution

2 つの入力の畳み込み

  • Convolution block

ライブラリ:
DSP System Toolbox / Signal Operations

説明

Convolution ブロックは N 次元入力配列 u の最初の次元と N 次元入力配列 v の最初の次元を畳み込みます。このブロックは、列ベクトルと N 次元入力配列の最初の次元の畳み込みも行うことができます。

畳み込みの一般的な方程式は次のようになります。

y(k)=nu(nk)v(k)

2 つの DSP System Toolbox™ ブロックは、次の 2 つの入力信号を畳み込むために使用できます。

Convolution ブロックは、u と v のすべての要素が各 Simulink® タイム ステップで使用可能であると仮定し、それぞれのタイム ステップで畳み込み全体を計算します。

Discrete FIR Filter ブロックは、各タイム ステップで v のすべての要素を使用できる状況で信号の畳み込みを行うために使用できますが、u はシミュレーションの進行につれて生成されるシーケンスです。Discrete FIR Filter ブロックを使用すると、畳み込みは 1 回のみ計算されます。

最適なブロックを判断するには、適切な畳み込みブロックの選択を参照してください。

端子

入力

すべて展開する

最初の入力 u。スカラー、ベクトル、行列またはN-D 配列として指定します。両方の入力が実数の場合、出力は実数になります。一方または両方の入力が複素数の場合、出力は複素数になります。両方の入力で、すべての入力端子の次元 (最初の次元を除く) は同じ値でなければなりません。

入力 uv は、有効な範囲外でインデックス化される場合はゼロになります。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
複素数のサポート: あり

2 番目の入力 v。スカラー、ベクトル、行列または N 次元配列として指定します。両方の入力が実数の場合、出力は実数になります。一方または両方の入力が複素数の場合、出力は複素数になります。両方の入力で、すべての入力端子の次元 (最初の次元を除く) は同じ値でなければなりません。

入力 uv は、有効な範囲外でインデックス化される場合はゼロになります。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
複素数のサポート: あり

出力

すべて展開する

畳み込まれた信号。入力信号に応じて、スカラー、ベクトル、行列または N-D 配列として返されます。両方の入力が実数の場合、出力は実数になります。一方または両方の入力が複素数の場合、出力は複素数になります。入力 u と v は、有効な範囲外でインデックス化される場合はゼロになります。畳み込まれた信号が入力によってどのように変化するかという点の詳細については、詳細を参照してください。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
複素数のサポート: あり

パラメーター

すべて展開する

[メイン] タブ

ブロックが畳み込みを計算する領域を設定します。

  • 時間 — ブロックは時間領域で計算を行い、これによりメモリ使用量が最小化されます。

  • 周波数 — ブロックは周波数領域で計算を行い、入力の長さによっては時間領域で計算するよりも必要な計算量が少なくなる可能性があります。

  • 最速 — ブロックは計算数が最小限になる領域で計算を行います。

固定小数点信号は時間領域でのみサポートされます。固定小数点信号を入力する際は、必ず [計算領域] パラメーターを [時間] に設定してください。

[データ型] タブ

固定小数点演算の丸めモードを次のいずれかに指定します。

  • 負方向

  • 正方向

  • 最も近い偶数方向

  • 最も近い正の整数方向

  • 最も近い整数方向

  • 最も簡潔

  • ゼロ方向

詳細については、丸めモードを参照してください。

メモ

[丸めモード][整数オーバーフローで飽和] のパラメーターは、以下のすべての条件に一致する場合、数値結果には影響しません。

  • [乗算出力] のデータ型が次である。[継承: 内部ルールによる継承]

  • [アキュムレータ] のデータ型が次である。[継承: 内部ルールによる継承]

  • [出力] のデータ型が次である。[継承: アキュムレータと同じ]

これらのデータ型設定を使用すると、ブロックは完全精度モードで動作します。

このパラメーターをオンにすると、ブロックは固定小数点演算の結果を飽和させます。このパラメーターをオフにすると、ブロックは固定小数点演算の結果をラップします。"飽和" および "ラップ" の詳細については、固定小数点演算のオーバーフロー処理を参照してください。

メモ

[丸めモード][整数オーバーフローで飽和] のパラメーターは、以下のすべての条件に一致する場合、数値結果には影響しません。

  • [乗算出力] のデータ型が次である。[継承: 内部ルールによる継承]

  • [アキュムレータ] のデータ型が次である。[継承: 内部ルールによる継承]

  • [出力] のデータ型が次である。[継承: アキュムレータと同じ]

これらのデータ型設定を使用すると、ブロックは完全精度モードで動作します。

[乗算出力] は、Convolution ブロックでの乗算操作の出力のデータ型を指定します。

  • 継承: 内部ルールによる継承 — ブロックは内部ルールに基づき乗算出力のデータ型を継承します。このルールの詳細については、内部ルールによる継承を参照してください。

  • 継承: 1 番目の入力と同じ — ブロックは乗算出力のデータ型を最初の入力のデータ型と同じになるように指定します。

  • fixdt([],16,0) — ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。

[乗算出力] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。

データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

乗算出力データ型の詳細については、乗算のデータ型および拡張機能の「固定小数点の変換」を参照してください。

[アキュムレータ] は、Convolution ブロックでの累積操作の出力のデータ型を指定します。

  • 継承: 内部ルールによる継承 — ブロックは内部ルールに基づきアキュムレータのデータ型を継承します。このルールの詳細については、内部ルールによる継承を参照してください。

  • 継承: 1 番目の入力と同じ — ブロックはアキュムレータのデータ型を最初の入力のデータ型と同じになるように指定します。

  • 継承: 乗算出力と同じ — ブロックはアキュムレータのデータ型を乗算出力のデータ型と同じになるように指定します。

  • fixdt([],16,0) — ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。

[アキュムレータ] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。

データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

このブロックのアキュムレータ データ型の使い方を示す図は、拡張機能の「固定小数点の変換」を参照してください。

[出力] は、Convolution ブロックの出力のデータ型を指定します。

  • 継承: アキュムレータと同じ — ブロックは出力のデータ型をアキュムレータのデータ型と同じになるように指定します。

  • 継承: 1 番目の入力と同じ — ブロックは出力のデータ型を最初の入力のデータ型と同じになるように指定します。

  • 継承: 乗算出力と同じ — ブロックは出力のデータ型を乗算出力のデータ型と同じになるように指定します。

  • fixdt([],16,0) — ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。

[出力] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。

詳細については、信号のデータ型の制御 (Simulink)を参照してください。

出力データ型の詳細については、拡張機能の「固定小数点の変換」を参照してください。

ブロックが出力可能な最小値を指定します。Simulink では、この最小値を使用して次を行います。

  • シミュレーション範囲のチェック。信号範囲の指定 (Simulink)を参照してください。

  • 固定小数点データ型の自動スケーリング。

ブロックが出力可能な最大値を指定します。Simulink では、この最大値を使用して次を行います。

  • シミュレーション範囲のチェック。信号範囲の指定 (Simulink)を参照してください。

  • 固定小数点データ型の自動スケーリング。

ブロック ダイアログ ボックスで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。

ブロックの特性

データ型

double | fixed point | integer | single

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

詳細

すべて展開する

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考

関数

ブロック