Adds GLONASS L2 C/A signal processing to GNSS-SDR based on previous
work developed for the L1 signal. All code have been added in a single
commit with the idea to illustrate the process of signal addition for
future work
Rawhide). The warnings were:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct std::complex<float>'; use assignment or
value-initialization instead [-Wclass-memaccess]
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
Adds code to solve the shared frequency channels for GLONASS satellites
during acq and trk, it is now decode responsability to fix the identifier
when decoding of ephemeris happens. It also adds more details in tracking
plotting and fixes silly bug that created false alarm.
The code fixes the computation of the carrier frequency for pcps
acquisition of GLONASS satellites by making it relative to the IF. Also
new plotting features are added to visualize results
Starts merging process of the acquisition and tracking code for GLONASS
processing developed by Gabriel Araujo. Fixes compile warnings and
errors introduced during rebase operation
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
Packages using CMake often use file(GLOB ...) to retrieve a list of
source files. As this is based on readdir(), the resulting file list
is unsorted. A common use case is to pass this list directly to
add_executable or add_library. But as the order is unpredictable, the
binaries are not reproducible (because the order in which the objects
are linked will vary).
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824263
Change the initialization of max_dwells in pcps acquisition adpaters
due its value is forced to be 1 in gr_block constructor if boolean
"bit_transition_flag" is set to TRUE
Resolves: #24
Rename "shift_resolution_" variable in some Acquisition adapters to
"doppler_max_" according to its meaning and change "ifreq" to "if"
because the value was not properly read. Delete unused variables.
Resolves: #23
message system. Removing the deprecated channel internal queue and its
references. Some tests that are using the old channel queue are disabled
in this version
(.Acquisition_1C.use_CFAR_algorithm=false) as an option in the
acquisition configuration, it allows setting more stable thresholds in
the presence of non-gaussian front-end noise (which is the usual
behavior of front-ends....)
the post correlation noise floor. If enabled
(.Acquisition_1C.use_CFAR_algorithm=true) as an option in the
acquisition configuration, it allows setting more stable thresholds in
the presence of non-gaussian front-end noise (which is the usual
behavior of front-ends....)
in PCPS_Acquisition (added the _sc variant). Now the PCPS acquisiton
adapter requires no conversion when the receiver works with 16 bits
integer complex samples.
Reduced zero_padding_factor in pcps acquisition
This was 16, I'm processing data at about 16MHz, this oversampling
factor caused memory allocation issues
Previously dump file name was not being read from the configuration
Added fix for non-zero IF in pcps_acquisition_cc
Added linear correlation to pcps acquisition.