0
$\begingroup$

I have plant, $$P(s) = \frac{1-s/5}{(s^2 + s/4 +1/4)}$$ I am taking a mixed sensitivity approach for that I have chosen $V$,$W_1$ and $W_2$ as follows:
For bandwidth, $\omega$ =1 so I chose M as,
$M = s^2+ s.\sqrt(2)+1$
$D = 1/s^2$
So, $V = \frac{s^2+ s.\sqrt(2)+1}{1/s^2}$
and the remaining values, $W_1=1$ and $W_2=0.1$
My code is as follows:

s=tf('s');
P = (1-(s/5))/(s^2+s/4+1/4);
M=s^2+sqrt(2)*s+1;
G=[M/s^2 P;
0 0.1 ;
-M/s^2 -P];
G=minreal(ss(G));
nu=1; % u has nu=1 entries
ny=1; % y has ny=1 entries
C=hinfsyn(G,ny,nu); % default rel. tolerance 0.01
K=tf(C) % so

L=P*K;
T=L/(1+L);
% bandwidth(T)  % 0.9963
S=1-T;
figure(1)
bode(T,K*S,P*S,S);
legend('T','KS','PS','S');
grid
figure(2)
step(T,K*S,P*S)
legend('T','KS','PS');
grid

I am not getting and controller $K$ for this code. I would really appreciate if you give some suggestion about choosing $M, W_1, W_2$ or anything that might help me get a controller $K$

$\endgroup$
2
  • $\begingroup$ So the problem is you are not getting a controller, the code either crashes or $K$ is empty? or do you not get the desired controller. I advice to use [K, CL, GAM, INFO] = hinfsyn(G, ny, nu). This will give some inside information about the synthesis $\endgroup$
    – Petrus1904
    Apr 16 at 12:24
  • $\begingroup$ Since there is a zero in the $P(s)$, hinfsyn was taking improper function somehow. I rectified the issue by using a user-defined script that addressed the issue of having a zero in the plant transfer function $\endgroup$
    – Rip97
    Apr 17 at 13:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.