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.ps2spls
Computation of a sparse time-lifted LTI representation of a discrete-time periodic system.
PeriodicSystems.psaverage
— Functionpsaverage(psysc) -> sys::DescriptorStateSpace
Compute for the continuous-time periodic system psysc = (A(t),B(t),C(t),D(t))
the corresponding time averaged LTI system sys = (Am,Bm,Cm,Dm)
over one period.
PeriodicSystems.psteval
— Functionpsteval(psys,tval) -> sys::DescriptorStateSpace
Compute for the periodic system psys = (A(t),B(t),C(t),D(t))
and a time value tval
, the LTI system sys = (A(tval),B(tval),C(tval),D(tval))
. If A(tval)
is not square, then A(tval)
is padded with zeros to form a square matrix and appropriate numbers of zero rows and zero columns are added to B(tval)
and C(tval)
, respectively.
PeriodicSystems.ps2fls
— Function ps2fls(psysc::PeriodicStateSpace, N; P) -> sys::DescriptorStateSpace
Build the frequency-lifted representation of a continuous-time periodic system.
For a continuos-time periodic system psysc = (A(t),B(t),C(t),D(t))
, the (complex) LTI state-space representation sys = (At-Nt,Bt,Ct,Dt)
is built, where At
, Bt
, Ct
and Dt
are truncated block Toeplitz matrices and Nt
is a block diagonal matrix (see [1] or [2]). N
is the number of selected harmonic components in the Fourier series of system matrices and the keyword parameter P
is the number of full periods to be considered (default: P = 1
).
References
[1] N. M. Wereley. Analysis and control of linear periodically time varying systems. Ph.D. thesis, Department of Aeronautics and Astronautics, MIT, 1990.
[2] S. Bittanti and P. Colaneri. Periodic Systems : Filtering and Control. Springer-Verlag London, 2009.
PeriodicSystems.ps2frls
— Function ps2frls(psysc::PeriodicStateSpace, N) -> sys::DescriptorStateSpace
Build the real frequency-lifted representation of a continuous-time periodic system.
For a continuos-time periodic system psysc = (A(t),B(t),C(t),D(t))
, the real LTI state-space representation sys = (At-Nt,Bt,Ct,Dt)
is built, where At
, Bt
, Ct
and Dt
are truncated block Toeplitz matrices and Nt
is a block diagonal matrix. N
is the number of selected harmonic components in the Fourier series of system matrices.
Note: This is an experimental implementation based on the operator representation of periodic matrices in the ApproxFun.jl package.
PeriodicSystems.ps2ls
— Function ps2ls(psys::PeriodicStateSpace[, kstart]; ss = false, cyclic = false) -> sys::DescriptorStateSpace
Build the discrete-time lifted LTI system equivalent to a discrete-time periodic system.
For a discrete-time periodic system psys = (A(t),B(t),C(t),D(t))
with period T
and sample time Ts
, the equivalent stacked (see [1]) LTI descriptor state-space representation sys = (A-λE,B,C,D)
is built, with the input, state and output vectors defined over time intervals of length T
(instead Ts
). The optional argument kstart
specifies a desired time to start the sequence of periodic matrices (default: kstart = 1
).
If ss = true
(default: ss = false
), then all non-dynamic modes are elliminated and a standard state-space realization (with E = I
) is determined, which corresponds to the lifting techniques of [2], where only the input and output vectors are defined over time intervals of length T
. The determination of the standard lifted representation involves forming matrix products (e.g., by explicitly forming the monodromy matrix) and therefore is potentially less suited for numerical computations.
If cyclic = true
, the cyclic reformulation of [3] is used to build a lifted standard system with the input, state and output vectors defined over time intervals of length T
.
References
[1] O. M. Grasselli and S. Longhi. Finite zero structure of linear periodic discrete-time systems. Int. J. Systems Sci., 22:1785–1806, 1991.
[2] R. A. Meyer and C. S. Burrus. A unified analysis of multirate and periodically time-varying digital filters”, IEEE Transactions on Circuits and Systems, 22:162–167, 1975.
[3] D. S. Flamm. A new shift-invariant representation for periodic systems, Systems and Control Letters, 17:9–14, 1991.
PeriodicSystems.ps2spls
— Function ps2spls(psys::PeriodicStateSpace[, kstart]; cyclic = false) -> sys::DescriptorStateSpace
Build the discrete-time lifted LTI system equivalent to a discrete-time periodic system.
For a discrete-time periodic system psys = (A(t),B(t),C(t),D(t))
with period T
and sample time Ts
, the equivalent stacked (see [1]) LTI descriptor state-space representation sys = (As-λEs,Bs,Cs,Ds)
is built, with the input, state and output vectors defined over time intervals of length T
(instead Ts
). The optional argument kstart
specifies a desired time to start the sequence of periodic matrices (default: kstart = 1
). The matrices As
, Es
, Bs
, Cs
and Ds
are sparce matrices as defined within the SparseArrays.jl package.
If cyclic = true
, the cyclic reformulation of [2] is used to build a lifted standard system with the input, state and output vectors defined over time intervals of length T
.
References
[1] O. M. Grasselli and S. Longhi. Finite zero structure of linear periodic discrete-time systems. Int. J. Systems Sci., 22:1785–1806, 1991.
[2] D. S. Flamm. A new shift-invariant representation for periodic systems, Systems and Control Letters, 17:9–14, 1991.