Main Content

Fixed-Point State-Space

離散時間状態空間を実現

  • Fixed-Point State-Space block

ライブラリ:
Simulink / Additional Math & Discrete / Additional Discrete

説明

Fixed-Point State-Space ブロックは、次のように記述されるシステムを実現します。

y(n)=Cx(n)+Du(n)

x(n+1)=Ax(n)+Bu(n)

ここで、u は入力、x は状態、y は出力です。いずれの式も同じデータ型をもちます。

  • [A] は、n 行 n 列の行列でなければなりません。n は状態数です。

  • [B] は、n 行 m 列の行列でなければなりません。m は入力数です。

  • [C] は、r 行 n 列の行列でなければなりません。r は出力数です。

  • [D] は、r 行 m 列の行列でなければなりません。

さらに、

  • 状態 x は、n 行 1 列のベクトルでなければなりません。

  • 入力 u は、m 行 1 列のベクトルでなければなりません。

  • 出力 y は、r 行 1 列のベクトルでなければなりません。

ブロックは 1 つの入力を受け入れ、1 つの出力を生成します。入力ベクトルの幅は [B] 行列と [D] 行列の列数です。出力ベクトルの幅は [C] 行列と [D] 行列の行数です。初期状態ベクトルを定義するには、[初期条件] パラメーターを使用します。

端子

入力

すべて展開する

幅が [B] 行列と [D] 行列の列数と等しい入力ベクトル。詳細については、説明を参照してください。

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

出力

すべて展開する

出力信号。幅は行列 C および D の行数と等しくなります。詳細については、説明を参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

パラメーター

すべて展開する

メイン

状態の行列を実数値または複素数値からなる n 行 n 列の行列として指定します。ここで、n は状態数です。行列係数の詳細については、説明を参照してください。

プログラムでの使用

ブロック パラメーター: A
型: 文字ベクトル
値: スカラー | ベクトル | 行列
既定の設定: '[2.6020 -2.2793 0.6708; 1 0 0; 0 1 0]'

入力の列ベクトルを実数値または複素数値からなる n 行 m 列の行列として指定します。ここで、n は状態数、m は入力数です。行列係数の詳細については、説明を参照してください。

プログラムでの使用

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

出力の列ベクトルを実数値または複素数値からなる r 行 n 列の行列として指定します。ここで、r は出力数、n は状態数です。行列係数の詳細については、説明を参照してください。

プログラムでの使用

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

直達の行列を実数値または複素数値からなる r 行 m 列の行列として指定します。ここで、r は出力数、m は入力数です。行列係数の詳細については、説明を参照してください。

プログラムでの使用

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

状態の初期条件を指定します。

制限

初期状態を inf または NaN にすることはできません。

プログラムでの使用

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

Signal Attributes

ブロックで内部計算に使用するデータ型を指定します。

プログラムでの使用

ブロック パラメーター: InternalDataType
型: 文字ベクトル
値: データ型 string
既定の設定: 'fixdt('double')'

状態方程式 AX+BU に対するスケーリングを指定します。

プログラムでの使用

ブロック パラメーター: StateEqScaling
型: 文字ベクトル
値: スカラー
既定の設定: '2^0'

出力方程式 CX+DU に対するスケーリングを指定します。

プログラムでの使用

ブロック パラメーター: OutputEqScaling
型: 文字ベクトル
値: スカラー
既定の設定: '2^0'

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

プログラムでの使用

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

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

プログラムでの使用

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

このチェック ボックスをオンにすると、オーバーフローを、データ型が表現できる最小値または最大値のいずれかに飽和させます。このオプションを選択しないと、オーバーフローはラップします。

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

プログラムでの使用

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

ブロックの特性

データ型

Booleana | double | fixed point | integer | single

直達

いいえ

多次元信号

いいえ

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

a このブロックは、boolean 信号での使用を推奨しません。

拡張機能

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

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

バージョン履歴

R2006a より前に導入