Contents     Functions              PDF Index

## qbode

Purpose

Frequency response functions (in the xf format) for linear systems.

Syntax

```xf = qbode(a,b,c,d,w)
xf = qbode(ss,w)
xf = qbode(num,den,w)
XF = qbode( ... ,'struct')
qbode( ... ,'iiplot ...')
```

Description

For state-space models described by matrices a, b, c, d, or the LTI state-space object sys (see Control System Toolbox), qbode uses an eigenvalue decomposition of a to compute, in a minimum amount of time, all the FRF xf at the frequency points w

 xf = [C] (s [\ I \ ] − [A])−1 [B] + [D]

The result is stored in the xf format . 'iiplot "Test" -po -reset' can be used to display results in iiplot(see section 2.1.2). The option -po is used to save poles in ci.Stack{'IdMain'} so that they can be displayed. -reset reinitializes the curve stack.

qbode will not work if your model is not diagonalizable. A specific algorithm was developed to deal with systems with rigid-body modes (double pole at zero associated to non-diagonalizable matrices). This algorithm will not, however, indicate the presence of incoherent b and c matrices. In other cases, you should then use the direct routines res2xf, nor2xf, etc. or the bode function of the Control System Toolbox.

For the polynomial models num, den , qbode computes the FRF at the frequency points w

xf=
 num (jω) den (jω)

Warnings

• All the SISO FRF of the system are computed simultaneously and the complex values of the FRF returned. This approach is good for speed but not always well numerically conditioned when using state space models not generated by the SDT.
• As for all functions that do not have access to options (IDopt for identification and Up.copt for FE model update) frequencies are assumed to be given in the mathematical default (rad/s). If your frequencies w are given in Hz, use qbode(sys,w*2*pi).
• Numerical conditioning problems may appear for systems with several poles at zero.

demo_fe, res2xf, nor2xf, and bode of the Control System Toolbox