Previously didn't actually check for positive or negative acquisition
until the call to general_work *after* the one in which the detection
statistics were generated
Using C++ 11 threading routines to create a worker thread that can
perform the FFT for acquisition in a non-blocking manner. By default
'blocking' is set to true, which is identical to the previous behaviour
(with the added overhead of an extra thread). When 'blocking' is set to
false, then the main thread does not wait for the worker, thereby
letting the receiver continue even when the FFT thread is working. This
is very useful for using FFT acquisition at higher sampling rates, where
the FFT cannot be performed in real-time.
The aim is to replace the separate pcps_multithread_acquisition_cc.
TODO: implement the same thing for the pcps_acquisition_sc
GNSS-SDR.internal_fs_sps
The old name was misleading, since the units are samples per second and
not Hertz.
Backward compatibility is kept, so this change does not break any
existing configuration.
This commit Integrates RTKLIB positioning libraries in a universal PVT
block implementation called RTKLIB_PVT. This results in an improved
positioning accuracy and precision with a wide range of options
(including Precise Point Positioning and ionospheric/troposphreic
models).
Not all the RTKLIB features have been ported. Some of them will be
progressively added. The ported options and how to configure them have
been documented in the website, see
http://gnss-sdr.org/docs/sp-blocks/pvt/
This commit also introduces a multi-band, multi system Observables block
implementation.
Relevant architectural changes that reduce latency and makes
multi-system, multi band signal handling easier.
Redundant blocks have been deleted. Old configurations are automatically
redirected to the new blocks for Observables and PVT, so the commit does
not break any existing configuration. The user should just notice a
relevant improvement in positioning performance.
# Conflicts:
# src/core/receiver/gnss_flowgraph.cc
Rather than changing the index type to uint16_t, I think it would be
better to use the volk_32f_index_max32* functions instead of the 16 bit
counterparts. This ensures backwards compatibility (the index was
previously 32 bit, even if the function name indicated that it was 16
bit) and also, for FFT acquisition we may encounter large FFTs with more
than 65 535 points
instead of volk_malloc, volk_free (which are missing from the volk
version distributed by ubuntu 14.04). Fix the include guard in
volk_gnsssdr_malloc.h
Thanks to @hoernchen