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!

Limits - Show Pass/Fail

Controls: Spectrum Dialog >> Limits >> Show Pass/Fail
Macros: LimitsShow, Limits

This button is active by default, which means that the current Spectrum Limits Pass/Fail status is shown at the upper right of the trace area as a bright green box with a 'PASS' message, or a bright red box with a 'FAIL' message.

If you are applying Limits to a swept or stepped sweep frequency response, there will at any given time be only a single spectral peak, at the current test frequency. All other frequencies will certainly fall below the Min threshold and trigger a 'FAIL' message. Using the Spectrum Averager in Peak mode will eventually result in a complete spectrum with valid test results, but not until the end of the sweep.

You thus might want to toggle this option off to avoid spurious 'FAIL' messages until the end of the sweep (which is usually at the end of the average). This is best handled via Macros. (See below.)

Macro Notes:

LimitsShow=1 sets this option on, LimitsShow=0 turns it off, and LimitsShow=x toggles the current state.

You can use the WaitAvg Event Wait macro to wait until a frequency response average is completed before turning LimitsShow on.

Alternatively, you can keep LimitsShow off, and show a custom macro message box. The font and background can be any size or color, and the floating box can be positioned anywhere. To determine whether to show a Pass or Fail message, you can test the Limits macro variable in an IF statement, such as:


The Limits variable will be non-zero if there has been a failure from either the Max or Min limit, on either selected channel. You can test these separately, because each condition sets a different bit field in the variable. Use an & after the equal sign to invoke the 'logical bit field test' form of the IF statement for this, with an h after that to specify a hexadecimal bit pattern. For example, to test if only the Left Max limit has been exceeded, you would use:


The bit fields for each condition are:

    Left Max = h00000001

    Right Max = h00000100

    Left Min = h00010000

    Right Min = h01000000

Please note that this is hexadecimal notation, used to test binary states. The binary notation equivalent would require up to 32 digits. Hexadecimal works here because only values of 0 or 1 are used in each 8-bit Limit field.

Multiple bit fields may be tested simultaneously by combining them together. For example, IF.Limits=&h00010001 tests if either Left Max or Left Min has failed, while IF.Limits=&h01010000 tests if either Left or Right Min has failed.

You can force any Limits condition by directly setting the desired bit fields, such as Limits=h01010101 to set all fields at once. (Note that there is no & when setting, only for testing!) This allows for easy testing of macros during development.

Limits can also be used as a string variable for setting Notes, Labels, Fields, file names, or log text. For example, if the Left Max limit had been exceeded, then Notes="Result ="+Limits(h) would set Notes with the hexadecimal value:

Result = 00000001

Optionally, you could use Notes="Result ="+Limits(A) to use a 4-character LRlr alpha format. Here uppercase letters indicate that the Left or Right Max limit has been tripped, while lowercase letters indicate Min. If a limit has not been tripped, that position will hold a period. So for the above case with only Left Max, the result would be:

Result = L...

Professional (and trial) users can send the Limits variable to a Remote Control client via Limits=>>. The WM_USER message will have wParam = 'Limi', and the value will be in lParam.

See also Spectrum Control Dialog, Spectrum Limits Dialog


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