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

290 Commits

Author SHA1 Message Date
Carles Fernandez
de9415571d Minor documentation improvements
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@449 64b25241-fba3-4117-9849-534c7e92360d
2013-11-24 23:55:32 +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
Javier Arribas
806af3e98f GSoC 2013 commit from Mara Branzanti: Galileo E1 observables under construction!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@422 64b25241-fba3-4117-9849-534c7e92360d
2013-10-18 09:38:43 +00:00
Javier Arribas
5fddaae79d Mara Branzanti GSoC commit: Galileo observables block skeleton. Not usable yet!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@418 64b25241-fba3-4117-9849-534c7e92360d
2013-09-09 14:32:48 +00:00
Carles Fernandez
5b13435332 small fixes to cmake scripts
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@374 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 02:15:09 +00:00
Carles Fernandez
b0cefd151f cmake scriptfix: added missing gflags include
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@373 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 00:42:40 +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
3e87d1f204 Major update:
- The GNSS-SDR code-based Observable generation algorithm for GPS L1 C/A was migrated from common TX time to common RX time. One of the main reasons is that the common TX algorithm was incompatible with the standard RINEX observables, wich requires the oservables at the same time of reception.
- Using common Rx time, the code was simplified and now requires less memory due to the lack of symbol buffer

- Now it is possible to use standard RINEX post processing software (gpstk and rtklib for instance) to get PVT and the obtained precision is comparable to the internal Least Squares solver. It is possible to use also the carrier phase observable, but is still experimental.

- The default RINEX version output was set to 2.11 in this revision.  RINEX 3.00 is under verification now.


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@364 64b25241-fba3-4117-9849-534c7e92360d
2013-06-12 15:19:32 +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
8b2d21c1c9 Major changes:
- Gps telemetry decoder and PVT now uses independent queues for ephemeris, iono, utc_model and almanac. The old gps_navigation_queue is now deprecated and it is removed from the implementation. This affect almost all the PVT and Rinex printer classes.
- Rinex printer class updated to use the new ephemeris, iono, utc_model objects
Bug fixes and correction:
- The pseudorange generation now is based on the computed TOW for each received symbol. The History_Shift computation become simplier in this way. This modification is also a solution for a bug where the pseudoranges became temporally invalid when the TOW is updated (that happen every 6 secons!) 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@343 64b25241-fba3-4117-9849-534c7e92360d
2013-03-14 12:52:32 +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
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
Carles Fernandez
5662d021d5 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@278 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 18:26:58 +00:00
Carles Fernandez
0edaeb028e Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@275 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 17:03:51 +00:00
Carles Fernandez
25a30e3851 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@267 64b25241-fba3-4117-9849-534c7e92360d
2012-10-28 13:20:55 +00:00
Carles Fernandez
fb287c0de3 remove weird symbol
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@207 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 20:00:16 +00:00
Carles Fernandez
ec6952d356 revert changes
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@206 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 19:58:08 +00:00
Carles Fernandez
0d8b26de30 Revert changes of bits_slices struct since it was not decoding the navigation message properly
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@205 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 19:53:52 +00:00
Carles Fernandez
f6892a8bf3 It seems that definitions such as
const bits_slice INTEGRITY_STATUS_FLAG = {{23,1}};

used in GPS_L1_CA.h are not allowed in the C++11 standard since they do not correspond to any valid constructor. This is accepted by the current version of gcc (probably due to backward compatibility with C and earlier versions of C++), but it *could* not be accepted in future versions. This can be fixed by putting the struct into a std::vector. I don't know if this is the best way but it seems to work well and does not implies major changes in the code.

There is another issue with the Gnss_Synchro class. Since it had a constructor and a destructor, it could not be considered a POD (Plain Old Data) structure and this has some limitations: while gcc and the C99 standard allowed an array's size to be determined at run time, this extension is not permitted in standard C++. This issue has implications when passing Gnss_Synchro through memory between signal processing blocks. In order to fix this, I have removed the Gnss_Synchro.cc implementation and now this is a header-only class where the array size can be determined at compile time


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@204 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 12:45:20 +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
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
Javier Arribas
0046d9169c Completed the migration to Gnss_Synchro as a common object to exchange signal synchronization data between gnss-sdr GNURadio blocks
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@155 64b25241-fba3-4117-9849-534c7e92360d
2012-02-03 16:13:52 +00:00
Javier Arribas
16a1797c6d Telemetry decoder module now uses the Gnss_Synchro class to communicate the block with the observables block
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@154 64b25241-fba3-4117-9849-534c7e92360d
2012-02-03 11:50:51 +00:00
Carles Fernandez
63377a4ece The class gps_navigation_message is now Gps_Navigation_Message, following the coding style.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@122 64b25241-fba3-4117-9849-534c7e92360d
2012-01-12 00:47:32 +00:00
Carles Fernandez
76b33f232e Now the Rinex_Printer prints all the satellites' nav data available in the channels.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@121 64b25241-fba3-4117-9849-534c7e92360d
2012-01-12 00:21:29 +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
31faaa7722 Minor documentation fixes
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@118 64b25241-fba3-4117-9849-534c7e92360d
2012-01-10 09:49:09 +00:00
Carles Fernandez
ca960b96e9 Now the software recognizes the satellite block to which the SV belongs.
Experimental storage of ephemeris in RINEX NAV file.

Some double variables are now int.

The nav message header and data Rinex printer handles both versions 2.11 and 3.01.

Change of filename: rinex_2_1_printer is now rinex_printer.

Class rinex_printer is now Rinex_Printer.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@117 64b25241-fba3-4117-9849-534c7e92360d
2012-01-10 08:43:58 +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
d61d86900b Added more decodification of the NAV data message
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@110 64b25241-fba3-4117-9849-534c7e92360d
2012-01-03 19:35:56 +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
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
57f7a128a5 Removed namespace arma in PVT. Now Armadillo is called using arma::xxxx
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@83 64b25241-fba3-4117-9849-534c7e92360d
2011-11-28 10:52:52 +00:00
Javier Arribas
40754e6256 Linear Algebra Library replacement: ITPP is now replaced by Armadillo
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@82 64b25241-fba3-4117-9849-534c7e92360d
2011-11-28 10:19:41 +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