主要内容

LTI System

Simulink 中使用线性时不变系统模型对象

  • LTI System block

库:
Control System Toolbox

描述

LTI System 模块将线性系统模型对象导入 Simulink® 环境中。您可以在 LTI 系统变量参数中指定要导入的 LTI 模型。您可以导入任何类型的适当线性时不变动态系统模型。如果导入的系统是状态空间 (ss) 模型,您可以在初始状态参数中指定初始状态值。

示例

全部展开

LTISystemBlockSimulation 模型展示如何使用 LTI System 模块来仿真 SISO 传递函数对阶跃输入的响应。

要为 LTI System 模块指定模型,请将 LTI 系统变量模块参数设置为以下任一值:

  • MATLAB® 工作区或模型工作区中某个 LTI 模型的变量名称,例如 sys

  • 一个可计算为 LTI 模型的 MATLAB 表达式,例如 tf(1,[1 1])

例如,您可以指定状态空间 (ss) 模型、零极点增益 (zpk) 模型或传递函数 (tf) 模型。您可以仿真 SISO 模型或 MIMO 模型,以及连续时间模型或离散时间模型。

LTISystemBlockSimulation 模型中,LTI 系统变量参数是 MATLAB 表达式 tf(1,[1 2 5]),它创建连续时间 SISO 传递函数。如果指定的系统是状态空间 (ss) 模型,您可以通过设置初始状态参数来指定初始状态值。

对模型进行仿真并检查示波器中的结果。

此示例仿真了系统在 t = 2 秒时对阶跃输入的响应。使用 LTI System 模块将 LTI 模型对象导入到 Simulink 模型中的任意位置,以仿真线性系统对任意输入的响应。

此模型展示如何在 Simulink® 中使用 LTI System 模块表示 MIMO 线性系统。

即使您为 LTI System 模块指定 MIMO 模型,该模块也只有一个输入和一个输出。在这种情况下,模块的输入和输出变为向量信号。例如,模型 LTISystemBlockMIMO 使用 LTI 系统模块表示控制系统中的 MIMO 被控对象。

在此模型中,模块中指定的 LTI System 为 Gm,这是一个存储在模型工作区中的 2 输出、2 输入传递函数模型。Mux 模块将两个控制器输出组合成向量信号,作为 LTI System 模块的输入。类似地,Demux 模块将 LTI System 模块的向量输出分离为两个标量信号。

对模型进行仿真并检查示波器中的结果。

此示例仿真闭环系统对第一个输入在 t = 50 秒时的阶跃以及第二个输入在 t = 150 秒时的阶跃的响应。您可以在 Simulink 模型中任意需要插入 LTI 系统的位置使用 LTI 系统模块。

端口

输入

全部展开

对于单输入 LTI 系统,输入信号是标量。对于多输入系统,使用类似如下的模块将系统输入合并为一个向量信号:

输出

全部展开

对于单输出 LTI 系统,输出信号是标量。对于多输出系统,输出信号是向量。要将系统输出分成标量信号,请使用类似如下的模块:

参数

全部展开

要以交互方式编辑模块参数,请使用属性检查器。在 Simulink 工具条中,在仿真选项卡的准备库中,选择属性检查器

将模块的线性系统指定为 MATLAB® 表达式或 MATLAB 工作区、模型工作区或数据字典中的变量。该模型可以是 SISO 或 MIMO。

支持大多数线性时不变动态系统模型,以下模型除外:

  • 频率响应数据模型,如 frdgenfrd 模型。

  • 非线性辨识模型,如 idnlarx

  • 具有未建模动态的模型,例如 udyn

指定的模型必须是本征模型(请参阅 isproper)。

模型可以采用连续时间或离散时间。当 LTI system 模块位于具有同步状态控制(请参阅 State Control (HDL Coder) 模块)的 Simulink 模型中时,必须指定一个离散时间模型。

Simulink 在初始化仿真之前将模型转换为其等效的状态空间模型。

如果线性系统为状态空间形式,将初始状态值指定为一个向量,其条目数与系统的状态数相同。如果指定一个标量值,模块会将该值应用于系统中的每个状态。默认值 [] 将所有状态初始化为零。

对于非状态空间形式的线性系统,如传递函数或零极点增益模型,初始状态的概念并未明确定义。对于这样的模型,初始状态取决于实现算法所使用的状态坐标的选择项。因此,对于此类模型,模块会忽略此参数。

为线性化例程设置 Pade 逼近的阶数。

  • 默认值为 0,这意味着模型具有单位增益且没有动态状态。

  • 将阶数设置为正整数 n 会向模型添加 n 个状态,但可以得到更准确的延迟线性模型。

使用正整数向量为每个输入通道指定不同的阶数。

扩展功能

全部展开

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

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅