blockTransferFunction

Linear transfer function

Extends from Interfaces.SISO (Single Input Single Output continuous control block).

Information

This block defines the transfer function between the input u and the output y as (nb = dimension of b, na = dimension of a):

        b[1]*s^[nb-1] + b[2]*s^[nb-2] + ... + b[nb]
y(s) = --------------------------------------------- * u(s)
        a[1]*s^[na-1] + a[2]*s^[na-2] + ... + a[na]

State variables x are defined according to controller canonical form. Internally, vector x is scaled to improve the numerics (the states in versions before version 3.0 of the Modelica Standard Library have been not scaled). This scaling is not visible from the outside of this block because the non-scaled vector x is provided as output signal and the start value is with respect to the non-scaled vector x. Initial values of the states x can be set via parameter x_start.

Example:

TransferFunction g(b = {2,4}, a = {1,3});

results in the following transfer function:

     2*s + 4
y = --------- * u
      s + 3

Parameters

TypeNameDefaultDescription
Real[:]b{1}Numerator coefficients of transfer function (e.g., 2*s+3 is specified as {2,3})
Real[:]a{1}Denominator coefficients of transfer function (e.g., 5*s+6 is specified as {5,6})
Initialization
Modelica.Blocks.Types.InitinitTypeModelica.Blocks.Types.Init.NoInitType of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)
Real[size(a, 1) - 1]x_startzeros(nx)Initial or guess values of states
Realy_start0Initial value of output (derivatives of y are zero up to nx-1-th derivative)

Connectors

TypeNameDefaultDescription
RealInputu (from SISO)Connector of Real input signal
RealOutputy (from SISO)Connector of Real output signal

Components

TypeNameDefaultDescription
Real[size(a, 1) - 1]xState of transfer function from controller canonical form