remove the structural unobservable and uncontrollable states for a given state-space system - MapleSim Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : MapleSim Toolboxes : MapleSim Control Design Toolbox : ControlDesign Package : System Manipulation : ControlDesign/ReduceSystem

ControlDesign[ReduceSystem] - remove the structural unobservable and uncontrollable states for a given state-space 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

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 state-space (SS) form. The state-space system can be either single-input/single-output (SISO) or multiple-input/multiple-output (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 state-space 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 state-space (SS) form of the resulting (reduced/structurally minimal) system. Depending on the value of the output option, either the reduced state-space system or the remaining states list (or both), is returned.

Examples

withControlDesign:

withDynamicSystems:

Here is a state-space system corresponding to a DC motor model:

sys_aMatrixdJ,KJ,0,KL,RL,0,1,0,0:

sys_bMatrix0,1J,1L,0,0,0:

sys_cMatrix0,1,0,1,0,0,0,0,1:

sys_dMatrix0,0,0,0,0,0:

sysStateSpacesys_a,sys_b,sys_c,sys_d,inputvariable=Vt,Tt,outputvariable=i_outt,omega_outt,theta_outt,statevariable=ωt,it,θt:PrintSystemsys

State Spacecontinuous3 output(s); 2 input(s); 3 state(s)inputvariable=Vt,Ttoutputvariable=i_outt,omega_outt,theta_outtstatevariable=ωt,it,θta=dJKJ0KLRL0100b=01J1L000c=010100001d=000000

(1)

This system is observable and controllable:

Controllablesys

true

(2)

Observablesys

true

(3)

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

sys_subSubsystemsys,all,1,2,all:

PrintSystemsys_sub

State Spacecontinuous2 output(s); 2 input(s); 3 state(s)inputvariable=Vt,Ttoutputvariable=i_outt,omega_outtstatevariable=ωt,it,θta=dJKJ0KLRL0100b=01J1L000c=010100d=0000

(4)

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

Controllablesys_sub

true

(5)

Observablesys_sub

false

(6)

Reduce this subsystem to remove the structural unobservable state:

sys_minReduceSystemsys_sub:

PrintSystemsys_min

State Spacecontinuous2 output(s); 2 input(s); 2 state(s)inputvariable=Vt,Ttoutputvariable=i_outt,omega_outtstatevariable=ωt,ita=dJKJKLRLb=01J1L0c=0110d=0000

(7)

Optionally, the indices of the states of the reduced system can be obtained along with the reduced system:

sys_min,kept_statesReduceSystemsys_sub,':-output'='reducedsys','states'

sys_min,kept_states:=State Spacecontinuous2 output(s); 2 input(s); 2 state(s)inputvariable=Vt,Ttoutputvariable=i_outt,omega_outtstatevariable=ωt,it,1,2

(8)

The resulting system has two states and is now controllable and observable:

Controllablesys_min

true

(9)

Observablesys_min

true

(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?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam