Function Reference: cfconred

Function File: [Kr, info] = cfconred (G, F, L, …)
Function File: [Kr, info] = cfconred (G, F, L, ncr, …)
Function File: [Kr, info] = cfconred (G, F, L, opt, …)
Function File: [Kr, info] = cfconred (G, F, L, ncr, opt, …)

Reduction of state-feedback-observer based controller by coprime factorization (CF). Given a plant G, state feedback gain F and full observer gain L, determine a reduced order controller Kr.

Inputs

G

LTI model of the open-loop plant (A,B,C,D). It has m inputs, p outputs and n states.

F

Stabilizing state feedback matrix (m-by-n).

L

Stabilizing observer gain matrix (n-by-p).

ncr

The desired order of the resulting reduced order controller Kr. If not specified, ncr is chosen automatically according to the description of key ’order’.

Optional pairs of keys and values. "key1", value1, "key2", value2.

opt

Optional struct with keys as field names. Struct opt can be created directly or by function options. opt.key1 = value1, opt.key2 = value2.

Outputs

Kr

State-space model of reduced order controller.

info

Struct containing additional information.

info.hsv

The Hankel singular values of the extended system?!?. The n Hankel singular values are ordered decreasingly.

info.ncr

The order of the obtained reduced order controller Kr.

Option Keys and Values

’order’, ’ncr’

The desired order of the resulting reduced order controller Kr. If not specified, ncr is chosen automatically such that states with Hankel singular values info.hsv > tol1 are retained.

’method’

Order reduction approach to be used as follows:

’sr-bta’, ’b’

Use the square-root Balance & Truncate method.

’bfsr-bta’, ’f’

Use the balancing-free square-root Balance & Truncate method. Default method.

’sr-spa’, ’s’

Use the square-root Singular Perturbation Approximation method.

’bfsr-spa’, ’p’

Use the balancing-free square-root Singular Perturbation Approximation method.

’cf’

Specifies whether left or right coprime factorization is to be used as follows:

’left’, ’l’

Use left coprime factorization. Default method.

’right’, ’r’

Use right coprime factorization.

’feedback’

Specifies whether F and L are fed back positively or negatively:

’+’

A+BK and A+LC are both Hurwitz matrices.

’-’

A-BK and A-LC are both Hurwitz matrices. Default value.

’tol1’

If ’order’ is not specified, tol1 contains the tolerance for determining the order of the reduced system. For model reduction, the recommended value of tol1 is c*info.hsv(1), where c lies in the interval [0.00001, 0.001]. Default value is n*eps*info.hsv(1). If ’order’ is specified, the value of tol1 is ignored.

’tol2’

The tolerance for determining the order of a minimal realization of the coprime factorization controller. TOL2 <= TOL1. If not specified, n*eps*info.hsv(1) is chosen.

’equil’, ’scale’

Boolean indicating whether equilibration (scaling) should be performed on system G prior to order reduction. Default value is true if G.scaled == false and false if G.scaled == true. Note that for MIMO models, proper scaling of both inputs and outputs is of utmost importance. The input and output scaling can not be done by the equilibration option or the prescale function because these functions perform state transformations only. Furthermore, signals should not be scaled simply to a certain range. For all inputs (or outputs), a certain change should be of the same importance for the model.

Algorithm
Uses SLICOT SB16BD, Copyright (c) 2020, SLICOT, available under the BSD 3-Clause (License and Disclaimer).

Source Code: cfconred