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
Carles Fernandez
8d424a13b6
Replace boost::filesystem by std::experimental::filesystem when the later is available
2019-06-12 20:39:29 +02:00
Carles Fernandez
ca6b4b545b
Replace Boost::filesystem by std::filesystem if C++17 support is available
2019-06-10 21:41:13 +02:00
Carles Fernandez
307373e362
Avoid unnecessary copy of channel_fsm
2019-04-22 13:03:01 +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
7a06434928
removed unnecessary function in fpga_acquisition class
2019-04-12 15:16:31 +02:00
Javier Arribas
a79280d029
FPGA compilation error fix
2019-04-09 20:01:30 +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
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
4164d28abf
solved a bug: the acquisition device driver was not properly closed if double acquisition was enabled and the second acquisition was not successful.
2019-03-27 12:35:36 +01:00
Marc Majoral
47b405f92d
commented out debug messages that increase the time between accquisition and tracking
2019-03-27 11:57:31 +01:00
Marc Majoral
63cee0e63b
In order to reduce the CPU workload, the FPGA acquisition does not close and open the device driver in between the first and the second acquisition anymore.
2019-03-26 16:35:19 +01:00
Marc Majoral
cbc8131677
optimized the computation of FPGA acquisition doppler shift and dopper step registers
...
removed unnecessary function call
2019-03-26 16:22:49 +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
88b60aa6b1
Remove unused includes
2019-03-20 18:08:39 +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
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
dd7a52c93b
Fix headers
2019-03-06 21:54:39 +01:00
Carles Fernandez
9ce827437c
Improve includes (IWYU)
2019-03-06 16:10:18 +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
Marc Majoral
5a2dc274cf
but solved: double acquisition was using uint32_t for the initial doppler estimation. Therefore when the first estimated doppler was negative it was reset to zero.
2019-03-01 20:37:14 +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
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
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
Carles Fernandez
31383258b0
clang-tidy: apply checks
2019-02-12 15:56:18 +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
0c4b68c92d
clang-tidy: apply performance-move-const-arg check
...
See https://clang.llvm.org/extra/clang-tidy/checks/performance-move-const-arg.html
2019-02-12 02:07:06 +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
6abebac5eb
Make use of cstdint type names
2019-02-11 17:51:20 +01:00
Carles Fernandez
b9c115bdf8
clang-tidy: apply modernize-use-using check
2019-02-11 13:13:06 +01:00
Carles Fernandez
4b2b205e21
Avoid throwing exceptions from destructors
...
Detected by clang-tidy check bugprone-exception-escape
2019-02-10 21:55:51 +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
a63d7834f4
Remove unused include
2019-02-10 00:12:19 +01:00
Carles Fernandez
e5b7eaa366
Reorder static dependencies
2019-02-07 23:07:24 +01: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
f127729eb0
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga
2019-01-25 18:02:07 +01:00
Carles Fernandez
f351615ef9
Apply clang-tidy fix modernize-use-bool-literals
2018-12-11 12:08:54 +01:00
Carles Fernandez
e2582586b9
Apply fixes by clang-tidy
2018-12-11 02:22:33 +01:00
Carles Fernandez
d920aa4d92
Apply fixes by clang-tidy
2018-12-11 01:56:25 +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
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
Carles Fernandez
1743a773b5
Improve performance by using const and std::move() to avoid unnecessary copies
2018-12-03 19:01:47 +01:00
Carles Fernandez
2709dc5ec7
clang-tidy: apply performance-faster-string-find (see https://clang.llvm.org/extra/clang-tidy/checks/performance-faster-string-find.html )
2018-12-03 18:17:21 +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
0a46cb1fe1
Use nullptr
2018-12-03 10:05:47 +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
f7050766bc
re-enabled the possibility to run the FPGA tracking pull-in tests and observables tests running the doppler wipeoff in the HW. The FPGA now uses the same block of received samples to test all the doppler shifts.
2018-11-16 18:28:02 +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
047807ba0c
solved a bug that caused the tracking pull-in test in the FPGA not to work when using the downsampling filter in the acquisition.
2018-11-08 19:19:39 +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
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
1269be3a72
Allow to save Acq dump anywhere
2018-10-30 12:04:59 +01: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
Marc Majoral
6c56107664
removed some unnecessary debug messages
...
updated the Hybrid Observables test for the FPGA to instantiate the FPGA sample counter instead of the SW sample counter.
2018-10-08 18:09:25 +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
df3caf5c2b
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga
2018-09-18 11:43:19 +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
Carles Fernandez
cc3ead3ea2
Reserve memory only one if acquisition init is called multiple times
2018-09-17 11:30:42 +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
2b15343a6a
started tracking pull-in test implementation for the FPGA
2018-08-29 18:20:41 +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
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
Carles Fernandez
f6af31b81f
Add more extensive use of cstdint typenames
2018-08-11 11:44:23 +02:00
Carles Fernandez
4404516289
Add more extensive use of cstdint typenames
2018-08-11 11:42:07 +02:00
Carles Fernandez
6b1611b3a9
Replace unsigned long int by uint64_t and long int by int64_t. Fixes #199
2018-08-10 20:34:03 +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
Carles Fernandez
2cc2e93d10
Fix make_two_steps option
2018-08-09 12:47:20 +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
69803b55da
Remove stream_to_vector in generic acquisition block
2018-08-08 15:02:29 +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
Carles Fernandez
5a908fcf7d
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into glamountain-kf
2018-07-20 12:59:46 +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
0352108a79
Accept non-integer number of samples per code period
2018-07-13 14:23:14 +02:00
Carles Fernandez
92a6676b9e
Enable second refinement stage in a thinner grid for coherent and/or non-coherent acquisitions
2018-07-13 11:50:31 +02:00
Carles Fernandez
1b7b2da603
Reset grid after successful acquisition or reaching max number of dwells
2018-07-12 20:32:05 +02:00
Carles Fernandez
9881857fa5
Fix Acquisition for L2C and E1B
2018-07-11 14:51:34 +02:00
Carles Fernandez
d9b9df3718
Fix warning, improve code consistency
2018-07-10 17:43:05 +02:00
Carles Fernandez
85f70fe1a3
Fix coherent acquisition
2018-07-10 16:25:16 +02:00
Carles Fernandez
394f6088aa
Add work on noncoherent acquisition
2018-07-10 08:47:04 +02:00
Carles Fernandez
e1c26ec858
Add work on noncoherent acquisition
2018-07-10 07:48:08 +02:00
Carles Fernandez
dad0ba32ad
Add work on noncoherent acquisition
2018-07-10 07:45:49 +02:00
Carles Fernandez
6b67037fed
Add first-to-second peak statistic
2018-07-09 17:56:47 +02:00
Carles Fernandez
d76dab6248
Implement non-coherent acquisition
2018-07-08 13:26:30 +02:00
Javier Arribas
89c00560f2
Fix Acquisition fine Doppler implementation
2018-07-07 15:39:09 +02:00
Carles Fernandez
5ef6157fc1
Store acquisition results only when there is a decision
2018-07-05 21:31:38 +02:00
Javier Arribas
6055200440
Code cleaning
2018-07-05 20:26:37 +02:00
Javier Arribas
d9f6d41eed
Fix crash of PCPS acquisition fine doppler on some systems
2018-07-05 20:19:29 +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
e454dc7e14
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into kf
2018-07-04 13:09:28 +02:00
Gerald LaMountain
d565d65521
Update KF tracking to use acquisition doppler bin size for initial doppler state covariance
2018-07-03 13:31:53 -04: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
Javier Arribas
b0eb9f3aac
Adding a parameter to allow the acquisition engine to block the samples flow in stanby mode, very useful in unit testing (disabled by default)
2018-06-28 17:39:37 +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
cef26aa89b
Fix annotation of acq result in dump file
2018-06-22 12:30:30 +02:00
Carles Fernandez
020603c3b8
Add more info in acquisition dumps
2018-06-21 12:23:10 +02:00
Carles Fernandez
47c9ad0160
Save results for all executions, not just the last one
2018-06-21 08:05:33 +02:00
Carles Fernandez
c0337528f5
Store results also when using the refinement stage
2018-06-20 20:48:43 +02:00
Carles Fernandez
f133392a8c
Fix bug in matio usage
2018-06-20 20:16:19 +02:00
Carles Fernandez
423176de7b
Replace acq configuration struct by a class
2018-06-19 12:59:54 +02:00
Carles Fernandez
ebd8b46e51
Remove if parameter from Acquisition and Tracking blocks
2018-06-06 17:25:03 +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
Carles Fernandez
7754fc66a6
Code cleaning
2018-05-09 13:09:26 +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
0494d9b5a8
Avoid claah between volk and volk_gnsssdr defines
2018-04-30 20:58:53 +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
4433c0c6be
Minor code cleaning.
2018-04-30 11:59:56 +02:00
Carles Fernandez
a2eb5d5344
Improve readability, reorder includes
2018-04-29 13:26:21 +02:00
Carles Fernandez
01429132bd
Avoid clash of redefined macros with Volk
2018-04-29 02:51:50 +02:00