LFRT version 2.0: realization



LFR-object can be realized using the basic functions lfr and lfrs presented here. This page presents more advanced tools. The functions sym2lfr and symtreed are used for direct realization of symbolic objects, gmorton and symtreed for order reduction.


Function gmorton

This function generalizes Morton's approach for realizing LFR-objects corresponding to an expansion. An SVD decomposition is applied to the coefficients of the expansion for order reduction (or approximation).

% sys = A0 + a^2 A1 + 1/(1+b) A2
A0 = rand(6,6); A1 = rand(6,6); A2 = rand(6,6);

% LFR-object expression
lfrs a b
sys = gmorton({A0,A1,A2},[1 a^2 1/(1+b)]);

% Same result with a symbolic expression
syms a b
sys = gmorton({A0,A1,A2},[1 a^2 1/(1+b)]);

If the realized LFR-object is a state-space representation (coefficients of the form [A B;C D]) the corresponding transfer from inputs to outputs can be found using the function abcd2lfr. For approximation, invoke the function gmorton with a third argument which is a tolerance for the SVD decomposition.

TOP


Function sym2lfr

This function realizes directly symbolic expression as LFR-objects. There is no polynomial dependency restriction like with the function symtreed (see below).

syms a b c d Int
Msym = [1+a/d  (c+Int)/(d+Int) ; a*b*c/d 3];

Mlfr = sym2lfr(Msym);
size(Mlfr)

LFR-object with 2 output(s), 2 input(s) and 2 state(s). (Int = 1/s)
Dimension of constant block in uncertainty matrix: 3
Uncertainty blocks (globally (8 x 8)):
 Name  Dims  Type   Real/Cplx   Full/Scal      Bounds
 a     2x2   LTI       r           s           [-1,1]
 b     1x1   LTI       r           s           [-1,1]
 c     2x2   LTI       r           s           [-1,1]
 d     3x3   LTI       r           s           [-1,1]
   

Concerning the "constant block", see the discussion relative to the function lfrs.

TOP


Function symtreed

This function realizes polynomial expressions using the structured tree decomposition for lower order modelling. It can only be applied to polynomial expressions, however, rational expressions can be factorized so that symtreed can be applied to a combination of the numerator and denominator in polynomial form (see functions lf2lfr and rf2lfr).

syms a b c d
Msym = [b*a^2*d^3 c^3*a+d^2; a*b^2*d^3  a*c*b ; d^2 a*b];

Mlfr1 = sym2lfr(Msym,-1);
size(Mlfr1)

LFR-object with 3 output(s), 2 input(s) and 0 state(s).
Uncertainty blocks (globally (25 x 25)):
 Name  Dims  Type   Real/Cplx   Full/Scal      Bounds
 a     6x6   LTI       r           s           [-1,1]
 b     5x5   LTI       r           s           [-1,1]
 c     4x4   LTI       r           s           [-1,1]
 d     10x10 LTI       r           s           [-1,1]

Mlfr2 = symtreed(Msym);
size(Mlfr2)

LFR-object with 3 output(s), 2 input(s) and 0 state(s).
Uncertainty blocks (globally (16 x 16)):  <- reduced from 25 to 16
 Name  Dims  Type   Real/Cplx   Full/Scal      Bounds
 a     5x5   LTI       r           s           [-1,1]
 b     3x3   LTI       r           s           [-1,1]
 c     3x3   LTI       r           s           [-1,1]
 d     5x5   LTI       r           s           [-1,1]

Note that for already factorized expression, e.g., X = (a+b+c)^10, sym2lfr leads to much lower order than symtreed which expands the expression before applying the structured tree decomposition.

TOP