1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-09-28 23:10:51 +00:00
Commit Graph

266 Commits

Author SHA1 Message Date
Carles Fernandez
ece7bc2c65 Integrating a new volk kernel 2016-01-13 11:42:01 +01:00
Carles Fernandez
eb1dbfe37b introducing new kernels 2016-01-12 22:48:59 +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
2697fb6198 Cleaning includes 2016-01-10 22:21:31 +01:00
Carles Fernandez
0a1aa50c4a Cleaning includes
plus some code cleaning
2016-01-05 10:59:37 +01:00
Carles Fernandez
1c3a9f98ee cleaning includes 2016-01-04 23:52:21 +01:00
Carles Fernandez
d0ac06d71d Cleaning includes 2016-01-04 22:56:52 +01:00
Carles Fernandez
972c86c1ea cleaning the use of includes 2016-01-04 18:06:54 +01:00
Javier Arribas
48c5227c9b bug fix for Mac OSX compiler 2015-12-23 11:31:16 +01:00
Javier Arribas
9acc7e7a20 Replaced fix point NCO by VOLK phase rotator in CPU multicorrelator
(around 5% faster).
This optimization is enabled at this time only in
Tracking_DLL_PLL_C_Aid. Sample config can be found in
gnss-sdr_Hybrid_byte_sim.conf
2015-12-21 11:59:15 +01:00
Javier Arribas
847716428e Updated GPU tracking implementation. Bug fixed in cuda correlator and
performance improvements
2015-12-11 13:53:43 +01:00
Javier Arribas
9bcea5b9cb Merge branch 'next-gnss-sdr' into new_next
Conflicts:
	src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc
2015-12-10 13:07:33 +01:00
Carles Fernandez
7b0285ba60 initializing members (defects detected by coverity scan) 2015-12-02 23:44:07 +01:00
Javier Arribas
424e7abe68 Migrating cuda tracking internal DLL/PLL vars from float to double 2015-12-02 19:00:29 +01:00
Carles Fernandez
45195917c1 fixing some gnuradio-related warnings reported by gcc, so others can be spotted easier 2015-12-02 18:25:06 +01:00
Carles Fernandez
4e5abdf4f2 fixing parallel building if glog and gflags were built locally 2015-11-30 19:11:49 +01:00
Carles Fernandez
3c21a1853d fixing building if glog and gflags were built locally 2015-11-30 19:02:56 +01:00
Carles Fernandez
3a56e09772 fixes from wrong merge 2015-11-30 14:39:29 +01:00
Carles Fernandez
6f87e3fc17 fixing some compilation errors 2015-11-30 14:16:41 +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
0450e174a6 fixing wrong merge 2015-11-30 10:46:07 +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
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