INDEX

Function: SOB_PROJ


Purpose. Computes a full state observer with Kalman filter structure by projection of the open-loop left eigenstructure.

Synopsis.

[g,U,T,Pi,Q] = sob_proj(sys,Tr,Damp,key,O_ratio);

Description. The observer poles are automatically chosen form the design parameters which are the minimum damping ratio (Damp) and the settling time (Tr). The left eigenvectors corresponding to eigenvalues satisfying the settling time and damping ratio requirements are considered for elementary observations. For other open-loop poles that need to be shifted, elementary observations correspond to the projection of open-loop left eigenvectors.

Input arguments.

 sys LTI system (see syslin). The matrices sys.b and sys.d are ignored.
 Tr Settling time.
 Damp Minimum damping ratio for closed-loop eigenvalues (0 < Damp < 1).
 key Is a string equal to 'p' for orthogonal projection of eigenvectors, or equal to 'm' for dual minimum energy assignment.
 O_ratio If the controllability degree of some eigenvalue is less than the maximum controllability degree divided by O_ratio, this eigenvalue is not shifted. Default value O_ratio = 100.

Output arguments.

 g Observer gain (Kalman filter structure).
 U,T,Pi,Q Observer matrices (structure: see help ob_gene).

See also: ob_gene, add_obs, sfb_proj


Example. Design of a full state observer with observation dynamics corresponding to damping ratio larger than 0.6 and settling time less than 20 seconds.
   rand('seed',0);
   sys = ssrand(3,2,6);

   [g,U,T,Pi,Q] = sob_proj(sys,20,0.6,'m');
This observer is connected to the system
   sysobs = add_obs(sys,U,T,Q);
A state feedback is computed, it can be implemented as an output feedback of the system sysobs. For example:
   k=sfb_proj(sys,20,0.6,'m');
From the separation principle we must have eig_fb(sysobs,k) equal to the union of spec(sys.a+sys.b*k) and spec(sys.a+g*sys.c) (right hand side vector below).
   [eig_fb(sysobs,k) [spec(sys.a+sys.b*k);spec(sys.a+g*sys.c)]]

! - 2.6052177 + 3.4736236i  - 2.6052177 + 3.4736236i !
! - 2.6052177 - 3.4736236i  - 2.6052177 - 3.4736236i !
! - 2.5247992 + 3.3663989i  - 0.6930914 + 0.9241219i !
! - 2.5247992 - 3.3663989i  - 0.6930914 - 0.9241219i !
! - 1.0233442 + 1.0792412i  - 1.0233442 + 1.0792412i !
! - 1.0233442 - 1.0792412i  - 1.0233442 - 1.0792412i !
! - 1.0188898 + 1.0745435i  - 2.5247992 + 3.3663989i !
! - 1.0188898 - 1.0745435i  - 2.5247992 - 3.3663989i !
! - 0.6992130 + 0.9322840i  - 1.0188898 + 1.0745435i !
! - 0.6992130 - 0.9322840i  - 1.0188898 - 1.0745435i !
! - 0.6930914 + 0.9241219i  - 0.6992130 + 0.9322840i !
! - 0.6930914 - 0.9241219i  - 0.6992130 - 0.9322840i !