Solution
Regarding which driver you are using (NI-USRP or NI-USRP RIO), you have 2 possibilities: Running the IQ imbalance calibration utilities and/or turning on/off the built-in IQ imbalance correction.
IQ calibration filesNI-USRP comes with several self-calibration utilities for minimizing IQ imbalance and DC offset. These utilities are typically located in
C:\Program Files (x86)\National Instruments\NI-USRP\utilities
The utilities 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 correctionIf you are using the NI-USRP RIO driver, to enable the built-in correction you must run the IQ Imbalance VI seen below.
You still have to run the utilities cited above if you want this VI to have an effect.
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.