aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp1/codec_ctrl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/usrp1/codec_ctrl.cpp')
-rw-r--r--host/lib/usrp/usrp1/codec_ctrl.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/host/lib/usrp/usrp1/codec_ctrl.cpp b/host/lib/usrp/usrp1/codec_ctrl.cpp
index 413caaf67..c5268b3c4 100644
--- a/host/lib/usrp/usrp1/codec_ctrl.cpp
+++ b/host/lib/usrp/usrp1/codec_ctrl.cpp
@@ -12,13 +12,13 @@
#include <uhd/utils/algorithm.hpp>
#include <uhd/utils/byteswap.hpp>
#include <uhd/utils/log.hpp>
+#include <uhd/utils/math.hpp>
#include <uhd/utils/safe_call.hpp>
#include <uhdlib/utils/narrow.hpp>
-#include <cstdint>
#include <boost/assign/list_of.hpp>
#include <boost/format.hpp>
-#include <boost/math/special_functions/sign.hpp>
#include <cmath>
+#include <cstdint>
#include <iomanip>
#include <tuple>
@@ -380,15 +380,10 @@ double usrp1_codec_ctrl_impl::fine_tune(double codec_rate, double target_freq)
void usrp1_codec_ctrl_impl::set_duc_freq(double freq, double rate)
{
- double codec_rate = rate * 2;
-
- // correct for outside of rate (wrap around)
- freq = std::fmod(freq, rate);
- if (std::abs(freq) > rate / 2.0)
- freq -= boost::math::sign(freq) * rate;
-
- double coarse_freq = coarse_tune(codec_rate, freq);
- double fine_freq = fine_tune(codec_rate / 4, freq - coarse_freq);
+ const double codec_rate = rate * 2;
+ freq = uhd::math::wrap_frequency(freq, rate);
+ const double coarse_freq = coarse_tune(codec_rate, freq);
+ const double fine_freq = fine_tune(codec_rate / 4, freq - coarse_freq);
UHD_LOGGER_DEBUG("USRP1") << "ad9862 tuning result:"
<< " requested: " << freq