Why a PERIODIC SYSTEMS toolbox ?

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. Solving robust control applications can also benefit of the increased stabilization potential of periodic control laws, as for example when solving simultaneous multi-model output feedback stabilization problems.

The need to solve challenging periodic control applications led to a sustained effort in the last years to develop efficient and numerically reliable algorithms for periodic systems which can serve as basis for robust numerical software implementations. Nowadays, satisfactory numerical algorithms (without recourse to explicit lifting) are available for most of basic computations. Therefore, developing object-oriented manipulation based tools relying on the newly developed algorithms fulfils in this way the increasing need for an user-friendly CACSD environment dedicated to periodic systems. Such an environment represents simultaneously a flexible framework for developing and testing new numerical algorithms.

Toolbox features

The basic approach to develop the PERIODIC SYSTEMS toolbox was to exploit the powerful object manipulation features of MATLAB via flexible and functionally rich high level m-functions, while simultaneously enforcing highly efficient and numerically sound computations via the mex-function technology of MATLAB to solve critical numerical problems. The m-functions based user interfaces ensure user-friendliness in operating with the functions of this toolbox via an object oriented approach to handle periodic system descriptions. The mex-functions are based on Fortran implementations of recently developed structure exploiting and structure preserving numerical algorithms for periodic systems which completely avoid forming of lifted representations. The Fortran kernel is formed of Fortran 95 routines available in the RASP-PERIODIC collection and on Fortran 77 routines of the free control software library SLICOT [3]. Many new algorithms have been implemented directly in MATLAB. The underlying algorithms are among the most complex procedures ever employed in the control field and encompass computations like the computation of periodic Schur form of a product of rectangular periodic matrices, solution of periodic Lyapunov and Riccati equations with time-varying dimensions, various model conversions (periodic to lifted representations), periodic Kalman reachability and observability forms computation, zero computations, etc. This package has been implemented along the current trend in CACSD to employ high quality, robust control software written in high level langages (e.g., Fortran) in user-friendly environments like MATLAB via appropriate gateways (mex-files).

The toolbox can handle continuous-time periodic linear systems of the form

where A(t), B(t), C(t), D(t) are periodic matrices of period T. Each of the system matrices can be stored in MATLAB as a symbolic matrix, as a harmonic representation or as an M-file. The toolbox can also handle discrete-time periodic systems of the form

where *A*_{k}, *B*_{k}, *C*_{k }and *D*_{k} are N-periodic matrices. Note that for discrete-time models the state-, input- and output-vectors *x*_{k}, *u*_{k} and *y*_{k}, respectively, are allowed to have time-varying dimensions. The matrices of discrete-time periodic systems are stored as cell arrays of length N. Periodic systems models can be obtained in several ways: generating harmonic representations from time series of periodic system matrices; multi-rate sampling systems of constant systems; importing standard system models.

The primary goal for developing the PERIODIC SYSTEMS Toolbox MATLAB was to provide tools for manipulating linear periodic systems which arise in several important application areas. The toolbox provides a basic functionality for discrete-time periodic systems which can be seen as a direct extension of functions provided in the MATLAB Control Toolbox. By relying on structure exploiting and structure preserving numerically stable algorithms (many of them developed in the last few years), this toolbox is the first CACSD tool able to handle realisticproblems where either the system order or the period are large. A first application of this toolbox is the solution of a challenging attitude control problem (very large period) for a magnetically actuated satellite using periodic output feedback control [3].

The Toolbox provides functions for system analysis and model conversions (poles, zeros, minimal realization, order reduction, balancing, etc.) for which the main computational ingredients are structure exploiting numerically stable algorithms to compute periodic Hessenberg/Schur form or periodic Kalman forms, and algorithms to solve periodic Lyapunov equations. For design purposes, functions forperiodic LQ-optimisation relying on periodic Riccati equation solvers or periodic optimal output feedback control are provided.

Current release information

- Version: 1.2 by 1-Sep-2005
- Operating systems: presently running under 2000/XP
- MATLAB: running with MATLAB 6.5 or higher, CONTROL Toolbox 4.0 or higher.
- Availability: contact Andras Varga
- Functionality: see the Contents.m file
- Release notes: see the Readme.m file

Planned extensions

The new developments of the toolbox are partly conditioned by the progress in implementing new algorithms.(e.g., reordering periodic Schur forms, periodic QZ, periodic Kronecker-like forms, periodic Sylvester equations), as well as developing reliable algorithms for solving stabilization, factorizations, norms computation problems. A major effort will be to develop efficient and numerically reliable algorithms for continuous-time periodic systems (e.g., solving periodic differential Lyapunov and Riccati equations, computing system norms, etc.). It is envisaged to extend the support for object-oriented manipulation of models based on harmonic representations (e.g., couplings) as well as improving the algorithm for harmonic approximation of time series. Besides adding new tools for time simulations (impulse-response, etc.), developing efficient algorithms and tools for frequency-domain techniques will be a new research and implementation focus. The increasing importance of multirate control systems requires an extended support for various sample and hold devices and dedicated synthesis methodologies which completely avoid the building of lifted representations.

Related publications:

[1] Varga, A.:

A PERIODIC SYSTEMS Toolbox for MATLAB. Proc. of IFAC'05 World Congress, Prague, Czech Republik, 2005.

[3] Van Huffel, S., Sima, V., Varga, A., Hammarling, S., Delebecque, F.:

High-performance numerical software for control. IEEE Control Systems Magazine, vol. 24, pp. 60-76, 2004.

[18] Lovera, M., Varga, A.:

Optimal discrete-time magnetic attitude control of satellites. Proc. of IFAC'05 World Congress, Prague, Czech Republik, 2005.