This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

sptool

Open interactive digital signal processing tool

Syntax

sptool
s = sptool('Signals')
f = sptool('Filters')
s = sptool('Spectra')
[s,ind] = sptool(___)
s = sptool(___,0)
struc = sptool('create',paramlist)
sptool('load',struc)
struc = sptool('load',paramlist)

Description

Note

SPTool will be removed in a future release.

The command, sptool, opens SPTool, a suite of four tools: Signal Browser, Filter Design and Analysis Tool, FVTool, and Spectrum Viewer. These tools provide access to many of the signal, filter, and spectral analysis functions in the toolbox. When you type sptool at the command line, the SPTool suite opens.

Using SPTool, you can:

  • Analyze signals listed in the Signals list box with the Signal Browser.

  • Design or edit filters with the Filter Design and Analysis Tool (includes a Pole/Zero Editor).

  • Analyze filter responses for filters listed in the Filters list box with FVTool.

  • Apply filters in the Filters list box to signals in the Signals list box.

  • Create and analyze signal spectra with the Spectrum Viewer.

  • Print the Signal Browser, Filter Design and Analysis Tool, and Spectrum Viewer.

You can activate all four integrated signal processing tools from SPTool.

Signal Browser

The Signal Browser, hereafter referred to as the scope, allows you to view, measure, and analyze the time-domain information of one or more signals. To activate the Signal Browser, press the View button under the Signals list box in SPTool.

See the following sections for more information on the Signal Browser:

Displaying Multiple Signals

Multiple Signal Input

Select more than one signal in the Signals list box to show multiple signals within the same display or on separate displays. By default, the signals appear as different-colored lines on the same display. The signals can have different dimensions, sample rates, and data types. Each signal can be either real or complex valued.

Multiple Signal Colors

By default, Signal Browser has a white axes background and chooses line colors for each channel in a manner similar to the MATLAB® plot function. Signal Browser considers each of the real and imaginary components of the input signals to be a channel, and assigns each channel a line color in the following order:

  1. Blue

  2. Dark Green

  3. Red

  4. Cyan

  5. Purple

  6. Dark Yellow

  7. Black

If there are more than 7 channels, the scope repeats this order to assign line colors to the remaining channels. For example, if you select 4 complex-valued input signals, the following legend appears in the display.

If all the input signals are real-valued, Signal Browser skips the line colors that would be associated with their imaginary components. For example, if you select 4 real-valued input signals, the following legend appears in the display.

To manually modify any line color, select View > Style to open the Style dialog box. Next to Properties for line, select the signal name whose color you want to change. Then, next to Line, click the line color button () and select any color from the palette. To change the axes background color, click the Axes background color button (), and select any color from the palette.

Use Multiple Displays

You can display multiple channels of data on different displays in the window. In the toolbar, select View > Layout, or select the Layout button ().

You can tile the window into multiple displays. For example, if there are three inputs to the tool, you can display the signals in three separate displays. The layout grid shows a 4 by 4 grid, but you can select up to 16 by 16 by clicking and dragging within the layout grid.

When you use the Layout option to tile the window into multiple displays, the display highlighted in blue is referred to as the active display. The dialog boxes reference the active display.

Signal Display

The Signal Browser uses the longest time length of all the input signals selected in the Signals list box for the time range. To communicate the array of times that corresponds to the current display, the scope uses the Minimum time-axis limit, Time units, and Maximum time-axis limit indicators on the scope window. The following figure highlights these aspects of the Signal Browser window.

  • Minimum time-axis limit — The Signal Browser sets the minimum time-axis limit to 0.

  • Maximum time-axis limit — The Signal Browser sets the maximum time-axis limit to the final time step of the longest input signal.

  • Time units — The units used to describe the time-axis. The Signal Browser sets the time units using the value of the Time Units parameter on the Main tab of the Visuals:Time Domain Options dialog box. By default, this parameter is set to Metric (based on Time Span) and displays in metric units such as microseconds, milliseconds, minutes, days, etc. You can change the unit of measure to Seconds to always display the time-axis values in units of seconds. You can change it to None to suppress the display of units of measure on the time-axis. When you set this parameter to None, then the Signal Browser shows only the word Time on the time-axis.

    To hide both the word Time and the values on the time-axis, set the Show time-axis labels parameter to None. To hide both the word Time and the values on the time-axis in all displays except the bottom ones in each column of displays, set this parameter to Bottom Displays Only. This behavior differs from that of the Simulink® Scope block, which always shows the values but never shows a label on the x-axis.

Signal Names and Legend Text

Signal Browser uses the names of the signals in the SPTool as the text displayed in the legends. If you change the name of any selected signal in the Signals list box, its corresponding legend entry in Signal Browser changes immediately. To change the name of any selected signal, from the SPTool menu select Edit > Name. Signal Browser automatically updates the legend to reflect the new signal name you entered. Similarly, if you modify any entry in a legend in Signal Browser, then SPTool updates the corresponding signal name in the Signals list box.

Axes Maximization

You can specify whether to display the Signal Browser in maximized axes mode. In this mode, the axes are expanded to fill the entire display. In each display, there is no space to show titles or axis labels. The minimum and maximum time-axis limits are located at the far-left and far-right edges of the display. The values at the axis tick marks appear as grid lines on top of the axes. The following figure highlights how three displays appear in maximized axes mode in the Signal Browser window.

To enable or disable this mode, in the Signal Browser menu, select View > Properties to bring up the Visuals:Time Domain Options dialog box. In the Main pane, you can set the Maximize axes parameter to one of the following options:

  • Auto — In this mode, the axes appear maximized in all displays only if the Title and Y-Axis label parameters are empty for every display. If you enter any value in any display for either of these parameters, the axes are not maximized.

  • On — In this mode, the axes appear maximized in all displays. Any values entered into the Title and Y-Axis label parameters are hidden.

  • Off — In this mode, none of the axes appear maximized.

See the Visuals — Time Domain Options section for more information.

Measurements Panels

The Measurements panels are the five panels that appear at the right side of the Signal Browser. These panels are labeled Trace selection, Cursor measurements, Signal statistics, Bilevel measurements, and Peak finder.

Visuals — Time Domain Options

The Visuals — Time Domain Properties dialog box controls the visual configuration settings of the Signal Browser display. From the menu, select View > Configuration Properties to open this dialog box.

Main Pane

The Main pane of the Visuals — Time Domain Properties dialog box appears as follows.

Time units

Specify the units used to describe the time-axis. The default setting is Metric. You can select one of the following options.

  • Metric — In this mode, the Signal Browser converts the times on the time-axis to some metric units such as milliseconds, microseconds, days, etc. The Signal Browser chooses the appropriate metric units, based on the minimum time-axis limit and the maximum time-axis limit of the window.

  • Seconds — In this mode, the Signal Browser always displays the units on the time-axis as seconds.

  • None — In this mode, the Signal Browser displays no units on the time-axis. The Signal Browser shows only the word Time on the time-axis.

Time-axis labels

Specify how to display the time units used to describe the time-axis. The default setting is All. You can select one of the following options.

  • All — In this mode, the time-axis labels appear in all displays.

  • None — In this mode, the time-axis labels do not appear in the displays.

  • Bottom Displays Only — In this mode, the time-axis labels appear only in the bottom row of the displays.

Show time-axis label

Select to turn on time-axis label display.

Maximize axes

Specify whether to display the Signal Browser in maximized axes mode. In this mode, each of the axes is expanded to fit into the entire display. In each display, there is no space to show labels. Tick mark values are shown on top of the plotted data. The default setting is Auto. You can select one of the following options:

  • Auto — In this mode, the axes appear maximized in all displays only if the Title and Y-Axis label parameters are empty for every display. If you enter any value in any display for either of these parameters, the axes are not maximized.

  • On — In this mode, the axes appear maximized in all displays. Any values entered into the Title and Y-Axis label parameters are hidden.

  • Off — In this mode, none of the axes appear maximized.

Display Pane

The Display pane of the Visuals — Time Domain Properties dialog box appears as follows.

Active display

Specify the active display as an integer to get and set relevant properties. The number of a display corresponds to its column-wise placement index. Set this property to control which display has its axes colors, line properties, marker properties, and visibility changed.

When you use the Layout option to tile the window into multiple displays, the display highlighted in blue is referred to as the active display. The default setting is 1.

Title

Specify the active display title as text. By default, the active display has no title.

Show legend

Select this check box to show the legend in the display. The channel legend displays a name for each channel of each input signal. When the legend appears, you can place it anywhere inside of the scope window. To turn off the legend, clear the Show legend check box.

You can edit the name of any channel in the legend by double-clicking the current name and entering a new channel name. By default, if the signal has multiple channels, the scope uses an index number to identify each channel of that signal. To change the appearance of any channel of any input signal in the scope window, from the scope menu, select View > Style. The legend lets you modify what signals are shown. To show only one signal, click the signal name. To toggle a signal on/off, right-click the signal name.

Show grid

When you select this check box, a grid appears in the display of the scope figure. To hide the grid, clear this check box.

Plot signals as magnitude and phase

When you select this check box, the scope splits the display into a magnitude plot and a phase plot. By default, this check box is cleared. If the input signal has complex values, the scope plots the real and imaginary portions on the same axes. These real and imaginary portions appear as different-colored lines on the same axes. Selecting this check box and clicking the Apply or OK button changes the display. The magnitude of the input signal appears on the top axes and its phase, in degrees, appears on the bottom axes.

This feature is useful for complex-valued input signals. If the input is a real-valued signal, selecting this check box returns the absolute value of the signal for the magnitude. The phase is 0 degrees for nonnegative input and 180 degrees for negative input.

Y-limits (Minimum)

Specify the minimum value of the y-axis.

When you select the Plot signal(s) as magnitude and phase check box, the value of this property always applies to the magnitude plot on the top axes. The phase plot on the bottom axes is always limited to a minimum value of -180 degrees.

Y-limits (Maximum)

Specify the maximum value of the y-axis.

When you select the Plot signal(s) as magnitude and phase check box, the value of this property always applies to the magnitude plot on the top axes. The phase plot on the bottom axes is always limited to a maximum value of 180 degrees.

Y-label

Specify the text for the scope to display to the left of the y-axis.

This property becomes invisible when you select the Plot signal(s) as magnitude and phase check box. When you enable that property, the y-axis label always appears as Magnitude on the top axes and Phase on the bottom axes.

Style Dialog Box

In the Style dialog box, you can customize the style of displays. You can change the color of the figure containing the displays, the background and foreground colors of display axes, and properties of lines in a display. From the Signal Browser menu, select View > Style.

Properties

The Style dialog box allows you to modify the following properties of the Signal Browser:

Figure color

Specify the color that you want to apply to the background of the Signal Browser. By default, the figure color is gray.

Plot type

Specify the type of plot to use. The default setting is Line. Valid values for Plot type are:

  • Line — Displays input signal as lines connecting each of the sampled values. This approach is similar to the functionality of the MATLAB line or plot function.

  • Stairs — Displays input signal as a stairstep graph. A stairstep graph is made up of only horizontal lines and vertical lines. Each horizontal line represents the signal value for a discrete sample period and is connected to two vertical lines. Each vertical line represents a change in values occurring at a sample. This approach is equivalent to the MATLAB stairs function. Stairstep graphs are useful for drawing time history graphs of digitally sampled data.

Select display

Specify the active display as a number, where a display number corresponds to the index of the input signal. The number of a display corresponds to its column-wise placement index. The default setting is 1. Set this parameter to control which display should have its axes colors, line properties, marker properties, and visibility changed.

Axes colors

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

Preserve colors for copy to clipboard

Specify whether or not to use the displayed color of the scope when copying.

When you select File > Copy to Clipboard, the software changes the color of the scope to be printer friendly (white background, visible lines). If you want to copy and paste the scope with the colors displayed, select this check box.

Default: Off

Properties for line

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

Visible

Specify whether the selected signal on the active display should be visible. If you clear this check box, the line disappears.

Line

Specify the line style, line width, and line color for the selected signal on the active display.

Marker

Specify marks for the selected signal on the active display to show at data points. This parameter is similar to the Marker property for the MATLAB Handle Graphics® plot objects.

Filter Designer App

The Filter Designer app allows you to design and edit FIR and IIR filters. To launch the app, press either the New button or the Edit button under the Filters list box in SPTool.

The Filter Designer app has a Pole/Zero Editor you can access by selecting the icon in the left column.

Filter Visualization Tool

The Filter Visualization Tool (fvtool) allows you to view the characteristics of a designed or imported filter, including its magnitude response, phase response, group delay, phase delay, pole-zero plot, impulse response, and step response. To activate FVTool, click the View button under the Filters list box in SPTool.

Spectrum Viewer

The Spectrum Viewer allows you to analyze frequency-domain data graphically using a variety of methods of spectral density estimation, including the Burg method, the FFT method, the multitaper method, the MUSIC eigenvector method, Welch’s method, and the Yule-Walker autoregressive method. To activate the Spectrum Viewer:

  • Click the Create button under the Spectra list box to compute the power spectral density for a signal selected in the Signals list box in SPTool. You may need to click Apply to view the spectra.

  • Click the View button to analyze spectra selected under the Spectra list box in SPTool.

  • Click the Update button under the Spectra list box in SPTool to modify a selected power spectral density signal.

In addition, you can right-click in any plot display area to modify signal properties.

Controlling SPTool from the MATLAB Command Line

You can import or export data from SPTool using the command line.

Exporting Component Structures from SPTool

The following commands export component structures from the currently open SPTool:

  • s = sptool('Signals') returns a structure array of all the signals.

  • f = sptool('Filters') returns a structure array of all the filters.

  • s = sptool('Spectra') returns a structure array of all the spectra.

  • [s,ind] = sptool(___) returns an index vector indicating which of the elements of s are currently selected in SPTool.

  • s = sptool(___,0) returns only the currently selected objects.

Creating and Loading Component Structures

The following commands create component structures and load them into SPTool, opening SPTool if necessary:

  • struc = sptool('create',paramlist) creates in the workspace a component structure, struc, defined by paramlist.

    sptool('load',struc) loads struc into SPTool.

  • struc = sptool('load',paramlist) loads the component structure defined by paramlist into SPTool. If you specify an output argument, then the command also creates a component structure in the workspace.

Example: Create and load a 5th-order Butterworth filter with a cutoff frequency of 0.5π rad/sample. Specify the filter in state-space representation, label it Butterworth within SPTool, and set it to filter digital signals sampled at 1 kHz.

[z,p,k] = butter(5,0.5);
struc = sptool('create','Filter','zpk',z,p,k,1e3,'Butterworth');
sptool('load',struc)

Example: Load into SPTool the periodogram PSD estimate of a 512-sample sinusoidal signal embedded in white noise. Work in normalized units and specify a sinusoid frequency of π/4 rad/sample. Label the spectrum PSD within SPTool.

n = 0:511;
x = sin(pi/4*n)+randn(size(n))/10;
[pxx,w] = periodogram(x);
sptool('load','Spectrum',pxx,w,'PSD')

Example: Create and load a quadratic chirp modulated by a Gaussian. Specify a sample rate of 2 kHz and a signal duration of 2 seconds. Generate a copy of the structure in the workspace.

t = 0:1/2000:2-1/2000;
q = chirp(t-2,4,1/2,6,'quadratic',100,'convex').*exp(-4*(t-1).^2);
Chirp = sptool('load',q,2000)
Chirp = 

  struct with fields:

             data: [4000×1 double]
               Fs: 2000
             type: 'vector'
         lineinfo: []
    SPTIdentifier: [1×1 struct]
            label: 'sig'

The parameters in paramlist must be input in the following order:

Componentparamlist Parameters
Signalscomponent_name, data, fs, label
Filterscomponent_name, form, filter_params, fs, label
Spectracomponent_name, data, f, label

The parameters are defined as follows:

ParameterDefinition
component_name

Specify as one of 'Signal', 'Filter', or 'Spectrum'. If omitted, component_name defaults to 'Signal'.

form

Form or structure of a filter. Specify as one of 'tf', 'ss', 'sos', or 'zpk'.

dataVector of doubles representing a signal or spectrum.
filter_params

Filter representation.

  • Specify num and den when form is 'tf'.

  • Specify an SOS matrix when form is 'sos'.

  • Specify z, p, and k when form is 'zpk'.

  • Specify A, B, C, and D when form is 'ss'.

fs

Optional parameter that specifies the sample rate. If omitted, fs defaults to 1.

f

Frequency vector. This parameter applies only if component_name is 'Spectrum'.

label

Optional parameter that specifies the variable name of the component within SPTool. If omitted, label defaults to:

  • 'sig' if component_name is 'Signal'

  • 'filt' if component_name is 'Filter'

  • 'spec' if component_name is 'Spectrum'

Introduced before R2006a