1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-29 16:33:15 +00:00

Fix phase range rate computation in RTCM messages

This commit is contained in:
Carles Fernandez 2016-05-03 14:35:43 +02:00
parent 3d2e72c790
commit 95f75d407e
2 changed files with 7 additions and 4 deletions

View File

@ -344,7 +344,7 @@ int gps_l1_ca_pvt_cc::general_work (int noutput_items __attribute__((unused)), g
if((d_sample_counter % 1000) == 0)
{
std::map<int,Gps_Ephemeris>::iterator gps_ephemeris_iter;
gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.begin();std::cout << d_rx_time << std::endl;
gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.begin();
if (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end())
{
d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);

View File

@ -2338,7 +2338,7 @@ std::string Rtcm::print_MSM_7( const Gps_Ephemeris & gps_eph,
if(gps_eph.i_satellite_PRN != 0) msg_number = 1077;
if(gps_cnav_eph.i_satellite_PRN != 0) msg_number = 1077;
if(gal_eph.i_satellite_PRN != 0) msg_number = 1097;
if(((gps_eph.i_satellite_PRN != 0) ||(gps_cnav_eph.i_satellite_PRN != 0) ) && (gal_eph.i_satellite_PRN != 0))
if(((gps_eph.i_satellite_PRN != 0) || (gps_cnav_eph.i_satellite_PRN != 0) ) && (gal_eph.i_satellite_PRN != 0))
{
LOG(WARNING) << "MSM messages for observables from different systems are not defined"; //print two messages?
}
@ -3835,7 +3835,10 @@ int Rtcm::set_DF399(const Gnss_Synchro & gnss_synchro)
lambda = GPS_C_m_s / 1.207140e9; // Galileo_E1b_FREQ_HZ;
}
double rough_phase_range_ms = std::round(- gnss_synchro.Carrier_Doppler_hz / lambda);
double rough_phase_range_ms = std::round(- gnss_synchro.Carrier_Doppler_hz * lambda );
//std::cout << rough_phase_range_ms << std::endl;
if(rough_phase_range_ms < - 8191) rough_phase_range_ms = -8191;
if(rough_phase_range_ms > 8191) rough_phase_range_ms = 8191;
DF399 = std::bitset<14>(static_cast<int>(rough_phase_range_ms));
return 0;
}
@ -3980,7 +3983,7 @@ int Rtcm::set_DF404(const Gnss_Synchro & gnss_synchro)
lambda = GPS_C_m_s / 1.207140e9; // Galileo_E1b_FREQ_HZ;
}
double phrr = std::round(- gnss_synchro.Carrier_Doppler_hz / lambda);
double phrr = std::round(- gnss_synchro.Carrier_Doppler_hz * lambda);
if(phrr == 0.0)
{