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

388 Commits

Author SHA1 Message Date
Marc Majoral
c8ccd5ef91 Merge branch 'next' of https://github.com/mmajoral/gnss-sdr into fpga_extended_coherent_integration 2019-07-04 12:55:36 +02:00
Javier Arribas
cf967be252 Consolidating unified dll pll veml tracking to synchronize symbols for GPS L1, L5, Galileo E1, E5 and Beidou B1, B3. Beidou bug fixes in acquisition. Adapting all telemetry decoders to use 1 sample per symbol 2019-07-03 18:57:26 +02:00
Carles Fernandez
018cde8953
Write public interface first, then private members in class definitions 2019-07-01 23:44:42 +02:00
Marc Majoral
2982961e49 currently making changes to be able to extend the FPGA coherent integration beyond 20 ms for GPS L1, 1 ms for Galileo E1, 10 ms for GPS L5 and 20 ms for Galileo E5a using SW. 2019-06-28 10:54:19 +02:00
Carles Fernandez
0e5211dbf0
Modern CUDA usage 2019-06-24 20:02:19 +02:00
Marc Majoral
05d006d1f9 Merge branch 'next' of https://github.com/mmajoral/gnss-sdr into fpga_extended_coherent_integration 2019-06-18 18:25:24 +02:00
Marc Majoral
33d1115246 added support for extended coherent integration in the FPGA. The code still needs to be optimized and cleaned. 2019-06-18 18:22:01 +02:00
Javier Arribas
47e6e173cb Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into tracking_debug 2019-06-17 09:53:14 +02:00
Carles Fernandez
16f7c4b889
Pass vectors and matrices by reference, rename classes to CamelCase style 2019-06-16 14:54:41 +02:00
Carles Fernandez
7467f94164
Relax Armadillo version for nonlinear filters 2019-06-15 10:54:49 +02:00
Carles Fernandez
1d80f1ba9b
Fix building if Armadillo < 9.400 2019-06-14 18:22:07 +02:00
Javier Arribas
88f78a107c Improving unified tracking. Added Doppler frequency correction for false PLL lock 2019-06-14 12:52:46 +02:00
Javier Arribas
afc2a98089 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into tracking_debug 2019-06-14 12:39:25 +02:00
Carles Fernandez
7c23fb35b6
Apply clang-format 2019-06-14 10:21:26 +02:00
Gerald LaMountain
c1f4c2aef3 Merge branch 'next' into kf19-next 2019-06-13 15:47:54 -04:00
Gerald LaMountain
0e68befe7c Add unscented filter to nonlinear_filtering library and add associated unit test 2019-06-13 15:42:52 -04:00
Gerald LaMountain
49a8f9a22a Rename cubature_filter library to nonlinear_filtering 2019-06-13 15:41:56 -04:00
Javier Arribas
5a43e757dd Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into tracking_debug 2019-06-13 17:59:58 +02:00
Carles Fernandez
dd2198fd00 Apply code formatting 2019-06-13 17:37:32 +02:00
Gerald LaMountain
83d77fabb0 Update cubature filter library to align with coding conventions 2019-06-13 11:07:10 -04:00
Gerald LaMountain
c567be407c Merge branch 'next' into kf19-next 2019-06-12 14:52:44 -04:00
Gerald LaMountain
6f5bca8188 Add cubature filter library to tracking and associated unit test to tests 2019-06-12 14:51:19 -04:00
Javier Arribas
559080b651 Improving tracking stability of carrier lock detector 2019-06-11 20:20:23 +02:00
Carles Fernandez
59494034d8
Better fix for Boost Asio and string_view issue in macOS 2019-05-26 02:09:53 +02:00
Carles Fernandez
d13e00ba50 Fix documentation 2019-05-22 13:24:41 +02:00
Carles Fernandez
5c9bb66379 Revert "Adding missing factor in CN0 estimator"
This reverts commit 8b77576166.
2019-05-22 13:23:21 +02:00
Javier Arribas
8b77576166 Adding missing factor in CN0 estimator 2019-05-21 12:10:22 +02:00
Gerald LaMountain
dddf6dedb3 Add refs to tracking lib for bayesian estimation 2019-05-20 20:42:41 +02:00
Gerald LaMountain
8cc141341b Add tracking lib for cubature kalman filter 2019-05-20 12:47:42 -04:00
Gerald LaMountain
d4d849c83d Add refs to tracking lib for bayesian estimation 2019-05-20 12:42:43 -04:00
Carles Fernandez
a1f77607c3
Fix building in some macOS configurations 2019-05-16 20:49:10 +02:00
Javier Arribas
be5ffe6b67 Implementation of Differential Arctangent Discriminator for FLL 2019-05-15 17:38:45 +02:00
Marc Majoral
e1d01d3b97 Re-enable uio interrupts manually + do not enable interrupt generation at reset. 2019-05-13 16:30:01 +02:00
Marc Majoral
585ecf2a84 removed the activation of the flag that causes the tracking HW accelerators to trigger an interrupt upon reset. 2019-05-13 16:30:01 +02:00
Carles Fernandez
6a6ec19b63
Fix building with Boost 1.65.1 (Ubuntu 18.04) 2019-05-08 21:35:15 +02:00
Carles Fernandez
a8bcc77bfc Add blank line 2019-05-08 19:31:13 +02:00
Carles Fernandez
5563e609ec Fix identification of Boost version 2019-05-08 19:28:53 +02:00
Carles Fernandez
214c9d5de0 Fix building for Boost < 1.66 2019-05-08 16:15:59 +02:00
Carles Fernandez
40f0a93695 Replace boost::asio::io_service (deprecated since Boost 1.66) by boost::asio::io_context 2019-05-08 15:23:55 +02:00
Carles Fernandez
cd0e7adaf4
Correct comments. Fixes: #269 2019-05-01 14:44:12 +02:00
Carles Fernandez
692cbf3130
Do not use std::cbegin, not available in old versions of gcc 2019-04-27 18:39:20 +02:00
Carles Fernandez
3602f9772c
Use constant iterators 2019-04-27 13:34:21 +02:00
Carles Fernandez
9d36199901 Trim CN0 smoother parameters. Add it to the FPGA block 2019-04-25 15:30:11 +02:00
Carles Fernandez
42c0544c4c Accelerate CN0 estimation 2019-04-25 14:58:30 +02:00
Carles Fernandez
50d4db9c05 Add a simple CN0 smoother 2019-04-25 08:50:21 +02:00
Marc Majoral
9f80eaf0ff code cleanup 2019-04-12 11:36:30 +02:00
Marc Majoral
91f509abf9 write the code phase rate and the nco phase rate parameters in the FPGA 2019-04-10 11:31:34 +02:00
Marc Majoral
19184da0f9 The FPGA multicorrelator interrupt is enabled only once when a satellite is assigned to a particular channel. Until now the interrupt was automatically disabled by the interrupt handler of the uio driver and the multicorrelator code had to re-enable it every time. This change saves CUP cycles for real-time operation. It requires that the code that disables the interrupt in the uio driver interrupt handler is commented out. 2019-04-09 16:03:31 +02:00
Marc Majoral
6979e561b8 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2019-04-04 19:55:56 +02:00
Marc Majoral
ff024e7292 cleaned unused code and added some comments. 2019-04-04 19:55:02 +02:00
Javier Arribas
bd22ef5153 Improving DLL discriminators implementation 2019-04-03 15:25:40 +02:00
Marc Majoral
553946fb65 moved the setting of the flags for the writing of the local code to the initialization, to save cpu cycles during tracking. 2019-04-02 20:36:48 +02:00
Marc Majoral
a6110eb334 moved the calculations related to the local code that is specific to the FPGA to the initialisation phase of the tracking modules to save clock cycles during real-time tracking. 2019-04-02 18:46:37 +02:00
Marc Majoral
edac9923ae updated the tracking code loop filter, the carrier filter and the d_Prompt circular buffer. 2019-04-01 12:38:45 +02:00
Marc Majoral
fb38247273 updated the tracking adapters and added new FPGA tracking correlator parameters according to what is implemented in the SW tracking correlator. 2019-03-28 12:30:57 +01:00
Marc Majoral
905a85670c currently optimizing the FPGA-related code 2019-03-25 19:45:54 +01:00
Carles Fernandez
10d73da839
Fix typo 2019-03-19 20:39:23 +01:00
Carles Fernandez
c8d27eb97c
Move contructor to the beginning of the file 2019-03-19 20:37:42 +01:00
Carles Fernandez
296d6d66c9
Move constants to implementation, fix typos in comments 2019-03-19 20:16:59 +01:00
Carles Fernandez
4bc4fb9988
Remove misleading comment 2019-03-19 19:53:51 +01:00
Javier Arribas
48180c967a
Replacing PLL/DLL fixed order loop filters with DLL/PLL/FLL order-configurable filters. Adding PLL false lock protection by using telemetry validation flag 2019-03-18 19:35:40 +01:00
Carles Fernandez
08ce4cdd75
Sort includes, fix coverity scan defect 2019-03-03 00:15:20 +01:00
Carles Fernandez
fcfe63ba08
Fix defects detected by coverity scan 2019-03-01 20:49:45 +01:00
Carles Fernandez
e43b8f5284
Fix defects detected by Coverity Scan 2019-03-01 15:29:43 +01:00
Carles Fernandez
df0a77ee0d
Fix warnings
more protection on read/write failures and some code cleaning
2019-03-01 10:11:36 +01:00
Carles Fernandez
7c71ed9404
Merge branch 'fpga' of https://github.com/gnss-sdr/gnss-sdr into merge-fpga
Applied checks and formatting
2019-02-28 21:45:30 +01:00
Marc Majoral
c32e0b427a coding style + removed some unnecessary memory arrays in the FPGA E5A tracking adapter class. 2019-02-27 17:27:31 +01:00
Marc Majoral
a03ed571e6 replaced int and unsigned int by int32_t and uint32_t
removed some unused variables
2019-02-27 14:37:07 +01:00
Marc Majoral
8d770d9be9 more code cleaning
removed some non used variables
2019-02-27 13:30:09 +01:00
Marc Majoral
cf0a37300a Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2019-02-25 19:21:00 +01:00
Carles Fernandez
62a7e54359
Introduce readability-identifier-naming check
This commit enforces naming style for Classes and global constants:
Camel_Snake_Case for Classes
UPPER_CASE for global constants
CamelCase for abstract classes
2019-02-22 10:47:24 +01:00
Carles Fernandez
a734411b86
clang-tidy: apply performance-type-promotion-in-math-fn check 2019-02-21 12:46:01 +01:00
Carles Fernandez
9bc771bed6
Deploy a new option -DENABLE_CLANG_TIDY to integrate clang-tidy checks and fixes into the compilation process, if found. It defaults to OFF 2019-02-21 09:59:06 +01:00
Carles Fernandez
88147d4956
Fix build with Clang (not AppleClang) on macOS 2019-02-20 22:21:53 +01:00
Carles Fernandez
75bd492d96
Change CMake target names to more meaningful ones, reflecting the code tree 2019-02-10 18:34:28 +01:00
Carles Fernandez
708b288e61
Clean CMake scripts 2019-02-04 22:44:45 +01:00
Carles Fernandez
b58b07fe01
Update and clean CMake scripts 2019-02-04 20:29:42 +01:00
Carles Fernandez
8ae72fe458
Update to modern CMake usage 2019-02-03 19:24:44 +01:00
Marc Majoral
f127729eb0 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2019-01-25 18:02:07 +01:00
Marc Majoral
7da82dbaea updated the FPGA tracking gnuradioblock according to the latest changes in the SW tracking gnuradioblock. 2018-12-14 18:15:21 +01:00
Marc Majoral
ae61646270 Solved two bugs:
- a minor bug in the E5A fpga acquisition adapter module: a config parameter was not correctly read.
- a bug in the tracking fpga multicorrelator module: if pilot tracking was enabled then the results of the pilot correlator were not correctly read when using the multicorrelator 3-1 HW Accelerator in the FPGA (used for GPS L5 and Galileo E5A).
2018-12-11 14:44:42 +01:00
Carles Fernandez
54237770a6
Apply fixes by clang-tidy 2018-12-10 22:59:10 +01:00
Carles Fernandez
3dce8934fd
Apply fixes by clang-tidy 2018-12-10 19:05:12 +01:00
Carles Fernandez
5f79053d65
Sort includes automatically with clang-format
Order:
1.- Main header
2.- Local headers
3.- Third-party library headers
4.- System headers

each category sorted lexicographically
2018-12-09 22:00:09 +01:00
Carles Fernandez
17260bbcea
Miscelaneous code improvements by clang-tidy 2018-12-08 18:49:31 +01:00
Carles Fernandez
fdc12d94b8
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next 2018-12-03 22:23:08 +01:00
Carles Fernandez
578d96159d
Use emplace back when possible 2018-12-03 22:20:40 +01:00
Carles Fernandez
327fec627c clang-tidy: apply readability-else-after-return fix (see https://clang.llvm.org/extra/clang-tidy/checks/readability-else-after-return.html) 2018-12-03 22:08:19 +01:00
Carles Fernandez
8319c2d33a
Fix building 2018-12-03 11:19:24 +01:00
Carles Fernandez
96f34cabb1
clang-tidy: apply modernize-use-equals-default fix. See https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html 2018-12-03 11:12:10 +01:00
Marc Majoral
bd90563925 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2018-11-30 11:10:38 +01:00
Marc Majoral
f48a91c413 Galileo E5a is now debugged and working. Acquisition is using interrupts again. Each acquisition process opens and closes the acquisition device when an acquisition is done instead of having the device opened all the time. In this way the acquisition interrupt should only be received by the process that is using the interrupt at that time. 2018-11-30 11:07:01 +01:00
Carles Fernandez
87d1413447
Make cmakelint happier 2018-11-24 18:40:34 +01:00
Carles Fernandez
b0ba246934
Apply some style rules to CMake scripts 2018-11-22 00:35:21 +01:00
Marc Majoral
41faa311f7 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2018-11-05 18:29:35 +01:00
Marc Majoral
392f92839f updated L5 and E5a adapters for debugging
corrected minor issues
2018-11-05 17:01:29 +01:00
Carles Fernandez
715f32f0ee Improve tracking dump saving
Dump files can now be saved anywhere, including absolute paths. If directories do not exist, they will be created.

Added new dump_mat to deactivate generation of .mat files
2018-10-30 00:47:12 +01:00
Marc Majoral
17ddab1c3e Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2018-10-17 15:49:58 +02:00
Carles Fernandez
8e5a24b32d
Merge branch 'trk_hi_dyn' of https://github.com/antonioramosdet/gnss-sdr into antonioramosdet-trk_hi_dyn 2018-10-10 19:34:51 +02:00
Marc Majoral
8710ba1cf7 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2018-10-08 19:47:39 +02:00
Carles Fernandez
78c0b76cb9
Avoid use of GLOB for source and header files 2018-10-04 22:35:44 +02:00
Marc Majoral
df3caf5c2b Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2018-09-18 11:43:19 +02:00
Antonio Ramos
4375d0a051 Clean code 2018-09-17 19:19:19 +02:00
Antonio Ramos
a465689f20 Change rem_carrier_phase_rad computation 2018-09-13 19:18:19 +02:00
Marc Majoral
5b9b63cc77 implemented tracking pull-in tests for the FPGA
solved a bug in which the SW was using the doppler shift index reported by the HW acquisition accelerator plus one, instead of using the doppler shift index as such.
2018-09-12 16:02:23 +02:00
Antonio Ramos
0031aaa973 Set high_dynamics to false by default 2018-09-11 20:52:16 +02:00
Antonio Ramos
25d04a94f2 Update rem_carrier_phase and minor changes 2018-09-09 18:19:43 +02:00
Antonio Ramos
b66540b776 Add moving average smoother to carrier phase rate 2018-09-07 19:18:03 +02:00
Antonio Ramos
47e5ef7f39 Improve generic kernel 2018-09-06 17:46:55 +02:00
Carles Fernandez
bbcc0bee36
Rename volk_gnsssdr_32f_xn_fast_resampler_32f_xn to volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn 2018-08-23 19:52:01 +02:00
Carles Fernandez
41527fb921
Rename volk_gnsssdr_32f_xn_fast_resampler_32f_xn to volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xnn 2018-08-23 19:39:41 +02:00
Carles Fernandez
d364258b6e
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into doppler_rate 2018-08-22 17:30:21 +02:00
Carles Fernandez
0c26a95af4 Enhance const correctness, minor cosmetics 2018-08-21 15:20:48 +02:00
Carles Fernandez
388d1623ed Pass parameters by reference instead of by value (improves effieciency) 2018-08-21 14:57:22 +02:00
Carles Fernandez
a833abbb8a Merge branch 'kf' of https://github.com/gnss-sdr/gnss-sdr into next 2018-08-21 11:50:39 +02:00
Carles Fernandez
2b0e0f73ff
Add work on Doppler rate 2018-08-15 13:38:49 +02:00
Gerald LaMountain
e42467a068 Updates to integration of bayesian_estimation library into GPS L1 kalman tracking block 2018-08-13 21:18:01 -04:00
Carles Fernandez
4a2ba1cff0
Improve handling of data types 2018-08-13 00:54:23 +02:00
Carles Fernandez
05a1806c8f
Merge branch 'fpga' of https://github.com/mmajoral/gnss-sdr into merge-marc 2018-08-11 12:56:52 +02:00
Marc Majoral
f14ad930d5 declared the 64-bit variables as long long ints instead of long ints in the FPGA related files.
Variables declared as long ints are interpreted as 32-bit variables in the ARM architecture and 64-bit variables in the X86-64 architecture.
2018-08-10 16:42:53 +02:00
Marc Majoral
b1524a3afe implemented 64-bit global sample counter
started programming the FPGA tracking unit tests
2018-08-10 13:12:06 +02:00
Marc Majoral
ee132f445f Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2018-08-08 14:25:12 +02:00
Carles Fernandez
0b5c827eda
Add Doppler rate in fast_resampler kernel. Still not used 2018-08-08 12:03:58 +02:00
Javier Arribas
19c5220886 Prepare the tracking configuration to allow a specific pull-in loops bandwidth 2018-08-07 20:05:35 +02:00
Marc Majoral
b1a7031e52 solved some bugs in GPS L5
removed check for sign in multicorrelator results: this is not necessary anymore
did some other minor maintenances
2018-08-07 18:56:54 +02:00
Javier Arribas
856eaf1881 Unified tracking algorithm improvement 2018-08-03 12:05:40 +02:00
Javier Arribas
83021ccfff Use by default the new fast local code resampler 2018-08-03 11:40:11 +02:00
Marc Majoral
daedfc3e01 adapted the FPGA tracking class according to the latest changes in the next branch 2018-08-02 17:32:59 +02:00
Marc Majoral
7e246dea29 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2018-08-01 18:59:40 +02:00
Marc Majoral
bb33faea21 improved existing code
started the GPS L2 FPGA class implementation (not finished yet)
implemented the GPS L5 FPGA class (not tested yet)
implemented the Galileo E5 FPGA class (not tested yet)

The code is still "dirty": it is yet to be cleaned of debug comments/code and any possible redundant code and not used variables.
2018-08-01 15:55:40 +02:00
Carles Fernandez
16848069ee
Fix building 2018-07-20 13:19:41 +02:00
Gerald LaMountain
486ac195db Add bayesian_estimation library to tracking/libs which will be used to perform noise adaptation to Kalman filter based tracking 2018-07-09 11:46:34 -04:00
Carles Fernandez
acd662b88f Add file header 2018-06-19 12:57:43 +02:00
Javier Arribas
799fe45830 Migrating DLL/PLL configuration from struct to class and adding tracking quality indicators plot sample MATLAB script 2018-06-19 11:36:15 +02:00
Carles Fernandez
ebd8b46e51 Remove if parameter from Acquisition and Tracking blocks 2018-06-06 17:25:03 +02:00
mmajoral
75cbc3fcdd Added Galileo E1 acquisition + tracking classes that use the generic acquisition and tracking classes for the FPGA HW accelerators (still to be tested). Did some minor code cleaning to the GPS files that use the FPGA HW accelerator. 2018-05-22 12:25:14 +02:00
Carles Fernandez
0d60d97c24
Use https instead of http in links when available
Update copyright year in headers
2018-05-13 22:49:11 +02:00
mmajoral
0b9b9f4c39 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga.
Use a generic tracking radio block class for the tracking code that uses the FPGA HW accelerators.
2018-05-09 11:11:12 +02:00
mmajoral
4fa5648aa4 Currently creating a generic tracking class for the FPGA in the same way as it is done in the SW. 2018-05-03 10:38:21 +02:00
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