ControlDesign[StateObserver]

 PolePlacement
 calculate the observer gain for single-output or multiple-output systems

 Calling Sequence PolePlacement(Amat, Cmat, p) PolePlacement(sys, p)

Parameters

 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.

Options

 • 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).

Description

 • 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 $\mathrm{Ac}=\mathrm{Amat}-L\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}.\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{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.

Examples

 > $\mathrm{with}\left(\mathrm{ControlDesign}\right):$
 > $\mathrm{Amat}≔\mathrm{Matrix}\left(\left[\left[-0.9054,-39.7500,22.4100,0.1891,-0.7366\right],\left[-0.3734,-77.0100,41.1600,4.1900,-1.0450\right],\left[-0.2815,-120.8000,63.6500,4.3650,-2.1850\right],\left[0.4264,2.2290,-0.2781,0.0662,-0.6509\right],\left[-0.5441,-39.1800,21.8400,2.5120,-0.8066\right]\right]\right)$
 ${\mathrm{Amat}}{:=}\left[\begin{array}{ccccc}{-}{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}\end{array}\right]$ (1)
 > $\mathrm{Cmat}≔\mathrm{Matrix}\left(\left[\left[3,6,3,9,7\right],\left[5,5,2,1,4\right],\left[-1,7,6,-8,2\right]\right]\right)$
 ${\mathrm{Cmat}}{:=}\left[\begin{array}{rrrrr}{3}& {6}& {3}& {9}& {7}\\ {5}& {5}& {2}& {1}& {4}\\ {-}{1}& {7}& {6}& {-}{8}& {2}\end{array}\right]$ (2)
 > $p≔\left[-4+2I,-1,-5.313,-4-2I,-3.25\right]$
 ${p}{:=}\left[{-}{4}{+}{2}{}{I}{,}{-}{1}{,}{-}{5.313}{,}{-}{4}{-}{2}{}{I}{,}{-}{3.25}\right]$ (3)
 > $L≔\mathrm{StateObserver}:-\mathrm{PolePlacement}\left(\mathrm{Amat},\mathrm{Cmat},p\right)$
 ${L}{:=}\left[\begin{array}{ccc}{0.0137730881789628}& {0.478459984037655}& {-}{0.0628767327815612}\\ {-}{0.00120746089471409}& {-}{0.161546847155549}& {0.0292542786289274}\\ {-}{0.00240545517215628}& {-}{0.285549706996926}& {0.0511096682167748}\\ {0.00212947234774865}& {0.0825335817261752}& {-}{0.0114874020315031}\\ {0.00603570457241879}& {0.188326820254696}& {-}{0.0232971793410549}\end{array}\right]$ (4)
 > $\mathrm{Ac}≔\mathrm{Amat}-L\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}.\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{Cmat}$
 ${\mathrm{Ac}}{:=}\left[\begin{array}{ccccc}{-}{3.40189591750672}& {-}{41.7848013197911}& {21.7890211640772}& {-}{0.916331639900809}& {-}{2.62109808784024}\\ {0.467210897090815}& {-}{76.3998009492565}& {41.3111904052217}& {4.59644822423940}& {-}{0.448868942372660}\\ {1.20457456871788}& {-}{119.715586411500}& {63.9216577702097}& {5.08107614928053}& {-}{1.12818232224075}\\ {-}{0.00414372770562527}& {1.88396707150315}& {-}{0.380631168306578}& {-}{0.127398049107938}& {-}{0.972965829275935}\\ {-}{1.52713839433179}& {-}{39.9947680733206}& {21.5850223218197}& {2.08297440386510}& {-}{1.55556285434360}\end{array}\right]$ (5)
 > $\mathrm{LinearAlgebra}:-\mathrm{Eigenvalues}\left(\mathrm{Ac}\right);$$p$
 $\left[\begin{array}{c}{-}{1.00000000000009}{+}{0.}{}{I}\\ {-}{4.00000000000367}{+}{2.00000000000036}{}{I}\\ {-}{4.00000000000367}{-}{2.00000000000036}{}{I}\\ {-}{3.25000000000181}{+}{0.}{}{I}\\ {-}{5.31299999999589}{+}{0.}{}{I}\end{array}\right]$
 $\left[{-}{4}{+}{2}{}{I}{,}{-}{1}{,}{-}{5.313}{,}{-}{4}{-}{2}{}{I}{,}{-}{3.25}\right]$ (6)

References

 [1] T. Kailath, Linear Systems, Prentice-Hall, 1980.
 [2] C. T. Chen, Linear System Theory and Design, 3rd Ed., Oxford University Press, 1999.