| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → System Identification Toolbox |
| Contents | Index |
| Learn more about System Identification Toolbox |
| On this page… |
|---|
Importing Time-Domain Data into MATLAB Importing Time-Series Data into MATLAB |
Time-domain data consists of one or more input variables u(t) and one or more output variables y(t), sampled as a function of time. If there is no output data, see Importing Time-Series Data into MATLAB.
You must import your time-domain data into the MATLAB workspace as the following variables:
Input data
For single-input/single-output (SISO) data, the input must be a column 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 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 from 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 SamplingInstants property, as described in Constructing an iddata Object for Time-Domain Data.
For more information about importing data into the MATLAB workspace, see MATLAB Data Import and Export.
After you import data, you can import it into the System Identification Tool GUI or create a data object for working at the command line. For more information about importing data into the GUI, see Importing Time-Domain Data into the GUI. To learn more about creating a data object, see Representing Time- and Frequency-Domain Data Using iddata Objects.
Time-series data is time-domain or frequency-domain data that consist of one or more outputs y(t) with no corresponding input.
You must import your time-series data into the MATLAB workspace as the following variables:
Output data
For single-input/single-output (SISO) data, the output must be a column 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 SamplingInstants property, as described in Constructing an iddata Object for Time-Domain Data.
For more information about importing data into the MATLAB workspace, see MATLAB Data Import and Export.
After you import data, you can import it into the System Identification Tool GUI or create a data object for working at the command line. For more information about importing data into the GUI, see Importing Time-Domain Data into the GUI. To learn more about creating a data object, see Representing Time- and Frequency-Domain Data Using iddata Objects.
For information about estimating time-series model parameters, see Time Series Identification.
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 are 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.
In practice, the Fourier transform cannot be handled for all continuous frequencies and you must specify a finite number of frequencies. The discrete Fourier transform (DFT) of time-domain data for N equally spaced frequencies between 0 and the sampling frequency 2π/N 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 numbers.
You must import your frequency-domain data as the following variables:
Input data
For single-input/single-output (SISO) data, the input u must
be a column vector containing the values
for k=1,
2, ..., Nf,
where Nf is
the number of frequencies.
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
y must be a column vector containing the values
for k=1,
2, ..., Nf,
where Nf is
the number of frequencies.
For a data set with Ny outputs and Nf frequencies, the output is an Nf-by-Ny matrix.
Frequency values
Must be a column vector.
For more information about importing data into the MATLAB workspace, see MATLAB Data Import and Export.
After you import data, you can import it into the System Identification Tool GUI or create a data object for working at the command line. For more information about importing data into the GUI, see Importing Frequency-Domain Data into the GUI. To learn more about creating a data object, see Representing Time- and Frequency-Domain Data Using iddata Objects.
Frequency-response data, also called frequency-function data, consists of complex frequency-response values for a linear system characterized by its transfer function G. Frequency-response data tells you how the system handles sinusoidal inputs. You can measure frequency-response data values directly using a spectrum analyzer, for example, which provides a compact representation of the input-output relationship (compared to storing input and output independently).
The transfer function G is an operator that takes the input u of a linear system to the output y:
![]()
For a continuous-time system, the transfer function relates the Laplace transforms of the input U(s) and output Y(s):
![]()
In this case, the frequency function G(iw) is the transfer function evaluated on the imaginary axis s=iw.
For a discrete-time system sampled with a time interval T, the transfer function relates the Z-transforms of the input U(z) and output Y(z):
![]()
In this case, the frequency function G(eiwT) is
the transfer function G(z) evaluated on the unit
circle. The argument of the frequency function G(eiwT) is
scaled by the sampling interval T to make the
frequency function periodic with the sampling frequency
.
When the input to the system is a sinusoid of a specific frequency,
the output is also a sinusoid with the same frequency. The amplitude
of the output is
times the amplitude
of the input. The phase of the shifted from the input by
. G is evaluated
at the frequency of the input sinusoid.
Frequency-response data represents a (nonparametric) model of the relationship between the input and the outputs as a function of frequency. You might use such a model, which consists of a table or plot of values, to study the system frequency response. However, this model is not suitable for simulation and prediction. You should create parametric model from the frequency-response data.
There are two ways to represent frequency-response data for system identification. The first approach lets you manipulate the data using both System Identification Tool GUI and the command line. The second approach is only used for working with data in the System Identification Tool GUI.
You must import your frequency-response data into the MATLAB workspace as the following variables:
In System Identification Tool GUI or MATLAB Command Window, represent complex-valued G(eiw).
For single-input single-output (SISO) systems, the frequency function is a column vector.
For a data set with Nu inputs, Ny outputs, and Nf frequencies, the frequency function 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 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 vector.
For more information about importing data into the MATLAB workspace, see MATLAB Data Import and Export.
After you import data into the MATLAB workspace, you can import it into the System Identification Tool GUI or create a data object for working at the command line. For more information about importing data into the GUI, see Importing Frequency-Response Data into the GUI. To learn more about creating a data object, see Representing Frequency-Response Data Using idfrd Objects.
![]() | Requirements on Data Sampling | Importing Data into the GUI | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2010- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |