Cannot create H2 controller: Error with h2syn

조회 수: 5 (최근 30일)
Ari
Ari 2017년 9월 15일
답변: Hongbing Xiang 2019년 12월 3일
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.

답변 (1개)

Hongbing Xiang
Hongbing Xiang 2019년 12월 3일
hello, is the problelm solved ? I am learning how to design H2 controller, do you have any suggestions ?

카테고리

Help CenterFile Exchange에서 Classical Control Design에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by