[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:
 

REAL-TIME / SEQUENTIAL OPERATION:


REAL-TIME (RTime) vs SEQUENTIAL MODE:

Daqarta allows operation in two fundamentally different modes, each of which has its own special strengths. The mode that works best for your application depends not only on what you want to do, but also on the capabilities of your data acquisition board and the performance of your system. The default start-up mode is Sequential, which is indicated by the RTime option (R-key) being off. You can only toggle RTime on when the data acquisition Board is active, since the default Virtual Source operates only in Sequential mode.

SEQUENTIAL MODE:

This mode acquires one sweep (N samples) of data, then stops acquisition while it processes and displays the data, then repeats the whole sequence continuously. During the processing and display time, you are missing data that passes by unseen. Is this really a problem? Almost never.

At typical sample rates on typical systems, the time for this whole sequence is so brief that the trace is updating several times per second anyway and operation appears live and continuous. If you are viewing any sort of repetitive waveform, you will want to be running in Triggered mode in order to get a stable display that your eyes can make sense of, so of course there will be data thrown away between triggers no matter what. And if the incoming data stream is indeed repetitive, one sweep is equivalent to the next anyway... it rarely matters exactly which ones you choose to view.

In exchange for giving up what you probably didn't need anyway, Sequential operation offers powerful benefits to users of certain acquisition boards. Chief among these is SPEED for boards that don't support DMA or deep FIFO operation. Even for boards that DO support these, Sequential mode can accept External Trigger inputs that RTime mode can't, and can generate stimulus signals at higher speeds than can be done with RTime operation. At very high sample rates, Sequential mode maintains fast display updates, whereas RTime mode may need to reduce display updates in order to maintain the high sample rate.

REAL-TIME (RTime) MODE:

In RTime mode, data acquisition runs continuously, even during data processing and display. When a sample or batch of samples arrives, all other activities are suspended briefly while the samples are sent to a continuously circulating buffer. Processing and display may thus be interrupted many times to acquire new data before a trace is shown of previous data. Then the processing cycle begins again with whatever new data has arrived in the interim.

Strictly speaking, this is only "real-time" operation when the processing (including display) of N samples takes no longer than the time to acquire them. For example, if you are using a sample rate of 20 kHz, or 50 µsec per sample, it takes 25.6 msec to acquire 512 samples. If the time to process these is also exactly 25.6 msec, then while one sweep of 512 samples is being processed the next one can be acquired, in a continuous cycle without missing any samples.

If processing takes longer than acquisition, some samples must be ignored in order to keep up with the incoming data. If after completing the processing of 512 samples Daqarta finds that 612 new samples have been added to the buffer, it will show '100 GAP' in the Speed area above the right end of the trace.

If you are using Triggered RTime operation, then even if Daqarta processing is faster than acquisition, it may need to skip some of the new samples in order to start the next trace at the requested trigger point. (To prevent confusion, Daqarta will never look for a trigger in old data.) So there will almost always be a GAP display in Trig mode.

OVERLAP OPERATION:

In untriggered Free-run RTime operation, Daqarta always takes the most recent N samples from the circulating buffer. At slow sample rates or with a fast processor, there may be less than N new samples available, so the total may include some prior samples... a condition known as Overlap processing. If Daqarta needs 512 samples for processing and finds that only 412 new samples have arrived, the Speed display will show:
     '100 OVL'

Typically, you wouldn't want to use Free-run while trying to view a repetitive waveform, since the trace would roll by too fast to see. But this lack of synchrony has little effect on spectrum or spectrogram displays. Typically the spectrum will look more "bouncy", especially the low level portions and leakage "skirts" on main harmonics, and even that can be nearly eliminated by windowing.

You can try this for yourself using only the Virtual Source and toggling Trig off and on with the T-key while you view the spectrum or spectrogram. Although the Virtual Source will not run in RTime mode, you can still see the difference between Trig and Free. View the power spectrum (Y-log active) to see the low-level skirts while you toggle Windo on and off.

Of course, this difference only applies to repetitive signals, not broadband noise-like signals that you couldn't trigger on anyway. And even with a repetitive signal you can minimize the difference by adjusting its frequency or the sampling rate to give an integer number of cycles in one sweep, if there is some reason not to use windowing.

Since the amount of overlap or gap is directly related to the processing and display time, it is not usually a constant... traces that are very "busy" require more pixels to be drawn on the screen in Line1 (solid line) style, and traces with an overall high level require more pixels in Line2 (bar) style.

As an example, the following results were obtained with a ramp wave from the DEMO driver at a 20 kHz sample rate with N = 512 in Free-run RTime mode on a 33 MHz 486:

  Power Spectrum, Line2 bar display:       310 GAP
  Power Spectrum, Line1 line display:      110 GAP
  Power Spectrum, Line0 dot display:        50 GAP
  Magnitude Spectrum, Line2 bar display:    70 GAP
  Magnitude Spectrum, Line1 line display:   70 GAP
  Magnitude Spectrum, Line0 dot display:    50 GAP
  Waveform, Line1 line display:            100 OVL
  Spectrogram:                             300 OVL

A power spectrum generally has more of the trace higher up on the screen than a magnitude spectrum, so more time is spent drawing taller bars in Line2 style, whereas they both have only 512 dots to show and hence take about the same amount of time in Line0 style. The magnitude spectrum peak is so much taller than the rest of the trace that everything else is close to zero, so there is no difference between Line2 and Line1 styles.

A waveform display does not need to compute an FFT, so it tends to be faster. A spectrogram must compute an FFT for each vertical line, but the display is very simple so it tends to be very fast. In waveform and spectrum modes, the trace magnification can have a large effect on how long it takes to draw lines, especially with a noisy signal that has lots of variation between points.

Naturally, with more points N it takes longer to process and display them, but it also takes longer to acquire them. It turns out that the overall processing time doesn't double when N doubles, leading to the curious result that performance actually improves as N increases. Using the same setup as above and looking only at the spectrogram results:

     N          OVL        %Overlap
    256         130          51%
    512         300          59%
    1024        615          60%

Although overlap is dependent upon processing time, you can achieve constant overlap using the Trigger Cycle control. This must be set at least as long as the slowest trace processing time, and is best adjusted by eye while viewing the OVL display. Just increase the Cycle time until the OVL value stops changing.

High overlap may be particularly desireable with spectrograms, since here you are interested in both the time and frequency domains, and more overlap allows finer time resolution. (Up to a point, since the N size also affects time resolution.)

To get high overlap on slow systems, or simply to have a fixed, controllable overlap, you can record data to a DDisk file and play it back with DskRd. Then the DskRd Overlap or Sgram Width controls allow you to select any desired overlap value.

RTime performance is strongly influenced by the capabilities of your data acquisition board and how you set up its driver. Even if the board claims a fast sample rate, that value only refers to the Analog-to-Digital Converter speed... we need to actually get the data into system memory in order to use it. There are 3 basic RTime methods to do this: Interrupts, DMA or FIFO.

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