mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 04:30:33 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into next
This commit is contained in:
commit
b01cf97c66
@ -4,7 +4,7 @@ Next release will have several improvements in different dimensions, addition of
|
|||||||
|
|
||||||
### Improvements in Accuracy:
|
### Improvements in Accuracy:
|
||||||
|
|
||||||
- Part of the RTKLIB core libraries has been integrated into GNSS-SDR. There is now a single PVT block implementation which makes use of RTKLIB to deliver PVT solutions, including Single and PPP navigation modes.
|
- Part of the RTKLIB core library has been integrated into GNSS-SDR. There is now a single PVT block implementation which makes use of RTKLIB to deliver PVT solutions, including Single and PPP navigation modes.
|
||||||
- Fixed CN0 estimation for other correlation times than 1 ms.
|
- Fixed CN0 estimation for other correlation times than 1 ms.
|
||||||
- Improved computation of tracking parameters and GNSS observables.
|
- Improved computation of tracking parameters and GNSS observables.
|
||||||
- Other minor bug fixes.
|
- Other minor bug fixes.
|
||||||
@ -14,7 +14,7 @@ Next release will have several improvements in different dimensions, addition of
|
|||||||
|
|
||||||
- Internal Finite State Machines rewritten for improved continuity in delivering position fixes. This fixes a bug that was stalling the receiver after about six hours of continuous operation.
|
- Internal Finite State Machines rewritten for improved continuity in delivering position fixes. This fixes a bug that was stalling the receiver after about six hours of continuous operation.
|
||||||
- Redesign of the time counter for enhanced continuity.
|
- Redesign of the time counter for enhanced continuity.
|
||||||
- Improved acquisition and tracking sensibility.
|
- Improved acquisition and tracking sensitivity.
|
||||||
- Other minor bug fixes.
|
- Other minor bug fixes.
|
||||||
|
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ Next release will have several improvements in different dimensions, addition of
|
|||||||
|
|
||||||
- Added the possibility of non-blocking acquisition, which works well when using real-time data from an RF front-end.
|
- Added the possibility of non-blocking acquisition, which works well when using real-time data from an RF front-end.
|
||||||
- Complex local codes have been replaced by real codes, alleviating the computational burden.
|
- Complex local codes have been replaced by real codes, alleviating the computational burden.
|
||||||
- New kernels: volk_gnsssdr_16i_xn_resampler_16i_xn.h, volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn.h, volk_gnsssdr_32f_xn_resampler_32f_xn.h, volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn.h
|
- New volk_gnsssdr kernels: volk_gnsssdr_16i_xn_resampler_16i_xn.h, volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn.h, volk_gnsssdr_32f_xn_resampler_32f_xn.h, volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn.h
|
||||||
- Some AVX2 implementations added to the volk_gnsssdr library.
|
- Some AVX2 implementations added to the volk_gnsssdr library.
|
||||||
- Improvement in C++ usage: Use of const container calls when result is immediately converted to a const iterator. Using these members removes an implicit conversion from iterator to const_iterator.
|
- Improvement in C++ usage: Use of const container calls when result is immediately converted to a const iterator. Using these members removes an implicit conversion from iterator to const_iterator.
|
||||||
- A number of code optimizations here and there.
|
- A number of code optimizations here and there.
|
||||||
@ -124,7 +124,7 @@ Next release will have several improvements in different dimensions, addition of
|
|||||||
- Updated and improved documentation of processing blocks at https://gnss-sdr.org/docs/sp-blocks/
|
- Updated and improved documentation of processing blocks at https://gnss-sdr.org/docs/sp-blocks/
|
||||||
- Improved documentation of required dependency packages in several GNU/Linux distributions.
|
- Improved documentation of required dependency packages in several GNU/Linux distributions.
|
||||||
- Parameter names with the same role have been harmonized within different block implementations.
|
- Parameter names with the same role have been harmonized within different block implementations.
|
||||||
- Added a chnagelog, a code of conduct, a contributing guide and a pull-request template in the source tree.
|
- Added a changelog, a code of conduct, a contributing guide and a pull-request template in the source tree.
|
||||||
- Added colors to the commandline user interface.
|
- Added colors to the commandline user interface.
|
||||||
- Updated manfiles.
|
- Updated manfiles.
|
||||||
|
|
||||||
|
@ -2091,9 +2091,9 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
|||||||
std::cout << TEXT_BOLD_GREEN
|
std::cout << TEXT_BOLD_GREEN
|
||||||
<< "Position at " << d_ls_pvt->get_position_UTC_time()
|
<< "Position at " << d_ls_pvt->get_position_UTC_time()
|
||||||
<< " UTC using " << d_ls_pvt->get_num_valid_observations()
|
<< " UTC using " << d_ls_pvt->get_num_valid_observations()
|
||||||
<< std::setprecision(10)
|
<< std::fixed << std::setprecision(9)
|
||||||
<< " observations is Lat = " << d_ls_pvt->get_latitude() << " [deg], Long = " << d_ls_pvt->get_longitude()
|
<< " observations is Lat = " << d_ls_pvt->get_latitude() << " [deg], Long = " << d_ls_pvt->get_longitude()
|
||||||
<< std::setprecision(4)
|
<< std::fixed << std::setprecision(3)
|
||||||
<< " [deg], Height = " << d_ls_pvt->get_height() << " [m]" << TEXT_RESET << std::endl;
|
<< " [deg], Height = " << d_ls_pvt->get_height() << " [m]" << TEXT_RESET << std::endl;
|
||||||
std::cout << std::setprecision(ss);
|
std::cout << std::setprecision(ss);
|
||||||
LOG(INFO) << "RX clock offset: " << d_ls_pvt->get_time_offset_s() << "[s]";
|
LOG(INFO) << "RX clock offset: " << d_ls_pvt->get_time_offset_s() << "[s]";
|
||||||
|
@ -154,9 +154,38 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_
|
|||||||
eph_t eph_data[MAXOBS];
|
eph_t eph_data[MAXOBS];
|
||||||
geph_t geph_data[MAXOBS];
|
geph_t geph_data[MAXOBS];
|
||||||
|
|
||||||
|
// Workaround for NAV/CNAV clash problem
|
||||||
|
bool gps_dual_band = false;
|
||||||
|
bool band1 = false;
|
||||||
|
bool band2 = false;
|
||||||
for (gnss_observables_iter = gnss_observables_map.cbegin();
|
for (gnss_observables_iter = gnss_observables_map.cbegin();
|
||||||
gnss_observables_iter != gnss_observables_map.cend();
|
gnss_observables_iter != gnss_observables_map.cend();
|
||||||
gnss_observables_iter++) // CHECK INCONSISTENCY when combining GLONASS + other system
|
++gnss_observables_iter)
|
||||||
|
{
|
||||||
|
switch (gnss_observables_iter->second.System)
|
||||||
|
{
|
||||||
|
case 'G':
|
||||||
|
{
|
||||||
|
std::string sig_(gnss_observables_iter->second.Signal);
|
||||||
|
if (sig_.compare("1C") == 0)
|
||||||
|
{
|
||||||
|
band1 = true;
|
||||||
|
}
|
||||||
|
if (sig_.compare("2S") == 0)
|
||||||
|
{
|
||||||
|
band2 = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (band1 == true and band2 == true) gps_dual_band = true;
|
||||||
|
|
||||||
|
for (gnss_observables_iter = gnss_observables_map.cbegin();
|
||||||
|
gnss_observables_iter != gnss_observables_map.cend();
|
||||||
|
++gnss_observables_iter) // CHECK INCONSISTENCY when combining GLONASS + other system
|
||||||
{
|
{
|
||||||
switch (gnss_observables_iter->second.System)
|
switch (gnss_observables_iter->second.System)
|
||||||
{
|
{
|
||||||
@ -255,8 +284,8 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_
|
|||||||
DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->first;
|
DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->first;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// GPS L2 (ephemeris disabled due to an incompatibility with RTKLIB solver)
|
// GPS L2 (todo: solve NAV/CNAV clash)
|
||||||
if (sig_.compare("2S_disabled") == 0)
|
if ((sig_.compare("2S") == 0) and (gps_dual_band == false))
|
||||||
{
|
{
|
||||||
gps_cnav_ephemeris_iter = gps_cnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
gps_cnav_ephemeris_iter = gps_cnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||||
if (gps_cnav_ephemeris_iter != gps_cnav_ephemeris_map.cend())
|
if (gps_cnav_ephemeris_iter != gps_cnav_ephemeris_map.cend())
|
||||||
|
@ -277,7 +277,7 @@ int StaticPositionSystemTest::configure_receiver()
|
|||||||
const int extend_correlation_ms = 1;
|
const int extend_correlation_ms = 1;
|
||||||
|
|
||||||
const int display_rate_ms = 500;
|
const int display_rate_ms = 500;
|
||||||
const int output_rate_ms = 10;
|
const int output_rate_ms = 100;
|
||||||
|
|
||||||
config->set_property("GNSS-SDR.internal_fs_sps", std::to_string(sampling_rate_internal));
|
config->set_property("GNSS-SDR.internal_fs_sps", std::to_string(sampling_rate_internal));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user