1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-15 12:40:35 +00:00
Commit Graph

350 Commits

Author SHA1 Message Date
Gastd
ffb523a8c0 Only 24 SV's available 2017-08-23 13:00:54 -03:00
Gastd
cb32755045 Add Glonass L1 C/A channel to the block factory 2017-08-23 13:00:54 -03:00
Gastd
d3c3cab980 fix glonass signal string 2017-08-23 13:00:54 -03:00
Gastd
99104bc8bc Add glonass svn in signals list 2017-08-23 13:00:54 -03:00
Antonio Ramos
e1dc9f5aac Improving real-time performances of input filters
Pulse blanking and Notch filters improved
2017-08-21 13:11:18 +02:00
Carles Fernandez
ef1e4a4cd8 Update iterator when doint insert in a list 2017-08-17 11:31:22 +02:00
Carles Fernandez
2b18ae14fe Replace iterators by const iterators 2017-08-17 11:03:02 +02:00
Carles Fernandez
85cc7802be Fix const correctness when catching exceptions
See https://stackoverflow.com/questions/7581654/about-catching-exception-good-practices
Unneeded includes unistd.h removed
Close dump files in destructor
2017-08-14 13:59:00 +02:00
Carles Fernandez
9bfef0e05a Fix CMake scripts to use Ninja https://ninja-build.org/
cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -GNinja .. && ninja
2017-06-21 08:54:47 +02:00
Antonio Ramos
93de803b41 GetBlock method modification
Adding Notch_Filter to the list of implementations
2017-06-19 15:40:40 +02:00
Antonio Ramos
4c52774da1 Including notch filter header to GNSSBlockFactory
Adding #include "notch_filter.h"
2017-06-09 14:11:20 +02:00
Carles Fernandez
0253f4ba05 Merge remote-tracking branch 'upstream/common_solver' into next
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
2017-05-10 22:16:18 +02:00
Carles Fernandez
3463d5437e Deactivate compilation of acquisition_lib until fix 2017-05-10 21:01:23 +02:00
Carles Fernandez
111ad3b221 Remove Hybrid_PVT implementation, it is replaced by RTKLIB_PVT 2017-05-10 16:42:22 +02:00
Carles Fernandez
9fef3fbfe9 Merge branch 'next_fpga' of https://github.com/gnss-sdr/gnss-sdr into next 2017-05-08 22:48:04 +02:00
Carles Fernandez
41aa5f5e7e Warn user about deprecated implementations 2017-05-08 21:17:54 +02:00
Carles Fernandez
d873df57b3 Replace old implementation names by new ones so existing configurations do not break 2017-05-08 19:56:10 +02:00
Javier Arribas
2ee29af3bd Adding FPGA accelerators support in gnss-sdr configuration options 2017-05-05 16:37:29 +02:00
mmajoral
eccbd0f97a acquisition gps unit test for the FPGA. The code is currently being cleaned 2017-05-05 16:15:27 +02:00
Javier Arribas
c3c3266fad Adding an improved receiver time reporting system 2017-05-02 12:01:18 +02:00
Carles Fernandez
731d0e04eb Tell the scheduler that PVT is a sink block 2017-04-29 19:12:27 +02:00
Carles Fernandez
f4dac04285 merging next 2017-04-22 18:31:57 +02:00
Javier Arribas
e90a9aa2bf Migration of the internal LS PVT solver to RTKLIB solver in progress. First working version for GPS L1. Removing SBAS duplicated code. 2017-04-20 16:10:12 +02:00
Carles Fernandez
95ffcd3ac0 Improve portability
In some architectures (e.g. alpha, hppa, powerpcspe, m68k,  sh4, sparc64, x32) the package gr-osmosdr is not available. So when the package is build with -DENABLE_OSMOSDR=ON, it breaks on the mentioned architectures. This is expected behaviour (it breaks because a required dependency is not found), but prevents from building the package on such architectures. This commit introduces a small change: when compilation is called with

cmake -DENABLE_OSMOSDR=ON -DENABLE_PACKAGING=ON ..

then, the compilation does not break if gr-osmosdr is not found.

This commit also fixes building when UHD is present but gnuradio-uhd is not (for instance, in hurd-i386)
2017-04-12 18:06:04 +02:00
Javier Arribas
807ca24fc2 Refactoring code. Adding new experimental tests and new common TX time observables algorithm 2017-04-12 17:04:51 +02:00
Javier Arribas
d42696bfd3 Consolidation of all the observables and PVT algorithms in hybrid observables and hybrid PVT supporting multi-signals and multi-system operations 2017-03-24 15:25:17 +01:00
Javier Arribas
b96d1707a9 GPS L2CM telemetry decoder rewrite, borrowed from the Swift navigator open source libraries 2017-03-23 15:45:41 +01:00
Javier Arribas
d5656e65a8 Adding experimental input filter Pulse Blanking algorithm implementation 2017-02-21 11:35:18 +01:00
Carles Fernandez
05f8b78751 Change blocks name from L2_M to L2C 2016-11-03 19:33:04 +01:00
Carles Fernandez
e918da7785 Change name of L2C observables block 2016-11-03 19:03:17 +01:00
Carles Fernandez
866bb1537f Add Galileo E5a observables block 2016-11-03 12:18:56 +01:00
Carles Fernandez
779ab48feb Add observables block for GPS L2C 2016-11-03 12:02:25 +01:00
Carles Fernandez
6412bbc8d3 Change variable names to something more meaningful 2016-10-16 10:00:39 +02:00
Carles Fernandez
1913f0d4fa Exit program if it cannot create SysV message queues 2016-10-13 12:02:55 +02:00
Carles Fernandez
b1721489e5 Kill the SysV queue listener when stopping the control thread 2016-10-03 18:51:00 +02:00
Carles Fernandez
67a4066738 Fix typo 2016-10-03 17:45:06 +02:00
Carles Fernandez
08f0a36075 Improve queue management gnss-sdr and in TTFF tests.
Always destroy queues when exiting
2016-10-03 17:43:06 +02:00
Carles Fernandez
047ced2b20 Improve queue management 2016-10-03 13:43:20 +02:00
Carles Fernandez
7eff6df4dd Create converter_ in the constructor 2016-10-02 02:03:59 +02:00
Carles Fernandez
b80eba91c8 Terminate run when testing TTFF 2016-10-01 18:43:58 +02:00
Carles Fernandez
32445c9864 Add a queue listener to the control thread 2016-10-01 17:32:38 +02:00
Carles Fernandez
62e1e6f81a Now the block factory automatically detects the input data type
So it is no longer required to specify Channel.input_type=cshort in the
configuration. An error raises if Acquisition and Tracking Blocks are
not configured with the same input data type.
2016-08-15 11:57:12 +02:00
Carles Fernandez
5a73b4e047 Improve package reproducibility
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
2016-05-23 19:51:59 +02:00
Carles Fernandez
df47884cd7 Clean the factory
Now GetBlock does not require a queue for generating blocks that do not
use it.
2016-05-10 01:32:26 +02:00
Carles Fernandez
f1a5708891 Remove unused queue in Signal Conditioners 2016-05-09 18:53:48 +02:00
Carles Fernandez
953bc4686e Remove unused queue in input filters and data type adapters 2016-05-09 18:44:58 +02:00
Carles Fernandez
3bd59ec83e Remove unused queue from acquisition blocks
Now replaced by GNU Radio's message passing system
2016-05-09 16:44:54 +02:00
Carles Fernandez
0acb48c0b5 Remove unused queue from tracking blocks
Now replaced by GNU Radio block's message passing system
2016-05-09 11:51:42 +02:00
Carles Fernandez
7a6952f8b6 Remove unused queue
Now replaced by GNU Radio block's message passing system
2016-05-09 10:27:42 +02:00
Carles Fernandez
1cbaf99ebd Initialize all class members in the constructor 2016-05-08 08:21:25 +02:00
Carles Fernandez
818e09536b Exposing RTCM message rate to the configuration 2016-05-07 12:22:40 +02:00
Luis Esteve
af8ced3a2e Improve documentation of gnss_block_factory.cc 2016-05-06 17:01:11 +02:00
Carles Fernandez
0ea36db356 code cleaning 2016-05-04 19:15:18 +02:00
Javier Arribas
3d2e72c790 Re-enabling the GPS L1 warm start ephemeris assistance stored in XML file 2016-05-03 12:34:38 +02:00
Carles Fernandez
831cc75153 Remove tabs from the source code 2016-05-02 23:46:30 +02:00
Carles Fernandez
fbfc4a28ba Improve memory management
The blocks are now always managed by smart pointers instead of raw pointers
2016-05-02 17:26:32 +02:00
Carles Fernandez
ae8eaee724 minor cleaning 2016-05-02 01:28:37 +02:00
Carles Fernandez
0f2a08f49d Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-04-22 18:41:24 +02:00
Javier Arribas
4cee7965c4 Code cleaning and config simplifications 2016-04-22 12:04:08 +02:00
Javier Arribas
0a5573f666 several receiver configuration mechanism simplifications and several bug fixes. Work in progress 2016-04-21 18:54:08 +02:00
Javier Arribas
5cdd6b2cc9 Re-enabling the GPS L1 warm start ephemeris assistance stored in
XML file. Now GNSS-SDR is able to load auto-stored ephemeris from
previous runs to speed up the position fix.
2016-04-20 12:58:54 +02:00
Javier Arribas
31ae25cb83 Bug fix: prevent random core dumps at gnss-sdr exit process by adding 500ms delay at gnss-sdr stop process to allow all the message queues to process the remaining messages. 2016-04-18 14:38:25 +02:00
Javier Arribas
0f80ce0159 Channel internal message queue is replaced by the asynchronous GNURadio
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
2016-04-15 16:33:41 +02:00
Javier Arribas
bd60379753 Removed unused queues in telemetry decoders 2016-04-13 17:18:29 +02:00
Javier Arribas
6b45d4019c removed unused queues in observables blocks 2016-04-13 17:02:33 +02:00
Javier Arribas
638fbf7bd8 Removing unused queues in PVT 2016-04-13 16:55:14 +02:00
Javier Arribas
6ba8cea5f4 removed unused queue from PCPS acquisition constructors 2016-04-13 16:45:17 +02:00
Javier Arribas
7560a158f0 More telemetry global queues migration to GNURadio asynchronous messages
and
some
code cleaning
2016-04-13 16:19:15 +02:00
Javier Arribas
b56183f93b Replacing Galileo E1, SBAS, and GPS L2C telemetry shared queues and maps
with GNURadio asynchronous messages (TLM -> PVT)
2016-04-12 17:29:16 +02:00
Javier Arribas
588864e19e Replacing GPS telemetry shared queues and maps with GNURadio
asynchronous messages (TLM -> PVT)
2016-04-12 15:28:58 +02:00
Javier Arribas
b4e8966691 Removing the unused Output_filter block from the gnss_sdr flowgraph 2016-04-06 16:12:06 +02:00
Javier Arribas
9db0990adc Deleted obsolete DLL_FLL_PLL GPS tracking. Deleted obsolete correlator.h
and migrated all tracking in order to use the newer and optimized
cpu_multicorrelator. Code simplification and code cleaning
2016-04-06 14:58:18 +02:00
Carles Fernandez
1703be7612 Removing optim_tracking 2016-03-18 20:28:27 +01:00
Carles Fernandez
754e4436ee Revert "Experimental extended correlation for GPS L1 CA C_Aid tracking"
This reverts commit d664dc63b3.
2016-03-15 10:01:08 +01:00
Carles Fernandez
1e9a9d1a55 reverting wrong commit 2016-03-09 15:56:07 +01:00
Javier Arribas
833ca8ab8c Provisional bug fix to avoid random channel state machine deadlock
caused by an incorrect sequence of events
2016-03-04 14:08:19 +01:00
Javier Arribas
36c8db4143 Code cleaning and removing deprecated tracking modules 2016-03-01 16:45:46 +01:00
Javier Arribas
5a716840ab tracking dll pll cAid can work now with gr_complex and cshort just
setting the data imput type in config file. All the internal receiver
signal chain can work in complex short for the first time. Speed
improvement using custom gnss-sdr volk kernels for cshort data input
types.
2016-01-19 18:37:30 +01:00
Carles Fernandez
601dc7a85c Merge branch 'new_next' of git://github.com/Arribas/gnss-sdr into
new_volk_module
2016-01-12 20:57:06 +01:00
Carles Fernandez
24909510e7 Updating volk_gnsssdr to the new volk scheme 2016-01-12 20:15:16 +01:00
Javier Arribas
c2676ec491 Added missing includes (to be removed in future versions). Steps towards
the integration of new standalone kernels into volk_gnsssdr library.
2016-01-12 18:58:00 +01:00
Javier Arribas
5ba12c6fdb Added 16 bits short int complex ultra-fast resampler,
carrier wipe-off and correlator kernels (250% faster than
gr_complex) enabled in tracking GPS_L1_CA_DLL_PLL_C_Aid_Tracking_16sc
tracking
2016-01-11 16:49:37 +01:00
Carles Fernandez
c5407a5106 Improved handling of threads
Some threads were not terminating properly, triggering a failure of
control_thread_test in some configurations.
2015-12-30 14:43:32 +01:00
Carles Fernandez
23ce240483 Merge branch 'carrier_phase_bug_fix' of
git+ssh://github.com/gnss-sdr/gnss-sdr into odrisci-contrib

# Conflicts:
#	conf/gnss-sdr_Hybrid_byte_sim.conf
#	src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.cc
#	src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc
#	src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.cc
#	src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.cc
#	src/algorithms/tracking/gnuradio_blocks/galileo_volk_e1_dll_pll_veml_tracking_cc.cc
#	src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc
#	src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_optim_tracking_cc.cc
#	src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc
#	src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc
#	src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.cc
#	src/algorithms/tracking/libs/cpu_multicorrelator.cc
#	src/algorithms/tracking/libs/cpu_multicorrelator.h
#	src/algorithms/tracking/libs/cuda_multicorrelator.h
#	src/algorithms/tracking/libs/tracking_discriminators.cc
#	src/core/receiver/gnss_block_factory.cc
#	src/core/system_parameters/GPS_L1_CA.h
2015-11-30 13:59:31 +01:00
Javier Arribas
8c22e5846d Carrier phase observable bug fix for GPS L1 CA trackings, new GPS L1 carrier aided tracking using nex multitap correlator library, and some CUDA multitap correlator performance improvements 2015-11-30 11:43:37 +01:00
Carles Fernandez
74d42250d8 Merge branch 'contrib' of https://github.com/odrisci/gnss-sdr into
odrisci-contrib

# Conflicts:
#	src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc
#	src/algorithms/tracking/libs/tracking_discriminators.cc
2015-11-30 10:18:09 +01:00
Carles Fernandez
bfbea68c8f Merge branch 'next' of git://github.com/Arribas/gnss-sdr into
tracking_arribas

# Conflicts:
#	src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt
#	src/core/receiver/gnss_block_factory.cc
2015-11-27 14:53:33 +01:00
Javier Arribas
38e8feefa8 Name change in new DLL PLL algorithm implementation. We introduce DLL
PLL Carrier Aided Tracking.
2015-11-27 12:53:27 +01:00
Cillian O'Driscoll
086118c4aa Improvements to gnss_flowgraph
1) Fixed a bug in gnss_signal::compare

The signal string comparison was not correct.

2) Fix for gnss_flowgraph when satellites are specified

3) Better handling of acquisition in flow graph

Now PRNs are alternated amongst channels, so we don't get 'stuck' on a
particular PRN, and we don't miss out on PRNs that are assigned to
channels that come after a channel that is always in the acquisition state.

4) Added SYS.prns to config file.

Now we can specify which PRNs are available in the configuration, rather
than re-compiling. Particularly useful for debugging, or experimenting
with files where you already know which signals are present
2015-11-26 15:11:11 +00:00
Javier
c2e254debc New DLL PLL Artemisa tracking block skeleton. Not usable yet! 2015-11-15 22:26:42 +01:00
Carles Fernandez
e4206d38f6 Try to use OpenSSL if GnuTLS with openssl compatibility enabled is not
found.
2015-10-27 20:18:48 +01:00
Cillian O'Driscoll
cee99131c1 Added two_bit_packed_file_signal_source 2015-10-14 09:35:22 +01:00
Javier Arribas
a4655e2b03 Merged with github next 2015-10-08 14:37:51 +02:00
Carles Fernandez
429e4e8776 Fixing compilation when CUDA is not present 2015-08-25 17:07:36 +02:00
Javier Arribas
7b57bd28f8 Merge branch 'next-gnss-sdr' into next 2015-08-25 12:40:31 +02:00
Javier Arribas
1aa84cd1c4 Updated CUDA kernels and several GPU tracking optimizations.
Bug fix in GPS_L1_CA_DLL_PLL binary dump
2015-08-06 17:05:15 +02:00
Javier Arribas
26cf90cdd4 First working version of the GPU GPS tracking block (it requires NVIDIA
CUDA
3.0 GPU hardware)
2015-07-24 17:21:25 +02:00
Carles Fernandez
334caa329e Improving detection of GNU Radio version so modules requiring >=3.7.4
will be built even without the presence of pkgconfig
2015-07-19 11:18:20 +02:00
Carles Fernandez
ea6a92a1fc Fixing broken compilation when using gnuradio 3.7.3 (using I/Q swap
option of interleaved_short_to_complex that was introduced in 3.7.4)
2015-07-17 20:25:56 +02:00
Javier
6c0377ed06 Added new file source adapter:
2 bits complex file source for GNSS-SDR GSoC 2015 signal sampler
designed by Ajith Peter
2015-07-02 17:59:43 +02:00