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:




This selects the digital input used by the SAR Model to tell if its DAC output is above or below the signal input. It turns out that different digital inputs on the same port may have different switching thresholds, and unless you use an an active SAR with a buffered output driver your circuit may work best with a particular input.

During development, you may thus need to try all the different input Channel settings to find the best one. If your final SAR circuit will always be used with the exact same port (the usual case), you can make the digital input connection permanent and use the C: parameter to preset this Channel on start-up.

With a passive SAR, the switching threshold affects the size of the input resistor needed to get a zero trace with a zero (shorted) input. This in turn affects the input sensitivity. Normally, you will need to drive your signal input with an amplifier anyway, so the exact sensitivity may be of little consequence... you would just use a different gain on the amplifier to compensate.

In that case, you will probably want to avoid using Channel 4 as your final selection, since it is otherwise used as the External Trigger input. (Note that this is normally locked out unless you set it with the C:4 parameter, after which you can change to any channel with the menu control.)

Likewise, if you think you may ever need the External Pacer option, you should not use Channel 3. So for a general purpose board, try to use Channels 0 through 2. But if these have thresholds that are too high, and you want to stick with a passive circuit, you may have to give up External Pacer or External Trigger operation.

For the MUX model, this control behaves in exactly the same way. However, since MUX models require active circuitry anyway, you will probably never need to change this value after setting it via the C: parameter for whichever bit your circuit uses.


Use this control to reduce the ADC resolution from the default of 8 bits. This is the menu control counterpart of the Bits preset B: parameter.

The time required to take each sample is directly related to the number of bits resolved, since the SAR must set and test each bit separately. By reducing the resolution, you should thus be able to reach higher sample rates.

If the signal you are observing is very noisy and requires waveform averaging anyway, the noise may provide a dither effect and result in no net loss of resolution. In general, for every bit you give up, you need to double the number of averager sweeps to maintain the same final resolution.

Note, however, that having more bits does allow for a larger input range at any given net resolution, which provides insurance against signal drift, etc. Consider a 7-bit system with the external gain set so the ADC can just handle the full range of the signal. If the signal varies beyond that range, information will be lost due to clipping.

By using an 8-bit system instead, you could cut the external gain in half and keep the same net resolution... the trace would look half as big, but you could always double the screen magnification to see the same detail. Yet because the normal signal would now only take up half of the new full range, you would have twice the safety margin in case of signal drift.

The Bits control allows you to go as low as a single bit, but this is mostly for experimentation... you would get faster sampling using the digital inputs of the DigOut or DAC model, plus better stimulus generation and special output options as well.

As an example, here are the maximum sample rates for a 33 MHz 486 system with a passive SAR using no Wait delays:

  Bits        Rate
  8           31.4 kHz
  7           35.1
  6           39.8
  5           45.9
  4           51.9
  3           62.8
  2           79.6
  1           85.2
  Dig In      99.4


As discussed in the W: parameter section, you will probably need this control only during development of your SAR board. When you find the right settle delay for your configuration, the W: parameter can preset it at start-up.

All / Ind modes:

This menu control has two distinct modes of operation. The default mode shows the current Wait value above an 'All' indicator. You can change the Wait value normally, and it will be used for All bits in the SAR.

If you move the cursor to the 'All' indicator and hit ENTER, it will toggle to 'Ind' and be highlighted. In this mode, the Wait item shows the value for bit 7 of the SAR. If you move the cursor back to the Wait item and hit ENTER as though to change it, a new menu will pop up.

Settle Wait Submenu:

This menu has separate controls for each of the 8 SAR bits, plus an 'All' button at the top. When you hit ENTER with the cursor at 'All', the Bit 7 value is instantly copied to All of the other bits. This is simply a convenience if you want to set most of the bits the same. You can then set specific bits individually.

ECHO (MUX Model Only):

This is a special mode that passes the ADC input signal through to the DAC output after a selectable delay. Typically you would mix a portion of the delayed output back into the input to create a simple reverberation or "echo chamber" effect:
                   .----------------------------> Reverb
                   |                               Out
Signal .-------.   |   .--------------------.
In >---|       |   |   |   LPTX MUX Board   |     Delay
       | MIXER |---^---| ADC in     DAC out |----. Out
  .----|       |       |                    |    |
  |    `-------'       `--------------------'    |
  |                                              |

To get maximum fidelity from this system, note that you listen to the output from the mixer, not the delay itself. Since the mixer reduces the level of the delayed sound relative to the unprocessed sound, any noise or distortion introduced by the system is correspondingly reduced relative to the total signal.

In Sequential mode, the Echo option disables the display and spends full time on the delay system... so in this case there isn't really anything "Sequential" about it. RTime mode retains the usual display, but typically can't run at as high a sample rate as Echo in Sequential mode. Some display adaptors may cause audible interference on the DAC output during screen updates, in which case you may want to either avoid RTime or toggle the trace View off.

Since natural reverberation often attenuates high frequencies more than low, you may want to increase the size of the S/H capacitor for this purpose. A major benefit of this is the associated reduction of high frequency circuit noise.

Note that you can use External Pacer mode to control the sample rate from an external TTL clock source. If that source is made variable, you can experiment with vibrato, chorus, flanger or other exotic special effects.

Remember, however, that the LPTX is only an 8-bit system, so you can't expect to use it for the vocals on your next double platinum CD. But it WILL allow you to learn about the "sound" of differring delay times and amounts of reverberation feedback.

Oh, yeah: And it's also a lot of fun to mess around with.


This is the numerical item just under Echo Off/On. When Echo is set to On, this value sets the delay between acquisition of a sample by the ADC and it's subsequent appearance at the DAC output.

ADC samples are sent continually to a large (64 Kbyte) recirculating buffer. On each sample, the DAC value is read from a location that the ADC has written on a prior sample. The delay value simply specifies how many samples the current DAC output position should lag behind the ADC input position in the same buffer.

The actual delay time is thus determined by this delay value in samples, divided by the current sample rate. For example, with a sample rate of 20 kHz and a delay value of 500 samples, the delay time would be 500 / 20000 = 0.025 seconds. You can set any value here up to 32768 samples, which at 20 kHz would give over 1.6 seconds of delay.

You may find it easier to use sample period instead of rate when working with delay, since you just have to multiply the delay in samples by the sample period to get the delay time. In the above example, a 20 kHz rate is equivalent to a period of 50 microseconds, so 500 × 50 = 25000 microseconds = 25 milliseconds = 0.025 seconds. (The X-axis control menu shows both sample rate and period to simplify this.)

Note that delay time is NOT the same as reverberation time. Reverberation time is the time it takes an impulse input to decay by a certain amount, typically 60 dB in acoustics work. (Since the LPTX is only an 8-bit system, the theoretical maximum signal range is only 48 dB, so it might be a bit tough to use a 60 dB criterion here!)

Reverberation time is thus controlled by how much of the delayed output is fed back into the input from the mixer. For example, suppose you set the delay time to 50 msec, and the mixer levels so that the delayed output is 3 dB less than the raw input. Then after an initial impulse (like a hand clap), the first echo will appear at 50 msec and be -3 dB, and the second will appear at 100 msec and be -6 dB, and so on. It will thus in theory take 10 passes or 500 msec before the output is reduced by 60 dB from its initial level.

Of course, in a real reverberation system there would be multiple delays, simulating echoes from different room surfaces, which would add to the realism of the effect.


You can set this to Normal or Invert to control the polarity of the delayed output. You may find this useful when mixing a large fraction of the delayed output with the input. As you increase the fraction of the output, you will reach a point where a "positive feedback howl" begins. This is just like the squeal you hear when the microphone of a public address system picks up too much sound from the speakers: At some resonance frequency (related to the delay time) the delayed sound arrives with just the right phase to boost the incoming sound, which goes around until you get runaway oscillation. Inverting the polarity can shift this resonance frequency into a possibly "better" location.


The polarity control is also useful for "flanging" experiments. The name "flanging" harkens back to the early days before digital technology, when large open-reel tape recorders were the state of the art. Somebody probably thought they could create a stereo effect by playing two copies of a mono recording on different machines simultaneously. This failed, but what they discovered instead became a popular effect in its own right.
  |        |
  | TAPE 1 |---.
  |        |   |    .-------.
  `--------'   `----|       |
                    | MIXER |------> Out
  .--------.   .----|       |
  |        |   |    `-------'
  | TAPE 2 |---'
  |        |
If the two recorders were exactly "in sync", with no delays between them, the resultant sound would have been pretty much unchanged. With a large delay between the two machines, there would of course have been an echo, but with no reverb since the output wasn't mixed back with the input. At small delays, the sound would be somewhat hollow (see below), but not especially remarkable.

To adjust the relative delay between the two machines, you dragged a finger on the flange of one tape reel, slowing that machine slightly. If you went too far, you did the same to the second machine until the first "caught up" with it.

Ahhh, but DURING the actual "flanging" process, while the relative delay was changing, the combined sound output underwent a magical transformation, acquiring a "jetsound" effect that became an icon of the era.

What was actually going on here? Consider that if two identical tones are played together, they will simply add to create a slightly louder tone. If the polarity of one is inverted, yet they remain synchronized and otherwise identical, they will cancel.

Now consider what happens when you take a single tone, and mix it with a delayed version of itself: If the delay is just right (an integer multiple of the tone's period), the delayed version will be aligned "in phase" with the original and the two will add constructively. But if the delay is such that they are a half-wave out of sync, they will cancel. At any delay in between, they will partially add or cancel.

In >-.--------------------------.
     |                          |  .-------.
     |  .--------------------.  `--|       |    Flanger
     |  |   LPTX MUX Board   |     | MIXER |---> Out
     `--| ADC in     DAC out |-----|       |
        |                    |     `-------'

If the signal contains multiple tones at various frequencies, then for any given delay some may be boosted and some may be cancelled. The result is known as a "comb" filter, based upon a plot of it's output versus frequency. At a particular delay there will be a series of notches in the spectrum (the "teeth" of the comb), at equally spaced frequencies.

Consider a delay of 1 msec. A tone at 500 Hz has a period of 2 msec, so it will be delayed by half of a cycle and thus be cancelled when added to the original wave. A tone at 1000 Hz will be delayed a full cycle and will be boosted, while a tone of 1500 Hz will be delayed by 1.5 cycles and be cancelled.

  . .       . .       . .       . .       . .       .
      .   .     .   .     .   .     .   .     .   .

       . .       . .       . .       . .       . .
        .         .         .         .         .
  0    500      1500      2500      3500      4500 Hz
If the delay increases, the teeth of the comb move closer together. At 2 msec delay the first notch falls at only 250 Hz, and they repeat every 500 Hz above that. Similarly, at shorter delays the teeth move farther apart: At 0.5 msec the first notch is at 1000 Hz, then every 2000 Hz above that.

The spacing between notch frequencies is always the reciprocal of the delay time, with the first notch at half that.

But that is for ADDING the delayed and original signals. If you set the delay polarity to Invert, they will be subtracted. Now the first notch will fall where the delay is exactly one full cycle, since it will be exactly aligned with the original and thus cancelled by subtracting. The spacing between the notches will still be the reciprocal of the delay time... they will just be shifted up in frequency by a half-space.

Although a comb effect arises for any given delay setting, when the delay is stationary this isn't very conspicuous. The sound is a bit hollow due to all the missing frequencies, but our ears easily adapt to the situation... after all, this is exactly the same thing that happens when we stand near a wall: Some sound reaches our ears directly, and some is delayed by the time it takes to bounce off the wall and return to our ears. The two waves recombine to produce just the same comb filter phenomenon.

But when the delay is changing, the notches sweep around in frequency, and we don't have time to adapt. This is NOT an everyday phenomenon, unless you have rooms with moving walls!

To create this effect without using the External Pacer, you can vary the Echo Delay value under cursor control. Select RTime mode for this, since in Sequential mode each keypress interrupts the delay process and creates a distracting click.

Start with a delay time of around 5 or 10 msec, which would be a delay of around 100 or 200 samples if the sample rate is 20 kHz. The exact value isn't critical, though if you make it too big you will start to hear the delayed signal as an echo. Then just scroll it up and down to get the flanging effect.

The External Pacer option allows for more flexibility. Use any laboratory-type adjustable oscillator with TTL output, or build a simple one on a prototype board from a couple of CMOS gates with a variable resistor to set the frequency. Start with the frequency at around 20 kHz, and slowly change it above and below that. You don't need to go very far up or down to get a dramatic effect.

Ideally, you will want to have the External Pacer clock modulated by a second oscillator at a very low frequency, in the 1 Hz range, to provide automatic flanging.

For more unusual effects, you can add a second mixer to give overall feedback. Try both of these configurations, with increasing amount of feedback until you get oscillation:

In >--.------------------------------.
      |                              |  .-------.
      |  .-------.   .-------------. `--|       |   Out
      `--|       |   |    LPTX     |    | MIXER |--.-->
         | MIXER |---|In  MUX   Out|----|       |  |
      .--|       |   |    Board    |    `-------'  |
      |  `-------'   `-------------'               |
      |                                            |

                 |                  |  .-------.
      .-------.  |  .-------------. `--|       |   Out
In >--|       |  |  |    LPTX     |    | MIXER |--.-->
      | MIXER |--^--|In  MUX   Out|----|       |  |
   .--|       |     |    Board    |    `-------'  |
   |  `-------'     `-------------'               |
   |                                              |


With the External Pacer option and a flanger setup with feedback as shown above, arrange to modulate the sample rate oscillator up and down in frequency at several Hz... a bit faster than for normal flanging. Turn the feedback to zero and set the delay time to around 10 to 20 msec to get a chorus effect. This is supposed to simulate a whole ensemble, the idea being that with many musicians playing or singing the same piece, they will rarely be exactly together in timing and you will get rapid changes in the comb filter patterns. In reality, this won't actually fool anyone, but it's a nice effect anyway.

To simulate a duet, set the delay time higher, up to a few hundred milliseconds, and maybe add a bit of feedback. This also uses the idea that two people are never exactly in sync, but it works better since you are only trying to simulate one extra voice with the variable delay, not a whole chorus.


Questions? Comments? Contact us!

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