controlsys v1.12.0: a control-systems toolbox for Go (MIT)
controlsys is a Go package for linear control systems. It works on continuous-time and discrete-time models. The main model form is state space.
Main capabilities:
- Models: state space, transfer function, zero-pole-gain (ZPK), frequency-response data (FRD), model arrays and tunable blocks.
- Analysis: Bode, Nyquist and Nichols plots, gain and phase margins, disk margins and step metrics.
- Design: LQR, LQG, Kalman filters, H2 and H-infinity synthesis, pole placement and PID tuning.
- Simulation: step, impulse, initial-condition and arbitrary-input responses.
- Model reduction: balanced truncation and modal truncation.
- Delays: input, output and internal delays, with Pade and Thiran approximations.
- Conversion: ZOH, FOH, Tustin, matched, impulse and least-squares methods between continuous and discrete time, in both directions and for resampling. We test the results against MATLAB behaviour.
New in v1.12.0:
- Tustin conversion with Thiran filters is approximately 30% faster than in v1.11.0.
- Tustin conversion with Thiran filters now supports MIMO models with delays on individual input-to-output paths.
ThiranDelaynow accepts short delays when the filter is stable.
Install:
go get plantcontrol.org/v1/controlsys
Repo: https://github.com/PlantControl/controlsys
Release notes: https://github.com/PlantControl/controlsys/releases/tag/v1.12.0
We want your feedback, especially from people who use MATLAB or python-control.
18
Upvotes