observability staircase form for MIMO system

14 Ansichten (letzte 30 Tage)
atefe
atefe am 19 Sep. 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????????????????

Antworten (2)

Rajiv Singh
Rajiv Singh am 26 Okt. 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 am 26 Okt. 2012
  • obsvf: gives you another state representation (observable forme)
  • obsv(A,C) returns the observability matrix [C; CA; CA^2 ...]
They are completly differents

Kategorien

Mehr zu Matrix Computations finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by