Transform Frequency-Response Data in the App

In the System Identification app, frequency-response data has an icon with a yellow background. You can transform frequency-response data to frequency-domain data (iddata object) or to frequency-response data with a different frequency resolution.

When you select to transform single-input/single-output (SISO) frequency-response data to frequency-domain data, the toolbox creates outputs that equal the frequency responses, and inputs equal to 1. Therefore, the ratio between the Fourier transform of the output and the Fourier transform of the input is equal to the system frequency response.

For the multiple-input case, the toolbox transforms the frequency-response data to frequency-domain data as if each input contributes independently to the entire output of the system and then combines information. For example, if a system has three inputs, u1, u2, and u3 and two frequency samples, the input matrix is set to:


In general, for nu inputs and ns samples (the number of frequencies), the input matrix has nu columns and (ns nu) rows.


To create a separate experiment for the response from each input, see Transforming Between Frequency-Domain and Frequency-Response Data.

When you transform frequency-response data by changing its frequency resolution, you can modify the number of frequency values by changing between linear or logarithmic spacing. You might specify variable frequency spacing to increase the number of data points near the system resonance frequencies, and also make the frequency vector coarser in the region outside the system dynamics. Typically, high-frequency noise dominates away from frequencies where interesting system dynamics occur. The System Identification app lets you specify logarithmic frequency spacing, which results in a variable frequency resolution.


The spafdr command lets you lets you specify any variable frequency resolution.

  1. In the System Identification app, drag the icon of the data you want to transform to the Working Data rectangle.

  2. Select <--Preprocess > Transform data.

  3. In the Transform to list, select one of the following:

    • Frequency Domain Data — Create a new iddata object. Go to step 6.

    • Frequency Function — Create a new idfrd object with different resolution (number and spacing of frequencies) using the spafdr method. Go to step 4.

  4. In the Frequency Spacing list, select the spacing of the frequencies at which the frequency function is estimated:

    • linear — Uniform spacing of frequency values between the endpoints.

    • logarithmic — Base-10 logarithmic spacing of frequency values between the endpoints.

  5. In the Number of Frequencies field, enter the number of frequency values.

  6. In the Name of new data field, type the name of the new data set. This name must be unique in the Data Board.

  7. Click Transform to add the new data set to the Data Board in the System Identification app.

  8. Click Close to close the Transform Data dialog box.

Related Examples

More About