ControlSystems - MIMO inverse / MIMO feedback loops


#1

Hi there.

I’m currently studying Electrical Engineering and we have now a lecture Control Systems.
Since we (should) use Matlab at school, but I can’t come to terms with proprietary software, I came across Julia as an alternative. Now I noticed that MIMO feedback and MIMO inverse are not implemented yet. Since this would be an important feature for me, I wanted to ask for a time forecast.

Best,
silch12


#2

This is partly implemented, but the error message should probably be improved.
StateSpace:
If you represent your system as a state space (ss(sys)), then the toolbox will support feedback.
The inverse also works (in the case where the inverse can be represented as a state-space, i.e D invertable).
TransferFunction:
In this case, we seem to have no implementation for inverses and feedback, I will look into this tomorrow, and see if it is possible to implement in a simple way.


#3

Thats perfect :slight_smile: I’m new to Julia, and therefore I’m not yet able to produce good code by myself, so I’m really excited about the Julia-Community to help with such problems.


#4

As a workaround, you can always convert to a StateSpace system, reduce it, call feedback and convert the result back to a transferFunction
See

  • sys = ss(G) to convert TF to SS
  • sysm = minreal(sys) to reduce the system to a minimal representation
  • sysfb = fedback(...)
  • Gfb = tf(sysfb) to convert back to TF