diff options
-rw-r--r-- | host/docs/CMakeLists.txt | 1 | ||||
-rw-r--r-- | host/docs/calibration.rst | 55 | ||||
-rw-r--r-- | host/docs/index.rst | 1 | ||||
-rw-r--r-- | host/utils/CMakeLists.txt | 6 | ||||
-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 |