Burst Mode

If an SDR receiver block or System object™ cannot keep up with the radio hardware, then the model or code is not processing data in real time. Burst mode enables you to buffer a set of contiguous samples without losing samples by setting the number of frames in a burst.

Determine If You Need Burst Mode

It is recommended that you enable burst mode when receive data rates exceed 500 Mbps.

To determine if you need burst mode, see Detect Underruns and Overruns.

Enable Burst Mode

Use burst mode when your model loses samples because it cannot keep up with the real-time data received from the hardware. Burst mode enables you to buffer a minimum set of contiguous samples without losing samples. However, lost samples can still happen between bursts, especially with large burst sizes. If your model can keep up in real time, do not use burst mode. The default number of frames in a burst is 20.

Enable Burst Mode in Blocks

Each SDR block has an Enable burst mode parameter. When you select this parameter, the SDR block produces a set of contiguous frames without an overrun or underrun to the radio hardware. Enable burst mode to simulate models that cannot run in real time. Specify the amount of contiguous data using the Number of frames in burst parameter.

Enable Burst Mode in System Objects

Each SDR System object has an EnableBurstMode property. When you set this property to true, the System object produces a set of contiguous frames without an overrun or underrun to the radio hardware. This setting can help simulate models that cannot run in real time. Specify the amount of contiguous data using the NumFramesInBurst property.

rx.EnableBurstMode=true
EnableBurstMode: true                            
NumFramesInBurst: 20                              

Burst Mode Troubleshooting

"Unable to allocate memory" error

The operating system imposes a maximum burst size. With a frame size of 4000, for example, the maximum burst size number is approximately 67,000 frames. Depending on the specific host, a lower limit can hold due to memory constraints. If you specify a frame size that exceeds the maximum burst size, you get an unable to allocate memory error.

"Did not receive expected number of samples in a burst reception" error

This error occurs when the MATLAB® or Simulink® software does not receive the requested number of samples from the radio hardware.

The following are known causes of this problem:

  • On Linux® systems, the OS socket buffer size is not large enough for proper communication. Increase the socket size.

  • The firewall or virus protection program on your system can block or slow your connection. Turn off the firewall or virus program to eliminate this problem. Keep in mind that turning off your firewall can expose your host computer to unauthorized access through the Internet.