| System Identification Toolbox User's Guide | ![]() |
www.kxcad.net Home > CAE Software Index > MATLAB Index >
| On this page… |
|---|
Data with Uniform and Nonuniform Sampling Rates |
For linear models, System Identification Toolbox supports both time- and frequency-domain data with single or multiple inputs and outputs. Time-domain data can be either real or complex.
For nonlinear models, this toolbox supports only time-domain data.
Time-domain data is one or more input variables u(t) and one or more output variables y(t), sampled as a command of time. A special case of time-domain data is time-series data, which is one or more outputs y(t) and no measured input. Frequency-domain data is the Fourier transform of the input and output time-domain signals. Frequency-response data, also called frequency-command data, represents complex frequency-response values for a linear system characterized by its transfer command G.
You can measure frequency-response data values directly using a spectrum analyzer, for example. In this section, frequency-domain and frequency-response are both called frequency-domain data for the sake of brevity.
For time-series data, you can estimate both linear and nonlinear models.
Note If your data is complex valued, see Handling Complex-Valued Data for information about supported operations in System Identification Toolbox. |
A sampling interval is the time between successive data samples.
System Identification Toolbox interface provides limited support for nonuniformly sampled data. For more information about specifying uniform and nonuniform time vectors, see Constructing iddata for Time-Domain Data.
Note The System Identification Tool GUI only supports uniformly sampled data. |
Time-domain data consists of one or more input variables u(t) and one or more output variables y(t), sampled as a command of time. If there is no output data, see Representing Time-Series Data.
The following variables must exist in the MATLAB Workspace browser before you can represent time-domain data in System Identification Toolbox:
Input data
For single-input/single-output (SISO) data, the input must be a column-wise vector.
For a data set with Nu inputs and NT samples (measurements), the input is an NT-by-Nu matrix.
Output data
For single-input/single-output (SISO) data, the output must be a column-wise vector.
For a data set with Ny outputs and NT samples (measurements), the output is an NT-by-Ny matrix.
Sampling time interval
If you are working with uniformly sampled data, use the actual sampling interval n your experiment. Each data value is assigned a sample time, which is calculated from the start time and the sampling interval. If you are working with nonuniformly sampled data at the command line, you can specify a vector of time instants using the iddata TimeInstants property, as described in Constructing iddata for Time-Domain Data.
A special case of time-domain data is time-series data, which consist of one or more outputs y(t) with no corresponding input.
The following variables must exist in the MATLAB Workspace browser before you can represent time-series data in System Identification Toolbox:
Output data
For single-input/single-output (SISO) data, the output must be a column-wise vector.
For a data set with Ny outputs and NT samples (measurements), the output is an NT-by-Ny matrix.
Sampling time interval
If you are working with uniformly sampled data, use the actual sampling interval in your experiment. Each data value is assigned a sample time, which is calculated from the start time and the sampling interval. If you are working with nonuniformly sampled data at the command line, you can specify a vector of time instants using the iddata TimeInstants property, as described in Constructing iddata for Time-Domain Data.
For information about estimating time-series models, see Estimating Time-Series Models.
Frequency-domain data is the Fourier transform of the input and output time-domain signals. For continuous-time signals, the Fourier transform over the entire time axis is defined as follows:

In the context of numerical computations, continuous equations must be replaced by their discretized equivalents to handle discrete data values. For a discrete-time system with a sampling interval T, the frequency-domain output Y(eiw) and input U(eiw) is the time-discrete Fourier transform (TDFT):
![]()
In this example, k = 1,2,...,N, where N is the number of samples in the sequence.
Note This form only discretizes the time. The frequency is continuous. |
When the frequencies are not equally spaced, it is useful to also discretize the frequencies in the Fourier transform. The resulting discrete Fourier transform (DFT) of time-domain data is:

The DFT is useful because it can be calculated very efficiently using the fast Fourier transform (FFT) method. Fourier transforms of the input and output data are complex values.
The following variables must exist in the MATLAB Workspace browser before you can represent frequency-domain data in System Identification Toolbox:
Input data
For single-input/single-output (SISO) data, the input must be a column-wise vector.
For a data set with Nu inputs and Nf frequencies, the input is an Nf-by-Nu matrix.
Output data
For single-input/single-output (SISO) data, the output must be a column-wise vector.
For a data set with Ny outputs and Nf frequencies, the output is an Nf-by-Ny matrix.
Frequency values
Must be a column-wise vector.
Frequency-response data, also called frequency-command data, consists of complex frequency-response values for a linear system characterized by its transfer command G. You can measure frequency-response data values directly using a spectrum analyzer, for example, which provides a compact representation of the input and the output (compared to storing input and output independently).
The transfer command G is essentially an operator that takes the input u of a linear system to the output y:
![]()
For a continuous-time system, the transfer command relates the Laplace transforms of the input U(s) and output Y(s):
![]()
In this case, the frequency command G(iw) is the transfer command evaluated on the imaginary axis s=iw.
For a discrete-time system sampled with a time interval T, the transfer command relates the Z-transforms of the input U(z) and output Y(z):
![]()
In this case, the frequency command G(eiwT) is
the transfer command G(z) evaluated on the unit circle.
The argument of the frequency command G(eiwT) is
scaled by the sampling interval T to make the frequency
command periodic with the sampling frequency
.
For a sinusoidal input to the system, the output is also a sinusoid
with the same frequency. The frequency-response data magnifies the amplitude
of the input by
and shifts its phase by
. Because the frequency
command is evaluated at the sinusoid frequency, the values of the frequency
command at a specific frequency describe the response of the linear system
to an input at that frequency.
Frequency-response data represents a (nonparametric) model of the relationship between the input and the outputs as a command of frequency. You might use such a model, which consists of a table of values, to study the system frequency response. However, you cannot use this model for simulation and prediction and must create a parametric model from the frequency-response data.
There are two ways to represent frequency-response data in System Identification Toolbox. The first approach lets you manipulate the data using both System Identification Tool GUI and the command line, and the second approach is only used for working with data in the System Identification Tool GUI.
The following variables must exist in the MATLAB Workspace browser before you can represent frequency-response data in System Identification Toolbox:
In System Identification Tool GUI or MATLAB Command Window, represent complex-valued G(eiw).
For single-input single-output (SISO) systems, the frequency command is a column-wise vector.
For a data set with Nu inputs, Ny outputs, and Nf frequencies, the frequency command is an Ny-by-Nu-by-Nf array.
In System Identification Tool GUI only, represent amplitude
and phase
shift
.
For single-input single-output (SISO) systems, the amplitude and the phase must each be a column-wise vector.
For a data set with Nu inputs, Ny outputs, and Nf frequencies, the amplitude and the phase must each be an Ny-by-Nu-by-Nf array.
Frequency values must be a column-wise vector.
| Ways to Prepare Data for Modeling | Importing Data into MATLAB | ![]() |
© 1984-2007 The MathWorks, Inc. Terms of Use Patents Trademarks Acknowledgments