1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-11-18 15:54:59 +00:00
Commit Graph

547 Commits

Author SHA1 Message Date
Carles Fernandez
0253f4ba05 Merge remote-tracking branch 'upstream/common_solver' into next
This commit Integrates RTKLIB positioning libraries in a universal PVT
block implementation called RTKLIB_PVT. This results in an improved
positioning accuracy and precision with a wide range of options
(including Precise Point Positioning and ionospheric/troposphreic
models).

Not all the RTKLIB features have been ported. Some of them will be
progressively added. The ported options and how to configure them have
been documented in the website, see
http://gnss-sdr.org/docs/sp-blocks/pvt/

This commit also introduces a multi-band, multi system Observables block
implementation.

Relevant architectural changes that reduce latency and makes
multi-system, multi band signal handling easier.

Redundant blocks have been deleted. Old configurations are automatically
redirected to the new blocks for Observables and PVT, so the commit does
not break any existing configuration. The user should just notice a
relevant improvement in positioning performance.

# Conflicts:
#	src/core/receiver/gnss_flowgraph.cc
2017-05-10 22:16:18 +02:00
Carles Fernandez
9fef3fbfe9 Merge branch 'next_fpga' of https://github.com/gnss-sdr/gnss-sdr into next 2017-05-08 22:48:04 +02:00
mmajoral
de2043ca00 cleaned the acquisition code that runs in the Zynq SoC, cleaned some tracking files that run in the Zynq SoC as well. 2017-05-08 17:03:27 +02:00
Javier Arribas
736e2039c6 Bug fix in Galileo E1 tracking timing notification 2017-05-04 16:43:12 +02:00
Javier Arribas
e26ddf07bc Bug fixes for duplicated observable time 2017-04-27 15:28:30 +02:00
Javier Arribas
807ca24fc2 Refactoring code. Adding new experimental tests and new common TX time observables algorithm 2017-04-12 17:04:51 +02:00
Carles Fernandez
2b442777ce Fix spelling error detected by lintian 2017-04-07 17:25:21 +02:00
Javier Arribas
e0b0605545 Removing unused code, improving ref satellite selection in observables and partial correction of the gps L2 TOW offset bug 2017-03-30 19:25:46 +02:00
Javier Arribas
620a44dad9 Fix compilation error for GPU tracking module 2017-03-29 10:35:50 +02:00
Carles Fernandez
c12384cce4 Merge branch 'next_fpga' of https://github.com/gnss-sdr/gnss-sdr into
next

# Conflicts:
#	README.md
2017-03-13 21:05:38 +01:00
Carles Fernandez
ef5cb645a7 Code cleaning: remove tabulators, remove multiple blank lines 2017-03-13 20:54:25 +01:00
mmajoral
c6eda22bab 1 - Check for any exception in tracking_dump_reader.cc and tracking_true_obs_reader.cc when manipulating files, not just a specific exception, for compatibility with the Linux OS running in the Zynq board. 2 - gps_l1_ca_dll_pll_tracking_test.cc uses the c_aid_tracking class instead of the tracking one. 3 - Implemented the code that runs the unit test of the GPS tracking algorithm using the HW accelerator in the FPGA 2017-03-13 09:59:16 +01:00
Javier Arribas
d5656e65a8 Adding experimental input filter Pulse Blanking algorithm implementation 2017-02-21 11:35:18 +01:00
mmajoral
d22f4f5f2b Started implementing the code that uses the FPGA HW accelerators and the unit tests. For now the code contains a cloned version of the tracking tests using short complex data types plus a few new class variable definitions 2017-02-13 17:20:49 +01:00
Carles Fernandez
d491718768 Merge branch 'rinex_fix' of https://github.com/gnss-sdr/gnss-sdr into rinex_fix 2017-02-02 20:29:21 +01:00
Carles Fernandez
beb7bc9ae1 Enable extended correlation time in 16sc implementation 2017-02-02 20:29:07 +01:00
Javier Arribas
dc910bca4e GNSS simulator-in-the-loop completed for tracking and telemetry unit tests 2017-02-02 16:41:58 +01:00
Carles Fernandez
7ee864168d Remove unused variable 2017-02-02 12:04:49 +01:00
Carles Fernandez
72fff7857c Fix cshort version of GPS_L1_CA_DLL_PLL_C_Aid_Tracking 2017-02-02 12:03:51 +01:00
Carles Fernandez
886e3d24d0 Merge branch 'rinex_fix' of https://github.com/gnss-sdr/gnss-sdr into
rinex_fix

# Conflicts:
#	src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc
#	src/algorithms/PVT/libs/gps_l1_ca_ls_pvt.cc
2017-01-30 20:26:50 +01:00
Carles Fernandez
f6be75ecf7 Fix L2C tracking 2017-01-29 20:51:58 +01:00
Carles Fernandez
4438ffe916 Code cleaning 2017-01-28 15:31:04 +01:00
Javier Arribas
3a11452a9e Bug fixes and Code refactoring in telemetry decoder 2017-01-26 16:09:49 +01:00
Javier Arribas
c6cb41cfe3 GPS L1 CA DLL/PLL tracking fixes and gnss_synchro code refactoring 2017-01-25 11:58:05 +01:00
Carles Fernandez
e746945a18 Remove unrequired variable 2016-10-27 08:26:25 +02:00
Carles Fernandez
24e62c4e4e Make use of volk_gnsssdr_malloc, volk_gnsssdr_free
instead of volk_malloc, volk_free (which are missing from the volk
version distributed by ubuntu 14.04). Fix the include guard in
volk_gnsssdr_malloc.h 
Thanks to @hoernchen
2016-08-18 14:17:02 +02:00
Carles Fernandez
2499946514 Fix correlator spacing 2016-08-11 13:51:14 +02:00
Carles Fernandez
b36773edf4 Fix bug in correlator spacing 2016-08-03 17:45:54 +02:00
Carles Fernandez
5a73b4e047 Improve package reproducibility
Packages using CMake often use file(GLOB ...) to retrieve a list of
source files. As this is based on readdir(), the resulting file list
is unsorted. A common use case is to pass this list directly to
add_executable or add_library. But as the order is unpredictable, the
binaries are not reproducible (because the order in which the objects
are linked will vary).

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824263
2016-05-23 19:51:59 +02:00
Carles Fernandez
0acb48c0b5 Remove unused queue from tracking blocks
Now replaced by GNU Radio block's message passing system
2016-05-09 11:51:42 +02:00
Carles Fernandez
7a6952f8b6 Remove unused queue
Now replaced by GNU Radio block's message passing system
2016-05-09 10:27:42 +02:00
Carles Fernandez
831cc75153 Remove tabs from the source code 2016-05-02 23:46:30 +02:00
Javier Arribas
0a5573f666 several receiver configuration mechanism simplifications and several bug fixes. Work in progress 2016-04-21 18:54:08 +02:00
Javier Arribas
0f80ce0159 Channel internal message queue is replaced by the asynchronous GNURadio
message system. Removing the deprecated channel internal queue and its
references. Some tests that are using the old channel queue are disabled
in this version
2016-04-15 16:33:41 +02:00
Javier Arribas
fc6fdc277c Fix incorrect correlator local code length in Galileo E5a tracking 2016-04-11 10:46:56 +02:00
Carles Fernandez
a10ca1a840 Filling the Signal field in all cases 2016-04-10 10:18:42 +02:00
Carles Fernandez
2cf82bef1d fix typo in documentation 2016-04-08 18:25:24 +02:00
Carles Fernandez
045d384061 small fixes and cleaning 2016-04-08 15:10:46 +02:00
Javier Arribas
5aebc90ff7 Fixing some initialization problems in tracking correlators that
could cause random segmentation faults.
2016-04-07 19:41:22 +02:00
Javier Arribas
1c2f897655 Refactoring the gnss_synchro member initializations and minor bug fixes. 2016-04-07 18:25:45 +02:00
Javier Arribas
150aceb404 Process optimization: Moved the receiver stdout status output
(a.k.a seconds counter) from the tracking blocks to PVT block
2016-04-06 17:33:52 +02:00
Javier Arribas
b4e8966691 Removing the unused Output_filter block from the gnss_sdr flowgraph 2016-04-06 16:12:06 +02:00
Javier Arribas
203e998efc Adding __attribute__((unused)) in tracking GNURadio work functions to
disable unused variable warnings without wasting any extra CPU cycle
2016-04-06 15:04:52 +02:00
Javier Arribas
9db0990adc Deleted obsolete DLL_FLL_PLL GPS tracking. Deleted obsolete correlator.h
and migrated all tracking in order to use the newer and optimized
cpu_multicorrelator. Code simplification and code cleaning
2016-04-06 14:58:18 +02:00
Javier Arribas
eac888067f Deleted obsolete DLL_FLL_PLL GPS tracking. Deleted obsolete correlator.h and migrated all tracking in order to use the newer and optimized cpu_multicorrelator. Code simplification and code cleaning 2016-04-06 14:57:44 +02:00
Carles Fernandez
970ba3feb8 fix typo 2016-04-03 09:42:39 +02:00
Carles Fernandez
3d733a5140 initializing all members in the constructor 2016-03-31 00:27:33 +02:00
Carles Fernandez
60cc057eb6 Fix defects detected by Coverity scan 2016-03-30 23:49:53 +02:00
Carles Fernandez
806fdcdade code cleaning 2016-03-30 22:28:13 +02:00
Carles Fernandez
4f3273f296 code cleaning, removing tabs 2016-03-30 22:27:12 +02:00
Carles Fernandez
70a2c5837c code cleaning 2016-03-30 21:09:38 +02:00
Javier Arribas
b2034896e1 Merge branch next_gps_20ms_corr with next. Removing obsolete code and code cleaning 2016-03-30 15:03:25 +02:00
Javier Arribas
d15066fda6 Bug fix in Hybrid PVT date/time computation. Removed the obsolete GPS L1 Optim tracking block 2016-03-29 18:40:00 +02: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
1703be7612 Removing optim_tracking 2016-03-18 20:28:27 +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
Javier Arribas
6e076e8143 Fixing bugs in extended correlator for GPS L1 2016-03-11 18:32:56 +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
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
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
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
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
Carles Fernandez
2697fb6198 Cleaning includes 2016-01-10 22:21:31 +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
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
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
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
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
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
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
Javier Arribas
15c4882af9 Linear regressor implemented in observables 2015-11-24 13:37:01 +01:00
Javier Arribas
411c8cedb0 experimental interpolator in observables 2015-11-23 23:05:52 +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
Javier
c2e254debc New DLL PLL Artemisa tracking block skeleton. Not usable yet! 2015-11-15 22:26:42 +01:00
Javier Arribas
2039e998ff Pinned memory (Zero copy) huge improvement for GPU tracking. 2015-10-15 19:09:09 +02:00
Javier Arribas
a4655e2b03 Merged with github next 2015-10-08 14:37:51 +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
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
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
Javier Arribas
26cf90cdd4 First working version of the GPU GPS tracking block (it requires NVIDIA
CUDA
3.0 GPU hardware)
2015-07-24 17:21:25 +02:00
Javier Arribas
f722f5f8f7 Added GPU tracking block for GPS L1 CA. Not activable yet... 2015-07-23 18:07:52 +02:00
Javier
69a76990fc Adding Galileo E5 CN0 tracking debug print on std::cout
Adding more configuration sample files:

- GPS L1 + GPS L2CM realtime tracking for Flexiband
frontend
- GPS L1 + GPS L2CM + Galileo E1 realtime tracking for Flexiband
frontend
- GPS L2CM realtime tracking on USRP1 (requieres stable sample clock)
2015-06-22 16:12:53 +02:00
Javier
df48bf7342 - Small adjustments in GPS L2M tracking lock detector static thresholds.
- Added sample configuration file for dual frequency GPS L1 + L2
realtime operation for Teleorbit Flexiband Frontends (requires a
external hardware driver installed)
2015-06-16 17:16:20 +02:00
Javier
26a6bbd37a bug found in PRN resampler code. Disabled optimization 2015-06-12 19:28:56 +02:00
Javier
adf73e0610 Work in progress for GPS L2C support:
- Patched GPS L2CM tracking pull-in code.
- Workaround for ViterbiDecoder bug
2015-06-12 15:49:25 +02:00
Javier
b8d3f293f1 GPS L2C bug fixes. Added skeleton for a Mixed (multi-frequency and
multi-system) observables block.
2015-06-05 18:46:00 +02:00
Carles Fernandez
0b34eee48c initialize members in the constructor 2015-05-24 11:15:27 +02:00
Carles Fernandez
3a98f0765e initialize variable 2015-05-22 20:25:23 +02:00
Carles Fernandez
4ca6e5b749 Initializing member in the constructor 2015-05-22 20:17:37 +02:00
Carles Fernandez
4d34af4f40 initializing member in the constructor 2015-05-22 20:14:25 +02:00
Javier
61c7ab8eed Added GPS L2 Ephemeris and Clock parameters CNAV frame bit structure
definitions
2015-05-20 18:24:53 +02:00
Carles Fernandez
64a81d8c48 initializing members in the constructor 2015-05-19 22:45:16 +02:00
Carles Fernandez
ed06936992 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-19 07:58:23 +02:00
Carles Fernandez
7dcffd3401 Initializing class members in the constructor 2015-05-17 11:02:27 +02:00
Javier
c23654f7a2 Updates in the GPS L2C CNAV telemetry decoder. Migrating code from SBAS
decoder. Viterbi is working now and CRC check detects good frames. Still
work to do.
2015-05-14 18:53:12 +02:00
Carles Fernandez
d1a1815083 fixing coverity issues 2015-05-13 16:40: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
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
e354b1ce53 less verbose logging in Release 2015-05-04 22:16:26 +02:00
Carles Fernandez
c9300c45a0 adding missing include 2015-05-03 13:17:21 +02:00
Carles Fernandez
1011bb0863 Faster local carrier update (25% of improvement) 2015-05-03 13:15:17 +02:00
Carles Fernandez
caa10a583f adding missing include 2015-05-03 12:35:37 +02:00
Carles Fernandez
09e86c2750 faster update 2015-05-03 12:33:51 +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
Carles Fernandez
6cf4b35988 All the tracking blocks set valid pseudoranges to false 2015-03-04 10:47:54 +01:00
Carles Fernandez
6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Carles Fernandez
5fb0183267 Fix compilation error if volk_gnsssdr was already installed 2014-12-24 11:51:30 +01:00
Carles Fernandez
d1d1d9e36f add volk_gnsssdr_module target dependency 2014-12-23 22:42:39 +01:00
Carles Fernandez
3c89c1c5f6 Making it work for Xcode, credits to Andres Cecilia 2014-11-17 20:42:50 +01:00
Carles Fernandez
87adf631e0 some fixes 2014-11-07 18:25:35 +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
61f6e125ea Updated GALILEO_VOLK_E1_DLL_PLL_VEML_TRACKING 2014-10-18 04:40:23 +02:00
andres
5a498207c4 Merge branch 'volk_tracking_performance' into volk_merge_with_next 2014-10-18 02:42:01 +02:00
andres
0f7c23bd7e Commenting the code 2014-10-17 02:56:15 +02:00
andres
2fefe9f21c Created individual gnurdio tracking block for volk
Created individual gnuradio tracking block for volk:
galileo_volk_e1_dll_pll_veml_tracking_cc

the galileo_volk_e1_dll_pll_veml_tracking_cc gnuradio block is now the
original one.
2014-10-17 02:24:54 +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
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
d71ae159dc Modified galileo_e1_dll_pll_veml_tracking_cc
Modified galileo_e1_dll_pll_veml_tracking_cc for testing the new volk
tracking-specific protokernels
2014-09-22 14:56:17 +02:00
Anthony Arnold
77b635e8c0 Merge with next 2014-09-18 02:10:56 +10:00
Anthony Arnold
4c2b0fbc45 Testing for ARM and SSE to compile for armhf 2014-09-18 00:50:44 +10:00
Carles Fernandez
60fea64b5e Code cleaning 2014-09-14 18:53:51 +02:00
Carles Fernandez
478d22f973 Changing C-styled cast by C++ style 2014-09-12 20:31:42 +02:00
Carles Fernandez
bb62dae014 Changing C-styled cast by C++ static_cast<>() 2014-09-12 13:34:43 +02:00
Carles Fernandez
35f9f30441 Some fixes and code cleaning 2014-09-12 10:56:04 +02:00
Carles Fernandez
59c503d38a Some fixes 2014-09-10 03:49:58 +02:00
Carles Fernandez
9106f147ef Better VOLK usage. Memory alignment, using dispatcher instead of
aligned/unaligned versions. Code cleaning.
2014-09-10 03:15:01 +02:00
Carles Fernandez
fd6a8e3cff Better VOLK usage. Memory alignment, calling dispatchers instead of
aligned/unaligned versions. Code cleaning.
2014-09-10 00:23:18 +02:00
Andrés Cecilia Luque
d205d5640d Modifications to use volk_gnsssdr in tracking 2014-09-08 01:56:34 +02:00
Carles Fernandez
1183c73b09 Merge branch 'next' of ssh://carlesfernandez@git.code.sf.net/p/gnss-sdr/cttc into next 2014-09-07 19:51:36 +02:00
Carles Fernandez
322550e0c6 Adding an option to build the binary without detecting the SIMD
instruction set present in the compiling machine, so it can be executed
in other machines without those specific sets.
2014-09-07 19:35:41 +02:00
Javier Arribas
072d0cad67 Important bug found and fixed:
Volk memory alignement for signal vectors was using a hardcoded 16 bytes
value. This parameter is machine-dependant and thus, in modern machines
caused memory exceptions if the parameter not match.

All posix_memalign functions are now replaced by the GNU Radio
volk_malloc(vector_size (bytes), volk_get_alignement());

volk_get_alignement() returns the number of bytes to align the memory
blocks in the current processor.

The memory bug showed up when the receiver is configured with higher
sample rates (>4 Msps!)
2014-09-07 19:11:37 +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
Javier Arribas
54147b519a Merge remote-tracking branch 'origin/next' into gps_galileo_hybrid
Conflicts:
	src/algorithms/PVT/libs/kml_printer.h
	src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc
2014-09-01 22:57:40 +02:00
Carles Fernandez
ad5fd36719 Adding Galileo-GPS system time parameters. Fixes in tracking 2014-08-31 13:21:41 +02:00
Javier Arribas
32a66b8a41 Merge remote-tracking branch 'origin/next' into gps_galileo_hybrid 2014-08-28 15:47:04 +02:00
marc-sales
1d3d40cefd final version 2014-08-20 10:59:47 +02:00
marc-sales
3b3c809dab Unified acquisition 2014-08-05 02:01:37 +02:00
Javier Arribas
cefd2de5af Merge remote-tracking branch 'origin/next' into gps_galileo_hybrid 2014-07-20 16:53:52 +02:00
Carles Fernandez
6967fc833e Fixes rounding errors in frequency to period conversion that were
causing tracking losses. Bug spotted by Marc Sales.
2014-07-19 19:29:27 +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
Javier Arribas
abe9ca9450 Hybrid PVT working!! It was a problem with the timestamp account in the
correlators due to the differences in the correlation time (PRN length).
Only corrected on GPS_DLL_PLL and Galileo veml correlator.
2014-06-30 17:48:01 +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
841ae59d6a Added two acquisition strategies. Flowgraph is changed to produce
default signal when doing sky search.
2014-06-26 00:11:44 +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
Javier Arribas
b0d33328d5 Simultaneous multi-GNSS system acquisition, tracking and telemetry
decoding: Changes in the flowgraph and in the configuration files to mix
channels from different GNSS systems in the same receiver. Hybrid
observables and PVT under construction.

The changes in the configuration file parameter names are NOT backward
compatible. The receiver can still work as usual in single GNSS system
mode but some modification on configuration files are required. Use the
example provided of Hybrid configuration file.
2014-06-10 18:58:17 +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
Carles Fernandez
7db1180d0a Fix wrong casting (thanks to Leonardo Tonetto for spotting this error) 2014-04-23 21:51:46 +02:00
Carles Fernandez
312ddfbce3 Applying patch by Leonardo Tonetto <tonetto.dev at gmail.com> fixing
wrong casting.
2014-04-23 21:36:22 +02:00
Javier Arribas
885c5f364c Small bug fix and new configuration file ready to receive GPS signals in real-time with USRP devices and appropiate front-ends. Remember to tune the front-end gain (source section in config file) and, in some particular antenna and LNA setups, tune also the acquisition threshold (acquisition section). The configuration is tested on USRP v1 + DBSRX, USRP 2 + DBSRX and USRP B100 + WBX.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@491 64b25241-fba3-4117-9849-534c7e92360d
2014-03-17 19:41: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
abd02e34a8 Code cleaning and improving documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@455 64b25241-fba3-4117-9849-534c7e92360d
2013-11-29 08:38:22 +00:00
Javier Arribas
87c5c212a4 FIRST GALILEO STANDALONE PVT FIX!!
- Bug fixes at Galileo telemetry decoder state machine
- Bug fixes at Galileo Ephemeris decoder (two complement's data interpreted as unsigned, mismatch at the LSB weights)

Galileo KML output is avalable!!

Galileo RINEX is still under construction

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@433 64b25241-fba3-4117-9849-534c7e92360d
2013-11-06 20:14:40 +00:00
Javier Arribas
83a9d41b05 Progress in Galileo E1:
Bug fix in galileo tracking
Several improvements in Galileo telemetry decoder.
Code cleaning in observables
Galileo PVT is able to decode Galileo time and get satellite ECEF positions

Galileo PVT soluton is still under development


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@432 64b25241-fba3-4117-9849-534c7e92360d
2013-10-30 18:08:25 +00:00
Javier Arribas
4d66f6c6ab - Galileo channels now supports all the published PRN IDs in acquisition and tracking
- Changes in Galileo telemetry decoding (still under construction)
- Bug correction in tracking blocks that could cause random segmentation faults on some configurations

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@431 64b25241-fba3-4117-9849-534c7e92360d
2013-10-25 16:07:24 +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
Carles Fernandez
5ef7ca03b0 some small changes required by Pybombs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@380 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 11:34:44 +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
e728450192 New feature (FE01): RINEX v 2.11 now outputs the following observables:
PSEUDORANGE
CARRIER PHASE
CARRIER DOPPLER
SIGNAL STRENGTH (dB-Hz)

thus, it enables the realtime kinematics and PPP positioning for first time in an open source GNSS SDR. Enjoy!

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@359 64b25241-fba3-4117-9849-534c7e92360d
2013-05-24 16:11:48 +00:00
Javier Arribas
cfeae47a29 Acquisition assistance is now working!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@353 64b25241-fba3-4117-9849-534c7e92360d
2013-04-02 14:02:55 +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
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
00a8007dc3 Adding Mac OS X support. Tested in Mountain Lion.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@333 64b25241-fba3-4117-9849-534c7e92360d
2013-01-27 20:50:38 +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
Javier Arribas
54df5928ab GPS DLL PLL Tracking code rearrange to match the Galileo DLL PLL algorithm and code cleaning.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@280 64b25241-fba3-4117-9849-534c7e92360d
2012-11-18 18:20:34 +00:00
Javier Arribas
b86d611314 TCP connector for Galileo tracking improved. Code cleaning in Galileo tracking
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@259 64b25241-fba3-4117-9849-534c7e92360d
2012-10-27 11:50:35 +00:00
Javier Arribas
d85f65ed4c Galileo E1b/c tracking improvement and code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@255 64b25241-fba3-4117-9849-534c7e92360d
2012-10-24 08:02:51 +00:00
Carles Fernandez
1aea9db69f Changed the "CN_estimators" library name by the more informative "lock_detectors". The CN0 estimators for GPS L1 C/A and Galileo E1 have been unified
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@254 64b25241-fba3-4117-9849-534c7e92360d
2012-10-21 09:54:37 +00:00
Javier Arribas
3628453c52 - Bug in carrier lock detector algorithm corrected
- Code cleaning and DLL/PLL variable renaming in galileo_e1_dll_pll_veml tracking

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@253 64b25241-fba3-4117-9849-534c7e92360d
2012-10-20 16:11:31 +00:00
David Pubill
c241b7b1d6 - Added TCP connector for Galileo E1 simulink tracking
- Added simulink-based Galileo_E1_DLL_PLL_VEML_Tracking

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@250 64b25241-fba3-4117-9849-534c7e92360d
2012-10-19 13:38:25 +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
Carles Fernandez
5b5f165d7b Some comments added, code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@246 64b25241-fba3-4117-9849-534c7e92360d
2012-10-16 23:02:02 +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
02ab6ce7d7 New GPS L1 CA tracking module GpsL1CaDllPllOptimTracking optimized for speed:
- The local code replica is pre-initialized and resampled to the nominal PRN code sample rate (no code Doppler correction)

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@242 64b25241-fba3-4117-9849-534c7e92360d
2012-09-04 15:57:30 +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
Javier Arribas
690d7c66e7 About 40% of tracking speed improvement by extending the early local code replica and using memcpy to generate prompt and late replicas.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@219 64b25241-fba3-4117-9849-534c7e92360d
2012-07-31 15:10:20 +00:00
Javier Arribas
fb82c2246d Correlator class now takes profit of the GNU Radio memory alignment, used by Volk SIMD functions
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@218 64b25241-fba3-4117-9849-534c7e92360d
2012-07-31 12:35:07 +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
David Pubill
aab40c963d Simulink tracking block updated: generation of the Simulink model from a script MATLAB and improvement of the tracking algorithm (both PLL and DLL). Added multi-threading support for MATLAB.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@208 64b25241-fba3-4117-9849-534c7e92360d
2012-07-03 12:52:12 +00:00
Javier Arribas
d467874a40 Bug correction in tracking lock detector threshold comparison algorithm.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@196 64b25241-fba3-4117-9849-534c7e92360d
2012-04-19 18:18:53 +00:00
Javier Arribas
9d34147e0f Major update to improve the GNSS-SDR pseudorange precision and correct some PVT bugs:
- Updated all available trackings to generate the tracking_timestamp_secs taking into account the remainder code phase.
- Updated the telemetry decoder to track the number of symbol shifted from the preamble start symbol (to be used in observables).
- Updated observables to align the reference channel symbol with the corresponding symbols in the other channels and compute pseudorranges using the common transmission time algorithm.
- Updated PVT to independize the display output rate from the RINEX and KML log files. New options available in config file!
- Some minor improvements and code cleaning.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@193 64b25241-fba3-4117-9849-534c7e92360d
2012-04-11 10:43:35 +00:00
David Pubill
984b782660 Added a new tracking algorithm that uses TCP sockets to move the work of a processing block to a remote machine executing MATLAB Simulink.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@185 64b25241-fba3-4117-9849-534c7e92360d
2012-03-16 10:55:58 +00:00
Luis Esteve
c428fe21c5 Changes in flowgraph and channel_fsm. Now the number of channels in acquisition mode can be controlled from the config file.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@179 64b25241-fba3-4117-9849-534c7e92360d
2012-03-02 17:17:51 +00:00
Javier Arribas
2406a7772a Updated tracking to use cmath round which is faster than boost::math::round
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@161 64b25241-fba3-4117-9849-534c7e92360d
2012-02-16 17:28:56 +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
Javier Arribas
0a62725445 - Improved speed for samples inconsistency check in tracking modules, and
- Added a total elapsed run time counter in main: now it is possible to compare the post-processing time with the signal duration. The elapsed time is reported in STD::COUT when GNSS-SDR finish the main thread.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@156 64b25241-fba3-4117-9849-534c7e92360d
2012-02-08 19:50:16 +00:00
Carles Fernandez
9625070ea9 Pretty-printing of satellites is back again
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@150 64b25241-fba3-4117-9849-534c7e92360d
2012-01-30 23:14:57 +00:00
Javier Arribas
9f3fbeb52d Code cleaning and few optimizations in tracking modules.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@148 64b25241-fba3-4117-9849-534c7e92360d
2012-01-29 18:03:56 +00:00
Javier Arribas
dd01b83bc3 GNSS SDR now uses the unified Gnss_Synchro class to exchange signal synchronization data between Acquisition, Tracking and Telemetry decoder blocks.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@147 64b25241-fba3-4117-9849-534c7e92360d
2012-01-27 18:01:17 +00:00
Carles Fernandez
0d598a7188 Added implementation of plain cordic class in tracking/libs. Added a corresponding test. The implementation is slower than standard sin and cos implementations, so it is not used in the receiver. The test will fail otherwise, indicating that this should be used instead of standard functions.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@142 64b25241-fba3-4117-9849-534c7e92360d
2012-01-25 01:57:28 +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
80af09f91f Acquisition, Tracking and TelemetryDecoder blocks now use Gnss_Satellite class and have access to know what parameters have to use. Algorithms are not system-related anymore.
Some code cleaning and and enhancements in the output screen messages.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@135 64b25241-fba3-4117-9849-534c7e92360d
2012-01-20 23:28:11 +00:00
Javier Arribas
b72802a51f Added experimental SIMD-accelerated correlator for tracking, using GNURadio volk libraries.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@134 64b25241-fba3-4117-9849-534c7e92360d
2012-01-20 16:37:16 +00:00
Carles Fernandez
305d9f14c1 Class Gnss_Satellite extended to tracking
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@133 64b25241-fba3-4117-9849-534c7e92360d
2012-01-19 19:30: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
276f7dd2dc cleaning code
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@127 64b25241-fba3-4117-9849-534c7e92360d
2012-01-13 01:28:42 +00:00
Carles Fernandez
82c17438b5 code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@126 64b25241-fba3-4117-9849-534c7e92360d
2012-01-13 01:06:28 +00:00
Carles Fernandez
32690a7d59 Tracking Classes are now upper case.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@125 64b25241-fba3-4117-9849-534c7e92360d
2012-01-13 00:49:24 +00:00
Carles Fernandez
bc62d8d5be Some code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@120 64b25241-fba3-4117-9849-534c7e92360d
2012-01-11 09:01:24 +00:00
Carles Fernandez
8738498691 Added a method in gps_navigation message that computes UTC time.
Experimental creation of RINEX headers.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@112 64b25241-fba3-4117-9849-534c7e92360d
2012-01-07 05:21:11 +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
7aa58ef590 Fixing the round problem
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@96 64b25241-fba3-4117-9849-534c7e92360d
2011-12-24 22:45:14 +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
Javier Arribas
34d1c5110b GNSS-SDR Major changes:
New tracking libraries:
        -  tracking_discriminators: Library with a set of code tracking and carrier tracking discriminators that is used by the tracking algorithms. (fully documented, including math algorithms using doxygen!)
        -  tracking_2rd_DLL_filter: Class that implements 2 order DLL filter for code tracking loop.
        -  tracking_2rd_PLL_filter: Class that implements 2 order PLL filter for carrier tracking loop.
        -  tracking_FLL_PLL_filter:  Class that implements hybrid FLL and PLL filter for tracking carrier loop.
        -  CN_estimators: Library with a set of Carrier to Noise estimators and lock detectors. (fully documented, including math algorithms using doxygen!)

    Tracking:
        - gps_l1_ca_dll_pll_tracking: The existing DLL + PLL tracking module, which is the K.Borre and D.Akos one, is now completely re-factored. Now uses the above described libraries.
        - gps_l1_ca_dll_fll_pll_tracking: This is a brand new tracking module, which implements the FLL assisted PLL described in Kaplan (2nd edition). (also documentedwith references)

    Configuration options:
        - The following tracking parameters are added:
            ;######### TRACKING CONFIG ############
            ; Tracking.implementation=GPS_L1_CA_DLL_PLL_Tracking or GPS_L1_CA_DLL_FLL_PLL_Tracking 
            Tracking.implementation=GPS_L1_CA_DLL_FLL_PLL_Tracking
            ;PLL filter bandwidth in Hz.
            Tracking.pll_bw_hz=50.0;
            ;DLL filter bandwidth in Hz.
            Tracking.dll_bw_hz=2.0;
            ;FLL filter bandwidth in Hz.
            Tracking.fll_bw_hz=50;
            ;filter order: choice between 2 or 3 at this moment, only for FLL assisted PLL
            Tracking.order=2;
            ;Correlator space in chips units
            Tracking.early_late_space_chips=0.5;

Other files have also been modified with minor changes to adapt to new modules or minor bug fixes.


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@80 64b25241-fba3-4117-9849-534c7e92360d
2011-11-22 17:21:54 +00:00
Javier Arribas
dcc3e4d858 Change of the set_doppler_freq_shift(float phase) to set_doppler_freq_shift(float doppler_freq_hz), and set_prn_code_phase(signed int phase) to set_prn_code_phase(signed int phase_samples), which are more appropiate, in tracking_interface. Minor changes in tracking adapters to be coherent with the new variable names
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@77 64b25241-fba3-4117-9849-534c7e92360d
2011-11-07 11:47:49 +00:00
Javier Arribas
1040e6865d Added J.Arribas contributions: PVT with basic least squares and rinex 2.1 output is now enabled, tracking channels now estimate the CN0 and performs a basic carrier lock detector and returns to acquisition if the tracking loss the lock.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@75 64b25241-fba3-4117-9849-534c7e92360d
2011-10-28 15:01:46 +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