TransferFunction

Discrete Transfer Function block

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

The discrete transfer function block defines the transfer function between the input signal u and the output signal y. The numerator has the order nb-1, the denominator has the order na-1.

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

State variables x are defined according to controller canonical form. Initial values of the states can be set as start values of x.

Example:

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

results in the following transfer function:

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

Parameters (4)

samplePeriod

Value:

Type: Time (s)

Description: Sample period of component

startTime

Value: 0

Type: Time (s)

Description: First sample time instant

b

Value: {1}

Type: Real[:]

Description: Numerator coefficients of transfer function.

a

Value: {1}

Type: Real[:]

Description: Denominator coefficients of transfer function.

Outputs (3)

sampleTrigger

Type: Boolean

Description: True, if sample time instant

firstTrigger

Type: Boolean

Description: Rising edge signals first sample instant

x

Type: Real[size(a, 1) - 1]

Description: State of transfer function from controller canonical form

Connectors (2)

u

Type: RealInput

Description: Connector of Real input signal

y

Type: RealOutput

Description: Connector of Real output signal