1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-15 04:30:33 +00:00
Commit Graph

200 Commits

Author SHA1 Message Date
Luis Esteve
e6dfa1971d Simplifying the configuration file:
- Some channel and acquisition properties are now common for all channels
- You can choose between channel-specific properties or properties common to all
- Updating config file with the new options 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@360 64b25241-fba3-4117-9849-534c7e92360d
2013-05-26 23:59:04 +00:00
Luis Esteve
b9ac964654 FEATURE FE02: Adding the function that calculates the threshold from false alarm probability.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@357 64b25241-fba3-4117-9849-534c7e92360d
2013-05-16 16:25:51 +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
0bf9e44eb4 SUPL assistance support in progress:
- New SUPL parameters available in GNSS-SDR.conf
- Ephemeris assistance for real-time operation is now functional
- SUPL client now stores the received ephemeris in XML file. This file can be loaded on request to enable post-processing SUPL assistance and to enable SUPL assistance without internet connection. -> thowards a complete warm start GNSS-SDR.

BUG FIXES:
- GN3S driver firmware file copy operation in CmakeLists.txt had an error that mismatches the gn3s_firmware.ihx file location and prevents the correct firmware loading for GN3S SiGe USB dongles.


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@351 64b25241-fba3-4117-9849-534c7e92360d
2013-03-18 18:27:44 +00:00
Javier Arribas
d7b014e373 Experimental GPS assistence using Secure User Plane Protocol (SUPL) initial tests. Not usable yet!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@348 64b25241-fba3-4117-9849-534c7e92360d
2013-03-15 18:05:37 +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
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
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
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
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
Luis Esteve
01c80dac80 Fixed bug in gnss_flowgraph.cc.
Galileo satellites added to available_GNSS_signals_

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@239 64b25241-fba3-4117-9849-534c7e92360d
2012-09-03 11:58:28 +00:00
Javier Arribas
cc02888dad Freq_xlating_fir_filter decimation factor now can be configured using GNSS-SDR configuration file.
gnss-sdr_gn3s_realtime.conf was updated to use this feature.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@237 64b25241-fba3-4117-9849-534c7e92360d
2012-08-30 15:50:10 +00:00
Javier Arribas
cee0dd320d Added TTY serial device NMEA output (Linux only)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@236 64b25241-fba3-4117-9849-534c7e92360d
2012-08-29 15:32:00 +00:00
Javier Arribas
2252797386 Post-processing of Baseband signals captured using IQ Interleaved short integers are now supported using the new data type adapter Ishort_To_Complex
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@221 64b25241-fba3-4117-9849-534c7e92360d
2012-08-01 14:17:40 +00:00
Javier Arribas
bc87ea4472 Added support for the Realtek RTL2832U OsmoSDR signal source. The Rtlsdr_Signal_Source adapter compilation is optional. See GNSS-SDR README for more information.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@220 64b25241-fba3-4117-9849-534c7e92360d
2012-08-01 13:11:02 +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
Javier Arribas
b849b20a8c Added optional support for Sparkfun SiGe GN3S USB GPS RF sampler:
- Added a pre-compiled custom GN3S firmware.
- Added a fully-compliant GNU Radio source block for GN3S USB dongle. It can be used also from GNU Radio companion and from Python applications.
- Added a new GN3S_Signal_Source block. It is possible to disable the GN3S signal source compilation. See README.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@217 64b25241-fba3-4117-9849-534c7e92360d
2012-07-30 15:46:07 +00:00
Luis Esteve
721004b838 Changing nouns of variables of freq_xlating_fir_filter. Improving configuration files.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@216 64b25241-fba3-4117-9849-534c7e92360d
2012-07-18 15:47:59 +00:00
Luis Esteve
6f7b4f5aea Added freq_xlating_fir_filter class, this class implements a FIR filter and a composite frequency translation that shifts center_frequency down to zero Hz.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@215 64b25241-fba3-4117-9849-534c7e92360d
2012-07-18 13:29:18 +00:00
Carles Fernandez
e503ab9e0b Change from a personal data path to a generic ../data/my_capture.dat
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@213 64b25241-fba3-4117-9849-534c7e92360d
2012-07-15 01:23:29 +00:00
Carles Fernandez
bff49cd862 Added some info stating that this is the default configuration file and the usage of the --config_file flag
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@212 64b25241-fba3-4117-9849-534c7e92360d
2012-07-15 01:21:20 +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
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
ddb5b0ebba Small bug in UHD Source corrected
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@187 64b25241-fba3-4117-9849-534c7e92360d
2012-03-16 14:01:14 +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
Javier Arribas
5f51f513a3 Correlator class librery now uses volk_profile information to select the best architecture for the SIMD enabled functions.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@184 64b25241-fba3-4117-9849-534c7e92360d
2012-03-09 15:31:32 +00:00
Javier Arribas
1cb02b5df2 New signal source for real-time operation with Universal Hardware Driver (UHD) devices. RF Real-time milestone reached!!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@180 64b25241-fba3-4117-9849-534c7e92360d
2012-03-02 18:50:21 +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
Luis Esteve
c0aca3b5d0 Major changes:
- Fir_Filter implementation for InputFilter block in SignalConditioner
- Tests for InputFilter and Resampler
- Fixed some bugs

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@176 64b25241-fba3-4117-9849-534c7e92360d
2012-02-24 16:06:14 +00:00
Luis Esteve
69db06356a Changes in src/test/test_main.cc
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@158 64b25241-fba3-4117-9849-534c7e92360d
2012-02-13 11:02:53 +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
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
Luis Esteve
ec57e48f4e Major changes in flowgraph, configuration file and channel. Added gnss_signal class.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@146 64b25241-fba3-4117-9849-534c7e92360d
2012-01-27 11:58:55 +00:00
Javier Arribas
22925909fd Added new classes Gnss_Synchro and Gnss_Signal
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@145 64b25241-fba3-4117-9849-534c7e92360d
2012-01-25 16:23:54 +00:00
Carles Fernandez
88aab41407 Restoring trunk from an accident
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@137 64b25241-fba3-4117-9849-534c7e92360d
2012-01-21 03:13:41 +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
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
Carles Fernandez
b2e91bd75b updating perftools version
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@92 64b25241-fba3-4117-9849-534c7e92360d
2011-12-24 00:07:22 +00:00
Carles Fernandez
fb6151c8b3 USRP1 source, that was build upon gnuradio-usrp, has been deactivated. Now GNSS-SDR is compatible with GNU Radio 3.5.0
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@87 64b25241-fba3-4117-9849-534c7e92360d
2011-12-21 00:21:20 +00:00
Javier Arribas
8fd6b662b7 Added GNURadio 3.4.2 and Ubuntu 11.10 compatibility. Environment variable GNURADIO_330_ROOT is now generic GNURADIO_ROOT
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@85 64b25241-fba3-4117-9849-534c7e92360d
2011-12-14 16:50:36 +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
Luis Esteve
93bb040a1e Changes in gps_l1_ca_pcps_acquisition_cc.cc. New test statistic of CFAR algorithm, according to decision theory.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@78 64b25241-fba3-4117-9849-534c7e92360d
2011-11-12 17:39:32 +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