Fixed-Point State-Space
实现离散时间状态空间
![](fixed_point_state_space_block_icon.png)
库:
Simulink /
Additional Math & Discrete /
Additional Discrete
描述
Fixed-Point State-Space 模块实现由以下方程所描述的系统:
其中 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 向量。
此模块接受一个输入并生成一个输出。输入向量的宽度是 B 和 D 矩阵中的列数。输出向量的宽度是 C 和 D 矩阵中的行数。要定义初始状态向量,请使用初始条件参数。
端口
输入
输出
参数
常设
状态矩阵 A — 状态矩阵
[2.6020 -2.2793 0.6708; 1 0 0; 0 1 0]
(默认) | 标量 | 向量 | 矩阵
将状态矩阵指定为实数值或复数值 n×n 矩阵,其中 n 是状态的数量。有关矩阵系数的详细信息,请参阅描述。
编程用法
模块参数:A |
类型:字符向量 |
值:标量 | 向量 | 矩阵 |
默认值:'[2.6020 -2.2793 0.6708; 1 0 0; 0 1 0]' |
输入矩阵 B — 输入的列向量
[ 1; 0; 0]
(默认) | 标量 | 向量 | 矩阵
将输入的列向量指定为实数或复数值 n×m 矩阵,其中 n 是状态的数量,而 m 是输入的个数。有关矩阵系数的详细信息,请参阅描述。
编程用法
模块参数:B |
类型:字符向量 |
值:标量 | 向量 | 矩阵 |
默认值:'[ 1; 0; 0]' |
输出矩阵 C — 输出的列向量
[0.0184 0.0024 0.0055]
(默认) | 标量 | 向量 | 矩阵
将输出的列向量指定为实数值或复数值 r×n 矩阵,其中 r 是输出的个数,而 n 是状态的数量。有关矩阵系数的详细信息,请参阅描述。
编程用法
模块参数:C |
类型:字符向量 |
值:标量 | 向量 | 矩阵 |
默认值:'[0.0184 0.0024 0.0055]' |
直接馈通矩阵 D — 直接馈通矩阵
[0.0033]
(默认) | 标量 | 向量 | 矩阵
将直接馈通矩阵指定为实数值或复数值 r×m 矩阵,其中 r 为输出的个数,m 为输入的个数。有关矩阵系数的详细信息,请参阅描述。
编程用法
模块参数:D |
类型:字符向量 |
值:标量 | 向量 | 矩阵 |
默认值:'[0.0033]' |
状态的初始条件 — 初始状态向量
0.0
(默认) | 标量 | 向量 | 矩阵
指定状态的初始条件。
限制
初始状态不能为 inf
或 NaN
。
编程用法
模块参数:X0 |
类型:字符向量 |
值:标量 | 向量 | 矩阵 |
默认值:'0.0' |
信号属性
内部计算的数据类型 — 内部计算的数据类型
fixdt('double')
(默认) | 数据类型字符串
指定模块用于内部计算的数据类型。
编程用法
模块参数:InternalDataType |
类型:字符向量 |
值:数据类型字符串 |
默认值:'fixdt('double')' |
状态方程 AX+BU 的定标 — 状态方程的定标
2^0
(默认) | 标量
指定状态方程 AX+BU 的定标。
编程用法
模块参数:StateEqScaling |
类型:字符向量 |
值:标量 |
默认值:'2^0' |
输出方程 CX+DU 的定标 — 输出方程的定标
2^0
(默认) | 标量
指定输出方程 CX+DU 的定标。
编程用法
模块参数:OutputEqScaling |
类型:字符向量 |
值:标量 |
默认值:'2^0' |
锁定输出数据类型设置以防止被定点工具更改 — 防止定点工具覆盖数据类型
off
(默认) | on
选中此选项将锁定此模块的输出数据类型设置,从而防止通过定点工具和定点顾问进行更改。有关详细信息,请参阅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' |
发生溢出时饱和处理为最大值或最小值 — 溢出操作的方法
off
(默认) | on
当您选中此复选框时,溢出将饱和处理为数据类型可表示的最大值或最小值。否则,溢出将绕回。
如果选中此复选框,饱和将应用于模块中的每个内部操作,而不仅仅应用于输出或结果。一般情况下,代码生成进程可以检测到何时不可能发生溢出。在这种情况下,代码生成器不会生成饱和代码。
编程用法
模块参数:DoSatur |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
此模块具有一个默认 HDL 架构。
如果在矩阵乘法模式下使用该模块,可以指定 DotProductStrategy。此设置决定您是要通过使用加法器和乘法器树来实现矩阵乘法,还是使用 Multiply-Accumulate 模块实现。默认值为 Fully Parallel
。
注意
使用 Native Floating Point
模式时,DotProductStrategy 必须设置为 Fully Parallel
。
有关详细信息,请参阅DotProductStrategy (HDL Coder)。
通用 | |
---|---|
ConstrainedOutputPipeline | 通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线不会重新分发这些寄存器。默认值为 |
DSPStyle | 乘法器映射的综合属性。默认值为无。另请参阅DSPStyle (HDL Coder)。 |
InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)