Download AlazarDSO User Guide
Transcript
AlazarDSO User Guide
Board 0 Record 1 Timestamp
Board 0 Record 1 Ch A samples
Board 0 Record 1 Ch B samples
…
Board 0 Record N-1 Timestamp
Board 0 Record N-1 Ch A samples
Board 0 Record N-1 Ch B samples
Board 1 Record 0 Timestamp
Board 1 Record 0 Ch A samples
Board 1 Record 0 Ch B samples
…
The m_nBytesPerSample field of the CAPTURE_FILE_HEADER defines the number of
bytes per sample, and the m_uSamplesPerRecord field defines the number of samples per
record.
Record timestamps, if available, are stored in a record timestamp structure preceding the
record. The following code fragment shows how to convert a timestamp value from clock
ticks to seconds.
struct RECORD_TIMESTAMP
{
DWORD dwHighPart;
DWORD dwLowPart;
};
double
TimestampToSeconds (
RECORD_TIMESTAMP *pRecordTimestamp,
CAPTURE_FILE_HEADER *pCaptureFileHeader
)
{
DWORD dwTimestampHigh = pRecordTimestamp->dwHighPart;
DWORD dwTimestampLow = pRecordTimestamp->dwLowPart;
INT64 nTimestamp_counts;
nTimestamp_counts = ((INT64) dwTimestampHigh) << 8;
nTimestamp_counts |= dwTimestampLow & 0x0ff;
double dTimestamp_sec =
(double) nTimestamp_counts *
pCaptureFileHeader->m_nTimestampMultiplier /
pCaptureFileHeader->m_dSamplesPerSecond;
return dTimestamp_sec;
}
4.10.3.2 Raw records
AlazarTech digitizer boards support a number of different methods to transfer sample
data from on-board to host memory. Each transfer method organizes sample data
differently in host memory.
© 2008-2015 Alazar Technologies Inc.
189