There is a newer version of the record available.

Published January 8, 2021 | Version v0.0.14
Software Open

gnss-sdr/gnss-sdr: GNSS-SDR v0.0.14

Description

This is a maintenance and bug fix release. Most relevant changes with respect to the former release are listed below:

Improvements in Availability:

  • Fixed bug in acquisition detection when the configuration parameter Acquisition_XX.threshold was set but Acquisition_XX.pfa was not, causing false locks.
  • Fixed anti-jamming filters: Pulse_Blanking_Filter, Notch_Filter and Notch_Filter_Lite.

Improvements in Efficiency:

  • Faster SignalConditioner block when its implementation is set to Pass_Through.

Improvements in Interoperability:

  • Added the Galileo E6 B/C signal structure based on E6-B/C Codes Technical Note, Issue 1, January 2019, including Acquisition and Tracking blocks. The Telemetry Decoder is still empty (only the CRC is checked, based on Galileo High Accuracy Service E6-B Signal-In-Space Message Specification v1.2, April 2020).

Improvements in Maintainability:

  • Added a common shared pointer definition gnss_shared_ptr, which allows to handle the boost::shared_ptr to std::shared_ptr transition in GNU Radio 3.9 API more nicely.
  • Support new FFT and firdes blocks' API in GNU Radio 3.9.
  • Added detection of inconsistent function prototypes in volk_gnsssdr library kernels at compile time.
  • Fixed defects detected by clang-tidy check bugprone-reserved-identifier, and added to the checks list. This check corresponds to CERT C Coding Standard rule DCL37-C as well as its C++ counterpart, DCL51-CPP.
  • Applied and added more clang-tidy checks related to readability: readability-make-member-function-const and readability-qualified-auto.

Improvements in Portability:

  • Fixed -DENABLE_OWN_GLOG=ON building option when gflags is installed and it is older than v2.1.2 (e.g., in CentOS 7).
  • Improved handling of old gflags versions, minimum version set to 2.1.2. Replaced google:: by gflags:: namespace when using functions of the gflags library.
  • Replaced git:// by https:// as the used protocol when downloading Gflags, so it can work through firewalls requiring authentication.
  • Fixed static linking of the matio library when downloaded and built by CMake.
  • Improved CPU feature detection by switching to Google's cpu_features library: The volk_gnsssdr library had its own CPU feature detection methods, which were not totally reliable and difficult to implement across compilers and OSes. This is now handled by the cpu_features library, thus building upon that expertise. Since that library has higher dependency version requirements than GNSS-SDR, the old method is still used in old development environments. No extra dependency is needed. This change is transparent to the user, since everything is managed by the CMake scripts.
  • The volk_gnsssdr library can be built on Microsoft Windows and can execute SIMD instructions on that OS.
  • Removed all instances of _mm256_zeroupper() in the volk_gnsssdr library, since they are not required and lead to miscompilation with GCC 10.2 and optimization level -O3.
  • Fixed building with -DENABLE_CUDA=ON for blocks implemented with CUDA.
  • Fixed linking against the ORC library if it is present in the system.
  • Fixed a bug introduced in v0.0.13 that prevented getting Galileo-only PVT fixes in some environments.
  • Fixed duplication of protobuf build tree if it was locally built and then installed with DESTDIR variable set.

Improvements in Usability:

  • Fixed a bug when enabling pseudorange carrier smoothing in other bands than L1.
  • If SignalConditioner.implementation=Pass_Through, then all the configuration parameters for the DataTypeAdapter, InputFilter and Resampler blocks are ignored. This was the default behavior in GNSS-SDR v0.0.12, but it changed in v0.0.13. This change recovers the old behavior.
  • Fixed occasional segmentation fault when exiting with q + [Enter] keys if Acquisition_XX.blocking=false.
  • Fixed the termination of the receiver with q + [Enter] keys when using the Osmosdr_Signal_Source implementation of the SignalSource block.
  • The Labsat_Signal_Source implementation of the SignalSource block now can be throttled with the new parameters SignalSource.enable_throttle_control and SignalSource.throttle_frequency_sps, thus allowing the emulation of real-time operation.
  • Improved General Block diagram, both in content and in image resolution.
  • The Custom_UDP_Signal_Source implementation now accepts SignalSource.sample_type=cfloat, in addition to the existing 4 and 8-bit length sample types.
  • Fixed the obsdiff and rinex2assist utilities when installed if they were built with a locally downloaded version of GPSTk.
  • The generated HTML documentation now makes use of the Doxygen grouping feature.
  • Improved rendering of equations in HTML documentation generated by Doxygen. Make use of MathJax for equation rendering. Added new building option ENABLE_EXTERNAL_MATHJAX, set to ON by default. If set to OFF, it allows using a local installation of MathJax 2.
  • Improved dumps in Telemetry Decoding blocks. Now they include the raw navigation message bits. If TelemetryDecoder_XX.dump=true, the resulting .dat binary file is also delivered in .mat format, which is readable from Matlab and Python.
 

See the definitions of concepts and metrics at https://gnss-sdr.org/design-forces/

Files

gnss-sdr/gnss-sdr-v0.0.14.zip

Files (5.9 MB)

Name Size Download all
md5:601567c50b15ca4a533bc40293e1068f
5.9 MB Preview Download

Additional details

Related works