1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-13 16:56:52 +00:00

Update changelog

This commit is contained in:
Carles Fernandez 2018-05-13 21:12:22 +02:00
parent eb6b17edf8
commit d5ab9124c4
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D

View File

@ -1,3 +1,122 @@
## [Unreleased](https://github.com/gnss-sdr/gnss-sdr/tree/next)
Next release will have several improvements, addition of new features and bug fixes in many dimensions:
### 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.
- Fixed CN0 estimation for other correlation times than 1 ms.
### Improvements in Availability:
- 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.
### Improvements in Efficiency:
- Added the possibility of non-blocking acquisition, which works well when using real-time data from a RF front-end.
- Complex 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
- Some AVX2 kernels added to the volk_gnsssdr library.
- Several performance improvements.
### Improvements in Flexibility:
- A number of new parameters have been exposed in the configuration.
- Possibility to choose Pilot or Data tracking where available.
- Enabled extended coherent integration times.
- Some configuration parameters can now be overridden by commandline flags for easier use in scripts.
### Improvements in Interoperability:
- Added the GPS L5 receiver chain.
- Added the GLONASS L1 SP receiver chain.
- Added the GLONASS L2 SP receiver chain.
- Improvements in the Galileo E5a and GPS L2C receiver chains.
- Added four more signal sources: "Fmcomms2_Signal_Source", "Plutosdr_Signal Source", "Spir_GSS6450_File_Signal_Source" and "Labsat_Signal_Source".
- Improved support for BladeRF, HackRF and RTL-SDR front-ends.
- Added tools for the interaction with front-ends based on the AD9361 chipset.
- Intermediate results are now saved in .mat binary format, readable from Matlab/Octave and from Python via h5py.
- Added the GPX output format.
- Fixed a bug in the format of NMEA sentences when latitude or longitude minutes were >10
- Improvements in the RTCM server.
- Improvements in the generation of RINEX files.
### Improvements in Maintainability:
- C-style casts have been replaced by C++ casts. C-style casts are difficult to search for. C++ casts provide compile time checking ability and express programmers' intent better, so they are safer and clearer.
- The override special identifier is now used when overriding a virtual function. This helps the compiler to check for type changes in the base class.
- 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.
- Improved control over minimum required versions for core dependencies.
- Automated code formating with clang-format.
- Application of the coding style guide in several source files, improving readability.
- The software builds with C++11, C++14 and C++17 standards.
- Setup of a Continuous Integration system that checks building in a wide range of Linux distributions.
### Improvements in Portability:
- The <ctime> library has been replaced by the more modern and portable <chrono>.
- The <stdio.h> library has been replaced by the more modern and portable <fstream> for file handling.
- C++ libraries preferred over C libraries (e.g., <cctype> instead of <type.h>).
- A number of unused includes have been removed.
- The software can now be built using GCC or LLVM/Clang compilers on GNU/Linux.
- The Ninja build system can be used in replacement of make.
- The volk_gnsssdr library can be built using Python 2.7 or Python 3.6.
- Several CMake scripts improvements.
- BLAS and LAPACK libraries are mandatory on ARM devices.
### Improvements in Reliability:
- Introduced 3 new Input Filter implementations for pulsed and narrowband interference mitigation: `Pulse_Blanking_Filter`, `Notch_Filter` and `Notch_Filter_Lite`.
- Enhanced const correctness.
- rand() function replaced by <random> library.
- strlen and strncpy have been replaced by safer C++ counterparts.
- Fixed a number of defects detected by Coverity Scan.
- Some destructors have been fixed, avoiding a segmentation fault when exiting the program.
- Introduction of high-integrity C++ practices into the coding style guide.
- Website switched from http to https.
### Improvements in Reproducibility:
- Setup of a Continuous Reproducibility system at GitLab for the automatic reproduction of experiments. The concept was introduced in https://ieeexplore.ieee.org/document/8331069/
- Fixes of Lintian warnings related to build reproducibility.
### Improvements in Scalability:
- Improvements in multi-system, multi-band receiver configurations. The receiver now accepts any number of channels in the three available bands.
### Improvements in Testability:
- Several Unit Tests added.
- Receiver channels can now be fixed to a given satellite.
- Improved CTest support in volk_gnsssdr.
### Improvements in Usability:
- All Observables block implementations have been collapsed in a universal implementation for all kinds of GNSS signals, making it easier to configure.
- All PVT block implementations have been collapsed in a universal implementation for all kinds of GNSS signals, making it easier to configure.
- Misleading parameter name GNSS-SDR.internal_fs_hz has been replaced by GNSS-SDR.internal_fs_sps. The old parameter name is still read. If found, a warning is provided to the user.
- Updated and improved documentation.
- Added colors to the commandline user interface.
See the definitions of concepts and metrics at https://gnss-sdr.org/design-forces/
## [0.0.9](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.9)
DOI: https://doi.org/10.5281/zenodo.291371
@ -74,17 +193,18 @@ This release has several improvements, addition of new features and bug fixes in
- Unit tests added: GpsL1CADllPllTracking and GpsL1CATelemetryDecoderTest.
- System test added: ttff_gps_l1 performs a set of cold / assisted runs of the software receiver and computes statistics about the obtained Time To First Fix.
- System test added: obs_gps_l1_system_test uses an external software-defined signal generator to produce raw digital GNSS signal from a RINEX navigation file and a position (static or dynamic), processes it with GNSS-SDR, and then compares the RINEX observation file produced by the software receiver to that produced by the signal generator.
- Software Development Kit provided for embedded devices (see http://gnss-sdr.org/docs/tutorials/cross-compiling/).
- Software Development Kit provided for embedded devices (see https://gnss-sdr.org/docs/tutorials/cross-compiling/).
### Improvements in Usability:
- Now the block factory automatically detects Channel input data type, so it is no longer required to specify Channel.input_type in the configuration. An error raises if Acquisition and Tracking Blocks are not configured with the same input data type.
- Block names changed from L2_M to L2C.
- Documentation available at http://gnss-sdr.org/docs/
- Documentation available at https://gnss-sdr.org/docs/
- Improved tools for compilation, execution and testing in embedded devices.
See the definitions of concepts and metrics at http://gnss-sdr.org/design-forces/
See the definitions of concepts and metrics at https://gnss-sdr.org/design-forces/