SIMIO: Matlab package for system identification with missing inputs and outputs
SIMIO is a Matlab package for solving system identification problems with missing inputs and outputs. The approach of recovering the missing inputs and outputs is based on the nuclear norm optimization of a subspace system identification formulation. The optimization is solved using the alternating direction method of multipliers (ADMM). Details of the algorithm are described in the paper Nuclear norm system identification with missing inputs and outputs by Z. Liu, A. Hansson, and L. Vandenberghe.
The examples in the SIMIO package require MATLAB’s System Identification Toolbox.
SIMIO contains two main system identification functions.
This function computes a sequence of optimized inputs and outputs from
the regularized nuclear norm optimization
An example is provided in the file optimize_missing_yu_example.m. The figures below illustrate the results for the compact disc arm data of the DaISy collection. The system has two inputs and two outputs. The circles in the figures indicate the available data points for system identification. The red lines in the figures show the optimized inputs and outputs returned by the optimize_missing_yu function, which can be used by a standard system identification routine, e.g., Matlab’s n4sid.
This function computes a sequence of optimized outputs from the
regularized, weighted nuclear norm optimization
We welcome and appreciate any comments, suggestions, and reports of applications of SIMIO. Please send feedback to Zhang Liu (email@example.com), Anders Hansson (firstname.lastname@example.org) or Lieven Vandenberghe (email@example.com).
SIMIO is free and distributed under the terms and conditions of the GNU General Public License.