mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	bds: Add unified trk startegy to deliver 1 symbol per sample
This works builds up upon J. Arribas work for unified symbol dec in tracking. Fixes a couple of bugs with PVT code and adds new code for RINEX functions. Adds cosmetic fixes to the code with unused variables.
This commit is contained in:
		| @@ -286,17 +286,16 @@ dll_pll_veml_tracking::dll_pll_veml_tracking(const Dll_Pll_Conf &conf_) : gr::bl | ||||
|                     d_code_period = BEIDOU_B1I_CODE_PERIOD; | ||||
|                     d_code_chip_rate = BEIDOU_B1I_CODE_RATE_HZ; | ||||
|                     d_code_length_chips = static_cast<uint32_t>(BEIDOU_B1I_CODE_LENGTH_CHIPS); | ||||
|                     //d_symbols_per_bit = BEIDOU_B1I_TELEMETRY_SYMBOLS_PER_BIT; //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_symbols_per_bit = 1; | ||||
|                     d_symbols_per_bit = BEIDOU_B1I_TELEMETRY_SYMBOLS_PER_BIT;  //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_correlation_length_ms = 1; | ||||
|                     d_code_samples_per_chip = 1; | ||||
|                     d_secondary = false; | ||||
|                     d_secondary = true; | ||||
|                     trk_parameters.track_pilot = false; | ||||
|                     // synchronize and remove data secondary code | ||||
|                     d_secondary_code_length = static_cast<uint32_t>(BEIDOU_B1I_SECONDARY_CODE_LENGTH); | ||||
|                     d_secondary_code_string = const_cast<std::string *>(&BEIDOU_B1I_SECONDARY_CODE_STR); | ||||
|                     //d_data_secondary_code_length = static_cast<uint32_t>(BEIDOU_B1I_SECONDARY_CODE_LENGTH); | ||||
|                     //d_data_secondary_code_string = const_cast<std::string *>(&BEIDOU_B1I_SECONDARY_CODE_STR); | ||||
|                     d_data_secondary_code_length = static_cast<uint32_t>(BEIDOU_B1I_SECONDARY_CODE_LENGTH); | ||||
|                     d_data_secondary_code_string = const_cast<std::string *>(&BEIDOU_B1I_SECONDARY_CODE_STR); | ||||
|                 } | ||||
|             else if (signal_type == "B3") | ||||
|                 { | ||||
| @@ -305,16 +304,15 @@ dll_pll_veml_tracking::dll_pll_veml_tracking(const Dll_Pll_Conf &conf_) : gr::bl | ||||
|                     d_code_period = BEIDOU_B3I_CODE_PERIOD; | ||||
|                     d_code_chip_rate = BEIDOU_B3I_CODE_RATE_HZ; | ||||
|                     d_code_length_chips = static_cast<uint32_t>(BEIDOU_B3I_CODE_LENGTH_CHIPS); | ||||
|                     //d_symbols_per_bit = BEIDOU_B3I_TELEMETRY_SYMBOLS_PER_BIT; //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_symbols_per_bit = 1; | ||||
|                     d_symbols_per_bit = BEIDOU_B3I_TELEMETRY_SYMBOLS_PER_BIT;  //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_correlation_length_ms = 1; | ||||
|                     d_code_samples_per_chip = 1; | ||||
|                     d_secondary = false; | ||||
|                     trk_parameters.track_pilot = false; | ||||
|                     d_secondary_code_length = static_cast<uint32_t>(BEIDOU_B3I_SECONDARY_CODE_LENGTH); | ||||
|                     d_secondary_code_string = const_cast<std::string *>(&BEIDOU_B3I_SECONDARY_CODE_STR); | ||||
|                     //d_data_secondary_code_length = static_cast<uint32_t>(BEIDOU_B3I_SECONDARY_CODE_LENGTH); | ||||
|                     //d_data_secondary_code_string = const_cast<std::string *>(&BEIDOU_B3I_SECONDARY_CODE_STR); | ||||
|                     d_data_secondary_code_length = static_cast<uint32_t>(BEIDOU_B3I_SECONDARY_CODE_LENGTH); | ||||
|                     d_data_secondary_code_string = const_cast<std::string *>(&BEIDOU_B3I_SECONDARY_CODE_STR); | ||||
|                 } | ||||
|             else | ||||
|                 { | ||||
| @@ -651,8 +649,7 @@ void dll_pll_veml_tracking::start_tracking() | ||||
|             // GEO Satellites use different secondary code | ||||
|             if (d_acquisition_gnss_synchro->PRN > 0 and d_acquisition_gnss_synchro->PRN < 6) | ||||
|                 { | ||||
|                     //d_symbols_per_bit = BEIDOU_B1I_GEO_TELEMETRY_SYMBOLS_PER_BIT;//todo: enable after fixing beidou symbol synchronization | ||||
|                     d_symbols_per_bit = 1; | ||||
|                     d_symbols_per_bit = BEIDOU_B1I_GEO_TELEMETRY_SYMBOLS_PER_BIT;  //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_correlation_length_ms = 1; | ||||
|                     d_code_samples_per_chip = 1; | ||||
|                     d_secondary = false; | ||||
| @@ -665,8 +662,7 @@ void dll_pll_veml_tracking::start_tracking() | ||||
|                 } | ||||
|             else | ||||
|                 { | ||||
|                     //d_symbols_per_bit = BEIDOU_B1I_TELEMETRY_SYMBOLS_PER_BIT;//todo: enable after fixing beidou symbol synchronization | ||||
|                     d_symbols_per_bit = 1; | ||||
|                     d_symbols_per_bit = BEIDOU_B1I_TELEMETRY_SYMBOLS_PER_BIT;  //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_correlation_length_ms = 1; | ||||
|                     d_code_samples_per_chip = 1; | ||||
|                     d_secondary = false; | ||||
| @@ -674,8 +670,8 @@ void dll_pll_veml_tracking::start_tracking() | ||||
|                     // synchronize and remove data secondary code | ||||
|                     d_secondary_code_length = static_cast<uint32_t>(BEIDOU_B1I_SECONDARY_CODE_LENGTH); | ||||
|                     d_secondary_code_string = const_cast<std::string *>(&BEIDOU_B1I_SECONDARY_CODE_STR); | ||||
|                     //d_data_secondary_code_length = static_cast<uint32_t>(BEIDOU_B1I_SECONDARY_CODE_LENGTH); | ||||
|                     //d_data_secondary_code_string = const_cast<std::string *>(&BEIDOU_B1I_SECONDARY_CODE_STR); | ||||
|                     d_data_secondary_code_length = static_cast<uint32_t>(BEIDOU_B1I_SECONDARY_CODE_LENGTH); | ||||
|                     d_data_secondary_code_string = const_cast<std::string *>(&BEIDOU_B1I_SECONDARY_CODE_STR); | ||||
|                     d_Prompt_circular_buffer.set_capacity(d_secondary_code_length); | ||||
|                 } | ||||
|         } | ||||
| @@ -686,11 +682,10 @@ void dll_pll_veml_tracking::start_tracking() | ||||
|             // Update secondary code settings for geo satellites | ||||
|             if (d_acquisition_gnss_synchro->PRN > 0 and d_acquisition_gnss_synchro->PRN < 6) | ||||
|                 { | ||||
|                     //d_symbols_per_bit = BEIDOU_B3I_GEO_TELEMETRY_SYMBOLS_PER_BIT;//todo: enable after fixing beidou symbol synchronization | ||||
|                     d_symbols_per_bit = 1; | ||||
|                     d_symbols_per_bit = BEIDOU_B3I_GEO_TELEMETRY_SYMBOLS_PER_BIT;  //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_correlation_length_ms = 1; | ||||
|                     d_code_samples_per_chip = 1; | ||||
|                     d_secondary = false; | ||||
|                     d_secondary = true; | ||||
|                     trk_parameters.track_pilot = false; | ||||
|                     // set the preamble in the secondary code acquisition | ||||
|                     d_secondary_code_length = static_cast<uint32_t>(BEIDOU_B3I_GEO_PREAMBLE_LENGTH_SYMBOLS); | ||||
| @@ -700,17 +695,16 @@ void dll_pll_veml_tracking::start_tracking() | ||||
|                 } | ||||
|             else | ||||
|                 { | ||||
|                     //d_symbols_per_bit = BEIDOU_B3I_TELEMETRY_SYMBOLS_PER_BIT; //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_symbols_per_bit = 1; | ||||
|                     d_symbols_per_bit = BEIDOU_B3I_TELEMETRY_SYMBOLS_PER_BIT;  //todo: enable after fixing beidou symbol synchronization | ||||
|                     d_correlation_length_ms = 1; | ||||
|                     d_code_samples_per_chip = 1; | ||||
|                     d_secondary = false; | ||||
|                     d_secondary = true; | ||||
|                     trk_parameters.track_pilot = false; | ||||
|                     // synchronize and remove data secondary code | ||||
|                     d_secondary_code_length = static_cast<uint32_t>(BEIDOU_B3I_SECONDARY_CODE_LENGTH); | ||||
|                     d_secondary_code_string = const_cast<std::string *>(&BEIDOU_B3I_SECONDARY_CODE_STR); | ||||
|                     //d_data_secondary_code_length = static_cast<uint32_t>(BEIDOU_B3I_SECONDARY_CODE_LENGTH); | ||||
|                     //d_data_secondary_code_string = const_cast<std::string *>(&BEIDOU_B3I_SECONDARY_CODE_STR); | ||||
|                     d_data_secondary_code_length = static_cast<uint32_t>(BEIDOU_B3I_SECONDARY_CODE_LENGTH); | ||||
|                     d_data_secondary_code_string = const_cast<std::string *>(&BEIDOU_B3I_SECONDARY_CODE_STR); | ||||
|                     d_Prompt_circular_buffer.set_capacity(d_secondary_code_length); | ||||
|                 } | ||||
|         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Damian Miralles
					Damian Miralles