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