1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-07-05 03:13:15 +00:00
Commit Graph

1066 Commits

Author SHA1 Message Date
Carles Fernandez
7c1f5723e6 remove unneeded stores in NEON protokernels 2016-03-27 13:00:04 +02:00
Carles Fernandez
d113835073 adding new kernel: volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn
Including generic, SSE3 (aligned and unaligned), AVX (aligned and
unaligned) and NEON protokernels.
2016-03-27 12:50:53 +02:00
Carles Fernandez
751764343c adding AVX2 protokerns
I haven't found a way to do the rotator part better than with SSE3. Only
the dot product takes real advantage of 256-bit registers. Even tough,
the gain with respect to SSE3 is about 12%.
2016-03-26 01:51:01 +01:00
Javier Arribas
500dc59516 Release candidate of the GPS L1 C/A telemetry decoder supporting variable tracking correlation length 2016-03-22 18:07:12 +01:00
Carles Fernandez
d987a04d42 adding AVX2 protokernels 2016-03-22 18:03:34 +01:00
Carles Fernandez
bd6c028ec4 bug fix
writing to the input pointer was having bad consequences (random fails
in other kernels)
2016-03-22 18:00:56 +01:00
Javier Arribas
0e47d97dec Adding a missing include in gnsssdr volk kernel library (volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn) 2016-03-21 16:07:16 +01:00
Carles Fernandez
b888573c3d Replacing the fxp_nco by the sincos kernel 2016-03-21 01:49:59 +01:00
Carles Fernandez
703de227a2 fix typo 2016-03-21 00:44:09 +01:00
Carles Fernandez
a908804b44 fix phase computation in the tail items of the NEON protokernel 2016-03-21 00:40:36 +01:00
Carles Fernandez
1983562496 The sincos kernel now accepts an initial phase 2016-03-21 00:38:08 +01:00
Carles Fernandez
485a405bab Adding new neon kernel and solving x86 issues
Managing memory with volk_gnsssdr instead of malloc and free. This seems
to solve runtime problems (segmentation faults) in i386 (32 bit)
architectures.
2016-03-20 13:11:53 +01:00
Carles Fernandez
883cf629d1 Adding new NEON protokernel
Try another strategy based on multiply-and-accumulate for the dot
product. In all SIMD protokernels, managing memory with
volk_gnsssdr_malloc and volk_gnsssdr_free instead of calloc and free
2016-03-20 12:23:45 +01:00
Carles Fernandez
9cb43ef84a Adding missing library link 2016-03-20 02:46:15 +01:00
Carles Fernandez
fa292961c1 Fix neon protokernel 2016-03-20 01:50:04 +01:00
Carles Fernandez
9c8fc9436e Adding and integrating sincos kernel 2016-03-20 01:45:01 +01:00
Carles Fernandez
2be266cc71 adding sincos kernel 2016-03-19 21:41:19 +01:00
Carles Fernandez
1703be7612 Removing optim_tracking 2016-03-18 20:28:27 +01:00
Carles Fernandez
c9ff9759cc Fixing some numerical problems 2016-03-18 19:46:18 +01:00
Javier Arribas
083350bd61 Refactoring of GPS L1 CA telemetry decoder. PVT is not yet fully tested 2016-03-18 17:36:29 +01:00
Javier Arribas
840bb1b9a3 Work on the telemetry decoder to support the variable-length correlator in GPS L1 CA tracking 2016-03-17 18:54:41 +01: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
6c2f3d8f43 Bug fixes in GPS CA L1 20 extended correlator 2016-03-15 17:58:58 +01:00
Carles Fernandez
754e4436ee Revert "Experimental extended correlation for GPS L1 CA C_Aid tracking"
This reverts commit d664dc63b3.
2016-03-15 10:01:08 +01:00
Carles Fernandez
2cf1ea85af fix app name in help message 2016-03-13 12:07:40 +01:00
Carles Fernandez
87dc56e147 Using vector multiply-accumulate in NEON kernels
Aprox 10% of improvememnt
2016-03-12 21:47:35 +01:00
Carles Fernandez
f7c1c9ce43 Using multiply-accumulate in NEON 2016-03-12 19:30:00 +01:00
Carles Fernandez
c236c3ab67 Exploiting multiply-accumulate in NEON 2016-03-12 13:32:10 +01:00
Carles Fernandez
a93a01e9b1 prefetching data 2016-03-12 12:22:26 +01:00
Carles Fernandez
268f298fad More elegant workaround for 32-bit architecutres 2016-03-12 09:28:25 +01:00
Javier Arribas
6e076e8143 Fixing bugs in extended correlator for GPS L1 2016-03-11 18:32:56 +01:00
Carles Fernandez
d9c333c85f Improving documentation
Adding Doxygen documentation to VOLK_GNSSSDR kernels
2016-03-10 00:56:23 +01:00
Carles Fernandez
f6e713929a Adding documentation
Copied from VOLK, with some minor changes
2016-03-09 21:01:22 +01:00
Carles Fernandez
81f4eadb5b Deleting old, unused file 2016-03-09 19:35:56 +01:00
Carles Fernandez
243d66218b Change @VERSION by @LIBVER@ 2016-03-09 18:41:02 +01:00
Carles Fernandez
250375dbd3 Fix incorrect include when building with MSVC
Keeping track of VOLK's improvements, see
65539f2691
2016-03-09 18:23:19 +01:00
Carles Fernandez
9a92672905 Fix some CMake complaints
Keeping track of VOLK's improvements, see
434c994f21
2016-03-09 18:19:05 +01:00
Carles Fernandez
cf44382afe tmpl: cast windows regs to int* calling cpuidex
Keeping track of VOLK's improvements. See
b1b69e1ae3
2016-03-09 18:15:28 +01:00
Carles Fernandez
1e9a9d1a55 reverting wrong commit 2016-03-09 15:56:07 +01:00
Javier Arribas
14e109983a Added confguration option to set DLL and PLL bandwidth for 20 ms
extended correlation in C_Aid GPS L1 CA tracking (dll_bw_narrow_hz and
pll_bw_narrow_hz)
2016-03-09 15:29:00 +01:00
Javier Arribas
d664dc63b3 Experimental extended correlation for GPS L1 CA C_Aid tracking 2016-03-08 18:30:56 +01:00
Carles Fernandez
59011a7772 prefetching data in the cache 2016-03-07 19:57:22 +01:00
Carles Fernandez
aac79eb78a prefetching data in the cache 2016-03-07 19:25:12 +01:00
Carles Fernandez
a3d7683c85 Fix segmentation fault of volk_gnsssdr_profile in 32-bit architectures
Temporal deactivation of the unaligned protokernel of the multiple
correlator. It does not affect receiver's performance. The commit
includes other minor fixes.
2016-03-07 18:35:40 +01:00
Javier Arribas
36c8db4143 Code cleaning and removing deprecated tracking modules 2016-03-01 16:45:46 +01:00
Javier Arribas
1bafa1e447 Migration of Galileo E1 DLL PLL VEML tracking to use the optimized
cpu_multicorrelator class
2016-02-26 11:14:45 +01:00
Javier Arribas
b94253cb10 Bug fix and ammend last commit message: If DISABLED
(.Acquisition_1C.use_CFAR_algorithm=false) as an option in the
acquisition configuration, it allows setting more stable thresholds in
the presence of non-gaussian front-end noise (which is the usual
behavior of front-ends....)
2016-02-25 18:59:26 +01:00
Javier Arribas
f41a8ad6d9 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr.git into next 2016-02-25 18:21:56 +01:00
Javier Arribas
4480c12d94 Added a non CFAR PCPS acquisition algorithm based on the estimation of
the post correlation noise floor. If enabled
(.Acquisition_1C.use_CFAR_algorithm=true) as an option in the
acquisition configuration, it allows setting more stable thresholds in
the presence of non-gaussian front-end noise (which is the usual
behavior of front-ends....)
2016-02-25 18:21:30 +01:00
Carles Fernandez
b24db5d77e Fix compilation with CMake 3.5
The CMake variables CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR should never be set. Now CMake 3.5 prevents the user from doing that. They have been replaced by their counterparts PROJECT_BINARY_DIR and PROJECT_SOURCE_DIR
2016-02-25 15:26:32 +01:00
Carles Fernandez
9ae59c2009 Adding missing include 2016-02-22 10:07:08 +01:00
Carles Fernandez
11c84ed8ad Fixing kernels 2016-02-19 11:03:24 +01:00
Carles Fernandez
b2a654c646 fix typos 2016-02-14 15:06:45 +01:00
Carles Fernandez
1930f02c4f saving one register in neon implementation 2016-02-14 15:02:17 +01:00
Carles Fernandez
6156f4b3de some small fixes 2016-02-14 14:52:26 +01:00
Carles Fernandez
e8dfd860fb prefetching data in neon implementation
5% of average improvement
2016-02-13 14:26:40 +01:00
Carles Fernandez
a4e2ceb9c4 Adding neon implementation
Input data have been re-scaled to avoid saturation problems
2016-02-13 14:16:40 +01:00
Javier Arribas
d4d73e24c1 Fixing some includes in volk gnsssdr kernels 2016-02-12 12:36:08 +01:00
Carles Fernandez
e400885800 Fixing puppets
In kernels which output is shorter than num_points, memory is firtly
filled bu zeros and then the kernel is executed.
2016-02-11 21:15:46 +01:00
Javier Arribas
7f9dccd386 generic implementation simplification in volk gnsssdr kernel module 2016-02-11 17:57:03 +01:00
Carles Fernandez
7d0e3126aa Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-02-09 19:43:07 +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
794d141e84 Improved processor/feature detection when building with MSVC 2016-02-07 10:56:21 +01:00
Carles Fernandez
1b7bc5af0c The USRP Hardware Driver (UHD) is now optional.
Used if found.
2016-02-02 23:32:48 +01:00
Carles Fernandez
844c33d699 improving documentation 2016-01-31 23:21:28 +01:00
Carles Fernandez
bb54222883 improving documentation 2016-01-31 23:13:10 +01:00
Carles Fernandez
213486c2eb improving documentation 2016-01-31 19:36:48 +01:00
Carles Fernandez
833fe313c7 Improving documentation 2016-01-31 18:13:03 +01:00
Carles Fernandez
f4875012df prefetch data in the cache in neon implementation
8% of average improvement
2016-01-31 10:41:51 +01:00
Carles Fernandez
8a6c4d767f ask for aligned memory in neon implementation
1% improvement
2016-01-31 10:39:24 +01:00
Carles Fernandez
4fcffa2bdd some improvements
phase computation was correclty done in SSE implementation but not in
NEON. Ask for aligned memory in NEON implementation. Some code cleaning
2016-01-31 09:49:50 +01:00
Carles Fernandez
db321d1c2e Fixing missing phase increment in SIMD implementations
After computing the rotation with SIMD instructions, we were not
incrementing the phase step, so the first iteration in the 'c region'
had the same phase than the last sample computed with SIMD instructions.
This commit fix the bux in SSE3 and NEON implementations
2016-01-29 19:42:30 +01:00
Carles Fernandez
8c07815852 fix missing time step in neon implementation 2016-01-29 19:30:31 +01:00
Javier Arribas
a26255270e Optimized SSE3 16ic rotator volk_gnsssdr module 2016-01-29 18:43:44 +01:00
Carles Fernandez
ccbdcf8788 adding neon implementation
about x10 acceleration
2016-01-28 23:36:19 +01:00
Carles Fernandez
d69e8e34f6 adding neon implementation 2016-01-28 19:45:31 +01:00
Carles Fernandez
2014149e17 Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-01-28 18:10:21 +01:00
Javier Arribas
d2898c40ce Added SSE2 implementation for volk_gnss-sdr 16ic phase rotator. Bug fix
in volk_gnss-sdr rotator puppet unit test.
2016-01-28 16:42:19 +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
4e12f6ee5a adding definition of new volk_gnsssdr kernel: 16-bit complex rotator
generic implementation only
2016-01-27 18:34:20 +01:00
Carles Fernandez
1d9fc3ceae adding neon implementation 2016-01-25 20:53:02 +01:00
Carles Fernandez
ba8f0e86b2 adding neon implementation 2016-01-25 18:13:54 +01:00
Carles Fernandez
3306c21cf8 adding neon implementation 2016-01-24 20:10:12 +01:00
Carles Fernandez
da67f85f6c remove unused variable in neon implementation 2016-01-24 14:38:34 +01:00
Carles Fernandez
b18fc5835c fix implementation 2016-01-24 14:37:19 +01:00
Carles Fernandez
377acfc322 add neon implementation 2016-01-24 14:30:33 +01:00
Carles Fernandez
2d21706041 add neon implementation 2016-01-24 13:02:02 +01:00
Carles Fernandez
812a4df93f add neon implementation 2016-01-24 12:01:40 +01:00
Carles Fernandez
cd2f0b86f6 add neon implementation 2016-01-23 21:22:30 +01:00
Carles Fernandez
c5252da7fd adding neon implementation 2016-01-23 21:05:28 +01:00
Carles Fernandez
a49cf3a98f missing include 2016-01-22 16:52:43 +01:00
Carles Fernandez
7bf4bfd7dc adding neon implementation 2016-01-22 12:29:08 +01:00
Carles Fernandez
642018bada tagging version 2016-01-22 10:14:43 +01:00
Carles Fernandez
8159c1ec22 Adding README and .gitignore 2016-01-22 02:02:23 +01:00
Carles Fernandez
61e36aa2a0 copy GPLv3 license from gnss-sdr 2016-01-22 00:54:52 +01:00
Carles Fernandez
4553b5e643 cleaning includes 2016-01-21 23:30:24 +01:00
Carles Fernandez
d139e6d93a Using limits.h instead of hardcoded values 2016-01-21 12:30:46 +01:00
Javier Arribas
62a17dc3d7 Replaced literal limits with values stored in limits.h for volk gnss-sdr
kernel
2016-01-21 11:30:09 +01:00
Javier Arribas
02a6f41794 Fix seg fault on some architectures in gnss-sdr volk 32fc convert to
16ic module
2016-01-21 11:21:25 +01:00
Carles Fernandez
3ce1bba194 Fix execution of puppets when compiled with clang 2016-01-21 01:40:29 +01:00
Carles Fernandez
577f7f1940 fixes CMake warning under Linux 2016-01-21 00:42:17 +01:00
Carles Fernandez
f6cb32bc9f cleaning 2016-01-21 00:25:53 +01:00
Carles Fernandez
88752588b6 remove duplicated copyright text 2016-01-21 00:12:14 +01:00
Carles Fernandez
53179468bd Removing unused constant 2016-01-20 23:42:25 +01:00
Carles Fernandez
d095b581ae code cleaning 2016-01-20 22:59:22 +01:00
Carles Fernandez
1f3554384d fix parallel building 2016-01-20 20:39:27 +01:00
Carles Fernandez
fe4cce043d Remove unnecessary code, making it closer to the original VOLK
GNSS-SDR-spefific additions are clearly marked, so it will be easier to
follow their changes and to add other specific features
2016-01-20 20:14:42 +01:00
Carles Fernandez
7e11a6ef72 Merge branch 'new_volk_module' of git+ssh://github.com/gnss-sdr/gnss-sdr
into new_volk_module

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-01-20 18:40:27 +01:00
Carles Fernandez
497c856437 add unaligned version 2016-01-20 18:38:33 +01:00
Javier Arribas
bb39ff43a0 Merge branch 'new_volk_module' of https://github.com/gnss-sdr/gnss-sdr.git into new_volk_module 2016-01-20 18:24:25 +01:00
Javier Arribas
ea35f33c83 Added native input sample interface support for 16 bits integer complex
in PCPS_Acquisition (added the _sc variant). Now the PCPS acquisiton
adapter requires no conversion when the receiver works with 16 bits
integer complex samples.
2016-01-20 18:24:03 +01:00
Carles Fernandez
c7193e394e Merge branch 'new_volk_module' of git+ssh://github.com/gnss-sdr/gnss-sdr
into new_volk_module

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-01-20 18:18:32 +01:00
Carles Fernandez
9bf8b174ba Sout out the aligned/unaligned thing in old kernels 2016-01-20 18:16:09 +01:00
Javier Arribas
07feeeee3a New volk_gnss_sdr kernel: Fast conversion between 16 bit int complex to
32 bits floating point complex
2016-01-20 17:45:47 +01:00
Javier Arribas
e92f409897 Added SSE2 unaligned versions of volk_gnss-sdr dot product and resampler
kernels.
2016-01-20 15:53:09 +01:00
Carles Fernandez
7a5574f598 Fixing aligned/unaligned tag 2016-01-20 11:21:58 +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
Javier Arribas
3add3a7f91 Bug fix in both interleaved byte and short to complex converters 2016-01-19 18:15:48 +01:00
Carles Fernandez
0215748638 Adding a puppet for the multiple correlator 2016-01-19 12:42:55 +01:00
Carles Fernandez
bbe0f37910 fixing result reading in puppet 2016-01-19 11:53:46 +01:00
Carles Fernandez
bf0a37960f adding a puppet for the multiple resampler 2016-01-19 10:45:56 +01:00
Carles Fernandez
090f6524db Merge branch 'new_volk_module' of git+ssh://github.com/gnss-sdr/gnss-sdr
into new_volk_module

# Conflicts:
#	src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic.h
2016-01-19 00:01:26 +01:00
Carles Fernandez
1d18ff6c16 avoiding redefinition of functions 2016-01-18 23:50:34 +01:00
Carles Fernandez
57c05e3cf0 adding a puppet for the 16-bit complex resampler 2016-01-18 23:44:10 +01:00
Carles Fernandez
e53e85f41b fixing a wrong fix :-P 2016-01-18 20:59:51 +01:00
Javier Arribas
4ba75a3fbe Still some bugs to fix in 16sc dot product. All fixed now. 2016-01-18 10:43:09 +01:00
Carles Fernandez
fd2af02aec fix sse implementation 2016-01-16 23:15:19 +01:00
Carles Fernandez
a2429a851c fix sse implementation 2016-01-16 22:52:10 +01:00
Carles Fernandez
cd80beb16c fix sse implementation 2016-01-16 22:49:34 +01:00
Carles Fernandez
3d3a758ef2 fix sse implementation 2016-01-16 22:48:29 +01:00
Carles Fernandez
46e3ce5ec2 fix sse implementations 2016-01-16 22:39:15 +01:00
Carles Fernandez
38d4d8aa9a fix sse implementations 2016-01-16 20:57:55 +01:00
Carles Fernandez
a817d49e89 fix that makes pass the test 2016-01-16 14:29:15 +01:00
Carles Fernandez
dab4da064c Updating documentation 2016-01-16 14:11:12 +01:00
Carles Fernandez
3eab3b58c6 Removing garbage 2016-01-15 18:25:05 +01:00
Javier Arribas
fb42cda826 Range reduced to 4 bits in the volk short int test input to avoid
saturation of vector dot products.
Reduced test vector sizes to 8111 to avoid saturation.
2016-01-14 18:56:22 +01:00
Carles Fernandez
5fdbb472f6 required by memset 2016-01-13 20:09:27 +01:00
Carles Fernandez
e57d02321d Merge branch 'new_volk_module' of git+ssh://github.com/gnss-sdr/gnss-sdr
into new_volk_module

# Conflicts:
#	src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic_xn.h
#	src/algorithms/tracking/libs/volk_gnsssdr_16ic_xn_resampler_16ic_xn.h
2016-01-13 20:04:18 +01:00
Carles Fernandez
ae2b594c3b Moving two kernels to volk_gnsssdr. Still no testing 2016-01-13 19:38:07 +01:00
Javier Arribas
5d0186eee1 Renamed saturated arithmetic library and some code cleaning and
refresh documentation in new gnsssdr volk modules
2016-01-13 15:37:58 +01:00
Carles Fernandez
f88f222ef6 fixes cmake warning in MacOSX 2016-01-13 15:34:50 +01:00
Carles Fernandez
ece7bc2c65 Integrating a new volk kernel 2016-01-13 11:42:01 +01:00
Carles Fernandez
f659005e63 Remove duplicated line 2016-01-13 11:19:07 +01:00
Carles Fernandez
bbdf52dbed fixes for MacOS 2016-01-13 11:04:32 +01:00
Carles Fernandez
97ed762964 some fixes 2016-01-13 10:22:06 +01:00
Carles Fernandez
62f23a7a2b Fix warning (unused variable) 2016-01-12 23:22:50 +01:00
Carles Fernandez
551735e034 Fixes warning about posix_memalign 2016-01-12 23:19:09 +01:00
Carles Fernandez
48e9ada2e1 fix warning 2016-01-12 23:12:04 +01:00
Carles Fernandez
eb1dbfe37b introducing new kernels 2016-01-12 22:48:59 +01:00
Carles Fernandez
1bf645c98c adding a missing kernel 2016-01-12 21:03:51 +01:00
Carles Fernandez
601dc7a85c Merge branch 'new_next' of git://github.com/Arribas/gnss-sdr into
new_volk_module
2016-01-12 20:57:06 +01:00
Carles Fernandez
24909510e7 Updating volk_gnsssdr to the new volk scheme 2016-01-12 20:15:16 +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
Javier Arribas
05937e6995 bug fix in interleaved byte to complex data type adapter (incorrect
scaled output when char to short int conversion was used, now replaced
the two-step process by single GNURadio block interleaver char to
complex)
2016-01-11 12:26:45 +01:00
Carles Fernandez
f4584a12c1 Fixing a couple of warnings
unused parameter '_chip_shift', comparison between signed and unsigned
integers. Regular casts have been replaced by static casts.
2016-01-11 11:32:41 +01:00
Carles Fernandez
fc01c85203 Removing unused parameter (removes a warning) 2016-01-11 10:44:57 +01:00
Carles Fernandez
0a295f9147 Remove unused code 2016-01-11 01:02:44 +01:00
Carles Fernandez
2615cd1a5b required for size_t 2016-01-11 00:56:38 +01:00
Carles Fernandez
aefe47cd7a Removing unused code 2016-01-11 00:50:09 +01:00
Carles Fernandez
2697fb6198 Cleaning includes 2016-01-10 22:21:31 +01:00
Carles Fernandez
bc0e4f188b Cleaning includes 2016-01-10 14:30:04 +01:00
Carles Fernandez
5743f0f631 fix defect detected by coverity scan
aStr->find('.', startPos) can return a negative number, but idx was
passed to a parameter that cannot be negative. Now the function returns
the string as is in case of no decimal point found.
2016-01-06 14:30:15 +01:00
Carles Fernandez
14d3c3dd27 cleaning includes and removing gnuradio-trellis and gnuradio-fec
dependencies
2016-01-06 02:05:34 +01:00
Carles Fernandez
5abc7b8b6a Include cleaning 2016-01-05 15:35:33 +01:00
Carles Fernandez
0a1aa50c4a Cleaning includes
plus some code cleaning
2016-01-05 10:59:37 +01:00
Carles Fernandez
1c3a9f98ee cleaning includes 2016-01-04 23:52:21 +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
Carles Fernandez
9cdfc5e8c2 fixing a warning (unused variable) 2016-01-04 10:29:29 +01:00
Carles Fernandez
9e0c1bb719 remove unnedded headers 2016-01-03 15:22:52 +01:00
Carles Fernandez
70706cb87e removed unused variable 2016-01-03 15:11:57 +01:00
Carles Fernandez
9ea5d80935 Fixing silly redefinition of variable 2016-01-03 14:16:26 +01:00
Carles Fernandez
c5407a5106 Improved handling of threads
Some threads were not terminating properly, triggering a failure of
control_thread_test in some configurations.
2015-12-30 14:43:32 +01:00
Carles Fernandez
fc91768c11 missing commit 2015-12-25 12:29:35 +01:00
Carles Fernandez
589342e4a4 fix typo 2015-12-25 12:27:08 +01:00
Carles Fernandez
286ee3b561 Integrating the RTCM printer
Now the Galileo E1 receiver generates RTCM messages 1045 (ephemeris) and
MSM7 / 1097 (observables). Parameters related to RTCM included in conf
files. The TCP/IP server can be activated by setting flag_rtcm_server to
true.
2015-12-25 10:25:22 +01:00
Carles Fernandez
f70df3e581 Integrating the RTCM message printer
Now the GPS L1 receiver generates 1002 and 1019 messages. Bugs in the
Rtcm class fixed.
2015-12-24 20:56:41 +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
450728dfeb fix defect detected by coverity scan: rinex observables are printed if
both GPS and Galileo observables are available. This avoids
dereferencing an iterator though it is already past the end of its
container (in case only one of them were available)
2015-12-08 21:10:17 +01:00
Carles Fernandez
6c9a90abe4 fixing defects detected by coverity scan 2015-12-08 20:24:36 +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
45195917c1 fixing some gnuradio-related warnings reported by gcc, so others can be spotted easier 2015-12-02 18:25:06 +01:00
Carles Fernandez
17517625be fixing includes 2015-12-01 13:30:03 +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
3a56e09772 fixes from wrong merge 2015-11-30 14:39:29 +01:00
Carles Fernandez
6f87e3fc17 fixing some compilation errors 2015-11-30 14:16:41 +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
0450e174a6 fixing wrong merge 2015-11-30 10:46:07 +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
bfbea68c8f Merge branch 'next' of git://github.com/Arribas/gnss-sdr into
tracking_arribas

# Conflicts:
#	src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt
#	src/core/receiver/gnss_block_factory.cc
2015-11-27 14:53:33 +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
38e8feefa8 Name change in new DLL PLL algorithm implementation. We introduce DLL
PLL Carrier Aided Tracking.
2015-11-27 12:53:27 +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
518deb501a Added IF handling to acq and tracking
Only GPS L1 CA DLL PLL tracking for now. Still experimental.
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
Cillian O'Driscoll
5b9683baad Multiple changes pcps acquisition: including linear corr.
Reduced zero_padding_factor in pcps acquisition

This was 16, I'm processing data at about 16MHz, this oversampling
factor caused memory allocation issues

Previously dump file name was not being read from the configuration

Added fix for non-zero IF in pcps_acquisition_cc

Added linear correlation to pcps acquisition.
2015-11-26 15:09:24 +00:00
Cillian O'Driscoll
e4ff358178 Added seconds_to_skip and header_size
Use these configuration parameters to skip ahead in the FileSignalSource
Fixed bug in determining file duration
2015-11-26 15:08:26 +00:00
Javier Arribas
19e1328fda Fine tunning the config file for PPP in simulation scenario 2015-11-25 19:08:54 +01:00
Javier Arribas
aed688f3b4 DLL/PLL and phase accumulator bug correction and verification almost
done. Still some outliers detected in PPP using RTKLIB but the
positioning performande is good.
2015-11-25 18:32:32 +01:00
Carles Fernandez
513e92da23 fixing interface 2015-11-25 14:03:59 +01:00
Carles Fernandez
b9f51a5e6b fixing warning 2015-11-24 18:34:32 +01:00
Carles Fernandez
337dc3b2da fixing error handling when writing to a serial bus 2015-11-24 17:57:05 +01:00
Javier Arribas
15c4882af9 Linear regressor implemented in observables 2015-11-24 13:37:01 +01: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
Carles Fernandez
e219954d1c Updating the Rtcm printer 2015-11-24 00:32:52 +01:00
Javier Arribas
411c8cedb0 experimental interpolator in observables 2015-11-23 23:05:52 +01:00
Carles Fernandez
0c57c6b6f7 working on the printers: added time tag to KML and GeoJSON names, some
fixes of CRC computation and check, more tests
2015-11-22 14:43:52 +01:00
Carles Fernandez
a85e711bd9 adding missing include 2015-11-22 09:44:58 +01:00
Carles Fernandez
60dd9b4f28 working on the RTCM printer 2015-11-21 13:01:50 +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
Carles Fernandez
6336556163 Some cleaning 2015-11-15 23:31:27 +01:00
Javier
c2e254debc New DLL PLL Artemisa tracking block skeleton. Not usable yet! 2015-11-15 22:26:42 +01:00
Carles Fernandez
f68a1fe9bc Refactoring PVT solution library and adding a GeoJSON format printer 2015-11-14 20:41:28 +01:00
Carles Fernandez
4aac371bbf saving some work 2015-11-14 14:39:10 +01:00
Carles Fernandez
d52c3e36e3 Refactoring least squares computation 2015-11-14 14:17:02 +01:00
Carles Fernandez
db4d55db62 fixing defect detected by coverity scan 2015-11-01 13:44:03 +01:00
Javier Arribas
2039e998ff Pinned memory (Zero copy) huge improvement for GPU tracking. 2015-10-15 19:09:09 +02:00
Cillian O'Driscoll
cee99131c1 Added two_bit_packed_file_signal_source 2015-10-14 09:35:22 +01:00
Cillian O'Driscoll
c20accbf26 Added interleaving reversal to unpack_2bit_samples 2015-10-14 09:34:33 +01:00
Cillian O'Driscoll
f389fc5042 Fixed a bug in endian reverse 2015-10-14 09:34:33 +01:00
Cillian O'Driscoll
3ca18df229 Added unpack_2bit_samples
This is a generic gnuradio block for handling 2 bit samples packed into
bytes or shorts. It can handle big or little endian ordering of the
samples within the byte, as well as big or little endian ordering of the
bytes within a short.

This is a utility function for a generic sample source which will be
able to handle all of these cases for both real and complex signals.
2015-10-14 09:34:33 +01:00
Javier Arribas
a4655e2b03 Merged with github next 2015-10-08 14:37:51 +02:00
Carles Fernandez
49d974db77 Avoids redefinition of constants 2015-09-25 23:51:42 +02:00
Carles Fernandez
b665444550 Fix linking against
18ed0f15bc
2015-09-18 17:40:47 +02:00
Carles Fernandez
d3418ceeb5 Fix typo 2015-09-18 15:00:47 +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
e0669ba93d Fixes warning about posix_memalign 2015-09-05 13:05:53 +02:00
Carles Fernandez
6febea48fa bumping version number 2015-09-02 00:38:46 +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
7b57bd28f8 Merge branch 'next-gnss-sdr' into next 2015-08-25 12:40:31 +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