ControlDesign[ReduceSystem]  remove the structural unobservable and uncontrollable states for a given statespace system

Calling Sequence


ReduceSystem(sys, opts)


Parameters


sys



System; system object

opts



(optional) equation(s) of the form option = value; specify options for the ReduceSystem command





Options


•

reducedtype = minimal, controllable, or observable


Specifies how sys is reduced. If equal to minimal, both structural unobservable and uncontrollable states are removed and the resulting system is structurally minimal (both controllable and observable). This is the default. If equal to controllable, structural uncontrollable states are removed and the resulting system is controllable. If equal to observable, structural unobservable states are removed and the resulting system is observable.

•

output = reducedsys or states, or list of these names


Specifies the returned values. If equal to reducedsys, then the reduced system object is returned. This is the default. If equal to states, then a list of the remaining states in the reduced system is returned. If a list of these names, then the output is a sequence/list (see returnlist) with each name replaced with the corresponding value.


True means return a list; false means return an expression sequence. The default is false.



Description


•

The ReduceSystem command detects and removes the structural unobservable and uncontrollable states of system sys.

•

The system sys is a continuous or discrete time linear system object created using the DynamicSystems package. The system object must be in statespace (SS) form. The statespace system can be either singleinput/singleoutput (SISO) or multipleinput/multipleoutput (MIMO).

•

The structural unobservable and uncontrollable states are removed by analyzing the zero entries of the system matrix (sys:a), the control matrix (sys:b) and the output matrix (sys:c).

•

The resulting statespace system will contain a subset of the states of sys, preserving the state structure and variable names. The input/output response or transfer function of the resulting system will be equivalent to the transfer function of sys.

•

Structural uncontrollable and/or unobservable states may occur, for example, as a result of extracting a subsystem from a subset of its inputs and/or outputs (see DynamicSystems[Subsystem]).

•

The ReduceSystem command returns a system object in statespace (SS) form of the resulting (reduced/structurally minimal) system. Depending on the value of the output option, either the reduced statespace system or the remaining states list (or both), is returned.



Examples


>


>


Here is a statespace system corresponding to a DC motor model:
>


>


>


>


>


 (1) 
This system is observable and controllable:
>


 (2) 
>


 (3) 
Extract a subsystem with the two first outputs only (ignore the angular position output):
>


>


 (4) 
This subsystem still has 3 states, but one of them is not observable anymore:
>


 (5) 
>


 (6) 
Reduce this subsystem to remove the structural unobservable state:
>


>


 (7) 
Optionally, the indices of the states of the reduced system can be obtained along with the reduced system:
>


 (8) 
The resulting system has two states and is now controllable and observable:
>


 (9) 
>


 (10) 


See Also


ControlDesign, ControlDesign[Kalman], ControlDesign[LQR], ControlDesign[LQRContinuous], ControlDesign[LQRDiscrete], ControlDesign[LQROutput], ControlDesign[StateFeedback][Ackermann], ControlDesign[StateFeedback][Observer], ControlDesign[StateFeedback][PolePlacement], ControlDesign[StateObserver][PolePlacement], DynamicSystems[Subsystem]


Download Help Document
Was this information helpful?