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

158 Commits

Author SHA1 Message Date
Carles Fernandez
3257d8cba1 Improving handling of optional processing blocks and linking libraries.
New options ENABLE_GN3S, ENABLE_RTLSDR, ENABLE_OPENCL, ENABLE_ARRAY and
ENABLE_GPERFTOOLS, all set by default to OFF. Users can enable that
features by 'cmake -DENABLE_XXX=ON ../ '. OpenCL is now not used by
default since it was giving problems in some platforms. Old variables
(RTSDR_DRIVER, GN3S_DRIVER, RAW_ARRAY_DRIVER and DISABLE_OPENCL) are
still honored and can be used in the same way, but the new ENABLE_XXX
are recommended for the sake of more uniform naming. Main CMakeFile.txt
has been rearranged, putting options first, then searching for the
required libraries, and then the optional ones. If Gperftools is enabled
and found, binaries are linked to the tcmalloc and profiler libraries,
and using the adequate flags. Fixed building in Mac OSX if Armadillo and
OpenBLAS were not installed in the system.
2014-08-07 21:04: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
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
25ed311f22 Small fix for Mac OS X
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@488 64b25241-fba3-4117-9849-534c7e92360d
2014-03-16 20:21:21 +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
Javier Arribas
28d6b9a122 GNSS-SDR Array blocks update
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@482 64b25241-fba3-4117-9849-534c7e92360d
2014-02-18 19:40:44 +00:00
Javier Arribas
ae053127b4 components of CTTC experimental GNSS antenna array signal source adapter for GNSS-SDR. Not usable yet!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@481 64b25241-fba3-4117-9849-534c7e92360d
2014-02-17 18:53:45 +00:00
Carles Fernandez
4edd485cd0 Tidying up includes: own .h, C libraries, C++ libraries, other libraries' .h, project's .h. Some old time.h and stdlib.h have been replaced by ctime and cstdlib
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@477 64b25241-fba3-4117-9849-534c7e92360d
2014-01-14 23:22:54 +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
9c890a799f add GNU Radio include dirs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@464 64b25241-fba3-4117-9849-534c7e92360d
2013-12-15 22:27:37 +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
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
Javier Arribas
ee43872704 New feature: GNSS-SDR now reads the IFEN NSR 2bit sample file format. The GNSS-SDR receiver can now be used with the SX-NSR scientific navigation front-end receiver using its native .stream binary captures.
More information of this high-end front-end can be found here:  http://www.ifen.com/products/sx-scientific-gnss-solutions/nsr-software-receiver.html


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@421 64b25241-fba3-4117-9849-534c7e92360d
2013-10-14 16:51:47 +00:00
Javier Arribas
9bfd2bb32a Front-end calibration utility is now fully operative for the following front-ends:
- RTLS-SDR + Elonics E4000

Some bug correction in PCPS acquisition

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@398 64b25241-fba3-4117-9849-534c7e92360d
2013-07-30 10:53:45 +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
5e6e66e60b fixing some errors on compiling the gn3s signal source
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@396 64b25241-fba3-4117-9849-534c7e92360d
2013-07-21 22:18:19 +00:00
Carles Fernandez
180a1e3a46 fixes some old gnuradio definitions
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@395 64b25241-fba3-4117-9849-534c7e92360d
2013-07-21 21:57:42 +00:00
Carles Fernandez
36f70490d9 some small changes required by Pybombs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@379 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 11:22:44 +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
Carles Fernandez
53fed8b3d4 Fix compilation problem in Mac Os X (thanks to Brian Kuschak)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@355 64b25241-fba3-4117-9849-534c7e92360d
2013-04-05 20:28:20 +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
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
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
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
ab874b7ded BUG fixed in rtl-sdr signal_source cmake compiler script
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@308 64b25241-fba3-4117-9849-534c7e92360d
2013-01-10 11:38:58 +00:00
Carles Fernandez
20f4b4ceea Copy the GN3S v2 firmware binary file to the install folder if the variable GN3S_DRIVER is set.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@302 64b25241-fba3-4117-9849-534c7e92360d
2012-12-28 15:57:03 +00:00
Carles Fernandez
201b446c47 Added build support for the GN3S dongle. If the variable GN3S_DRIVER is set, CMake automatically builds the gr-gn3s project, adds the gn3s_signal_source and links the corresponding library. There is no need to have gr-gn3s already installed.
Example:
$ cd build
$ export GN3S_DRIVER=1
$ cmake ../
$ make
$ make install

The gr-gn3s project can be build and installed independently, for instance for using it as a source block in gnuradio-companion.


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@300 64b25241-fba3-4117-9849-534c7e92360d
2012-12-27 21:11:50 +00:00
Carles Fernandez
b52846e7fd Added support for RTL devices. If the variable RTLSDR_DRIVER is set, CMake looks for libosmosdr and gnuradio-osmosdr libraries and compiles the corresponding signal source.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@298 64b25241-fba3-4117-9849-534c7e92360d
2012-12-27 17:09:16 +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
2c700a49a2 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@272 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 16:47:10 +00:00
Carles Fernandez
e659ca96b2 Fix bug identifying the USRP
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@270 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 11:05:27 +00:00
Carles Fernandez
9727444b57 Fix device_address bug, added comments, code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@269 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 10:56:33 +00:00
Carles Fernandez
ae4a867249 code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@262 64b25241-fba3-4117-9849-534c7e92360d
2012-10-28 10:56:04 +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
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
Carles Fernandez
5ff5e8e7bd Better exception handling for File_Signal_Source
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@214 64b25241-fba3-4117-9849-534c7e92360d
2012-07-15 11:08:10 +00:00
Carles Fernandez
d579d0d8e5 Gives and informative message and exits the program when the source file is not found, instead of abort and core dumping
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@210 64b25241-fba3-4117-9849-534c7e92360d
2012-07-15 00:47: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
1c0fed749d Removed some debug messages from release compilation to debug compilation (Using DLOG() instead of LOG_AT_LEVEL() ) to speed up a bit the release execution.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@194 64b25241-fba3-4117-9849-534c7e92360d
2012-04-11 18:44:56 +00:00
Carles Fernandez
0d6462e52a Unnecessary include removed
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@190 64b25241-fba3-4117-9849-534c7e92360d
2012-03-24 03:01:55 +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
Carles Fernandez
e3f8b0aeaa Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@183 64b25241-fba3-4117-9849-534c7e92360d
2012-03-04 05:28:57 +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
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
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
27b5074152 gnss-sdr now accepts a --config_file flag for specifying the configuration file:
./gnss-sdr --config_file="my_receiver.conf" 

and another --signal_source flag that, if specified, overrides the file in the configuration:

./gnss-sdr --signal_source=/path/to/file.dat

Requires gflags 1.6 or later.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@100 64b25241-fba3-4117-9849-534c7e92360d
2011-12-26 05:04:27 +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
Javier Arribas
004cd776d9 BUG FIX: Now the file_signal_source obeys the SignalSource.samples configuration parameter in the conf file. This fix allows limiting the number of samples to be processed by the receiver.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@79 64b25241-fba3-4117-9849-534c7e92360d
2011-11-21 10:04:37 +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