このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
入力または入力シーケンスの最大値
DSP System Toolbox / Statistics
DSP System Toolbox HDL Support / Statistics
Maximum ブロックは、入力の各行または各列の最大の要素の値と位置や、入力の指定した次元のベクトルにおける最大の要素の値と位置を特定します。また、入力全体の最大値を計算することもできます。Maximum ブロックは一定期間における入力シーケンスの最大値を追跡することもできます。[Mode] パラメーターは、ブロックの演算モードを指定します。これは、次のいずれかに設定できます。
Value
— ブロックは、指定した次元の最大値を出力します。
Index
— ブロックは、指定した次元の最大値のインデックス配列を出力します。
Value and Index
— ブロックは、指定した次元の最大値および対応するインデックス配列を出力します。
Running
— ブロックは一定期間における入力シーケンスの最大値を追跡します。
次元は [Find the maximum value over] パラメーターを使用して指定できます。
メモ
Maximum ブロックの実行モードは将来のリリースで削除される予定です。Simulink® で移動最大値を計算するには、代わりに Moving Maximum ブロックを使用してください。
In
— データ入力このブロックは、実数値または複素数値のマルチチャネルの多次元入力を受け入れます。入力は浮動小数点、固定小数点または Boolean を受け入れます。実数の固定小数点入力は符号付きまたは符号なしです。複素数の固定小数点入力は符号付きでなければなりません。
この端子は、[Mode] パラメーターを [Running]
に設定して [Reset port] パラメーターを [None]
以外のオプションに設定するまでは名前なしになります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
複素数のサポート: あり
Rst
— リセット端子ブロックに移動最大値をリセットさせるリセット イベントを指定します。Rst 入力のサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。
この端子を有効にするには、[Mode] パラメーターを [Running]
に設定して [Reset port] パラメーターを [None]
以外のオプションに設定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| Boolean
Val
— 指定した次元での最大値最大値のデータ型は入力のデータ型と一致します。
[Mode] パラメーターが [Value and Index]
または [Value]
のいずれかに設定されると、以下が適用されます。
ブロックが最大値を計算する次元のサイズは 1 です。その他の次元すべてのサイズは、入力配列の次元のサイズと一致します。たとえば、入力が M x N x P 配列で、次元が 1
に設定されている場合、ブロックは 1 x N x P 配列を出力します。次元が 3
に設定されていると、ブロックは 2 次元の M 行 N 列の行列を出力します。
たとえば、入力が M 行 N 列の行列で、次元が 1
に設定されている場合、ブロックは 1 行 N 列の行列を出力します。
入力全体での最大値を計算するようにブロックに指定すると、ブロックはスカラーを出力します。
[Mode] パラメーターを [Running]
に設定すると、ブロックは M 行 N 列の入力の時間系列における各チャネルの最大値を追跡します。このモードでは、[Input processing] パラメーターの値も次のいずれかの値のように指定しなければなりません。
Elements as channels (sample based)
— ブロックは入力の各要素を別々のチャネルとして扱います。サイズ M x N x P の 3 次元の入力信号の場合、ブロックは M x N x P の配列を出力します。出力の各 yijk 要素には、最後のリセット以降のすべての入力に対する要素 uijk で観測される最大値が含まれます。
リセット イベントが発生すると、現在のフレームの移動最大値 yijk が要素 uijk にリセットされます。
Columns as channels (frame based)
— ブロックは入力の各列を別々のチャネルとして扱います。このオプションは、N > 2 の N 次元の入力信号をサポートしません。サイズ M 行 N 列の 2 次元の入力信号の場合、ブロックは M 行 N 列の行列を出力します。出力の各要素 yij には、最後のリセット以降、現在の入力の要素 uij が含まれる時点までのすべての入力のうちの j 番目の列で観測される最大値が含まれます。
リセット イベントが発生すると、各チャネルの移動最大値は、現在の入力フレームにおける現在の入力サンプルまでを含むすべてのサンプルの最大値になります。
オプションの Rst 端子でリセット イベントが検出されるたびに、ブロックは移動最大値をリセットします。リセットのサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。
この端子を有効にするには、[Mode] パラメーターを [Value and Index]
または [Value]
のいずれかに設定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
複素数のサポート: あり
Idx
— 指定した次元での最大値のインデックス入力が double
の場合、インデックス値も double
です。そうでない場合、インデックス値は uint32
です。
この端子を有効にするには、[Mode] パラメーターを [Value and Index]
または [Index]
のいずれかに設定します。
データ型: double
| uint32
Mode
— ブロックの動作モードValue and Index
(既定値) | Value
| Index
| Running
以下は [Mode] パラメーターの各設定です。
Value
— ブロックは、入力の各行または各列の最大値や入力の指定した次元のベクトルにおける最大値を計算します。また、各サンプル時間の入力全体の最大値を計算して、配列 y を出力することもできます。出力の各要素は、対応する列、行または入力全体の最大値になります。出力 y は、[Find the maximum value over] パラメーターの設定により異なります。サイズ M x N x P の 3 次元の入力信号について考えてみましょう。以下は [Find the maximum value over] の各設定です。
Each row
— 各サンプル時間での出力 y は M x 1 x P 配列で構成され、各要素には入力の 2 番目の次元に対する各ベクトルの最大値が含まれます。入力が M 行 N 列の行列である場合、各サンプル時間での出力は M 行 1 列の列ベクトルになります。
Each column
— 各サンプル時間での出力 y は 1 x N x P の配列で構成され、各要素には入力の 1 番目の次元に対する各ベクトルの最大値が含まれます。入力が M 行 N 列の行列である場合、各サンプル時間での出力は 1 行 N 列の行ベクトルになります。
このモードでは、ブロックは長さ M の方向性をもたないベクトル入力を M 行 1 列の列ベクトルとして扱います。
Entire input
— 各サンプル時間での出力 y は M x N x P の入力行列の最大値を含むスカラーです。
Specified dimension
— 各サンプル時間での出力 y は [Dimension] パラメーターの値によって異なります。[Dimension] が 1
に設定されると、出力は [Each column]
を選択した場合と同じになります。[Dimension] が 2
に設定されると、出力は [Each row]
を選択した場合と同じになります。[Dimension] が 3
に設定されると、各サンプル時間での出力は入力の 3 番目の次元に対する各ベクトルの最大値を含む M 行 N 列の行列となります。
複素数入力
複素数入力の場合、ブロックは、入力の各行または各列の値や入力の指定した次元のベクトルにおける値、または次の図に示す最大振幅の 2 乗をもつ入力全体の値を選択します。複素数値 の場合、振幅の二乗は です。
Index
— ブロックは、入力の各行または各列の最大値や入力の指定した次元のベクトルにおける最大値、または入力全体の最大値を計算して、インデックス配列 I を出力します。I の各要素は、対応する列、行、ベクトルまたは入力全体の最大値にインデックス付けする整数です。出力 I は、[Find the maximum value over] パラメーターの設定により異なります。サイズ M x N x P の 3 次元の入力信号について考えてみましょう。
Each row
— 各サンプル時間での出力 I は M x 1 x P 配列で構成され、各要素には入力の 2 番目の次元に対する各ベクトルの最大値のインデックスが含まれます。M 行 N 列の行列である入力の場合、各サンプル時間での出力は M 行 1 列の列ベクトルになります。
Each column
— 各サンプル時間での出力 I は 1 x N x P の配列で構成され、各要素には入力の 1 番目の次元に対する各ベクトルの最大値のインデックスが含まれます。M 行 N 列の行列である入力の場合、各サンプル時間での出力は 1 行 N 列の行ベクトルになります。
このモードでは、ブロックは長さ M の方向性をもたないベクトル入力を M 行 1 列の列ベクトルとして扱います。
Entire input
— 各サンプル時間での出力 I は M x N x P の入力行列の最大値の位置を含む 1 行 3 列のベクトルです。M 行 N 列の行列である入力の場合、出力は 1 行 2 列のベクトルになります。
Specified dimension
— 各サンプル時間での出力 I は [Dimension] パラメーターの値によって異なります。[Dimension] が 1 に設定されると、出力は [Each column]
を選択した場合と同じになります。[Dimension] が 2 に設定されると、出力は [Each row]
を選択した場合と同じになります。[Dimension] が 3 に設定されると、各サンプル時間での出力は入力の 3 番目の次元に対する各ベクトルの最大値のインデックスを含む M 行 N 列の行列となります。
最大値が複数回発生する場合、計算されたインデックスは最初の発生に対応します。たとえば、入力が列ベクトル [3 2 1 2 3]'
である場合、[Each column]
がオンになっていると、最大値の計算された 1 ベースのインデックスは 5
ではなく 1
です。
Value and Index
— ブロックは、入力の各行または各列の最大値や入力の指定した次元のベクトルにおける最大値、または入力全体の最大値と対応するインデックス配列 I を出力します。
Running
— ブロックは、M 行 N 列の入力の時間系列における各チャネルの最大値を追跡します。このモードでは、[Input processing] パラメーターの値も次のいずれかの値のように指定しなければなりません。
Elements as channels (sample based)
— ブロックは入力の各要素を別々のチャネルとして扱います。サイズ M x N x P の 3 次元の入力信号の場合、ブロックは M x N x P の配列を出力します。出力の各 yijk 要素には、最後のリセット以降のすべての入力に対する要素 uijk で観測される最大値が含まれます。
リセット イベントが発生すると、現在のフレームの移動最大値 yijk が要素 uijk にリセットされます。
Columns as channels (frame based)
— ブロックは入力の各列を別々のチャネルとして扱います。このオプションは、N > 2 の N 次元の入力信号をサポートしません。サイズ M 行 N 列の 2 次元の入力信号の場合、ブロックは M 行 N 列の行列を出力します。出力の各要素 yij には、最後のリセット以降、現在の入力の要素 uij が含まれる時点までのすべての入力のうちの j 番目の列で観測される最大値が含まれます。
リセット イベントが発生すると、各チャネルの移動最大値は、現在の入力フレームにおける現在の入力サンプルまでを含むすべてのサンプルの最大値になります。
オプションの Rst 端子でリセット イベントが検出されるたびに、ブロックは移動最大値をリセットします。リセットのサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。
可変サイズ入力の実行モード
入力が可変サイズ信号のときに [Mode] を [Running]
に設定すると、次のようになります。
[Input processing] パラメーターを [Elements as channel (sample based)]
に設定すると、状態がリセットされます。
[Input processing] パラメーターを [Columns as channels (frame based)]
に設定すると、次のようになります。
入力サイズの相違がチャネル (列) の数に関する場合、状態がリセットされます。
入力サイズの相違がチャネルの長さ (行数) に関する場合、リセットは行われず実行処理が通常どおりに実行されます。
Index base
— 最大値のインデックスの基数One
(既定値) | Zero
最大値のインデックスが 1 ベースまたは 0 ベースの番号付けを使用して報告されるかを指定します。
このパラメーターを有効にするには、[Mode] パラメーターを [Index]
または [Value and Index]
のいずれかに設定します。
Find the maximum value over
— ブロックで最大値を計算する対象の次元Each column
(既定値) | Each row
| Entire input
| Specified dimension
Each column
— ブロックは各列の最大値を出力します。
Each row
— ブロックは各行の最大値を出力します。
Entire input
— ブロックは入力全体の最大値を出力します。
Specified dimension
— ブロックは [Dimension] パラメーターで指定された次元の最大値を出力します。
このパラメーターを有効にするには、[Mode] パラメーターを [Value and Index]
、[Value]
または [Index]
に設定します。
次元
— カスタムの次元1
(既定値) | スカラーブロックが最大値を計算する対象となる入力信号の次元 (1 ベースの値) を指定します。このパラメーターの値は 0 より大きく、入力信号の次元数未満でなければなりません。
このパラメーターを有効にするには、[Find the maximum value over] を [Specified dimension]
に設定します。
入力処理
— 入力を実行モードで処理する方法Columns as channels (frame based)
(既定値) | Elements as channels (sample based)
Columns as channels (frame based)
— ブロックは入力の各列を別々のチャネルとして扱います。このオプションは、N > 2 の N 次元の入力信号をサポートしません。サイズ M 行 N 列の 2 次元の入力信号の場合、ブロックは M 行 N 列の行列を出力します。出力の各要素 yij には、最後のリセット以降、現在の入力の要素 uij が含まれる時点までのすべての入力のうちの j 番目の列で観測される最大値が含まれます。
リセット イベントが発生すると、各チャネルの移動最大値は、現在の入力フレームにおける現在の入力サンプルまでを含むすべてのサンプルの最大値になります。
Elements as channels (sample based)
— ブロックは入力の各要素を別々のチャネルとして扱います。サイズ M x N x P の 3 次元の入力信号の場合、ブロックは M x N x P の配列を出力します。出力の各 yijk 要素には、最後のリセット以降のすべての入力に対する要素 uijk で観測される最大値が含まれます。
リセット イベントが発生すると、現在のフレームの移動最大値 yijk が要素 uijk にリセットされます。
このパラメーターを有効にするには、[Mode] を [Running]
に設定します。
Reset port
— リセット イベントNone
(既定値) | Rising edge
| Falling edge
| Either edge
| Non-zero sample
オプションの Rst 端子でリセット イベントが検出されるたびに、ブロックは移動最大値をリセットします。リセットのサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。
None
— [Rst] 端子を無効にします。
Rising edge
— Rst の入力が次のいずれかを行うときにリセット操作をトリガーします。
負の値から正の値またはゼロに立ち上がる。
ゼロから正の値へ立ち上がる。この場合、立ち上がりは負の値からゼロへの立ち上がりと連続していません。
Falling edge
— Rst の入力が次のいずれかを行うときにリセット操作をトリガーします。
正の値から負の値またはゼロに立ち下がる。
ゼロから負の値に立ち下がる。この場合、立ち下がりは正の値からゼロへの立ち下りと連続していません。
Either edge
— [Rst] の入力が [Rising edge]
または [Falling edge]
の場合にリセット操作をトリガーします。
Non-zero sample
— Rst 入力が非ゼロの各サンプル時間でリセット操作をトリガーします。
メモ
Simulink [マルチタスク]
モードでシミュレーションを実行すると、リセット信号は 1 サンプルのレイテンシをもちます。したがって、ブロックでリセット イベントが検知された場合、ブロックがリセットを適用する前に Reset 端子で 1 サンプルの遅延が発生します。レイテンシと Simulink タスク モードの詳細については、Excess Algorithmic Delay (Tasking Latency)とTime-Based Scheduling and Code Generation (Simulink Coder)を参照してください。
このパラメーターを有効にするには、[Mode] を [Running]
に設定します。
メモ:
これらのパラメーターを使用するには、データ入力が複素数の固定小数点でなければなりません。
丸めモード
— 丸め演算の方法Floor
(既定値) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
整数オーバーフローで飽和
— オーバーフロー アクションの方法このパラメーターをオンにすると、ブロックは固定小数点演算の結果を飽和させます。このパラメーターをオフにすると、ブロックは固定小数点演算の結果をラップします。saturate
および wrap
の詳細については、固定小数点演算のオーバーフロー モードを参照してください。
乗算出力
— 乗算出力のデータ型Inherit: Same as input
(既定値) | fixdt([],16,0)
[乗算出力] は、Maximum ブロックでの乗算操作の出力のデータ型を指定します。乗算出力データ型の詳細については、Multiplication Data Typesを参照してください。
Inherit: Same as input
— ブロックは乗算出力のデータ型を入力のデータ型と同じになるように指定します。
fixdt([],16,0)
— ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。
[乗算出力] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。
データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
アキュムレータ
— アキュムレータのデータ型Inherit: Same as product output
(既定値) | Inherit: Same as input
| fixdt([],16,0)
[アキュムレータ] は、Maximum ブロックでの累積操作の出力のデータ型を指定します。
Inherit: Same as product output
— ブロックはアキュムレータのデータ型を乗算出力のデータ型と同じになるように指定します。
Inherit: Same as input
— ブロックはアキュムレータのデータ型を入力のデータ型と同じになるように指定します。
fixdt([],16,0)
— ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。
[アキュムレータ] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。
データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
固定小数点ツールによる変更に対してデータ型の設定をロックする
— 固定小数点ツールによるデータ型のオーバーライドの回避off
(既定値) | on
ブロック ダイアログで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。
データ型 |
|
直接フィードスルー |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
[Mode] を [Value]
、[Index]
または [Value and Index]
のいずれかに設定して次元を指定すると、このブロックの結果は MATLAB® の関数 max
を [y,I] = max(u,[],D)
の形式で呼び出したときと同じになります。
u
はデータ入力です。
D
は次元です。
y
は最大値です。
I
は最大値のインデックスです。
入力全体の最大値は、関数 max
を [y,I] = max(u(:))
の形式で呼び出した場合と同じになります。
[Mode] を [Running]
に、[Input processing] を [Columns as channels (frame based)]
に設定した場合、ブロックは入力の各列を別々のチャネルとして扱います。この例では、ブロックは次のいずれかの設定で、フレーム サイズが 3 の 2 チャネル信号を処理します。
ブロックは、前回のリセット後の各チャネルの最大値を出力します。t = 2 で、リセット イベントが発生します。6 は前回のリセット イベント以降の最大値だった 9 より小さいですが、2 番目の列の最大値は 6 に変わります。
[Mode] を [Running]
に、[Input processing] を [Elements as channels (sample based)]
に設定した場合、ブロックは入力の各要素を別々のチャネルとして扱います。この例では、ブロックは次のいずれかの設定で、フレーム サイズが 3 の 2 チャネル信号を処理します。
出力の各 yij 要素には、最後のリセット以降のすべての入力に対する要素 uij で観測される最大値が含まれます。t = 2 で、リセット イベントが発生します。リセット イベントが発生すると、現在のフレームの移動最大値 yij が要素 uij にリセットされます。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
このブロックには、生成されるコードのレイテンシが長くなる複数サイクルの実装があります。レイテンシの増加を調べるには、生成されたモデルまたは検証モデルを確認します。生成されたモデルと検証モデル (HDL Coder)を参照してください。
アーキテクチャ | レイテンシの追加サイクル | 説明 |
---|---|---|
既定の ツリー | 0 | 比較器のツリー構造を生成します。 |
カスケード | ブロックに単一のベクトル入力端子がある場合、1。 | この実装はレイテンシ * 領域について最適化されており、速度は中程度です。カスケードアーキテクチャのベスト プラクティス (HDL Coder)を参照してください。 |
ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
InstantiateStages | VHDL® の |
SerialPartition | 各パーティションの長さが含まれているベクトルによって Cascade serial 実装のパーティションを指定します。既定の設定では、最少段数が使用されます。SerialPartition (HDL Coder)も参照してください。 |
ブロックの [データ型] タブのパラメーターは複素数の固定小数点入力に対してのみ使用されます。[メイン] タブの 'Mode' パラメーターで説明されているように、比較が行われる前に、そのような入力の実数部と虚数部の二乗和が形成されます。複素数入力の実数部と虚数部の二乗の結果は乗算出力のデータ型に配置されます。二乗和の結果はアキュムレータのデータ型に配置されます。その他の種類の入力の場合、これらのパラメーターは無視されます。
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.