RfsaIQAcquisition.MemoryOptimizedFetchIQMultiRecordComplexWaveforms(Int64, Int64, Int64, PrecisionTimeSpan, ComplexWaveformCollection<ComplexDouble>) Method
- Updated2025-07-17
- 2 minute(s) read
Rfsa
Fetches I/Q data from multiple records in an acquisition in a memory optimized manner.
Namespace: NationalInstruments.ModularInstruments.NIRfsa
Assembly: NationalInstruments.ModularInstruments.NIRfsa.Fx45 (in NationalInstruments.ModularInstruments.NIRfsa.Fx45.dll) Version: 2025
Syntax
public ComplexWaveformCollection<ComplexDouble> MemoryOptimizedFetchIQMultiRecordComplexWaveforms( long startingRecord, long numberOfRecords, long numberOfSamples, PrecisionTimeSpan timeout, ref ComplexWaveformCollection<ComplexDouble> waveforms )
Public Function MemoryOptimizedFetchIQMultiRecordComplexWaveforms ( startingRecord As Long, numberOfRecords As Long, numberOfSamples As Long, timeout As PrecisionTimeSpan, ByRef waveforms As ComplexWaveformCollection(Of ComplexDouble) ) As ComplexWaveformCollection(Of ComplexDouble)
Parameters
- startingRecord Int64
- Specifies the first record to retrieve. Record numbers are zero-based.
- numberOfRecords Int64
- Specifies the number of records to fetch.
- numberOfSamples Int64
- Specifies the number of samples per record.
- timeout PrecisionTimeSpan
- Specifies the time, in seconds, allotted for the method to complete before returning a timeout error. A value of MaxValue specifies the method waits until all data is available. A value of 0 specifies the method immediately returns available data.
- waveforms ComplexWaveformCollectionComplexDouble
- Contains the ComplexWaveformCollection object to be populated. New memory won't be allocated if the ComplexWaveformCollection object is not null and its number of records and number of samples are same as the numberOfRecords and the numberOfSamples respectively.
Return Value
ComplexWaveformCollectionComplexDoubleReturns the acquired waveform for each record fetched.
Exceptions
Exception | Condition |
---|---|
ObjectDisposedException | The MemoryOptimizedFetchIQMultiRecordComplexWaveformsT(Int64, Int64, Int64, PrecisionTimeSpan, ComplexWaveformCollectionT) method was accessed after the associated NIRfsa object was disposed. |
Remarks
A fetch transfers acquired waveform data
from device memory to computer memory. The data was acquired to onboard memory previously by the
hardware after the acquisition was initiated. This method is not necessary if you use the
ReadIQSingleRecordComplex(PrecisionTimeSpan, RfsaWaveformInfo),
ReadIQSingleRecordComplexWaveform(PrecisionTimeSpan, RfsaWaveformInfo),
MemoryOptimizedReadIQSingleRecordComplex(PrecisionTimeSpan, ComplexDouble, RfsaWaveformInfo), or
MemoryOptimizedReadIQSingleRecordComplexWaveform(PrecisionTimeSpan, ComplexWaveformComplexDouble, RfsaWaveformInfo) methods,
as the fetch is performed as part of these methods.
Memory optimization is not guaranteed.