1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-10-04 18:00:49 +00:00

bugfix: Fixes bugs in RINEX and RTCM generators

Remove dependency of t_b in P_1 for GLONASS GNAV Ephemeris and cleaned
RINEX line for nav messages generation
This commit is contained in:
Damian Miralles 2017-11-03 16:26:03 -06:00
parent e636bba59a
commit 21b7a19b6a
5 changed files with 9 additions and 8 deletions

View File

@ -271,7 +271,7 @@ endif(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
# Append -O2 optimization flag for Debug builds
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O2")
# allow 'large' files in 32 bit builds
if(UNIX)

View File

@ -43,7 +43,7 @@ Acquisition_1G.pfa=0.0001
Acquisition_1G.if=0
Acquisition_1G.doppler_max=10000
Acquisition_1G.doppler_step=250
Acquisition_1G.dump=false;
Acquisition_1G.dump=true;
Acquisition_1G.dump_filename=/archive/glo_acquisition.dat
;Acquisition_1G.coherent_integration_time_ms=10

View File

@ -2924,7 +2924,7 @@ void Rinex_Printer::log_rinex_nav(std::fstream& out, const std::map<int,Glonass_
line += Rinex_Printer::doub2for(+glonass_gnav_ephemeris_iter->second.d_gamma_n, 18, 2);
line += std::string(1, ' ');
//TODO need to define this here. what is nd
line += Rinex_Printer::doub2for(glonass_gnav_ephemeris_iter->second.d_t_k + p_utc_time.date().day()*86400, 18, 2);
line += Rinex_Printer::doub2for(glonass_gnav_ephemeris_iter->second.d_t_k + p_utc_time.date().day_of_week()*86400, 18, 2);
}
Rinex_Printer::lengthCheck(line);
out << line << std::endl;
@ -3008,6 +3008,7 @@ void Rinex_Printer::log_rinex_nav(std::fstream& out, const std::map<int,Glonass_
}
Rinex_Printer::lengthCheck(line);
out << line << std::endl;
line.clear();
}
}

View File

@ -1911,7 +1911,7 @@ int Rtcm::read_MT1020(const std::string & message, Glonass_Gnav_Ephemeris & glon
glonass_gnav_eph.d_P_2 = static_cast<double>(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)))*glonass_gnav_eph.d_P_1*60.0;
glonass_gnav_eph.d_t_b = static_cast<double>(Rtcm::bin_to_uint(message_bin.substr(index, 7)))*15*60.0;
index += 7;
// TODO Check for type spec for intS24
@ -4385,7 +4385,7 @@ int Rtcm::set_DF109(const Glonass_Gnav_Ephemeris & glonass_gnav_eph)
int Rtcm::set_DF110(const Glonass_Gnav_Ephemeris & glonass_gnav_eph)
{
unsigned int t_b = static_cast<unsigned int>(std::round(glonass_gnav_eph.d_t_b/(glonass_gnav_eph.d_P_1*60)));
unsigned int t_b = static_cast<unsigned int>(std::round(glonass_gnav_eph.d_t_b/(15*60)));
DF110 = std::bitset<7>(t_b);
return 0;
}

View File

@ -35,13 +35,13 @@
function plot_acq_grid_gsoc_glonass(sat)
file=['acquisition_R_1G_sat_' num2str(sat) '_doppler_0.dat'];
file=['/archive/acquisition_R_1G_sat_' num2str(sat) '_doppler_0.dat'];
% sampling_freq_Hz=62316000
sampling_freq_Hz=31.75e6
sampling_freq_Hz=6.625e6
Doppler_max_Hz = 10000
Doppler_min_Hz = -10000
Doppler_step_Hz = 500
Doppler_step_Hz = 250
% read files