How does hinfsyn work, and am I using it wrong?

18 views (last 30 days)
Hi there,
Here's my situation: I'm working on an MIMO system, which I have to stabilize using H_inf theory.
My plant G consists of a 2 inputs u - 6 outputs y LTI system, with 8 state variables state vector x (y is x without the two last variables). Reference input r corresponds to the two first state variables, which the loop is to follow. Multiplicative incertainty is added at the input of plant G, and sensor noise is added at the output, before it is used as input for controller K. Weighting matrices were provided to me for the output to be regulated z, which thus is a weighted version of y-r (with the reference values substracted from the right ouput variables).
For this first attempt, I decided to suppress the noise from the system. But when the following works, how can I bring it back? Should I determine another controller, considering this time that the reference input is a concatenation of the reference values and white noises for the 6 sensors, or should I just use the controller designed without it, considering that further tuning is unnecessary/unfeasible?
I determined the matrices used for P, the generalized plant, as input to hinfsyn:
P = [A, B1, B2
C1,D11,D12
C2,D21,D22];
Where:
xdot = Ax + B1r +B2u
z = C1x + D11r + D12u
y = C2x + D21r + D22u
Note that there are transfer functions in matrices B2, C1 and D11. Is that supposed to be a problem? So now I want to get an expression of an H_inf optimal controller K, with input y (dimension 8, composed of the reference input r and the plant output concatenated) and output u (dimension 2). I run the following:
NMEAS = size(C2,1);
NCON = size(B2,2);
[K,CL,GAM,INFO] = hinfsyn(P,NMEAS,NCON)
This yields, as a result for K, 4 matrices A, B, C and D, with respective dimensions 28x28, 28x10, 14x28 and 14x10... As you can see this is not satisfactory for me, so here are my questions:
Do the results I got seem normal to you, and if so, how am I supposed to use them? How do I get an exploitable form for K, with a 2 dimension output u and a 6 dimension input y?
If these results are odd, then do you have any idea where the problem could be? I tried to remain a bit general, but I can go into further details if needed.
Thanks in advance for your time and advice!
Robin
  1 Comment
Robin Mahéo
Robin Mahéo on 24 Mar 2015
I seem to understand that my definition of P is wrong, and it should, as it is said in the Matlab documentation for hinfsyn, be defined as a partitioned LTI system.
So I'm trying to build it with matrix A, and matrices [B1,B2], [C1;C2] and [D11,D12;D21,D22] in order to partition it afterwards, using function mktito. But I can't manage to define it, as some of the matrices used here contain transfer functions, and Matlab won't let me use LTI systems as arguments to function ss.
Any ideas how to overcome this?
Thanks again,
Robin

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!