1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-09-30 07:50:51 +00:00
Commit Graph

199 Commits

Author SHA1 Message Date
Carles Fernandez
bd81330201
Apply code formatting 2018-04-30 19:53:20 +02:00
Carles Fernandez
6d6b583169
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into mmajoral-fpga 2018-04-30 19:23:35 +02:00
mmajoral
6a3770c762 - set output vectors is only done in the class constructor, no need to do it continuously
- no need to multiply by two the results of the multicorrelator HW accelerators
2018-04-19 12:09:08 +02:00
Carles Fernandez
c175ebf4dd Minor fixes 2018-04-10 19:54:59 +02:00
Carles Fernandez
80de8a9770 Fix C/N0 estimation 2018-04-09 23:10:50 +02:00
Carles Fernandez
0dac9489d5 Improve C/N0 estimation 2018-04-09 21:09:25 +02:00
Javier Arribas
8e59a42ae2 Merge Next with FPGA. Adding software-defined emulation of the sample counter 2018-04-06 17:03:20 +02:00
mmajoral
e1635a735d Added the class switch_FPGA, which controls the switch in the FPGA that connects the analog frontend and the DMA to the queues of the HW accelerators.
Removed some unused variables in the tracking.
2018-04-05 15:05:46 +02:00
Carles Fernandez
1eede79e7f Integrate unified block for DLL/PLL Tracking 2018-03-29 12:54:03 +02:00
Carles Fernandez
0400034d14 Fix typos detected by codespell 2018-03-25 19:47:28 +02:00
Antonio Ramos
bdce8b6a66 Add float code generation in some signals 2018-03-16 11:43:33 +01:00
Antonio Ramos
74e8af01f9 Minor changes 2018-03-12 18:06:48 +01:00
Javier Arribas
7c406bb6eb Merging fpga with next 2018-03-05 11:03:59 +01:00
Carles Fernandez
07b25ebb06 Apply clang-format to the whole source tree 2018-03-04 02:04:27 +01:00
Carles Fernandez
34f24562cf Apply automated code formatting
Documented at .clang-format
See http://clang.llvm.org/docs/ClangFormat.html and http://clang.llvm.org/docs/ClangFormatStyleOptions.html
2018-03-03 02:03:39 +01:00
Javier Arribas
c2fc4b9854 Updating GPS L1 FPGA tracking adapters 2018-03-02 17:40:13 +01:00
Carles Fernandez
9d23915fee Fix make check in Ubuntu 16.04 2018-03-01 15:05:04 +01:00
Carles Fernandez
658e677fc3 Reorder includes: local headers first, then 3rd-party library headers, and finally standard headers 2018-02-26 03:15:53 +01:00
Cillian O'Driscoll
e87522880e Added ability to generate real valued codes
Only done for GPS L1 C/A and Galileo E1 OS for now. Also added a
cpu_multicorrelator_real_codes class that performs code correlation
using real-valued local codes
2017-09-11 15:21:05 +01:00
Carles Fernandez
eecfd10875 Replace C-style casts by C++ casts 2017-08-19 20:05:52 +02:00
Carles Fernandez
64ab909a0d Replace C-style casts by C++ casts 2017-08-19 12:10:47 +02:00
Carles Fernandez
61f8df3586 Replace some C-style cast by static_cast<>()
See https://stackoverflow.com/questions/1609163/what-is-the-difference-between-static-cast-and-c-style-casting
2017-08-18 12:45:47 +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
mmajoral
9a7bd7ffb4 adopted code style + did some code refactoring 2017-06-08 17:29:45 +02:00
mmajoral
75056ba8af removed non used variable 2017-05-24 10:40:00 +02:00
mmajoral
90ac5938dc all the class elements are initialized in the constructor 2017-05-24 10:03:58 +02:00
mmajoral
0966ea9dca code refactoring 2017-05-23 18:12:22 +02:00
mmajoral
cbe20c0920 refactoring code 2017-05-18 17:10:28 +02:00
mmajoral
de2043ca00 cleaned the acquisition code that runs in the Zynq SoC, cleaned some tracking files that run in the Zynq SoC as well. 2017-05-08 17:03:27 +02:00
Carles Fernandez
ef5cb645a7 Code cleaning: remove tabulators, remove multiple blank lines 2017-03-13 20:54:25 +01:00
mmajoral
c6eda22bab 1 - Check for any exception in tracking_dump_reader.cc and tracking_true_obs_reader.cc when manipulating files, not just a specific exception, for compatibility with the Linux OS running in the Zynq board. 2 - gps_l1_ca_dll_pll_tracking_test.cc uses the c_aid_tracking class instead of the tracking one. 3 - Implemented the code that runs the unit test of the GPS tracking algorithm using the HW accelerator in the FPGA 2017-03-13 09:59:16 +01:00
mmajoral
d22f4f5f2b Started implementing the code that uses the FPGA HW accelerators and the unit tests. For now the code contains a cloned version of the tracking tests using short complex data types plus a few new class variable definitions 2017-02-13 17:20:49 +01:00
Carles Fernandez
3abe944877 Fix 16-bit complex resampler 2016-08-15 12:03:15 +02:00
Javier
6cdca3b269 cuda multicorrelator bug correction 2016-06-17 17:35:19 +02:00
Javier Arribas
c8d7a607f8 Adding CPU and GPU multicorrelators unit tests 2016-06-17 12:48:31 +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
831cc75153 Remove tabs from the source code 2016-05-02 23:46:30 +02:00
Carles Fernandez
25e5c744d7 More consistent naming
now volk_gnsssdr_16ic_xn_resampler_16ic implements the same resampler
than volk_gnsssdr_32fc_xn_resampler_32fc. The old one, which is faster
in SSE implementations at the expense of some constraints on the inputs
(to be documented), is now named
volk_gnsssdr_16ic_xn_resampler_fast_16ic
2016-04-28 20:12:27 +02:00
Javier Arribas
6a3258a73f Bug fix in cpu_multicorrelator 2016-04-07 12:02:25 +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
Javier Arribas
eac888067f 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:57:44 +02:00
Carles Fernandez
60cc057eb6 Fix defects detected by Coverity scan 2016-03-30 23:49:53 +02:00
Carles Fernandez
9eb175fb0e Adding new resampler kernel and integrating it in the multicorrelator 2016-03-30 21:33:43 +02:00
Javier Arribas
b2034896e1 Merge branch next_gps_20ms_corr with next. Removing obsolete code and code cleaning 2016-03-30 15:03:25 +02:00
Carles Fernandez
1b9516fa8b Integrating the new volk kernel in the multiple correlator (32 bits)
and some cleaning
2016-03-28 16:35:55 +02:00
Javier Arribas
2f61ad7c64 Added configuration option to customize the extension of the GPS L1 CA correlation length after bit synchronization (options are: [1,2,4,5,10,20] ms). Increasing resolution in CN0 estimator internal variables. 2016-03-16 17:32:20 +01:00
Javier Arribas
6e076e8143 Fixing bugs in extended correlator for GPS L1 2016-03-11 18:32:56 +01:00
Javier Arribas
9bf4710679 Added a new volk_gnsssdr kernel that integrates both the phase rotator
and n dot_product kernels. Enabled in cpu_multicorrelator_16sc
2016-02-09 11:49:18 +01:00
Carles Fernandez
b270d1ca61 remove old code and unrequired includes 2016-01-27 21:09:23 +01:00
Carles Fernandez
5d207ffcbc integrate new volk_gnsssdr kernel (16ic rotator)
Kernel still under development, will use generic impl by now
2016-01-27 20:16:51 +01:00
Carles Fernandez
7e52e3cf5b fixes parallel building when volk_gnsssdr_module is already installed 2016-01-19 19:43:09 +01:00
Carles Fernandez
d30a24a48c Fixing parallel building 2016-01-19 19:34:23 +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
ae2b594c3b Moving two kernels to volk_gnsssdr. Still no testing 2016-01-13 19:38:07 +01:00
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
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
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
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
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
e6cf773a2b removing tabs and tailing whitespaces 2015-11-27 17:37:21 +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
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
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
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
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
Carles Fernandez
9d2e22ea21 removing unused code, code cleaning 2015-05-29 19:10:28 +02:00
Carles Fernandez
79192a0bbd fixing coverity issues 2015-05-13 23:50:21 +02: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