uhd/host/lib
Martin Braun 635ad362ae lib: rfnoc ddc/duc: Fix fractional frequency offset
The RFNoC DDC/DUC block controllers had a bug, in which they would only
program the upper 24 bits of the 32-bit phase increment value for the
digital frequency shifter.

The DDC/DUC use a 24-bit DDS + multiplier to shift frequency digitally,
but the phase increment input to the DDS is a 32-bit value, which we
were (incorrectly) quantizing to a 24-bit value. This meant we were
artificially limiting the digital frequency accuracy, e.g., for a 200
MHz sample clock, to 200MHz / 2^{24} == (approx.) 12 Hz, which in turn
meant there was an unnecessary frequency error of up to 6 Hz (for lower
clock rates, the error would be smaller but still unnecessarily high).

This patch fixes the width of the phase increment value and allows for
sub-Hz accuracy (once again).

This bug was introduced in 699870d (first released with UHD 4.2).
2024-11-12 08:27:16 +01:00
..
cal Apply clang-formatting to all C/C++ files 2023-08-07 15:35:56 -05:00
convert host: remove superfluous usage of const in return values 2024-06-25 16:59:56 +02:00
deps deps: rpclib: Silence comments on unused constexpr lambda captures 2024-10-29 17:59:59 +01:00
experts experts: Move expert framework into public API 2022-07-20 15:56:32 -05:00
extension extension: Add extension framework 2022-08-30 08:49:26 -05:00
features Apply clang-formatting to all C/C++ files 2023-08-07 15:35:56 -05:00
ic_reg_maps ic_reg_maps: Add/repair array functionality 2024-09-02 09:40:54 +02:00
include rfnoc: Add Tune Request in RFNoC blocks 2024-11-06 14:40:07 +01:00
rc Fix handling of discontinuities in power calibration data 2022-03-23 16:12:03 -05:00
rfnoc lib: rfnoc ddc/duc: Fix fractional frequency offset 2024-11-12 08:27:16 +01:00
transport rfnoc: Add Tune Request in RFNoC blocks 2024-11-06 14:40:07 +01:00
types python: Add bindings for (timed_)wb_iface and get_user_settings_iface() 2024-10-09 23:27:53 +02:00
usrp rfnoc: Add Tune Request in RFNoC blocks 2024-11-06 14:40:07 +01:00
usrp_clock host: add octoclock python api 2024-09-05 14:45:45 +02:00
utils lib: Add module.d support 2024-09-27 15:35:37 +02:00
build_info.cpp utils: added DPDK version to uhd_config_info 2024-10-02 14:05:42 +02:00
CMakeLists.txt dpdk: set DPDK compile and linker flags at libuhd toplevel 2024-10-02 14:05:42 +02:00
device_python.cpp host: Release GIL for find 2024-10-10 08:11:26 +02:00
device_python.hpp python: Add find() to the Python API 2020-12-07 11:53:35 -08:00
device.cpp host: Remove duplicates in uhd::device::find result 2024-10-24 16:24:03 +02:00
error_c.cpp uhd: Replace Boost mutexes and locks with standard options 2021-10-19 12:21:33 -07:00
exception.cpp uhd: Add new exceptions for RFNoC-specific errors 2019-11-26 11:49:08 -08:00
image_loader.cpp lib: Use const-ref in for loops instead of const-copy 2021-03-04 08:24:09 -06:00
property_tree_python.cpp python: add access for db_iface from property_tree 2024-03-19 12:52:23 +01:00
property_tree_python.hpp python: Add access to the property_tree from Python 2020-10-16 14:58:15 -05:00
property_tree.cpp Apply clang-formatting to all C/C++ files 2023-08-07 15:35:56 -05:00
stream_python.hpp Apply clang-formatting to all C/C++ files 2023-08-07 15:35:56 -05:00
stream.cpp uhd: Apply clang-format against all .cpp and .hpp files in host/ 2020-03-03 08:51:32 -06:00
uhd.rc.in cmake: Change version numbering to remove leading zeros 2016-10-31 09:39:34 -07:00
version_c.cpp uhd: Apply clang-format against all .cpp and .hpp files in host/ 2020-03-03 08:51:32 -06:00
version_python.hpp python: Add version API calls 2024-01-30 13:37:07 -06:00
version.cpp uhd: Apply clang-format against all .cpp and .hpp files in host/ 2020-03-03 08:51:32 -06:00