This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Burst-Mode Buffering

What is Burst Mode?

If the SDRu Receiver block or System object™ is not keeping up with the hardware, you are not processing data in real time. Burst mode allows you to buffer a minimum set of contiguous samples without losing samples.

You must first determine if you need burst mode.

Determining If You Need Burst Mode

To determine if you should enable burst mode,

For more information, see Detect Underruns and Overruns.

If your model is not running in real time, you can:

  • Use Burst mode

  • Use vector-based processing

  • Accelerate with code generation

Any combination of these techniques may be applied to approach or achieve real-time performance.

Using Burst Mode

Use burst mode when your model is experiencing underruns or overruns because it can’t keep up with the amount of data being sent or received in real time. Burst mode allows you to buffer a minimum set of contiguous samples without underruns or overruns.

Tip

Overruns and underruns can still happen between bursts, especially with large burst sizes. Therefore, enabling the burst mode feature is recommended only if your model cannot keep up in real time.

The maximum burst size (in frames) is imposed by the operating system and the USRP® device UHD. The maximum size imposed by the UHD is approximately 1 GB, or 256 megasamples. This maximum number of samples is enforced by our software. For example, with a frame size of 4000 samples, the maximum burst is approximately 67k frames. Depending on the memory constraints on a specific host, a lower limit may required. Exceeding the limit will be flagged by an 'unable to allocate memory' error.

The default burst size is 100 frames.

Receiver Burst Mode Processing

When using burst mode for reception, the first SDRu receiver object call transfers a whole burst to the host computer memory and the SDRu receiver object processes the first frame. Subsequent SDRu receiver object calls process the rest of the burst, one frame at a time, from the host computer memory (not from the radio). When all the frames in the transferred data have been processed, the next SDRu receiver object call transfers another whole burst to the host computer memory and the first frame of data is processed by the SDRu receiver object. For example with EnableBurstMode set to true, if NumFramesInBurst is 10, and SamplesPerFrame is 375000. For the first SDRu receiver object call, a whole burst (375,000 samples/frame * 10 frames/burst = 3,750,000 samples/burst) is transferred to the host computer memory and the SDRu receiver object processes the first frame of data. For subsequent SDRu receiver object calls (second through tenth calls), one frame at a time, is processed from the host computer memory. After the whole burst has been processed, on the eleventh SDru receiver object call, another whole burst is transferred from the radio to the host computer memory and the first frame of data is processed by the SDRu receiver object.

Transmitter Burst Mode Processing

When using burst mode for transmission, data is not transferred to the radio until the SDRu transmitter object has been called NumFramesInBurst times. After the SDRu transmitter object has been called NumFramesInBurst times, the whole burst is transferred to the radio and transmitted.

Related Topics