mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 04:30:33 +00:00
Improving tracking pull-in test and hybrid observables test. Now observables test uses double differences
This commit is contained in:
parent
91203d2393
commit
27f8b1fe61
@ -123,6 +123,7 @@ if(ENABLE_CUDA)
|
|||||||
set(GNSS_SDR_TEST_OPTIONAL_LIBS ${GNSS_SDR_TEST_OPTIONAL_LIBS} ${CUDA_LIBRARIES})
|
set(GNSS_SDR_TEST_OPTIONAL_LIBS ${GNSS_SDR_TEST_OPTIONAL_LIBS} ${CUDA_LIBRARIES})
|
||||||
endif(ENABLE_CUDA)
|
endif(ENABLE_CUDA)
|
||||||
|
|
||||||
|
|
||||||
if(ENABLE_GPERFTOOLS)
|
if(ENABLE_GPERFTOOLS)
|
||||||
if(GPERFTOOLS_FOUND)
|
if(GPERFTOOLS_FOUND)
|
||||||
set(GNSS_SDR_TEST_OPTIONAL_LIBS "${GNSS_SDR_TEST_OPTIONAL_LIBS};${GPERFTOOLS_LIBRARIES}")
|
set(GNSS_SDR_TEST_OPTIONAL_LIBS "${GNSS_SDR_TEST_OPTIONAL_LIBS};${GPERFTOOLS_LIBRARIES}")
|
||||||
@ -257,6 +258,10 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
|||||||
endif(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
endif(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
||||||
|
|
||||||
|
|
||||||
|
if (ENABLE_UNIT_TESTING_EXTRA)
|
||||||
|
set(GNSS_SDR_TEST_OPTIONAL_LIBS ${GNSS_SDR_TEST_OPTIONAL_LIBS} ${gpstk_libs})
|
||||||
|
endif (ENABLE_UNIT_TESTING_EXTRA)
|
||||||
|
|
||||||
if(ENABLE_UNIT_TESTING_EXTRA)
|
if(ENABLE_UNIT_TESTING_EXTRA)
|
||||||
add_definitions(-DEXTRA_TESTS)
|
add_definitions(-DEXTRA_TESTS)
|
||||||
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/thirdparty/signal_samples/gps_l2c_m_prn7_5msps.dat)
|
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/thirdparty/signal_samples/gps_l2c_m_prn7_5msps.dat)
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
DEFINE_double(skip_obs_transitory_s, 30.0, "Skip the initial observable outputs to avoid transitory results [s]");
|
DEFINE_double(skip_obs_transitory_s, 30.0, "Skip the initial observable outputs to avoid transitory results [s]");
|
||||||
|
DEFINE_bool(compute_single_diffs, false, "Compute also the signel difference errors for Accumulated Carrier Phase and Carrier Doppler (requires LO synchronization between receivers)");
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -48,12 +48,12 @@ DEFINE_double(CN0_dBHz_start, std::numeric_limits<double>::infinity(), "Enable n
|
|||||||
DEFINE_double(CN0_dBHz_stop, std::numeric_limits<double>::infinity(), "Enable noise generator and set the CN0 stop sweep value [dB-Hz]");
|
DEFINE_double(CN0_dBHz_stop, std::numeric_limits<double>::infinity(), "Enable noise generator and set the CN0 stop sweep value [dB-Hz]");
|
||||||
DEFINE_double(CN0_dB_step, 3.0, "Noise generator CN0 sweep step value [dB]");
|
DEFINE_double(CN0_dB_step, 3.0, "Noise generator CN0 sweep step value [dB]");
|
||||||
|
|
||||||
DEFINE_double(PLL_bw_hz_start, 40.0, "PLL Wide configuration start sweep value [Hz]");
|
DEFINE_double(PLL_bw_hz_start, 20.0, "PLL Wide configuration start sweep value [Hz]");
|
||||||
DEFINE_double(PLL_bw_hz_stop, 40.0, "PLL Wide configuration stop sweep value [Hz]");
|
DEFINE_double(PLL_bw_hz_stop, 20.0, "PLL Wide configuration stop sweep value [Hz]");
|
||||||
DEFINE_double(PLL_bw_hz_step, 5.0, "PLL Wide configuration sweep step value [Hz]");
|
DEFINE_double(PLL_bw_hz_step, 5.0, "PLL Wide configuration sweep step value [Hz]");
|
||||||
|
|
||||||
DEFINE_double(DLL_bw_hz_start, 1.5, "DLL Wide configuration start sweep value [Hz]");
|
DEFINE_double(DLL_bw_hz_start, 1.0, "DLL Wide configuration start sweep value [Hz]");
|
||||||
DEFINE_double(DLL_bw_hz_stop, 1.5, "DLL Wide configuration stop sweep value [Hz]");
|
DEFINE_double(DLL_bw_hz_stop, 1.0, "DLL Wide configuration stop sweep value [Hz]");
|
||||||
DEFINE_double(DLL_bw_hz_step, 0.25, "DLL Wide configuration sweep step value [Hz]");
|
DEFINE_double(DLL_bw_hz_step, 0.25, "DLL Wide configuration sweep step value [Hz]");
|
||||||
|
|
||||||
DEFINE_double(PLL_narrow_bw_hz, 5.0, "PLL Narrow configuration value [Hz]");
|
DEFINE_double(PLL_narrow_bw_hz, 5.0, "PLL Narrow configuration value [Hz]");
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -411,7 +411,8 @@ bool TrackingPullInTest::acquire_signal(int SV_ID)
|
|||||||
tmp_gnss_synchro.PRN = SV_ID;
|
tmp_gnss_synchro.PRN = SV_ID;
|
||||||
System_and_Signal = "GPS L1 CA";
|
System_and_Signal = "GPS L1 CA";
|
||||||
config->set_property("Acquisition.max_dwells", std::to_string(FLAGS_external_signal_acquisition_dwells));
|
config->set_property("Acquisition.max_dwells", std::to_string(FLAGS_external_signal_acquisition_dwells));
|
||||||
acquisition = std::make_shared<GpsL1CaPcpsAcquisitionFineDoppler>(config.get(), "Acquisition", 1, 0);
|
//acquisition = std::make_shared<GpsL1CaPcpsAcquisitionFineDoppler>(config.get(), "Acquisition", 1, 0);
|
||||||
|
acquisition = std::make_shared<GpsL1CaPcpsAcquisition>(config.get(), "Acquisition", 1, 0);
|
||||||
}
|
}
|
||||||
else if (implementation.compare("Galileo_E1_DLL_PLL_VEML_Tracking") == 0)
|
else if (implementation.compare("Galileo_E1_DLL_PLL_VEML_Tracking") == 0)
|
||||||
{
|
{
|
||||||
@ -809,6 +810,7 @@ TEST_F(TrackingPullInTest, ValidationOfResults)
|
|||||||
std::vector<double> promptI;
|
std::vector<double> promptI;
|
||||||
std::vector<double> promptQ;
|
std::vector<double> promptQ;
|
||||||
std::vector<double> CN0_dBHz;
|
std::vector<double> CN0_dBHz;
|
||||||
|
std::vector<double> Doppler;
|
||||||
long int epoch_counter = 0;
|
long int epoch_counter = 0;
|
||||||
while (trk_dump.read_binary_obs())
|
while (trk_dump.read_binary_obs())
|
||||||
{
|
{
|
||||||
@ -828,7 +830,7 @@ TEST_F(TrackingPullInTest, ValidationOfResults)
|
|||||||
promptI.push_back(trk_dump.prompt_I);
|
promptI.push_back(trk_dump.prompt_I);
|
||||||
promptQ.push_back(trk_dump.prompt_Q);
|
promptQ.push_back(trk_dump.prompt_Q);
|
||||||
CN0_dBHz.push_back(trk_dump.CN0_SNV_dB_Hz);
|
CN0_dBHz.push_back(trk_dump.CN0_SNV_dB_Hz);
|
||||||
|
Doppler.push_back(trk_dump.carrier_doppler_hz);
|
||||||
epoch_counter++;
|
epoch_counter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -917,6 +919,28 @@ TEST_F(TrackingPullInTest, ValidationOfResults)
|
|||||||
g3.savetops("CN0_output");
|
g3.savetops("CN0_output");
|
||||||
|
|
||||||
g3.showonscreen(); // window output
|
g3.showonscreen(); // window output
|
||||||
|
|
||||||
|
Gnuplot g4("linespoints");
|
||||||
|
if (!FLAGS_enable_external_signal_file)
|
||||||
|
{
|
||||||
|
g4.set_title(std::to_string(generator_CN0_values.at(current_cn0_idx)) + " dB-Hz, GPS L1 C/A tracking CN0 output (PRN #" + std::to_string(FLAGS_test_satellite_PRN) + ")");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g4.set_title("D_e=" + std::to_string(acq_doppler_error_hz_values.at(current_acq_doppler_error_idx)) + " [Hz] " + "T_e= " + std::to_string(acq_delay_error_chips_values.at(current_acq_doppler_error_idx).at(current_acq_code_error_idx)) + " [Chips] PLL/DLL BW: " + std::to_string(FLAGS_PLL_bw_hz_start) + "," + std::to_string(FLAGS_DLL_bw_hz_start) + " [Hz], (PRN #" + std::to_string(FLAGS_test_satellite_PRN) + ")");
|
||||||
|
}
|
||||||
|
g4.set_grid();
|
||||||
|
g4.set_xlabel("Time [s]");
|
||||||
|
g4.set_ylabel("Estimated Doppler [Hz]");
|
||||||
|
g4.cmd("set key box opaque");
|
||||||
|
|
||||||
|
g4.plot_xy(trk_timestamp_s, Doppler,
|
||||||
|
std::to_string(static_cast<int>(round(generator_CN0_values.at(current_cn0_idx)))) + "[dB-Hz]", decimate);
|
||||||
|
|
||||||
|
g4.set_legend();
|
||||||
|
g4.savetops("Doppler");
|
||||||
|
|
||||||
|
g4.showonscreen(); // window output
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (const GnuplotException& ge)
|
catch (const GnuplotException& ge)
|
||||||
|
Loading…
Reference in New Issue
Block a user