JuliaControl / ControlSystems.jl

A Control Systems Toolbox for Julia
https://juliacontrol.github.io/ControlSystems.jl/stable/
Other
510 stars 85 forks source link

Algorithm for Controllability canonical form #172

Open maximilianpreisinger opened 5 years ago

maximilianpreisinger commented 5 years ago

Is there an Algorithm to compute the Controllability canonical form of a system for multi-input systems, or any other method to determine the controllable and uncontrollable poles of such a system? Because I didn't see anything.

However I found a paper which describes such an Algorithm: https://www.sciencedirect.com/science/article/pii/0898122184900592

Maybe somebody feels motivated to implement it. Maybe I have some time to implement this later, but I can't promise.

baggepinnen commented 5 years ago

You have the functions baltrunc. balreal which compute the controllable and observable subspace. No function for computing companion forms or controllable forms exists, but if you convert a system to transfer function form, you get the coefficients of the A B matrices in the numerator and denominator polynomials and can construct the statespace object on the desired form manually.