Engee documentation

Transfer Fcn

A model of a linear system in the form of a transfer function.

transfer fcn

Description

The Transfer Fcn block models a linear system using a transfer function of the variable in the form of Laplace images. The block can model systems with one input and one output (SISO) or with one input and multiple outputs (SIMO).

The block icon displays the transfer function specified by the Numerator coefficients and Denominator coefficients parameters. If the size of the block icon does not accommodate the whole expression, is displayed.

Conditions for using the block

The Transfer Fcn block assumes that the following conditions are met:

  • The transfer function has the form

    where

    • and - input and output signals, respectively

    • and - number of coefficients in numerator and denominator, respectively

    • and - coefficients of numerator and denominator in descending order of degree .

  • The order of the denominator must be greater than or equal to the order of the numerator.

  • For a system with multiple outputs, all transfer functions have the same denominator and all numerators have the same order.

Modelling a single output system

For a single output system, the input and output of a unit are scalar signals in the time domain. To model this system:

  1. Enter the vector of transfer function numerator coefficients in the Numerator coefficients field.

  2. Enter the vector of denominator coefficients of the transfer function in the Denominator coefficients field.

Modelling a system with multiple outputs

For a system with multiple outputs, the input of a block is a scalar and the output is a vector where each element is an output of the system. To model this system:

  1. Enter a matrix in the Numerator coefficients field.

    Each row of this matrix contains the coefficients of the numerator of the transfer function that defines one of the outputs of the block.

  2. Enter the vector of denominator coefficients common to all transfer functions of the system in the Denominator coefficients field.

Setting initial conditions

The transfer function describes the relationship between input and output in the Laplace (frequency) domain. In particular, it is defined as the Laplace transform of the response (output signal) of a system with zero initial conditions to a pulsed input signal.

Operations such as multiplication and division of transfer functions depend on the zero initial condition. For example, you can decompose one complex transfer function into a number of simpler transfer functions. Apply them sequentially to get a response equivalent to that of the original transfer function. This rule does not hold if one of these transfer functions has a non-zero initial state. In addition, the transfer function has infinitely many realisations in the time domain, most of whose states have no physical meaning.

For these reasons, the initial conditions of the Transfer Fcn block are pre-set to zero. To specify the initial conditions for a given transfer function, transform the transfer function to a canonical form in the state space, then use the block State-Space.

Engee includes the ControlSystems library for the Julia language. It can be used to convert the transfer function to canonical form as follows:

tfcn = tf([1, 2, 3], [4,5,6])
states = ss(tfcn)

For more information about the ControlSystems library, see. official site.

Ports

Input

Port_1 - input signal
scalar

Input signal; scalar.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Output

Port_1 - output signal
scalar | vector

Output signal; scalar or vector.

For a system with a single output, the input and output of a unit are scalar signals in the time domain.

For a system with multiple outputs, the input signal is a scalar and the output signal is a vector, where each element is an output of the system.

Data types: Float64.

Parameters

Numerator coefficients - vector or matrix of numerator coefficients
[1] (by default) | vector | matrix

Numerator coefficients of the transfer function.

  • For a system with one output, enter a vector for the numerator coefficients of the transfer function.

  • For a system with multiple outputs, enter a matrix. Each row of this matrix contains the numerator coefficients of the transfer function that defines one of the block outputs.

Usage in program code

Block parameter

Numerator

Values

vector | matrix

By default

[1]

Denominator coefficients - vector of denominator coefficients
[1 1] (By default) | vector

Vector of denominator coefficients.

  • For a single output system, enter a vector for the denominator coefficients of the transfer function.

  • For a system with multiple outputs, enter a vector containing the denominator coefficients common to all transfer functions in the system.

Usage in program code

Block parameter

Denominator

Values

vector

By default

[1 1]