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
PeriodicStateSpace
Periodic state space system representation.ps
Construction of periodic state-space models.psmrc2d
Discretization/resampling of a multirate LTI system.
Basic connections and operations
psparallel
Parallel connection of periodic systems.psseries
Series connection of periodic systems.psappend
Appending of periodic systems.pshorzcat
Horizontal concatenation of periodic systems.psvertcat
Vertical concatenation of periodic systems.psfeedback
Periodic output feedback connection.pssfeedback
Periodic state feedback connection.pssofeedback
Periodic state feedback with state estimator connection.
Discretization of continuous-time periodic systems
psc2d
Discretization of a continuous-time periodic system.
Conversions to LTI representations
psaverage
Computation of the averaged LTI system of a continuous-time periodic system.psteval
Computation of the time evaluated LTI system of a continuous-time periodic system.ps2fls
Computation of a complex frequency-lifted LTI representation of a continuous-time periodic system.ps2frls
Computation of a real frequency-lifted LTI representation of a continuous-time periodic system.ps2ls
Computation of a time-lifted LTI representation of a discrete-time periodic system.
Periodic system analysis
pspole
Computation of the poles of a periodic system.pszero
Computation of the zeros of a periodic system.isstable
Assessment of stability of a periodic system.pshanorm
Evaluation of the Hankel-norm of a periodic system.psh2norm
Evaluation of the H2-norm of a periodic system.pslinfnorm
Evaluation of the L∞/H∞-norm of a periodic system.pstimeresp
Time response of a periodic system.psstepresp
Step response of a periodic system.
Simplification of periodic system models
Periodic state feedback controller and estimator design
pclqr
LQ-optimal state feedack stabilization of continuous-time periodic systems.pclqry
LQ-optimal state feedack stabilization with output weighting of continuous-time periodic systems.pdlqr
LQ-optimal state feedack stabilization of discrete-time periodic systems.pdlqry
LQ-optimal state feedack stabilization with output weighting of discrete-time periodic systems.pckeg
Kalman estimator gain matrix for continuous-time periodic systems.pckegw
Kalman estimator gain matrix for continuous-time periodic systems with noise inputs.pdkeg
Kalman estimator gain matrix for periodic systems.pdkegw
Kalman estimator gain matrix for periodic systems with noise inputs.
Periodic output feedback controller design
pcpofstab_sw
Stabilization of continuous-time periodic systems using switching periodic output feedback.pcpofstab_hr
Stabilization of continuous-time periodic systems using harmonic output feedback.pdpofstab_sw
Stabilization of discrete-time periodic systems using switching periodic output feedback.pdpofstab_hr
Stabilization of discrete-time periodic systems using discretized harmonic periodic output feedback.pclqofc_sw
LQ-optimal stabilization of continuous-time periodic systems using switching periodic output feedback.pclqofc_hr
LQ-optimal stabilization of continuous-time periodic systems using harmonic output feedback.pdlqofc
LQ-optimal stabilization of discrete-time periodic systems using periodic output feedback.pdlqofc_sw
LQ-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.