CursorMeasurementsConfiguration
Display waveform cursors
Description
Use the CursorMeasurementsConfiguration
object to enable waveform
cursors. You can control the cursor settings from the toolstrip of the scope or from the
command line.
To modify the cursor settings in the scope UI, click the Measurements tab and enable Data Cursors. Each cursor tracks a vertical line along the signal. The scope displays the difference between x- and y-values of the signal at the two cursors in the box between the cursors.
Spectrum Analyzer Toolstrip
Time Scope Toolstrip
Array Plot Toolstrip
Dynamic Filter Visualizer Toolstrip
Creation
Description
cursormeas = CursorMeasurementsConfiguration()
creates a cursor
measurements configuration object.
Properties
All properties are tunable.
XLocation
— x-coordinates of the cursors
[2 8]
(default) | two-element vector
x-coordinates of the cursors, specified as a two-element vector of real elements.
Scope Window Use
Click the Measurements tab on the scope toolstrip. In the Cursors section, select Data Cursors and click the drop-down for Data Cursors. Specify the two elements in X location edit fields.
Data Types: double
SnapToData
— Snap cursors to data
false
(default) | true
Snap cursors to data, specified as true
or
false
.
Scope Window Use
Click the Measurements tab on the scope toolstrip. In the Cursors section, click the drop-down for Data Cursors, and then select Snap to data.
Data Types: logical
LockSpacing
— Lock spacing between cursors
false
(default) | true
Set this property to true
to lock the spacing between the
cursors.
Scope Window Use
Click the Measurements tab on the scope toolstrip. In the Cursors section, click the drop-down for Data Cursors, and then select Lock cursor spacing.
Data Types: logical
Enabled
— Enable cursor measurements
false
(default) | true
Enable cursor measurements, specified as true
or
false
. Set this property to true
to enable
cursor measurements.
Scope Window Use
Click the Measurements tab on the scope toolstrip. In the Cursors section, select Data Cursors.
Data Types: logical
Examples
Configure Cursor Measurements Programmatically in Time Scope MATLAB Object
Create a sine wave and view it in the Time Scope. Enable data cursors programmatically.
Initialization
Create the input sine wave using the sin
function. Create a timescope
MATLAB® object to display the signal. Set the TimeSpan
property to 1 second.
f = 100; fs = 1000; swv = sin(2.*pi.*f.*(0:1/fs:1-1/fs)).'; scope = timescope(SampleRate=fs,... TimeSpanSource="property",... TimeSpan=1);
Data Cursors
Enable data cursors in the scope programmatically by setting the Enabled
property of the CursorMeasurementsConfiguration
object to true
.
scope.CursorMeasurements.Enabled = true; scope(swv); release(scope)
Obtain Measurements Data Programmatically for spectrumAnalyzer
object
Compute and display the power spectrum of a noisy sinusoidal input signal using the spectrumAnalyzer
MATLAB® object. Measure the peaks, cursor placements, adjacent channel power ratio, and distortion values in the spectrum by enabling these properties:
PeakFinder
CursorMeasurements
ChannelMeasurements
DistortionMeasurements
Initialization
The input sine wave has two frequencies: 1000 Hz and 5000 Hz. Create two dsp.SineWave
System objects to generate these two frequencies. Create a spectrumAnalyzer
object to compute and display the power spectrum.
Fs = 44100; Sineobject1 = dsp.SineWave(SamplesPerFrame=1024,PhaseOffset=10,... SampleRate=Fs,Frequency=1000); Sineobject2 = dsp.SineWave(SamplesPerFrame=1024,... SampleRate=Fs,Frequency=5000); SA = spectrumAnalyzer(SampleRate=Fs,SpectrumType="power",... PlotAsTwoSidedSpectrum=false,ChannelNames={'Power spectrum of the input'},... YLimits=[-120 40],ShowLegend=true);
Enable Measurements Data
To obtain the measurements, set the Enabled
property to true
.
SA.CursorMeasurements.Enabled = true; SA.ChannelMeasurements.Enabled = true; SA.PeakFinder.Enabled = true; SA.DistortionMeasurements.Enabled = true;
Use getMeasurementsData
Stream in the noisy sine wave input signal and estimate the power spectrum of the signal using the spectrum analyzer. Measure the characteristics of the spectrum. Use the getMeasurementsData
function to obtain these measurements programmatically. The isNewDataReady
function returns true
when there is new spectrum data. Store the measured data in the variable data
.
data = []; for Iter = 1:1000 Sinewave1 = Sineobject1(); Sinewave2 = Sineobject2(); Input = Sinewave1 + Sinewave2; NoisyInput = Input + 0.001*randn(1024,1); SA(NoisyInput); if SA.isNewDataReady data = [data;getMeasurementsData(SA)]; end end
The bottom of the spectrum analyzer shows the measurement panes you enabled. The values in these panes match the values in the last time step of the data
variable. You can access the individual fields of data
to obtain the various measurements programmatically.
Compare Peak Values
Use the PeakFinder
property to obtain peak values. Verify that the peak values in the last time step of data
match the values shown on the spectrum analyzer plot.
peakvalues = data.PeakFinder(end).Value
peakvalues = 3×1
-59.4124
-59.8725
-60.0010
frequencieskHz = data.PeakFinder(end).Frequency/1000
frequencieskHz = 3×1
0.2799
0.5383
0.6029
Version History
Introduced in R2022aR2022b: Enhancements to Data Cursor Measurements
Starting in R2022b, the CursorMeasurementsConfiguration
object has the
new LockSpacing
property. Using this property, you can lock the spacing
between waveform cursors in the scope window.
In the Measurements tab of the scope UI window, these data cursor settings are new:
Lock cursor spacing –– This setting corresponds to the
LockSpacing
property in theCursorMesaurementsConfiguration
object.X location –– These fields are enabled and correspond to the
XLocation
property in theCursorMesaurementsConfiguration
object.
R2022b: Support for waveform cursors in spectrogram mode
Starting in R2022b, the Spectrum Analyzer supports data cursors even when the scope shows only the spectrogram display.
In the command line, you can edit the CursorMeasurementsConfiguration
object when you set the ViewType
property of the spectrumAnalyzer
object to "spectrogram"
.
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)