Documentation

Transfer Functions

Transfer Function Representations

Control System Toolbox™ software supports transfer functions that are continuous-time or discrete-time, and SISO or MIMO. You can also have time delays in your transfer function representation.

A SISO continuous-time transfer function is expressed as the ratio:

$G\left(s\right)=\frac{N\left(s\right)}{D\left(s\right)},$

of polynomials N(s) and D(s), called the numerator and denominator polynomials, respectively.

You can represent linear systems as transfer functions in polynomial or factorized (zero-pole-gain) form. For example, the polynomial-form transfer function:

$G\left(s\right)=\frac{{s}^{2}-3s-4}{{s}^{2}+5s+6}$

can be rewritten in factorized form as:

$G\left(s\right)=\frac{\left(s+1\right)\left(s-4\right)}{\left(s+2\right)\left(s+3\right)}.$

The tf model object represents transfer functions in polynomial form. The zpk model object represents transfer functions in factorized form.

MIMO transfer functions are arrays of SISO transfer functions. For example:

$G\left(s\right)=\left[\begin{array}{c}\frac{s-3}{s+4}\\ \frac{s+1}{s+2}\end{array}\right]$

is a one-input, two output transfer function.

Commands for Creating Transfer Functions

Use the commands described in the following table to create transfer functions.

Command

Description

tf

Create tf objects representing continuous-time or discrete-time transfer functions in polynomial form.

zpk

Create zpk objects representing continuous-time or discrete-time transfer functions in zero-pole-gain (factorized) form.

filt

Create tf objects representing discrete-time transfer functions using digital signal processing (DSP) convention.

Create Transfer Function Using Numerator and Denominator Coefficients

This example shows how to create continuous-time single-input, single-output (SISO) transfer functions from their numerator and denominator coefficients using tf.

Create the transfer function $G\left(s\right)=\frac{s}{{s}^{2}+3s+2}$:

num = [1 0];
den = [1 3 2];
G = tf(num,den);

num and den are the numerator and denominator polynomial coefficients in descending powers of s. For example, den = [1 3 2] represents the denominator polynomial s2 + 3s + 2.

G is a tf model object, which is a data container for representing transfer functions in polynomial form.

Tip

Alternatively, you can specify the transfer function G(s) as an expression in s:

1. Create a transfer function model for the variable s.

s = tf('s');
2. Specify G(s) as a ratio of polynomials in s.

G = s/(s^2 + 3*s + 2);

Create Transfer Function Model Using Zeros, Poles, and Gain

This example shows how to create single-input, single-output (SISO) transfer functions in factored form using zpk.

Create the factored transfer function $G\left(s\right)=5\frac{s}{\left(s+1+i\right)\left(s+1-i\right)\left(s+2\right)}$:

Z = ;
P = [-1-1i -1+1i -2];
K = 5;
G = zpk(Z,P,K);

Z and P are the zeros and poles (the roots of the numerator and denominator, respectively). K is the gain of the factored form. For example, G(s) has a real pole at s = –2 and a pair of complex poles at s = –1 ± i. The vector P = [-1-1i -1+1i -2] specifies these pole locations.

G is a zpk model object, which is a data container for representing transfer functions in zero-pole-gain (factorized) form.