observability staircase form for MIMO system

22 visualizaciones (últimos 30 días)
atefe
atefe el 19 de Sept. de 2012
I have a problem with 'obsvf',I used this function to decomposes the state-space system with matrices A,C,B as below into the observability staircase form but the result isnot correct,why? A= [-1.0817,0.0477,-0.3793,-0.2781,1.0423,0.1548,-0.0242,0.4453;1.6776,-0.0384,0.7005,-0.0995,-0.5439,-0.0698,0.0345,0.4453;-1.0103,0.0448,-0.4566,-0.2778,1.1249,-0.0698,-0.0093,0.4453;3.8207,-0.5175,1.2384,0.0208,-0.5604,-0.0698,0.0601,-1.6810; 1.6725, 0.0309,0.6954,-0.0989,-361.5704,-0.0698, 0.0601,0.4453;1.6725, 0.0309,0.6954, -0.0989,-0.5604,-361.0798,0.0601,0.4453; 1.6725,0.0309,0.6954,-0.0989,-0.5604,0.0698,-360.9499, 0.4453; 1.6725, 0.0309,0.6954,202.8811,-0.5604,-0.0698,0.0601,-360.5647]; B=[0,0,0,0;0,0,0,0;0,0 ,0,0;0,0,0,0;361.0100,0,0,0;0,361.0100,0,0;0,0,361.0100,0; 0,0,0,-505.4200]; C=[0,0,0,0,3.3046,0,0,0; 0,0,0,0,0,2.2460e-01,0,0; 3.8641e-02,3.8641e-02,3.8641e-02,4.0534e-03,0,0,1.7949e-01,0; 5.4840e-01,5.4840e-01,5.4840e-01,5.7526e-02,0,0,0,2.1263; 2.8517e+01,2.8517e+01,2.8517e+01,2.9914,0,0,0,0; 0,0,0,4.0161e-01,0,0,0,0; 5.5978e-01,-4.9640e-01,-4.9640e-01,0,0,0,0,0; -1.5096e-01,9.0522e-01,-1.5096e-01,0,0,0,0,0; -4.0881e-01,-4.0881e-01,6.4737e-01,0,0,0,0,0; -9.0922e-04,-2.5509e-03,2.0460e-03,0,0,0,6.1523e-03,-5.1355e-03]; [Abar,Bbar,Cbar,T,k]= obsvf(A,B,C); sum(K)=8; but Ob = obsv(A,C); rank(Ob)=4 why????????????????

Respuestas (2)

Rajiv Singh
Rajiv Singh el 26 de Oct. de 2012
OBSV reference page has this tip:
obsv is here for educational purposes and is not recommended for serious control design. Computing the rank of the observability matrix is not recommended for observability testing. Ob will be numerically singular for most systems with more than a handful of states. This fact is well documented in the control literature. For example, see section III in http://lawww.epfl.ch/webdav/site/la/users/105941/public/NumCompCtrl.pdf
So rank test of Ob is not going to be reliable. Note that OBSVF uses a tolerance of 10*n*norm(a,1)*eps, when not specified. This is about 1.0064e-12 for your example. Now if you check rank with this tolerance rank(Ob, 1.0064e-12), you get a value of 8 which agrees with sum(k).

Azzi Abdelmalek
Azzi Abdelmalek el 26 de Oct. de 2012
  • obsvf: gives you another state representation (observable forme)
  • obsv(A,C) returns the observability matrix [C; CA; CA^2 ...]
They are completly differents

Categorías

Más información sobre Matrix Computations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by