Commit Graph

414 Commits

Author SHA1 Message Date
Carles Fernandez be86771ede
Move default destructor to header file, so compiler can make a better job 2019-07-21 19:32:52 +02:00
Marc Majoral 3225d92f1b removed unused variable 2019-07-19 12:24:25 +02:00
Marc Majoral dd996bc2e2 Merge branch 'next' of https://github.com/mmajoral/gnss-sdr into fpga_extended_coherent_integration 2019-07-18 11:35:34 +02:00
Marc Majoral 4c22a1ce1a the tracking module is now sending 1 synchro_data per data symbol. 2019-07-17 18:01:27 +02:00
Carles Fernandez 9572b37da7
Remove uses of bitwise operations on signed integer types
Based in the High Integrity C++ Standard, Section 5.6.1
See https://www.perforce.com/resources/qac/high-integrity-c-coding-standard-expressions

Removed some c arrays by std::array
2019-07-14 23:34:07 +02:00
Carles Fernandez def3a8875a
Misc improvements
Remove cstdio
Remove usage of cstring and memcpy when it is not needed
Mark move cobstructor with noexcept
2019-07-14 02:28:28 +02:00
Carles Fernandez 4adb05570a Fix typos detected by codespell 2019-07-09 11:52:53 +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 2cc06c8b63
Remove delete in FPGA adapters 2019-06-30 12:10:14 +02:00
Carles Fernandez 17b1ef8b98
Do not use deletes. Improve memory management 2019-06-30 04:47:15 +02:00
Carles Fernandez d5e5e5725d
Apply fixes by clang-tidy 2019-06-30 00:01:54 +02:00
Carles Fernandez dd3b2f11db
Fix wrong loop 2019-06-29 21:13:14 +02:00
Carles Fernandez dd53f81b1a
Replace memcpy by copy_n. Avoid pointer arithmetics 2019-06-29 11:58:08 +02:00
Carles Fernandez 751f54990c
Introduce gsl::span. Bound checking at compile time, no overhead at runtime
See https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
2019-06-29 01:28:30 +02:00
Carles Fernandez de79147def
Fix OpenCL test if the OpenCL Platform is not ready 2019-06-24 14:33:08 +02:00
Marc Majoral bf3f66278f closed the acquisition device driver in the proper way + updated fpga block expponent. 2019-04-15 16:39:05 +02:00
Marc Majoral 059fbfedc2 changed default fft/ifft block exp 2019-04-12 15:26:47 +02:00
Marc Majoral 19e46a2ebf Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2019-04-10 19:53:45 +02:00
Javier Arribas 141e101363 Bug fix that restores the acquisition and tracking destructor calls due to circular smart pointer references 2019-04-09 17:39:48 +02:00
Carles Fernandez cc162dac9e
Code cleaning 2019-04-08 11:14:41 +02:00
Marc Majoral 4d530b0ce4 updated fft-ifft ref exponents 2019-04-05 15:59:40 +02:00
Marc Majoral 6696e378c5 updated the reference value for the gain of the fft-ifft 2019-04-05 15:15:02 +02:00
Marc Majoral ff024e7292 cleaned unused code and added some comments. 2019-04-04 19:55:02 +02:00
Marc Majoral eda3f21fb9 added the reading of the high_dyn parameter in the tracking adapter modules + added max_num_acqs parameter for the FPGA acquisition. 2019-04-04 16:10:29 +02:00
Marc Majoral 3249f55029 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2019-03-27 12:38:43 +01:00
Carles Fernandez 77851e5589
BeiDou B3I bug fixes (credits to dmiralles2019) 2019-03-26 22:34:08 +01:00
Marc Majoral 2b46c79ba7 optimized the process of computing and writing the fft of the local code to the acquisition HW accelerator.
The writing of the local code is still performed by processor instructions in a loop.
THe FPGA L2 classes were updated accordingly.
2019-03-26 12:26:08 +01:00
Marc Majoral 905a85670c currently optimizing the FPGA-related code 2019-03-25 19:45:54 +01:00
Marc Majoral 2bae20d2fd Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga
added second acquisition to reduce the time between acquisition and tracking when using the FPGA
moved the process of writing of the tracking local code to the HW accelerator from the start_tracking() function to the set_gnss_synchro() function (this is only applicable for the FPGA case)
there was a bug in the computation of the tracking starting position for the L1/E1 band when using the FPGA, only high sample counter values (>31 bits) were affected, due to a uint64_t*float mult.
2019-03-22 19:03:46 +01:00
Carles Fernandez f3d91bbd38 Remove unused includes 2019-03-20 18:00:37 +01:00
Marc Majoral e6b661494c moved to 16 bits per local code. 2019-03-20 16:59:32 +01:00
Javier Arribas 55b1f316ed Removing gnuradio block inheritance in FPGA acquisition 2019-03-20 16:57:50 +01:00
Marc Majoral 6da82535ba Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2019-03-20 16:35:55 +01:00
Carles Fernandez 8a52c20e28 Add missing override keyword 2019-03-20 15:44:59 +01:00
Javier Arribas 0be8c657de Reducing the latency in the acquisition to tracking transition 2019-03-20 15:13:17 +01:00
Marc Majoral a24d26f427 set the default sampling frequency of the HW source to 12.5 Msps and the default bandpass bandwidth to 12.5 MHz + other minor changes 2019-03-19 10:14:09 +01:00
Marc Majoral bef7e42fb9 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2019-03-18 19:37:19 +01:00
Carles Fernandez 52c69073ac
Apply clang-tidy fixes 2019-03-18 09:10:00 +01:00
Carles Fernandez ed9aaf86ce
Fix building, apply formatting 2019-03-18 08:43:38 +01:00
Damian Miralles dc65760122
bds_b3i: Updating branch with new changes from upstream repo 2019-03-12 10:54:17 -05:00
Damian Miralles 2b4a395dc8 bds_b3i: merging new changes, fixing D2 decoding bug 2019-03-07 09:38:49 -06:00
Carles Fernandez dd7a52c93b
Fix headers 2019-03-06 21:54:39 +01:00
Carles Fernandez 5b8ab9f591 Improve includes (IWYU) 2019-03-06 13:49:14 +01:00
Carles Fernandez e7ea5c1fdd
Remove superfluous 'using google::LogMessage' 2019-03-03 13:39:35 +01:00
Carles Fernandez fcfe63ba08
Fix defects detected by coverity scan 2019-03-01 20:49:45 +01:00
Damian Miralles 9ccb86dac6 Merge branch 'next' into bds_b3i 2019-03-01 13:29:10 -06:00
Damian Miralles 8782fcba69 bds_b3i: merging new changes, fixing small bugs 2019-03-01 13:28:21 -06: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 ea86546d99 implemented double acquisition for the FPGA 2019-02-28 20:49:35 +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 5e22e4c50a cleaned the FPGA acquisition code 2019-02-26 18:28:14 +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 d7d4cd09ae
Fix naming in fgpa and extra unit test implementations 2019-02-22 15:57:15 +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 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
Marc Majoral fd3eb2a80e The termination process is now done correctly when using the FPGA. 2019-02-13 17:48:14 +01:00
Carles Fernandez 111c6291ec Revert "clang-tidy: apply performance-unnecessary-value-param check"
This reverts commit eae967ed1a.
2019-02-12 12:07:40 +01:00
Carles Fernandez eae967ed1a
clang-tidy: apply performance-unnecessary-value-param check
See https://clang.llvm.org/extra/clang-tidy/checks/performance-unnecessary-value-param.html
2019-02-12 01:00:36 +01:00
Carles Fernandez 73b7341904
clang-tidy: apply readability-braces-around-statements plus code formatting
See http://releases.llvm.org/7.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html
Code formatting applied with:
  find ../src/ -iname *.h -o -iname *.cc | xargs clang-format -i
2019-02-11 21:13:02 +01:00
Carles Fernandez 0707963ab5 Use cstdint type names 2019-02-11 17:17:35 +01:00
Carles Fernandez dfc963ad86 clang-tidy: apply readability-else-after-return check
See https://clang.llvm.org/extra/clang-tidy/checks/readability-else-after-return.html
2019-02-11 15:53:50 +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 ce051e040f
Improve target design 2019-02-10 01:13:02 +01:00
Carles Fernandez 60637c6125
Reorder dependencies 2019-02-07 21:31:40 +01:00
Damian Miralles 1b7d4edf51 bds_b31: Getting new changes from upstream 2019-02-05 17:25:16 -06:00
Carles Fernandez 708b288e61
Clean CMake scripts 2019-02-04 22:44:45 +01:00
Carles Fernandez 8ae72fe458
Update to modern CMake usage 2019-02-03 19:24:44 +01:00
Marc Majoral ec80df40dc minor corrections 2019-01-31 15:36:11 +01:00
Marc Majoral bb0fae98c7 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2019-01-30 10:28:52 +01:00
Carles Fernandez c561d7e799
Applying code formatting rules 2019-01-28 02:29:43 +01:00
Carles Fernandez fa19b2e6a4
Fix compilation in Mac OS and crosscompilation.
Formatting rules applied
2019-01-28 01:08:57 +01:00
Damian Miralles e78ba653e6 bds b3i: Adding code to process BeiDou B3I signals
Adds code to perform acq and trk in BeiDou B3I signals. Stages of
telemetry decoding, observables computation and pvt use existing
code on the platform. Some further testing is required
2019-01-25 15:43:00 -06: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
Damian Miralles 42b506d0bb bds b1i: Merging latest changes from upstream/next 2018-12-18 15:55:36 -06: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 d920aa4d92
Apply fixes by clang-tidy 2018-12-11 01:56:25 +01:00
Carles Fernandez 3dce8934fd
Apply fixes by clang-tidy 2018-12-10 19:05:12 +01:00
Carles Fernandez a7b780fddc
Apply fixes by clang-tidy 2018-12-10 18:39:14 +01:00
Carles Fernandez d6f3cd6dd3
Revert "Apply fixes by clang-tidy"
This reverts commit ba23d698bc.
2018-12-10 18:20:45 +01:00
Carles Fernandez ba23d698bc Apply fixes by clang-tidy 2018-12-10 15:15:35 +01:00
Carles Fernandez 5b79f8ac50 Merge branch 'next' into smart_acq_resampler 2018-12-10 14:24:42 +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
Javier Arribas 63b19692e7 Completing the smart acquisition resampler 2018-12-05 16:50:32 +01:00
Marc Majoral e436aadfd9 minor modifications to the Galileo E5a and GPS L5 acquisition adapters. Now the acquisition opens and closes the acquisition HW device every time an acquisition is done, to prevent the acquisition interrupt from interrupting all the acquisition processes at the same time. 2018-12-05 11:23:30 +01:00
Carles Fernandez 7261bec2ad
Miscelaneous code improvements 2018-12-04 13:20:49 +01:00
Carles Fernandez b2659aa076
Merge branch 'next' into smart_acq_resampler 2018-12-04 00:05:04 +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
Javier Arribas 4b80451630 Adding initial functional changes for the smart acquisition resampler 2018-12-03 17:58:18 +01:00
Carles Fernandez 0d408a6024 clang-tidy: apply modernize-use-auto fix (see https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-auto.html) 2018-12-03 16:25:11 +01:00
Carles Fernandez 8eec75c8ae clang-tidy: apply readability-string-compare fix (see https://clang.llvm.org/extra/clang-tidy/checks/readability-string-compare.html) 2018-12-03 12:52:17 +01:00
Carles Fernandez 3bb47ff755
Improve const correctness, fix string comparisons 2018-12-02 05:29:11 +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
Damian Miralles 8db3f21070 bds b11: Get latest changes and add bds functions in rtk module
Merge branch 'next' into bds_b1i. Also fixes multiple bugs with the
addition of bds b1i signals into code. Major changes where fixed and
code to support RINEX and RTCM is needed
2018-11-29 09:56:54 -06: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
Carles Fernandez e94b2f8990
Remove blanks 2018-11-18 21:24:54 +01:00
Marc Majoral 7023e879db adapted the software to a bit size for the local copy of the FFT of the GNSS code to 10 bits per sample.
worked on the observables tests.
2018-11-13 19:51:12 +01:00
Marc Majoral 37c7576e12 removed some unused test functions.
updated FPGA observables test
2018-11-13 17:22:08 +01:00
Marc Majoral f150fe02c7 solved a bug which caused the tracking pull-in test not to work correctly with Galileo E1 when using the downsampling filter in the acquisition. 2018-11-09 20:50:32 +01:00
Marc Majoral 1c80eaa50c corrected a bug in the fpga tracking pull-in test where a parameter was rewritten with an incorrect value
modified the fpga tracking pull-in test to take into account the downsampling factor in the L1/E1 queue
2018-11-07 20:21:05 +01:00
Marc Majoral 0d9b08df70 updated the tracking pull-in test for the FPGA. To be tested. 2018-11-05 19:50:40 +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
Marc Majoral b5409f0860 updated the SW to run the new Acquisition HW accelerator, which compensates the scaling factors of the FFT and the IFFT, and computes the test statistics out of the peak value and the second peak value resulting from the correlation performed by the acquisition process. Updated the GPS L1 and Galileo E1 acquisition adapters. 2018-10-31 18:48:08 +01:00
Carles Fernandez 29b0212c40
Uniformize Acqusition dump basename to ./acquisition_XXX.mat 2018-10-30 21:09:34 +01:00
Javier 5b3eb12998 Implementation of new receiver telecommands standby and coldstart 2018-10-28 11:09:01 +01:00
Damian Miralles e22f8e57c1 beidou b1i: renaming objects of nav decoding 2018-10-22 15:12:50 -05:00
Damian Miralles 8c16d945f8 beidou b1i: Merging new changes and adding bug fixes to code 2018-10-22 14:16:38 -05:00
Marc Majoral 8e6370e133 changed the downsampling factor of the L1 and E1 acquisition from /2 to /4 2018-10-17 15:45:08 +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 2826dd21d3 use of the :2 decimator in the GPS L1/Galileo E1 frequency band
added methods to the L1 and E1 FPGA acquisition classes for the unit tests to be able to control the doppler sweep from the SW instead of the HW. In this way we can produce more detailed results.
2018-10-04 17:49:09 +02:00
Marc Majoral f333c05305 saving temporary changes before merging with usptream next branch
added functions that allow the tests to read the scaling factor used by the FFT and the IFFT during acquisition
2018-09-18 11:36:12 +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
Marc Majoral 57c358d1b1 removed unnecessary printed messages 2018-08-29 18:23:34 +02:00
Marc Majoral 2b15343a6a started tracking pull-in test implementation for the FPGA 2018-08-29 18:20:41 +02:00
Sergi Segura fc98fa6afe cleaning code for gsoc 2018-08-12 23:58:16 +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
Javier Arribas 2517e7bb31 Replacing software sample counter with hardware sample counter if FPGA is enabled. Fix a compilation bug when ENABLE_FPGA is selected 2018-08-10 11:53:40 +02:00
Marc Majoral 557d25d3ea Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga 2018-08-08 18:23:38 +02:00
Carles Fernandez 18173bcbff
Fix warning 2018-08-08 18:20:30 +02:00
Carles Fernandez 69803b55da
Remove stream_to_vector in generic acquisition block 2018-08-08 15:02:29 +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
Javier Arribas 37834c2029 GPS acquisition adapter fix to be coherent with the stream to vector size of acquisition engine 2018-08-07 20:17:54 +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
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
Javier Arribas f9e4bdfa59 Fix stream_to_vector incoherence in pcps acquisition and add support for GPS L2C, L5I, Galileo E1 and E5a in tracking pull-in test 2018-07-19 16:26:51 +02:00
Carles Fernandez ee90b739b5
Add coherent integration for GPS L2C, L5 and Galileo E1 2018-07-15 04:12:20 +02:00
Carles Fernandez 994a4b32d8
Fix Glonass acquisition test 2018-07-13 15:16:48 +02:00
Carles Fernandez 0352108a79
Accept non-integer number of samples per code period 2018-07-13 14:23:14 +02:00
Javier Arribas b779f5cb3d Fix incoherence between the number of samples per code in GPS L2 acquisition 2018-07-13 10:32:24 +02:00
Carles Fernandez 9881857fa5 Fix Acquisition for L2C and E1B 2018-07-11 14:51:34 +02:00
Carles Fernandez 0bc894a91f
Header fix 2018-07-10 18:41:24 +02:00
Carles Fernandez 6b67037fed Add first-to-second peak statistic 2018-07-09 17:56:47 +02:00
Carles Fernandez bad8b25ce7 Fix warning of unused parameter 2018-07-05 21:30:33 +02:00
Carles Fernandez e07578bdb4 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into next 2018-07-04 18:12:00 +02:00
Javier Arribas adcc04c3b6 Fix GPS L1 CA fine Doppler acquisition implementation and migrate the configuration interface 2018-07-04 16:56:47 +02:00
Carles Fernandez 3f0a7ef4fa Extend acquisition performance test to other implementations. set_state(int state) is now amandatory member for acquisition adapters 2018-07-04 13:05:44 +02:00
Carles Fernandez 895f8dc75a
Expose the blocking_on_standby parameter to the documentation. Useful for unit testing 2018-06-29 13:39:17 +02:00
Carles Fernandez 559a9a7c43
Fix problem caused by hdf5 when saving concurrently
Only one acquisition channel info is stored in dump file if dump is activated. New configuration parameter dump_channel, set to 0 by default.
Name of Matlab variable changed from gird to acq_grid to not overlap Matlab command.
2018-06-24 11:05:58 +02:00
Carles Fernandez 423176de7b Replace acq configuration struct by a class 2018-06-19 12:59:54 +02:00
Sergi Segura cd149895f0 first evaluation beidou b1I 2018-06-15 04:19:32 +02:00