1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-11-16 23:04:57 +00:00
Commit Graph

240 Commits

Author SHA1 Message Date
Carles Fernandez
e6cf773a2b removing tabs and tailing whitespaces 2015-11-27 17:37:21 +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
Carles Fernandez
df6996f3b1 reverting wrong change 2015-11-27 14:06:30 +01:00
Carles Fernandez
2a6381c6fa Merging branch 'next' of git://github.com/Arribas/gnss-sdr 2015-11-27 13:32:21 +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
Javier Arribas
c8f7e08127 Updated all GPS and Galileo trackings for double floating point internal
computations and bug fixes in the carrier phase accumulator.
(all, except Matlab-Simulink linked trackings)
2015-11-26 18:44:04 +01:00
Cillian O'Driscoll
26b18c19ee Added a generic tracking_loop_filter class
This implements a generic loop filter. Based on the analog PLL filters
from Kaplan and Hegarty, with a bilinear (Tustin's) transform from
s-plane to z-plane ( 1/s -> T/2 ( 1 + z^-1 )/( 1 - z^-1 ) )

Also added tests. Note the "truth" outputs
were derived from an Octave implementation of the loop filter and
Octave's builtin filter function
2015-11-26 15:12:26 +00:00
Cillian O'Driscoll
518deb501a Added IF handling to acq and tracking
Only GPS L1 CA DLL PLL tracking for now. Still experimental.
2015-11-26 15:12:26 +00:00
Cillian O'Driscoll
b95219dbc6 Added two Carrier_rotate correlator utilities
1) Carrier_rotate_and_EPL_volk

This is a very efficient VOLK based carrier wipeoff and
Early/Prompt/Late correlation. The carrier wipe off is done using the
VOLK rotator functions, which means there is no need to generate a local
replica sinusoid.

2) Carrier_rotate_and_VEPL_Volk

This adds Very Early/Early/Prompt/Late/Very Late correlation with the
VOLK rotator implementation of carrier wipe-off
2015-11-26 15:11:59 +00:00
Cillian O'Driscoll
e6d5fe35ea Added check for zero denominator in dll discrim. 2015-11-26 15:11:59 +00:00
Javier Arribas
aed688f3b4 DLL/PLL and phase accumulator bug correction and verification almost
done. Still some outliers detected in PPP using RTKLIB but the
positioning performande is good.
2015-11-25 18:32:32 +01:00
Javier Arribas
15c4882af9 Linear regressor implemented in observables 2015-11-24 13:37:01 +01:00
Carles Fernandez
0e8663a1fc Merge branch 'next' of git+ssh://github.com/carlesfernandez/gnss-sdr
into next

# Conflicts:
#	src/core/system_parameters/rtcm.cc
#	src/core/system_parameters/rtcm.h
#	src/tests/formats/rtcm_test.cc
2015-11-24 00:44:19 +01:00
Javier Arribas
411c8cedb0 experimental interpolator in observables 2015-11-23 23:05:52 +01:00
Javier Arribas
6b340696ed Code cleaning and new cpu multicorrelator library 2015-11-17 19:14:55 +01:00
Javier Arribas
27588fa83b Artemisa tracking is almost working. Code cleaning, refactoring and renaming is in progress! 2015-11-16 19:23:25 +01:00
Javier
c2e254debc New DLL PLL Artemisa tracking block skeleton. Not usable yet! 2015-11-15 22:26:42 +01:00
Javier Arribas
2039e998ff Pinned memory (Zero copy) huge improvement for GPU tracking. 2015-10-15 19:09:09 +02:00
Javier Arribas
a4655e2b03 Merged with github next 2015-10-08 14:37:51 +02:00
Carles Fernandez
a84b4baef0 Removing cudahelpers library and usage by a copyright issue. It does not
affect functionality.
2015-09-10 17:46:38 +02:00
Javier Arribas
6aef3478cf Removed CheckCudaErrors function and the cuda helpers dependencies in
CUDA accelerators
2015-09-10 15:15:01 +02:00
Carles Fernandez
0821216970 Moving cudahelpers headers so other blocks can use it more easily. 2015-08-25 20:49:37 +02:00
Carles Fernandez
ef136e5c74 Some CUDA cleaning and documentation 2015-08-25 19:01:02 +02:00
Carles Fernandez
429e4e8776 Fixing compilation when CUDA is not present 2015-08-25 17:07:36 +02:00
Javier Arribas
af99f340a4 Merge branch 'next' of https://github.com/Arribas/gnss-sdr.git into next
Conflicts:
	src/algorithms/tracking/libs/cuda_multicorrelator.cu
2015-08-06 17:13:03 +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
fb2b12403a Multi-GPU device suport (splits the tracking channels between all the
availables GPUs (CUDA only!))
2015-07-24 18:07:33 +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
Javier Arribas
f722f5f8f7 Added GPU tracking block for GPS L1 CA. Not activable yet... 2015-07-23 18:07:52 +02:00
Javier Arribas
4fc61af172 Adding cuda ultra-fast correlator library. Not used yet, but optionally
compiled. All CMAKEs ready!
2015-07-22 18:16:54 +02:00
Javier
69a76990fc Adding Galileo E5 CN0 tracking debug print on std::cout
Adding more configuration sample files:

- GPS L1 + GPS L2CM realtime tracking for Flexiband
frontend
- GPS L1 + GPS L2CM + Galileo E1 realtime tracking for Flexiband
frontend
- GPS L2CM realtime tracking on USRP1 (requieres stable sample clock)
2015-06-22 16:12:53 +02:00
Javier
df48bf7342 - Small adjustments in GPS L2M tracking lock detector static thresholds.
- Added sample configuration file for dual frequency GPS L1 + L2
realtime operation for Teleorbit Flexiband Frontends (requires a
external hardware driver installed)
2015-06-16 17:16:20 +02:00
Javier
26a6bbd37a bug found in PRN resampler code. Disabled optimization 2015-06-12 19:28:56 +02:00
Javier
adf73e0610 Work in progress for GPS L2C support:
- Patched GPS L2CM tracking pull-in code.
- Workaround for ViterbiDecoder bug
2015-06-12 15:49:25 +02:00
Javier
b8d3f293f1 GPS L2C bug fixes. Added skeleton for a Mixed (multi-frequency and
multi-system) observables block.
2015-06-05 18:46:00 +02:00
Carles Fernandez
9d2e22ea21 removing unused code, code cleaning 2015-05-29 19:10:28 +02:00
Carles Fernandez
0b34eee48c initialize members in the constructor 2015-05-24 11:15:27 +02:00
Carles Fernandez
3a98f0765e initialize variable 2015-05-22 20:25:23 +02:00
Carles Fernandez
4ca6e5b749 Initializing member in the constructor 2015-05-22 20:17:37 +02:00
Carles Fernandez
4d34af4f40 initializing member in the constructor 2015-05-22 20:14:25 +02:00
Javier
61c7ab8eed Added GPS L2 Ephemeris and Clock parameters CNAV frame bit structure
definitions
2015-05-20 18:24:53 +02:00
Carles Fernandez
64a81d8c48 initializing members in the constructor 2015-05-19 22:45:16 +02:00
Carles Fernandez
ed06936992 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.
2015-05-19 07:58:23 +02:00
Carles Fernandez
7dcffd3401 Initializing class members in the constructor 2015-05-17 11:02:27 +02:00
Javier
c23654f7a2 Updates in the GPS L2C CNAV telemetry decoder. Migrating code from SBAS
decoder. Viterbi is working now and CRC check detects good frames. Still
work to do.
2015-05-14 18:53:12 +02:00
Carles Fernandez
79192a0bbd fixing coverity issues 2015-05-13 23:50:21 +02:00
Carles Fernandez
d1a1815083 fixing coverity issues 2015-05-13 16:40:46 +02:00
Javier
37a346f3f6 Merge branch 'next' into arribas_next
Conflicts:
	src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc
2015-05-06 16:49:11 +02:00
Javier
d8d5daa5d8 GPS L2C M acquisition and tracking ready. Old configuration file format.
Bug fix on GPS L1 DLL PLL that prevented the output of gnss_synchro
during the acqusition to tracking transition.
2015-05-06 16:33:51 +02:00
Javier
4c5efd1e8b GPS L1 C/A + GPS L2C M dual frequency offline acquisition and tracking
READY. Issues on PRN numbering are being investigated...
2015-05-05 18:30:57 +02:00
Carles Fernandez
e354b1ce53 less verbose logging in Release 2015-05-04 22:16:26 +02:00
Carles Fernandez
c9300c45a0 adding missing include 2015-05-03 13:17:21 +02:00
Carles Fernandez
1011bb0863 Faster local carrier update (25% of improvement) 2015-05-03 13:15:17 +02:00
Carles Fernandez
caa10a583f adding missing include 2015-05-03 12:35:37 +02:00
Carles Fernandez
09e86c2750 faster update 2015-05-03 12:33:51 +02:00
Javier
60b7fe8e08 Added GPS L2M Tracking and its unit test. Still experimental! 2015-04-30 17:48:21 +02:00
Anthony Arnold
9ecf17a602 Link dependencies 2015-04-30 17:18:15 +10:00
Carles Fernandez
6cf4b35988 All the tracking blocks set valid pseudoranges to false 2015-03-04 10:47:54 +01:00
Carles Fernandez
8cd59646bb Some warnings removed 2015-02-27 14:55:46 +01:00
Carles Fernandez
a174c490d9 Update copyright year 2015-01-12 21:12:08 +01:00
Carles Fernandez
6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Carles Fernandez
5fb0183267 Fix compilation error if volk_gnsssdr was already installed 2014-12-24 11:51:30 +01:00
Carles Fernandez
d1d1d9e36f add volk_gnsssdr_module target dependency 2014-12-23 22:42:39 +01:00
Carles Fernandez
3c89c1c5f6 Making it work for Xcode, credits to Andres Cecilia 2014-11-17 20:42:50 +01:00
Carles Fernandez
18a35a223d changing block name 2014-11-07 18:39:24 +01:00
Carles Fernandez
87adf631e0 some fixes 2014-11-07 18:25:35 +01:00
andres
db738c7ea9 Added cmake version check. Deleted original volk
Added cmake version checks.
Deleted original volk protokernels.
Fixes.
2014-10-27 05:19:26 +01:00
andres
61f6e125ea Updated GALILEO_VOLK_E1_DLL_PLL_VEML_TRACKING 2014-10-18 04:40:23 +02:00
andres
5a498207c4 Merge branch 'volk_tracking_performance' into volk_merge_with_next 2014-10-18 02:42:01 +02:00
andres
0f7c23bd7e Commenting the code 2014-10-17 02:56:15 +02:00
andres
2fefe9f21c Created individual gnurdio tracking block for volk
Created individual gnuradio tracking block for volk:
galileo_volk_e1_dll_pll_veml_tracking_cc

the galileo_volk_e1_dll_pll_veml_tracking_cc gnuradio block is now the
original one.
2014-10-17 02:24:54 +02:00
andres
8badd81dbe Added AVX to s32f_x2_update_local_carrier_32fc 2014-10-17 01:56:13 +02:00
Andrés Cecilia Luque
313cb1c544 volk_gnsssdr_s32f_x2_update_local_carrier_32fc
Added new protokernel volk_gnsssdr_s32f_x2_update_local_carrier_32fc,
with volk implementation 4x quicker than generic implementation.
2014-10-03 01:30:04 +02:00
Andrés Cecilia Luque
da4288d502 Added 32fc_s32f_x4_update_local_code_32fc kernel
Added a new protokernel to substitute update_local_code function,
inside tracking: volk_gnsssdr_32fc_s32f_x4_update_local_code_32fc
Volk implementation is 7x times faster than generic implementation.
2014-10-01 13:39:07 +02:00
Carles Fernandez
67434d212c Fixing interface if SSE3 is found 2014-10-01 01:35:48 +02:00
Andrés Cecilia Luque
b2dab27cdb Modified tracking in order to test the protokernel
Modified tracking in order to test the new 8 bits protokernels’
performance.
2014-09-27 01:44:49 +02:00
Andrés Cecilia Luque
6aa338e582 Fixed the name of some protokernels 2014-09-26 22:34:02 +02:00
Anthony Arnold
7ded93f93e Fixing preprocessor directive. 2014-09-24 08:23:32 +10:00
Andrés Cecilia Luque
c55be47565 Created macros for 8ic_cw_epl_corr_32fc
Created macros for 8ic_cw_epl_corr_32fc proto-kernels
2014-09-22 18:18:20 +02:00
Andrés Cecilia Luque
d71ae159dc Modified galileo_e1_dll_pll_veml_tracking_cc
Modified galileo_e1_dll_pll_veml_tracking_cc for testing the new volk
tracking-specific protokernels
2014-09-22 14:56:17 +02:00
Anthony Arnold
77b635e8c0 Merge with next 2014-09-18 02:10:56 +10:00
Anthony Arnold
4c2b0fbc45 Testing for ARM and SSE to compile for armhf 2014-09-18 00:50:44 +10:00
Carles Fernandez
60fea64b5e Code cleaning 2014-09-14 18:53:51 +02:00
Carles Fernandez
478d22f973 Changing C-styled cast by C++ style 2014-09-12 20:31:42 +02:00
Carles Fernandez
bb62dae014 Changing C-styled cast by C++ static_cast<>() 2014-09-12 13:34:43 +02:00
Carles Fernandez
35f9f30441 Some fixes and code cleaning 2014-09-12 10:56:04 +02:00
Carles Fernandez
59c503d38a Some fixes 2014-09-10 03:49:58 +02:00
Carles Fernandez
9106f147ef Better VOLK usage. Memory alignment, using dispatcher instead of
aligned/unaligned versions. Code cleaning.
2014-09-10 03:15:01 +02:00
Carles Fernandez
fd6a8e3cff Better VOLK usage. Memory alignment, calling dispatchers instead of
aligned/unaligned versions. Code cleaning.
2014-09-10 00:23:18 +02:00
Andrés Cecilia Luque
d205d5640d Modifications to use volk_gnsssdr in tracking 2014-09-08 01:56:34 +02:00
Carles Fernandez
1183c73b09 Merge branch 'next' of ssh://carlesfernandez@git.code.sf.net/p/gnss-sdr/cttc into next 2014-09-07 19:51:36 +02:00
Carles Fernandez
322550e0c6 Adding an option to build the binary without detecting the SIMD
instruction set present in the compiling machine, so it can be executed
in other machines without those specific sets.
2014-09-07 19:35:41 +02:00
Javier Arribas
072d0cad67 Important bug found and fixed:
Volk memory alignement for signal vectors was using a hardcoded 16 bytes
value. This parameter is machine-dependant and thus, in modern machines
caused memory exceptions if the parameter not match.

All posix_memalign functions are now replaced by the GNU Radio
volk_malloc(vector_size (bytes), volk_get_alignement());

volk_get_alignement() returns the number of bytes to align the memory
blocks in the current processor.

The memory bug showed up when the receiver is configured with higher
sample rates (>4 Msps!)
2014-09-07 19:11:37 +02:00
Carles Fernandez
dfd9be34a9 Merge branch 'galileo_e5a' of https://github.com/marc-sales/gnss-sdr
into next

Conflicts:
	src/core/receiver/gnss_block_factory.cc
	src/core/receiver/gnss_flowgraph.cc
2014-09-05 18:51:08 +02:00
Carles Fernandez
bcd90ca9cf Removing unused code that could prevent binaries to run on machines
where the set of SIMD instructions is not the same than the machine that
compiled them.
2014-09-04 19:33:17 +02:00
Javier Arribas
54147b519a Merge remote-tracking branch 'origin/next' into gps_galileo_hybrid
Conflicts:
	src/algorithms/PVT/libs/kml_printer.h
	src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc
2014-09-01 22:57:40 +02:00
Carles Fernandez
ad5fd36719 Adding Galileo-GPS system time parameters. Fixes in tracking 2014-08-31 13:21:41 +02:00
Javier Arribas
32a66b8a41 Merge remote-tracking branch 'origin/next' into gps_galileo_hybrid 2014-08-28 15:47:04 +02:00
marc-sales
1d3d40cefd final version 2014-08-20 10:59:47 +02:00
marc-sales
3b3c809dab Unified acquisition 2014-08-05 02:01:37 +02:00