Cannot create H2 controller: Error with h2syn
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a linear plant with 12 states, 16 disturbances, 8 control inputs and 32 outputs. There is sensor noise associated with the outputs (so 32 noise) and I want to design a H2 controller that will reject disturbance and noise. The dynamics is:
xdot = A*x + Bd*d + Bn*n + Bu*u
z = Cz*x + Ddz*d + Dnz*n + Duz*u
y = Cy*x + Ddy*d + Dny*n + Duy*u
d = disturbance, n = noise, u = control input. z is the signal I want to minimize, y is the measured output. So my H2 plant looks like this:
G = [A B1 B2; Cz D11 D12; Cy D21 D22]
where B1=[Bd Bn], B2=Bu, D11=[Ddz Dnz], D12=Duz, D21=[Ddy Dny], D22=Duy. In my case, Ddz=0, Dnz=0, Ddy=0, Duy=0 (no direct feedthrough). When I try to create the H2 controller using h2syn command I get the following error:
nu = size(B2,2);
ny = size(Cy,1);
[K,CL,GAM,INFO] = h2syn(h2sys,ny,nu);
Error using -
Matrix dimensions must agree.
Error in lti/h2syn (line 193)
f2 = -d12'*c1 - f2c ; % f2 = -f2a
Error in T2D1Controls (line 71)
[K,CL,GAM,INFO] = h2syn(h2sys,ny,nu);
Any idea why this is happening? I am attaching the plant for reference.
0 commentaires
Réponses (1)
Hongbing Xiang
le 3 Déc 2019
hello, is the problelm solved ? I am learning how to design H2 controller, do you have any suggestions ?
0 commentaires
Voir également
Catégories
En savoir plus sur Classical Control Design dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!