blockTransferFunction

Discrete Transfer Function block

Extends from Interfaces.DiscreteSISO (Single Input Single Output discrete control block).

Information

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

TypeNameDefaultDescription
Real[:]b{1}Numerator coefficients of transfer function.
Real[:]a{1}Denominator coefficients of transfer function.
SI.TimesamplePeriod (from DiscreteBlock)Sample period of component
SI.TimestartTime (from DiscreteBlock)0First sample time instant

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputu (from DiscreteSISO)Connector of Real input signal
Modelica.Blocks.Interfaces.RealOutputy (from DiscreteSISO)Connector of Real output signal

Components

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

Revisions

Release Notes:

  • November 15, 2000 by Hans Olsson:
    Converted to when-semantics of Modelica 1.4 with special care to avoid unnecessary algebraic loops.
  • June 18, 2000 by Martin Otter:
    Realized based on a corresponding model of Dieter Moormann and Hilding Elmqvist.