mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	Add new carrier_smoothing_factor flag
Fix some public/private dependency issues Add enable_carrier_smoothing flag to position_test
This commit is contained in:
		| @@ -71,6 +71,7 @@ DEFINE_double(dll_bw_hz, 0.0, "If defined, bandwidth of the DLL low pass filter, | ||||
|  | ||||
| DEFINE_double(pll_bw_hz, 0.0, "If defined, bandwidth of the PLL low pass filter, in Hz (overrides the configuration file)."); | ||||
|  | ||||
| DEFINE_double(carrier_smoothing_factor, DEFAULT_CARRIER_SMOOTHING_FACTOR, "Sets carrier smoothing factor M"); | ||||
|  | ||||
| #if GFLAGS_GREATER_2_0 | ||||
|  | ||||
|   | ||||
| @@ -46,6 +46,10 @@ DECLARE_double(carrier_lock_th);       //!< Carrier lock threshold (in rad). | ||||
| DECLARE_double(dll_bw_hz);             //!< Bandwidth of the DLL low pass filter, in Hz (overrides the configuration file). | ||||
| DECLARE_double(pll_bw_hz);             //!< Bandwidth of the PLL low pass filter, in Hz (overrides the configuration file). | ||||
|  | ||||
| // Declare flags for observables block | ||||
| DECLARE_double(carrier_smoothing_factor);  //!< Sets carrier smoothing factor M (overrides the configuration file). | ||||
| const double DEFAULT_CARRIER_SMOOTHING_FACTOR = 200.0; | ||||
|  | ||||
| // Declare flags for PVT | ||||
| DECLARE_string(RINEX_version);  //!< If defined, specifies the RINEX version (2.11 or 3.02). Overrides the configuration file. | ||||
|  | ||||
|   | ||||
| @@ -28,6 +28,7 @@ target_link_libraries(obs_adapters | ||||
|         obs_gr_blocks | ||||
|         algorithms_libs | ||||
|     PRIVATE | ||||
|         gnss_sdr_flags | ||||
|         observables_libs | ||||
|         Gflags::gflags | ||||
|         Glog::glog | ||||
|   | ||||
| @@ -20,11 +20,13 @@ | ||||
|  | ||||
| #include "hybrid_observables.h" | ||||
| #include "configuration_interface.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "obs_conf.h" | ||||
| #include <glog/logging.h> | ||||
| #include <cmath>    // for std::fabs | ||||
| #include <limits>   // for epsilon() | ||||
| #include <ostream>  // for operator<< | ||||
|  | ||||
|  | ||||
| HybridObservables::HybridObservables(ConfigurationInterface* configuration, | ||||
|     const std::string& role, unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
| @@ -41,9 +43,13 @@ HybridObservables::HybridObservables(ConfigurationInterface* configuration, | ||||
|     conf.dump_filename = dump_filename_; | ||||
|     conf.nchannels_in = in_streams_; | ||||
|     conf.nchannels_out = out_streams_; | ||||
|     conf.enable_carrier_smoothing = configuration->property(role + ".enable_carrier_smoothing", conf.enable_carrier_smoothing); | ||||
|  | ||||
|     if (std::fabs(FLAGS_carrier_smoothing_factor - DEFAULT_CARRIER_SMOOTHING_FACTOR) <= std::numeric_limits<double>::epsilon())  // compare doubles | ||||
|         { | ||||
|             conf.smoothing_factor = configuration->property(role + ".smoothing_factor", conf.smoothing_factor); | ||||
|         } | ||||
|  | ||||
|     conf.enable_carrier_smoothing = configuration->property(role + ".enable_carrier_smoothing", false); | ||||
|     conf.smoothing_factor = configuration->property(role + ".smoothing_factor", 200.0); | ||||
|     if (conf.enable_carrier_smoothing == true) | ||||
|         { | ||||
|             LOG(INFO) << "Observables carrier smoothing enabled with smoothing factor " << conf.smoothing_factor; | ||||
|   | ||||
| @@ -18,6 +18,11 @@ add_library(observables_libs | ||||
|     ${OBSERVABLES_LIB_HEADERS} | ||||
| ) | ||||
|  | ||||
| target_link_libraries(observables_libs | ||||
|     PRIVATE | ||||
|         gnss_sdr_flags | ||||
| ) | ||||
|  | ||||
| if(ENABLE_CLANG_TIDY) | ||||
|     if(CLANG_TIDY_EXE) | ||||
|         set_target_properties(observables_libs | ||||
|   | ||||
| @@ -19,11 +19,12 @@ | ||||
|  */ | ||||
|  | ||||
| #include "obs_conf.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
|  | ||||
| Obs_Conf::Obs_Conf() | ||||
| { | ||||
|     enable_carrier_smoothing = false; | ||||
|     smoothing_factor = 200; | ||||
|     smoothing_factor = FLAGS_carrier_smoothing_factor; | ||||
|     nchannels_in = 0; | ||||
|     nchannels_out = 0; | ||||
|     dump = false; | ||||
|   | ||||
| @@ -86,9 +86,9 @@ target_link_libraries(tracking_adapters | ||||
|     PUBLIC | ||||
|         tracking_gr_blocks | ||||
|         algorithms_libs | ||||
|         gnss_sdr_flags | ||||
|         Gnuradio::runtime | ||||
|     PRIVATE | ||||
|         gnss_sdr_flags | ||||
|         Volkgnsssdr::volkgnsssdr | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -82,9 +82,10 @@ target_link_libraries(tracking_gr_blocks | ||||
|         Gnuradio::blocks | ||||
|         Matio::matio | ||||
|         Volkgnsssdr::volkgnsssdr | ||||
|         gnss_sdr_flags | ||||
|         algorithms_libs | ||||
|         tracking_libs | ||||
|     PRIVATE | ||||
|         gnss_sdr_flags | ||||
| ) | ||||
|  | ||||
| if(ENABLE_CUDA AND NOT CMAKE_VERSION VERSION_GREATER 3.11) | ||||
|   | ||||
| @@ -84,6 +84,7 @@ target_link_libraries(tracking_libs | ||||
|         algorithms_libs | ||||
|         ${OPT_TRACKING_LIBRARIES} | ||||
|     PRIVATE | ||||
|         gnss_sdr_flags | ||||
|         Gflags::gflags | ||||
|         Glog::glog | ||||
| ) | ||||
|   | ||||
| @@ -649,13 +649,13 @@ if(ENABLE_SYSTEM_TESTING) | ||||
|  | ||||
|     if(ENABLE_SYSTEM_TESTING_EXTRA) | ||||
|         #### POSITION_TEST | ||||
|         set(OPT_LIBS_ Boost::thread | ||||
|             Threads::Threads Gflags::gflags Glog::glog | ||||
|         set(OPT_LIBS_ | ||||
|             algorithms_libs core_receiver core_system_parameters gnss_sdr_flags | ||||
|             system_testing_lib signal_processing_testing_lib | ||||
|             Boost::thread Threads::Threads Gflags::gflags Glog::glog | ||||
|             GTest::GTest GTest::Main Gnuradio::runtime | ||||
|             Gnuradio::blocks Gnuradio::filter | ||||
|             Gnuradio::analog Matio::matio Volkgnsssdr::volkgnsssdr | ||||
|             algorithms_libs core_receiver core_system_parameters | ||||
|             system_testing_lib signal_processing_testing_lib | ||||
|         ) | ||||
|         add_system_test(position_test) | ||||
|         if(NOT GNSSSIMULATOR_FOUND OR ENABLE_GNSS_SIM_INSTALL) | ||||
|   | ||||
| @@ -37,4 +37,6 @@ DEFINE_double(accuracy_CEP, 2.0, "Static scenario 2D (East, North) accuracy Circ | ||||
| DEFINE_double(precision_SEP, 10.0, "Static scenario 3D (East, North, Up) precision Spherical Error Position (SEP) threshold [meters]"); | ||||
| DEFINE_double(dynamic_3D_position_RMSE, 10.0, "Dynamic scenario 3D (ECEF) accuracy RMSE threshold [meters]"); | ||||
| DEFINE_double(dynamic_3D_velocity_RMSE, 5.0, "Dynamic scenario 3D (ECEF) velocity accuracy RMSE threshold [meters/second]"); | ||||
| DEFINE_bool(enable_carrier_smoothing, false, "Activates carrier smoothing of pseudoranges"); | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -28,6 +28,7 @@ | ||||
| #include "control_thread.h" | ||||
| #include "file_configuration.h" | ||||
| #include "geofunctions.h" | ||||
| #include "gnss_sdr_flags.h" | ||||
| #include "gnuplot_i.h" | ||||
| #include "in_memory_configuration.h" | ||||
| #include "position_test_flags.h" | ||||
| @@ -302,6 +303,8 @@ int PositionSystemTest::configure_receiver() | ||||
|  | ||||
|             // Set Observables | ||||
|             config->set_property("Observables.implementation", "Hybrid_Observables"); | ||||
|             config->set_property("Observables.enable_carrier_smoothing", FLAGS_enable_carrier_smoothing ? "true" : "false"); | ||||
|             config->set_property("Observables.smoothing_factor", std::to_string(FLAGS_carrier_smoothing_factor)); | ||||
|             config->set_property("Observables.dump", "false"); | ||||
|             config->set_property("Observables.dump_filename", "./observables.dat"); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez