MIMO feedback loop syntax

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

I still haven't tried with feedback, but i used the connect command but still I get unstable response from this even in closed loop..i see my A matrix has some unstable pole locations

eig(A21)

ans =

   1.0e+10 *
-1.5078 + 0.0000i
 0.0007 + 0.0004i
 0.0007 - 0.0004i
-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

Can you let me know how to use feedback command? because mine is 2 input 2 output system. Since i have 2 feedback paths should i give(-1,-1) in feedback command?

M
M on 28 Mar 2018

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

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.

Categories

Find more on Robust Control Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!