Software Defined Radio

Showing results for 
Search instead for 
Did you mean: 

Record and Playback for USRP-2954 (200MS/s) - streaming full bandwidth with Aurora


The USRP 2954 and 2944 has two RX and two Tx channels with 160MHz bandwidth (200MS/s). Streaming all the channels with full bandwidth will give an overall data throughput of 1.6 GB/s: 2 channels x 2 channels (IQ) x 2 Bytes per samples x 200 MS/s = 1.6 GB/s. The MXIe connection on the USRP can only handle 800 MB/s so it cannot stream the full bandwidth. The two SFP+ ports on the USRP give the possibility to stream the full bandwidth using one x1 Aurora streams (10.3125 Gbps per lane) for each channel.



 The record and playback application is able to record or playback with the full sample rate on both channels. The recorded files are stored and could be played back from a TDMS file.

The application uses a High-speed serial card to (PXIe- 6592R) establish fast enough connection between the USRP RIO and the Host computer, using Aurora streaming through its’ SFP+ ports.

The code has two main host VI’s, one for the record and one for the playback functionality.

The project also contains a standalone code, that reads back the TDMS files and displays it on a waterfall diagram to on the hos computer’s display.1.png


Dataflow diagrams


Rx dataflow for 1 channel2.png


Tx dataflow for 1 channel



  • Lossless data streaming to both, up- and down streaming
  • Records both 2 (Rx) channels with full bandwidth (200MS/s) and store the data directly in a TDMS File on a RAID-0 System.
  • Plays back the TDMS file and streams it to the Tx ports with full bandwidth (200MS/s).
  • Runs with both channels simultaneously or with one selected channel.
  • Each recorded channel is stored in a separated TDMS file.
  • Select a channel while the code is running to preview its Power Spectral Density (PSD).
  • Triggering with several options (Software, Immediate, Digital Edge,… )


Bugs and points of improvements

  • Triggering only tested for Software
  • Finite or infinite generation
  • Enabling multiple High-Speed Serial cards and USRP’s are not fully developed

Hardware and Software Requirements


  • LabVIEW 2018 64-bit
  • NI USRP 18.1
  • NI LabVIEW Instrument Design Libraries for High Speed Serial Instruments 18.0


  • PXIe-6592R
  • USRP-2954 (160MHz)
  • PXIe chassis, controller and MXI card. The project was tested using the following setup
    • PXIe-1095
    • PXIe-8135
    • PXIe-8374
  • RAID Array. The project was tested using the following setup
    • PXIe-8384
    • HDD-8266

Steps to Implement or Execute Code

1. Open LabVIEW as administrator and open the 2954 - 6592R Aurora Streaming.lvproj project

2. Open Stream-2954-6592R.lvlib in the HOST virtual folder.

3. Open one of the main VI in the library.

4. Set up and run VI.


Additional Information or References

Contributions to this project are welcome from all!
Latest version is available on our git site. Please refer to and to the corresponding contribution guidelines.

Kornél Nagy
National Instruments
RF Systems Engineer