Main Content

Windowed Integrator

一定時間の時間枠で統合する

ライブラリ

Comm Filters

  • Windowed Integrator block

説明

Windowed Integrator ブロックは、一定時間のスライドする時間枠で入力信号値の累積和を作成します。[Integration period] パラメーターが N であり、入力サンプルが x(1), x(2), x(3),... によって表される場合、n 番目の出力サンプルは n-N+1 から n までの k に対する x(k) 値の合計になります。n-N+1 が 1 よりも小さい場合、ブロックは 0 の初期条件を使用してそれらのサンプルを表します。

入力信号と出力信号

このブロックは、スカラー、列ベクトル、および M 行 N 列行列の入力信号を受け入れます。このブロックは、M 行 N 列入力行列を次のようにフィルター処理します。

  • [Input processing] パラメーターを [Columns as channels (frame based)] に設定した場合、ブロックは各列を別々のチャネルとして扱います。このモードでは、ブロックは同じフィルターの N インスタンスを生成し、それそれが独自の独立した状態バッファーをもちます。それぞれの N フィルターが M 入力サンプルを Simulink® タイム ステップごとに処理します。

  • [Input processing] パラメーターを [Elements as channels (sample based)] に設定した場合、ブロックは各要素を別々のチャネルとして扱います。このモードでは、ブロックは同じフィルターの M*N インスタンスを生成し、それそれが独自の独立した状態バッファーをもちます。各フィルターが 1 つの入力サンプルを Simulink タイム ステップごとに処理します。

出力次元は、常に入力信号の次元と同じです。各ブロックの端子でサポートされるデータ型については、このページのサポートされているデータ型の表を参照してください。

パラメーター

Integration period

サンプル単位で計測される統合の間隔の長さ。

入力処理

ブロックで入力信号を処理する方法を指定します。これらのパラメーターは、以下のいずれかのオプションに設定することができます。

  • チャネルとしての列 (フレーム ベース) — このオプションを選択すると、ブロックは入力の各列を別々のチャネルとして扱います。

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

Rounding mode

固定小数点演算の丸めモードを選択します。ブロックは、固定長小数点計算の結果が結果を格納するデータ型とスケーリングによって表現可能な数に正確にマップしないときには、[Rounding mode] を使用します。フィルターの係数は、このパラメーターには従いません。これらは常に [Nearest] に丸められます。詳細については、丸めモードまたは丸めモード: 最も簡潔 (Fixed-Point Designer)を参照してください。

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

固定小数点演算のオーバーフロー モードを選択します。フィルターの係数は、このパラメーターには従いません。これらは常に飽和します。

Coefficients

ブロックは、すべてのタップの重みが 1 に設定されている直接型 FIR フィルターを使用します。[Coefficients] パラメーターは、入力データが固定長小数点信号であるときにどのデータ型がタップ (1) を表すのかを制御します。

フィルターの係数 (分子および分母) の語長と小数部の長さを指定する方法を選択します。このブロックの係数データ型の使い方を示す図は、Filter Structure Diagramsを参照してください。

  • [Same word length as input] を選択すると、フィルターの係数の語長はブロックへの入力の語長と一致します。このモードでは、係数の小数部の長さは 2 進小数点のみのスケーリングに自動的に設定されます。このスケーリングは、与えられた係数の値と語長で最高の精度になります。

  • [Specify word length] を選択すると、係数の語長をビット数で入力できます。このモードでは、係数の小数部の長さは 2 進小数点のみのスケーリングに自動的に設定されます。このスケーリングは、与えられた係数の値と語長で最高の精度になります。

  • [Binary point scaling] を選択すると、係数の語長と小数部の長さをビット数で入力できます。可能な場合は、分子と分母の係数に個別の小数部の長さを入力できます。

  • [Slope and bias scaling] を選択すると、係数の語長 (ビット数) および勾配を入力できます。可能な場合は、分子と分母の係数に個別の勾配を入力できます。このブロックでは、勾配が 2 のべき乗でバイアスが 0 でなければなりません。

  • フィルター係数は [Rounding mode] パラメーターおよび [Saturate on integer overflow] パラメーターには従わず、常に飽和して [Nearest] に丸められます。

乗算出力

このパラメーターを使用して、乗算出力の語長と小数部の長さの指定方法を指定します。このブロックの乗算出力データ型の使い方を示す図は、Filter Structure Diagramsおよび乗算のデータ型を参照してください。

  • [入力と同じ] を選択すると、これらの特性はブロックへの入力の特性と一致します。

  • [Binary point scaling] を選択すると、乗算出力の語長と小数部の長さをビット数で入力できます。

  • [Slope and bias scaling] を選択すると、乗算出力の語長 (ビット数) および勾配を入力できます。このブロックでは、勾配が 2 のべき乗でバイアスが 0 でなければなりません。

アキュムレータ

このパラメーターを使用して、積和の語長と小数部の長さの指定方法を指定します。このブロックのアキュムレータ データ型の使い方を示す図は、Filter Structure Diagramsおよび乗算のデータ型を参照してください。

  • [入力と同じ] を選択すると、これらの特性はブロックへの入力の特性と一致します。

  • [乗算出力と同じ] を選択すると、これらの特性は乗算出力の特性と一致します。

  • [Binary point scaling] を選択すると、アキュムレータの語長と小数部の長さをビット単位で入力できます。

  • [Slope and bias scaling] を選択すると、語長 (ビット単位) とアキュムレータの勾配を入力できます。このブロックでは、勾配が 2 のべき乗でバイアスが 0 でなければなりません。

出力

出力の語長と小数部の長さを指定する方法を選択します。

  • [入力と同じ] を選択すると、これらの特性はブロックへの入力の特性と一致します。

  • [Same as accumulator] を選択すると、これらの特性はアキュムレータの特性と一致します。

  • [Binary point scaling] を選択すると、出力の語長と小数部の長さをビット数で入力できます。

  • [Slope and bias scaling] を選択すると、出力の語長 (ビット数) および勾配を入力できます。このブロックでは、勾配が 2 のべき乗でバイアスが 0 でなければなりません。

Lock scaling against changes by the autoscaling tool

このブロック マスクで固定小数点スケーリングが固定小数点ツールの自動スケーリング ツールでオーバーライドされるのを防ぐには、このパラメーターを選択します。

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

端子サポートされているデータ型
In
  • 倍精度浮動小数点

  • 単精度浮動小数点

  • 符号付き固定小数点

Out
  • 倍精度浮動小数点

  • 単精度浮動小数点

  • 符号付き固定小数点

[Integration period]3 で、入力信号がランプ (1234、...) である場合、このブロックの出力を形成する合計のいくつかは次のようになります。

  • 0+0+1 = 1

  • 0+1+2 = 3

  • 1+2+3 = 6

  • 2+3+4 = 9

  • 3+4+5 = 12

  • 4+5+6 = 15

  • など

最初のいくつかの合計にある 0 は、初期条件を表します。[Input processing] パラメーターが [Elements as channels] に設定されていると、値 1、3、6、... はスカラー出力信号の連続した値になります。[Input processing] パラメーターが [Columns as channels] に設定された状態で、値 1、3、6、... は、入力信号と同じベクトル長である出力フレームに構成されます。

拡張機能

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

バージョン履歴

R2006a より前に導入

参考

ブロック

関数