Data AcQuisition And Real-Time Analysis
Scope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
The following is from the Daqarta Help system:



Spectrum Analyzer

Signal Generator

(Absolutely FREE!)


Pitch Tracker


DaqMusiq Generator
(Free Music... Forever!)

Engine Simulator

LCR Meter

Remote Operation

DC Measurements

True RMS Voltmeter

Sound Level Meter

Frequency Counter
    Spectral Event

    MHz Frequencies

Data Logger

Waveform Averager


Post-Stimulus Time
Histogram (PSTH)

THD Meter

IMD Meter

Precision Phase Meter

Pulse Meter

Macro System

Multi-Trace Arrays

Trigger Controls


Spectral Peak Track

Spectrum Limit Testing

Direct-to-Disk Recording



Frequency response

Distortion measurement

Speech and music

Microphone calibration

Loudspeaker test

Auditory phenomena

Musical instrument tuning

Animal sound

Evoked potentials

Rotating machinery


Product test

Contact us about
your application!

Cursors and Readouts

Macros: Curs, CursDot, CursY, CursDotY, UnitX, UnitY, CursN, CursDotN, CursChan, CursDotChan

When Generator or Input is active, or when a file is open for viewing, two vertical cursor lines, one solid and one dotted, are superimposed over the trace. (Except in Sgram/PT mode... see below.)

You can move the trace cursors by dragging with the mouse. From the keyboard, the unshifted left and right arrow keys move the solid cursor and the SHIFT+arrow keys move the dotted cursor. Because the same arrow keys are used by Windows to move the text cursor when an edit control has the keyboard focus, in such cases add an ALT key to move the trace cursors: ALT+arrows for solid, and ALT+SHIFT+arrows for dotted.

You can also move a trace cursor by directly entering the desired value in its X position readout.

All readouts for the trace cursors appear in a group below the trace area, with the X values shown above the Y values for each cursor. The solid readouts are on the left, and the dotted readouts in the center. (On the right are the Delta or Sigma readouts, discussed in separate topics.)

At the left end of each X readout is a small vertical bar showing a replica of the solid or dotted cursor, to remind you which is which.

Below that bar, at the left end of each Y readout, is a small rectangular button in the color of the trace that the cursor refers to. When you have more than one active channel, all of the readouts default to the one with the highest priority: Inputs have priority over Outputs, and Left has priority over Right. The priority from highest to lowest is thus L.In, R.In, L.Out, R.Out. (This default channel is also the one whose values are used to label the Y axis.)

Important: Make sure the readouts are reading the channel or channels you want. Click the colored button to step through all the active channels from highest to lowest priority and wrap back to highest. This allows either cursor to read any channel.

The cursor readouts are not affected by the channel display buttons, as long as at least one channel is shown. This allows you to monitor a readout from one channel while viewing the waveform or Spectrum of another, without visual interference from the first.

Note that if you have both Generator and Input active, toggling Generator off will force any readouts that were showing output channels to show input channels. (And vice-versa if you instead toggle Input off.) The original Generator assignments will not be restored when you toggle it back on; you'll have to re-assign them with the readout buttons.

If you toggle both Generator and Input off, the most recent cursor assignments will be preserved (even though the readouts vanish when no channels are active), and will be available when the channels are toggled back on in the future... even if that is in another Daqarta session. But to take advantage of this retention, you must pay attention to the order you use when toggling Generator and Input. If you normally want to view only Input readouts (typical), always toggle Input on before Generator when starting up, and always toggle Input off after Generator when stopping. This way you avoid the Generator-only condition that would force the readouts to show only outputs.

The Spectrum dialog also has special cursor options for high-resolution interpolation of peaks, for automatic tracking of the highest peak, and for displaying the ratio of the two cursor frequencies.

By default, the Y readout values are smoothed to reduce jitter from noisy data. You can change the smoothing time constant or eliminate smoothing altogether via the Cursor TC (Time Constant) setting in the Run Preferences Dialog. If the TC is high and the true data changes suddenly, the cursor values may take a while to settle to the new value. You can reset both cursors to the current data values by hitting ALT+K. Moving an individual cursor also resets it to the new current value.

In Spectrogram and Pitch Track (Sgram/PT) modes the cursors are not visible, but the readouts show the values that would be seen in Spectrum mode. (You can adjust them via the cursor keys or macros if you don't want to toggle back and forth to Spectrum mode.) The Sgram thus allows an overview of the signal in frequency and time, while the readouts still monitor real-time details.

Note: In Spectrum Peak Track mode, the solid cursor X position readout has a pink background to signify that Daqarta is controlling the position, and manual control attempts are ignored.

Similarly, when a file is open for waveform viewing (Spectrum and Sgram/PT off) and the Cursor Units button is active in the DDisk control dialog, both the solid and dotted X position readouts will have pink backgrounds to indicate that their values are in DDisk Units and are relative to the start of the file instead of the normal start of the display frame. In this case, you can not use direct entry to change the cursor positions, although the little up/down arrows still allow manual motion.

Macro Notes:

Curs moves the solid cursor and CursDot moves the dotted cursor. Both commands operate similarly; the Curs command will be discussed here.

Curs=2m sets the solid cursor X position to 2 msec (or the closest sample to that) in waveform mode. Note that this command is relative to the current display mode: In Spectrum mode this same command will set 2 millihertz, which will be rounded down to 0.

Alternatively, Curs=>1 moves the solid cursor one step to the right, and Curs=>-1 moves one step to the left, just like the right and left arrow keys.

The Curs command can only set X values that are within the displayable range, which is what you see with the X-Axis (eXpand) button off. If eXpand is on such that you see only a portion of the X axis, Curs can still set a position in the hidden part... the cursor just won't be seen until that portion of the axis is again visible.

In waveform mode the Trigger Delay setting affects the X-axis values that are shown; the Curs command can still only move to displayable positions. For example, if the normal X axis runs from 0 to 21.3 msec and you set Trigger Delay to 10 msec, the axis will run from 10 to 31.3 msec. Curs values will thus be limited to this range.

Cursor position values can be read as well as written. For example, P=Curs will set variable P with the current position of the solid cursor, in the current display units of the current (waveform or Spectrum) mode. Note that in waveform mode the readout itself will typically display values in milliseconds, but the value read via macro will be in seconds. For example, the readout may show 7.85415 m but the Curs value will be 0.00785415.

When reading or setting cursor positions in Spectrum mode, Curs and CursDot values will reflect the current CPM mode or Decimate state, if active. With Cursor Peak active, reading will return the interpolated peak position values.

CursChan and CursDotChan control the colored buttons at the left ends of the solid and dotted Y readouts to select which of the active trace channels will be read. Channel numbers are:

    0 = Left In
    1 = Right In
    2 = Left Out
    3 = Right Out

CursChan=x specifies that the next active channel above the current one will be used for the solid cursor readout, emulating the manual click-to-advance operation of the button. Alternatively, CursChan=2 specifies that the Left Out channel will be used. If that channel is not active, the next active channel above the current one will be selected (not the next active channel above the specified one). You may use a constant or a macro variable to specify the desired channel; if the value is out of range, the next active channel above the current one will be selected.

Reading either of these, such as via A=CursChan, returns the currently-selected channel.

CursY and CursDotY are read-only variables that return the current values of the Y readouts. They behave as numeric variables if assigned to a macro variable or used in a math expression, but when used in a string expression return the same string that is shown in the readout. For example, if the solid Y readout shows "5.01754 m" then Msg=CursY will display that identical string. But A=CursY followed by Msg=A will show "0.005", or by Msg=A(0.6) will show "0.005018".

CursY?n and CursY?n return the effective Y readout values that would be seen if channel n was selected as the readout channel. You may use channels 0-3 here, given as a single digit; variables are not allowed.

This allows you to read the Y value under the cursor for any channel, whether currently selected or not. Note, however, that this method does not apply the cursor time constant that is normally applied to the readouts.

If an inactive channel is specified, the returned value is not valid.

UnitX and UnitY are read-only string variables that return the current unit labels of the cursor readouts. For example, in waveform display mode UnitX typically returns "sec", but that can change to "Volt" or a User Unit for a Histogram. Similarly, in Spectrum display mode UnitY can change from "dB" to "Volt" or a User Unit depending on mode.

CursN and CursDotN read or set the current index values of the solid and dotted cursors, respectively. In most waveform display modes, these can range from 0-1023. In Histogram Average mode, however, the range is 0-511. In all Spectrum modes the range is 0-511.

CursN and CursDotN are useful for working directly with Daqarta's internal data arrays, where they can be used to read raw data at the cursor positions, or for special summation functions of data between cursors. See Data Point Functions and Sigma (Summation) Functions under Macro Math Functions.

When Spectrum Cursor Peak and Cursor Track are active, Posn?F returns the tracked frequency, Posn?N returns the corresponding MIDI note number for Pitch Track operation, Posn?V returns the peak magnitude (scaled such that 2^30 is 100% of the full-scale range), and Posn?v returns the corresponding MIDI velocity.

See also Cursor Delta Readouts, Cursor Sigma Readouts


Questions? Comments? Contact us!

We respond to ALL inquiries, typically within 24 hrs.
Over 35 Years of Innovative Instrumentation
© Copyright 2007 - 2023 by Interstellar Research
All rights reserved