From 8e4dcd08bec1848dbf3574c8c01b7af19ce1f638 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 8 Feb 2025 09:03:52 +0100 Subject: [PATCH] Make lighter comparisons --- ...glonass_l1_ca_dll_pll_c_aid_tracking_cc.cc | 5 ++--- ...glonass_l1_ca_dll_pll_c_aid_tracking_sc.cc | 5 ++--- ...glonass_l2_ca_dll_pll_c_aid_tracking_cc.cc | 5 ++--- ...glonass_l2_ca_dll_pll_c_aid_tracking_sc.cc | 5 ++--- .../tracking/libs/lock_detectors.cc | 22 +++++++------------ 5 files changed, 16 insertions(+), 26 deletions(-) diff --git a/src/algorithms/tracking/gnuradio_blocks/glonass_l1_ca_dll_pll_c_aid_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/glonass_l1_ca_dll_pll_c_aid_tracking_cc.cc index acc3f4561..1e7b6adad 100644 --- a/src/algorithms/tracking/gnuradio_blocks/glonass_l1_ca_dll_pll_c_aid_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/glonass_l1_ca_dll_pll_c_aid_tracking_cc.cc @@ -40,7 +40,6 @@ #include #include #include -#include #include #include #include @@ -874,7 +873,7 @@ int glonass_l1_ca_dll_pll_c_aid_tracking_cc::general_work(int noutput_items __at d_dump_file.write(reinterpret_cast(&tmp_float), sizeof(float)); // PLL commands auto aux = static_cast(d_carr_phase_error_secs_Ti * CURRENT_INTEGRATION_TIME_S); - if (std::fabs(aux) > std::numeric_limits::epsilon()) + if (aux != 0.0) { tmp_float = 1.0 / aux; } @@ -884,7 +883,7 @@ int glonass_l1_ca_dll_pll_c_aid_tracking_cc::general_work(int noutput_items __at } d_dump_file.write(reinterpret_cast(&tmp_float), sizeof(float)); aux = (d_code_error_filt_chips_Ti * CURRENT_INTEGRATION_TIME_S); - if (std::fabs(aux) > std::numeric_limits::epsilon()) + if (aux != 0.0) { tmp_float = 1.0 / aux; } diff --git a/src/algorithms/tracking/gnuradio_blocks/glonass_l1_ca_dll_pll_c_aid_tracking_sc.cc b/src/algorithms/tracking/gnuradio_blocks/glonass_l1_ca_dll_pll_c_aid_tracking_sc.cc index 9f0eec285..ab4a59b65 100644 --- a/src/algorithms/tracking/gnuradio_blocks/glonass_l1_ca_dll_pll_c_aid_tracking_sc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/glonass_l1_ca_dll_pll_c_aid_tracking_sc.cc @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -876,7 +875,7 @@ int glonass_l1_ca_dll_pll_c_aid_tracking_sc::general_work(int noutput_items __at d_dump_file.write(reinterpret_cast(&tmp_float), sizeof(float)); // PLL commands auto aux = static_cast(d_carr_phase_error_secs_Ti * CURRENT_INTEGRATION_TIME_S); - if (std::fabs(aux) > std::numeric_limits::epsilon()) + if (aux != 0.0) { tmp_float = 1.0 / aux; } @@ -886,7 +885,7 @@ int glonass_l1_ca_dll_pll_c_aid_tracking_sc::general_work(int noutput_items __at } d_dump_file.write(reinterpret_cast(&tmp_float), sizeof(float)); aux = (d_code_error_filt_chips_Ti * CURRENT_INTEGRATION_TIME_S); - if (std::fabs(aux) > std::numeric_limits::epsilon()) + if (aux != 0.0) { tmp_float = 1.0 / aux; } diff --git a/src/algorithms/tracking/gnuradio_blocks/glonass_l2_ca_dll_pll_c_aid_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/glonass_l2_ca_dll_pll_c_aid_tracking_cc.cc index 139d97a8b..dcc2de0da 100644 --- a/src/algorithms/tracking/gnuradio_blocks/glonass_l2_ca_dll_pll_c_aid_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/glonass_l2_ca_dll_pll_c_aid_tracking_cc.cc @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -869,7 +868,7 @@ int glonass_l2_ca_dll_pll_c_aid_tracking_cc::general_work(int noutput_items __at d_dump_file.write(reinterpret_cast(&tmp_float), sizeof(float)); // PLL commands auto aux = static_cast(d_carr_phase_error_secs_Ti * CURRENT_INTEGRATION_TIME_S); - if (std::fabs(aux) > std::numeric_limits::epsilon()) + if (aux != 0.0) { tmp_float = 1.0 / aux; } @@ -879,7 +878,7 @@ int glonass_l2_ca_dll_pll_c_aid_tracking_cc::general_work(int noutput_items __at } d_dump_file.write(reinterpret_cast(&tmp_float), sizeof(float)); aux = (d_code_error_filt_chips_Ti * CURRENT_INTEGRATION_TIME_S); - if (std::fabs(aux) > std::numeric_limits::epsilon()) + if (aux != 0.0) { tmp_float = 1.0 / aux; } diff --git a/src/algorithms/tracking/gnuradio_blocks/glonass_l2_ca_dll_pll_c_aid_tracking_sc.cc b/src/algorithms/tracking/gnuradio_blocks/glonass_l2_ca_dll_pll_c_aid_tracking_sc.cc index 5d09ca933..7592e3918 100644 --- a/src/algorithms/tracking/gnuradio_blocks/glonass_l2_ca_dll_pll_c_aid_tracking_sc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/glonass_l2_ca_dll_pll_c_aid_tracking_sc.cc @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #include @@ -873,7 +872,7 @@ int glonass_l2_ca_dll_pll_c_aid_tracking_sc::general_work(int noutput_items __at d_dump_file.write(reinterpret_cast(&tmp_float), sizeof(float)); // PLL commands auto aux = static_cast(d_carr_phase_error_secs_Ti * CURRENT_INTEGRATION_TIME_S); - if (std::fabs(aux) > std::numeric_limits::epsilon()) + if (aux != 0.0) { tmp_float = 1.0 / aux; } @@ -883,7 +882,7 @@ int glonass_l2_ca_dll_pll_c_aid_tracking_sc::general_work(int noutput_items __at } d_dump_file.write(reinterpret_cast(&tmp_float), sizeof(float)); aux = (d_code_error_filt_chips_Ti * CURRENT_INTEGRATION_TIME_S); - if (std::fabs(aux) > std::numeric_limits::epsilon()) + if (aux != 0.0) { tmp_float = 1.0 / aux; } diff --git a/src/algorithms/tracking/libs/lock_detectors.cc b/src/algorithms/tracking/libs/lock_detectors.cc index b82420ae8..0399ea531 100644 --- a/src/algorithms/tracking/libs/lock_detectors.cc +++ b/src/algorithms/tracking/libs/lock_detectors.cc @@ -34,7 +34,6 @@ #include "lock_detectors.h" #include -#include /* * Signal-to-Noise (SNR) (\f$\rho\f$) estimator using the Signal-to-Noise Variance (SNV) estimator: @@ -58,8 +57,7 @@ float cn0_svn_estimator(const gr_complex* Prompt_buffer, int length, float coh_i float SNR_dB_Hz = 0.0; float Psig = 0.0; float Ptot = 0.0; - const float epsilon = std::numeric_limits::epsilon(); - if (length == 0 || coh_integration_time_s < epsilon) + if (length == 0 || coh_integration_time_s == 0.0) { return -100.0; } @@ -72,14 +70,11 @@ float cn0_svn_estimator(const gr_complex* Prompt_buffer, int length, float coh_i Psig = Psig * Psig; Ptot /= static_cast(length); float aux = Ptot - Psig; - if (aux > epsilon) - { - SNR = Psig / aux; - } - else + if (aux == 0.0) { return -100.0; } + SNR = Psig / aux; SNR_dB_Hz = 10.0F * std::log10(SNR) - 10.0F * std::log10(coh_integration_time_s); return SNR_dB_Hz; } @@ -110,8 +105,7 @@ float cn0_m2m4_estimator(const gr_complex* Prompt_buffer, int length, float coh_ float m_4 = 0.0; float aux; const auto n = static_cast(length); - const float epsilon = std::numeric_limits::epsilon(); - if (length == 0 || coh_integration_time_s <= epsilon) + if (length == 0 || coh_integration_time_s == 0.0) { return -100.0; } @@ -131,7 +125,7 @@ float cn0_m2m4_estimator(const gr_complex* Prompt_buffer, int length, float coh_ if (std::isnan(aux)) { denominator = m_2 - Psig; - if (std::fabs(denominator) < epsilon) + if (denominator == 0) { return -100.0; } @@ -140,14 +134,14 @@ float cn0_m2m4_estimator(const gr_complex* Prompt_buffer, int length, float coh_ else { denominator = m_2 - aux; - if (std::fabs(denominator) < epsilon) + if (denominator == 0) { return -100.0; } SNR_aux = aux / denominator; } - if (std::fabs(SNR_aux) < epsilon) + if (SNR_aux == 0) { return -100.0; } @@ -179,7 +173,7 @@ float carrier_lock_detector(const gr_complex* Prompt_buffer, int length) } NBP = tmp_sum_I * tmp_sum_I + tmp_sum_Q * tmp_sum_Q; NBD = tmp_sum_I * tmp_sum_I - tmp_sum_Q * tmp_sum_Q; - if (NBP < std::numeric_limits::epsilon()) + if (NBP == 0) { return 0.0; }