Admin Production ni-theme
Current Publication

Acquisition Sub-System

IVI Compliance Package

IviDigitizer Acquisition Sub-System

The acquisition sub-system configures the number of waveform records, the size of each record, and the sample rate. The configurable acquisition sub-system properties include the following:

IviDigitizer Sample Rate

IviDigitizer Num Records To Acquire

IviDigitizer Record Size

While very simple digitizers can support only a single sample rate and can record only a single record, more advanced digitizers can vary the sample rate and can collect multiple independent sets of data with a single acquisition, with the ability to flexibly allocate memory resources as needed.

The IviDigitizer Sample Rate property controls the data sample rate, in number of samples per second. Some digitizers have the ability to accept an arbitrary value for this property (up to a given limit), while others support only one possible value or a list of discrete values. If you specify a value that the digitizer cannot support, the value is coerced to the next highest sample rate that is supported. If you specify a value that is higher than the maximum sample rate available in the digitizer, you will receive an error.

Note that some digitizers have the ability to combine multiple channels together, resulting in a single channel with twice the maximum sample rate. In the IviDigitizer interface, this feature is controlled with the IviDigitizerTimeInterleavedChannels extension group. If channels are combined, the maximum value for the Sample Rate property increases accordingly.

The IviDigitizer Num Records and IviDigitizer Record Size properties control the number and size of distinct data records that a digitizer captures for a single acquisition. An acquisition begins with a call to the IviDigitizer Initiate Acquisition VI. Generally speaking, when an acquisition is initiated, the digitizer waits for a trigger event to occur and then records sampled data in a memory buffer. Each such data set is referred to as a record. Simple digitizers can collect only a single record for each acquisition. More sophisticated digitizers can collect multiple data records in a single acquisition, which requires multiple trigger events. Before the acquisition begins, the Num Records property determines the number of records to capture, and the Record Size property determines the size of each record. When acquisition begins the digitizer fills up a record and waits for another trigger event before proceeding to fill up the next record. The process continues until the digitizer captures the specified number of records, at which time the digitizer returns to an idle state.

You must manage the memory of the digitizer when you capture data. Some digitizers have fixed memory configurations while others have global memory blocks that you can allocate as needed. Each active channel captures the number of records specified by the Num Records To Acquire property. The total amount of memory required for this depends on the number of records, the size of each record, and the number of active channels. If you attempt to allocate more memory than the digitizer has available, the driver returns an error.

You also can use the Fetch VIs from the IviDigitizerMultiRecordAcquisition extension group to fetch partial records. This is useful, for example, when the digitizer memory is so large that the data must be fetched in chunks.