1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-17 05:30:34 +00:00
Commit Graph

1111 Commits

Author SHA1 Message Date
Carles Fernandez
2be266cc71 adding sincos kernel 2016-03-19 21:41:19 +01:00
Carles Fernandez
c9ff9759cc Fixing some numerical problems 2016-03-18 19:46:18 +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
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
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
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
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
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
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
497c856437 add unaligned version 2016-01-20 18:38:33 +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
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
24909510e7 Updating volk_gnsssdr to the new volk scheme 2016-01-12 20:15:16 +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
2697fb6198 Cleaning includes 2016-01-10 22:21:31 +01:00
Carles Fernandez
9e0c1bb719 remove unnedded headers 2016-01-03 15:22:52 +01:00
Carles Fernandez
17517625be fixing includes 2015-12-01 13:30:03 +01: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
a84b4baef0 Removing cudahelpers library and usage by a copyright issue. It does not
affect functionality.
2015-09-10 17:46:38 +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
a8bc6e7cc7 fixing coverity scan parse warnings 2015-07-12 14:14:11 +02:00
Javier
26a6bbd37a bug found in PRN resampler code. Disabled optimization 2015-06-12 19:28:56 +02:00
Carles Fernandez
4c0243580b fixing incorrect expression 2015-06-01 19:27:58 +02:00
Carles Fernandez
922b8f641e fixing incorrect expression 2015-06-01 18:52:04 +02:00
Carles Fernandez
8d1879d2e8 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.
2015-05-25 18:46:55 +02:00
Carles Fernandez
4a738471dc fixing deallocation 2015-05-23 09:02:06 +02:00
Carles Fernandez
644af36a5e fixing initialization 2015-05-21 20:27:39 +02:00
Carles Fernandez
2b30d1df85 fixing coverity issues 2015-05-14 17:52:42 +02:00
Carles Fernandez
f842bd9cc6 fixing coverity issues 2015-05-14 17:51:44 +02:00
Carles Fernandez
2e7351a119 fixing typo 2015-05-14 14:32:30 +02:00
Carles Fernandez
b8ed6fc7f1 fixing coverity issues 2015-05-14 13:06:19 +02:00
Carles Fernandez
2613bc30e4 fixing coverity issues 2015-05-14 11:56:01 +02:00
Carles Fernandez
76843781f7 fixing coverity issues 2015-05-14 11:20:02 +02:00
Carles Fernandez
79192a0bbd fixing coverity issues 2015-05-13 23:50:21 +02:00
Carles Fernandez
a7fba9f378 some cleaning and optimization 2015-05-07 22:25:46 +02:00
Javier
37a346f3f6 Merge branch 'next' into arribas_next
Conflicts:
	src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc
2015-05-06 16:49:11 +02:00
Javier
d8d5daa5d8 GPS L2C M acquisition and tracking ready. Old configuration file format.
Bug fix on GPS L1 DLL PLL that prevented the output of gnss_synchro
during the acqusition to tracking transition.
2015-05-06 16:33:51 +02:00
Carles Fernandez
cace34dffb making the resampler faster 2015-05-06 10:53:27 +02:00
Javier
4c5efd1e8b GPS L1 C/A + GPS L2C M dual frequency offline acquisition and tracking
READY. Issues on PRN numbering are being investigated...
2015-05-05 18:30:57 +02:00
Carles Fernandez
454d0c0208 Fixing phase 2015-05-05 16:59:34 +02:00
Carles Fernandez
90ae04ee19 Faster local carrier generation 2015-05-05 16:14:46 +02:00
Carles Fernandez
b4cfef1a44 Faster resampler 2015-05-05 13:00:24 +02:00
Carles Fernandez
b7c1469616 20% of performance improvement 2015-05-03 10:50:57 +02:00
Carles Fernandez
f556660e1f Merge branch 'osmoflags' of https://github.com/anthony-arnold/gnss-sdr
into anthony-arnold-osmoflags
2015-04-30 20:13:14 +02:00
Javier
60b7fe8e08 Added GPS L2M Tracking and its unit test. Still experimental! 2015-04-30 17:48:21 +02:00
Anthony Arnold
9ecf17a602 Link dependencies 2015-04-30 17:18:15 +10:00
Javier
6618c220d0 Added L2C_M simple PCPS acquisition adapter and its associated unit test 2015-04-29 14:19:17 +02:00
Carles Fernandez
9b4435ac67 Pointer safety, code cleaning 2015-04-27 00:36:45 +02:00
Javier
12b5d798a7 GPS L2C M acquisition incremental update: Added preliminarly support of
multiple signals on the same system in GNSS-SDR architecture
2015-04-24 19:11:45 +02:00
Javier
75983a0471 Adding GPS L2C M code generators and PCPS Acquisition algorithms
skeletons
2015-04-23 16:20:06 +02:00
Anthony Arnold
06d58bcce1 Cross-compilation fixes 2015-03-21 00:23:16 +10:00
Carles Fernandez
3f5c8965c6 Fixes building in some environments 2015-03-17 08:25:28 +01:00
Carles Fernandez
cb1fd9e727 code cleaning 2015-03-17 00:22:20 +01:00
Carles Fernandez
9e1017ed23 merging next 2015-02-27 17:37:42 +01:00
Carles Fernandez
8cd59646bb Some warnings removed 2015-02-27 14:55:46 +01:00
Carles Fernandez
5fe91b8338 Code cleaning, and a better Pass_Through 2015-02-26 18:24:06 +01:00
Carles Fernandez
4a1ca062ca Removing Python compiled files 2015-02-14 11:53:55 +01:00
Carles Fernandez
7a7eeb5a5c Moving blocks to libs. GpsL1CaPcpsAcquisition now accepts cshorts and
cbytes
2015-02-13 02:17:00 +01:00
Carles Fernandez
8f407f9bf1 working on tests 2015-02-10 19:30:15 +01:00
Carles Fernandez
75ee6c1bf5 adding a pass_through for all data types 2015-02-04 01:11:20 +01:00
Carles Fernandez
6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Carles Fernandez
d4f4ef05ae Removing non-defined Pp macro 2014-12-06 10:23:14 +01:00
Carles Fernandez
59bfa75e01 Add "byte" (char) as another data type that pass_through can handle 2014-11-24 22:50:33 +01:00
Carles Fernandez
1fadab3d08 Code cleaning 2014-11-22 10:19:06 +01:00
Carles Fernandez
cdf14df239 Improving manpages and package description 2014-11-15 20:40:58 +01:00
Carles Fernandez
6e922693c1 fixing manpage 2014-11-14 22:05:46 +01:00
Carles Fernandez
e5a9843676 adding manpage 2014-11-14 19:26:12 +01:00
Carles Fernandez
3c8e048612 Create a stripped volk_gnsssdr_profile binary for debian packaging 2014-11-14 01:40:43 +01:00
Carles Fernandez
6842f49f23 minor fix 2014-11-12 23:08:06 +01:00
Carles Fernandez
14fab8b33e providing an uninstall target for volk_gnsssdr when installed as
standalone library
2014-11-09 21:21:46 +01:00
Carles Fernandez
e4bc947a80 fix warning 2014-11-09 21:03:29 +01:00
Carles Fernandez
98212ea1fe Remove warning 2014-11-09 20:38:35 +01:00
Carles Fernandez
059c23595c some linking fixes 2014-11-09 15:31:35 +01:00
Carles Fernandez
51427f046a Code cleaning 2014-11-09 13:17:18 +01:00
Carles Fernandez
ad75893524 Some fixes to volk_gnssssdr integration. Adding copyright message. 2014-11-07 20:51:01 +01:00
Carles Fernandez
db7304c46f minor fixes 2014-11-07 19:05:23 +01:00
Carles Fernandez
3680e92a80 minor fixes 2014-11-07 19:04:59 +01:00
Carles Fernandez
5c996d14a4 adding -std=c11 flag 2014-11-07 18:50:40 +01:00
Carles Fernandez
1b49c432b2 AAdding copyright and some fixes 2014-11-07 18:02:52 +01:00
andres
eb9b00f678 Fix 2014-11-05 03:28:49 +01:00
andres
766cbf8d45 Allow compiling in linux, GCC... 2014-11-01 03:14:34 +01:00
andres
3e45e4cc56 Various changes:
Updated top CMakeFile.txt
Moved volk module to a better path.
Trying to add support for GCC.
Fixes.
2014-10-28 01:00:04 +01:00
andres
8bc0d302a7 Fixing 2014-10-27 12:42:44 +01:00
andres
f200d64277 Fixes for gcc 2014-10-27 05:38:02 +01:00
andres
db738c7ea9 Added cmake version check. Deleted original volk
Added cmake version checks.
Deleted original volk protokernels.
Fixes.
2014-10-27 05:19:26 +01:00
andres
4128b059b1 Fixing 2014-10-27 01:30:32 +01:00
andres
4a2e03f9a8 Fixing problems with _mm_loadu_si128 2014-10-20 16:55:55 +02:00
andres
d3aade34b2 Fixing includes in volk functions 2014-10-20 16:37:49 +02:00
andres
5a498207c4 Merge branch 'volk_tracking_performance' into volk_merge_with_next 2014-10-18 02:42:01 +02:00
andres
b139f531e5 Added patches to modify volk_gnsssdr
1)Added patches to modify volk_gnsssdr from the original volk
protokernel

2)Updated volk module with the lasts updates from GNURadio
2014-10-17 05:10:30 +02:00
andres
8badd81dbe Added AVX to s32f_x2_update_local_carrier_32fc 2014-10-17 01:56:13 +02:00
Andrés Cecilia Luque
313cb1c544 volk_gnsssdr_s32f_x2_update_local_carrier_32fc
Added new protokernel volk_gnsssdr_s32f_x2_update_local_carrier_32fc,
with volk implementation 4x quicker than generic implementation.
2014-10-03 01:30:04 +02:00
Andrés Cecilia Luque
da4288d502 Added 32fc_s32f_x4_update_local_code_32fc kernel
Added a new protokernel to substitute update_local_code function,
inside tracking: volk_gnsssdr_32fc_s32f_x4_update_local_code_32fc
Volk implementation is 7x times faster than generic implementation.
2014-10-01 13:39:07 +02:00
Andrés Cecilia Luque
b2dab27cdb Modified tracking in order to test the protokernel
Modified tracking in order to test the new 8 bits protokernels’
performance.
2014-09-27 01:44:49 +02:00
Andrés Cecilia Luque
6aa338e582 Fixed the name of some protokernels 2014-09-26 22:34:02 +02:00
Andrés Cecilia Luque
ea3cd84e20 Improved 8ic_x7_cw_epl_corr_32fc_x5 protokernels
Improved 8ic_x7_cw_epl_corr_32fc_x5 protokernels and added a new
protokernel called volk_gnsssdr_32fc_convert_8ic in order to test the 8
bits protokernels in the tracking.
2014-09-26 22:23:32 +02:00
Andrés Cecilia Luque
badd9cd64d Created quicker volk functions for cw_epl_corr
Created the proto-kernels volk_gnsssdr_8ic_x7_cw_epl_corr_32fc_x5 and
volk_gnsssdr_8ic_x7_cw_epl_corr_TEST_32fc_x5

Created two new quicker implementations for
volk_gnsssdr_8ic_x7_cw_epl_corr_32fc_x5 and their macros:
volk_gnsssdr_8ic_x7_cw_epl_corr_safe_32fc_x5
volk_gnsssdr_8ic_x7_cw_epl_corr_unsafe_32fc_x5
2014-09-26 00:55:29 +02:00
Andrés Cecilia Luque
c55be47565 Created macros for 8ic_cw_epl_corr_32fc
Created macros for 8ic_cw_epl_corr_32fc proto-kernels
2014-09-22 18:18:20 +02:00
Andrés Cecilia Luque
c12de026cf Many changes to volk_gnsssdr
1) Added special protokernels for tracking.
2) Added macros to allow code reutilization inside protokernels.
2014-09-22 14:41:53 +02:00
Andrés Cecilia Luque
e1b84e31f2 Modifications to allow volk_gnsssdr+volk functions
Modified the templates of the module volk_gnsssdr to generate the
header files with some changes that allow running volk_gnsssdr
functions and volk standard functions at the same time in a file.
2014-09-17 22:09:28 +02:00
Andrés Cecilia Luque
60cc3777b6 Master branch + volk_gnsssdr module 2014-09-08 01:56:09 +02:00
Carles Fernandez
dfd9be34a9 Merge branch 'galileo_e5a' of https://github.com/marc-sales/gnss-sdr
into next

Conflicts:
	src/core/receiver/gnss_block_factory.cc
	src/core/receiver/gnss_flowgraph.cc
2014-09-05 18:51:08 +02:00
Carles Fernandez
bcd90ca9cf Removing unused code that could prevent binaries to run on machines
where the set of SIMD instructions is not the same than the machine that
compiled them.
2014-09-04 19:33:17 +02:00
marc-sales
3b3c809dab Unified acquisition 2014-08-05 02:01:37 +02:00
marc-sales
7d6ec42f24 coherent 2or3 ms adding noncoherently I+Q acquisition,
dll+pll tracking still diverges
2014-07-07 21:06:26 +02:00
Carles Fernandez
8531a758ea Includes header files at add_libraries(...), which makes IDEs such as
Xcode to display them
2014-06-28 03:55:57 +02:00
marc-sales
4b5526ec7e E5a Dll/Pll tracking + tracking test + Secondary code delay generator
+ PCPS acquisition of 1ms code 1ms filled with zeros (to avoid sec code
ambiguity)
2014-06-20 18:23:44 +02:00
marc-sales
dbad4b5742 E5a signal generator and minor bug fixes. 2014-06-17 19:13:24 +02:00
marc-sales
8c1adf8aad small changes, just for backup 2014-06-05 12:00:24 +02:00
marc-sales
9b5c055bfd Tracking adapted blocks + Telemetry decoder 2014-06-01 13:22:26 +02:00
marc-sales
408fd992ec cabeceras 2014-05-21 09:42:26 +02:00
marc-sales
54a1417d3d Galileo E5a acquisition adapter and signal processing 2014-05-20 21:53:12 +02:00
Leonardo Tonetto
7fc58001ec Avoid memory leak
According to the best practices for boost, the shared_ptr constructor
should not be called inside a function call (return in this case).

Ref: http://www.boost.org/doc/libs/1_55_0/libs/smart_ptr/shared_ptr.htm

Signed-off-by: Javier Arribas <jarribas@cttc.es>
2014-05-06 12:46:42 +02:00
Carles Fernandez
4e714bf033 changing some raw pointers by smart pointers in the core receiver.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@502 64b25241-fba3-4117-9849-534c7e92360d
2014-04-03 21:59:14 +00:00
Carles Fernandez
39f8754217 Cleaning the terminal output and dumping most of the information in the log file. Better use of the glog library, logging can be seen also in Release, in real time by doing './gnss-sdr --logtostderr=1'. Update to latest version of Armadillo.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@486 64b25241-fba3-4117-9849-534c7e92360d
2014-03-16 19:58:29 +00:00
Carles Fernandez
05accfb1d7 Tidying up includes: : C library, C++ library, other libraries' .h, project's .h.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@476 64b25241-fba3-4117-9849-534c7e92360d
2014-01-12 20:07:38 +00:00
Carles Fernandez
004495507d Fixing detection of GNU Radio when installed in non-usual locations (e.g. /home/user/target). Now the user can tell cmake where GNU Radio is by 'cmake ../ -DGNURADIO_INSTALL_PREFIX=/home/user/target'
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@462 64b25241-fba3-4117-9849-534c7e92360d
2013-12-14 10:23:33 +00:00
Carles Fernandez
3595d60f99 Working on the tests. Workaround to build with Xcode. Improving documentation, README and cmake files readability
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@444 64b25241-fba3-4117-9849-534c7e92360d
2013-11-15 17:45:24 +00:00
Carles Fernandez
a8619337be Now GNSS-SDR also builds on Mac OS X 10.9 Mavericks using clang++ and libc++. Updated cmake scripts, some modification of code not accepted by clang. Updated README with instructions for Mavericks. Fixed file length computation in 64-bit architectures.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@435 64b25241-fba3-4117-9849-534c7e92360d
2013-11-09 10:51:11 +00:00
Carles Fernandez
2972272b3e Fixes compilation issues on Mac OS X. Now it builds successfully against gnuradio installed by Macports and using gcc 4.8. Upgrade version of Gtest. Some fixes and updates in documentation and code cleaning.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@423 64b25241-fba3-4117-9849-534c7e92360d
2013-10-18 18:26:06 +00:00
Luis Esteve
025a24bb20 Last commit from the GSoC 2013 project "Improve the acquisition sensitivity of a GNSS receiver" by Marc Molina.
Added OpenCL Acquisition blocks and tests. 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@420 64b25241-fba3-4117-9849-534c7e92360d
2013-10-01 20:32:04 +00:00
Carles Fernandez
4e08e97fb6 Fixes a data type
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@416 64b25241-fba3-4117-9849-534c7e92360d
2013-09-02 17:54:37 +00:00
Carles Fernandez
8c5a12e126 Fixes a bug that prevented processing of files > 4 GB. Thanks to Stephan X. Esterhuizen for sending the patch.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@415 64b25241-fba3-4117-9849-534c7e92360d
2013-09-02 17:43:13 +00:00
Luis Esteve
2f6c75be76 Adding new algorithms of adquisition:
gps_l1_ca_pcps_multithread_acquisition
     gps_l1_ca_pcps_tong_acquisition
     galileo_e1_pcps_cccwsr_ambiguous_acquisition
     galileo_e1_pcps_tong_ambiguous_acquisition
     galileo_e1_pcps_8ms_ambiguous_acquisition

and test for all the algorithms.


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@411 64b25241-fba3-4117-9849-534c7e92360d
2013-08-28 17:17:57 +00:00
Luis Esteve
8b10549fee Patch submitted by Marc Molina: Improving PCPS Acquisition with some VOLK instructions. Enabling the secondary spreading code in Galileo acquisition. Adding Signal Generator to GNSS-SDR.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@397 64b25241-fba3-4117-9849-534c7e92360d
2013-07-23 18:03:07 +00:00
Carles Fernandez
10318d6b7d Patch submitted by Daniel Fehr: Enabling EGNOS tracking and minor bugfixes
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@392 64b25241-fba3-4117-9849-534c7e92360d
2013-07-20 07:58:59 +00:00
Javier Arribas
6f8ef58802 Towards a front-end frequency and sample rate calibration tool. VERY experimental yet.
Bug fixes in acquisition assistance and in linker include files.


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@371 64b25241-fba3-4117-9849-534c7e92360d
2013-07-05 17:00:48 +00:00
Javier Arribas
58b280afb6 Switch to GNU Radio 3.7.x API
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@368 64b25241-fba3-4117-9849-534c7e92360d
2013-07-04 13:47:40 +00:00
Javier Arribas
12003ffa94 GNSS-SDR now uses CMAKE as the only build system. Goodbye BJAM!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@347 64b25241-fba3-4117-9849-534c7e92360d
2013-03-15 18:03:01 +00:00
Javier Arribas
e52943d4ff Added Secure User Plane Location (SUPL) client library and the associated A-GNSS data structures. The GNSS assistance function is not active yet
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@345 64b25241-fba3-4117-9849-534c7e92360d
2013-03-14 18:29:46 +00:00
Javier Arribas
f6568bd36d Added Secure User Plane Location (SUPL) client library and the associated A-GNSS data structures. The GNSS assistance function is not active yet!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@344 64b25241-fba3-4117-9849-534c7e92360d
2013-03-14 17:57:50 +00:00
Carles Fernandez
bd84ebd1c4 improving documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@339 64b25241-fba3-4117-9849-534c7e92360d
2013-02-04 00:16:22 +00:00
Carles Fernandez
ae1cb212de improving documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@335 64b25241-fba3-4117-9849-534c7e92360d
2013-01-28 23:50:09 +00:00
Carles Fernandez
c6e974ab21 Starting CMake support. In the root directory of gnss-sdr, type:
$ mkdir build && cd build && cmake ../ && make && make install

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@290 64b25241-fba3-4117-9849-534c7e92360d
2012-12-24 02:33:50 +00:00
Javier Arribas
080305cee8 New ultra-fast All-In-One Carrier wipe-off and Early-Prompt-Late correlator using Intel AVX SSE3 intrinsics.
Try it using the GPS_L1_CA_DLL_PLL_Optim_Tracking implementatioin for tracking operation!




git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@283 64b25241-fba3-4117-9849-534c7e92360d
2012-11-25 19:37:31 +00:00
Carles Fernandez
818d9e14b5 Start migration to GNU Radio 3.7 new C++ API. This commit replaces some components of gnuradio-core by the new components gr-blocks, gr-fft and gr-filter.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@282 64b25241-fba3-4117-9849-534c7e92360d
2012-11-25 11:15:11 +00:00
Javier Arribas
0760fa0f3e - New NCO library for carrier signal generation: Provides a fixed point optimized wrapper for GNU Radio fxp CORDIC and SSE2 floating point implementation ( sse_mathfunc.h implementation). The library is available as nco_lib.h
- Updated Unit Test to benchmark all the current NCO implementations (./run_tests --gtest_filter=Cordic_Test.StandardCIsFasterThanCordic)

-Gps_L1_Ca_Dll_Pll_Optim_Tracking algorithm updated with new NCO library for carrier wipeoff and some other optimizations.



git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@281 64b25241-fba3-4117-9849-534c7e92360d
2012-11-22 17:43:24 +00:00
Carles Fernandez
f0852461fa Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@265 64b25241-fba3-4117-9849-534c7e92360d
2012-10-28 12:38:11 +00:00
Javier Arribas
a25e712be6 Bug correction for acquisition and tracking: acquisition Doppler sign were inverted and this issue caused several wrong interpretations in tracking algorithms, resulting in a swap in I/Q components. Now the bug was corrected in all tracking algorithms.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@249 64b25241-fba3-4117-9849-534c7e92360d
2012-10-18 10:24:41 +00:00
Javier Arribas
bcce5431b7 Solved a bug on the Galileo PCPS acquisition where the local code replica was set to all zeros on some configurations.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@247 64b25241-fba3-4117-9849-534c7e92360d
2012-10-17 16:05:35 +00:00
Luis Esteve
f0a0f94007 Added documentation to the code
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@245 64b25241-fba3-4117-9849-534c7e92360d
2012-09-12 15:03:38 +00:00
Javier Arribas
0703dd2af3 Optimizations in PCPS Acquisition module:
- Improved speed for normalization in the FFTW results
- Complex multiplications now use the SIMD instructions with VOLK library
- Carrier wipeoff now uses the GNU Radio fixed point NCO (gr_fxpt) 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@241 64b25241-fba3-4117-9849-534c7e92360d
2012-09-04 14:29:07 +00:00
Luis Esteve
45d7220dae First version of Galileo E1 DLL PLL Very Early Minus Late Tracking. Added some functions in Matlab to analyze the results.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@234 64b25241-fba3-4117-9849-534c7e92360d
2012-08-28 13:38:33 +00:00
Carles Fernandez
7a8d4a6509 Added some const
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@227 64b25241-fba3-4117-9849-534c7e92360d
2012-08-04 11:39:01 +00:00
Carles Fernandez
db5d130bff added phase initialization that removes warning when compiling
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@226 64b25241-fba3-4117-9849-534c7e92360d
2012-08-04 08:41:32 +00:00
Luis Esteve
c9a06f702a Major update:
1) Galileo E1 Acquisition adapter block added (Gnuradio block modification to use the same block with the 2 systems with 2 adapters)
2) Tests and signal samples for Galileo E1 Acquisition signal block
3) Library for Galileo E1 signal processing
4) Galileo_E1.h with constant variables for this system

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@209 64b25241-fba3-4117-9849-534c7e92360d
2012-07-12 21:17:37 +00:00
Luis Esteve
950765180f Restructuring the src/tests directory. Deleted old tests. Added new test cases. Added signal sample for the tests.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@198 64b25241-fba3-4117-9849-534c7e92360d
2012-06-22 14:17:28 +00:00
Luis Esteve
d5655f27df Major changes. Signal Conditioner holds now blocks to change data type, filter and resample input data.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@172 64b25241-fba3-4117-9849-534c7e92360d
2012-02-19 17:45:51 +00:00
Javier Arribas
b7bb79a058 Code cleaning: deleted old dependences with Gregory GPS-SDR files
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@160 64b25241-fba3-4117-9849-534c7e92360d
2012-02-16 16:13:45 +00:00
Carles Fernandez
3bff16b5d1 Code cleaning.
Test infrastructure reactivated. Now a run_tests executable is created and runs some tests.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@138 64b25241-fba3-4117-9849-534c7e92360d
2012-01-23 00:52:05 +00:00
Carles Fernandez
60da2f4336 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@128 64b25241-fba3-4117-9849-534c7e92360d
2012-01-16 18:27:31 +00:00
Carles Fernandez
fc4d8cc7bf Recovering compatibility with the Boost version that comes with Ubuntu 10.10.
boost::filesystem::temp_directory_path() is only available from Boost 1.45, while Ubuntu 10.10 comes with Boost 1.42. 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@104 64b25241-fba3-4117-9849-534c7e92360d
2011-12-28 21:55:11 +00:00
Carles Fernandez
2ce62706af Adding documentation and improving code formatting.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@103 64b25241-fba3-4117-9849-534c7e92360d
2011-12-28 21:36:45 +00:00
Carles Fernandez
48719c3075 Improving documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@102 64b25241-fba3-4117-9849-534c7e92360d
2011-12-28 03:05:37 +00:00
Carles Fernandez
0cee2be18f Now you can change the default /tmp directory with the flag --log_dir
$ ./gnss-sdr --log_dir=./log

Added some documentation and comments

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@101 64b25241-fba3-4117-9849-534c7e92360d
2011-12-27 21:21:12 +00:00
Carles Fernandez
181596a55e Fixing some problems with Boost round (works in darwin) and std::round (works in linux gcc). Also fixing building problems
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@95 64b25241-fba3-4117-9849-534c7e92360d
2011-12-24 22:15:37 +00:00
Carles Fernandez
baebfd96be Adding compatibility with Mac OS X 10.6.8 (Snow Leopard)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@94 64b25241-fba3-4117-9849-534c7e92360d
2011-12-24 20:54:25 +00:00
Javier Arribas
69b8ac00dc - Major changes:
- The executable file and the default configuration file is now changed from "./install/mercurio" and "./conf/mercurio.conf" to "./install/gnss-sdr" and "./conf/gnss-sdr.conf", respectively.
        - Configuration file structure changed to define in a single entry the internal sampling frequency (after the signal conditioner). NOTICE that this change affects the all the adapters (acquisition, tracking, telemetry_decoder, observables, and PVT). All the adapters are now modified to work with this feature.
        - Moved several in-line GPS L1 CA parameters (a.k.a magic numbers..) to ./src/core/system_parameters/GPS_L1_CA.h definition file.
        - Tracking blocks now uses DOUBLE values in their outputs.
        - Observables and PVT now are separated. PVT and their associated libraries are moved to ./src/algorithms/PVT
        - Temporarily disabled the RINEX output (I am working on that!)
        - GNSS-SDR screen output now gives extended debug information of the receiver status and events. In the future, this output will be redirected to a log file.

- Bug fixes:
        - FILE_SIGNAL_SOURCE now works correctly when the user configures GNSS-SDR to process the entire file.
        - GPS_L1_CA_DLL_PLL now computes correctly the PRN start values.
        - GPS_L1_CA_DLL_FLL_PLL now computes correctly the PRN start values.
        - Several modifications in GPS_L1_CA_Telemetry_Decoder, GPS_L1_CA_Observables, and GPS_L1_CA_PVT modules to fix the GPS position computation.

- New features
        - Tracking blocks perform a signal integrity check against NaN outliers before the correlation process.
        - Tracking and PVT binary dump options are now documented and we provide MATLAB libraries and sample files to read it. Available in ./utils/matlab" and "./utils/matlab/libs"
        - Observables output rate can be configured. This option enables the GPS L1 CA PVT computation at a maximum rate of 1ms.
        - GPS_L1_CA_PVT now can perform a moving average Latitude, Longitude, and Altitude output for each of the Observables output. It is configurable using the configuration file.
        - Added Google Earth compatible Keyhole Markup Language (KML) output writer class (./src/algorithms/PVT/libs/kml_printer.h and ./src/algorithms/PVT/libs/kml_printer.cc ). You can see the receiver position directly using Google Earth.
        - We provide a master configuration file which includes an in-line documentation with all the new (and old) options. It can be found in ./conf/master.conf

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@84 64b25241-fba3-4117-9849-534c7e92360d
2011-12-07 17:59:34 +00:00
Carles Fernandez
228fa3b797 moving things to trunk
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@72 64b25241-fba3-4117-9849-534c7e92360d
2011-10-01 18:45:20 +00:00