res2ss, ss2res

Contents

res2ss, ss2res#

Purpose

Transformations between the residue res and state-space ss forms.

Syntax

SYS            = res2ss(RES)
SYS            = res2ss(RES,'AllIO')
[a,b,c,d]      = res2ss(res,po,idopt)
RES            = ss2res(SYS)
[res,po,idopt] = ss2res(a,b,c,d)

Description

The functions res2ss and ss2res provide transformations between the complex / normal mode residue forms res (see section 5.6) and the state space forms (see section 5.4). You can use either high level calls with data structures or low level calls providing each argument

ci=demosdt('demo gartid est')
SYS = res2ss(ci.Stack{'IdMain'});
RES = ss2res(SYS);
ID=ci.Stack{'IdMain'};
[a,b,c,d] = res2ss(ID.res,ID.po,ID.idopt);

Important properties and limitations of these transformations are

ss#

  • The residue model should be minimal (a problem for MIMO systems). The function id_rm is used within res2ss to obtain a minimal model (see section 2.9.1). To obtain models with multiple poles use id_rm to generate new_res and new_po matrices.
  • you can bypass the id_rm call by providing complex mode modal controllability ψjT b in a .psib field and modal observability cψj in a .def field. This is in particular used by fe2ss with the -cpx command option.
  • idopt.Reciprocity='1 FRF' or MIMO id_rm then also constrains the system to be reciprocal, this may lead to differences between the residue and state-space models.
  • The constructed state-space model corresponds to a displacement output.
  • Low frequency corrections are incorporated in the state-space model by adding a number (minimum of ns and na) of poles at 0.

    Asymptotic corrections (see idopt.ResidualTerms) other than the constant and s−2 are not included.

  • See below for the expression of the transformation.
  • The 'AllIo' input can be used to return all input/output pairs when assuming reciprocity.

res#

  • Contributions of rigid-body modes are put as a correction (so that the pole at zero does not appear). A real pole at 0 is not added to account for contributions in 1/s.
  • To the exception of contributions of rigid body modes, the state-space model must be diagonalizable (a property verified by state-space representations of structural systems).

Theory

For control design or simulation based on identification results, the minimal model resulting from id_rm is usually sufficient (there is no need to refer to the normal modes). The state-space form is then the reference model form.

As shown in section 2.9.1, the residue matrix can be decomposed into a dyad formed of a column vector (the modal output), and a row vector (the modal input). From these two matrices, one derives the [B] and [C] matrices of a real parameter state-space description of the system with a bloc diagonal [A] matrix

 
    (10.68)

where the blocks of matrices B1, B2, C1, C2 are given by

 
    (10.69)

Form the state space model thus obtained, FRFs in the xf format can be readily obtained using qbode. If the state space model is not needed, it is faster to use res2xf to generate these FRFs.

See also

demo_fe, res2xf, res2nor, qbode, id_rm, id_rc