Daqarta for DOS Contents



Free Registration

Contact Us
Daqarta for DOS
Data AcQuisition And Real-Time Analysis
Shareware for Legacy Systems
(Use Daqarta for Windows with modern systems)

From the Daqarta for DOS Help system:



The DAC and DigOut models have digital inputs only, instead of the true ADC input of the SAR and MUX models. This control allows you to select which of the inputs to view, either individually by setting Channels 0 through 3, or as a weighted combination of 'All 4' of them by attempting to set Channel 4. You can't actually select the Channel 4 input, since that is reserved here for External Trigger use.

If you often run with a particular individual input, you may want to use the C: parameter to preset it at start-up.

The default Channel is 'All 4'. In this case, Channel 3 is treated as the most significant bit of a 4-bit ADC, down to Channel 0 as the least significant bit. The waveform trace can thus show 16 discrete levels, from 0000 to 1111 binary.

If you have selected External Pacer operation via the S:E parameter, then the Channel 3 input is reserved for the pacer. The default Channel setting will thus be 'All 3', which will encode a weighted combination of Channels 0 through 2 into 8 different levels from 000 to 111 binary.

If you are looking for the maximum sample rate from your system, note that the 'All 4' or 'All 3' settings may be slightly faster than individual settings of lower Channel numbers. This is because individual input bits must be shifted to the most-significant bit position, whereas the 'All' mode retains the normal relative bit positions with a minimum of shifting.


The Noise, Triangle, and Ramp options are all signal sources: Each generates a waveform (or digital data sequence) on a sample-by-sample basis while data samples are being acquired, either during a Sequential sweep or continuously during RTime operation.

By contrast, the Rand and Stair options only function during Sequential mode, where they output levels (or bit patterns for DigOut) that are held constant during each sweep, and then are changed only between sweeps.

All of these options are interlocked so that only one can be active at a time: If one of them is on and you activate another, the first goes off. You can always toggle an item off directly at any time.

None of these operate when the STIM3 stimulus generator is active, but can remain highlighted and in a "standby" state, ready to resume operation when the stimulus is toggled off.

The three signal source options always output full-scale waveforms. For Triangle and Ramp, the Start value is the initial output point and Stop just functions relative to Start to control direction, but is otherwise ignored. Hold / Now and Step values are not used.

The Rand and Stair level options are fully controlled by Start, Stop, and Step values, with the current output reported as the Hold / Now value. When a level option is active, the 'Hold' changes to 'Now'. You can temporarily halt the level at the current value by toggling this item to 'Hold', then toggle back to 'Now' to resume. The Hold state only refers to the output level... it does not Pause the sweep operation.

When no waveform or level option is active, the output goes to the Start value.


The Noise option allows you to generate high-quality broadband random noise when the STIM3 DAC or DigOut output is inactive. The noise is generated by a pseudo-random process that creates over 2 billion random values before repeating.

If you run in RTime mode, this noise is continuous and even at a 100 kHz sample rate takes nearly 6 hours before the series repeats. This makes it ideal for perceptual experiments, where the obvious repetition patterns of many other noise generation techniques could contaminate results. (You can easily hear noise sequences lasting up to several seconds before repeating... they sound like ocean waves rolling in to the shore.)

The Noise mode is also an ideal way to provide a dither source for linearizing a single-bit ADC to yield 8-bit resolution using only a high-speed digital input.

In Sequential mode the noise is produced in bursts, each different, with the burst duration equal to the sweep duration (N samples times sample period) plus any trigger delay. As usual, the Trigger Cycle control can be used to adjust the timing between sweeps.

With the DigOut model you can use each of the eight output lines as an independent noise source by addition of a simple low-pass filter. The filter not only limits the bandwidth as desired, it can also remove much of the "binary" appearance of the noise. (For most auditory uses, the appearance is just that... a visual effect noted only when observing the waveform. There is essentially no perceptual difference between binary, uniform, and Gaussian amplitude distributions when bandwidths are equal. That's because our ears respond to the spectrum and its overall level much more strongly than to the actual waveform.)

Since the 8 digital outputs are truly independent random processes, you can obtain a more nearly Gaussian amplitude distribution for special tests by summing these through eight equal resistors (10 k, for example) before filtering:

  D7 >---- R ------.
  D6 >---- R ------|
  D5 >---- R ------|
  D4 >---- R ------|
                   |---------.---------> Out
  D3 >---- R ------|         |
                   |         |
  D2 >---- R ------|         |
                   |         |
  D1 >---- R ------|         C
                   |         |
  D0 >---- R ------'         |
 Gnd >-----------------------^---------> Gnd
The DAC Noise random output bytes are "masked" with the Stop value via a binary AND operation, which requires that a bit be set to 1 in the Stop value in order for the corresponding output bit to be active. Typically, you would set Stop to 255 to set all bits active, then use an external attenuator to provide any needed level control.

You can use the mask operation as a crude level control by setting other Stop values. With a linear DAC (not the simple Gaussian one shown above), each bit reduction cuts the range of output values (and hence the effective level) in half, for a 6 dB level reduction compared to the maximum at 255:

 Stop        Bits        Level
 255          8          0 dB
 127          7          -6
 63           6          -12
 31           5          -18
 15           4          -24
 7            3          -30
 3            2          -36
 1            1          -42
However, this method is NOT equivalent to using an external level control, since a reduction in bits means that the noise waveform has fewer possible values. The output will look "chunkier" than an equivalent level set via an attenuator with Stop at 255. Nevertheless, for many audio applications this is of little consequence, especially if a low-pass filter is used to reduce high frequency noise components anyway.

Although you can set other Stop values between the ones shown, the associated output levels don't form a smooth progression. In particular, the effective level jumps suddenly at the above values, with relatively small changes between other adjacent values. This may still be useful in certain applications if calibration is not a problem.

The reason for this behavior is that each bit output is an independent, uncorrelated binary noise source, so the total level must be found by the root-square method. For example, when Stop is 128 (binary 10000000) only that bit is active, so the root-square level is also 128. When Stop is 127, the root-square level is the square root of the sum:

 64² + 32² + 16² + 8² + 4² + 2² + 1 = 5461
The square root of this is only 73.9, nowhere close to 127.

When the Noise waveform is off between Sequential sweeps, the output goes to the Start value. If you AC-couple the DAC output with a capacitor or simple high-pass filter, you will probably want to set Start to 128, which is approximately the average value (127.5) of the noise. That will minimize any transients due to DC level shift at the start and end of each noise burst.

You can arrange to quickly toggle between the Noise output and the STIM3 stimulus output by leaving Noise active and simply toggling the STIM3 output. STIM3 has priority over Noise, so whenever the stimulus goes off, the Noise output goes back on. You could use this method to compare the audibility of broadband noise versus sine waves of a given frequency, for example.


This option allows you to generate linear triangle waves from the DAC ouput, or the equivalent up/down counter series with DigOut. As with the Noise and Ramp options, it only functions when the STIM3 DAC or DigOut output is off.

The triangle or counter runs at one step per sample, beginning with the Start value in Sequential mode. If the Stop value is greater than Start, the output will run up to 255, then from 255 down to 0, then from 0 back up, and so on until the end of the sweep. (In RTime mode it just runs continuously.) If Stop is less than Start, the initial direction will be down. Otherwise, Stop is ignored... it does not determine any "stop" point. When a Sequential sweep is done (based upon the trigger mode and number of data points N) the output resets to the Start value awaiting the next sweep.

Note that there are 256 steps on the complete up-slope and 256 on the down-slope... the 255 and 0 values are repeated, so the triangle "points" are actually two samples wide. The overall period for a complete cycle is thus 512 samples, so the triangle frequency is the sample rate divided by 512.

One important purpose of this option, like the Ramp option, is to allow the linearity of the DAC to be visualized by monitoring its output on an external oscilloscope or another Daqarta system. (The other Daqarta system must have a known good ADC with DC input capability, since the triangle frequency is so low.) A "glitch" or deviation from a straight line is easily seen.

If you are using Sequential mode and you want to use this wave as a stimulus, you will probably want to either toggle Trig off (Free) or use the Trigger Pulse option. That way each sweep will show data acquired beginning at the Start point of the triangle waveform. If you use normal triggered operation, on the other hand, the triangle will begin at the Start point as usual, but the trace data will be synchronized to the trigger point in the input signal instead of to the triangle stimulus start.


Similar to the Triangle option, this instead generates only one slope and then resets to zero and repeats. The initial slope begins at the Start value, and the Stop value determines the slope direction: If Stop is greater than Start, the slope is rising, otherwise it is falling. Stop does not set any "stop" point here. At the end of each Sequential sweep, the output returns to the Start value until the next sweep.

The Ramp waveform is just as useful as the Triangle for checking DAC linearity, but due to the sudden full-scale reset steps it may be inappropriate as a stimulus for some systems... unless that's what you are looking for. It would be particularly difficult for mechanical systems like loudspeakers or servomechanisms to follow this signal, but it might be useful as a "torture test".

Note that by running with a negative slope, the reset step becomes a large positive jump instead of a negative one. This may have a completely different action as a stimulus for any nonlinear system. For a mechanical system, an analogy would be the difference between "hitting a brick wall" and "falling off a cliff" repeatedly.


The Rand option outputs a constant level for the duration of each Sequential sweep, then changes to a new random level. The range of possible levels is set by Start and Stop, and the resolution or granularity is controlled by Step. For example, you could set random values that range between 100 and 200, but only those that are multiples of 10.

As soon as Rand is started, the Hold value changes to Now and shows the current value. While running, you can toggle the Hold/Now item back to Hold at any time and the current value will be retained for all sweeps until you toggle back to Now.

When you toggle Rand off, the output reverts to the Start value.


The Stair option outputs a constant level for the duration of each Sequential sweep, then steps to a new level. The series of levels begins with Start and moves by Step until Stop is reached, then jumps to Start and repeats.

A rising staircase of levels is thus produced when Stop is greater than Start, or a descending staircase if they are reversed.

As with Rand, you can stop at any level by toggling Now to Hold, and resume by toggling back to Now. Only the level changes are affected... the actual sweeps are not Paused.

The output jumps back to the Start value when Stair is toggled off.

One powerful use for this staircase is to provide DC dither which can be summed with a repetitive analog input signal and fed to a single-bit digital input. If an external trigger is available (or Pulse mode is used), the full waveform can be recovered with 8-bit resolution by averaging only 256 sweeps. Since this uses digital sampling, it can work at very high speeds even on slow systems, as the performance table shows.


When either Rand or Stair are active in Sequential mode, this changes from 'Hold' to 'Now' and reports the current output level.

If you want to freeze the output at the current level, toggle this item back to Hold. Sweeps will continue with the current output level remaining constant. Toggle back to Now and the output will resume with changes after each sweep.

If you toggle to RTime mode while Rand or Stair is actively changing, the current output value will be held even though this item still shows 'Now'. Going back to Sequential will resume from that value, unless you toggle it to Hold during RTime mode.

When neither Rand or Stair is on, the output goes to the Start value and is shown here as 'Hold'.


This is the value of the output whenever no waveform or level option is active, and also the value used between Sequential sweeps for Noise, Triangle, or Ramp waveform outputs. It is superceded by the stimulus output if the STIM3 Stimulus Generator is active, even between Sequential sweeps.

The Start value determines the initial value of the Triangle or Ramp slope, as well as the Stair series. The direction of the slope is controlled by the relation between Start and Stop: If Stop is bigger, the slope is rising, otherwise the slope is falling.

For Triangle and Ramp modes, Start only controls where on the full-range slope the output wave begins... after that, the waves always cover the full range until the end of the sweep (or continuously, in RTime mode). In Stair mode, however, Start actually sets one end of the staircase series. (It will be the lower end only if Start is lower than Stop.) In Rand mode, Start determines the limit of the random level range.


This sets the end point of the Stair series or the range limit for Rand.

Setting Stop greater than Start causes a rising or positive slope for the Stair level series, the Ramp waveform, and the intial phase of the Triangle waveform. If Stop is less than Start, the slope is falling or negative.

As discussed under the Noise output section, Stop also acts as a "mask" for the random byte values, allowing a crude level control.


This controls the size of the level steps in Stair mode. In Rand mode, the random output levels are always multiples of the Step value.

Questions? Comments? Contact us!

We respond to ALL inquiries, typically within 24 hrs.
25 Years of Innovative Instrumentation
© Copyright 1999 - 2006 by Interstellar Research