observability staircase form for MIMO system
14 views (last 30 days)
Show older comments
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????????????????
0 Comments
Answers (2)
Rajiv Singh
on 26 Oct 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).
0 Comments
Azzi Abdelmalek
on 26 Oct 2012
- obsvf: gives you another state representation (observable forme)
- obsv(A,C) returns the observability matrix [C; CA; CA^2 ...]
They are completly differents
0 Comments
See Also
Categories
Find more on Matrix Computations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!