Main Content

Discrete Varying Transfer Function

Discrete-time transfer function with varying coefficients

  • Discrete Varying Transfer Function block

Libraries:
Control System Toolbox / Linear Parameter Varying

Description

This block implements a discrete-time transfer function with varying coefficients. The instantaneous transfer function is given by:

H(z)=b0+b1/z++bN/zN1+a1/z++aN/zN,

where N is number of poles, specified with the Transfer function order parameter. Feed the values of the coefficients a1, …, aN and b0, b1, …, bN to the corresponding block input ports.

Use this block and the other blocks in the Linear Parameter Varying library to implement common control elements with variable parameters or coefficients. For more information, see Model Gain-Scheduled Control Systems in Simulink.

Caution

Avoid making the transfer-function coefficients depend on the block output y. If you have such dependence, the resulting transfer function causes an algebraic loop, because computing the block output value requires knowing the block output value. This algebraic loop is prone to instability and divergence. Instead, try expressing the coefficients in terms of the time t and the block input u.

Ports

Input

expand all

Transfer function input signal.

Transfer function numerator coefficients. The number of coefficient ports is determined by the Transfer function order parameter.

For a zero-feedthrough transfer function, clear the Enable feedthrough checkbox. Clearing this checkbox disables the b0 input port. (since R2023a)

Transfer function denominator coefficients. The number of coefficient ports is determined by the Transfer function order parameter.

Output

expand all

Transfer function output signal.

Parameters

expand all

Transfer function (number of poles), specified as a positive integer. This parameter determines the number of coefficient input ports on the block.

Since R2023a

Enable the b0 input port for a transfer function with direct feedthrough. For a zero-feedthrough transfer function, clear this checkbox. Disabling the port for zero-feedthrough models is numerically more reliable than feeding a zero-constant into the port.

Block sample time, specified as either –1 (inherited sample time) or a positive scalar value.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

PLC Code Generation
Generate Structured Text code using Simulink® PLC Coder™.

Version History

Introduced in R2017b

expand all