PeriodicSystems.jl
PeriodicSystems.jl is intended to be a collection of Julia functions for numerical computations related to periodic system representations in the continuous-time form
dx(t)/dt = A(t)x(t) + B(t)u(t) ,
y(t) = C(t)x(t) + D(t)u(t) ,or in the discrete-time form
x(t+1) = A(t)x(t) + B(t)u(t) ,
y(t) = C(t)x(t) + D(t)u(t) ,where x(t), u(t) and y(t) are the system state vector, system input vector and system output vector, respectively, and t is the continuous or discrete time variable. The system matrices satisfy A(t) = A(t+T), B(t) = B(t+T), C(t) = C(t+T), D(t) = D(t+T), i.e., are periodic with period T.
Many control applications are formulated as genuine periodic control problems as for example, satellite attitude control, helicopter forward flight control, orbital stabilization of underactuated systems, etc. Besides that, periodic systems represent a general framework to analyze and design multi-rate sampled-data systems.
The targeted functionality of this package is described in [1] and will cover both continuous-time and discrete-time periodic systems. The following categories of functions are currently implemented:
Building periodic system state-space models
PeriodicStateSpacePeriodic state space system representation.psConstruction of periodic state-space models.psmrc2dDiscretization/resampling of a multirate LTI system.
Basic connections and operations
psparallelParallel connection of periodic systems.psseriesSeries connection of periodic systems.psappendAppending of periodic systems.pshorzcatHorizontal concatenation of periodic systems.psvertcatVertical concatenation of periodic systems.psfeedbackPeriodic output feedback connection.pssfeedbackPeriodic state feedback connection.pssofeedbackPeriodic state feedback with state estimator connection.
Discretization of continuous-time periodic systems
psc2dDiscretization of a continuous-time periodic system.
Conversions to LTI representations
psaverageComputation of the averaged LTI system of a continuous-time periodic system.pstevalComputation of the time evaluated LTI system of a continuous-time periodic system.ps2flsComputation of a complex frequency-lifted LTI representation of a continuous-time periodic system.ps2frlsComputation of a real frequency-lifted LTI representation of a continuous-time periodic system.ps2lsComputation of a time-lifted LTI representation of a discrete-time periodic system.
Periodic system analysis
pspoleComputation of the poles of a periodic system.pszeroComputation of the zeros of a periodic system.isstableAssessment of stability of a periodic system.pshanormEvaluation of the Hankel-norm of a periodic system.psh2normEvaluation of the H2-norm of a periodic system.pslinfnormEvaluation of the L∞/H∞-norm of a periodic system.pstimerespTime response of a periodic system.pssteprespStep response of a periodic system.
Simplification of periodic system models
Periodic state feedback controller and estimator design
pclqrLQ-optimal state feedack stabilization of continuous-time periodic systems.pclqryLQ-optimal state feedack stabilization with output weighting of continuous-time periodic systems.pdlqrLQ-optimal state feedack stabilization of discrete-time periodic systems.pdlqryLQ-optimal state feedack stabilization with output weighting of discrete-time periodic systems.pckegKalman estimator gain matrix for continuous-time periodic systems.pckegwKalman estimator gain matrix for continuous-time periodic systems with noise inputs.pdkegKalman estimator gain matrix for periodic systems.pdkegwKalman estimator gain matrix for periodic systems with noise inputs.
Periodic output feedback controller design
pcpofstab_swStabilization of continuous-time periodic systems using switching periodic output feedback.pcpofstab_hrStabilization of continuous-time periodic systems using harmonic output feedback.pdpofstab_swStabilization of discrete-time periodic systems using switching periodic output feedback.pdpofstab_hrStabilization of discrete-time periodic systems using discretized harmonic periodic output feedback.pclqofc_swLQ-optimal stabilization of continuous-time periodic systems using switching periodic output feedback.pclqofc_hrLQ-optimal stabilization of continuous-time periodic systems using harmonic output feedback.pdlqofcLQ-optimal stabilization of discrete-time periodic systems using periodic output feedback.pdlqofc_swLQ-optimal stabilization of discrete-time periodic systems using switching periodic output feedback.
Release Notes
Main developer
License: MIT (expat)
References
[1] A. Varga. A Periodic Systems Toolbox for Matlab. Proc. of IFAC 2005 World Congress, Prague, Czech Republic, 2005.
[2] S. Bittanti and P. Colaneri. Periodic Systems - Filtering and Control, Springer Verlag, 2009.
[3] A. Varga, MatrixPencils.jl: Matrix pencil manipulation using Julia. Zenodo: https://doi.org/10.5281/zenodo.3894503.
[4] A. Varga, MatrixEquations.jl: Solution of Lyapunov, Sylvester and Riccati matrix equations using Julia. Zenodo: https://doi.org/10.5281/zenodo.3556867.