ControlDesign[StateObserver]
PolePlacement
calculate the observer gain for single-output or multiple-output systems
Calling Sequence
Parameters
Options
Description
Examples
References
PolePlacement(Amat, Cmat, p)
PolePlacement(sys, p)
Amat
-
Matrix; system matrix of a state-space system
Cmat
Matrix or Vector; output matrix of a state-space system
sys
System; a DynamicSystems system object of state-space format
p
list ; list of desired closed-loop poles (real or complex). Complex poles including those containing symbolic parameters must be given in complex conjugate pairs. All symbolic parameters in the list are assumed to be real.
parameters = {list, set}(name = complexcons)
Specifies numeric values for the parameters of sys. These values override any parameters previously specified for sys. The numeric value on the right-hand side of each equation is substituted for the name on the left-hand side in the sys equations. The default is the value of sys given by DynamicSystems:-SystemOptions(parameters).
The PolePlacement command calculates the static (Luenberger) observer gain for the multiple-output systems to put the observer error dynamics poles in the desired locations. The (Amat,Cmat) pair (or the sys object) must be controllable. The pole placement is performed using the Sylvester equation method if the system and observer error poles are disjoint and there are no symbolic parameters in the (Amat,Cmat) pair (or in the corresponding matrices in sys) and in p. The observer error system matrix is then Ac=Amat−L·Cmat (or Ac = sys:-a-L.sys:-b) where L is the calculated observer gain. The algorithm detects if any of the system poles and desired observer error poles are the at the same position (or numerically too close) or if any symbolic parameters exists and switches to the cyclic method in such cases.
with⁡ControlDesign:
Amat≔Matrix⁡−0.9054,−39.7500,22.4100,0.1891,−0.7366,−0.3734,−77.0100,41.1600,4.1900,−1.0450,−0.2815,−120.8000,63.6500,4.3650,−2.1850,0.4264,2.2290,−0.2781,0.0662,−0.6509,−0.5441,−39.1800,21.8400,2.5120,−0.8066
Amat≔−0.9054−39.750022.41000.1891−0.7366−0.3734−77.010041.16004.1900−1.0450−0.2815−120.800063.65004.3650−2.18500.42642.2290−0.27810.0662−0.6509−0.5441−39.180021.84002.5120−0.8066
Cmat≔Matrix⁡3,6,3,9,7,5,5,2,1,4,−1,7,6,−8,2
Cmat≔3639755214−176−82
p≔−4+2⁢I,−1,−5.313,−4−2⁢I,−3.25
L≔StateObserver:-PolePlacement⁡Amat,Cmat,p
L≔0.01377308817893760.478459984036099−0.0628767327813112−0.00120746089470519−0.1615468471549950.0292542786288382−0.00240545517214054−0.2855497069959480.05110966821661740.002129472347744170.0825335817259022−0.01148740203145940.006035704572408970.188326820254090−0.0232971793409574
Ac≔Amat−L·Cmat
Ac≔−3.40189591749862−41.784801319784921.7890211640789−0.916331639897027−2.621098087834340.467210897087930−76.399800949258741.31119040522114.59644822423805−0.4488689423747591.20457456871278−119.71558641150463.92165777020865.08107614927815−1.12818232224446−0.004143727704202631.88396707150424−0.380631168306281−0.127398049107275−0.972965829274899−1.52713839432863−39.994768073318221.58502232182032.08297440386657−1.55556285434131
LinearAlgebra:-Eigenvalues⁡Ac;p
−0.999999999999931+0.⁢I−3.99999999999732+1.99999999999858⁢I−3.99999999999732−1.99999999999858⁢I−3.25000000000076+0.⁢I−5.31300000000189+0.⁢I
−4+2⁢I,−1,−5.313,−4−2⁢I,−3.25
[1] T. Kailath, Linear Systems, Prentice-Hall, 1980.
[2] C. T. Chen, Linear System Theory and Design, 3rd Ed., Oxford University Press, 1999.
See Also
ControlDesign
ControlDesign[StateFeedback][Ackermann]
ControlDesign[StateFeedback][PolePlacement]
ControlDesign[StateObserver][Ackermann]
LinearAlgebra[SylvesterSolve]
Download Help Document