mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-30 14:53:03 +00:00 
			
		
		
		
	Migrate tracking adapters to new conf structure
This commit is contained in:
		| @@ -49,26 +49,36 @@ GalileoE5aDllPllTracking::GalileoE5aDllPllTracking( | ||||
|     ConfigurationInterface* configuration, std::string role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     dllpllconf_t trk_param; | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     //################# CONFIGURATION PARAMETERS ######################## | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string item_type = configuration->property(role + ".item_type", default_item_type); | ||||
|     int fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 12000000); | ||||
|     int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     trk_param.fs_in = fs_in; | ||||
|     bool dump = configuration->property(role + ".dump", false); | ||||
|     trk_param.dump = dump; | ||||
|     float pll_bw_hz = configuration->property(role + ".pll_bw_hz", 20.0); | ||||
|     if (FLAGS_pll_bw_hz != 0.0) pll_bw_hz = static_cast<float>(FLAGS_pll_bw_hz); | ||||
|     trk_param.pll_bw_hz = pll_bw_hz; | ||||
|     float dll_bw_hz = configuration->property(role + ".dll_bw_hz", 20.0); | ||||
|     if (FLAGS_dll_bw_hz != 0.0) dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz); | ||||
|     trk_param.dll_bw_hz = dll_bw_hz; | ||||
|     float pll_bw_narrow_hz = configuration->property(role + ".pll_bw_narrow_hz", 5.0); | ||||
|     trk_param.pll_bw_narrow_hz = pll_bw_narrow_hz; | ||||
|     float dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", 2.0); | ||||
|     int ti_ms = configuration->property(role + ".ti_ms", 3); | ||||
|     trk_param.dll_bw_narrow_hz = dll_bw_narrow_hz; | ||||
|     float early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); | ||||
|     trk_param.early_late_space_chips = early_late_space_chips; | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     trk_param.dump_filename = dump_filename; | ||||
|     int vector_length = std::round(fs_in / (Galileo_E5a_CODE_CHIP_RATE_HZ / Galileo_E5a_CODE_LENGTH_CHIPS)); | ||||
|     trk_param.vector_length = vector_length; | ||||
|     int extend_correlation_symbols = configuration->property(role + ".extend_correlation_symbols", 1); | ||||
|     float early_late_space_narrow_chips = configuration->property(role + ".early_late_space_narrow_chips", 0.15); | ||||
|     trk_param.early_late_space_narrow_chips = early_late_space_narrow_chips; | ||||
|     bool track_pilot = configuration->property(role + ".track_pilot", false); | ||||
|     if (extend_correlation_symbols < 1) | ||||
|         { | ||||
| @@ -84,22 +94,18 @@ GalileoE5aDllPllTracking::GalileoE5aDllPllTracking( | ||||
|         { | ||||
|             std::cout << TEXT_RED << "WARNING: Galileo E5a. PLL or DLL narrow tracking bandwidth is higher than wide tracking one" << TEXT_RESET << std::endl; | ||||
|         } | ||||
|     trk_param.extend_correlation_symbols = extend_correlation_symbols; | ||||
|     trk_param.track_pilot = track_pilot; | ||||
|     trk_param.very_early_late_space_chips = 0.0; | ||||
|     trk_param.very_early_late_space_narrow_chips = 0.0; | ||||
|     trk_param.system = 'E'; | ||||
|     char sig_[3] = "5X"; | ||||
|     std::memcpy(trk_param.signal, sig_, 3); | ||||
|     //################# MAKE TRACKING GNURadio object ################### | ||||
|     if (item_type.compare("gr_complex") == 0) | ||||
|         { | ||||
|             item_size_ = sizeof(gr_complex); | ||||
|             char sig_[3] = "5X"; | ||||
|             item_size_ = sizeof(gr_complex); | ||||
|             tracking_ = dll_pll_veml_make_tracking( | ||||
|                 fs_in, vector_length, dump, dump_filename, | ||||
|                 pll_bw_hz, dll_bw_hz, | ||||
|                 pll_bw_narrow_hz, dll_bw_narrow_hz, | ||||
|                 early_late_space_chips, | ||||
|                 early_late_space_chips, | ||||
|                 early_late_space_narrow_chips, | ||||
|                 early_late_space_narrow_chips, | ||||
|                 extend_correlation_symbols, | ||||
|                 track_pilot, 'E', sig_); | ||||
|             tracking_ = dll_pll_veml_make_tracking(trk_param); | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|   | ||||
| @@ -96,14 +96,7 @@ GpsL2MDllPllTracking::GpsL2MDllPllTracking( | ||||
|     if (item_type.compare("gr_complex") == 0) | ||||
|         { | ||||
|             item_size_ = sizeof(gr_complex); | ||||
|             tracking_ = dll_pll_veml_make_tracking( | ||||
|                 fs_in, vector_length, dump, dump_filename, | ||||
|                 pll_bw_hz, dll_bw_hz, pll_bw_hz, dll_bw_hz, | ||||
|                 early_late_space_chips, | ||||
|                 early_late_space_chips, | ||||
|                 early_late_space_chips, | ||||
|                 early_late_space_chips, | ||||
|                 1, false, 'G', sig_); | ||||
|             tracking_ = dll_pll_veml_make_tracking(trk_param); | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|   | ||||
| @@ -105,16 +105,7 @@ GpsL5iDllPllTracking::GpsL5iDllPllTracking( | ||||
|     if (item_type.compare("gr_complex") == 0) | ||||
|         { | ||||
|             item_size_ = sizeof(gr_complex); | ||||
|             tracking_ = dll_pll_veml_make_tracking( | ||||
|                 fs_in, vector_length, dump, dump_filename, | ||||
|                 pll_bw_hz, dll_bw_hz, | ||||
|                 pll_bw_narrow_hz, dll_bw_narrow_hz, | ||||
|                 early_late_space_chips, | ||||
|                 early_late_space_chips, | ||||
|                 early_late_space_narrow_chips, | ||||
|                 early_late_space_narrow_chips, | ||||
|                 extend_correlation_symbols, | ||||
|                 track_pilot, 'G', sig_); | ||||
|             tracking_ = dll_pll_veml_make_tracking(trk_param); | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Antonio Ramos
					Antonio Ramos