mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-11-06 01:56:25 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into next
This commit is contained in:
commit
8aca3d4902
@ -138,4 +138,4 @@ PVT.rtcm_MT1019_rate_ms=5000
|
|||||||
PVT.rtcm_MT1045_rate_ms=5000
|
PVT.rtcm_MT1045_rate_ms=5000
|
||||||
PVT.rtcm_MT1097_rate_ms=1000
|
PVT.rtcm_MT1097_rate_ms=1000
|
||||||
PVT.rtcm_MT1077_rate_ms=1000
|
PVT.rtcm_MT1077_rate_ms=1000
|
||||||
PVT.rinex_version=3
|
PVT.rinex_version=2
|
||||||
|
@ -5,7 +5,7 @@ GNSS-SDR.internal_fs_sps=6625000
|
|||||||
|
|
||||||
;######### SIGNAL_SOURCE CONFIG ############
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
SignalSource.implementation=File_Signal_Source
|
SignalSource.implementation=File_Signal_Source
|
||||||
SignalSource.filename=/archive/NT1065_GLONASS_L1_20160923_fs6625e6_if0e3_schar.bin ; <- PUT YOUR FILE HERE
|
SignalSource.filename=/archive/NT1065_GLONASS_L1_20160924_fs6625e6_if0e3_schar.bin ; <- PUT YOUR FILE HERE
|
||||||
SignalSource.item_type=ibyte
|
SignalSource.item_type=ibyte
|
||||||
SignalSource.sampling_frequency=6625000
|
SignalSource.sampling_frequency=6625000
|
||||||
SignalSource.samples=0
|
SignalSource.samples=0
|
||||||
@ -39,7 +39,7 @@ Acquisition_1G.pfa=0.0001
|
|||||||
Acquisition_1G.if=0
|
Acquisition_1G.if=0
|
||||||
Acquisition_1G.doppler_max=10000
|
Acquisition_1G.doppler_max=10000
|
||||||
Acquisition_1G.doppler_step=250
|
Acquisition_1G.doppler_step=250
|
||||||
Acquisition_1G.dump=false;
|
Acquisition_1G.dump=true;
|
||||||
Acquisition_1G.dump_filename=/archive/glo_acquisition.dat
|
Acquisition_1G.dump_filename=/archive/glo_acquisition.dat
|
||||||
;Acquisition_1G.coherent_integration_time_ms=1
|
;Acquisition_1G.coherent_integration_time_ms=1
|
||||||
;Acquisition_1G.max_dwells = 5
|
;Acquisition_1G.max_dwells = 5
|
||||||
@ -51,7 +51,7 @@ Tracking_1G.if=0
|
|||||||
Tracking_1G.early_late_space_chips=0.5
|
Tracking_1G.early_late_space_chips=0.5
|
||||||
Tracking_1G.pll_bw_hz=25.0;
|
Tracking_1G.pll_bw_hz=25.0;
|
||||||
Tracking_1G.dll_bw_hz=3.0;
|
Tracking_1G.dll_bw_hz=3.0;
|
||||||
Tracking_1G.dump=false;
|
Tracking_1G.dump=true;
|
||||||
Tracking_1G.dump_filename=/archive/glo_tracking_ch_
|
Tracking_1G.dump_filename=/archive/glo_tracking_ch_
|
||||||
|
|
||||||
;######### TELEMETRY DECODER GPS CONFIG ############
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
@ -59,7 +59,7 @@ TelemetryDecoder_1G.implementation=GLONASS_L1_CA_Telemetry_Decoder
|
|||||||
|
|
||||||
;######### OBSERVABLES CONFIG ############
|
;######### OBSERVABLES CONFIG ############
|
||||||
Observables.implementation=Hybrid_Observables
|
Observables.implementation=Hybrid_Observables
|
||||||
Observables.dump=false;
|
Observables.dump=true;
|
||||||
Observables.dump_filename=/archive/glo_observables.dat
|
Observables.dump_filename=/archive/glo_observables.dat
|
||||||
|
|
||||||
;######### PVT CONFIG ############
|
;######### PVT CONFIG ############
|
||||||
@ -76,4 +76,4 @@ PVT.rtcm_MT1019_rate_ms=5000
|
|||||||
PVT.rtcm_MT1045_rate_ms=5000
|
PVT.rtcm_MT1045_rate_ms=5000
|
||||||
PVT.rtcm_MT1097_rate_ms=1000
|
PVT.rtcm_MT1097_rate_ms=1000
|
||||||
PVT.rtcm_MT1077_rate_ms=1000
|
PVT.rtcm_MT1077_rate_ms=1000
|
||||||
PVT.rinex_version=3
|
PVT.rinex_version=2
|
||||||
|
@ -3958,6 +3958,13 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_CNAV_Ephemeris
|
|||||||
out << line << std::endl;
|
out << line << std::endl;
|
||||||
|
|
||||||
// -------- Line MARKER NAME
|
// -------- Line MARKER NAME
|
||||||
|
line.clear();
|
||||||
|
line += Rinex_Printer::leftJustify("DEFAULT MARKER NAME", 60); // put a flag or a property,
|
||||||
|
line += Rinex_Printer::leftJustify("MARKER NAME", 20);
|
||||||
|
Rinex_Printer::lengthCheck(line);
|
||||||
|
out << line << std::endl;
|
||||||
|
|
||||||
|
// -------- Line MARKER NUMBER / TYPE
|
||||||
if (version == 2)
|
if (version == 2)
|
||||||
{
|
{
|
||||||
line.clear();
|
line.clear();
|
||||||
@ -3977,14 +3984,6 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Gps_CNAV_Ephemeris
|
|||||||
out << line << std::endl;
|
out << line << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------- Line MARKER TYPE
|
|
||||||
line.clear();
|
|
||||||
line += Rinex_Printer::leftJustify("NON_GEODETIC", 20); // put a flag or a property
|
|
||||||
line += std::string(40, ' ');
|
|
||||||
line += Rinex_Printer::leftJustify("MARKER TYPE", 20);
|
|
||||||
Rinex_Printer::lengthCheck(line);
|
|
||||||
out << line << std::endl;
|
|
||||||
|
|
||||||
// -------- Line OBSERVER / AGENCY
|
// -------- Line OBSERVER / AGENCY
|
||||||
line.clear();
|
line.clear();
|
||||||
std::string username;
|
std::string username;
|
||||||
@ -4279,7 +4278,7 @@ void Rinex_Printer::rinex_obs_header(std::fstream& out, const Galileo_Ephemeris&
|
|||||||
// -------- Line MARKER NAME
|
// -------- Line MARKER NAME
|
||||||
line.clear();
|
line.clear();
|
||||||
line += Rinex_Printer::leftJustify("DEFAULT MARKER NAME", 60); // put a flag or a property,
|
line += Rinex_Printer::leftJustify("DEFAULT MARKER NAME", 60); // put a flag or a property,
|
||||||
line += Rinex_Printer::leftJustify("MARKER TYPE", 20);
|
line += Rinex_Printer::leftJustify("MARKER NAME", 20);
|
||||||
Rinex_Printer::lengthCheck(line);
|
Rinex_Printer::lengthCheck(line);
|
||||||
out << line << std::endl;
|
out << line << std::endl;
|
||||||
|
|
||||||
@ -5998,6 +5997,7 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Glonass_Gnav_Ephemeri
|
|||||||
{
|
{
|
||||||
// RINEX observations timestamps are GPS timestamps.
|
// RINEX observations timestamps are GPS timestamps.
|
||||||
std::string line;
|
std::string line;
|
||||||
|
double int_sec = 0;
|
||||||
|
|
||||||
// Avoid compiler warning
|
// Avoid compiler warning
|
||||||
if (glonass_band.size())
|
if (glonass_band.size())
|
||||||
@ -6008,12 +6008,12 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Glonass_Gnav_Ephemeri
|
|||||||
std::string timestring = boost::posix_time::to_iso_string(p_glonass_time);
|
std::string timestring = boost::posix_time::to_iso_string(p_glonass_time);
|
||||||
//double utc_t = nav_msg.utc_time(nav_msg.sv_clock_correction(obs_time));
|
//double utc_t = nav_msg.utc_time(nav_msg.sv_clock_correction(obs_time));
|
||||||
//double gps_t = eph.sv_clock_correction(obs_time);
|
//double gps_t = eph.sv_clock_correction(obs_time);
|
||||||
double glonass_t = obs_time;
|
|
||||||
|
|
||||||
std::string month(timestring, 4, 2);
|
std::string month(timestring, 4, 2);
|
||||||
std::string day(timestring, 6, 2);
|
std::string day(timestring, 6, 2);
|
||||||
std::string hour(timestring, 9, 2);
|
std::string hour(timestring, 9, 2);
|
||||||
std::string minutes(timestring, 11, 2);
|
std::string minutes(timestring, 11, 2);
|
||||||
|
double utc_sec = modf(obs_time, &int_sec) + p_glonass_time.time_of_day().seconds();
|
||||||
|
|
||||||
if (version == 2)
|
if (version == 2)
|
||||||
{
|
{
|
||||||
@ -6046,12 +6046,11 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Glonass_Gnav_Ephemeri
|
|||||||
line += std::string(1, ' ');
|
line += std::string(1, ' ');
|
||||||
line += minutes;
|
line += minutes;
|
||||||
line += std::string(1, ' ');
|
line += std::string(1, ' ');
|
||||||
double second_ = fmod(glonass_t, 60);
|
if (utc_sec < 10)
|
||||||
if (second_ < 10)
|
|
||||||
{
|
{
|
||||||
line += std::string(1, ' ');
|
line += std::string(1, ' ');
|
||||||
}
|
}
|
||||||
line += Rinex_Printer::asString(second_, 7);
|
line += Rinex_Printer::asString(utc_sec, 7);
|
||||||
line += std::string(2, ' ');
|
line += std::string(2, ' ');
|
||||||
// Epoch flag 0: OK 1: power failure between previous and current epoch <1: Special event
|
// Epoch flag 0: OK 1: power failure between previous and current epoch <1: Special event
|
||||||
line += std::string(1, '0');
|
line += std::string(1, '0');
|
||||||
@ -6149,13 +6148,12 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Glonass_Gnav_Ephemeri
|
|||||||
line += minutes;
|
line += minutes;
|
||||||
|
|
||||||
line += std::string(1, ' ');
|
line += std::string(1, ' ');
|
||||||
double seconds = fmod(glonass_t, 60);
|
|
||||||
// Add extra 0 if seconds are < 10
|
// Add extra 0 if seconds are < 10
|
||||||
if (seconds < 10)
|
if (utc_sec < 10)
|
||||||
{
|
{
|
||||||
line += std::string(1, '0');
|
line += std::string(1, '0');
|
||||||
}
|
}
|
||||||
line += Rinex_Printer::asString(seconds, 7);
|
line += Rinex_Printer::asString(utc_sec, 7);
|
||||||
line += std::string(2, ' ');
|
line += std::string(2, ' ');
|
||||||
// Epoch flag 0: OK 1: power failure between previous and current epoch <1: Special event
|
// Epoch flag 0: OK 1: power failure between previous and current epoch <1: Special event
|
||||||
line += std::string(1, '0');
|
line += std::string(1, '0');
|
||||||
@ -8297,7 +8295,7 @@ boost::posix_time::ptime Rinex_Printer::compute_UTC_time(const Glonass_Gnav_Ephe
|
|||||||
{
|
{
|
||||||
double tod = 0.0;
|
double tod = 0.0;
|
||||||
double glot2utc = 3 * 3600;
|
double glot2utc = 3 * 3600;
|
||||||
double obs_time_glot = 0.0;
|
double obs_time_utc = 0.0, obs_time_glot = 0.0;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
// Get observation time in nearly GLONASS time. Correction for leap seconds done at the end
|
// Get observation time in nearly GLONASS time. Correction for leap seconds done at the end
|
||||||
@ -8324,8 +8322,8 @@ boost::posix_time::ptime Rinex_Printer::compute_UTC_time(const Glonass_Gnav_Ephe
|
|||||||
boost::posix_time::ptime ls_time(d3, t3);
|
boost::posix_time::ptime ls_time(d3, t3);
|
||||||
if (utc_time >= ls_time)
|
if (utc_time >= ls_time)
|
||||||
{
|
{
|
||||||
// We subtract the leap second when going from gpst to utc
|
// We subtract the leap second when going from gpst to utc, values store as negatives
|
||||||
utc_time = utc_time - boost::posix_time::time_duration(0, 0, fabs(GLONASS_LEAP_SECONDS[i][6]));
|
utc_time = utc_time + boost::posix_time::time_duration(0, 0, GLONASS_LEAP_SECONDS[i][6]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8333,7 +8331,6 @@ boost::posix_time::ptime Rinex_Printer::compute_UTC_time(const Glonass_Gnav_Ephe
|
|||||||
return utc_time;
|
return utc_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
double Rinex_Printer::get_leap_second(const Glonass_Gnav_Ephemeris& eph, const double gps_obs_time)
|
double Rinex_Printer::get_leap_second(const Glonass_Gnav_Ephemeris& eph, const double gps_obs_time)
|
||||||
{
|
{
|
||||||
double tod = 0.0;
|
double tod = 0.0;
|
||||||
|
Loading…
Reference in New Issue
Block a user