Multiple Recording
Bus:
PCI Express, PCI-X
Instruments:
Digitizers / Oscilloscopes, High-Speed Digital I/O
The Multiple Recording option (also called memory segmentation) allows a high-speed series of trigger events to be recorded without restarting the Digitizer or high-speed Digital I/O board. This is often used to record a series of high-speed waveforms that occur at a very high repetition rate, such as RADAR, Lidar or spectroscopy signals.
Multiple Recording can be used in either the Standard or FIFO (streaming) mode. Both operating modes are describes below. You may also want to consider the Gated Sampling option as an alternative.
How Multiple Recording Works
For the sake of brevity, we will describe this option based on a Digitizer card. But the same information applies to the high-speed Digital I/O cards.
The user defines the measurement parameters as usual, but in addition specify the number of waveforms to be recorded, the number of samples to be recorded (the ‘segment size’) and the post-trigger. The pre-trigger is automatically calculated by the driver: pre-trigger = segment size – post-trigger. The driver then calculates the total number of memory segments required based on the number of active channels that will be recording signals, and then divides the instrument card memory accordingly. Each segment must be the same length.
When a trigger event is detected, the recording starts and the data is automatically transferred to the next available segment. Special onboard hardware then automatically re-arms the trigger ready for the next trigger event to occur. In Standard mode the card stops when it has recorded all the segments required.
Depending on the sample rate and number of channels, this option can also be used in the FIFO mode so that data is continuously streamed to the host PC. This allows more segments to be recorded than the available card memory. In FIFO mode, there is no need to specify the number of samples to be recorded, as the card continues recording and transferring segments until stopped by software.
The re-arm time between the end of recording one segment and the next start of recording, is less than 4 samples so potentially millions of waveforms can be recorded in a second.
Multiple Recording can be combined with the Time Stamp option so that the trigger event times are also recorded. The Timestamp values are recorded into separate memory and these can be read asynchronously during the measurement if required.
Useful Calculations
Usually when a customer contacts us with questions about the Multiple Recording option, they want to know if the card is able to record their data fast enough.
The usual parameters they supply are:
- Sampling rate
- ADC resolution
- Number of channels
- Number of waveforms they want to record (may also be specified as ‘trigger events’)
- The trigger frequency
- And sometimes (if we are lucky), the number of samples for each waveform or the dead-time, that is the time from the end of one waveform to the next trigger event.
In order to know if the instrument card is suitable for their project, we need to calculate:
- Maximum Pulse Repetition Frequency (PRF) or trigger frequency
- Amount of data to be recorded in one second, as this tells us if they can use the FIFO streaming mode as well as the Standard mode
Pulse Repetition Frequency
The PRF is the inverse of the sum time between trigger events and the time required to re-arm the trigger of the card and any dead-time. So to calculate this:
PRF = 1 / (time to acquire waveform + re-arm time + dead-time)
Where:
Time to acquire waveform = number of samples in waveform / sample rate
Re-arm time: PCI Express and PCI-X cards is less than 4 samples or in seconds = 4 / sample rate
Dead-time : time from the end of one waveform to the next trigger event
e.g.
Assume a sample rate of 100 MS/s on 1 channel, a waveform size of 2048 samples and no dead-time.
PRF = 1 / ((2048 samples+ 4 samples)/Sample Rate
= Sample Rate / (2048 samples+ 4 samples)
= 100 MS/s / 2052 = 48x733 Hz.
This means that when sampling at 100 MSamples/s, we can record more than 48,000 waveforms per second. So if your required PRF is lower than the maximum possible PRF, the card will work for your application, at least as far as the PRF consideration.
Either reducing the size of the waveform or increasing the sample rate will increase the PRF. In fact, when using a minimum segment size of 8 samples (depends on card model) this leads to a maximum PRF of 16.6 MHz when sampling at 200 MS/s.
Note that the number of active channels used does not affect the calculation.
Standard Mode or FIFO Mode?
If you haven’t done this already, I’d recommend you read the pages that describe these modes. You can find these in the Learn section:
Digitizer Operating Modes > /learn/ digitizer-cards-operating-modes.html
Digital I/O Operating Modes > /learn/ digital-io-cards-operating-modes.html
Standard Mode
Standard mode is a lot easier as you don’t have to worry about transfer rates or disk speeds. In this mode the data is simply recorded to the card memory and then transferred later. You can record at the maximum ADC sample rate on every channel to the limit of the available card memory.
If you plan to use the Standard mode, most likely you will want to know how many waveforms or segments you can record to the available card memory:
Max number of waveforms = available card memory / (segment size * number of channels)
Where:
Segment size is the number of samples in the waveform. The minimum is 8 or 16 samples with increments of 4 samples. The maximum segment size is the entire card memory size divided by the number of active channels.
FIFO Mode
FIFO mode is used when you need to record more data that the available card memory. In this mode, the data is continuously streamed or transferred to the host PC during the measurement.
When using the FIFO mode with the Multiple Recording mode, you can record as many waveforms or segments as your PC RAM or hard disk(s) will allow – assuming that the bus will transfer the data fast enough and the disks, if used, can write quickly enough.
Calculate the amount of data to be recorded in 1 second
Data to be recorded per second = number of channels * samples/waveform * PRF (trigger frequency) * Bytes/sample
e.g.
= 1 channel * 2048 samples * 20 kHz * 1 = 4.096 MSamples/sec
This corresponds to:
= 4.096 MBytes/second for 8-bit ADC resolution
= 8.192 MBytes/second for 12, 14 or 16-bit ADC resolution
