Main Content

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

Discrete Filter

無限インパルス応答 (IIR) フィルターのモデル化

  • Discrete Filter block

ライブラリ:
Simulink / Discrete

説明

Discrete Filter ブロックは、指定したデジタル IIR フィルターで各入力チャネルの信号を個別にフィルター処理します。フィルター構造を [Direct form I]、[Direct form I transposed]、[Direct form II]、[Direct form II transposed] のいずれかとして指定できます。ブロックは、固定係数をもつ静的フィルターを実現します。また、これらの静的フィルターの係数は調整することができます。

このブロックは、時間とともに入力信号の各チャネルに個々にフィルターをかけます。[入力処理] パラメーターを使用して、ブロックが入力の各要素を処理する方法を指定できます。入力要素を独立したチャネル (サンプル ベース処理) として扱うか、入力の各列を独立したチャネル (フレーム ベース処理) として扱うかを指定できます。フレームベースの処理を実行するには、DSP System Toolbox™ のライセンスがなければなりません。

[分子係数] パラメーターのフィルター タップの行列を指定した場合を除き、出力の次元は入力の次元と等しくなります。指定した場合は、その出力の次元は指定する別のフィルター タップのセット数に従います。

分子係数 パラメーターを使用して、Discrete フィルターの分子多項式の係数を指定します。分母係数 パラメーターを使用して、関数の分母多項式の係数を指定します。分母係数 パラメーターは、係数のベクトルでなければなりません。

z-1 の昇べきの順で分子多項式と分母多項式の係数を指定します。Discrete Filter ブロックを使うと、z-1 (遅れ演算子) の多項式を使用して、離散システムを表すことができます。通常、信号処理技術者はこの方法を使用します。一方、Discrete Transfer Fcn ブロックを使うと、z の多項式を使用して、離散システムを表すことができます。通常、制御技術者はこの方法を使用します。分子多項式と分母多項式の長さが同じ場合、2 つの方法は等しくなります。

初期状態の指定

[ダイアログ] パラメーター および [入力端子] モードでは、既定の設定により内部フィルターの状態はゼロに設定されています。これは過去の入力および出力がゼロであると仮定することに相当します。オプションの 初期状態 パラメーターを選択すると、フィルター遅延の初期状態に非ゼロを指定できます。

初期状態に指定しなければならない数値や、その指定方法に関しては、以下の「入力可能な初期状態」の表および遅延要素数 (フィルター状態)を参照してください。初期状態 パラメーターは次の表に記述されている 4 つの形式のうちの 1 つになります。

入力可能な初期状態

初期状態説明

スカラー

5

各チャネルの各遅延要素は 5 に設定されています。

フィルターのすべての遅延要素がスカラー値に初期化されます。

ベクトル
(同一の遅延要素を各チャネルに適用)

2 つの遅延要素があるフィルターの場合: [d1d2]

すべてのチャネルでの遅延要素が d1 および d2。

各ベクトル要素が、対応する遅延要素に対して一意の初期状態を指定します。ブロックは初期状態と同じベクトルを入力信号の各チャネルに適用します。ベクトル長は、フィルター内の遅延要素の数と一致しなければなりません (遅延要素数 (フィルター状態)の表のとおり)。

ベクトルまたは行列
(個々の遅延要素を各チャネルに適用)

3 チャネルの入力信号および 2 つの遅延要素のフィルターの場合:

[d1d2D1D2d1d2] または

[d1D1d1d2D2d2]

  • チャネル 1 における遅延要素は d1 および d2

  • チャネル 2 における遅延要素は D1 および D2

  • チャネル 3 における遅延要素は d1 および d2

ベクトルや行列の各要素は、対応するチャネルの対応する遅延要素に固有な初期状態を指定します。

  • ベクトルの長さは、フィルターの入力チャネル数および遅延要素数の積と等しくなければなりません (遅延要素数 (フィルター状態)の表のとおり)。

  • 行列はフィルターの遅延要素数と同じ行数をもち (遅延要素数 (フィルター状態)の表のとおり)、入力信号の各チャネルに対して 1 つの列をもたなければなりません。

空行列

[ ]
各チャネルの各遅延要素は 0 に設定されています。

空行列、[]初期状態 パラメーターをスカラー値 0 に設定することと同じです。

入力チャネルごとの遅延要素数 (フィルター状態) は、次の表に示すようにフィルター構造に依存します。

遅延要素数 (フィルター状態)

フィルター構造チャネルごとの遅延要素数

直接型 I
直接型 I 転置構成

  • number of zeros - 1

  • number of poles - 1

直接型 II
直接型 II 転置構成

max(number of zeros, number of poles)-1

以下の表は、[入力処理] パラメーターをフレーム ベースまたはサンプル ベースに設定したかどうかに応じて、さまざまな入力サイズおよびさまざまなチャネル数に関する有効な初期状態について説明しています。

フレームベースの処理

入力 チャネル数有効な初期状態 (ダイアログ ボックス)有効な初期状態 (入力端子)
  • 列ベクトル (K 行 1 列)

  • 方向性をもたないベクトル (K)

1
  • スカラー

  • 列ベクトル (M 行 1 列)

  • 行ベクトル (1 行 M 列)

  • スカラー

  • 列ベクトル (M 行 1 列)

  • 行ベクトル (1 行 N 列)

  • 行列 (K 行 N 列)

N
  • スカラー

  • 列ベクトル (M 行 1 列)

  • 行ベクトル (1 行 M 列)

  • 行列 (M 行 N 列)

  • スカラー

  • 行列 (M 行 N 列)

サンプルベースの処理

入力チャネル数有効な初期状態 (ダイアログ ボックス)有効な初期状態 (入力端子)
  • スカラー

1
  • スカラー

  • 列ベクトル (M 行 1 列)

  • 行ベクトル (1 行 M 列)

  • スカラー

  • 列ベクトル (M 行 1 列)

  • 行ベクトル (1 行 M 列)

  • 行ベクトル (1 行 N 列)

  • 列ベクトル (N 行 1 列)

  • 方向性をもたないベクトル (N)

N
  • スカラー

  • 列ベクトル (M 行 1 列)

  • 行ベクトル (1 行 M 列)

  • 行列 (M 行 N 列)

  • スカラー

  • 行列 (K 行 N 列)

K×N
  • スカラー

  • 列ベクトル (M 行 1 列)

  • 行ベクトル (1 行 M 列)

  • 行列 (M 行 (K×N) 列)

  • スカラー

初期状態 がスカラーのとき、ブロックはすべてのフィルター状態を同じスカラー値に初期化します。すべての状態をゼロに初期化するには、0 を入力します。初期状態 がベクトルか行列の場合、ベクトルや行列の各要素は、対応する一意の初期状態を示します。この一意の状態は対応するチャネルの遅延要素に対応します。

  • ベクトル長は、フィルター内の遅延要素の数と一致しなければなりません (M = max(number of zeros, number of poles))。

  • 行列は、フィルター内の遅延要素の行数と一致しなければなりません (M = max(number of zeros, number of poles))。さらに行列には、入力信号のチャネルごとに 1 列必要です。

初期フィルター出力 y1、初期入力 u1、初期状態 [x1, x2] の関係は、次の方程式で与えられます。

y1=b1[(u1a2x1a3x2)a1]+b2x1+b3x2

ここで、

  • b1、b2、および b3 は、離散フィルターの分子係数です。

  • a1、a2、および a3 は、離散フィルターの分母係数です。

この関係を示す例については、Discrete Filter ブロックに初期条件のベクトルを指定するを参照してください。

端子

入力

すべて展開する

フィルター処理する入力信号。スカラー、ベクトルまたは行列として指定します。

依存関係

この端子の名前は、分子係数、分母係数および初期状態に対して指定したソースに応じて異なります。[分子係数][分母係数] および [初期状態][ダイアログ] に設定した場合、入力端子は 1 つだけになり、ラベルは付けられません。[分子係数][分母係数] または [初期状態][入力端子] に設定した場合は、その端子に u というラベルが付けられます。

データ型: single | double | int8 | int16 | int32 | fixed point

離散フィルターの分子係数。z の降べきの順で指定します。単独の分子多項式に対する係数を指定するために行ベクトルを使用します。

依存関係

この端子を有効にするには、[分子係数][入力端子] に設定します。

データ型: single | double | int8 | int16 | int32 | fixed point

離散フィルターの分母係数を z の降べきの順で指定します。単独の分母多項式に対する係数を指定するために行ベクトルを使用します。

依存関係

この端子を有効にするには、[分母係数][入力端子] に設定します。

データ型: single | double | int8 | int16 | int32 | fixed point

初期状態。スカラー、ベクトル、または行列として指定します。状態の指定の詳細については、初期状態の指定を参照してください。

依存関係

この端子を有効にするには、[フィルター構造][直接型 II] または [直接型 II 転置構成] に設定し、[初期状態][入力端子] に設定します。

データ型: single | double | int8 | int16 | int32 | fixed point

出力

すべて展開する

フィルター処理された出力信号。[分子係数] パラメーターのフィルター タップの行列を指定した場合を除き、出力の次元は入力の次元と等しくなります。指定した場合は、その出力の次元は指定する別のフィルター タップのセット数に従います。

[サンプル時間]-1 に設定した場合、出力信号のサンプル時間は入力信号 [u] のサンプル時間と同じになります。

データ型: single | double | int8 | int16 | int32 | fixed point

パラメーター

すべて展開する

メイン

離散 IIR フィルター構造を指定します。

依存関係

[直接型 II] 以外のフィルター構造を使用するには、有効な DSP System Toolbox ライセンスが必要です。

プログラムでの使用

ブロック パラメーター: FilterStructure
型: 文字ベクトル
値: 'Direct form II' | 'Direct form I transposed' | 'Direct form I' | 'Direct form II transposed'
既定の設定: 'Direct form II'

分子係数のソースとして [ダイアログ] または [入力端子] のいずれかを指定します。

プログラムでの使用

ブロック パラメーター: NumeratorSource
型: 文字ベクトル
値: 'Dialog' | 'Input port'
既定の設定: 'Dialog'

離散フィルターの分子係数を z の降べきの順で指定します。単独の分子多項式に対する係数を指定するために行ベクトルを使用します。複数のフィルターの係数を指定するには、係数の行列を指定します。このとき、それぞれの行はフィルター タップの別々のセットを表します。

依存関係

このパラメーターを有効にするには、[分子係数] の [ソース][ダイアログ] に設定します。

複数のフィルターを実装するには、[フィルター構造][直接型 II][入力処理][チャネルとしての要素 (サンプル ベース)] でなければなりません。また、入力がスカラーでなければなりません。

プログラムでの使用

ブロック パラメーター: Numerator
型: 文字ベクトル
値: スカラー | ベクトル | 行列
既定の設定: '[1]'

分母係数のソースとして [ダイアログ] または [入力端子] のいずれかを指定します。

プログラムでの使用

ブロック パラメーター: DenominatorSource
型: 文字ベクトル
値: 'Dialog' | 'Input port'
既定の設定: 'Dialog'

離散フィルターの分母係数を z の降べきの順で指定します。単独の分母多項式に対する係数を指定するために行ベクトルを使用します。

依存関係

このパラメーターを有効にするには、[分母係数] の [ソース][ダイアログ] に設定します。

プログラムでの使用

ブロック パラメーター: Denominator
型: 文字ベクトル
値: スカラー | ベクトル
既定の設定: '[1 0.5]'

初期状態のソースとして [ダイアログ] または [入力端子] のいずれかを指定します。

プログラムでの使用

ブロック パラメーター: InitialStatesSource
型: 文字ベクトル
値: 'Dialog' | 'Input port'
既定の設定: 'Dialog'

初期フィルター状態をスカラー、ベクトルまたは行列として指定します。初期状態の指定方法については、初期状態の指定を参照してください。

依存関係

このパラメーターを有効にするには、[フィルター構造][直接型 II] または [直接型 II 転置構成] に設定し、[初期状態] の [ソース][ダイアログ] に設定します。

プログラムでの使用

ブロック パラメーター: InitialStates
型: 文字ベクトル
値: スカラー | ベクトル | 行列
既定の設定: '0'

分子の初期フィルター状態をスカラー、ベクトルまたは行列として指定します。初期状態の指定方法については、初期状態の指定を参照してください。

依存関係

この端子を有効にするには、[フィルター構造][直接型 I] または [直接型 I 転置構成] に設定します。

プログラムでの使用

ブロック パラメーター: InitialStates
型: 文字ベクトル
値: スカラー | ベクトル | 行列
既定の設定: '0'

分母の初期フィルター状態をスカラー、ベクトルまたは行列として指定します。初期状態の指定方法については、初期状態の指定を参照してください。

依存関係

この端子を有効にするには、[フィルター構造][直接型 I] または [直接型 I 転置構成] に設定します。

プログラムでの使用

ブロック パラメーター: InitialDenominatorStates
型: 文字ベクトル
値: スカラー | ベクトル | 行列
既定の設定: '0'

状態を初期条件にリセットするために使用するトリガー イベントを指定します。

リセット モード動作
なしリセットなし
立ち上がり立ち上がりエッジでリセットします
立ち下がり立ち下がりエッジでリセットします
両方立ち上がりエッジまたは立ち下がりエッジのいずれかでリセットします
レベル

次のいずれかの場合にリセットします。

  • リセット信号が現在のタイム ステップで非ゼロである場合

  • 以前のタイム ステップでの非ゼロから現在のタイム ステップでの 0 までリセット信号の値が変化する場合

レベル保持リセット信号が現在のタイム ステップで非ゼロであるときにリセットします。

プログラムでの使用

ブロック パラメーター: ExternalReset
: 文字ベクトル
: 'None' | 'Rising' | 'Falling' | 'Either' | 'Level' | 'Level hold'
既定の設定: 'None'

ブロックでサンプルベースかフレームベースのどちらの処理を実行するかを指定します。

  • チャネルとしての要素 (サンプル ベース) — 入力の各要素を独立したチャネルとして処理します。

  • チャネルとしての列 (フレーム ベース) — 入力の各列を独立したチャネルとして処理します。

依存関係

フレームベースの処理には、DSP System Toolbox のライセンスが必要になります。

詳細については、サンプルベースおよびフレームベースの概念 (DSP System Toolbox)を参照してください。

プログラムでの使用

ブロック パラメーター: InputProcessing
型: 文字ベクトル
値: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
既定の設定: 'Elements as channels (sample based)'

最初の分母係数 a0 が 1 の場合に選択します。このパラメーターでコードを最適化できます。

このチェック ボックスをオンにした場合、ブロックはシミュレーションまたは生成コードのいずれでも a0 による除算を実行しません。a0 が 1 ではない場合にエラーが発生します。

このチェック ボックスをオフにすると、ブロックはシミュレーション中に完全に調整可能になります。シミュレーションとコード生成の両方で a0 による除算を実行します。

プログラムでの使用

ブロック パラメーター: a0EqualsOne
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1 に設定します。詳細については、サンプル時間の指定を参照してください。

依存関係

このパラメーターは、-1 以外の値に設定した場合にのみ表示されます。詳細は、サンプル時間が推奨されないブロックを参照してください。

プログラムでの使用

ブロック パラメーター: SampleTime
型: string スカラーまたは文字ベクトル
既定の設定: "-1"

データ型

状態のデータ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 入力と同じ

  • 組み込み整数 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: StateDataTypeStr
型: 文字ベクトル
値: 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Same as input'

分子係数のデータ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 内部ルールによる継承])

  • 組み込みの符号付き整数 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: NumCoeffDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

分子係数の最小値を指定します。既定値は [] (指定なし) です。Simulink® ソフトウェアは、以下を行う際にこの値を使用します。

プログラムでの使用

ブロック パラメーター: NumCoeffMin
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

分子係数の最大値を指定します。既定値は [] (指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。

プログラムでの使用

ブロック パラメーター: NumCoeffMax
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

分子係数の乗算出力データ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 内部ルールによる継承])

  • 組み込みデータ型 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: NumProductDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via interal rule'

分子係数のアキュムレータのデータ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 内部ルールによる継承])

  • 組み込みデータ型 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: NumAccumDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'Inherit: Same as product output' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via interal rule'

分母係数のデータ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 内部ルールによる継承])

  • 組み込み整数 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: DenCoeffDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

分母係数の最小値を指定します。既定値は [] (指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。

プログラムでの使用

ブロック パラメーター: DenCoeffMin
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

分母係数の最大値を指定します。既定値は [] (指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。

プログラムでの使用

ブロック パラメーター: DenCoeffMax
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

分母係数の乗算出力データ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 内部ルールによる継承])

  • 組み込みデータ型 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: DenProductDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

分母係数のアキュムレータのデータ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 内部ルールによる継承])

  • 組み込みデータ型 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: DenAccumDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'Inherit: Same as product output' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

出力データ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 内部ルールによる継承])

  • 組み込みデータ型 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

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

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

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

プログラムでの使用

ブロック パラメーター: OutMin
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

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

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

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

プログラムでの使用

ブロック パラメーター: OutMax
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

被乗数データ型を指定します。このパラメーターは以下のように設定できます。

  • データ型継承ルール (例: 継承: 入力と同じ

  • 組み込みデータ型 (例: int8)

  • データ型オブジェクト (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

依存関係

このパラメーターを有効にするには、[フィルター構造][直接型 I 転置構成] に設定します。

プログラムでの使用

ブロック パラメーター: MultiplicandDataTypeStr
型: 文字ベクトル
値: 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
既定の設定: 'Inherit: Same as input'

固定小数点ツールや固定小数点アドバイザーによる変更を避けるために、このブロックのデータ型の設定をロックします。詳細については、出力データ型設定のロック (Fixed-Point Designer)を参照してください。

プログラムでの使用

ブロック パラメーター: LockScale
値: 'off' | 'on'
既定の設定: 'off'

固定小数点演算の丸めモードを指定します。詳細については、丸め (Fixed-Point Designer)を参照してください。

プログラムでの使用

ブロック パラメーター: RndMeth
型: 文字ベクトル
値: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
既定の設定: 'Floor'

オーバーフローで飽和するかラップするかを指定します。

動作根拠オーバーフローの影響

このチェック ボックスをオンにする (on)。

モデルでオーバーフローが発生する可能性があるので、生成コードに飽和保護を明示的に組み込むことをお勧めします。

オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。

int8 (符号付き、8 ビット整数) データ型が表すことができる最大値は 127 です。この最大値を超えるブロックの演算結果により 8 ビット整数のオーバーフローが発生します。チェック ボックスがオンになっていると、ブロック出力は 127 で飽和します。同様に、ブロック出力は最小出力値である -128 で飽和します。

このチェック ボックスをオンにしない (off)。

生成コードの効率を最適化することをお勧めします。

ブロックが範囲外の信号を処理する方法を指定しすぎないようにすることをお勧めします。詳細については、信号範囲のエラーのトラブルシューティングを参照してください。

オーバーフローは、データ型によって表現される適切な値にラップされます。

int8 (符号付き、8 ビット整数) データ型が表すことができる最大値は 127 です。この最大値を超えるブロックの演算結果により 8 ビット整数のオーバーフローが発生します。チェック ボックスをオフにすると、オーバーフローを引き起こした値は int8 として解釈され、意図しない結果が引き起こされる可能性があります。たとえば、int8 として表されるブロック結果 130 (バイナリで 1000 0010) は -126 です。

このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。

プログラムでの使用

ブロック パラメーター: SaturateOnIntegerOverflow
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

状態属性

各状態に固有名を割り当てます。このフィールドが空白 (' ') の場合は、名前の割り当ては行われません。

  • 単一の状態に名前を割り当てる場合は、'position' のように一重引用符で囲んで名前を入力します。

  • 複数の状態に名前を割り当てる場合は、中かっこ内にコンマで区切って入力します。たとえば、{'a', 'b', 'c'} のようにします。各名前は固有でなければなりません。

  • MATLAB® ワークスペース内の変数を状態名に割り当てる場合は、引用符なしで変数を入力します。変数には文字ベクトル、cell 配列、構造体が使用できます。

制限

  • 状態名は選択されたブロックに対してのみ適用されます。

  • 状態の数は状態名の数で割り切れなければなりません。

  • 指定する名前の数は状態の数より少なくできますが、その逆はできません。

    たとえば、4 つの状態を含むシステムで 2 つの名前を指定することは可能です。最初の名前は最初の 2 つの状態に適用され、2 番目の名前は最後の 2 つの状態に適用されます。

依存関係

このパラメーターを有効にするには、[フィルター構造][直接型 II] に設定します。

プログラムでの使用

ブロック パラメーター: StateName
型: 文字ベクトル
値: ' ' | ユーザー定義
既定の設定: ' '

状態名が Simulink 信号オブジェクトに関連付けられるようにするには、このチェック ボックスをオンにします。

依存関係

このパラメーターを有効にするには、[フィルター構造][直接型 II] に設定し、[状態名] の値を指定します。このパラメーターは、モデル コンフィギュレーション パラメーター [信号の関連付け][なし] 以外の値に設定している場合にのみ表示されます。

プログラムでの使用

ブロック パラメーター: StateMustResolveToSignalObject
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

ブロックの特性

データ型

double | fixed pointa | integera | single

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

a このブロックは、符号付き固定小数点データ型のみサポートします。

拡張機能

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

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

バージョン履歴

R2006a より前に導入

すべて展開する

参考

| (DSP System Toolbox) | (DSP System Toolbox) | (DSP System Toolbox) | (DSP System Toolbox) | (DSP System Toolbox) | (DSP System Toolbox) | (Signal Processing Toolbox)