MIMO feedback loop syntax

9 views (last 30 days)
Harish Kumar Anandan
Harish Kumar Anandan on 27 Mar 2018
I have a 2 input 2 output system and I have designed H-infinity controller for the system, Now when I try to get step response how to give feedback command? sO FAR I HAVE WORKED WITH
% step response
plant1stp=sbs (g11,g12);
plant2stp=sbs (g21,g22);
overalplant=abv(plant1stp,plant2stp);
loop1=mmult(overalplant,hinf_cont);
[l,m,n,o]=unpck(loop1);
disp('step responses')
clf
step(l1,m1,n1,o1,2)

Answers (1)

M
M on 27 Mar 2018
Did you try with the feedback function ?
  3 Comments
M
M on 28 Mar 2018

See this example to know how to use feedback for MIMO systems.

Harish Kumar Anandan
Harish Kumar Anandan on 28 Mar 2018
Hi M ! thanks for your reply. I tried with all the options given in the example except using name based options using connect
1 st option: %Connect %C = ss(l2,m2,n2,o2); %C=minreal(C,.05) %C.InputName = 'e'; %C.OutputName = 'u'; %G = ss(l,m,n,o); %G.InputName = 'u'; %G.OutputName = 'y'; %Sum = sumblk('e = r-y',2); %T20 = connect(G,C,Sum,'r','y'); %[A20,B20,C20,D20]=ssdata(T20); %[A21,B21,C21,D21]=minreal(A20,B20,C20,D20,0.01);
2 nd option overalplant = [g111 g121; g211 g221]; [l,m,n,o]=unpck(overalplant); [l2,m2,n2,o2]=unpck(hinf_cont) [C11,C12] = ss2tf(l2,m2,n2,o2,1); hinf_cont11=tf(C11(1,:),C12) hinf_cont11=minreal(hinf_cont11,.05)
[C111,C121] = ss2tf(l2,m2,n2,o2,2); hinf_cont111=tf(C111(1,:),C121) hinf_cont111=minreal(hinf_cont111,.05)
[C21,C22] = ss2tf(l2,m2,n2,o2,1); hinf_cont21=tf(C21(2,:),C22) hinf_cont21=minreal(hinf_cont21,.05)
[C211,C221] = ss2tf(l2,m2,n2,o2,2); hinf_cont211=tf(C211(2,:),C221) hinf_cont211=minreal(hinf_cont211,.05)
hinf_cont=[hinf_cont11 hinf_cont111; hinf_cont21 hinf_cont211] hinf_cont=minreal(hinf_cont,.05) L = series(minreal(hinf_cont,.05),minreal(overalplant,.05)); L=minreal(L,.05); K = ss(eye(2)); L=minreal(L,.05); K = ss(eye(2)); step(T3)
but still getting A matrix for T3 with unstable poles
1.0e+10 *
-1.5078 + 0.0000i
0.0007 + 0.0004i
0.0007 - 0.0004i
-0.0001 + 0.0000i
-0.0001 + 0.0000i
-0.0000 + 0.0000i
-0.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 - 0.0000i
-0.0000 + 0.0000i
-0.0000 + 0.0000i
-0.0000 + 0.0000i
-0.0000 + 0.0000i
-0.0000 + 0.0000i
-0.0000 + 0.0000i
0.0000 + 0.0000i
0.0000 - 0.0000i
0.0000 + 0.0000i
0.0000 - 0.0000i
0.0000 + 0.0000i
0.0000 - 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i
-0.0000 + 0.0000i
-0.0000 - 0.0000i
-0.0000 + 0.0000i
-0.0000 - 0.0000i
-0.0000 + 0.0000i
-0.0000 - 0.0000i
0.0000 + 0.0000i
0.0000 - 0.0000i
0.0000 + 0.0000i
0.0000 + 0.0000i
-0.0000 + 0.0000i
0.0000 + 0.0000i

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!