最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Cumulative Sum

チャネル、列または行の要素の累積和

ライブラリ

Math Functions / Math Operations

dspmathops

説明

Cumulative Sum ブロックは入力の指定した次元に沿って、または時間の経過 (累積和) 全体で累積和を計算します。

入力はベクトルまたは行列になります。

入力と出力の特性

有効な入力

Cumulative Sum ブロックは実数値または複素数値を含んだベクトル入力または行列入力を受け入れます。

有効なリセット信号

オプションのリセット端子 Rst はスカラー値を受け入れます。この値は boolean を含む任意の組み込み Simulink® データ型にすることができます。Rst 端子への入力レートは入力データ信号のレート以下でなければなりません。Rst 端子への入力のサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。

入力チャネルに沿った累積和の計算

[Sum input along] パラメーターを [Channels (running sum)] に設定した場合、ブロックは各入力チャネルで要素の累積和を計算します。現在の入力の累積和は、以前のすべての入力の累積和も考慮します。このモードでは、[Input processing] パラメーターの値も指定しなければなりません。[Input processing] パラメーターを [Columns as channels (frame based)] に設定した場合、ブロックは現在の入力の各列に沿って累積和を計算します。[Input processing] パラメーターを [Elements as channels (sample based)] に設定した場合、ブロックは時間の経過に伴う入力の各要素の累積和を計算します。詳細については、次の節を参照してください。

入力の各列の累積和の計算

[Input processing] パラメーターを [Columns as channels (frame based)] に設定した場合、ブロックは各入力列を独立したチャネルとして扱います。次の図と方程式で説明されるように、出力には次のような特性があります。

  • 最初の出力の 1 行目は最初の入力の 1 行目と同じです。

  • 後続の各出力の 1 行目は、現在の入力の 1 行目 (時間 t) と、前の出力の最終行 (時間 t - Tf、ここで Tf はフレーム周期) の和です。

  • 出力は入力と同じサイズ、次元、データ型および実数/複素数をもちます。

M 行 N 列の行列入力 u が与えられた場合、出力 y は 1 行目に次の要素をもつ M 行 N 列の行列になります。

y1,j(t)=u1,j(t)+yM,j(tTf)

入力の各要素に対する累積和の計算

[Input processing] パラメーターを [Elements as channels (sample based)] に設定した場合、ブロックは入力行列の各要素を独立したチャネルとして扱います。次の図と方程式で説明されるように、出力には次のような特性があります。

  • 最初の出力は最初の入力と同じです。

  • 後続の各出力は、現在の入力 (時間 t) と、前の出力 (時間 t - Ts、ここで Ts はサンプル周期) の和になります。

  • 出力は入力と同じサイズ、次元、データ型および実数/複素数をもちます。

M 行 N 列の行列入力 u が与えられた場合、出力 y は次の要素をもつ M 行 N 列の行列になります。

yi,j(t)=ui,j(t)+yi,j(tTs)1iM1jN

累積和のリセット

累積和の計算中に、オプションの Rst 端子でリセット イベントが検出されるたびに累積和をリセットするようにブロックを構成することができます。Rst 端子への入力レートは入力データ信号のレート以下でなければなりません。Rst 端子への入力のサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。リセットのサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。Rst 端子への入力は boolean にすることができます。

ブロックでのサンプルベース処理の実行中にリセット イベントが発生した場合、ブロックは現在の出力を現在の入力の値に初期化します。ブロックでのフレームベース処理の実行中にリセット イベントが発生した場合、ブロックは現在の出力の 1 行目を現在の入力の 1 行目の値に初期化します。

[Reset port] パラメーターには次のいずれかのリセット イベントを指定できます。

  • NoneRst 端子を無効にします。

  • Rising edgeRst 入力が次のいずれかを行うときにリセット操作をトリガーします。

    • 負の値から正の値またはゼロに立ち上がる

    • ゼロから正の値に立ち上がる。この場合、立ち上がりは負の値からゼロへの立ち上がりと連続していません (次の図を参照)。

  • Falling edgeRst 入力が次のいずれかを行うときにリセット操作をトリガーします。

    • 正の値から負の値またはゼロに立ち下がる

    • ゼロから負の値に立ち下がる。この場合、立ち下がりは正の値からゼロへの立ち下がりと連続していません (次の図を参照)。

  • Either edgeRst 入力が [Rising edge] または [Falling edge] の場合、(上記で説明されるように) リセット操作をトリガーします。

  • Non-zero sampleRst 入力が非ゼロの各サンプル時間でリセット操作をトリガーします。

メモ

Simulink [マルチタスク] モードでシミュレーションを実行する場合、リセット信号のサンプル レイテンシは 1 つになります。ブロックでリセット イベントが検出されると、ブロックがリセットを適用する前にリセット端子のレートで 1 サンプル分の遅延が発生します。レイテンシと Simulink タスク モードの詳細については、Excess Algorithmic Delay (Tasking Latency)時間ベースのスケジューリングとコード生成 (Simulink Coder)を参照してください。

列に沿った加算

[Sum input along] パラメーターを [Columns] に設定すると、ブロックは入力の各列の累積和を計算します。このモードでは、現在の累積和は以前の入力の累積和に依存しません。

y = cumsum(u) % Equivalent MATLAB code

出力は入力と同じサイズ、次元、データ型および実数/複素数をもちます。m 番目の出力行は入力の最初の m 行の和です。

M 行 N 列の入力 u が与えられた場合、出力 y は j 番目の列に次の要素をもつ M 行 N 列の行列になります。

yi,j=k=1juk,j     1iM

列に沿って加算する場合、ブロックは長さ M の方向性をもたないベクトルの入力を M 行 1 列の列ベクトルとして扱います。

行に沿った加算

[Sum input along] パラメーターを [Rows] に設定すると、ブロックは行の要素の累積和を計算します。このモードでは、現在の累積和は以前の入力の累積和に依存しません。

y = cumsum(u,2)						% Equivalent MATLAB code

出力は入力と同じサイズ、次元およびデータ型をもちます。n 番目の出力列は入力の最初の n 列の和です。

M 行 N 列の入力 u が与えられた場合、出力 y は i 番目の行に次の要素をもつ M 行 N 列の行列になります。

yi,j=k=1jui,k     1jN

行に沿って加算する場合、ブロックは長さ N の方向性をもたないベクトル入力を 1 行 N 列の行ベクトルとして扱います。

固定小数点データ型

次の図は、Cumulative Sum ブロック内で固定小数点信号に使用されるデータ型を示しています。

パラメーターで説明されているように、アキュムレータおよび出力データ型をブロック ダイアログで設定することができます。

パラメーター

[メイン] タブ

Sum input along

累積の総和を計算する対象の次元を指定します。[Channels (running sum)][Columns] または [Rows] に沿って和を計算するよう選択できます。詳細については、以下の節を参照してください。

Input processing

入力のチャネルに沿って累積和を計算するときにブロックが入力を処理する方法を指定します。これらのパラメーターは、以下のいずれかのオプションに設定することができます。

  • Columns as channels (frame based) — このオプションを選択する場合、ブロックは入力の各列を別々のチャネルとして扱います。

  • Elements as channels (sample based) — このオプションを選択する場合、ブロックは入力の各要素を別々のチャネルとして扱います。

このパラメーターは、[Sum input along] パラメーターを [Channels (running sum)] に設定した場合にのみ使用できます。

Reset port

ブロックにチャネルに沿った和をリセットさせるリセット イベントを決定します。Rst 端子への入力レートは入力データ信号のレート以下でなければなりません。Rst 端子への入力のサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。このパラメーターは、[Sum input along] パラメーターを [Channels (running sum)] に設定した場合にのみ表示されます。詳細は、累積和のリセットを参照してください。

[データ型] タブ

メモ

浮動小数点の継承は、このペインで定義されるデータ型の設定よりも優先されます。入力が浮動小数点の場合、ブロックはこれらの設定を無視し、すべての内部データ型は浮動小数点になります。

丸めモード

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

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

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

整数オーバーフローで飽和

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

アキュムレータ

アキュムレータのデータ型を指定します。このブロックのアキュムレータ データ型の使い方を示す図は、固定小数点データ型を参照してください。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: [Inherit: Same as input])

  • 有効なデータ型として評価する式 (例: fixdt([],16,0))

[データ型アシスタントを表示] ボタン をクリックして、[アキュムレータ] パラメーターの設定を行うための [データ型アシスタント] を表示します。

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

出力

出力データ型を指定します。このブロックの出力データ型の使い方を示す図は、固定小数点データ型を参照してください。以下を指定可能です。

  • データ型継承ルール (例: [Inherit: Same as accumulator])

  • データ型継承ルール (例: [Inherit: Same as input])

  • 有効なデータ型として評価する式 (例: fixdt([],16,0))

両方の入力が符号なしの場合、出力データ型を含めたすべてのデータ型は符号なしになります。いずれかの入力が符号付きの場合、内部データ型と出力データ型は符号付きになります。

[データ型アシスタントを表示] ボタン をクリックして、[出力] パラメーターの設定を行うための [データ型アシスタント] を表示します。

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

最小値

ブロックが出力する最小値を指定します。既定値は [] (指定なし) です。Simulink は、以下を行う際にこの値を使用します。

  • シミュレーション範囲のチェック (信号範囲 (Simulink)を参照)

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

最大値

ブロックが出力する最大値を指定します。既定値は [] (指定なし) です。Simulink は、以下を行う際にこの値を使用します。

  • シミュレーション範囲のチェック (信号範囲 (Simulink)を参照)

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

固定小数点ツールによる変更に対してデータ型の設定をロックする

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

サポートされているデータ型

入出力端子サポートされているデータ型

データ入力端子 In

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • 固定小数点

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

リセットの入力端子 Rst

すべての組み込み Simulink データ型:

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • boolean

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

出力端子

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • 固定小数点

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

拡張機能

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

参考

関数

ブロック

R2006a より前に導入