mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	Reduce number of warnings raised by bugprone-* clang-tidy checks
This commit is contained in:
		| @@ -48,10 +48,10 @@ Rtklib_Pvt::Rtklib_Pvt(const ConfigurationInterface* configuration, | ||||
| { | ||||
|     Pvt_Conf pvt_output_parameters = Pvt_Conf(); | ||||
|     // dump parameters | ||||
|     std::string default_dump_filename = "./pvt.dat"; | ||||
|     std::string default_nmea_dump_filename = "./nmea_pvt.nmea"; | ||||
|     std::string default_nmea_dump_devname = "/dev/tty1"; | ||||
|     std::string default_rtcm_dump_devname = "/dev/pts/1"; | ||||
|     const std::string default_dump_filename("./pvt.dat"); | ||||
|     const std::string default_nmea_dump_filename("./nmea_pvt.nmea"); | ||||
|     const std::string default_nmea_dump_devname("/dev/tty1"); | ||||
|     const std::string default_rtcm_dump_devname("/dev/pts/1"); | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     pvt_output_parameters.dump = configuration->property(role + ".dump", false); | ||||
|     pvt_output_parameters.dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
| @@ -73,27 +73,11 @@ Rtklib_Pvt::Rtklib_Pvt(const ConfigurationInterface* configuration, | ||||
|  | ||||
|     // RINEX version | ||||
|     pvt_output_parameters.rinex_version = configuration->property(role + ".rinex_version", 3); | ||||
|     if (FLAGS_RINEX_version == "3.01") | ||||
|     if (FLAGS_RINEX_version == "3.01" || FLAGS_RINEX_version == "3.02" || FLAGS_RINEX_version == "3") | ||||
|         { | ||||
|             pvt_output_parameters.rinex_version = 3; | ||||
|         } | ||||
|     else if (FLAGS_RINEX_version == "3.02") | ||||
|         { | ||||
|             pvt_output_parameters.rinex_version = 3; | ||||
|         } | ||||
|     else if (FLAGS_RINEX_version == "3") | ||||
|         { | ||||
|             pvt_output_parameters.rinex_version = 3; | ||||
|         } | ||||
|     else if (FLAGS_RINEX_version == "2.11") | ||||
|         { | ||||
|             pvt_output_parameters.rinex_version = 2; | ||||
|         } | ||||
|     else if (FLAGS_RINEX_version == "2.10") | ||||
|         { | ||||
|             pvt_output_parameters.rinex_version = 2; | ||||
|         } | ||||
|     else if (FLAGS_RINEX_version == "2") | ||||
|     else if (FLAGS_RINEX_version == "2.10" || FLAGS_RINEX_version == "2.11" || FLAGS_RINEX_version == "2") | ||||
|         { | ||||
|             pvt_output_parameters.rinex_version = 2; | ||||
|         } | ||||
|   | ||||
| @@ -1090,17 +1090,11 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg) | ||||
|                                     switch (d_type_of_rx) | ||||
|                                         { | ||||
|                                         case 1:  // GPS L1 C/A only | ||||
|                                             d_rp->log_rinex_nav(d_rp->navFile, new_eph); | ||||
|                                             break; | ||||
|                                         case 8:  // L1+L5 | ||||
|                                             d_rp->log_rinex_nav(d_rp->navFile, new_eph); | ||||
|                                             break; | ||||
|                                         case 9:  // GPS L1 C/A + Galileo E1B | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 9:   // GPS L1 C/A + Galileo E1B | ||||
|                                         case 10:  // GPS L1 C/A + Galileo E5a | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 11:  // GPS L1 C/A + Galileo E5b | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
| @@ -1125,8 +1119,6 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg) | ||||
|                                                 } | ||||
|                                             break; | ||||
|                                         case 32:  // L1+E1+L5+E5a | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 33:  // L1+E1+E5a | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
| @@ -1201,11 +1193,7 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg) | ||||
|                                     switch (d_type_of_rx) | ||||
|                                         { | ||||
|                                         case 2:  // GPS L2C only | ||||
|                                             d_rp->log_rinex_nav(d_rp->navFile, new_cnav_eph); | ||||
|                                             break; | ||||
|                                         case 3:  // GPS L5 only | ||||
|                                             d_rp->log_rinex_nav(d_rp->navFile, new_cnav_eph); | ||||
|                                             break; | ||||
|                                         case 7:  // GPS L1 C/A + GPS L2C | ||||
|                                             d_rp->log_rinex_nav(d_rp->navFile, new_cnav_eph); | ||||
|                                             break; | ||||
| @@ -1213,8 +1201,6 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg) | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_cnav_eph, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 28:  // GPS L2C + GLONASS L1 C/A | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_cnav_eph, new_glo_eph); | ||||
|                                             break; | ||||
|                                         case 31:  // GPS L2C + GLONASS L2 C/A | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_cnav_eph, new_glo_eph); | ||||
|                                             break; | ||||
| @@ -1303,20 +1289,12 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg) | ||||
|                                     switch (d_type_of_rx) | ||||
|                                         { | ||||
|                                         case 4:  // Galileo E1B only | ||||
|                                             d_rp->log_rinex_nav(d_rp->navGalFile, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 5:  // Galileo E5a only | ||||
|                                             d_rp->log_rinex_nav(d_rp->navGalFile, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 6:  // Galileo E5b only | ||||
|                                             d_rp->log_rinex_nav(d_rp->navGalFile, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 9:  // GPS L1 C/A + Galileo E1B | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 9:   // GPS L1 C/A + Galileo E1B | ||||
|                                         case 10:  // GPS L1 C/A + Galileo E5a | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 11:  // GPS L1 C/A + Galileo E5b | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
| @@ -1327,17 +1305,11 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg) | ||||
|                                             d_rp->log_rinex_nav(d_rp->navGalFile, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 27:  // Galileo E1B + GLONASS L1 C/A | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_gal_eph, new_glo_eph); | ||||
|                                             break; | ||||
|                                         case 30:  // Galileo E1B + GLONASS L2 C/A | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_gal_eph, new_glo_eph); | ||||
|                                             break; | ||||
|                                         case 32:  // L1+E1+L5+E5a | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 33:  // L1+E1+E5a | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
|                                         case 32:    // L1+E1+L5+E5a | ||||
|                                         case 33:    // L1+E1+E5a | ||||
|                                         case 1001:  // L1+E1+L2+L5+E5a | ||||
|                                             d_rp->log_rinex_nav(d_rp->navMixFile, new_eph, new_gal_eph); | ||||
|                                             break; | ||||
| @@ -1463,11 +1435,7 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg) | ||||
|                                     switch (d_type_of_rx) | ||||
|                                         { | ||||
|                                         case 23:  // GLONASS L1 C/A | ||||
|                                             d_rp->log_rinex_nav(d_rp->navGloFile, new_glo_eph); | ||||
|                                             break; | ||||
|                                         case 24:  // GLONASS L2 C/A | ||||
|                                             d_rp->log_rinex_nav(d_rp->navGloFile, new_glo_eph); | ||||
|                                             break; | ||||
|                                         case 25:  // GLONASS L1 C/A + GLONASS L2 C/A | ||||
|                                             d_rp->log_rinex_nav(d_rp->navGloFile, new_glo_eph); | ||||
|                                             break; | ||||
| @@ -1574,8 +1542,6 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg) | ||||
|                                     switch (d_type_of_rx) | ||||
|                                         { | ||||
|                                         case 500:  // BDS B1I only | ||||
|                                             d_rp->log_rinex_nav(d_rp->navFile, new_bds_eph); | ||||
|                                             break; | ||||
|                                         case 600:  // BDS B3I only | ||||
|                                             d_rp->log_rinex_nav(d_rp->navFile, new_bds_eph); | ||||
|                                             break; | ||||
| @@ -1830,17 +1796,11 @@ void rtklib_pvt_gs::apply_rx_clock_offset(std::map<int, Gnss_Synchro>& observabl | ||||
|             switch (d_mapStringValues[observables_iter->second.Signal]) | ||||
|                 { | ||||
|                 case evGPS_1C: | ||||
|                     observables_iter->second.Carrier_phase_rads -= rx_clock_offset_s * FREQ1 * TWO_PI; | ||||
|                     break; | ||||
|                 case evGPS_L5: | ||||
|                     observables_iter->second.Carrier_phase_rads -= rx_clock_offset_s * FREQ5 * TWO_PI; | ||||
|                     break; | ||||
|                 case evSBAS_1C: | ||||
|                     observables_iter->second.Carrier_phase_rads -= rx_clock_offset_s * FREQ1 * TWO_PI; | ||||
|                     break; | ||||
|                 case evGAL_1B: | ||||
|                     observables_iter->second.Carrier_phase_rads -= rx_clock_offset_s * FREQ1 * TWO_PI; | ||||
|                     break; | ||||
|                 case evGPS_L5: | ||||
|                 case evGAL_5X: | ||||
|                     observables_iter->second.Carrier_phase_rads -= rx_clock_offset_s * FREQ5 * TWO_PI; | ||||
|                     break; | ||||
| @@ -1932,17 +1892,11 @@ void rtklib_pvt_gs::initialize_and_apply_carrier_phase_offset() | ||||
|                     switch (d_mapStringValues[observables_iter->second.Signal]) | ||||
|                         { | ||||
|                         case evGPS_1C: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ1; | ||||
|                             break; | ||||
|                         case evGPS_L5: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ5; | ||||
|                             break; | ||||
|                         case evSBAS_1C: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ1; | ||||
|                             break; | ||||
|                         case evGAL_1B: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ1; | ||||
|                             break; | ||||
|                         case evGPS_L5: | ||||
|                         case evGAL_5X: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ5; | ||||
|                             break; | ||||
| @@ -2688,35 +2642,8 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item | ||||
|  | ||||
|                                                             break; | ||||
|                                                         case 503:  // BeiDou B1I + GLONASS L1 C/A | ||||
|                                                             if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend()) | ||||
|                                                                 { | ||||
|                                                                     // d_rp->rinex_obs_header(d_rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1"); | ||||
|                                                                     // d_rp->rinex_nav_header(d_rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model); | ||||
|                                                                     // d_rp->log_rinex_nav(d_rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map); | ||||
|                                                                     d_rinex_header_written = true;  // do not write header anymore | ||||
|                                                                 } | ||||
|  | ||||
|                                                             break; | ||||
|                                                         case 504:  // BeiDou B1I + GPS L1 C/A + Galileo E1B | ||||
|                                                             if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend()) | ||||
|                                                                 { | ||||
|                                                                     // d_rp->rinex_obs_header(d_rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1"); | ||||
|                                                                     // d_rp->rinex_nav_header(d_rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model); | ||||
|                                                                     // d_rp->log_rinex_nav(d_rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map); | ||||
|                                                                     d_rinex_header_written = true;  // do not write header anymore | ||||
|                                                                 } | ||||
|  | ||||
|                                                             break; | ||||
|                                                         case 505:  // BeiDou B1I + GPS L1 C/A + GLONASS L1 C/A + Galileo E1B | ||||
|                                                             if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend()) | ||||
|                                                                 { | ||||
|                                                                     // d_rp->rinex_obs_header(d_rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1"); | ||||
|                                                                     // d_rp->rinex_nav_header(d_rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model); | ||||
|                                                                     // d_rp->log_rinex_nav(d_rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map); | ||||
|                                                                     d_rinex_header_written = true;  // do not write header anymore | ||||
|                                                                 } | ||||
|  | ||||
|                                                             break; | ||||
|                                                         case 506:  // BeiDou B1I + Beidou B3I | ||||
|                                                             if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend()) | ||||
|                                                                 { | ||||
| @@ -2738,23 +2665,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item | ||||
|  | ||||
|                                                             break; | ||||
|                                                         case 601:  // BeiDou B3I + GPS L2C | ||||
|                                                             if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend()) | ||||
|                                                                 { | ||||
|                                                                     d_rp->rinex_obs_header(d_rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B3"); | ||||
|                                                                     // d_rp->rinex_nav_header(d_rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model); | ||||
|                                                                     d_rinex_header_written = true;  // do not write header anymore | ||||
|                                                                 } | ||||
|  | ||||
|                                                             break; | ||||
|                                                         case 602:  // BeiDou B3I + GLONASS L2 C/A | ||||
|                                                             if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend()) | ||||
|                                                                 { | ||||
|                                                                     d_rp->rinex_obs_header(d_rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B3"); | ||||
|                                                                     // d_rp->rinex_nav_header(d_rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model); | ||||
|                                                                     d_rinex_header_written = true;  // do not write header anymore | ||||
|                                                                 } | ||||
|  | ||||
|                                                             break; | ||||
|                                                         case 603:  // BeiDou B3I + GPS L2C + GLONASS L2 C/A | ||||
|                                                             if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend()) | ||||
|                                                                 { | ||||
| @@ -2818,17 +2729,6 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item | ||||
|                                                                         } | ||||
|                                                                     break; | ||||
|                                                                 case 2:  // GPS L2C only | ||||
|                                                                     if (gps_cnav_ephemeris_iter != d_user_pvt_solver->gps_cnav_ephemeris_map.cend()) | ||||
|                                                                         { | ||||
|                                                                             d_rp->log_rinex_obs(d_rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time, d_gnss_observables_map); | ||||
|                                                                         } | ||||
|                                                                     if (!d_rinex_header_updated and (d_user_pvt_solver->gps_cnav_utc_model.d_A0 != 0)) | ||||
|                                                                         { | ||||
|                                                                             d_rp->update_obs_header(d_rp->obsFile, d_user_pvt_solver->gps_cnav_utc_model); | ||||
|                                                                             d_rp->update_nav_header(d_rp->navFile, d_user_pvt_solver->gps_cnav_utc_model, d_user_pvt_solver->gps_cnav_iono); | ||||
|                                                                             d_rinex_header_updated = true; | ||||
|                                                                         } | ||||
|                                                                     break; | ||||
|                                                                 case 3:  // GPS L5 | ||||
|                                                                     if (gps_cnav_ephemeris_iter != d_user_pvt_solver->gps_cnav_ephemeris_map.cend()) | ||||
|                                                                         { | ||||
|   | ||||
| @@ -379,15 +379,10 @@ std::string Nmea_Printer::get_UTC_NMEA_time(boost::posix_time::ptime d_position_ | ||||
|     std::stringstream sentence_str; | ||||
|  | ||||
|     boost::posix_time::time_duration td = d_position_UTC_time.time_of_day(); | ||||
|     int utc_hours; | ||||
|     int utc_mins; | ||||
|     int utc_seconds; | ||||
|     int utc_milliseconds; | ||||
|  | ||||
|     utc_hours = td.hours(); | ||||
|     utc_mins = td.minutes(); | ||||
|     utc_seconds = td.seconds(); | ||||
|     utc_milliseconds = td.total_milliseconds() - td.total_seconds() * 1000; | ||||
|     int utc_hours = td.hours(); | ||||
|     int utc_mins = td.minutes(); | ||||
|     int utc_seconds = td.seconds(); | ||||
|     auto utc_milliseconds = static_cast<int>(td.total_milliseconds() - td.total_seconds() * 1000); | ||||
|  | ||||
|     if (utc_hours < 10) | ||||
|         { | ||||
|   | ||||
| @@ -916,7 +916,7 @@ void Rinex_Printer::rinex_nav_header(std::fstream& out, const Galileo_Iono& gali | ||||
|         { | ||||
|         }  // Avoid compiler warning | ||||
|     // Avoid compiler warning, there is not time system correction between Galileo and GLONASS | ||||
|     if (galileo_utc_model.A_0G_10) | ||||
|     if (galileo_utc_model.A_0G_10 > 0.0) | ||||
|         { | ||||
|         } | ||||
|     std::string line; | ||||
| @@ -1884,7 +1884,7 @@ void Rinex_Printer::rinex_nav_header(std::fstream& out, const Beidou_Dnav_Iono& | ||||
|     // -------- Line 6 leap seconds | ||||
|     // For leap second information, see https://endruntechnologies.com/support/leap-seconds | ||||
|     line.clear(); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(utc_model.d_DeltaT_LS), 6); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(utc_model.i_DeltaT_LS), 6); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(utc_model.d_DeltaT_LSF), 6); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(utc_model.i_WN_LSF), 6); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(utc_model.i_DN), 6); | ||||
| @@ -2282,7 +2282,7 @@ void Rinex_Printer::rinex_nav_header(std::fstream& out, const Glonass_Gnav_Utc_M | ||||
|     // -------- Line 6 leap seconds | ||||
|     // For leap second information, see https://endruntechnologies.com/support/leap-seconds | ||||
|     line.clear(); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(bds_dnav_utc_model.d_DeltaT_LS), 6); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(bds_dnav_utc_model.i_DeltaT_LS), 6); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(bds_dnav_utc_model.d_DeltaT_LSF), 6); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(bds_dnav_utc_model.i_WN_LSF), 6); | ||||
|     line += Rinex_Printer::rightJustify(std::to_string(bds_dnav_utc_model.i_DN), 6); | ||||
| @@ -3504,7 +3504,7 @@ void Rinex_Printer::update_nav_header(std::fstream& out, const Galileo_Iono& gal | ||||
|         { | ||||
|         }  // Avoid compiler warning | ||||
|     // Avoid compiler warning, there is not time system correction between Galileo and GLONASS | ||||
|     if (galileo_utc_model.A_0G_10) | ||||
|     if (galileo_utc_model.A_0G_10 > 0.0) | ||||
|         { | ||||
|         } | ||||
|     std::vector<std::string> data; | ||||
| @@ -3655,7 +3655,7 @@ void Rinex_Printer::update_nav_header(std::fstream& out, const Beidou_Dnav_Utc_M | ||||
|                         } | ||||
|                     else if (line_str.find("LEAP SECONDS", 59) != std::string::npos) | ||||
|                         { | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.d_DeltaT_LS), 6); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.i_DeltaT_LS), 6); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.d_DeltaT_LSF), 6); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.i_WN_LSF), 6); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.i_DN), 6); | ||||
| @@ -4838,7 +4838,7 @@ void Rinex_Printer::log_rinex_nav(std::fstream& out, const std::map<int32_t, Bei | ||||
|  | ||||
| void Rinex_Printer::rinex_obs_header(std::fstream& out, const Glonass_Gnav_Ephemeris& eph, const double d_TOW_first_observation, const std::string& glonass_bands) | ||||
| { | ||||
|     if (eph.d_m) | ||||
|     if (eph.d_m > 0.0) | ||||
|         { | ||||
|         }  // Avoid compiler warning | ||||
|     std::string line; | ||||
| @@ -5171,7 +5171,7 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Glonass_Gnav_Ephem | ||||
|  | ||||
| void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_Ephemeris& gps_eph, const Glonass_Gnav_Ephemeris& glonass_gnav_eph, const double d_TOW_first_observation, const std::string& glonass_bands) | ||||
| { | ||||
|     if (glonass_gnav_eph.d_m) | ||||
|     if (glonass_gnav_eph.d_m > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -5527,7 +5527,7 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_Ephemeris& gps | ||||
|  | ||||
| void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_CNAV_Ephemeris& gps_cnav_eph, const Glonass_Gnav_Ephemeris& glonass_gnav_eph, const double d_TOW_first_observation, const std::string& glonass_bands) | ||||
| { | ||||
|     if (glonass_gnav_eph.d_m) | ||||
|     if (glonass_gnav_eph.d_m > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -5847,7 +5847,7 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_CNAV_Ephemeris | ||||
|  | ||||
| void Rinex_Printer::rinex_obs_header(std::fstream& out, const Galileo_Ephemeris& galileo_eph, const Glonass_Gnav_Ephemeris& glonass_gnav_eph, const double d_TOW_first_observation, const std::string& galileo_bands, const std::string& glonass_bands) | ||||
| { | ||||
|     if (glonass_gnav_eph.d_m) | ||||
|     if (glonass_gnav_eph.d_m > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -6679,7 +6679,7 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_CNAV_Ephemeris | ||||
|  | ||||
| void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_Ephemeris& eph, const Gps_CNAV_Ephemeris& eph_cnav, const double d_TOW_first_observation, const std::string& gps_bands) | ||||
| { | ||||
|     if (eph_cnav.d_i_0) | ||||
|     if (eph_cnav.d_i_0 > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -7890,7 +7890,7 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Galileo_Ephemeris& | ||||
|  | ||||
| void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_Ephemeris& gps_eph, const Galileo_Ephemeris& galileo_eph, const double d_TOW_first_observation, const std::string& galileo_bands) | ||||
| { | ||||
|     if (galileo_eph.e_1) | ||||
|     if (galileo_eph.e_1 > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -8415,7 +8415,7 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Beidou_Dnav_Epheme | ||||
|  | ||||
| void Rinex_Printer::update_obs_header(std::fstream& out __attribute__((unused)), const Glonass_Gnav_Utc_Model& utc_model) | ||||
| { | ||||
|     if (utc_model.d_N_4) | ||||
|     if (utc_model.d_N_4 > 0.0) | ||||
|         { | ||||
|             // do nothing | ||||
|         } | ||||
| @@ -8644,7 +8644,7 @@ void Rinex_Printer::update_obs_header(std::fstream& out, const Beidou_Dnav_Utc_M | ||||
|                     if (line_str.find("TIME OF FIRST OBS", 59) != std::string::npos) | ||||
|                         { | ||||
|                             data.push_back(line_str); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.d_DeltaT_LS), 6); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.i_DeltaT_LS), 6); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.d_DeltaT_LSF), 6); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.i_WN_LSF), 6); | ||||
|                             line_aux += Rinex_Printer::rightJustify(std::to_string(utc_model.i_DN), 6); | ||||
| @@ -8940,7 +8940,7 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Glonass_Gnav_Ephemeri | ||||
|  | ||||
| void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_Ephemeris& gps_eph, const Glonass_Gnav_Ephemeris& glonass_gnav_eph, double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables) | ||||
| { | ||||
|     if (glonass_gnav_eph.d_m) | ||||
|     if (glonass_gnav_eph.d_m > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -9285,7 +9285,7 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_Ephemeris& gps_ep | ||||
|  | ||||
| void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_CNAV_Ephemeris& gps_eph, const Glonass_Gnav_Ephemeris& glonass_gnav_eph, double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables) | ||||
| { | ||||
|     if (glonass_gnav_eph.d_m) | ||||
|     if (glonass_gnav_eph.d_m > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -9543,7 +9543,7 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_CNAV_Ephemeris& g | ||||
|  | ||||
| void Rinex_Printer::log_rinex_obs(std::fstream& out, const Galileo_Ephemeris& galileo_eph, const Glonass_Gnav_Ephemeris& glonass_gnav_eph, double galileo_obs_time, const std::map<int32_t, Gnss_Synchro>& observables) | ||||
| { | ||||
|     if (glonass_gnav_eph.d_m) | ||||
|     if (glonass_gnav_eph.d_m > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -10176,7 +10176,7 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_CNAV_Ephemeris& e | ||||
|  | ||||
| void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_Ephemeris& eph, const Gps_CNAV_Ephemeris& eph_cnav, double obs_time, const std::map<int32_t, Gnss_Synchro>& observables, bool triple_band) | ||||
| { | ||||
|     if (eph_cnav.d_i_0) | ||||
|     if (eph_cnav.d_i_0 > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     // RINEX observations timestamps are GPS timestamps. | ||||
| @@ -10658,7 +10658,7 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Galileo_Ephemeris& ep | ||||
|  | ||||
| void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_Ephemeris& gps_eph, const Galileo_Ephemeris& galileo_eph, double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables) | ||||
| { | ||||
|     if (galileo_eph.e_1) | ||||
|     if (galileo_eph.e_1 > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -10930,7 +10930,7 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_Ephemeris& gps_ep | ||||
|  | ||||
| void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_CNAV_Ephemeris& eph, const Galileo_Ephemeris& galileo_eph, double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables) | ||||
| { | ||||
|     if (galileo_eph.e_1) | ||||
|     if (galileo_eph.e_1 > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
| @@ -11224,10 +11224,10 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_CNAV_Ephemeris& e | ||||
|  | ||||
| void Rinex_Printer::log_rinex_obs(std::fstream& out, const Gps_Ephemeris& gps_eph, const Gps_CNAV_Ephemeris& gps_cnav_eph, const Galileo_Ephemeris& galileo_eph, double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables, bool triple_band) | ||||
| { | ||||
|     if (galileo_eph.e_1) | ||||
|     if (galileo_eph.e_1 > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     if (gps_cnav_eph.d_e_eccentricity) | ||||
|     if (gps_cnav_eph.d_e_eccentricity > 0.0) | ||||
|         { | ||||
|         }  // avoid warning, not needed | ||||
|     std::string line; | ||||
|   | ||||
| @@ -23,6 +23,9 @@ | ||||
| #include "GPS_L2C.h" | ||||
| #include "Galileo_E1.h" | ||||
| #include "Galileo_E5a.h" | ||||
| #include "Galileo_E5b.h" | ||||
| #include "Galileo_FNAV.h" | ||||
| #include "Galileo_INAV.h" | ||||
| #include <boost/algorithm/string.hpp>  // for to_upper_copy | ||||
| #include <boost/crc.hpp> | ||||
| #include <boost/date_time/gregorian/gregorian.hpp> | ||||
| @@ -1896,7 +1899,7 @@ int32_t Rtcm::read_MT1020(const std::string& message, Glonass_Gnav_Ephemeris& gl | ||||
|     glonass_gnav_eph.d_B_n = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     index += 1; | ||||
|  | ||||
|     glonass_gnav_eph.d_P_2 = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     glonass_gnav_eph.d_P_2 = static_cast<bool>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     index += 1; | ||||
|  | ||||
|     glonass_gnav_eph.d_t_b = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 7))) * 15 * 60.0; | ||||
| @@ -1930,7 +1933,7 @@ int32_t Rtcm::read_MT1020(const std::string& message, Glonass_Gnav_Ephemeris& gl | ||||
|     glonass_gnav_eph.d_AZn = static_cast<double>(Rtcm::bin_to_sint(message_bin.substr(index, 5))) * TWO_N30; | ||||
|     index += 5; | ||||
|  | ||||
|     glonass_gnav_eph.d_P_3 = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     glonass_gnav_eph.d_P_3 = static_cast<bool>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     index += 1; | ||||
|  | ||||
|     glonass_gnav_eph.d_gamma_n = static_cast<double>(Rtcm::bin_to_sint(message_bin.substr(index, 11))) * TWO_N30; | ||||
| @@ -1939,7 +1942,7 @@ int32_t Rtcm::read_MT1020(const std::string& message, Glonass_Gnav_Ephemeris& gl | ||||
|     glonass_gnav_eph.d_P = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 2))); | ||||
|     index += 2; | ||||
|  | ||||
|     glonass_gnav_eph.d_l3rd_n = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     glonass_gnav_eph.d_l3rd_n = static_cast<bool>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     index += 1; | ||||
|  | ||||
|     glonass_gnav_eph.d_tau_n = static_cast<double>(Rtcm::bin_to_sint(message_bin.substr(index, 22))) * TWO_N30; | ||||
| @@ -1951,7 +1954,7 @@ int32_t Rtcm::read_MT1020(const std::string& message, Glonass_Gnav_Ephemeris& gl | ||||
|     glonass_gnav_eph.d_E_n = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 5))); | ||||
|     index += 5; | ||||
|  | ||||
|     glonass_gnav_eph.d_P_4 = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     glonass_gnav_eph.d_P_4 = static_cast<bool>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     index += 1; | ||||
|  | ||||
|     glonass_gnav_eph.d_F_T = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 4))); | ||||
| @@ -2007,12 +2010,7 @@ std::string Rtcm::print_MT1029(uint32_t ref_id, const Gps_Ephemeris& gps_eph, do | ||||
|     std::string text_binary; | ||||
|     for (char c : message) | ||||
|         { | ||||
|             if (isgraph(c)) | ||||
|                 { | ||||
|                     i++; | ||||
|                     first = true; | ||||
|                 } | ||||
|             else if (c == ' ') | ||||
|             if (isgraph(c) || c == ' ') | ||||
|                 { | ||||
|                     i++; | ||||
|                     first = true; | ||||
| @@ -4529,14 +4527,14 @@ int32_t Rtcm::set_DF107(const Glonass_Gnav_Ephemeris& glonass_gnav_eph) | ||||
|  | ||||
| int32_t Rtcm::set_DF108(const Glonass_Gnav_Ephemeris& glonass_gnav_eph) | ||||
| { | ||||
|     DF108 = std::bitset<1>(glonass_gnav_eph.d_B_n); | ||||
|     DF108 = std::bitset<1>(static_cast<bool>(glonass_gnav_eph.d_B_n)); | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
|  | ||||
| int32_t Rtcm::set_DF109(const Glonass_Gnav_Ephemeris& glonass_gnav_eph) | ||||
| { | ||||
|     DF109 = std::bitset<1>(glonass_gnav_eph.d_P_2); | ||||
|     DF109 = std::bitset<1>(static_cast<bool>(glonass_gnav_eph.d_P_2)); | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| @@ -5289,11 +5287,7 @@ int32_t Rtcm::set_DF397(const Gnss_Synchro& gnss_synchro) | ||||
|  | ||||
|     uint32_t int_ms = 0; | ||||
|  | ||||
|     if (rough_range_s == 0.0) | ||||
|         { | ||||
|             int_ms = 255; | ||||
|         } | ||||
|     else if ((rough_range_s < 0.0) || (rough_range_s > meters_to_miliseconds * 255.0)) | ||||
|     if (rough_range_s == 0.0 || ((rough_range_s < 0.0) || (rough_range_s > meters_to_miliseconds * 255.0))) | ||||
|         { | ||||
|             int_ms = 255; | ||||
|         } | ||||
| @@ -5349,7 +5343,7 @@ int32_t Rtcm::set_DF399(const Gnss_Synchro& gnss_synchro) | ||||
|         } | ||||
|     if (sig == "7X") | ||||
|         { | ||||
|             lambda = SPEED_OF_LIGHT_M_S / 1.207140e9;  // Galileo_E1b_FREQ_HZ; | ||||
|             lambda = SPEED_OF_LIGHT_M_S / GALILEO_E5B_FREQ_HZ; | ||||
|         } | ||||
|  | ||||
|     double rough_phase_range_rate_ms = std::round(-gnss_synchro.Carrier_Doppler_hz * lambda); | ||||
| @@ -5376,11 +5370,7 @@ int32_t Rtcm::set_DF400(const Gnss_Synchro& gnss_synchro) | ||||
|  | ||||
|     psrng_s = gnss_synchro.Pseudorange_m - rough_range_m; | ||||
|  | ||||
|     if (psrng_s == 0) | ||||
|         { | ||||
|             fine_pseudorange = -16384; | ||||
|         } | ||||
|     else if (std::fabs(psrng_s) > 292.7) | ||||
|     if (psrng_s == 0 || (std::fabs(psrng_s) > 292.7)) | ||||
|         { | ||||
|             fine_pseudorange = -16384;  // 4000h: invalid value | ||||
|         } | ||||
| @@ -5424,7 +5414,7 @@ int32_t Rtcm::set_DF401(const Gnss_Synchro& gnss_synchro) | ||||
|         } | ||||
|     if ((sig == "7X") && (sys == "E")) | ||||
|         { | ||||
|             lambda = SPEED_OF_LIGHT_M_S / 1.207140e9;  // Galileo_E1b_FREQ_HZ; | ||||
|             lambda = SPEED_OF_LIGHT_M_S / GALILEO_E5B_FREQ_HZ; | ||||
|         } | ||||
|     if ((sig == "1C") && (sys == "R")) | ||||
|         { | ||||
| @@ -5447,11 +5437,7 @@ int32_t Rtcm::set_DF401(const Gnss_Synchro& gnss_synchro) | ||||
|         } | ||||
|     phrng_m -= cp; | ||||
|  | ||||
|     if (phrng_m == 0.0) | ||||
|         { | ||||
|             fine_phaserange = -2097152; | ||||
|         } | ||||
|     else if (std::fabs(phrng_m) > 1171.0) | ||||
|     if (phrng_m == 0.0 || (std::fabs(phrng_m) > 1171.0)) | ||||
|         { | ||||
|             fine_phaserange = -2097152; | ||||
|         } | ||||
| @@ -5484,11 +5470,7 @@ int32_t Rtcm::set_DF402(const Gps_Ephemeris& ephNAV, const Gps_CNAV_Ephemeris& e | ||||
|         { | ||||
|             lock_time_period_s = Rtcm::lock_time(ephFNAV, obs_time, gnss_synchro); | ||||
|         } | ||||
|     if ((sig_ == "1C") && (sys == "R")) | ||||
|         { | ||||
|             lock_time_period_s = Rtcm::lock_time(ephGNAV, obs_time, gnss_synchro); | ||||
|         } | ||||
|     if ((sig_ == "2C") && (sys == "R")) | ||||
|     if (((sig_ == "1C") && (sys == "R")) || ((sig_ == "2C") && (sys == "R"))) | ||||
|         { | ||||
|             lock_time_period_s = Rtcm::lock_time(ephGNAV, obs_time, gnss_synchro); | ||||
|         } | ||||
| @@ -5533,7 +5515,7 @@ int32_t Rtcm::set_DF404(const Gnss_Synchro& gnss_synchro) | ||||
|         } | ||||
|     if ((sig_ == "7X") && (sys_ == "E")) | ||||
|         { | ||||
|             lambda = SPEED_OF_LIGHT_M_S / 1.207140e9;  // Galileo_E1b_FREQ_HZ; | ||||
|             lambda = SPEED_OF_LIGHT_M_S / GALILEO_E5B_FREQ_HZ; | ||||
|         } | ||||
|     if ((sig_ == "1C") && (sys_ == "R")) | ||||
|         { | ||||
| @@ -5547,11 +5529,7 @@ int32_t Rtcm::set_DF404(const Gnss_Synchro& gnss_synchro) | ||||
|     double rough_phase_range_rate = std::round(-gnss_synchro.Carrier_Doppler_hz * lambda); | ||||
|     double phrr = (-gnss_synchro.Carrier_Doppler_hz * lambda - rough_phase_range_rate); | ||||
|  | ||||
|     if (phrr == 0.0) | ||||
|         { | ||||
|             fine_phaserange_rate = -16384; | ||||
|         } | ||||
|     else if (std::fabs(phrr) > 1.6384) | ||||
|     if (phrr == 0.0 || (std::fabs(phrr) > 1.6384)) | ||||
|         { | ||||
|             fine_phaserange_rate = -16384; | ||||
|         } | ||||
| @@ -5574,11 +5552,7 @@ int32_t Rtcm::set_DF405(const Gnss_Synchro& gnss_synchro) | ||||
|  | ||||
|     psrng_s = gnss_synchro.Pseudorange_m - rough_range_m; | ||||
|  | ||||
|     if (psrng_s == 0.0) | ||||
|         { | ||||
|             fine_pseudorange = -524288; | ||||
|         } | ||||
|     else if (std::fabs(psrng_s) > 292.7) | ||||
|     if (psrng_s == 0.0 || (std::fabs(psrng_s) > 292.7)) | ||||
|         { | ||||
|             fine_pseudorange = -524288; | ||||
|         } | ||||
| @@ -5620,7 +5594,7 @@ int32_t Rtcm::set_DF406(const Gnss_Synchro& gnss_synchro) | ||||
|         } | ||||
|     if ((sig_ == "7X") && (sys_ == "E")) | ||||
|         { | ||||
|             lambda = SPEED_OF_LIGHT_M_S / 1.207140e9;  // Galileo_E1b_FREQ_HZ; | ||||
|             lambda = SPEED_OF_LIGHT_M_S / GALILEO_E5B_FREQ_HZ; | ||||
|         } | ||||
|     if ((sig_ == "1C") && (sys_ == "R")) | ||||
|         { | ||||
| @@ -5642,11 +5616,7 @@ int32_t Rtcm::set_DF406(const Gnss_Synchro& gnss_synchro) | ||||
|         } | ||||
|     phrng_m -= cp; | ||||
|  | ||||
|     if (phrng_m == 0.0) | ||||
|         { | ||||
|             fine_phaserange_ex = -8388608; | ||||
|         } | ||||
|     else if (std::fabs(phrng_m) > 1171.0) | ||||
|     if (phrng_m == 0.0 || (std::fabs(phrng_m) > 1171.0)) | ||||
|         { | ||||
|             fine_phaserange_ex = -8388608; | ||||
|         } | ||||
|   | ||||
| @@ -890,7 +890,7 @@ bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_ | ||||
|                     nav_data.utc_cmp[1] = beidou_dnav_utc_model.d_A1_UTC; | ||||
|                     nav_data.utc_cmp[2] = 0.0;  // ?? | ||||
|                     nav_data.utc_cmp[3] = 0.0;  // ?? | ||||
|                     nav_data.leaps = beidou_dnav_utc_model.d_DeltaT_LS; | ||||
|                     nav_data.leaps = beidou_dnav_utc_model.i_DeltaT_LS; | ||||
|                 } | ||||
|  | ||||
|             /* update carrier wave length using native function call in RTKlib */ | ||||
| @@ -928,7 +928,7 @@ bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_ | ||||
|  | ||||
|                     std::vector<double> azel; | ||||
|                     azel.reserve(used_sats * 2); | ||||
|                     unsigned int index_aux = 0; | ||||
|                     int index_aux = 0; | ||||
|                     for (auto &i : rtk_.ssat) | ||||
|                         { | ||||
|                             if (i.vs == 1) | ||||
|   | ||||
| @@ -64,7 +64,7 @@ BeidouB1iPcpsAcquisition::BeidouB1iPcpsAcquisition( | ||||
|  | ||||
|     num_codes_ = acq_parameters_.sampled_ms; | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(fs_in_) / (BEIDOU_B1I_CODE_RATE_CPS / BEIDOU_B1I_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|     acquisition_ = pcps_make_acquisition(acq_parameters_); | ||||
| @@ -172,11 +172,7 @@ void BeidouB1iPcpsAcquisition::set_state(int state) | ||||
|  | ||||
| void BeidouB1iPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -197,11 +193,7 @@ void BeidouB1iPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
|  | ||||
| void BeidouB1iPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
| @@ -220,11 +212,7 @@ void BeidouB1iPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
|  | ||||
| gr::basic_block_sptr BeidouB1iPcpsAcquisition::get_left_block() | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|     if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|   | ||||
| @@ -62,7 +62,7 @@ BeidouB3iPcpsAcquisition::BeidouB3iPcpsAcquisition( | ||||
|  | ||||
|     num_codes_ = acq_parameters_.sampled_ms; | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(fs_in_) / (BEIDOU_B3I_CODE_RATE_CPS / BEIDOU_B3I_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|     acquisition_ = pcps_make_acquisition(acq_parameters_); | ||||
| @@ -169,11 +169,7 @@ void BeidouB3iPcpsAcquisition::set_state(int state) | ||||
|  | ||||
| void BeidouB3iPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -194,11 +190,7 @@ void BeidouB3iPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
|  | ||||
| void BeidouB3iPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
| @@ -217,11 +209,7 @@ void BeidouB3iPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
|  | ||||
| gr::basic_block_sptr BeidouB3iPcpsAcquisition::get_left_block() | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|     if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|   | ||||
| @@ -44,8 +44,8 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition( | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     configuration_ = configuration; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_filename = "../data/acquisition.dat"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
|  | ||||
| @@ -76,12 +76,12 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition( | ||||
|         default_dump_filename); | ||||
|  | ||||
|     // -- Find number of samples per spreading code (4 ms)  ----------------- | ||||
|     code_length_ = round( | ||||
|         fs_in_ / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS)); | ||||
|     code_length_ = static_cast<unsigned int>(round( | ||||
|         fs_in_ / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4); | ||||
|  | ||||
|     int samples_per_ms = code_length_ / 4; | ||||
|     auto samples_per_ms = static_cast<int>(code_length_) / 4; | ||||
|  | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
| @@ -127,11 +127,11 @@ void GalileoE1Pcps8msAmbiguousAcquisition::stop_acquisition() | ||||
|  | ||||
| void GalileoE1Pcps8msAmbiguousAcquisition::set_threshold(float threshold) | ||||
| { | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0); | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", static_cast<float>(0.0)); | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|             pfa = configuration_->property(role_ + ".pfa", 0.0); | ||||
|             pfa = configuration_->property(role_ + ".pfa", static_cast<float>(0.0)); | ||||
|         } | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|   | ||||
| @@ -62,7 +62,7 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition( | ||||
|     acquire_pilot_ = configuration->property(role + ".acquire_pilot", false); | ||||
|  | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(acq_parameters_.resampled_fs) / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|     sampled_ms_ = acq_parameters_.sampled_ms; | ||||
| @@ -214,11 +214,7 @@ void GalileoE1PcpsAmbiguousAcquisition::set_state(int state) | ||||
|  | ||||
| void GalileoE1PcpsAmbiguousAcquisition::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -239,11 +235,7 @@ void GalileoE1PcpsAmbiguousAcquisition::connect(gr::top_block_sptr top_block) | ||||
|  | ||||
| void GalileoE1PcpsAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
| @@ -262,11 +254,7 @@ void GalileoE1PcpsAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
|  | ||||
| gr::basic_block_sptr GalileoE1PcpsAmbiguousAcquisition::get_left_block() | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|     if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|   | ||||
| @@ -159,7 +159,7 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga( | ||||
|     acq_parameters.all_fft_codes = d_all_fft_codes_.data(); | ||||
|  | ||||
|     acq_parameters.num_doppler_bins_step2 = configuration->property(role + ".second_nbins", 4); | ||||
|     acq_parameters.doppler_step2 = configuration->property(role + ".second_doppler_step", 125.0); | ||||
|     acq_parameters.doppler_step2 = configuration->property(role + ".second_doppler_step", static_cast<float>(125.0)); | ||||
|     acq_parameters.make_2_steps = configuration->property(role + ".make_two_steps", false); | ||||
|     acq_parameters.max_num_acqs = configuration->property(role + ".max_num_acqs", 2); | ||||
|     // reference for the FPGA FFT-IFFT attenuation factor | ||||
|   | ||||
| @@ -36,8 +36,8 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     configuration_ = configuration; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_filename = "../data/acquisition.dat"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
|  | ||||
| @@ -68,12 +68,12 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition | ||||
|  | ||||
|     // -- Find number of samples per spreading code (4 ms)  ----------------- | ||||
|  | ||||
|     code_length_ = round( | ||||
|         fs_in_ / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS)); | ||||
|     code_length_ = static_cast<unsigned int>(round( | ||||
|         fs_in_ / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4); | ||||
|  | ||||
|     int samples_per_ms = code_length_ / 4; | ||||
|     auto samples_per_ms = static_cast<int>(code_length_) / 4; | ||||
|  | ||||
|     code_data_ = std::vector<std::complex<float>>(vector_length_); | ||||
|     code_pilot_ = std::vector<std::complex<float>>(vector_length_); | ||||
|   | ||||
| @@ -44,8 +44,8 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     configuration_ = configuration; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_filename = "../data/acquisition.dat"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
|  | ||||
| @@ -63,10 +63,10 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui | ||||
|     sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 8); | ||||
|  | ||||
|     /* --- Find number of samples per spreading code (4 ms)  -----------------*/ | ||||
|     code_length_ = round( | ||||
|         fs_in_ / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS)); | ||||
|     code_length_ = static_cast<unsigned int>(round( | ||||
|         fs_in_ / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     int samples_per_ms = round(code_length_ / 4.0); | ||||
|     auto samples_per_ms = static_cast<int>(round(code_length_ / 4.0)); | ||||
|  | ||||
|     /*Calculate the folding factor value based on the formula described in the paper. | ||||
|     This may be a bug, but acquisition also work by variying the folding factor at va- | ||||
| @@ -162,11 +162,11 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::stop_acquisition() | ||||
|  | ||||
| void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_threshold(float threshold) | ||||
| { | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0); | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", static_cast<float>(0.0)); | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|             pfa = configuration_->property(role_ + ".pfa", 0.0); | ||||
|             pfa = configuration_->property(role_ + ".pfa", static_cast<float>(0.0)); | ||||
|         } | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|   | ||||
| @@ -44,8 +44,8 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition( | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     configuration_ = configuration; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_filename = "../data/acquisition.dat"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
|  | ||||
| @@ -79,12 +79,12 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition( | ||||
|  | ||||
|     // -- Find number of samples per spreading code (4 ms)  ----------------- | ||||
|  | ||||
|     code_length_ = round( | ||||
|         fs_in_ / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS)); | ||||
|     code_length_ = static_cast<unsigned int>(round( | ||||
|         fs_in_ / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     vector_length_ = code_length_ * static_cast<int>(sampled_ms_ / 4); | ||||
|  | ||||
|     int samples_per_ms = code_length_ / 4; | ||||
|     auto samples_per_ms = static_cast<int>(code_length_) / 4; | ||||
|  | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
| @@ -132,11 +132,11 @@ void GalileoE1PcpsTongAmbiguousAcquisition::stop_acquisition() | ||||
|  | ||||
| void GalileoE1PcpsTongAmbiguousAcquisition::set_threshold(float threshold) | ||||
| { | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0); | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", static_cast<float>(0.0)); | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|             pfa = configuration_->property(role_ + ".pfa", 0.0); | ||||
|             pfa = configuration_->property(role_ + ".pfa", static_cast<float>(0.0)); | ||||
|         } | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|   | ||||
| @@ -50,8 +50,8 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf( | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     configuration_ = configuration; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_filename = "../data/acquisition.dat"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
|  | ||||
| @@ -86,7 +86,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf( | ||||
|     bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false); | ||||
|  | ||||
|     // -- Find number of samples per spreading code (1ms)------------------------- | ||||
|     code_length_ = round(static_cast<double>(fs_in_) / GALILEO_E5A_CODE_CHIP_RATE_CPS * static_cast<double>(GALILEO_E5A_CODE_LENGTH_CHIPS)); | ||||
|     code_length_ = static_cast<unsigned int>(round(static_cast<double>(fs_in_) / GALILEO_E5A_CODE_CHIP_RATE_CPS * static_cast<double>(GALILEO_E5A_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     vector_length_ = code_length_ * sampled_ms_; | ||||
|  | ||||
| @@ -137,11 +137,11 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::stop_acquisition() | ||||
|  | ||||
| void GalileoE5aNoncoherentIQAcquisitionCaf::set_threshold(float threshold) | ||||
| { | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0); | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", static_cast<float>(0.0)); | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|             pfa = configuration_->property(role_ + ".pfa", 0.0); | ||||
|             pfa = configuration_->property(role_ + ".pfa", static_cast<float>(0.0)); | ||||
|         } | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|   | ||||
| @@ -66,7 +66,7 @@ GalileoE5aPcpsAcquisition::GalileoE5aPcpsAcquisition( | ||||
|         } | ||||
|  | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(acq_parameters_.resampled_fs) / (GALILEO_E5A_CODE_CHIP_RATE_CPS / GALILEO_E5A_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|     sampled_ms_ = acq_parameters_.sampled_ms; | ||||
| @@ -198,11 +198,7 @@ void GalileoE5aPcpsAcquisition::set_state(int state) | ||||
|  | ||||
| void GalileoE5aPcpsAcquisition::connect(gr::top_block_sptr top_block __attribute__((unused))) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -215,11 +211,7 @@ void GalileoE5aPcpsAcquisition::connect(gr::top_block_sptr top_block __attribute | ||||
|  | ||||
| void GalileoE5aPcpsAcquisition::disconnect(gr::top_block_sptr top_block __attribute__((unused))) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|   | ||||
| @@ -42,7 +42,7 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga( | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     pcpsconf_fpga_t acq_parameters; | ||||
|     std::string default_dump_filename = "../data/acquisition.dat"; | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "Role " << role; | ||||
|  | ||||
| @@ -166,7 +166,7 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga( | ||||
|     acq_parameters.total_block_exp = configuration->property(role + ".total_block_exp", 13); | ||||
|  | ||||
|     acq_parameters.num_doppler_bins_step2 = configuration->property(role + ".second_nbins", 4); | ||||
|     acq_parameters.doppler_step2 = configuration->property(role + ".second_doppler_step", 125.0); | ||||
|     acq_parameters.doppler_step2 = configuration->property(role + ".second_doppler_step", static_cast<float>(125.0)); | ||||
|     acq_parameters.make_2_steps = configuration->property(role + ".make_two_steps", false); | ||||
|     acq_parameters.max_num_acqs = configuration->property(role + ".max_num_acqs", 2); | ||||
|     acquisition_fpga_ = pcps_make_acquisition_fpga(acq_parameters); | ||||
|   | ||||
| @@ -61,7 +61,7 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition( | ||||
|     fs_in_ = acq_parameters_.fs_in; | ||||
|  | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(acq_parameters_.resampled_fs) / (GLONASS_L1_CA_CODE_RATE_CPS / GLONASS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|     sampled_ms_ = acq_parameters_.sampled_ms; | ||||
| @@ -173,11 +173,7 @@ void GlonassL1CaPcpsAcquisition::set_state(int state) | ||||
|  | ||||
| void GlonassL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -196,11 +192,7 @@ void GlonassL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
|  | ||||
| void GlonassL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
| @@ -221,11 +213,7 @@ void GlonassL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
|  | ||||
| gr::basic_block_sptr GlonassL1CaPcpsAcquisition::get_left_block() | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|     if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|   | ||||
| @@ -60,7 +60,7 @@ GlonassL2CaPcpsAcquisition::GlonassL2CaPcpsAcquisition( | ||||
|     fs_in_ = acq_parameters_.fs_in; | ||||
|  | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(acq_parameters_.resampled_fs) / (GLONASS_L2_CA_CODE_RATE_CPS / GLONASS_L2_CA_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|     sampled_ms_ = acq_parameters_.sampled_ms; | ||||
| @@ -172,11 +172,7 @@ void GlonassL2CaPcpsAcquisition::set_state(int state) | ||||
|  | ||||
| void GlonassL2CaPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -197,11 +193,7 @@ void GlonassL2CaPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
|  | ||||
| void GlonassL2CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
| @@ -220,11 +212,7 @@ void GlonassL2CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
|  | ||||
| gr::basic_block_sptr GlonassL2CaPcpsAcquisition::get_left_block() | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|     if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|   | ||||
| @@ -63,7 +63,7 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition( | ||||
|     item_size_ = acq_parameters_.it_size; | ||||
|  | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(acq_parameters_.resampled_fs) / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|     sampled_ms_ = acq_parameters_.sampled_ms; | ||||
| @@ -187,11 +187,7 @@ void GpsL1CaPcpsAcquisition::set_state(int state) | ||||
|  | ||||
| void GpsL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -212,11 +208,7 @@ void GpsL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
|  | ||||
| void GpsL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
| @@ -235,11 +227,7 @@ void GpsL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
|  | ||||
| gr::basic_block_sptr GpsL1CaPcpsAcquisition::get_left_block() | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|     if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|   | ||||
| @@ -38,7 +38,7 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler( | ||||
|                                 in_streams_(in_streams), | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string default_dump_filename = "./acquisition.mat"; | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
| @@ -67,7 +67,7 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler( | ||||
|     acq_parameters.blocking_on_standby = configuration->property(role + ".blocking_on_standby", false); | ||||
|  | ||||
|     // -- Find number of samples per spreading code ------------------------- | ||||
|     vector_length_ = round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     vector_length_ = static_cast<unsigned int>(round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|     acq_parameters.samples_per_ms = vector_length_; | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|   | ||||
| @@ -141,7 +141,7 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga( | ||||
|     acq_parameters.total_block_exp = configuration->property(role + ".total_block_exp", 10); | ||||
|  | ||||
|     acq_parameters.num_doppler_bins_step2 = configuration->property(role + ".second_nbins", 4); | ||||
|     acq_parameters.doppler_step2 = configuration->property(role + ".second_doppler_step", 125.0); | ||||
|     acq_parameters.doppler_step2 = configuration->property(role + ".second_doppler_step", static_cast<float>(125.0)); | ||||
|     acq_parameters.make_2_steps = configuration->property(role + ".make_two_steps", false); | ||||
|     acq_parameters.max_num_acqs = configuration->property(role + ".max_num_acqs", 2); | ||||
|     acquisition_fpga_ = pcps_make_acquisition_fpga(acq_parameters); | ||||
|   | ||||
| @@ -37,7 +37,7 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition( | ||||
|                                 in_streams_(in_streams), | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string default_dump_filename = "./data/acquisition.dat"; | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
| @@ -57,7 +57,7 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition( | ||||
|     dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|  | ||||
|     // --- Find number of samples per spreading code ------------------------- | ||||
|     vector_length_ = round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     vector_length_ = static_cast<unsigned int>(round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     code_.reserve(vector_length_); | ||||
|  | ||||
|   | ||||
| @@ -44,7 +44,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition( | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     configuration_ = configuration; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string default_dump_filename = "./data/acquisition.dat"; | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
| @@ -77,7 +77,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition( | ||||
|         default_dump_filename); | ||||
|  | ||||
|     // -- Find number of samples per spreading code ------------------------- | ||||
|     code_length_ = round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     code_length_ = static_cast<unsigned int>(round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     vector_length_ = code_length_ * sampled_ms_; | ||||
|  | ||||
| @@ -126,11 +126,11 @@ void GpsL1CaPcpsOpenClAcquisition::stop_acquisition() | ||||
|  | ||||
| void GpsL1CaPcpsOpenClAcquisition::set_threshold(float threshold) | ||||
| { | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0); | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", static_cast<float>(0.0)); | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|             pfa = configuration_->property(role_ + ".pfa", 0.0); | ||||
|             pfa = configuration_->property(role_ + ".pfa", static_cast<float>(0.0)); | ||||
|         } | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|   | ||||
| @@ -45,7 +45,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition( | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     configuration_ = configuration; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string default_dump_filename = "./data/acquisition.dat"; | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
| @@ -62,7 +62,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition( | ||||
|     sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4); | ||||
|  | ||||
|     // -- Find number of samples per spreading code ------------------------- | ||||
|     code_length_ = round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     code_length_ = static_cast<unsigned int>(round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     /* Calculate the folding factor value based on the calculations */ | ||||
|     auto temp = static_cast<unsigned int>(ceil(sqrt(log2(code_length_)))); | ||||
| @@ -155,11 +155,11 @@ void GpsL1CaPcpsQuickSyncAcquisition::stop_acquisition() | ||||
|  | ||||
| void GpsL1CaPcpsQuickSyncAcquisition::set_threshold(float threshold) | ||||
| { | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0); | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", static_cast<float>(0.0)); | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|             pfa = configuration_->property(role_ + ".pfa", 0.0); | ||||
|             pfa = configuration_->property(role_ + ".pfa", static_cast<float>(0.0)); | ||||
|         } | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|   | ||||
| @@ -44,7 +44,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition( | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     configuration_ = configuration; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string default_dump_filename = "./data/acquisition.dat"; | ||||
|  | ||||
|     DLOG(INFO) << "role " << role; | ||||
| @@ -68,7 +68,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition( | ||||
|     dump_filename_ = configuration_->property(role + ".dump_filename", default_dump_filename); | ||||
|  | ||||
|     // -- Find number of samples per spreading code ------------------------- | ||||
|     code_length_ = round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     code_length_ = static_cast<unsigned int>(round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     vector_length_ = code_length_ * sampled_ms_; | ||||
|  | ||||
| @@ -117,11 +117,11 @@ void GpsL1CaPcpsTongAcquisition::stop_acquisition() | ||||
|  | ||||
| void GpsL1CaPcpsTongAcquisition::set_threshold(float threshold) | ||||
| { | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0); | ||||
|     float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", static_cast<float>(0.0)); | ||||
|  | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|             pfa = configuration_->property(role_ + ".pfa", 0.0); | ||||
|             pfa = configuration_->property(role_ + ".pfa", static_cast<float>(0.0)); | ||||
|         } | ||||
|     if (pfa == 0.0) | ||||
|         { | ||||
|   | ||||
| @@ -61,7 +61,7 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition( | ||||
|     fs_in_ = acq_parameters_.fs_in; | ||||
|  | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(acq_parameters_.resampled_fs) / (GPS_L2_M_CODE_RATE_CPS / GPS_L2_M_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|  | ||||
|     acquisition_ = pcps_make_acquisition(acq_parameters_); | ||||
| @@ -187,11 +187,7 @@ void GpsL2MPcpsAcquisition::set_state(int state) | ||||
|  | ||||
| void GpsL2MPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -212,11 +208,7 @@ void GpsL2MPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
|  | ||||
| void GpsL2MPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
| @@ -235,11 +227,7 @@ void GpsL2MPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
|  | ||||
| gr::basic_block_sptr GpsL2MPcpsAcquisition::get_left_block() | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|     if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|   | ||||
| @@ -63,7 +63,7 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga( | ||||
|         } | ||||
|     acq_parameters.doppler_max = doppler_max_; | ||||
|  | ||||
|     unsigned int code_length = std::round(static_cast<double>(fs_in_) / (GPS_L2_M_CODE_RATE_CPS / static_cast<double>(GPS_L2_M_CODE_LENGTH_CHIPS))); | ||||
|     auto code_length = static_cast<unsigned int>(std::round(static_cast<double>(fs_in_) / (GPS_L2_M_CODE_RATE_CPS / static_cast<double>(GPS_L2_M_CODE_LENGTH_CHIPS)))); | ||||
|     acq_parameters.code_length = code_length; | ||||
|     // The FPGA can only use FFT lengths that are a power of two. | ||||
|     float nbits = ceilf(log2f(static_cast<float>(code_length))); | ||||
|   | ||||
| @@ -60,7 +60,7 @@ GpsL5iPcpsAcquisition::GpsL5iPcpsAcquisition( | ||||
|     item_size_ = acq_parameters_.it_size; | ||||
|  | ||||
|     code_length_ = static_cast<unsigned int>(std::floor(static_cast<double>(acq_parameters_.resampled_fs) / (GPS_L5I_CODE_RATE_CPS / GPS_L5I_CODE_LENGTH_CHIPS))); | ||||
|     vector_length_ = std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2 : 1); | ||||
|     vector_length_ = static_cast<unsigned int>(std::floor(acq_parameters_.sampled_ms * acq_parameters_.samples_per_ms) * (acq_parameters_.bit_transition_flag ? 2.0 : 1.0)); | ||||
|     code_ = std::vector<std::complex<float>>(vector_length_); | ||||
|     fs_in_ = acq_parameters_.fs_in; | ||||
|  | ||||
| @@ -188,11 +188,7 @@ void GpsL5iPcpsAcquisition::set_state(int state) | ||||
|  | ||||
| void GpsL5iPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to connect | ||||
|         } | ||||
| @@ -213,11 +209,7 @@ void GpsL5iPcpsAcquisition::connect(gr::top_block_sptr top_block) | ||||
|  | ||||
| void GpsL5iPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
|     else if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             // nothing to disconnect | ||||
|         } | ||||
| @@ -236,11 +228,7 @@ void GpsL5iPcpsAcquisition::disconnect(gr::top_block_sptr top_block) | ||||
|  | ||||
| gr::basic_block_sptr GpsL5iPcpsAcquisition::get_left_block() | ||||
| { | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|     if (item_type_ == "cshort") | ||||
|     if (item_type_ == "gr_complex" || item_type_ == "cshort") | ||||
|         { | ||||
|             return acquisition_; | ||||
|         } | ||||
|   | ||||
| @@ -144,7 +144,7 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga( | ||||
|     acq_parameters.total_block_exp = configuration->property(role + ".total_block_exp", 13); | ||||
|  | ||||
|     acq_parameters.num_doppler_bins_step2 = configuration->property(role + ".second_nbins", 4); | ||||
|     acq_parameters.doppler_step2 = configuration->property(role + ".second_doppler_step", 125.0); | ||||
|     acq_parameters.doppler_step2 = configuration->property(role + ".second_doppler_step", static_cast<float>(125.0)); | ||||
|     acq_parameters.make_2_steps = configuration->property(role + ".make_two_steps", false); | ||||
|     acq_parameters.max_num_acqs = configuration->property(role + ".max_num_acqs", 2); | ||||
|     acquisition_fpga_ = pcps_make_acquisition_fpga(acq_parameters); | ||||
|   | ||||
| @@ -240,7 +240,7 @@ void galileo_e5a_noncoherentIQ_acquisition_caf_cc::init() | ||||
|     for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = TWO_PI * doppler / static_cast<float>(d_fs_in); | ||||
|             float phase_step_rad = static_cast<float>(TWO_PI) * doppler / static_cast<float>(d_fs_in); | ||||
|             std::array<float, 1> _phase{}; | ||||
|             volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index].data(), -phase_step_rad, _phase.data(), d_fft_size); | ||||
|         } | ||||
|   | ||||
| @@ -82,7 +82,7 @@ pcps_acquisition::pcps_acquisition(const Acq_Conf& conf_) : gr::block("pcps_acqu | ||||
|     d_state = 0; | ||||
|     d_doppler_bias = 0; | ||||
|     d_num_noncoherent_integrations_counter = 0U; | ||||
|     d_consumed_samples = d_acq_parameters.sampled_ms * d_acq_parameters.samples_per_ms * (d_acq_parameters.bit_transition_flag ? 2 : 1); | ||||
|     d_consumed_samples = d_acq_parameters.sampled_ms * d_acq_parameters.samples_per_ms * (d_acq_parameters.bit_transition_flag ? 2.0 : 1.0); | ||||
|     if (d_acq_parameters.sampled_ms == d_acq_parameters.ms_per_code) | ||||
|         { | ||||
|             d_fft_size = d_consumed_samples; | ||||
| @@ -258,11 +258,11 @@ void pcps_acquisition::update_local_carrier(own::span<gr_complex> carrier_vector | ||||
|     float phase_step_rad; | ||||
|     if (d_acq_parameters.use_automatic_resampler) | ||||
|         { | ||||
|             phase_step_rad = TWO_PI * freq / static_cast<float>(d_acq_parameters.resampled_fs); | ||||
|             phase_step_rad = static_cast<float>(TWO_PI) * freq / static_cast<float>(d_acq_parameters.resampled_fs); | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|             phase_step_rad = TWO_PI * freq / static_cast<float>(d_acq_parameters.fs_in); | ||||
|             phase_step_rad = static_cast<float>(TWO_PI) * freq / static_cast<float>(d_acq_parameters.fs_in); | ||||
|         } | ||||
|     std::array<float, 1> _phase{}; | ||||
|     volk_gnsssdr_s32f_sincos_32fc(carrier_vector.data(), -phase_step_rad, _phase.data(), carrier_vector.size()); | ||||
| @@ -531,8 +531,8 @@ float pcps_acquisition::max_to_input_power_statistic(uint32_t& indext, int32_t& | ||||
|     indext = index_time; | ||||
|     if (!d_step_two) | ||||
|         { | ||||
|             int index_opp = (index_doppler + d_num_doppler_bins / 2) % d_num_doppler_bins; | ||||
|             d_input_power = std::accumulate(d_magnitude_grid[index_opp].data(), d_magnitude_grid[index_opp].data() + effective_fft_size, 0.0) / effective_fft_size / 2.0 / d_num_noncoherent_integrations_counter; | ||||
|             auto index_opp = (index_doppler + d_num_doppler_bins / 2) % d_num_doppler_bins; | ||||
|             d_input_power = std::accumulate(d_magnitude_grid[index_opp].data(), d_magnitude_grid[index_opp].data() + effective_fft_size, static_cast<float>(0.0)) / static_cast<float>(effective_fft_size / 2.0 / d_num_noncoherent_integrations_counter); | ||||
|             doppler = -static_cast<int32_t>(doppler_max) + d_doppler_center + doppler_step * static_cast<int32_t>(index_doppler); | ||||
|         } | ||||
|     else | ||||
| @@ -891,12 +891,12 @@ void pcps_acquisition::calculate_threshold() | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|     int effective_fft_size = (d_acq_parameters.bit_transition_flag ? (d_fft_size / 2) : d_fft_size); | ||||
|     auto effective_fft_size = static_cast<int>(d_acq_parameters.bit_transition_flag ? (d_fft_size / 2) : d_fft_size); | ||||
|     int num_doppler_bins = (d_step_two ? d_num_doppler_bins_step2 : d_num_doppler_bins); | ||||
|  | ||||
|     int num_bins = effective_fft_size * num_doppler_bins; | ||||
|  | ||||
|     d_threshold = 2.0 * boost::math::gamma_p_inv(2.0 * d_acq_parameters.max_dwells, std::pow(1.0 - pfa, 1.0 / static_cast<float>(num_bins))); | ||||
|     d_threshold = static_cast<float>(2.0 * boost::math::gamma_p_inv(2.0 * d_acq_parameters.max_dwells, std::pow(1.0 - pfa, 1.0 / static_cast<float>(num_bins)))); | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -175,7 +175,7 @@ void pcps_cccwsr_acquisition_cc::init() | ||||
|     for (uint32_t doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             int32_t doppler = -static_cast<int32_t>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = TWO_PI * doppler / static_cast<float>(d_fs_in); | ||||
|             float phase_step_rad = static_cast<float>(TWO_PI) * doppler / static_cast<float>(d_fs_in); | ||||
|             std::array<float, 1> _phase{}; | ||||
|             volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index].data(), -phase_step_rad, _phase.data(), d_fft_size); | ||||
|         } | ||||
|   | ||||
| @@ -195,7 +195,7 @@ void pcps_quicksync_acquisition_cc::init() | ||||
|     for (uint32_t doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             int32_t doppler = -static_cast<int32_t>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = TWO_PI * doppler / static_cast<float>(d_fs_in); | ||||
|             float phase_step_rad = static_cast<float>(TWO_PI) * doppler / static_cast<float>(d_fs_in); | ||||
|             std::array<float, 1> _phase{}; | ||||
|             volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index].data(), -phase_step_rad, _phase.data(), d_samples_per_code * d_folding_factor); | ||||
|         } | ||||
|   | ||||
| @@ -182,7 +182,7 @@ void pcps_tong_acquisition_cc::init() | ||||
|     for (uint32_t doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++) | ||||
|         { | ||||
|             int32_t doppler = -static_cast<int32_t>(d_doppler_max) + d_doppler_step * doppler_index; | ||||
|             float phase_step_rad = TWO_PI * doppler / static_cast<float>(d_fs_in); | ||||
|             float phase_step_rad = static_cast<float>(TWO_PI) * doppler / static_cast<float>(d_fs_in); | ||||
|             std::array<float, 1> _phase{}; | ||||
|             volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index].data(), -phase_step_rad, _phase.data(), d_fft_size); | ||||
|         } | ||||
|   | ||||
| @@ -148,7 +148,7 @@ void Acq_Conf::ConfigureAutomaticResampler(double opt_freq) | ||||
|  | ||||
| void Acq_Conf::SetDerivedParams() | ||||
| { | ||||
|     samples_per_ms = static_cast<float>(resampled_fs) * 0.001; | ||||
|     samples_per_ms = static_cast<float>(resampled_fs) * 0.001F; | ||||
|     samples_per_chip = static_cast<unsigned int>(std::ceil(static_cast<float>(resampled_fs) / chips_per_second)); | ||||
|     samples_per_code = samples_per_ms * ms_per_code; | ||||
| } | ||||
|   | ||||
| @@ -79,10 +79,10 @@ Channel::Channel(const ConfigurationInterface* configuration, uint32_t channel, | ||||
|  | ||||
|     acq_->set_doppler_step(doppler_step); | ||||
|  | ||||
|     float threshold = configuration->property("Acquisition_" + implementation_ + std::to_string(channel_) + ".threshold", 0.0); | ||||
|     float threshold = configuration->property("Acquisition_" + implementation_ + std::to_string(channel_) + ".threshold", static_cast<float>(0.0)); | ||||
|     if (threshold == 0.0) | ||||
|         { | ||||
|             threshold = configuration->property("Acquisition_" + implementation_ + ".threshold", 0.0); | ||||
|             threshold = configuration->property("Acquisition_" + implementation_ + ".threshold", static_cast<float>(0.0)); | ||||
|         } | ||||
|  | ||||
|     acq_->set_threshold(threshold); | ||||
|   | ||||
| @@ -78,9 +78,9 @@ public: | ||||
|  | ||||
|     void assist_acquisition_doppler(double Carrier_Doppler_hz) override; | ||||
|  | ||||
|     inline std::shared_ptr<AcquisitionInterface> acquisition() { return acq_; } | ||||
|     inline std::shared_ptr<TrackingInterface> tracking() { return trk_; } | ||||
|     inline std::shared_ptr<TelemetryDecoderInterface> telemetry() { return nav_; } | ||||
|     inline std::shared_ptr<AcquisitionInterface> acquisition() const { return acq_; } | ||||
|     inline std::shared_ptr<TrackingInterface> tracking() const { return trk_; } | ||||
|     inline std::shared_ptr<TelemetryDecoderInterface> telemetry() const { return nav_; } | ||||
|     void msg_handler_events(pmt::pmt_t msg); | ||||
|  | ||||
| private: | ||||
|   | ||||
| @@ -26,9 +26,9 @@ | ||||
| ByteToShort::ByteToShort(const ConfigurationInterface* configuration, std::string role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(std::move(role)), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_input_item_type = "byte"; | ||||
|     std::string default_output_item_type = "short"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     const std::string default_input_item_type("byte"); | ||||
|     const std::string default_output_item_type("short"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -27,9 +27,9 @@ | ||||
| IbyteToCbyte::IbyteToCbyte(const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_input_item_type = "byte"; | ||||
|     std::string default_output_item_type = "lv_8sc_t"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     const std::string default_input_item_type("byte"); | ||||
|     const std::string default_output_item_type("lv_8sc_t"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -25,9 +25,9 @@ | ||||
| IbyteToComplex::IbyteToComplex(const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_input_item_type = "byte"; | ||||
|     std::string default_output_item_type = "gr_complex"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     const std::string default_input_item_type("byte"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -27,9 +27,9 @@ | ||||
| IbyteToCshort::IbyteToCshort(const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_input_item_type = "byte"; | ||||
|     std::string default_output_item_type = "cshort"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     const std::string default_input_item_type("byte"); | ||||
|     const std::string default_output_item_type("cshort"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -25,9 +25,9 @@ | ||||
| IshortToComplex::IshortToComplex(const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_input_item_type = "short"; | ||||
|     std::string default_output_item_type = "gr_complex"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     const std::string default_input_item_type("short"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -27,9 +27,9 @@ | ||||
| IshortToCshort::IshortToCshort(const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_input_item_type = "short"; | ||||
|     std::string default_output_item_type = "cshort"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     const std::string default_input_item_type("short"); | ||||
|     const std::string default_output_item_type("cshort"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -35,7 +35,7 @@ interleaved_byte_to_complex_byte::interleaved_byte_to_complex_byte() : sync_deci | ||||
|                                                                            gr::io_signature::make(1, 1, sizeof(lv_8sc_t)),  // lv_8sc_t is a Volk's typedef for std::complex<signed char> | ||||
|                                                                            2) | ||||
| { | ||||
|     const int alignment_multiple = volk_get_alignment() / sizeof(lv_8sc_t); | ||||
|     const auto alignment_multiple = static_cast<int>(volk_get_alignment() / sizeof(lv_8sc_t)); | ||||
|     set_alignment(std::max(1, alignment_multiple)); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -35,7 +35,7 @@ interleaved_byte_to_complex_short::interleaved_byte_to_complex_short() : sync_de | ||||
|                                                                              gr::io_signature::make(1, 1, sizeof(lv_16sc_t)),  // lv_16sc_t is a Volk's typedef for std::complex<short int> | ||||
|                                                                              2) | ||||
| { | ||||
|     const int alignment_multiple = volk_get_alignment() / sizeof(lv_16sc_t); | ||||
|     const auto alignment_multiple = static_cast<int>(volk_get_alignment() / sizeof(lv_16sc_t)); | ||||
|     set_alignment(std::max(1, alignment_multiple)); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -35,7 +35,7 @@ interleaved_short_to_complex_short::interleaved_short_to_complex_short() : sync_ | ||||
|                                                                                gr::io_signature::make(1, 1, sizeof(lv_16sc_t)),  // lv_16sc_t is a Volk's typedef for std::complex<short int> | ||||
|                                                                                2) | ||||
| { | ||||
|     const int alignment_multiple = volk_get_alignment() / sizeof(lv_16sc_t); | ||||
|     const auto alignment_multiple = static_cast<int>(volk_get_alignment() / sizeof(lv_16sc_t)); | ||||
|     set_alignment(std::max(1, alignment_multiple)); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -28,8 +28,8 @@ BeamformerFilter::BeamformerFilter( | ||||
|     const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_stream, unsigned int out_stream) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_file = "./data/input_filter.dat"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/input_filter.dat"); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     dump_ = configuration->property(role + ".dump", false); | ||||
|     DLOG(INFO) << "dump_ is " << dump_; | ||||
|   | ||||
| @@ -132,17 +132,17 @@ FirFilter::FirFilter(const ConfigurationInterface* configuration, std::string ro | ||||
|  | ||||
| void FirFilter::init() | ||||
| { | ||||
|     std::string default_input_item_type = "gr_complex"; | ||||
|     std::string default_output_item_type = "gr_complex"; | ||||
|     std::string default_taps_item_type = "float"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     int default_number_of_taps = 6; | ||||
|     unsigned int default_number_of_bands = 2; | ||||
|     std::vector<double> default_bands = {0.0, 0.4, 0.6, 1.0}; | ||||
|     std::vector<double> default_ampl = {1.0, 1.0, 0.0, 0.0}; | ||||
|     std::vector<double> default_error_w = {1.0, 1.0}; | ||||
|     std::string default_filter_type = "bandpass"; | ||||
|     int default_grid_density = 16; | ||||
|     const std::string default_input_item_type("gr_complex"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_taps_item_type("float"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const int default_number_of_taps = 6; | ||||
|     const unsigned int default_number_of_bands = 2; | ||||
|     const std::vector<double> default_bands = {0.0, 0.4, 0.6, 1.0}; | ||||
|     const std::vector<double> default_ampl = {1.0, 1.0, 0.0, 0.0}; | ||||
|     const std::vector<double> default_error_w = {1.0, 1.0}; | ||||
|     const std::string default_filter_type("bandpass"); | ||||
|     const int default_grid_density = 16; | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -31,20 +31,20 @@ | ||||
| FreqXlatingFirFilter::FreqXlatingFirFilter(const ConfigurationInterface* configuration, std::string role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(std::move(role)), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_input_item_type = "gr_complex"; | ||||
|     std::string default_output_item_type = "gr_complex"; | ||||
|     std::string default_taps_item_type = "float"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     double default_intermediate_freq = 0.0; | ||||
|     double default_sampling_freq = 4000000.0; | ||||
|     int default_number_of_taps = 6; | ||||
|     unsigned int default_number_of_bands = 2; | ||||
|     std::vector<double> default_bands = {0.0, 0.4, 0.6, 1.0}; | ||||
|     std::vector<double> default_ampl = {1.0, 1.0, 0.0, 0.0}; | ||||
|     std::vector<double> default_error_w = {1.0, 1.0}; | ||||
|     std::string default_filter_type = "bandpass"; | ||||
|     int default_grid_density = 16; | ||||
|     int default_decimation_factor = 1; | ||||
|     const std::string default_input_item_type("gr_complex"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_taps_item_type("float"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const double default_intermediate_freq = 0.0; | ||||
|     const double default_sampling_freq = 4000000.0; | ||||
|     const int default_number_of_taps = 6; | ||||
|     const unsigned int default_number_of_bands = 2; | ||||
|     const std::vector<double> default_bands = {0.0, 0.4, 0.6, 1.0}; | ||||
|     const std::vector<double> default_ampl = {1.0, 1.0, 0.0, 0.0}; | ||||
|     const std::vector<double> default_error_w = {1.0, 1.0}; | ||||
|     const std::string default_filter_type("bandpass"); | ||||
|     const int default_grid_density = 16; | ||||
|     const int default_decimation_factor = 1; | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -28,27 +28,22 @@ | ||||
| NotchFilter::NotchFilter(const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     float pfa; | ||||
|     float default_pfa = 0.001; | ||||
|     float p_c_factor; | ||||
|     float default_p_c_factor = 0.9; | ||||
|     int length_; | ||||
|     int default_length_ = 32; | ||||
|     int n_segments_est; | ||||
|     int default_n_segments_est = 12500; | ||||
|     int n_segments_reset; | ||||
|     int default_n_segments_reset = 5000000; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_file = "./data/input_filter.dat"; | ||||
|     const float default_pfa = 0.001; | ||||
|     const float default_p_c_factor = 0.9; | ||||
|     const int default_length_ = 32; | ||||
|     const int default_n_segments_est = 12500; | ||||
|     const int default_n_segments_reset = 5000000; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/input_filter.dat"); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     dump_ = configuration->property(role + ".dump", false); | ||||
|     DLOG(INFO) << "dump_ is " << dump_; | ||||
|     dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file); | ||||
|     pfa = configuration->property(role + ".pfa", default_pfa); | ||||
|     p_c_factor = configuration->property(role + ".p_c_factor", default_p_c_factor); | ||||
|     length_ = configuration->property(role + ".length", default_length_); | ||||
|     n_segments_est = configuration->property(role + ".segments_est", default_n_segments_est); | ||||
|     n_segments_reset = configuration->property(role + ".segments_reset", default_n_segments_reset); | ||||
|     float pfa = configuration->property(role + ".pfa", default_pfa); | ||||
|     float p_c_factor = configuration->property(role + ".p_c_factor", default_p_c_factor); | ||||
|     int length_ = configuration->property(role + ".length", default_length_); | ||||
|     int n_segments_est = configuration->property(role + ".segments_est", default_n_segments_est); | ||||
|     int n_segments_reset = configuration->property(role + ".segments_reset", default_n_segments_reset); | ||||
|     if (item_type_ == "gr_complex") | ||||
|         { | ||||
|             item_size_ = sizeof(gr_complex); | ||||
|   | ||||
| @@ -29,32 +29,26 @@ | ||||
| NotchFilterLite::NotchFilterLite(const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams) | ||||
| { | ||||
|     float p_c_factor; | ||||
|     float default_p_c_factor = 0.9; | ||||
|     float pfa; | ||||
|     float default_pfa = 0.001; | ||||
|     int length_; | ||||
|     int default_length_ = 32; | ||||
|     int n_segments_est; | ||||
|     int default_n_segments_est = 12500; | ||||
|     int n_segments_reset; | ||||
|     int default_n_segments_reset = 5000000; | ||||
|     float default_samp_freq = 4000000; | ||||
|     const float default_p_c_factor = 0.9; | ||||
|     const float default_pfa = 0.001; | ||||
|     const int default_length_ = 32; | ||||
|     const int default_n_segments_est = 12500; | ||||
|     const int default_n_segments_reset = 5000000; | ||||
|     const float default_samp_freq = 4000000; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/input_filter.dat"); | ||||
|     float samp_freq = configuration->property("SignalSource.sampling_frequency", default_samp_freq); | ||||
|     float default_coeff_rate = samp_freq * 0.1; | ||||
|     float coeff_rate; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_file = "./data/input_filter.dat"; | ||||
|     float default_coeff_rate = samp_freq * 0.1F; | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     dump_ = configuration->property(role + ".dump", false); | ||||
|     DLOG(INFO) << "dump_ is " << dump_; | ||||
|     dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file); | ||||
|     p_c_factor = configuration->property(role + ".p_c_factor", default_p_c_factor); | ||||
|     pfa = configuration->property(role + ".pfa", default_pfa); | ||||
|     coeff_rate = configuration->property(role + ".coeff_rate", default_coeff_rate); | ||||
|     length_ = configuration->property(role + ".length", default_length_); | ||||
|     n_segments_est = configuration->property(role + ".segments_est", default_n_segments_est); | ||||
|     n_segments_reset = configuration->property(role + ".segments_reset", default_n_segments_reset); | ||||
|     float p_c_factor = configuration->property(role + ".p_c_factor", default_p_c_factor); | ||||
|     float pfa = configuration->property(role + ".pfa", default_pfa); | ||||
|     float coeff_rate = configuration->property(role + ".coeff_rate", default_coeff_rate); | ||||
|     int length_ = configuration->property(role + ".length", default_length_); | ||||
|     int n_segments_est = configuration->property(role + ".segments_est", default_n_segments_est); | ||||
|     int n_segments_reset = configuration->property(role + ".segments_reset", default_n_segments_reset); | ||||
|     int n_segments_coeff = static_cast<int>((samp_freq / coeff_rate) / static_cast<float>(length_)); | ||||
|     n_segments_coeff = std::max(1, n_segments_coeff); | ||||
|     if (item_type_ == "gr_complex") | ||||
|   | ||||
| @@ -32,9 +32,9 @@ PulseBlankingFilter::PulseBlankingFilter(const ConfigurationInterface* configura | ||||
| { | ||||
|     size_t item_size; | ||||
|     xlat_ = false; | ||||
|     std::string default_input_item_type = "gr_complex"; | ||||
|     std::string default_output_item_type = "gr_complex"; | ||||
|     std::string default_dump_filename = "../data/input_filter.dat"; | ||||
|     const std::string default_input_item_type("gr_complex"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
| @@ -42,13 +42,13 @@ PulseBlankingFilter::PulseBlankingFilter(const ConfigurationInterface* configura | ||||
|     output_item_type_ = configuration->property(role_ + ".output_item_type", default_output_item_type); | ||||
|     dump_ = configuration->property(role_ + ".dump", false); | ||||
|     dump_filename_ = configuration->property(role_ + ".dump_filename", default_dump_filename); | ||||
|     float default_pfa_ = 0.04; | ||||
|     const float default_pfa_ = 0.04; | ||||
|     float pfa = configuration->property(role_ + ".pfa", default_pfa_); | ||||
|     int default_length_ = 32; | ||||
|     const int default_length_ = 32; | ||||
|     int length_ = configuration->property(role_ + ".length", default_length_); | ||||
|     int default_n_segments_est = 12500; | ||||
|     const int default_n_segments_est = 12500; | ||||
|     int n_segments_est = configuration->property(role_ + ".segments_est", default_n_segments_est); | ||||
|     int default_n_segments_reset = 5000000; | ||||
|     const int default_n_segments_reset = 5000000; | ||||
|     int n_segments_reset = configuration->property(role_ + ".segments_reset", default_n_segments_reset); | ||||
|     if (input_item_type_ == "gr_complex") | ||||
|         { | ||||
| @@ -62,17 +62,17 @@ PulseBlankingFilter::PulseBlankingFilter(const ConfigurationInterface* configura | ||||
|             item_size = sizeof(gr_complex);    // avoids uninitialization | ||||
|             input_size_ = sizeof(gr_complex);  // avoids uninitialization | ||||
|         } | ||||
|     double default_if = 0.0; | ||||
|     const double default_if = 0.0; | ||||
|     double if_aux = configuration->property(role_ + ".if", default_if); | ||||
|     double if_ = configuration->property(role_ + ".IF", if_aux); | ||||
|     if (std::abs(if_) > 1.0) | ||||
|         { | ||||
|             xlat_ = true; | ||||
|             double default_sampling_freq = 4000000.0; | ||||
|             const double default_sampling_freq = 4000000.0; | ||||
|             double sampling_freq_ = configuration->property(role_ + ".sampling_frequency", default_sampling_freq); | ||||
|             double default_bw = 2000000.0; | ||||
|             const double default_bw = 2000000.0; | ||||
|             double bw_ = configuration->property(role_ + ".bw", default_bw); | ||||
|             double default_tw = bw_ / 10.0; | ||||
|             const double default_tw = bw_ / 10.0; | ||||
|             double tw_ = configuration->property(role_ + ".tw", default_tw); | ||||
|             const std::vector<float> taps = gr::filter::firdes::low_pass(1.0, sampling_freq_, bw_, tw_); | ||||
|             freq_xlating_ = gr::filter::freq_xlating_fir_filter_ccf::make(1, taps, if_, sampling_freq_); | ||||
|   | ||||
| @@ -23,6 +23,7 @@ | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <volk/volk.h> | ||||
| #include <algorithm> | ||||
| #include <cmath> | ||||
| #include <cstring> | ||||
|  | ||||
|  | ||||
| @@ -91,7 +92,7 @@ int Notch::general_work(int noutput_items, gr_vector_int &ninput_items __attribu | ||||
|                     d_fft->execute(); | ||||
|                     volk_32fc_s32f_power_spectrum_32f(power_spect.data(), d_fft->get_outbuf(), 1.0, length_); | ||||
|                     volk_32f_s32f_calc_spectral_noise_floor_32f(&sig2dB, power_spect.data(), 15.0, length_); | ||||
|                     sig2lin = std::pow(10.0, (sig2dB / 10.0)) / (static_cast<float>(n_deg_fred)); | ||||
|                     sig2lin = std::pow(10.0F, (sig2dB / 10.0F)) / (static_cast<float>(n_deg_fred)); | ||||
|                     noise_pow_est = (static_cast<float>(n_segments) * noise_pow_est + sig2lin) / (static_cast<float>(n_segments + 1)); | ||||
|                     memcpy(out, in, sizeof(gr_complex) * length_); | ||||
|                 } | ||||
| @@ -103,13 +104,13 @@ int Notch::general_work(int noutput_items, gr_vector_int &ninput_items __attribu | ||||
|                             if (filter_state_ == false) | ||||
|                                 { | ||||
|                                     filter_state_ = true; | ||||
|                                     last_out = gr_complex(0, 0); | ||||
|                                     last_out = gr_complex(0.0, 0.0); | ||||
|                                 } | ||||
|                             volk_32fc_x2_multiply_conjugate_32fc(c_samples.data(), in, (in - 1), length_); | ||||
|                             volk_32fc_s32f_atan2_32f(angle_.data(), c_samples.data(), static_cast<float>(1.0), length_); | ||||
|                             for (int32_t aux = 0; aux < length_; aux++) | ||||
|                                 { | ||||
|                                     z_0 = std::exp(gr_complex(0, 1) * (*(angle_.data() + aux))); | ||||
|                                     z_0 = std::exp(gr_complex(0.0, 1.0) * (*(angle_.data() + aux))); | ||||
|                                     *(out + aux) = *(in + aux) - z_0 * (*(in + aux - 1)) + p_c_factor * z_0 * last_out; | ||||
|                                     last_out = *(out + aux); | ||||
|                                 } | ||||
|   | ||||
| @@ -23,6 +23,7 @@ | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <volk/volk.h> | ||||
| #include <algorithm> | ||||
| #include <cmath> | ||||
| #include <cstring> | ||||
|  | ||||
|  | ||||
| @@ -96,7 +97,7 @@ int NotchLite::general_work(int noutput_items, gr_vector_int &ninput_items __att | ||||
|                     d_fft->execute(); | ||||
|                     volk_32fc_s32f_power_spectrum_32f(power_spect.data(), d_fft->get_outbuf(), 1.0, length_); | ||||
|                     volk_32f_s32f_calc_spectral_noise_floor_32f(&sig2dB, power_spect.data(), 15.0, length_); | ||||
|                     sig2lin = std::pow(10.0, (sig2dB / 10.0)) / static_cast<float>(n_deg_fred); | ||||
|                     sig2lin = std::pow(10.0F, (sig2dB / 10.0F)) / static_cast<float>(n_deg_fred); | ||||
|                     noise_pow_est = (static_cast<float>(n_segments) * noise_pow_est + sig2lin) / static_cast<float>(n_segments + 1); | ||||
|                     memcpy(out, in, sizeof(gr_complex) * length_); | ||||
|                 } | ||||
| @@ -117,7 +118,7 @@ int NotchLite::general_work(int noutput_items, gr_vector_int &ninput_items __att | ||||
|                                     volk_32fc_s32f_atan2_32f(&angle1, &c_samples1, static_cast<float>(1.0), 1); | ||||
|                                     volk_32fc_x2_multiply_conjugate_32fc(&c_samples2, (in + length_ - 1), (in + length_ - 2), 1); | ||||
|                                     volk_32fc_s32f_atan2_32f(&angle2, &c_samples2, static_cast<float>(1.0), 1); | ||||
|                                     float angle_ = (angle1 + angle2) / 2.0; | ||||
|                                     float angle_ = (angle1 + angle2) / 2.0F; | ||||
|                                     z_0 = std::exp(gr_complex(0, 1) * angle_); | ||||
|                                 } | ||||
|                             for (int32_t aux = 0; aux < length_; aux++) | ||||
|   | ||||
| @@ -34,7 +34,7 @@ cshort_to_float_x2::cshort_to_float_x2() : sync_block("cshort_to_float_x2", | ||||
|                                                gr::io_signature::make(1, 1, sizeof(lv_16sc_t)),  // lv_8sc_t is a Volk's typedef for std::complex<signed char> | ||||
|                                                gr::io_signature::make(2, 2, sizeof(float))) | ||||
| { | ||||
|     const int alignment_multiple = volk_get_alignment() / sizeof(lv_16sc_t); | ||||
|     const auto alignment_multiple = static_cast<int>(volk_get_alignment() / sizeof(lv_16sc_t)); | ||||
|     set_alignment(std::max(1, alignment_multiple)); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -34,7 +34,7 @@ Pass_Through::Pass_Through(const ConfigurationInterface* configuration, const st | ||||
|                                 in_streams_(in_streams), | ||||
|                                 out_streams_(out_streams) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string input_type = configuration->property(role + ".input_item_type", default_item_type); | ||||
|     std::string output_type = configuration->property(role + ".output_item_type", default_item_type); | ||||
|     if (input_type != output_type) | ||||
|   | ||||
| @@ -128,7 +128,7 @@ obsd_t insert_obs_to_rtklib(obsd_t& rtklib_obs, const Gnss_Synchro& gnss_synchro | ||||
|  | ||||
| geph_t eph_to_rtklib(const Glonass_Gnav_Ephemeris& glonass_gnav_eph, const Glonass_Gnav_Utc_Model& gnav_clock_model) | ||||
| { | ||||
|     double week; | ||||
|     int week; | ||||
|     double sec; | ||||
|     int adj_week; | ||||
|     geph_t rtklib_sat = {0, 0, 0, 0, 0, 0, {0, 0}, {0, 0}, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, 0.0, 0.0, 0.0}; | ||||
|   | ||||
| @@ -555,17 +555,11 @@ void hybrid_observables_gs::smooth_pseudoranges(std::vector<Gnss_Synchro> &data) | ||||
|                     switch (d_mapStringValues[it->Signal]) | ||||
|                         { | ||||
|                         case evGPS_1C: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ1; | ||||
|                             break; | ||||
|                         case evGPS_L5: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ5; | ||||
|                             break; | ||||
|                         case evSBAS_1C: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ1; | ||||
|                             break; | ||||
|                         case evGAL_1B: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ1; | ||||
|                             break; | ||||
|                         case evGPS_L5: | ||||
|                         case evGAL_5X: | ||||
|                             wavelength_m = SPEED_OF_LIGHT_M_S / FREQ5; | ||||
|                             break; | ||||
| @@ -626,7 +620,7 @@ int hybrid_observables_gs::general_work(int noutput_items __attribute__((unused) | ||||
|         { | ||||
|             d_Rx_clock_buffer.push_back(in[d_nchannels_in - 1][0].Tracking_sample_counter); | ||||
|             // Consume one item from the clock channel (last of the input channels) | ||||
|             consume(d_nchannels_in - 1, 1); | ||||
|             consume(static_cast<int32_t>(d_nchannels_in) - 1, 1); | ||||
|         } | ||||
|  | ||||
|     // Push the tracking observables into buffers to allow the observable interpolation at the desired Rx clock | ||||
|   | ||||
| @@ -35,12 +35,10 @@ DirectResamplerConditioner::DirectResamplerConditioner( | ||||
|     const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_stream, unsigned int out_stream) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     std::string default_item_type = "short"; | ||||
|     std::string default_dump_file = "./data/signal_conditioner.dat"; | ||||
|     double fs_in_deprecated; | ||||
|     double fs_in; | ||||
|     fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000.0); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     const std::string default_item_type("short"); | ||||
|     const std::string default_dump_file("./data/signal_conditioner.dat"); | ||||
|     double fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000.0); | ||||
|     double fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     sample_freq_in_ = configuration->property(role_ + ".sample_freq_in", 4000000.0); | ||||
|     sample_freq_out_ = configuration->property(role_ + ".sample_freq_out", fs_in); | ||||
|     if (std::fabs(fs_in - sample_freq_out_) > std::numeric_limits<double>::epsilon()) | ||||
|   | ||||
| @@ -30,12 +30,10 @@ MmseResamplerConditioner::MmseResamplerConditioner( | ||||
|     const ConfigurationInterface* configuration, const std::string& role, | ||||
|     unsigned int in_stream, unsigned int out_stream) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_file = "./data/signal_conditioner.dat"; | ||||
|     double fs_in_deprecated; | ||||
|     double fs_in; | ||||
|     fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000.0); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/signal_conditioner.dat"); | ||||
|     double fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000.0); | ||||
|     double fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     sample_freq_in_ = configuration->property(role_ + ".sample_freq_in", 4000000.0); | ||||
|     sample_freq_out_ = configuration->property(role_ + ".sample_freq_out", fs_in); | ||||
|     if (std::fabs(fs_in - sample_freq_out_) > std::numeric_limits<double>::epsilon()) | ||||
| @@ -63,9 +61,9 @@ MmseResamplerConditioner::MmseResamplerConditioner( | ||||
|             fir_filter_ccf_ = gr::filter::fir_filter_ccf::make(1, taps); | ||||
|  | ||||
| #ifdef GR_GREATER_38 | ||||
|             resampler_ = gr::filter::mmse_resampler_cc::make(0.0, sample_freq_in_ / sample_freq_out_); | ||||
|             resampler_ = gr::filter::mmse_resampler_cc::make(0.0, static_cast<float>(sample_freq_in_ / sample_freq_out_)); | ||||
| #else | ||||
|             resampler_ = gr::filter::fractional_resampler_cc::make(0.0, sample_freq_in_ / sample_freq_out_); | ||||
|             resampler_ = gr::filter::fractional_resampler_cc::make(0.0, static_cast<float>(sample_freq_in_ / sample_freq_out_)); | ||||
| #endif | ||||
|             DLOG(INFO) << "sample_freq_in " << sample_freq_in_; | ||||
|             DLOG(INFO) << "sample_freq_out" << sample_freq_out_; | ||||
|   | ||||
| @@ -36,7 +36,7 @@ SignalGenerator::SignalGenerator(const ConfigurationInterface* configuration, | ||||
|     unsigned int out_stream, | ||||
|     Concurrent_Queue<pmt::pmt_t>* queue __attribute__((unused))) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string default_dump_file = "./data/gen_source.dat"; | ||||
|     std::string default_system = "G"; | ||||
|     std::string default_signal = "1C"; | ||||
|   | ||||
| @@ -75,8 +75,8 @@ Ad9361FpgaSignalSource::Ad9361FpgaSignalSource(const ConfigurationInterface *con | ||||
|         { | ||||
|             filter_source_ = configuration->property(role + ".filter_source", std::string("Off")); | ||||
|         } | ||||
|     Fpass_ = configuration->property(role + ".Fpass", 0.0); | ||||
|     Fstop_ = configuration->property(role + ".Fstop", 0.0); | ||||
|     Fpass_ = configuration->property(role + ".Fpass", static_cast<float>(0.0)); | ||||
|     Fstop_ = configuration->property(role + ".Fstop", static_cast<float>(0.0)); | ||||
|     enable_dds_lo_ = configuration->property(role + ".enable_dds_lo", false); | ||||
|     freq_dds_tx_hz_ = configuration->property(role + ".freq_dds_tx_hz", static_cast<uint64_t>(10000)); | ||||
|     freq_rf_tx_hz_ = configuration->property(role + ".freq_rf_tx_hz", static_cast<uint64_t>(GPS_L1_FREQ_HZ - GPS_L5_FREQ_HZ - freq_dds_tx_hz_)); | ||||
|   | ||||
| @@ -32,16 +32,15 @@ CustomUDPSignalSource::CustomUDPSignalSource(const ConfigurationInterface* confi | ||||
|     Concurrent_Queue<pmt::pmt_t>* queue __attribute__((unused))) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     // DUMP PARAMETERS | ||||
|     std::string empty = ""; | ||||
|     std::string default_dump_file = "./data/signal_source.dat"; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_dump_file("./data/signal_source.dat"); | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     dump_ = configuration->property(role + ".dump", false); | ||||
|     dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file); | ||||
|  | ||||
|     // network PARAMETERS | ||||
|     std::string default_capture_device = "eth0"; | ||||
|     std::string default_address = "127.0.0.1"; | ||||
|     int default_port = 1234; | ||||
|     const std::string default_capture_device("eth0"); | ||||
|     const std::string default_address("127.0.0.1"); | ||||
|     const int default_port = 1234; | ||||
|     std::string address = configuration->property(role + ".origin_address", default_address); | ||||
|     std::string capture_device = configuration->property(role + ".capture_device", default_capture_device); | ||||
|     int port = configuration->property(role + ".port", default_port); | ||||
| @@ -51,7 +50,7 @@ CustomUDPSignalSource::CustomUDPSignalSource(const ConfigurationInterface* confi | ||||
|     channels_in_udp_ = configuration->property(role + ".channels_in_udp", 1); | ||||
|     IQ_swap_ = configuration->property(role + ".IQ_swap", false); | ||||
|  | ||||
|     std::string default_sample_type = "cbyte"; | ||||
|     const std::string default_sample_type("cbyte"); | ||||
|     std::string sample_type = configuration->property(role + ".sample_type", default_sample_type); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     // output item size is always gr_complex | ||||
|   | ||||
| @@ -37,8 +37,8 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(const ConfigurationInterface *configu | ||||
|     const std::string &role, unsigned int in_stream, unsigned int out_stream, | ||||
|     Concurrent_Queue<pmt::pmt_t> *queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_file = "./data/signal_source.dat"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/signal_source.dat"); | ||||
|     std::string default_gain_mode("slow_attack"); | ||||
|     double default_tx_attenuation_db = -10.0; | ||||
|     uri_ = configuration->property(role + ".device_address", std::string("192.168.2.1")); | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
| LabsatSignalSource::LabsatSignalSource(const ConfigurationInterface* configuration, | ||||
|     const std::string& role, unsigned int in_stream, unsigned int out_stream, Concurrent_Queue<pmt::pmt_t>* queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string default_dump_file = "./labsat_output.dat"; | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     dump_ = configuration->property(role + ".dump", false); | ||||
|   | ||||
| @@ -44,7 +44,7 @@ MultichannelFileSignalSource::MultichannelFileSignalSource(const ConfigurationIn | ||||
|     sampling_frequency_ = configuration->property(role + ".sampling_frequency", static_cast<int64_t>(0)); | ||||
|     n_channels_ = configuration->property(role + ".total_channels", 1); | ||||
|  | ||||
|     for (unsigned int n = 0; n < n_channels_; n++) | ||||
|     for (int32_t n = 0; n < n_channels_; n++) | ||||
|         { | ||||
|             filename_vec_.push_back(configuration->property(role + ".filename" + std::to_string(n), default_filename)); | ||||
|         } | ||||
| @@ -93,7 +93,7 @@ MultichannelFileSignalSource::MultichannelFileSignalSource(const ConfigurationIn | ||||
|         } | ||||
|     try | ||||
|         { | ||||
|             for (unsigned int n = 0; n < n_channels_; n++) | ||||
|             for (int32_t n = 0; n < n_channels_; n++) | ||||
|                 { | ||||
|                     file_source_vec_.push_back(gr::blocks::file_source::make(item_size_, filename_vec_.at(n).c_str(), repeat_)); | ||||
|  | ||||
| @@ -210,13 +210,13 @@ MultichannelFileSignalSource::MultichannelFileSignalSource(const ConfigurationIn | ||||
|  | ||||
|     if (enable_throttle_control_) | ||||
|         { | ||||
|             for (unsigned int n = 0; n < n_channels_; n++) | ||||
|             for (int32_t n = 0; n < n_channels_; n++) | ||||
|                 { | ||||
|                     throttle_vec_.push_back(gr::blocks::throttle::make(item_size_, sampling_frequency_)); | ||||
|                 } | ||||
|         } | ||||
|  | ||||
|     for (unsigned int n = 0; n < n_channels_; n++) | ||||
|     for (int32_t n = 0; n < n_channels_; n++) | ||||
|         { | ||||
|             LOG(INFO) << "Multichanne File source filename #" << n << filename_vec_.at(n); | ||||
|         } | ||||
| @@ -242,7 +242,7 @@ void MultichannelFileSignalSource::connect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (enable_throttle_control_ == true) | ||||
|         { | ||||
|             for (unsigned int n = 0; n < n_channels_; n++) | ||||
|             for (int32_t n = 0; n < n_channels_; n++) | ||||
|                 { | ||||
|                     top_block->connect(file_source_vec_.at(n), 0, throttle_vec_.at(n), 0); | ||||
|                     DLOG(INFO) << "connected file_source #" << n << " to throttle"; | ||||
| @@ -252,7 +252,7 @@ void MultichannelFileSignalSource::connect(gr::top_block_sptr top_block) | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|             for (unsigned int n = 0; n < n_channels_; n++) | ||||
|             for (int32_t n = 0; n < n_channels_; n++) | ||||
|                 { | ||||
|                     top_block->connect(file_source_vec_.at(n), 0, valve_, n); | ||||
|                     DLOG(INFO) << "connected file_source #" << n << " to valve_"; | ||||
| @@ -265,7 +265,7 @@ void MultichannelFileSignalSource::disconnect(gr::top_block_sptr top_block) | ||||
| { | ||||
|     if (enable_throttle_control_ == true) | ||||
|         { | ||||
|             for (unsigned int n = 0; n < n_channels_; n++) | ||||
|             for (int32_t n = 0; n < n_channels_; n++) | ||||
|                 { | ||||
|                     top_block->disconnect(file_source_vec_.at(n), 0, throttle_vec_.at(n), 0); | ||||
|                     DLOG(INFO) << "disconnected file_source #" << n << " to throttle"; | ||||
| @@ -275,7 +275,7 @@ void MultichannelFileSignalSource::disconnect(gr::top_block_sptr top_block) | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|             for (unsigned int n = 0; n < n_channels_; n++) | ||||
|             for (int32_t n = 0; n < n_channels_; n++) | ||||
|                 { | ||||
|                     top_block->disconnect(file_source_vec_.at(n), 0, valve_, n); | ||||
|                     DLOG(INFO) << "disconnected file_source #" << n << " to valve_"; | ||||
|   | ||||
| @@ -118,7 +118,7 @@ private: | ||||
|     uint64_t samples_; | ||||
|     int64_t sampling_frequency_; | ||||
|     size_t item_size_; | ||||
|     uint32_t n_channels_; | ||||
|     int32_t n_channels_; | ||||
|     uint32_t in_streams_; | ||||
|     uint32_t out_streams_; | ||||
|     bool repeat_; | ||||
|   | ||||
| @@ -34,9 +34,9 @@ OsmosdrSignalSource::OsmosdrSignalSource(const ConfigurationInterface* configura | ||||
|     Concurrent_Queue<pmt::pmt_t>* queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     // DUMP PARAMETERS | ||||
|     std::string empty = ""; | ||||
|     std::string default_dump_file = "./data/signal_source.dat"; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string empty; | ||||
|     const std::string default_dump_file("./data/signal_source.dat"); | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     samples_ = configuration->property(role + ".samples", static_cast<int64_t>(0)); | ||||
|     dump_ = configuration->property(role + ".dump", false); | ||||
|     dump_filename_ = configuration->property(role + ".dump_filename", | ||||
|   | ||||
| @@ -31,8 +31,8 @@ PlutosdrSignalSource::PlutosdrSignalSource(const ConfigurationInterface* configu | ||||
|     const std::string& role, unsigned int in_stream, unsigned int out_stream, | ||||
|     Concurrent_Queue<pmt::pmt_t>* queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     std::string default_dump_file = "./data/signal_source.dat"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/signal_source.dat"); | ||||
|     std::string default_gain_mode("slow_attack"); | ||||
|     uri_ = configuration->property(role + ".device_address", std::string("192.168.2.1")); | ||||
|     freq_ = configuration->property(role + ".freq", static_cast<uint64_t>(GPS_L1_FREQ_HZ)); | ||||
|   | ||||
| @@ -29,7 +29,7 @@ | ||||
| RawArraySignalSource::RawArraySignalSource(const ConfigurationInterface* configuration, | ||||
|     std::string role, unsigned int in_stream, unsigned int out_stream, Concurrent_Queue<pmt::pmt_t>* queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string default_dump_file = "./data/raw_array_source.dat"; | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|  | ||||
|   | ||||
| @@ -39,23 +39,22 @@ RtlTcpSignalSource::RtlTcpSignalSource(const ConfigurationInterface* configurati | ||||
|                                            out_stream_(out_stream) | ||||
| { | ||||
|     // DUMP PARAMETERS | ||||
|     std::string empty = ""; | ||||
|     std::string default_dump_file = "./data/signal_source.dat"; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_dump_file("./data/signal_source.dat"); | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     samples_ = configuration->property(role + ".samples", static_cast<uint64_t>(0)); | ||||
|     dump_ = configuration->property(role + ".dump", false); | ||||
|     dump_filename_ = configuration->property(role + ".dump_filename", | ||||
|         default_dump_file); | ||||
|  | ||||
|     // rtl_tcp PARAMETERS | ||||
|     std::string default_address = "127.0.0.1"; | ||||
|     int16_t default_port = 1234; | ||||
|     const std::string default_address("127.0.0.1"); | ||||
|     const int16_t default_port = 1234; | ||||
|     AGC_enabled_ = configuration->property(role + ".AGC_enabled", true); | ||||
|     freq_ = configuration->property(role + ".freq", GPS_L1_FREQ_HZ); | ||||
|     gain_ = configuration->property(role + ".gain", 40.0); | ||||
|     freq_ = configuration->property(role + ".freq", static_cast<int>(GPS_L1_FREQ_HZ)); | ||||
|     gain_ = configuration->property(role + ".gain", 40); | ||||
|     rf_gain_ = configuration->property(role + ".rf_gain", 40.0); | ||||
|     if_gain_ = configuration->property(role + ".if_gain", 40.0); | ||||
|     sample_rate_ = configuration->property(role + ".sampling_frequency", 2.0e6); | ||||
|     if_gain_ = configuration->property(role + ".if_gain", 40); | ||||
|     sample_rate_ = configuration->property(role + ".sampling_frequency", 2000000); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     address_ = configuration->property(role + ".address", default_address); | ||||
|     port_ = configuration->property(role + ".port", default_port); | ||||
|   | ||||
| @@ -98,10 +98,10 @@ private: | ||||
|     std::string address_; | ||||
|     size_t item_size_; | ||||
|     uint64_t samples_; | ||||
|     double sample_rate_; | ||||
|     double freq_; | ||||
|     double gain_; | ||||
|     double if_gain_; | ||||
|     int sample_rate_; | ||||
|     int freq_; | ||||
|     int gain_; | ||||
|     int if_gain_; | ||||
|     double rf_gain_; | ||||
|     unsigned int in_stream_; | ||||
|     unsigned int out_stream_; | ||||
|   | ||||
| @@ -56,7 +56,7 @@ SpirGSS6450FileSignalSource::SpirGSS6450FileSignalSource(const ConfigurationInte | ||||
|         } | ||||
|     if (n_channels_ > 1) | ||||
|         { | ||||
|             for (uint32_t i = 0; i < n_channels_; i++) | ||||
|             for (int32_t i = 0; i < n_channels_; i++) | ||||
|                 { | ||||
|                     null_sinks_.push_back(gr::blocks::null_sink::make(sizeof(gr_complex))); | ||||
|                     unpack_spir_vec_.push_back(make_unpack_spir_gss6450_samples(adc_bits_)); | ||||
| @@ -135,7 +135,7 @@ SpirGSS6450FileSignalSource::SpirGSS6450FileSignalSource(const ConfigurationInte | ||||
|     LOG(INFO) << "Total number samples to be processed= " << samples_ << " GNSS signal duration= " << signal_duration_s << " [s]"; | ||||
|     std::cout << "GNSS signal recorded time to be processed: " << signal_duration_s << " [s]\n"; | ||||
|  | ||||
|     for (uint32_t i = 0; i < (n_channels_); i++) | ||||
|     for (int32_t i = 0; i < n_channels_; i++) | ||||
|         { | ||||
|             valve_vec_.emplace_back(gnss_sdr_make_valve(sizeof(gr_complex), samples_, queue)); | ||||
|             if (dump_) | ||||
| @@ -187,7 +187,7 @@ void SpirGSS6450FileSignalSource::connect(gr::top_block_sptr top_block) | ||||
|             if (n_channels_ > 1) | ||||
|                 { | ||||
|                     uint32_t aux = 0; | ||||
|                     for (uint32_t i = 0; i < n_channels_; i++) | ||||
|                     for (int32_t i = 0; i < n_channels_; i++) | ||||
|                         { | ||||
|                             if (i != (sel_ch_ - 1)) | ||||
|                                 { | ||||
| @@ -205,7 +205,7 @@ void SpirGSS6450FileSignalSource::connect(gr::top_block_sptr top_block) | ||||
|                                 } | ||||
|                         } | ||||
|                 } | ||||
|             for (uint32_t i = 0; i < n_channels_; i++) | ||||
|             for (int32_t i = 0; i < n_channels_; i++) | ||||
|                 { | ||||
|                     if (enable_throttle_control_) | ||||
|                         { | ||||
| @@ -248,7 +248,7 @@ void SpirGSS6450FileSignalSource::disconnect(gr::top_block_sptr top_block) | ||||
|             if (n_channels_ > 1) | ||||
|                 { | ||||
|                     uint32_t aux = 0; | ||||
|                     for (uint32_t i = 0; i < n_channels_; i++) | ||||
|                     for (int32_t i = 0; i < n_channels_; i++) | ||||
|                         { | ||||
|                             if (i != (sel_ch_ - 1)) | ||||
|                                 { | ||||
| @@ -267,7 +267,7 @@ void SpirGSS6450FileSignalSource::disconnect(gr::top_block_sptr top_block) | ||||
|                         } | ||||
|                 } | ||||
|  | ||||
|             for (uint32_t i = 0; i < (n_channels_); i++) | ||||
|             for (int32_t i = 0; i < (n_channels_); i++) | ||||
|                 { | ||||
|                     if (enable_throttle_control_) | ||||
|                         { | ||||
|   | ||||
| @@ -125,8 +125,8 @@ private: | ||||
|     uint32_t in_streams_; | ||||
|     uint32_t out_streams_; | ||||
|     uint32_t adc_bits_; | ||||
|     uint32_t n_channels_; | ||||
|     uint32_t sel_ch_; | ||||
|     int32_t n_channels_; | ||||
|     int32_t sel_ch_; | ||||
|     bool repeat_; | ||||
|     bool dump_;  // Enables dumping the gr_complex sample output | ||||
|     bool enable_throttle_control_; | ||||
|   | ||||
| @@ -34,8 +34,8 @@ UhdSignalSource::UhdSignalSource(const ConfigurationInterface* configuration, | ||||
|     Concurrent_Queue<pmt::pmt_t>* queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream) | ||||
| { | ||||
|     // DUMP PARAMETERS | ||||
|     std::string empty = ""; | ||||
|     std::string default_dump_file = "./data/signal_source.dat"; | ||||
|     std::string empty; | ||||
|     const std::string default_dump_file("./data/signal_source.dat"); | ||||
|     std::string default_item_type = "cshort"; | ||||
|  | ||||
|     // UHD COMMON PARAMETERS | ||||
|   | ||||
| @@ -406,16 +406,6 @@ int Gr_Complex_Ip_Packet_Source::work(int noutput_items, | ||||
|     switch (d_wire_sample_type) | ||||
|         { | ||||
|         case 1:  // complex byte samples | ||||
|             bytes_requested = noutput_items * d_bytes_per_sample; | ||||
|             if (bytes_requested < fifo_items) | ||||
|                 { | ||||
|                     num_samples_readed = noutput_items;  // read all | ||||
|                 } | ||||
|             else | ||||
|                 { | ||||
|                     num_samples_readed = fifo_items / d_bytes_per_sample;  // read what we have | ||||
|                 } | ||||
|             break; | ||||
|         case 2:  // complex 4 bits samples | ||||
|             bytes_requested = noutput_items * d_bytes_per_sample; | ||||
|             if (bytes_requested < fifo_items) | ||||
|   | ||||
| @@ -418,7 +418,7 @@ int labsat23_source::general_work(int noutput_items, | ||||
|                         { | ||||
|                             std::vector<int16_t> memblock(n_int16_to_read); | ||||
|                             binary_input_file.read(reinterpret_cast<char *>(memblock.data()), n_int16_to_read * 2); | ||||
|                             n_int16_to_read = binary_input_file.gcount() / 2;  // from bytes to int16 | ||||
|                             n_int16_to_read = static_cast<int>(binary_input_file.gcount()) / 2;  // from bytes to int16 | ||||
|                             if (n_int16_to_read > 0) | ||||
|                                 { | ||||
|                                     int output_pointer = 0; | ||||
| @@ -476,7 +476,7 @@ int labsat23_source::general_work(int noutput_items, | ||||
|                         { | ||||
|                             std::vector<int16_t> memblock(n_int16_to_read); | ||||
|                             binary_input_file.read(reinterpret_cast<char *>(memblock.data()), n_int16_to_read * 2); | ||||
|                             n_int16_to_read = binary_input_file.gcount() / 2;  // from bytes to int16 | ||||
|                             n_int16_to_read = static_cast<int>(binary_input_file.gcount()) / 2;  // from bytes to int16 | ||||
|                             if (n_int16_to_read > 0) | ||||
|                                 { | ||||
|                                     int output_pointer = 0; | ||||
|   | ||||
| @@ -235,12 +235,12 @@ void rtl_tcp_signal_source_c::set_if_gain(int gain) | ||||
|         {3, 15, 3}}; | ||||
|  | ||||
|     std::map<int, double> gains; | ||||
|     for (int i = 0; i < static_cast<int>(ranges.size()); i++) | ||||
|     for (size_t i = 0; i < ranges.size(); i++) | ||||
|         { | ||||
|             gains[i + 1] = ranges[i].start; | ||||
|         } | ||||
|  | ||||
|     for (int i = ranges.size() - 1; i >= 0; i--) | ||||
|     for (size_t i = ranges.size() - 1; i > 0; i--) | ||||
|         { | ||||
|             const range &r = ranges[i]; | ||||
|             double error = gain; | ||||
| @@ -248,7 +248,7 @@ void rtl_tcp_signal_source_c::set_if_gain(int gain) | ||||
|             while (g < r.stop) | ||||
|                 { | ||||
|                     double sum = 0; | ||||
|                     for (int j = 0; j < static_cast<int>(gains.size()); j++) | ||||
|                     for (size_t j = 0; j < gains.size(); j++) | ||||
|                         { | ||||
|                             if (i == j) | ||||
|                                 { | ||||
|   | ||||
| @@ -23,15 +23,15 @@ | ||||
| #include <gnuradio/io_signature.h> | ||||
| #include <cmath> | ||||
|  | ||||
| unpack_spir_gss6450_samples_sptr make_unpack_spir_gss6450_samples(unsigned int adc_nbit_) | ||||
| unpack_spir_gss6450_samples_sptr make_unpack_spir_gss6450_samples(int adc_nbit_) | ||||
| { | ||||
|     return unpack_spir_gss6450_samples_sptr(new unpack_spir_gss6450_samples(adc_nbit_)); | ||||
| } | ||||
|  | ||||
|  | ||||
| unpack_spir_gss6450_samples::unpack_spir_gss6450_samples(unsigned int adc_nbit) : gr::sync_interpolator("unpack_spir_gss6450_samples", | ||||
|                                                                                       gr::io_signature::make(1, 1, sizeof(int32_t)), | ||||
|                                                                                       gr::io_signature::make(1, 1, sizeof(gr_complex)), 16 / adc_nbit) | ||||
| unpack_spir_gss6450_samples::unpack_spir_gss6450_samples(int adc_nbit) : gr::sync_interpolator("unpack_spir_gss6450_samples", | ||||
|                                                                              gr::io_signature::make(1, 1, sizeof(int32_t)), | ||||
|                                                                              gr::io_signature::make(1, 1, sizeof(gr_complex)), 16 / adc_nbit) | ||||
| { | ||||
|     adc_bits = adc_nbit; | ||||
|     samples_per_int = 16 / adc_bits; | ||||
| @@ -53,21 +53,21 @@ void unpack_spir_gss6450_samples::decode_4bits_word(uint32_t input_uint32, gr_co | ||||
|  | ||||
|                     if (tmp_char >= 2) | ||||
|                         { | ||||
|                             I = (tmp_char - 4); | ||||
|                             I = static_cast<float>(tmp_char - 4); | ||||
|                         } | ||||
|                     else | ||||
|                         { | ||||
|                             I = tmp_char; | ||||
|                             I = static_cast<float>(tmp_char); | ||||
|                         } | ||||
|                     input_uint32 = input_uint32 >> 2; | ||||
|                     tmp_char = input_uint32 & 3; | ||||
|                     if (tmp_char >= 2) | ||||
|                         { | ||||
|                             Q = (tmp_char - 4); | ||||
|                             Q = static_cast<float>(tmp_char - 4); | ||||
|                         } | ||||
|                     else | ||||
|                         { | ||||
|                             Q = tmp_char; | ||||
|                             Q = static_cast<float>(tmp_char); | ||||
|                         } | ||||
|                     input_uint32 = input_uint32 >> 2; | ||||
|  | ||||
| @@ -82,21 +82,21 @@ void unpack_spir_gss6450_samples::decode_4bits_word(uint32_t input_uint32, gr_co | ||||
|  | ||||
|                     if (tmp_char >= 8) | ||||
|                         { | ||||
|                             I = (tmp_char - 16); | ||||
|                             I = static_cast<float>(tmp_char - 16); | ||||
|                         } | ||||
|                     else | ||||
|                         { | ||||
|                             I = tmp_char; | ||||
|                             I = static_cast<float>(tmp_char); | ||||
|                         } | ||||
|                     input_uint32 = input_uint32 >> 4; | ||||
|                     tmp_char = input_uint32 & 0x0F; | ||||
|                     if (tmp_char >= 8) | ||||
|                         { | ||||
|                             Q = (tmp_char - 16); | ||||
|                             Q = static_cast<float>(tmp_char - 16); | ||||
|                         } | ||||
|                     else | ||||
|                         { | ||||
|                             Q = tmp_char; | ||||
|                             Q = static_cast<float>(tmp_char); | ||||
|                         } | ||||
|                     input_uint32 = input_uint32 >> 4; | ||||
|  | ||||
|   | ||||
| @@ -36,22 +36,22 @@ using unpack_spir_gss6450_samples_sptr = std::shared_ptr<unpack_spir_gss6450_sam | ||||
| using unpack_spir_gss6450_samples_sptr = boost::shared_ptr<unpack_spir_gss6450_samples>; | ||||
| #endif | ||||
|  | ||||
| unpack_spir_gss6450_samples_sptr make_unpack_spir_gss6450_samples(unsigned int adc_nbit_); | ||||
| unpack_spir_gss6450_samples_sptr make_unpack_spir_gss6450_samples(int adc_nbit_); | ||||
|  | ||||
|  | ||||
| class unpack_spir_gss6450_samples : public gr::sync_interpolator | ||||
| { | ||||
| public: | ||||
|     explicit unpack_spir_gss6450_samples(unsigned int adc_nbit); | ||||
|     explicit unpack_spir_gss6450_samples(int adc_nbit); | ||||
|     ~unpack_spir_gss6450_samples() = default; | ||||
|     void decode_4bits_word(uint32_t input_uint32, gr_complex *out, int adc_bits_); | ||||
|     int work(int noutput_items, | ||||
|         gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); | ||||
|  | ||||
| private: | ||||
|     friend unpack_spir_gss6450_samples_sptr make_unpack_spir_gss6450_samples_sptr(unsigned int adc_nbit); | ||||
|     unsigned int adc_bits; | ||||
|     unsigned int samples_per_int; | ||||
|     friend unpack_spir_gss6450_samples_sptr make_unpack_spir_gss6450_samples_sptr(int adc_nbit); | ||||
|     int adc_bits; | ||||
|     int samples_per_int; | ||||
| }; | ||||
|  | ||||
| #endif  // GNSS_SDR_UNPACK_SPIR_GSS6450_SAMPLES_H | ||||
|   | ||||
| @@ -302,7 +302,6 @@ bool gps_l1_ca_telemetry_decoder_gs::decode_subframe() | ||||
|                         case 5: | ||||
|                             // get almanac (if available) | ||||
|                             // TODO: implement almanac reader in navigation_message | ||||
|                             break; | ||||
|                         default: | ||||
|                             break; | ||||
|                         } | ||||
|   | ||||
| @@ -40,8 +40,8 @@ Viterbi_Decoder::Viterbi_Decoder(const int g_encoder[], const int KK, const int | ||||
|  | ||||
|     // derived code properties | ||||
|     d_mm = d_KK - 1; | ||||
|     d_states = 1U << d_mm;         /* 2^mm */ | ||||
|     d_number_symbols = 1U << d_nn; /* 2^nn */ | ||||
|     d_states = static_cast<int>(1U << d_mm);         /* 2^mm */ | ||||
|     d_number_symbols = static_cast<int>(1U << d_nn); /* 2^nn */ | ||||
|  | ||||
|     /* create appropriate transition matrices (trellis) */ | ||||
|     d_out0.reserve(d_states); | ||||
| @@ -197,7 +197,7 @@ int Viterbi_Decoder::do_acs(const double sym[], int nbits) | ||||
|                     int next_state_if_1 = d_state1[state_at_t]; | ||||
|  | ||||
|                     /* hypothesis: info bit is a zero */ | ||||
|                     int bm_0 = d_metric_c[d_out0[state_at_t]]; | ||||
|                     float bm_0 = d_metric_c[d_out0[state_at_t]]; | ||||
|                     metric = d_pm_t[state_at_t] + bm_0;  // path metric + zerobranch metric | ||||
|  | ||||
|                     /* store new metric if more than metric in storage */ | ||||
| @@ -210,7 +210,7 @@ int Viterbi_Decoder::do_acs(const double sym[], int nbits) | ||||
|                         } | ||||
|  | ||||
|                     /* hypothesis: info bit is a one */ | ||||
|                     int bm_1 = d_metric_c[d_out1[state_at_t]]; | ||||
|                     float bm_1 = d_metric_c[d_out1[state_at_t]]; | ||||
|                     metric = d_pm_t[state_at_t] + bm_1;  // path metric + onebranch metric | ||||
|  | ||||
|                     /* store new metric if more than metric in storage */ | ||||
| @@ -280,7 +280,7 @@ int Viterbi_Decoder::do_tb_and_decode(int traceback_length, int requested_decodi | ||||
|  | ||||
|     VLOG(FLOW) << "do_tb_and_decode(): requested_decoding_length=" << requested_decoding_length; | ||||
|     // decode only decode_length bits -> overstep newer bits which are too much | ||||
|     decoding_length_mismatch = d_trellis_paths.size() - (traceback_length + requested_decoding_length); | ||||
|     decoding_length_mismatch = static_cast<int>(d_trellis_paths.size()) - (traceback_length + requested_decoding_length); | ||||
|     VLOG(BLOCK) << "decoding_length_mismatch=" << decoding_length_mismatch; | ||||
|     overstep_length = decoding_length_mismatch >= 0 ? decoding_length_mismatch : 0; | ||||
|     VLOG(BLOCK) << "overstep_length=" << overstep_length; | ||||
| @@ -290,7 +290,7 @@ int Viterbi_Decoder::do_tb_and_decode(int traceback_length, int requested_decodi | ||||
|         { | ||||
|             state = it->get_anchestor_state_of_current_state(state); | ||||
|         } | ||||
|     t_out = d_trellis_paths.end() - (d_trellis_paths.begin() + traceback_length + overstep_length) - 1;  // requested_decoding_length-1; | ||||
|     t_out = static_cast<int>(d_trellis_paths.end() - (d_trellis_paths.begin() + traceback_length + overstep_length) - 1);  // requested_decoding_length-1; | ||||
|     indicator_metric = 0; | ||||
|     for (it = d_trellis_paths.begin() + traceback_length + overstep_length; it < d_trellis_paths.end(); ++it) | ||||
|         { | ||||
| @@ -306,7 +306,7 @@ int Viterbi_Decoder::do_tb_and_decode(int traceback_length, int requested_decodi | ||||
|         } | ||||
|     if (n_im > 0) | ||||
|         { | ||||
|             indicator_metric /= n_im; | ||||
|             indicator_metric /= static_cast<float>(n_im); | ||||
|         } | ||||
|  | ||||
|     VLOG(BLOCK) << "indicator metric: " << indicator_metric; | ||||
| @@ -348,7 +348,7 @@ float Viterbi_Decoder::gamma(const float rec_array[], int symbol, int nn) | ||||
|         } | ||||
|     // rm = rm > 50 ? rm : -1000; | ||||
|  | ||||
|     return (rm); | ||||
|     return rm; | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -359,7 +359,7 @@ void Viterbi_Decoder::nsc_transit(int output_p[], int trans_p[], int input, cons | ||||
|     int nextstate[1]; | ||||
|     int state; | ||||
|     int states; | ||||
|     states = (1U << (KK - 1)); /* The number of states: 2^mm */ | ||||
|     states = static_cast<int>(1U << (KK - 1)); /* The number of states: 2^mm */ | ||||
|  | ||||
|     /* Determine the output and next state for each possible starting state */ | ||||
|     for (state = 0; state < states; state++) | ||||
| @@ -432,7 +432,7 @@ int Viterbi_Decoder::parity_counter(int symbol, int length) | ||||
|             temp_parity = temp_parity ^ (symbol & 1U); | ||||
|             symbol = symbol >> 1U; | ||||
|         } | ||||
|     return (temp_parity); | ||||
|     return static_cast<int>(temp_parity); | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -41,7 +41,7 @@ BeidouB1iDllPllTracking::BeidouB1iDllPllTracking( | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     trk_params.SetFromConfiguration(configuration, role); | ||||
|  | ||||
|     int vector_length = std::round(trk_params.fs_in / (BEIDOU_B1I_CODE_RATE_CPS / BEIDOU_B1I_CODE_LENGTH_CHIPS)); | ||||
|     auto vector_length = static_cast<int>(std::round(trk_params.fs_in / (BEIDOU_B1I_CODE_RATE_CPS / BEIDOU_B1I_CODE_LENGTH_CHIPS))); | ||||
|     trk_params.vector_length = vector_length; | ||||
|     if (trk_params.extend_correlation_symbols < 1) | ||||
|         { | ||||
|   | ||||
| @@ -42,7 +42,7 @@ BeidouB3iDllPllTracking::BeidouB3iDllPllTracking( | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     trk_params.SetFromConfiguration(configuration, role); | ||||
|  | ||||
|     int vector_length = std::round(static_cast<double>(trk_params.fs_in) / (BEIDOU_B3I_CODE_RATE_CPS / BEIDOU_B3I_CODE_LENGTH_CHIPS)); | ||||
|     auto vector_length = static_cast<int>(std::round(static_cast<double>(trk_params.fs_in) / (BEIDOU_B3I_CODE_RATE_CPS / BEIDOU_B3I_CODE_LENGTH_CHIPS))); | ||||
|     trk_params.vector_length = vector_length; | ||||
|     trk_params.track_pilot = configuration->property(role + ".track_pilot", false); | ||||
|     if (trk_params.extend_correlation_symbols < 1) | ||||
|   | ||||
| @@ -54,7 +54,7 @@ GalileoE1DllPllVemlTracking::GalileoE1DllPllVemlTracking( | ||||
|         { | ||||
|             std::cout << TEXT_RED << "WARNING: Galileo E1. PLL or DLL narrow tracking bandwidth is higher than wide tracking one" << TEXT_RESET << '\n'; | ||||
|         } | ||||
|     int vector_length = std::round(trk_params.fs_in / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS)); | ||||
|     auto vector_length = static_cast<int>(std::round(trk_params.fs_in / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS))); | ||||
|     trk_params.vector_length = vector_length; | ||||
|     trk_params.system = 'E'; | ||||
|     std::array<char, 3> sig_{'1', 'B', '\0'}; | ||||
|   | ||||
| @@ -57,7 +57,7 @@ GalileoE1DllPllVemlTrackingFpga::GalileoE1DllPllVemlTrackingFpga( | ||||
|             std::cout << TEXT_RED << "WARNING: Galileo E1. PLL or DLL narrow tracking bandwidth is higher than wide tracking one" << TEXT_RESET << '\n'; | ||||
|         } | ||||
|     d_track_pilot = trk_params_fpga.track_pilot; | ||||
|     int32_t vector_length = std::round(trk_params_fpga.fs_in / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS)); | ||||
|     auto vector_length = static_cast<int32_t>(std::round(trk_params_fpga.fs_in / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS))); | ||||
|     trk_params_fpga.vector_length = vector_length; | ||||
|     trk_params_fpga.system = 'E'; | ||||
|     std::array<char, 3> sig_{'1', 'B', '\0'}; | ||||
|   | ||||
| @@ -38,37 +38,27 @@ GalileoE1TcpConnectorTracking::GalileoE1TcpConnectorTracking( | ||||
| { | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     // ################# CONFIGURATION PARAMETERS ######################## | ||||
|     int fs_in; | ||||
|     int vector_length; | ||||
|     bool dump; | ||||
|     std::string dump_filename; | ||||
|     std::string item_type; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     float pll_bw_hz; | ||||
|     float dll_bw_hz; | ||||
|     float early_late_space_chips; | ||||
|     float very_early_late_space_chips; | ||||
|     size_t port_ch0; | ||||
|     item_type = configuration->property(role + ".item_type", default_item_type); | ||||
|     const 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", 2048000); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     dump = configuration->property(role + ".dump", false); | ||||
|     pll_bw_hz = configuration->property(role + ".pll_bw_hz", 50.0); | ||||
|     int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     bool dump = configuration->property(role + ".dump", false); | ||||
|     float pll_bw_hz = configuration->property(role + ".pll_bw_hz", static_cast<float>(50.0)); | ||||
|     if (FLAGS_pll_bw_hz != 0.0) | ||||
|         { | ||||
|             pll_bw_hz = static_cast<float>(FLAGS_pll_bw_hz); | ||||
|         } | ||||
|     dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0); | ||||
|     float dll_bw_hz = configuration->property(role + ".dll_bw_hz", static_cast<float>(2.0)); | ||||
|     if (FLAGS_dll_bw_hz != 0.0) | ||||
|         { | ||||
|             dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz); | ||||
|         } | ||||
|     early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.15); | ||||
|     very_early_late_space_chips = configuration->property(role + ".very_early_late_space_chips", 0.5); | ||||
|     port_ch0 = configuration->property(role + ".port_ch0", 2060); | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     vector_length = std::round(fs_in / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS)); | ||||
|     float early_late_space_chips = configuration->property(role + ".early_late_space_chips", static_cast<float>(0.15)); | ||||
|     float very_early_late_space_chips = configuration->property(role + ".very_early_late_space_chips", static_cast<float>(0.5)); | ||||
|     size_t port_ch0 = configuration->property(role + ".port_ch0", 2060); | ||||
|     const std::string default_dump_filename("./track_ch"); | ||||
|     std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     auto vector_length = static_cast<int>(std::round(fs_in / (GALILEO_E1_CODE_CHIP_RATE_CPS / GALILEO_E1_B_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     // ################# MAKE TRACKING GNURadio object ################### | ||||
|     if (item_type == "gr_complex") | ||||
|   | ||||
| @@ -39,7 +39,7 @@ GalileoE5aDllPllTracking::GalileoE5aDllPllTracking( | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     trk_params.SetFromConfiguration(configuration, role); | ||||
|  | ||||
|     int vector_length = std::round(trk_params.fs_in / (GALILEO_E5A_CODE_CHIP_RATE_CPS / GALILEO_E5A_CODE_LENGTH_CHIPS)); | ||||
|     auto vector_length = static_cast<int>(std::round(trk_params.fs_in / (GALILEO_E5A_CODE_CHIP_RATE_CPS / GALILEO_E5A_CODE_LENGTH_CHIPS))); | ||||
|     trk_params.vector_length = vector_length; | ||||
|     if (trk_params.extend_correlation_symbols < 1) | ||||
|         { | ||||
|   | ||||
| @@ -37,7 +37,7 @@ GalileoE5aDllPllTrackingFpga::GalileoE5aDllPllTrackingFpga( | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     trk_params_fpga.SetFromConfiguration(configuration, role); | ||||
|  | ||||
|     int32_t vector_length = std::round(trk_params_fpga.fs_in / (GALILEO_E5A_CODE_CHIP_RATE_CPS / GALILEO_E5A_CODE_LENGTH_CHIPS)); | ||||
|     auto vector_length = static_cast<int32_t>(std::round(trk_params_fpga.fs_in / (GALILEO_E5A_CODE_CHIP_RATE_CPS / GALILEO_E5A_CODE_LENGTH_CHIPS))); | ||||
|     trk_params_fpga.vector_length = vector_length; | ||||
|     d_track_pilot = trk_params_fpga.track_pilot; | ||||
|     if (trk_params_fpga.extend_correlation_symbols < 1) | ||||
|   | ||||
| @@ -39,39 +39,29 @@ GlonassL1CaDllPllCAidTracking::GlonassL1CaDllPllCAidTracking( | ||||
| { | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     // ################# CONFIGURATION PARAMETERS ######################## | ||||
|     int fs_in; | ||||
|     int vector_length; | ||||
|     bool dump; | ||||
|     std::string dump_filename; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     float pll_bw_hz; | ||||
|     float pll_bw_narrow_hz; | ||||
|     float dll_bw_hz; | ||||
|     float dll_bw_narrow_hz; | ||||
|     float early_late_space_chips; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     int fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     dump = configuration->property(role + ".dump", false); | ||||
|     pll_bw_hz = configuration->property(role + ".pll_bw_hz", 50.0); | ||||
|     int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     bool dump = configuration->property(role + ".dump", false); | ||||
|     float pll_bw_hz = configuration->property(role + ".pll_bw_hz", static_cast<float>(50.0)); | ||||
|     if (FLAGS_pll_bw_hz != 0.0) | ||||
|         { | ||||
|             pll_bw_hz = static_cast<float>(FLAGS_pll_bw_hz); | ||||
|         } | ||||
|     dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0); | ||||
|     float dll_bw_hz = configuration->property(role + ".dll_bw_hz", static_cast<float>(2.0)); | ||||
|     if (FLAGS_dll_bw_hz != 0.0) | ||||
|         { | ||||
|             dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz); | ||||
|         } | ||||
|     pll_bw_narrow_hz = configuration->property(role + ".pll_bw_narrow_hz", 20.0); | ||||
|     dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", 2.0); | ||||
|     int extend_correlation_ms; | ||||
|     extend_correlation_ms = configuration->property(role + ".extend_correlation_ms", 1); | ||||
|     float pll_bw_narrow_hz = configuration->property(role + ".pll_bw_narrow_hz", static_cast<float>(20.0)); | ||||
|     float dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", static_cast<float>(2.0)); | ||||
|     int extend_correlation_ms = configuration->property(role + ".extend_correlation_ms", 1); | ||||
|  | ||||
|     early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     vector_length = std::round(fs_in / (GLONASS_L1_CA_CODE_RATE_CPS / GLONASS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     float early_late_space_chips = configuration->property(role + ".early_late_space_chips", static_cast<float>(0.5)); | ||||
|     const std::string default_dump_filename("./track_ch"); | ||||
|     std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     auto vector_length = static_cast<int>(std::round(fs_in / (GLONASS_L1_CA_CODE_RATE_CPS / GLONASS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     // ################# MAKE TRACKING GNURadio object ################### | ||||
|     if (item_type_ == "gr_complex") | ||||
|   | ||||
| @@ -38,33 +38,25 @@ GlonassL1CaDllPllTracking::GlonassL1CaDllPllTracking( | ||||
| { | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     // ################# CONFIGURATION PARAMETERS ######################## | ||||
|     int fs_in; | ||||
|     int vector_length; | ||||
|     bool dump; | ||||
|     std::string dump_filename; | ||||
|     std::string item_type; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     float pll_bw_hz; | ||||
|     float dll_bw_hz; | ||||
|     float early_late_space_chips; | ||||
|     item_type = configuration->property(role + ".item_type", default_item_type); | ||||
|     const 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", 2048000); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     dump = configuration->property(role + ".dump", false); | ||||
|     pll_bw_hz = configuration->property(role + ".pll_bw_hz", 50.0); | ||||
|     int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     bool dump = configuration->property(role + ".dump", false); | ||||
|     float pll_bw_hz = configuration->property(role + ".pll_bw_hz", static_cast<float>(50.0)); | ||||
|     if (FLAGS_pll_bw_hz != 0.0) | ||||
|         { | ||||
|             pll_bw_hz = static_cast<float>(FLAGS_pll_bw_hz); | ||||
|         } | ||||
|     dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0); | ||||
|     float dll_bw_hz = configuration->property(role + ".dll_bw_hz", static_cast<float>(2.0)); | ||||
|     if (FLAGS_dll_bw_hz != 0.0) | ||||
|         { | ||||
|             dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz); | ||||
|         } | ||||
|     early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     vector_length = std::round(fs_in / (GLONASS_L1_CA_CODE_RATE_CPS / GLONASS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     float early_late_space_chips = configuration->property(role + ".early_late_space_chips", static_cast<float>(0.5)); | ||||
|     const std::string default_dump_filename("./track_ch"); | ||||
|     std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     auto vector_length = static_cast<int>(std::round(fs_in / (GLONASS_L1_CA_CODE_RATE_CPS / GLONASS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     // ################# MAKE TRACKING GNURadio object ################### | ||||
|     if (item_type == "gr_complex") | ||||
|   | ||||
| @@ -37,39 +37,29 @@ GlonassL2CaDllPllCAidTracking::GlonassL2CaDllPllCAidTracking( | ||||
| { | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     // ################# CONFIGURATION PARAMETERS ######################## | ||||
|     int fs_in; | ||||
|     int vector_length; | ||||
|     bool dump; | ||||
|     std::string dump_filename; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     float pll_bw_hz; | ||||
|     float pll_bw_narrow_hz; | ||||
|     float dll_bw_hz; | ||||
|     float dll_bw_narrow_hz; | ||||
|     float early_late_space_chips; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     int fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     dump = configuration->property(role + ".dump", false); | ||||
|     pll_bw_hz = configuration->property(role + ".pll_bw_hz", 50.0); | ||||
|     int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     bool dump = configuration->property(role + ".dump", false); | ||||
|     float pll_bw_hz = configuration->property(role + ".pll_bw_hz", static_cast<float>(50.0)); | ||||
|     if (FLAGS_pll_bw_hz != 0.0) | ||||
|         { | ||||
|             pll_bw_hz = static_cast<float>(FLAGS_pll_bw_hz); | ||||
|         } | ||||
|     dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0); | ||||
|     float dll_bw_hz = configuration->property(role + ".dll_bw_hz", static_cast<float>(2.0)); | ||||
|     if (FLAGS_dll_bw_hz != 0.0) | ||||
|         { | ||||
|             dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz); | ||||
|         } | ||||
|     pll_bw_narrow_hz = configuration->property(role + ".pll_bw_narrow_hz", 20.0); | ||||
|     dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", 2.0); | ||||
|     int extend_correlation_ms; | ||||
|     extend_correlation_ms = configuration->property(role + ".extend_correlation_ms", 1); | ||||
|     float pll_bw_narrow_hz = configuration->property(role + ".pll_bw_narrow_hz", static_cast<float>(20.0)); | ||||
|     float dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", static_cast<float>(2.0)); | ||||
|     int extend_correlation_ms = configuration->property(role + ".extend_correlation_ms", 1); | ||||
|  | ||||
|     early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     vector_length = std::round(fs_in / (GLONASS_L2_CA_CODE_RATE_CPS / GLONASS_L2_CA_CODE_LENGTH_CHIPS)); | ||||
|     float early_late_space_chips = configuration->property(role + ".early_late_space_chips", static_cast<float>(0.5)); | ||||
|     const std::string default_dump_filename("./track_ch"); | ||||
|     std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     auto vector_length = static_cast<int>(std::round(fs_in / (GLONASS_L2_CA_CODE_RATE_CPS / GLONASS_L2_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     // ################# MAKE TRACKING GNURadio object ################### | ||||
|     if (item_type_ == "gr_complex") | ||||
|   | ||||
| @@ -36,33 +36,25 @@ GlonassL2CaDllPllTracking::GlonassL2CaDllPllTracking( | ||||
| { | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     // ################# CONFIGURATION PARAMETERS ######################## | ||||
|     int fs_in; | ||||
|     int vector_length; | ||||
|     bool dump; | ||||
|     std::string dump_filename; | ||||
|     std::string item_type; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     float pll_bw_hz; | ||||
|     float dll_bw_hz; | ||||
|     float early_late_space_chips; | ||||
|     item_type = configuration->property(role + ".item_type", default_item_type); | ||||
|     const 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", 2048000); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     dump = configuration->property(role + ".dump", false); | ||||
|     pll_bw_hz = configuration->property(role + ".pll_bw_hz", 50.0); | ||||
|     int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     bool dump = configuration->property(role + ".dump", false); | ||||
|     float pll_bw_hz = configuration->property(role + ".pll_bw_hz", static_cast<float>(50.0)); | ||||
|     if (FLAGS_pll_bw_hz != 0.0) | ||||
|         { | ||||
|             pll_bw_hz = static_cast<float>(FLAGS_pll_bw_hz); | ||||
|         } | ||||
|     dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0); | ||||
|     float dll_bw_hz = configuration->property(role + ".dll_bw_hz", static_cast<float>(2.0)); | ||||
|     if (FLAGS_dll_bw_hz != 0.0) | ||||
|         { | ||||
|             dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz); | ||||
|         } | ||||
|     early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     vector_length = std::round(fs_in / (GLONASS_L2_CA_CODE_RATE_CPS / GLONASS_L2_CA_CODE_LENGTH_CHIPS)); | ||||
|     float early_late_space_chips = configuration->property(role + ".early_late_space_chips", static_cast<float>(0.5)); | ||||
|     const std::string default_dump_filename("./track_ch"); | ||||
|     std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     auto vector_length = static_cast<int>(std::round(fs_in / (GLONASS_L2_CA_CODE_RATE_CPS / GLONASS_L2_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     // ################# MAKE TRACKING GNURadio object ################### | ||||
|     if (item_type == "gr_complex") | ||||
|   | ||||
| @@ -41,7 +41,7 @@ GpsL1CaDllPllTracking::GpsL1CaDllPllTracking( | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     trk_params.SetFromConfiguration(configuration, role); | ||||
|  | ||||
|     int vector_length = std::round(trk_params.fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     auto vector_length = static_cast<int>(std::round(trk_params.fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|     trk_params.vector_length = vector_length; | ||||
|     if (trk_params.extend_correlation_symbols < 1) | ||||
|         { | ||||
|   | ||||
| @@ -42,7 +42,7 @@ GpsL1CaDllPllTrackingFpga::GpsL1CaDllPllTrackingFpga( | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     trk_params_fpga.SetFromConfiguration(configuration, role); | ||||
|  | ||||
|     int32_t vector_length = std::round(trk_params_fpga.fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     auto vector_length = static_cast<int32_t>(std::round(trk_params_fpga.fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|     trk_params_fpga.vector_length = vector_length; | ||||
|     if (trk_params_fpga.extend_correlation_symbols < 1) | ||||
|         { | ||||
|   | ||||
| @@ -42,7 +42,7 @@ GpsL1CaDllPllTrackingGPU::GpsL1CaDllPllTrackingGPU( | ||||
|     bool dump; | ||||
|     std::string dump_filename; | ||||
|     std::string item_type; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     float pll_bw_hz; | ||||
|     float dll_bw_hz; | ||||
|     float early_late_space_chips; | ||||
| @@ -56,7 +56,7 @@ GpsL1CaDllPllTrackingGPU::GpsL1CaDllPllTrackingGPU( | ||||
|     dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0); | ||||
|     if (FLAGS_dll_bw_hz != 0.0) dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz); | ||||
|     early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     const std::string default_dump_filename("./track_ch"); | ||||
|     dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     vector_length = std::round(fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|  | ||||
|   | ||||
| @@ -40,43 +40,28 @@ GpsL1CaKfTracking::GpsL1CaKfTracking( | ||||
| { | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     // ################# CONFIGURATION PARAMETERS ######################## | ||||
|     int order; | ||||
|     int fs_in; | ||||
|     int vector_length; | ||||
|     int f_if; | ||||
|     bool dump; | ||||
|     std::string dump_filename; | ||||
|     std::string item_type; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     float dll_bw_hz; | ||||
|     float early_late_space_chips; | ||||
|     bool bce_run; | ||||
|     unsigned int bce_ptrans; | ||||
|     unsigned int bce_strans; | ||||
|     int bce_nu; | ||||
|     int bce_kappa; | ||||
|  | ||||
|     item_type = configuration->property(role + ".item_type", default_item_type); | ||||
|     order = configuration->property(role + ".order", 2); | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string item_type = configuration->property(role + ".item_type", default_item_type); | ||||
|     int order = configuration->property(role + ".order", 2); | ||||
|     int fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     f_if = configuration->property(role + ".if", 0); | ||||
|     dump = configuration->property(role + ".dump", false); | ||||
|     dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0); | ||||
|     int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     int f_if = configuration->property(role + ".if", 0); | ||||
|     bool dump = configuration->property(role + ".dump", false); | ||||
|     float dll_bw_hz = configuration->property(role + ".dll_bw_hz", static_cast<float>(2.0)); | ||||
|     if (FLAGS_dll_bw_hz != 0.0) | ||||
|         { | ||||
|             dll_bw_hz = static_cast<float>(FLAGS_dll_bw_hz); | ||||
|         } | ||||
|     early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     vector_length = std::round(fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     float early_late_space_chips = configuration->property(role + ".early_late_space_chips", static_cast<float>(0.5)); | ||||
|     const std::string default_dump_filename("./track_ch"); | ||||
|     std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     auto vector_length = static_cast<int>(std::round(fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     bce_run = configuration->property(role + ".bce_run", false); | ||||
|     bce_ptrans = configuration->property(role + ".p_transient", 0); | ||||
|     bce_strans = configuration->property(role + ".s_transient", 0); | ||||
|     bce_nu = configuration->property(role + ".bce_nu", 0); | ||||
|     bce_kappa = configuration->property(role + ".bce_kappa", 0); | ||||
|     bool bce_run = configuration->property(role + ".bce_run", false); | ||||
|     unsigned int bce_ptrans = configuration->property(role + ".p_transient", 0); | ||||
|     unsigned int bce_strans = configuration->property(role + ".s_transient", 0); | ||||
|     int bce_nu = configuration->property(role + ".bce_nu", 0); | ||||
|     int bce_kappa = configuration->property(role + ".bce_kappa", 0); | ||||
|  | ||||
|     // ################# MAKE TRACKING GNURadio object ################### | ||||
|     if (item_type == "gr_complex") | ||||
|   | ||||
| @@ -37,24 +37,17 @@ GpsL1CaTcpConnectorTracking::GpsL1CaTcpConnectorTracking( | ||||
| { | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     //################# CONFIGURATION PARAMETERS ######################## | ||||
|     int fs_in; | ||||
|     int vector_length; | ||||
|     bool dump; | ||||
|     std::string dump_filename; | ||||
|     std::string item_type; | ||||
|     std::string default_item_type = "gr_complex"; | ||||
|     float early_late_space_chips; | ||||
|     size_t port_ch0; | ||||
|     item_type = configuration->property(role + ".item_type", default_item_type); | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     std::string item_type = configuration->property(role + ".item_type", default_item_type); | ||||
|     // vector_length = configuration->property(role + ".vector_length", 2048); | ||||
|     int fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000); | ||||
|     fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     dump = configuration->property(role + ".dump", false); | ||||
|     early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5); | ||||
|     port_ch0 = configuration->property(role + ".port_ch0", 2060); | ||||
|     std::string default_dump_filename = "./track_ch"; | ||||
|     dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     vector_length = std::round(fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)); | ||||
|     int fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     bool dump = configuration->property(role + ".dump", false); | ||||
|     float early_late_space_chips = configuration->property(role + ".early_late_space_chips", static_cast<float>(0.5)); | ||||
|     size_t port_ch0 = configuration->property(role + ".port_ch0", 2060); | ||||
|     const std::string default_dump_filename("./track_ch"); | ||||
|     std::string dump_filename = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|     auto vector_length = static_cast<int>(std::round(fs_in / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS))); | ||||
|  | ||||
|     // ################# MAKE TRACKING GNURadio object ################### | ||||
|     if (item_type == "gr_complex") | ||||
|   | ||||
| @@ -40,7 +40,7 @@ GpsL2MDllPllTracking::GpsL2MDllPllTracking( | ||||
|     DLOG(INFO) << "role " << role; | ||||
|     trk_params.SetFromConfiguration(configuration, role); | ||||
|  | ||||
|     int vector_length = std::round(static_cast<double>(trk_params.fs_in) / (static_cast<double>(GPS_L2_M_CODE_RATE_CPS) / static_cast<double>(GPS_L2_M_CODE_LENGTH_CHIPS))); | ||||
|     auto vector_length = static_cast<int>(std::round(static_cast<double>(trk_params.fs_in) / (static_cast<double>(GPS_L2_M_CODE_RATE_CPS) / static_cast<double>(GPS_L2_M_CODE_LENGTH_CHIPS)))); | ||||
|     trk_params.vector_length = vector_length; | ||||
|     if (trk_params.extend_correlation_symbols != 1) | ||||
|         { | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez