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 向量。

此模块接受一个输入并生成一个输出。输入向量的宽度是 BD 矩阵中的列数。输出向量的宽度是 CD 矩阵中的行数。要定义初始状态向量,请使用初始条件参数。

端口

输入

全部展开

输入向量,其宽度等于 BD 矩阵中的列数。有关详细信息,请参阅描述

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
复数支持:

输出

全部展开

输出信号,其宽度等于 CD 矩阵中的行数。有关详细信息,请参阅描述

数据类型: 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]'

指定状态的初始条件。

限制

初始状态不能为 infNaN

编程用法

模块参数X0
类型:字符向量
值:标量 | 向量 | 矩阵
默认值:'0.0'

信号属性

指定模块用于内部计算的数据类型。

编程用法

模块参数InternalDataType
类型:字符向量
值:数据类型字符串
默认值'fixdt('double')'

指定状态方程 AX+BU 的定标。

编程用法

模块参数StateEqScaling
类型:字符向量
值:标量
默认值'2^0'

指定输出方程 CX+DU 的定标。

编程用法

模块参数OutputEqScaling
类型:字符向量
值:标量
默认值'2^0'

选中此选项将锁定此模块的输出数据类型设置,从而防止通过定点工具和定点顾问进行更改。有关详细信息,请参阅Use Lock Output Data Type Setting (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 建议不要将此模块用于布尔信号。

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2006a 之前推出