ml_ct_ss_prbt

Positive-real balanced truncation for standard systems.

Contents

Syntax

[Ar, Br, Cr, Dr, info] = ml_ct_ss_prbt(A, B, C, D)
[Ar, Br, Cr, Dr, info] = ml_ct_ss_prbt(A, B, C, D, opts)
[rom, info] = ml_ct_ss_prbt(sys)
[rom, info] = ml_ct_ss_prbt(sys, opts)

Description

This function computes the positive-real balanced truncation for a
positive-real standard system of the form
    x'(t) = A*x(t) + B*u(t),                                        (1)
     y(t) = C*x(t) + D*u(t).                                        (2)
Therefore, the two positive-real Riccati equations
    A*P  + P*A' + (P*C' - B) * inv(D + D') * (P*C' - B)' = 0,
    A'*Q + Q*A  + (B'*Q - C)' * inv(D + D') * (B'*Q - C) = 0,
are solved for the Gramians P and Q. As result, a reduced-order
positive-real system of the form
    x'(t) = Ar*x(t) + Br*u(t),                                      (3)
     y(t) = Cr*x(t) + Dr*u(t)                                       (4)
is computed, such that for the original transfer function G and the
r-th order transfer function Gr it holds
    ||inv(G + D') - inv(Gr + D')||_{\infty} <= 2 * ||R||_{2}^2
        * (Hsv(r+1) + ... + Hsv(n)),
with Hsv, a vector containing the characteristic positive-real singular
values of the system, and R^2 = inv(D + D').
Note: In case of a rank-deficient D + D' term, an epsilon
      regularization is performed, which replaces the D during the
      computations with an identity matrix scaled by a given epsilon.

Input

A    - matrix from (1) with dimensions n x n
B    - matrix from (1) with dimensions n x m
C    - matrix from (2) with dimensions m x n
D    - matrix from (2) with dimensions m x m
sys  - structure or state-space object, containing the standard
       system's matrices:

Entry
Meaning
A
matrix from (1) with dimensions n x n
B
matrix from (1) with dimensions n x m
C
matrix from (2) with dimensions m x n
D
matrix from (2) with dimensions m x m

opts - structure, containing the following optional entries:

Parameter
Meaning
Epsilon
positive scalar, used in the case of a non-full-rank D + D' term for epsilon regularization by multiplying with an identity matrix of appropriate size
default: 1.0e-03
Method
character array, determining algorithm for the computation of the reduced-order model
  • 'sr' - square root method
  • 'bfsr' - balancing-free square root method
default: 'sr'
Order
positive integer, order of the resulting reduced-order model chosen by the user if 'order' is set for OrderComputation
default: min(10,length(Hsv))
OrderComputation
character array, determining the method for the computation of the size of the reduced-order model
  • 'order' - take explicit order
  • 'tolerance' - using absolute error bound
default: 'tolerance'
pcareopts
structure, containing the optional parameters for the computation of the continuous-time algebraic positive Riccati equation, see ml_pcare_nwt_fac
default: struct()
Tolerance
nonnegative scalar, tolerance used for the computation of the size of the reduced-order model by an relative error bound if 'tolerance' is set for OrderComputation
default: 1.0e-02

Output

Ar   - matrix of (3) with dimensions r x r
Br   - matrix of (3) with dimensions r x m
Cr   - matrix of (4) with dimensions m x r
Dr   - matrix of (4) with dimensions m x m
rom  - structure or state-space object, with the following entries:

Entry
Meaning
A
matrix from (3) with dimensions r x r
B
matrix from (3) with dimensions r x m
C
matrix from (4) with dimensions m x r
D
matrix from (4) with dimensions m x m

info - structure, containing the following information:

Entry
Meaning
Hsv
a vector, containing the computed characteristic positive-real singular values
infoPCARE_C
structure, containing information about the continuous-time algebraic positive Riccati equation solver for the controllability Gramian, see ml_pcare_nwt_fac
infoPCARE_O
structure, containing information about the continuous-time algebraic positive Riccati equation solver for the observability Gramian, see ml_pcare_nwt_fac
InvAbsErrBound
computed error bound for the absolute error of the inverse transfer functions in H-infinity norm
M
matrix with dimensions m x m, polynomial part of zeroth order and used in the error bound
N
Dimension of the reduced-order model

Reference

S. Gugercin, A. C. Antoulas, A survey of model reduction by balanced truncation and some new results, Internat. J. Control 77 (8) (2004) 748--766. https://doi.org/10.1080/00207170410001713448

See Also

ml_ct_dss_prbt | ml_morlabopts