diff options
Diffstat (limited to 'host')
-rw-r--r-- | host/lib/include/uhdlib/usrp/cores/dsp_core_utils.hpp | 8 | ||||
-rw-r--r-- | host/lib/usrp/cores/dsp_core_utils.cpp | 8 |
2 files changed, 15 insertions, 1 deletions
diff --git a/host/lib/include/uhdlib/usrp/cores/dsp_core_utils.hpp b/host/lib/include/uhdlib/usrp/cores/dsp_core_utils.hpp index 739b973cb..2632f4a1f 100644 --- a/host/lib/include/uhdlib/usrp/cores/dsp_core_utils.hpp +++ b/host/lib/include/uhdlib/usrp/cores/dsp_core_utils.hpp @@ -8,7 +8,7 @@ #ifndef INCLUDED_LIBUHD_DSP_CORE_UTILS_HPP #define INCLUDED_LIBUHD_DSP_CORE_UTILS_HPP -#include <stdint.h> +#include <tuple> /*! For a requested frequency and sampling rate, return the * correct frequency word (to set the CORDIC) and the actual frequency. @@ -20,4 +20,10 @@ void get_freq_and_freq_word( int32_t &freq_word ); +/*! For a requested frequency and sampling rate, return the + * correct frequency word (to set the CORDIC) and the actual frequency. + */ +std::tuple<double, int> get_freq_and_freq_word( + const double requested_freq, const double tick_rate); + #endif /* INCLUDED_LIBUHD_DSP_CORE_UTILS_HPP */ diff --git a/host/lib/usrp/cores/dsp_core_utils.cpp b/host/lib/usrp/cores/dsp_core_utils.cpp index 282073597..44885bc6f 100644 --- a/host/lib/usrp/cores/dsp_core_utils.cpp +++ b/host/lib/usrp/cores/dsp_core_utils.cpp @@ -54,3 +54,11 @@ void get_freq_and_freq_word( actual_freq = (double(freq_word) / scale_factor) * tick_rate; } +std::tuple<double, int> get_freq_and_freq_word(const double requested_freq, const double tick_rate) +{ + double actual_freq; + int32_t freq_word; + get_freq_and_freq_word(requested_freq, tick_rate, actual_freq, freq_word); + return std::make_tuple(actual_freq, freq_word); +} + |