Spectrum Analyzer

Display frequency spectrum

  • Library:
  • Simscape / Utilities

Description

Note

The Spectrum Analyzer block in the Simscape™ product contains a subset of functionality of the DSP System Toolbox™ block with the same name. This page describes the block configuration and functionality available with a Simscape license. If you also have a DSP System Toolbox license, then the Spectrum Analyzer block in the Simscape > Utilities library is identical to the block in the DSP System Toolbox > Sinks library. For more information, see Spectrum Analyzer in the DSP System Toolbox documentation.

The Spectrum Analyzer block accepts input signals with discrete sample times and displays frequency spectra of these signals.

To use a Spectrum Analyzer block, instead of a regular scope, in a Simscape model:

  1. Add a Spectrum Analyzer block to your block diagram.

  2. If your model uses a variable-step solver, also add a Rate Transition block and connect it to the input of the Spectrum Analyzer, setting the Output port sample time to the sample time you wish the Spectrum Analyzer to use.

    If your model uses a local solver, then it produces output physical signals with discrete sample times and you do not need to add a Rate Transition block. However, if you need to down-sample from the solver fixed step size, you can also use a Rate Transition block. For more information on using local solvers, see Making Optimal Solver Choices for Physical Simulation.

  3. Use a PS-Simulink Converter block to connect the output physical signal of interest to the input of the Spectrum Analyzer block (or to the input of the Rate Transition block, if using one). For more information, see Connecting Simscape Diagrams to Simulink Sources and Scopes. You can also use additional signal processing blocks between the PS-Simulink Converter and the Spectrum Analyzer to enhance signal quality.

  4. Run the simulation. The Spectrum Analyzer, referred to here as the scope, opens and displays the frequency spectrum of the signal.

Note

To prevent the scope from opening when you run your model, right-click the scope icon and select Comment Out. If the scope is already open, and you comment it out in the model, the scope displays, "No data can be shown because this scope is commented out." Select Uncomment to turn the scope back on.

Reduce Plot Rate to Improve Performance

By default, Spectrum Analyzer updates the display at fixed intervals of time at a rate not exceeding 20 hertz. If you want Spectrum Analyzer to plot a spectrum on every simulation time step, you can disable the Reduce Plot Rate to Improve Performance option. In the Spectrum Analyzer menu, select Simulation > Reduce Plot Rate to Improve Performance to clear the check box. Tunable (Simulink).

Note

When this check box is selected, Spectrum Analyzer may display a misleading spectrum in some situations. For example, if the input signal is wide-band with non-stationary behavior, such as a chirp signal, Spectrum Analyzer might display a stationary spectrum. The reason for this behavior is that Spectrum Analyzer buffers the input signal data and only updates the display periodically at approximately 20 times per second. Therefore, Spectrum Analyzer does not render changes to the spectrum that occur and elapse between updates, which gives the impression of an incorrect spectrum. To ensure that spectral estimates are as accurate as possible, clear the Reduce Plot Rate to Improve Performance check box. When you clear this box, Spectrum Analyzer calculates spectra whenever there is enough data, rendering results correctly.

Limitations

This reference page describes the Spectrum Analyzer block available with Simscape or RF Blockset™. If you have DSP System Toolbox, more parameters and measurements are available. For information about the full Spectrum Analyzer, see Spectrum Analyzer.

Ports

Input

expand all

Connect the signals you want to visualize. You can have up to 96 input ports. Input signals can have these characteristics:

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Complex Number Support: Yes

Parameters

expand all

This section lists the parameters available in the Spectrum Analyzer when you do not have DSP System Toolbox. For the full parameter list, see Spectrum Analyzer.

Spectrum Settings

The Spectrum Settings pane appears at the right side of the Spectrum Analyzer window. This pane controls how the spectrum is calculated. To show the Spectrum Settings, in the Spectrum Analyzer menu, select View > Spectrum Settings or use the button in the toolbar.

Main

Power — Spectrum Analyzer shows the power spectrum.

Power density — Spectrum Analyzer shows the power spectral density. The power spectral density is the magnitude of the spectrum normalized to a bandwidth of 1 hertz.

RMS — Spectrum Analyzer shows the root mean squared spectrum.

Tunable: Yes

Programmatic Use

See SpectrumType.

Select Inherited to use the same sample rate as the input signal. To specify a sample rate, delete Inherited and enter a sample rate value.

Programmatic Use

See SampleRate.

The resolution bandwidth in hertz. This parameter defines the smallest positive frequency that can be resolved. By default, this parameter is set to Auto. In this case, the Spectrum Analyzer determines the appropriate value to ensure that there are 1024 RBW intervals over the specified frequency span.

If you set this parameter to a numeric value, the value must allow at least two RBW intervals over the specified frequency span. In other words, the ratio of the overall frequency span to RBW must be greater than two:

spanRBW>2

Tunable: Yes

Programmatic Use

See RBW.

This property is read-only.

The number of input samples required to compute one spectral update. You cannot modify this parameter; it is shown in the spectrum analyzer for informational purposes only. This parameter is directly related to RBW (Hz)/Window length/Number of frequency bands. For more details, see Algorithms (DSP System Toolbox).

If the input does not have enough samples to achieve the resolution bandwidth that you specify, Spectrum Analyzer produces a message on the display.

Window

This parameter defines the amount of overlap between the previous and current buffered data segments. The overlap creates a window segment that is used to compute a spectral estimate. The value must be greater than or equal to zero and less than 100.

Tunable: Yes

Programmatic Use

See OverlapPercent.

The windowing method to apply to the spectrum. Windowing is used to control the effect of sidelobes in spectral estimation. The window you specify affects the window length required to achieve a resolution bandwidth and the required number of samples per update. For more information about windowing, see Windows (Signal Processing Toolbox).

Tunable: Yes

Programmatic Use

See Window.

This property is read-only.

The normalized effective noise bandwidth of the window. You cannot modify this parameter; it is shown for informational purposes only. This parameter is a measure of the noise performance of the window. The value is the width of a rectangular filter that accumulates the same noise power with the same peak power gain.

The rectangular window has the smallest NENBW, with a value of 1. All other windows have a larger NENBW value. For example, the Hann window has an NENBW value of approximately 1.5.

Trace

This property is read-only.

The units of the spectrum. To change units, you must have the DSP System Toolbox.

Tunable: Yes

Programmatic Use

See SpectrumUnits.

Specify the smoothing method as:

  • Running — Running average of the last n samples. Use the Averages property to specify n.

  • Exponential — Weighted average of samples. Use the Forgetting factor property to specify the weighted forgetting factor.

For more information about the averaging methods, see Averaging Method.

Programmatic Use

See AveragingMethod.

Specify the number of spectral averages as a positive integer. The spectrum analyzer computes the current power spectrum estimate by computing a running average of the last N power spectrum estimates. This parameter defines the number of spectral averages, N.

Dependency

This parameter applies only when Averaging method is Running.

Programmatic Use

See SpectralAverages.

Specify the exponential weighting as a scalar value greater than 0 and less than or equal to 1.

Dependency

This parameter applies only when the Averaging method is Exponential.

Programmatic Use

See ForgettingFactor.

The reference load in ohms that the Spectrum Analyzer uses as a reference to compute power values.

Dependency

To use this parameter, set Input domain (DSP System Toolbox) to Time.

Programmatic Use

See ReferenceLoad.

Choose a linear or logarithm scale for the frequency axis. When the frequency span contains negative frequency values, you cannot choose the logarithmic option.

Programmatic Use

See FrequencyScale.

The constant frequency offset to apply to the entire spectrum, or a vector of frequencies to apply to each spectrum for multiple inputs. The offset parameter is added to the values on the Frequency axis in the Spectrum Analyzer window. This parameter is not used in any spectral computations. You must take the parameter into consideration when you set the Span (Hz) and CF (Hz) parameters to ensure that the frequency span is within the Nyquist frequency interval (DSP System Toolbox).

Dependency

To use this parameter, set Input domain (DSP System Toolbox) to Time.

Programmatic Use

See FrequencyOffset.

Select this check box to enable a two-sided spectrum view. In this view, both negative and positive frequencies are shown. If you clear this check box, Spectrum Analyzer shows a one-sided spectrum with only positive frequencies. Spectrum Analyzer requires that this parameter is selected when the input signal is complex-valued.

Programmatic Use

See PlotAsTwoSidedSpectrum.

Configuration Properties

The Configuration Properties dialog box controls visual aspects of the Spectrum Analyzer. To open the Configuration Properties, in the Spectrum Analyzer menu, select View > Configuration Properties or select the button in the toolbar dropdown.

Specify the display title. Enter %<SignalLabel> to use the signal labels in the Simulink model as the axes titles.

Tunable: Yes

Programmatic Use

See Title.

Show signal legend. The names listed in the legend are the signal names from the model. For signals with multiple channels, a channel index is appended after the signal name. Continuous signals have straight lines before their names and discrete signals have step-shaped lines.

From the legend, you can control which signals are visible. This control is equivalent to changing the visibility in the Style parameters. In the scope legend, click a signal name to hide the signal in the scope. To show the signal, click the signal name again. To show only one signal, right-click the signal name, which hides all other signals. To show all signals, press ESC.

Note

The legend only shows the first 20 signals. Any additional signals cannot be viewed or controlled from the legend.

Dependency

To enable this parameter, set View (DSP System Toolbox) to Spectrum or Spectrum and spectrogram.

Programmatic Use

See ShowLegend.

Show internal grid lines on the Spectrum Analyzer

Programmatic Use

See ShowGrid.

Specify the minimum value of the y-axis.

Programmatic Use

See YLimits.

Specify the maximum value of the y-axis.

Programmatic Use

See YLimits.

To display signal units, add (%<SignalUnits>) to the label. At the beginning of a simulation, Simulink replaces (%SignalUnits) with the units associated with the signals. For example, if you have a signal for velocity with units of m/s enter

Velocity (%<SignalUnits>)

Programmatic Use

See YLabel.

Style

The Style dialog box controls how to Spectrum Analyzer appears. To open the Style properties, in the Spectrum Analyzer menu, select View > Style or select the button in the toolbar dropdown.

Specify the color that you want to apply to the background of the scope figure.

Specify whether to display a Line or Stem plot.

Programmatic Use

See PlotType.

Specify the color that you want to apply to the background of the axes.

Specify the channel for which you want to modify the visibility, line properties, and marker properties.

Specify whether the selected channel is visible. If you clear this check box, the line disappears. You can also change signal visibility using the scope legend.

Specify the line style, line width, and line color for the selected channel.

Specify marks for the selected channel to show at its data points. This parameter is similar to the 'Marker' property for plots. You can choose any of the marker symbols from the dropdown.

Axes Scaling

The Axes Scaling dialog box controls the axes limits of the Spectrum Analyzer. To open the Axes Scaling properties, in the Spectrum Analyzer menu, select Tools > Axes Scaling > Axes Scaling Properties.

Specify when the scope automatically scales the y-axis. By default, this parameter is set to Auto, and the scope does not shrink the y-axis limits when scaling the axes. You can select one of the following options:

  • Auto — The scope scales the axes as needed, both during and after simulation. Selecting this option shows the Do not allow Y-axis limits to shrink.

  • Manual — When you select this option, the scope does not automatically scale the axes. You can manually scale the axes in any of the following ways:

    • Select Tools > Scaling Properties.

    • Press one of the Scale Axis Limits toolbar buttons.

    • When the scope figure is the active window, press Ctrl+A.

  • After N Updates — Selecting this option causes the scope to scale the axes after a specified number of updates. This option is useful, and most efficient, when your frequency signal values quickly reach steady-state after a short period. Selecting this option shows the Number of updates edit box where you can modify the number of updates to wait before scaling.

Tunable: Yes

Programmatic Use

See AxesScaling.

When you select this parameter, the y-axis is allowed to grow during axes scaling operations. If you clear this check box, the y-axis limits can shrink during axes scaling operations.

Dependency

This parameter appears only when you select Auto for the Axis scaling parameter. When you set the Axes scaling parameter to Manual or After N Updates, the y-axis limits can shrink.

The number of updates after which the axes scale, specified as a positive integer. If the spectrogram is displayed, this parameter specifies the number of updates after which the color axes scales.

Tunable: Yes

Dependency

This parameter appears only when you set Axes scaling/Color scaling (DSP System Toolbox) to After N Updates.

Programmatic Use

See AxesScalingNumUpdates.

Select this check box to scale the axes when the simulation stops. If the spectrogram is displayed, select this check box to scale the color when the simulation stops. The y-axis is always scaled. The x-axis limits are only scaled if you also select the Scale X-axis limits check box.

Set the percentage of the axis that the scope uses to display the data when scaling the axes. If the spectrogram is displayed, set the percentage of the power values range within the colormap. Valid values are from 1 through 100. For example, if you set this parameter to 100, the scope scales the axis limits such that your data uses the entire axis range. If you then set this parameter to 30, the scope increases the y-axis or color range such that your data uses only 30% of the axis range.

Tunable: Yes

Specify where the scope aligns your data along the axis when it scales the axes. If the spectrogram is displayed, specify where the scope aligns your data along the axis when it scales the color. If you are using CCDF Measurements (DSP System Toolbox), the x axis is also configurable.

Tunable: Yes

Algorithms

expand all

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced in R2016b