Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1. A discrete system is given as : A = [0 1 0; 0 0 1; -0.005 -0.11 -0.7] B = [0;

ID: 2083204 • Letter: 1

Question

1. A discrete system is given as :

A = [0 1 0; 0 0 1; -0.005 -0.11 -0.7]

B = [0;0;1], C= [0.5 1 0]; D = 0;

a) Can one design an observer for the system with the eigen values {-0.5, -0.1+0.1j, -0.1-0.1j} Why? Explain why the value -0.5 must be assigned?

b ) Designa an observer-based feedback controller for the system with the controller and observer eigen values selected as {-0.8, -0.3+0.3j, -0.3-0.3j}, and {-0.5, -0.1+0.1j, -0.1-0.1j} respectively.

c) Obtain a similar system with a second-order observable subsystem, for which an observer can be easily designed. Design an observer for the transformed system with two eigen values shifted as in (b), and check your design using the MATLAB command place or acker. Use the result to obtain the observer for the original system.

Explanation / Answer

%% MATLAB program for designing Observer feedback controller for the given system and with the eigen values {-0.5, -0.1+0.1j, -0.1-0.1j} %%

>> A=[0 1 0; 0 0 1; -0.005 -0.11 -0.7];
>> B=[0;0;1];
>> C=[0.5 1 0];
>> D=[0];
>> k=[-0.5 -0.1+0.1i -0.1-0.1i];
>> At=transpose(A);
>> Ct=transpose(C);
>> Ke=place(At,Ct,k)

Ke =

1.0040 -0.5020 0.2610

>> KeT=transpose(Ke)

KeT =

1.0040
-0.5020
0.2610

>> AA=A-KeT*C-B*k;
>> BB=KeT;
>> CC=k;
>> DD=0;
>> sys1=ss(AA,BB,CC,DD)

sys1 =

a =
x1 x2
x1 -0.502 -0.00404
x2 0.251 0.502
x3 0.364 -0.271-0.1i

x3
x1 0
x2 1
x3 -0.6+0.1i

b =
u1
x1 1.004
x2 -0.502
x3 0.261

c =
x1 x2 x3
y1 -0.5 -0.1+0.1i -0.1-0.1i

d =
u1
y1 0

%% MATLAB program for designing Observer feedback controller for the given system and with the eigen values {-0.8, -0.3+0.3j, -0.3-0.3j} %%

>> A = [0 1 0; 0 0 1; -0.005 -0.11 -0.7];
>> B = [0;0;1]; C= [0.5 1 0]; D = 0;
>> sys=ss(A,B,C,D);

>> K=[-0.8 -0.3+0.3i -0.3-0.3i];
>> Ke=acker(A',C',K)'

Ke =

1.0e+15 *

2.8102
-1.4051
0.7026

>> AA=A-Ke*C-B*K;
>> BB=Ke;
>> CC=K;
>> DD=0;
>> sys1=ss(AA,BB,CC,DD)

>> [num,den]=ss2tf(AA,BB,CC,DD)

num =

1.0e+15 *

Columns 1 through 2

0.0000 + 0.0000i -2.0374 - 0.6323i

Columns 3 through 4

0.4118 + 0.2080i -0.0785 + 0.3702i


den =

1.0e+14 *

Columns 1 through 2

0.0000 + 0.0000i 0.0000 - 0.0000i

>> s=tf('s')

s =

s

Continuous-time transfer function.

>> tf(num,den)

ans =

  
-(2.037e15+6.323e14i) s^2 + (4.118e14   
  
+2.08e14i) s - (7.854e13
  
-3.702e14i)
  
----------------------------------------
  
s^3 + (0.4732-0.3i) s^2 - (4.968e14   
  
+0.008074i) s + (4.968e13   
  
+1.49e14i)