Main Content

Frequency Response Plots

What Is Frequency Response?

Frequency response plots show the complex values of a transfer function as a function of frequency.

In the case of linear dynamic systems, the transfer function 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 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 sample time T to make the frequency function periodic with the sampling frequency 2πT.


How Frequency Response Helps to Validate Models

You can plot the frequency response of a model to gain insight into the characteristics of linear model dynamics, including the frequency of the peak response and stability margins. Frequency-response plots are available for all linear models.


Frequency-response plots are not available for nonlinear models. In addition, Nyquist plots do not support time-series models that have no input.

The frequency response of a linear dynamic model describes how the model reacts to sinusoidal inputs. If the input u(t) is a sinusoid of a certain frequency, then the output y(t) is also a sinusoid of the same frequency. However, the magnitude of the response is different from the magnitude of the input signal, and the phase of the response is shifted relative to the input signal.

Frequency response plots provide insight into linear systems dynamics, such as frequency-dependent gains, resonances, and phase shifts. Frequency response plots also contain information about controller requirements and achievable bandwidths. Finally, frequency response plots can also help you validate how well a linear parametric model, such as a linear ARX model or a state-space model, captures the dynamics.

One example of how frequency-response plots help validate other models is that you can estimate a frequency response from the data using spectral analysis (nonparametric model), and then plot the spectral analysis result on top of the frequency response of the parametric models. Because nonparametric and parametric models are derived using different algorithms, agreement between these models increases confidence in the parametric model results.

What Does a Frequency-Response Plot Show?

System Identification app supports the following types of frequency-response plots for linear parametric models, linear state-space models, and nonparametric frequency-response models:

  • Bode plot of the model response. A Bode plot consists of two plots. The top plot shows the magnitude |G| by which the transfer function G magnifies the amplitude of the sinusoidal input. The bottom plot shows the phase φ=argG by which the transfer function shifts the input. The input to the system is a sinusoid, and the output is also a sinusoid with the same frequency.

  • Plot of the disturbance model, called noise spectrum. This plot is the same as a Bode plot of the model response, but it shows the output power spectrum of the noise model instead. For more information, see Noise Spectrum Plots.

  • (Only in the MATLAB® Command Window)
    Nyquist plot. Plots the imaginary versus the real part of the transfer function.

The following figure shows a sample Bode plot of the model dynamics, created in the System Identification app.

Displaying the Confidence Interval

In addition to the frequency-response curve, you can display a confidence interval on the plot. To learn how to show or hide confidence interval, see the description of the plot settings in Plot Bode Plots Using the System Identification App

The confidence interval corresponds to the range of response values with a specific probability of being the actual response of the system. The toolbox uses the estimated uncertainty in the model parameters to calculate confidence intervals and assumes the estimates have a Gaussian distribution.

For example, for a 95% confidence interval, the region around the nominal curve represents the range where there is a 95% chance that it contains the true system response. You can specify the confidence interval as a probability (between 0 and 1) or as the number of standard deviations of a Gaussian distribution. For example, a probability of 0.99 (99%) corresponds to 2.58 standard deviations.