A transfer function is
an LTI system response at a linearization output point to a linearization
input. You perform linear analysis on transfer functions to understand
the stability, time-domain characteristics, or frequency-domain characteristics
of a system.
You can calculate multiple transfer functions for a given block
diagram. Consider the ex_scd_simple_fdbk
model:
You can calculate the transfer function from the reference input
signal to the plant output signal. The reference input (also
referred to as setpoint), r
,
originates at the Reference block, and the plant
output, y
, originates at the G block.
This transfer function is also called the overall closed-loop transfer
function. To calculate this transfer function, the software adds a
linearization input at r
, dr
,
and a linearization output at y
.
The software calculates the overall closed-loop transfer function
as the transfer function from dr
to y
,
which is equal to (I+GK)-1GK.
Observe that the transfer function from r
to y
is
equal to the transfer function from dr
to y
.
You can calculate the plant transfer function from
the plant input, u
, to the plant output, y
.
To isolate the plant dynamics from the effects of the feedback loop,
introduce a loop break (or opening) at y
, e
,
or, as shown, at u
.
The software breaks the loop and adds a linearization input, du
,
at u
, and a linearization output at y
.
The plant transfer function is equal to the transfer function from du
to y
,
which is G.
Similarly, to obtain the controller transfer function,
calculate the transfer function from the controller input, e
,
to the controller output, u
. Break the feedback
loop at y
, e
, or u
.
You can use getIOTransfer
to obtain various
open-loop and closed-loop transfer functions. To configure the transfer
function, specify analysis
points as inputs, outputs, and openings (temporary or permanent), in
any combination. The software treats each combination uniquely. Consider
the following code that shows some different ways that you can use
the analysis point, u
, to obtain a transfer function:
In T0
, u
specifies a loop
break. In T1
, u
specifies only
an input, whereas in T2
, u
specifies
an input and an opening, also referred to as an open-loop
input. In T3
, u
specifies
only an output, whereas in T4
, u
specifies
an output and an opening, also referred to as an open-loop
output. In T5
, u
specifies
an input and an output, also referred to as a complementary
sensitivity point. In T6
, u
specifies
an input, an output, and an opening, also referred to as a loop
transfer point. The table describes how getIOTransfer
treats
the analysis points, with an emphasis on the different uses of u
.
u Specifies... | How getIOTransfer Treats
Analysis Points | Transfer Function |
---|
Loop break
Example code:
T0 = getIOTransfer(sllin,'e','y','u')
|
The software
stops the signal flow at u , adds a linearization
input, de , at e , and a linearization
output at y . |
|
Input
Example code:
T1 = getIOTransfer(sllin,'u','y')
|
The software
adds a linearization input, du , at u ,
and a linearization output at y . |
|
Open-loop input
Example code:
T2 = getIOTransfer(sllin,'u','y','u')
|
The software
breaks the signal flow and adds a linearization input, du ,
at u , and a linearization output at y . |
|
Output
Example code:
T3 = getIOTransfer(sllin,'y','u')
|
The software
adds a linearization input, dy , at y and
a linearization output at u . |
|
Open-loop output
Example code:
T4 = getIOTransfer(sllin,'y','u','u')
|
The software
adds a linearization input, dy , at y and
adds a linearization output and breaks the signal flow at u . |
|
Complementary sensitivity
point
Example code:
T5 = getIOTransfer(sllin,'u','u')
|
The software
adds a linearization output and a linearization input, du ,
at u . |
|
Loop transfer function
point
Example code:
T6 = getIOTransfer(sllin,'u','u','u')
|
The software
adds a linearization output, breaks the loop, and adds a linearization
input, du , at u . |
|
The software does not modify the Simulink model when it
computes the transfer function.