From 94c58baf4a2ba6c3a2c7899030f2de962212d937 Mon Sep 17 00:00:00 2001 From: Tom Tsou Date: Tue, 23 Jun 2015 10:33:15 -0700 Subject: ad9361: Enable single shot Rx Quad Cal Patch provides an alternative resolution to issue #807 "B210: severe distortion on In-phase data for some gain settings" Rx quadrature tracking, an active input-sensitive loop, causes problems on a handful of receive signals. Problematic signals include pulsed GMSK and near-DC tones among others. As an alternative, improve operation when active tracking is disabled. Run single shot quadrature calibration at the following events to provide calibrated image suppression. The corrections without active tracking are not input dependent. Rx quadrature single shot calibration points: 1. AD9361 initialization 2. Clock rate change 3. Tuning differences greater then 100 MHz when tracking is disabled Note that if tracking is enabled (default case), this patch has no effect during streaming. Only the non-default (user set) case is affected. Signed-off-by: Tom Tsou --- host/lib/usrp/common/ad9361_driver/ad9361_device.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'host/lib/usrp/common/ad9361_driver/ad9361_device.h') diff --git a/host/lib/usrp/common/ad9361_driver/ad9361_device.h b/host/lib/usrp/common/ad9361_driver/ad9361_device.h index 98369c2fc..8281ec9e5 100644 --- a/host/lib/usrp/common/ad9361_driver/ad9361_device.h +++ b/host/lib/usrp/common/ad9361_driver/ad9361_device.h @@ -187,6 +187,7 @@ private: //Methods double _setup_rates(const double rate); double _get_temperature(const double cal_offset, const double timeout = 0.1); void _configure_bb_rf_dc_tracking(const bool on); + void _configure_rx_iq_tracking(); void _setup_agc(chain_t chain, gain_mode_t gain_mode); void _set_fir_taps(direction_t direction, chain_t chain, const std::vector& taps); std::vector _get_fir_taps(direction_t direction, chain_t chain); @@ -259,7 +260,7 @@ private: //Members //Synchronization boost::recursive_mutex _mutex; bool _use_dc_offset_correction; - bool _use_iq_balance_correction; + bool _use_iq_balance_tracking; }; }} //namespace -- cgit v1.2.3