USRP IQ Imbalance and How to Self-Calibrate It

Updated Jun 26, 2018

Reported In


  • USRP-2950


  • LabVIEW



Issue Details

I have observed something interesting with my USRP. Judging from the received signal as well as the IQ plot, I suspect there might be an IQ imbalance. Is there a way of checking this and/or correcting it?


You can try two things: Running the IQ imbalance calibration files and/or turning on/off the built-in IQ imbalance correction to observe whether or not it has an effect.

IQ calibration files
NI-USRP comes with several self-calibration utilities for minimizing IQ imbalance and DC offset. These files are typically located in

C:\Program Files (x86)\National Instruments\NI-USRP\utilities 

The files of interest for you are:
  • uhd_cal_rx_iq_balance: minimizes RX IQ imbalance vs. LO frequency. 
  • uhd_cal_tx_dc_offset: minimizes TX DC offset vs. LO frequency. 
  • uhd_cal_tx_iq_balance: minimizes TX IQ imbalance vs. LO frequency. 
For more information on these files, please see the Self-Calibration section of the USRP Hardware Driver and USRP Manual. 

Turning on/off IQ imbalance correction
To enable the built-in correction you must run the IQ Imbalance VI seen below.

For an example of how to do this, please see the "NI-USRP Simple Streaming" project. The IQ Imbalance subVI can be found if you open up the following VIs in a subsequent order. 

1) Tx and Rx Streaming (Host) VI 
2) Open and Configure device subVI 
3) Open and Configure device core subVI  
4) Configure Rx subVI  
5) Configure Signal (Gain) subVI  
6) Configure Signal (Common) subVI, here you will see the Calculate IQ Imbalance subVI, as shown below:

In the false case, the IQ imbalance correction and correction gain takes on predefined values.