Main Content

LTI System

Use linear time invariant system model object in Simulink

  • LTI System block

Libraries:
Control System Toolbox

Description

The LTI System block imports linear system model objects into the Simulink® environment. You specify the LTI model to import in the LTI system variable parameter. You can import any type of proper linear time-invariant dynamic system model. If the imported system is a state-space (ss) model, you can specify initial state values in the Initial states parameter.

Examples

expand all

The LTISystemBlockSimulation model shows how to use an LTI System block to simulate the response of a SISO transfer function to a step input.

To specify a model for the LTI System block, set the LTI system variable block parameter to either:

  • The variable name of an LTI model in the MATLAB® workspace or model workspace, such as sys.

  • A MATLAB expression that evaluates to an LTI model, such as tf(1,[1 1]).

For example, you can specify a state-space (ss), zero-pole-gain (zpk), or transfer function (tf) model. You can simulate SISO models or MIMO models, and continuous-time or discrete-time models.

In LTISystemBlockSimulation model, the LTI system variable parameter is a MATLAB expression, tf(1,[1 2 5]), which creates a continuous-time SISO transfer function. If the specified system is a state-space (ss) model, then you can specify initial state values by setting the Initial states parameter.

Simulate the model, and examine the result in the scope.

This example simulates the system response to a step input at t = 2 s. Use the LTI System block to import an LTI model object anywhere in your Simulink model to simulate the linear system response to any input.

This model shows how to use an LTI System block to represent a MIMO linear system in Simulink®.

The LTI System block has one input and one output, even when you specify a MIMO model for the block. In that case, the block input and output become vector signals. For instance, the model LTISystemBlockMIMO uses an LTI system block to represent a MIMO plant in a control system.

In this model, the LTI System specified in the block is Gm, a 2-output, 2-input transfer function model stored in the model workspace. A Mux block combines the two controller outputs into a vector signal for the LTI System block input. Similarly, a Demux block separates the vector output of the LTI System block into two scalar signals.

Simulate the model, and examine the result in the scope.

This example simulates a closed-loop system response to a t = 50 s step at the first input and a t = 150 s step at the second input. You can use the LTI system block anywhere you want to insert an LTI system into a Simulink model.

Ports

Input

expand all

For a single-input LTI system, the input signal is a scalar. For multiple-input systems, combine the system inputs into a vector signal, using blocks such as:

Output

expand all

For a single-output LTI system, the output signal is a scalar. For multiple-output systems, the output signal is a vector. To split system outputs into scalar signals, use blocks such as:

Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

Specify the linear system for the block as a MATLAB® expression or a variable in the MATLAB workspace, the model workspace, or a data dictionary. The model can be SISO or MIMO.

Most linear time-invariant dynamic system models are supported, except:

  • Frequency-response data models, such as frd and genfrd models.

  • Nonlinear identified models, such as idnlarx.

  • Models with unmodeled dynamics, such as udyn.

The specified model must be proper (see isproper).

The model can be either continuous time or discrete time. When the LTI system block is in a Simulink model with synchronous state control (see the State Control (HDL Coder) block), you must specify a discrete-time model.

Simulink converts the model to its state-space equivalent prior to initializing the simulation.

If the linear system is in state-space form, specify the initial state values as a vector with as many entries as the system has states. If you specify a scalar value, the block applies that value to each state in the system. The default value, [], initializes all states to zero.

The concept of initial state is not well-defined for linear systems that are not in state-space form, such as transfer functions or zero-pole-gain models. For such models, the initial state depends on the choice of state coordinates used by the realization algorithm. As a result, the block ignores this parameter for such models.

Set the order of the Pade approximation for linearization routines.

  • The default value is 0, which results in a unity gain with no dynamic states.

  • Setting the order to a positive integer n adds n states to your model, but results in a more accurate linear model of the delay.

Use a vector of positive integers to specify a different order for each input channel.

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced before R2006a

expand all

See Also