[LogoShip]

Home

Daqarta for DOS Contents

Introduction

Downloads

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:
 
DAQARTA - STIM3A
ADVANCED STIMULUS SIGNAL GENERATOR

MAIN CONTENTS:


INTRODUCTION:

This module allows you generate output signals using any supported laboratory-type board that provides Digital-to-Analog Converter (DAC) outputs and / or digital outputs. It also supports full-duplex sound cards that use the SB16.ADC driver, but these have no digital output capabilities. Note that the term "digital outputs" is often applied to sound cards that have SPDIF outputs, but those are simply the "raw" digital outputs that normally are sent to the DAC. This module can not control them as independent outputs.

PLEASE NOTE:
STIM3A allows unlimited use ONLY BY REGISTERED DAQARTA USERS. All others may use it for 30 sessions, after which it will no longer load. This limit applies only when used with "real" hardware; you may use the DEMO.ADC driver as often as you wish without reducing the remaining count. It is thus recommended that you use DEMO.ADC to become familiar with the many STIM3A options.

STIM3A supports only laboratory-type ADC boards and full-duplex sound cards like the SB16/32/64. Other sound cards use their built-in synthesizers for stimulus generation. See the help system of your particular card for full details.


FEATURES:

STIM3A allows a host of waveforms and modulation modes, but the most important feature is Dynamic mode. This permits continuous real-time signal generation instead of simple playback of a stored static buffer. Not only does this allow extremely fine frequency resolution, but it also allows extremely long tone bursts and frequency sweeps (hours or days) and complex signal interactions. For example, two component frequencies that are set to differ by 0.0001 Hz will only be in phase once every 2.78 hours. Modulation cycles can be combined to get even longer cycles, many millions or even billions of years.

Two DAC channels of up to 16 bits each are supported, plus a digital output of up to 8 bits. These may be used together in any combination. Each output is configured via its Setup menu. The two DAC outputs may be swapped with a single toggle, or the same signal may be fed to both at once.

Each DAC channel allows up to 4 different wave components to be generated, labelled A through D, each with its own separate submenu page system. Each component page has submenu controls for Wave type, Frequency, and various modulators. The outputs from one or more pages can be used as modulators for other pages, allowing extremely complex modulation schemes.

Complete signal configurations may be saved to files for automatic load on start-up, or may be saved or loaded at any time during operation.

Waveforms, resolution 0.0001 Hz, 0.05 degrees:

Random sources:

Each waveform can be modulated by any or all of:

Random sources can use Burst or AM modulators. They can also be slowed, stepped, smoothed, quantized, or time-shifted. (Two identical noise sources combined with a time shift give comb-filtered noise, for example.)

AM, FM, and Phase/Slope/Width modulators can use simple sine modulation (adjustable frequency, phase, and depth) or one or more of the other components as modulators. For example, you can have a basic Pulse waveform, and apply FM that uses a noise generator as its source to provide controlled jitter. And that noise source can use AM so that the jitter changes in strength, and the AM source can be an Arb or Play file that is stepped through slowly to provide a test program of different jitter amounts.

By controlling the timing of each component page, the four can be made to occur sequentially or concurrently during a single data acquisition sweep. The components may also be grouped for output on two separate alternating sweeps or four sequential sweeps. The two DAC channels are completely independent, so up to 8 signals can be used.

The digital output allows individual control of each of the 8 bits. Each bit output may be set to provide either one pulse or a train of pulses, with complete control over the timing and polarity. When the stimulus generator is set to an alternating stimulus mode, complete control is available for two or four different 8-bit digital sequences.

The stimulus generator works in synchrony with the data acquisition process. At each sample time, an output sample is given from each active stimulus source in the order
DAC 0, DAC 1, DigOut
before the analog input sample data is read. The stimulus samples are precomputed and stored, in the same sequence they will be used, in one large memory buffer of up to 64 Kbytes in size. Whenever any stimulus parameter is changed, the entire stimulus buffer is recomputed. However, the usage of this buffer changes between conventional Static and the new Dynamic generation modes, as well as between Sequential and RTime acquisition modes.


MODE SELECTION GUIDE:

The following table is intended as a quick guide to the four basic modes of operation. Durations shown are based upon a sample rate of 48 kHz and a 64 Kbyte buffer.
                       Static          Dynamic
 Sequential:
   Continuous          -NA-            -NA-
   Bursts              Identical       Changing
   Length              0.68 sec        0.68 sec


 RTime:
   Cont. Resolution    2.9 Hz          0.000089 Hz
   Bursts              Identical       Changing
   Length              0.68 sec        24.86 hours

SEQUENTIAL MODE:

Sequential mode is only appropriate for burst generation, since the signal output goes off during the time the ADC input data is being processed and the display updated.

STATIC SEQUENTIAL:
Each burst is exactly the same. Although you may use any of the waveforms and modulators, the total burst length is limited by the buffer size. For example, with one 16-bit DAC active there is room for 32684 samples using the maximum 64 Kbyte buffer size, giving a total duration of 0.68 seconds at a sample rate of 48 kHz. So any modulation period, such as a frequency sweep, will be limited to this.

If you use PAIR or EACH Page Modes the total buffer is divided into 2 or 4 equal sections for presentation on successive bursts, thus further reducing the burst or modulation period.

DYNAMIC SEQUENTIAL:
This is similar to the above, except that the buffer is updated after each presentation. If you are creating bursts of white noise, for example, each burst will be different. If you are creating conventional tone bursts, the starting phase of each will be different unless Reset on Burst is active... similar to a real free-running hardware signal generator connected to a separate burst generator.

With PAIR or EACH Page Mode, the total buffer is available for each presentation, allowing longer bursts or modulation periods than Static Sequential mode.

RTIME MODE:

The output is always active. If you give bursts, the time between them is controlled by parameters in the Burst menu; there is no influence due to processing or display. This mode is capable of continuous outputs.

STATIC RTIME:
Similar to Static Sequential mode except that the stimulus buffer is repeated continuously with no delays. To create a continuous wave, the frequency must be set with the Freq Step Mode set to StepN. That will force the frequency to values that allow an exact integer number of cycles to fit into the buffer. This will limit frequency resolution to the reciprocal of the buffer duration, or about 2.9 Hz with a 64 Kbyte buffer and a 48 kHz sample rate.

The maximum burst duration is the same as for the Sequential modes, since the entire burst must still fit into the stimulus buffer. Likewise, all bursts will be identical, since the buffer contents do not change while running.

DYNAMIC RTIME:
By far the most powerful mode, this updates the contents of the stimulus buffer in the background to provide what is essentially an infinite buffer. Continuous waves may be generated with a resolution of 0.000089 Hz at a 48 kHz sample rate, or even better at lower rates. This is limited by the precision of the associated variables, not the buffer size.

Bursts or modulation cycles are likewise limited only by the variable sizes, allowing over 24 hours per cycle at a 48 kHz sample rate. Interactions between individual components and even individual modulators of a single component can be longer still: If one modulation cycle is 4294967295 samples and another is one sample less, their combination will have a cycle of 1.84 × 10^19 samples or about 12 million years... and you can have up to 4 independent components from each DAC, each component with multiple independent modulation cycles.

Continuous random noise can be created that takes over 6 million years before the pattern repeats. Long Play files can be used as signal sources, up to the limit of available system memory.

The DigOut system allows totally independent control over each bit. You can have 8 different continuous patterns; they do not need to be synchronous in any way, and the individual pulse trains can have repeat cycles running to millions of years.

SPEED:

On slower CPUs, use of the stimulus generator may reduce the maximum sample rate possible from a given acquisition board, especially a high speed board. The board driver may be limited internally to the maximum acquisition rate specified for its Analog-to-Digital Converter (ADC), but that presumes that the CPU can keep up... which it may not be able to do along with stimulus generation, especially if multiple outputs are active.

Use of Dynamic RTime mode is particularly taxing in this regard, so if you have a slower system you may prefer the other modes. Within Dynamic mode, slower operation can result from additional computation time for extra component pages, modulators, or steeper noise bands.

Conversely, faster systems may be able to use the stimulus oversampling Factor control to get higher stimulus sample rates than the board's ADC allows for acquisition alone.

In RTime mode, an additional speed loss may come from lack of DMA capability during stimulus generation. DMA (Direct Memory Access) allows a board to acquire a sample and automatically transfer it to memory without software intervention. It allows faster RTime sample rates with most CPUs except 286s. However, many laboratory-type boards only have a single DMA channel. This is used for acquisition-only modes, but the slower interrupt-driven sampling mode, not DMA mode, must be used for RTime operation when STIM3A is active.

Among sound cards, only those billed as "Full-Duplex" have the dual DMA channels needed for simultaneous acquisition and signal generation. Older cards thus don't support STIM3A operation at all, and will result in an error message if you try to use them.

DEMO "DUMMY" BOARD:

You can use the DEMO.ADC "dummy" acquisition board driver with the stimulus generator. When the stimulus is on, certain input channels are connected to certain stimulus outputs, as follows:
   Input           Signal
    CH0             DAC 0
    CH1             DAC 1
    CH2 -  CH7      Normal DEMO internal signal
    CH8             DOUT bit 0
    CH9             DOUT bit 1
    CH10            DOUT bit 2
    CH11            DOUT bit 3
    CH12            DOUT bit 4
    CH13            DOUT bit 5
    CH14            DOUT bit 6
    CH15            DOUT bit 7

The "signals" acquired in this way may then be used as though they were real-world signals acquired by a real board. This allows testing of preliminary experimental designs, as well as the opportunity to become familiar with the spectra of certain complex signals.

And, sessions which use the DEMO driver do not count toward the STIM3A 30-trial limit for unregistered Daqarta users.

HOWEVER, there is one important difference between the STIM3A signals created this way and the normal internal DEMO signals: When you record these STIM3A signals with the DDisk option in Direct mode, you will not see any artifacts, even without the DDISK13A driver. With the DEMO signals, on the other hand, there would be large discontinuities every 32 Kbytes where DDisk transfers occur.

The reason is that the standard DOS disk handler shuts off interrupts during transfers, so no samples are generated or recorded until interrupts are restored following the disk transfer. With STIM3A, everything is simply put "on hold" and resumes exactly where it left off with no discontinuity. But the DEMO signals are derived from an internal timer that keeps running during disk transfers, so when sampling resumes it is at a later position in the waveform.

The upshot of all this is that you should use DEMO alone to test the need for the DDISK13A driver, whereas you can use STIM3A to record a clean waveform for later use, even if you don't have DDISK13A installed.

GO:

Questions? Comments? Contact us!

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