summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/docs/CMakeLists.txt1
-rw-r--r--host/docs/calibration.rst55
-rw-r--r--host/docs/index.rst1
-rw-r--r--host/utils/CMakeLists.txt6
-rw-r--r--host/utils/uhd_cal_rx_iq_balance.cpp (renamed from host/utils/usrp_cal_rx_iq_balance.cpp)0
-rw-r--r--host/utils/uhd_cal_tx_dc_offset.cpp (renamed from host/utils/usrp_cal_tx_dc_offset.cpp)0
-rw-r--r--host/utils/uhd_cal_tx_iq_balance.cpp (renamed from host/utils/usrp_cal_tx_iq_balance.cpp)0
7 files changed, 60 insertions, 3 deletions
diff --git a/host/docs/CMakeLists.txt b/host/docs/CMakeLists.txt
index fe3799a2f..e393a79f0 100644
--- a/host/docs/CMakeLists.txt
+++ b/host/docs/CMakeLists.txt
@@ -22,6 +22,7 @@ SET(manual_sources
index.rst
identification.rst
build.rst
+ calibration.rst
coding.rst
dboards.rst
gpsdo.rst
diff --git a/host/docs/calibration.rst b/host/docs/calibration.rst
new file mode 100644
index 000000000..26a1064c9
--- /dev/null
+++ b/host/docs/calibration.rst
@@ -0,0 +1,55 @@
+========================================================================
+UHD - Calibration Application Notes
+========================================================================
+
+.. contents:: Table of Contents
+
+------------------------------------------------------------------------
+Self-calibration
+------------------------------------------------------------------------
+The UHD comes with several self-calibration utilities for minimizing IQ imbalance and DC offset.
+These utilities perform calibration sweeps using transmit leakage into the receive path
+(special equipment is not required).
+The results from a calibration are written to a csv file in the user's home directory.
+UHD will automatically apply corrections at runtime when the user changes settings.
+Calibration results are specific to an individual RF board.
+
+UHD comes with the following calibration utilities:
+
+ * **uhd_cal_rx_iq_balance:** - mimimizes RX IQ imbalance vs LO frequency
+ * **uhd_cal_tx_dc_offset:** - mimimizes TX DC offset vs LO frequency
+ * **uhd_cal_tx_iq_balance:** - mimimizes TX IQ imbalance vs LO frequency
+
+
+The following RF frontends are supported by the self-calibration utilities:
+
+ * WBX transceiver board
+ * SBX transceiver board
+ * more to come...
+
+********************************************
+Basic tool usage
+********************************************
+
+UHD installs the calibration utilities into <install-path>/bin.
+Run the following from the command line:
+::
+
+ uhd_cal_rx_iq_balance --verbose --args=<optional device args>
+ uhd_cal_tx_iq_balance --verbose --args=<optional device args>
+ uhd_cal_tx_dc_offset --verbose --args=<optional device args>
+
+See the output given by --help for more advanced options, such as:
+manually choosing the frequency range and step size for the sweeps.
+
+********************************************
+Calibration files
+********************************************
+Calibration files are stored in the user's home/application directory.
+They can easily be moved from machine to another by copying the "cal" directory.
+Re-running a calibration utility will replace the existing calibration file.
+The old calibration file will be renamed so it may be recovered by the user.
+
+ * **Unix:** ${HOME}/.uhd/cal
+ * **Windows:** %APPDATA%\.uhd\cal
+
diff --git a/host/docs/index.rst b/host/docs/index.rst
index 0b24927e9..f881e8585 100644
--- a/host/docs/index.rst
+++ b/host/docs/index.rst
@@ -30,6 +30,7 @@ Application Notes
* `Transport Application Notes <./transport.html>`_
* `Synchronization Application Notes <./sync.html>`_
* `Internal GPSDO Application Notes <./gpsdo.html>`_
+* `Calibration Application Notes <./calibration.html>`_
^^^^^^^^^^^^^^^^^^^^^
API Documentation
diff --git a/host/utils/CMakeLists.txt b/host/utils/CMakeLists.txt
index 92807f882..430b49c47 100644
--- a/host/utils/CMakeLists.txt
+++ b/host/utils/CMakeLists.txt
@@ -21,6 +21,9 @@
SET(util_runtime_sources
uhd_find_devices.cpp
uhd_usrp_probe.cpp
+ uhd_cal_rx_iq_balance.cpp
+ uhd_cal_tx_dc_offset.cpp
+ uhd_cal_tx_iq_balance.cpp
)
#for each source: build an executable and install
@@ -37,9 +40,6 @@ ENDFOREACH(util_source)
SET(util_share_sources
usrp_burn_db_eeprom.cpp
usrp_burn_mb_eeprom.cpp
- usrp_cal_rx_iq_balance.cpp
- usrp_cal_tx_dc_offset.cpp
- usrp_cal_tx_iq_balance.cpp
)
IF(ENABLE_USB)
diff --git a/host/utils/usrp_cal_rx_iq_balance.cpp b/host/utils/uhd_cal_rx_iq_balance.cpp
index 7924323a5..7924323a5 100644
--- a/host/utils/usrp_cal_rx_iq_balance.cpp
+++ b/host/utils/uhd_cal_rx_iq_balance.cpp
diff --git a/host/utils/usrp_cal_tx_dc_offset.cpp b/host/utils/uhd_cal_tx_dc_offset.cpp
index 8615e231c..8615e231c 100644
--- a/host/utils/usrp_cal_tx_dc_offset.cpp
+++ b/host/utils/uhd_cal_tx_dc_offset.cpp
diff --git a/host/utils/usrp_cal_tx_iq_balance.cpp b/host/utils/uhd_cal_tx_iq_balance.cpp
index 29b6f5ede..29b6f5ede 100644
--- a/host/utils/usrp_cal_tx_iq_balance.cpp
+++ b/host/utils/uhd_cal_tx_iq_balance.cpp