diff --git a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc index f7d1c828e..4dde2d88e 100644 --- a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc +++ b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc @@ -1223,7 +1223,7 @@ void dll_pll_veml_tracking::update_tracking_vars() } tmp_cp1 /= static_cast(d_trk_parameters.smoother_length); tmp_cp2 /= static_cast(d_trk_parameters.smoother_length); - d_carrier_phase_rate_step_rad = (tmp_cp2 - tmp_cp1) / tmp_samples; + d_carrier_phase_rate_step_rad = (tmp_samples != 0) ? (tmp_cp2 - tmp_cp1) / tmp_samples : 0.0; } } // std::cout << d_carrier_phase_rate_step_rad * d_trk_parameters.fs_in * d_trk_parameters.fs_in / TWO_PI << '\n'; diff --git a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc index 275892172..53dbfda3e 100644 --- a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc +++ b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking_fpga.cc @@ -846,7 +846,7 @@ void dll_pll_veml_tracking_fpga::update_tracking_vars() } tmp_cp1 /= static_cast(d_trk_parameters.smoother_length); tmp_cp2 /= static_cast(d_trk_parameters.smoother_length); - d_carrier_phase_rate_step_rad = (tmp_cp2 - tmp_cp1) / tmp_samples; + d_carrier_phase_rate_step_rad = (tmp_samples != 0) ? (tmp_cp2 - tmp_cp1) / tmp_samples : 0.0; } } // std::cout << d_carrier_phase_rate_step_rad * d_trk_parameters.fs_in * d_trk_parameters.fs_in / TWO_PI << '\n'; diff --git a/src/algorithms/tracking/gnuradio_blocks/kf_tracking.cc b/src/algorithms/tracking/gnuradio_blocks/kf_tracking.cc index 27a264096..742b80b86 100644 --- a/src/algorithms/tracking/gnuradio_blocks/kf_tracking.cc +++ b/src/algorithms/tracking/gnuradio_blocks/kf_tracking.cc @@ -1285,10 +1285,7 @@ void kf_tracking::update_tracking_vars() } tmp_cp1 /= static_cast(d_trk_parameters.smoother_length); tmp_cp2 /= static_cast(d_trk_parameters.smoother_length); - if (tmp_samples >= 1.0) - { - d_carrier_phase_rate_step_rad = (tmp_cp2 - tmp_cp1) / tmp_samples; - } + d_carrier_phase_rate_step_rad = (tmp_samples != 0) ? (tmp_cp2 - tmp_cp1) / tmp_samples : 0.0; d_x_old_old(3) = d_carrier_phase_rate_step_rad * d_trk_parameters.fs_in / TWO_PI; } } @@ -1320,7 +1317,7 @@ void kf_tracking::update_tracking_vars() } tmp_cp1 /= static_cast(d_trk_parameters.smoother_length); tmp_cp2 /= static_cast(d_trk_parameters.smoother_length); - d_code_phase_rate_step_chips = (tmp_cp2 - tmp_cp1) / tmp_samples; + d_code_phase_rate_step_chips = (tmp_samples != 0) ? (tmp_cp2 - tmp_cp1) / tmp_samples : 0.0; } }