Main Content

Transfer function model with identifiable parameters

An `idtf`

model represents a system as a continuous-time or
discrete-time transfer function with identifiable (estimable) coefficients. Use
`idtf`

to create a transfer function model, or to convert Dynamic System Models to transfer
function form.

A SISO transfer function is a ratio of polynomials with an exponential term. In continuous time,

$$G\left(s\right)={e}^{-\tau s}\frac{{b}_{n}{s}^{n}+{b}_{n-1}{s}^{n-1}+\mathrm{...}+{b}_{0}}{{s}^{m}+{a}_{m-1}{s}^{m-1}+\mathrm{...}+{a}_{0}}.$$

In discrete time,

$$G\left({z}^{-1}\right)={z}^{-k}\frac{{b}_{n}{z}^{-n}+{b}_{n-1}{z}^{-n+1}+\mathrm{...}+{b}_{0}}{{z}^{-m}+{a}_{m-1}{z}^{-m+1}+\mathrm{...}+{a}_{0}}.$$

In discrete time, *z*^{–k}
represents a time delay of *kT _{s}*, where

For `idtf`

models, the denominator coefficients
*a*_{0},...,*a*_{m–1}
and the numerator coefficients
*b*_{0},...,*b _{n}*
can be estimable parameters. (The leading denominator coefficient is always fixed to 1.) The
time delay

`idtf`

model stores the polynomial coefficients
`Denominator`

and `Numerator`

properties of the
model, respectively. The time delay `IODelay`

property of the model.Unlike `idss`

and `idpoly`

,
`idtf`

fixes the noise parameter to 1 rather than parameterizing it. So,
in $$y=Gu+He$$, *H* = 1.

A MIMO transfer function contains a SISO transfer function corresponding to each
input-output pair in the system. For `idtf`

models, the polynomial
coefficients and transport delays of each input-output pair are independently estimable
parameters.

You can obtain an `idtf`

model object in one of three ways.

Estimate the

`idtf`

model based on input-output measurements of a system using`tfest`

. The`tfest`

command estimates the values of the transfer function coefficients and transport delays. The estimated values are stored in the`Numerator`

,`Denominator`

, and`IODelay`

properties of the resulting`idtf`

model. When you reference numerator and denominator properties, you can use the shortcuts`num`

and`den`

. The`Report`

property of the resulting model stores information about the estimation, such as handling of initial conditions and options used in estimation. For example, you can use the following commands to estimate and get information about a transfer function.sys = tfest(data,nx); num = sys.Numerator; den = sys.den; sys.Report

For more examples of estimating an

`idtf`

model, see`tfest`

.When you obtain an

`idtf`

model by estimation, you can extract estimated coefficients and their uncertainties from the model. To do so, use commands such as`tfdata`

,`getpar`

, or`getcov`

.Create an

`idtf`

model using the`idtf`

command. For example, create an`idtf`

model with the numerator and denominator that you specify.You can create ansys = idtf(num,den)

`idtf`

model to configure an initial parameterization for estimation of a transfer function to fit measured response data. When you do so, you can specify constraints on such values as the numerator and denominator coefficients and transport delays. For example, you can fix the values of some parameters, or specify minimum or maximum values for the free parameters. You can then use the configured model as an input argument to`tfest`

to estimate parameter values with those constraints. For examples, see Create Continuous-Time Transfer Function Model and Create Discrete-Time Transfer Function.Convert an existing dynamic system model to an

`idtf`

model using the`idtf`

command. For example, convert the state-space model`sys_ss`

to a transfer function.For a more detailed example, see Convert Identifiable State-Space Model to Identifiable Transfer Functionsys_tf = idtf(sys_ss);

For information on functions you can use to extract information from or transform
`idtf`

model objects, see Object Functions.

creates
a continuous-time transfer function model with identifiable parameters. `sys`

= idtf(numerator,denominator)`numerator`

specifies the current values of the transfer function numerator
coefficients. `denominator`

specifies the current values of the transfer function denominator coefficients.

creates a discrete-time transfer function model with sample time `sys`

= idtf(numerator,denominator,Ts)`Ts`

.

creates a transfer function with the properties
specified by one or more `sys`

= idtf(___,`Name,Value`

)`Name,Value`

pair arguments. Specify
name-value pair arguments after any of the input argument combinations in the previous
syntaxes.

In general, any function applicable to Dynamic System Models is
applicable to an `idtf`

model object. These functions are of four general types.

Functions that operate and return

`idtf`

model objects enable you to transform and manipulate`idtf`

models. For instance:Functions that perform analytical and simulation functions on

`idtf`

objects, such as`bode`

and`sim`

Functions that retrieve or interpret model information, such as

`advice`

and`getpar`

Functions that convert

`idtf`

objects into a different model type, such as`idpoly`

for time domain or`idfrd`

for frequency domain

The following lists contain a representative subset of the functions that you can use with
`idtf`

models.