1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-11-09 11:30:03 +00:00
Commit Graph

1179 Commits

Author SHA1 Message Date
Carles Fernandez
aa5b531cd3 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@440 64b25241-fba3-4117-9849-534c7e92360d
2013-11-10 18:52:29 +00:00
Carles Fernandez
1a623a155f include SBAS_L1_Telemetry_Decoder in the block factory, and the corresponding queues
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@437 64b25241-fba3-4117-9849-534c7e92360d
2013-11-09 23:11:46 +00:00
Carles Fernandez
601e5fa2c9 SBAS stuff developed by Daniel Fehr during GSOC 2013
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@436 64b25241-fba3-4117-9849-534c7e92360d
2013-11-09 22:03:42 +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
e0947ff900 Adds libc++ (an implementation of the C++ standard library) when compiling on Mac OS X.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@426 64b25241-fba3-4117-9849-534c7e92360d
2013-10-20 22:12:43 +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
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
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
Luis Esteve
025a24bb20 Last commit from the GSoC 2013 project "Improve the acquisition sensitivity of a GNSS receiver" by Marc Molina.
Added OpenCL Acquisition blocks and tests. 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@420 64b25241-fba3-4117-9849-534c7e92360d
2013-10-01 20:32:04 +00:00
Javier Arribas
f4f22dffcd Mara Branzanti GSoC commit: Galileo PVT block skeleton. Not usable yet!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@419 64b25241-fba3-4117-9849-534c7e92360d
2013-09-10 08:44:02 +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
Javier Arribas
02eccce680 Mara Branzanti GSoC commit September 2th.
Galileo navigation queues


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@413 64b25241-fba3-4117-9849-534c7e92360d
2013-09-02 13:58:35 +00:00
Luis Esteve
2f6c75be76 Adding new algorithms of adquisition:
gps_l1_ca_pcps_multithread_acquisition
     gps_l1_ca_pcps_tong_acquisition
     galileo_e1_pcps_cccwsr_ambiguous_acquisition
     galileo_e1_pcps_tong_ambiguous_acquisition
     galileo_e1_pcps_8ms_ambiguous_acquisition

and test for all the algorithms.


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@411 64b25241-fba3-4117-9849-534c7e92360d
2013-08-28 17:17:57 +00:00
Javier Arribas
5b7027206b Commit from GSoC Mara branzanti (27 August)
- Galileo Ephemeris collector thread

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@410 64b25241-fba3-4117-9849-534c7e92360d
2013-08-27 14:32:44 +00:00
Javier Arribas
545f50fa47 Bug correction in SUPL client (the assistance TOW scale was 0.08 s instead of 1 s)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@409 64b25241-fba3-4117-9849-534c7e92360d
2013-08-23 08:56:24 +00:00
Javier Arribas
0139591baa Added a functionaity that saves the latest GPS Ephemeris/IONO/UTC model data to XML disk files when gnss-sdr end its operations.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@408 64b25241-fba3-4117-9849-534c7e92360d
2013-08-21 15:17:02 +00:00
Javier Arribas
74817d6d07 · Non-optimised multi-dwell acquisition with fine doppler estimation is now enabled in the block factory (It is used by the front-end calibration utility). It can be instantiated from the configuration file.
· Bug fixed in the configuration parser that prevented the use of non-integer thresholds
· Provisional patch added to disable the PVT output if the height is above 50 km (due to a random bug that appears with some satellite configurations..)




git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@407 64b25241-fba3-4117-9849-534c7e92360d
2013-08-20 18:05:26 +00:00
Javier Arribas
c0e103aabc GSoC commit from Mara Branzanti:
- Galileo telemetry decoding updates

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@406 64b25241-fba3-4117-9849-534c7e92360d
2013-08-20 10:43:53 +00:00
Javier Arribas
c4508f875f GSoC 2013 commit from Mara Branzanti
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@405 64b25241-fba3-4117-9849-534c7e92360d
2013-08-17 18:13:20 +00:00
Javier Arribas
367105f666 Commits from the Diff file created by Mara Branzanti on August 7th
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@404 64b25241-fba3-4117-9849-534c7e92360d
2013-08-16 12:45:30 +00:00
Javier Arribas
d070b4a389 Galileo navigation queues ready and some code cleaning and doxigen documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@403 64b25241-fba3-4117-9849-534c7e92360d
2013-08-15 15:14:17 +00:00
Javier Arribas
ad6210a900 Added CRC 24 checksum algorithm for Galileo INAV frames
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@402 64b25241-fba3-4117-9849-534c7e92360d
2013-08-14 16:10:24 +00:00
Carles Fernandez
05f09d1570 code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@401 64b25241-fba3-4117-9849-534c7e92360d
2013-08-02 16:00:12 +00:00
Javier Arribas
01dd425e58 Mara Branzanti contribution for Google Summer of Code (GSoC 2013)
- Galileo Telemetry page decoder
- Galileo Ephemeris and almanac decoder  (still experimental!)
 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@399 64b25241-fba3-4117-9849-534c7e92360d
2013-07-30 16:40:20 +00:00
Luis Esteve
8b10549fee Patch submitted by Marc Molina: Improving PCPS Acquisition with some VOLK instructions. Enabling the secondary spreading code in Galileo acquisition. Adding Signal Generator to GNSS-SDR.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@397 64b25241-fba3-4117-9849-534c7e92360d
2013-07-23 18:03:07 +00:00
Carles Fernandez
10318d6b7d Patch submitted by Daniel Fehr: Enabling EGNOS tracking and minor bugfixes
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@392 64b25241-fba3-4117-9849-534c7e92360d
2013-07-20 07:58:59 +00:00
Javier Arribas
b0a323095d Towards a Galileo INAV Navigation decoder: First version of the Galileo_E1_Telemetry_Decoder block. In this version only the preamble detection and page part synchro is functional.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@389 64b25241-fba3-4117-9849-534c7e92360d
2013-07-15 17:07:10 +00:00
Carles Fernandez
f79c5685c4 Now the gnss_block_factory catches 'cmake .. -DRTLSDR_DRIVER=1' and/or 'cmake .. -DGN3S_DRIVER=1'
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@387 64b25241-fba3-4117-9849-534c7e92360d
2013-07-13 11:25:48 +00:00
Carles Fernandez
482eabeeb2 Now the gnss_block_factory catches 'cmake .. -DRTLSDR_DRIVER=1' and/or 'cmake .. -DGN3S_DRIVER=1'
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@386 64b25241-fba3-4117-9849-534c7e92360d
2013-07-13 10:35:52 +00:00
Javier Arribas
448c0f6741 Missing precompiler flag for RTLSDR support
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@384 64b25241-fba3-4117-9849-534c7e92360d
2013-07-10 14:18:47 +00:00
Carles Fernandez
a604f45afb some small changes required by Pybombs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@376 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 10:50:55 +00:00
Carles Fernandez
ccd352259e added missing include in cmake script
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@372 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 00:01:06 +00:00
Javier Arribas
6f8ef58802 Towards a front-end frequency and sample rate calibration tool. VERY experimental yet.
Bug fixes in acquisition assistance and in linker include files.


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@371 64b25241-fba3-4117-9849-534c7e92360d
2013-07-05 17:00:48 +00:00
Javier Arribas
58b280afb6 Switch to GNU Radio 3.7.x API
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@368 64b25241-fba3-4117-9849-534c7e92360d
2013-07-04 13:47:40 +00:00
Javier Arribas
1e242e3e61 Galileo FM3 (PRN 19) and FM4 (PRN20) satellites are now enabled for acquisition and tracking
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@366 64b25241-fba3-4117-9849-534c7e92360d
2013-06-14 10:04:23 +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
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
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
63c7f22e57 BUG CORRECTION: A precompiler variable was missed in CMakeLists.txt (RTLSDR_DRIVER) and that caused a problem that prevented the receiver to work with RTL_SDR USB dongle as the signal source.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@356 64b25241-fba3-4117-9849-534c7e92360d
2013-05-09 16:49:36 +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
e592672282 GPS L1 multi-dwell Assisted acquisition algorithm under construction.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@352 64b25241-fba3-4117-9849-534c7e92360d
2013-03-20 18:19:26 +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
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
0274c86205 Added Secure User Plane Location (SUPL) client library and the associated A-GNSS data structures. The GNSS assistance function is not active yet!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@346 64b25241-fba3-4117-9849-534c7e92360d
2013-03-14 18:38:46 +00:00
Javier Arribas
e52943d4ff Added Secure User Plane Location (SUPL) client library and the associated A-GNSS data structures. The GNSS assistance function is not active yet
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@345 64b25241-fba3-4117-9849-534c7e92360d
2013-03-14 18:29:46 +00:00
Javier Arribas
f6568bd36d Added Secure User Plane Location (SUPL) client library and the associated A-GNSS data structures. The GNSS assistance function is not active yet!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@344 64b25241-fba3-4117-9849-534c7e92360d
2013-03-14 17:57:50 +00:00
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
Javier Arribas
175a143c61 Thowards A-GNSS-SDR: New classes to store GPS SV orbital, clock, and ionosphere parameters. Work in progress...
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@342 64b25241-fba3-4117-9849-534c7e92360d
2013-03-11 18:29:33 +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
bf4de38e8a Changes the bits_slice structure by a vector of pair<int,int>. The former structure was not accepted by clang. Some code cleaning.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@311 64b25241-fba3-4117-9849-534c7e92360d
2013-01-13 01:24:43 +00:00
Carles Fernandez
e0f577fe98 If Armadillo is not installed in the system, now CMake will download it, patch it in order to make a static library, build it, and link it with the rest of GNSS-SDR.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@306 64b25241-fba3-4117-9849-534c7e92360d
2013-01-03 01:48:34 +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
33eb1c8aa2 changed join() by timer_join(...) for keyboard thread termination, that was blocking the program ending
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@279 64b25241-fba3-4117-9849-534c7e92360d
2012-11-02 11:14:23 +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
aff4aeefb5 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@277 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 17:40:26 +00:00
Carles Fernandez
268b4ab566 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@271 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 16:39:06 +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
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
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
2ef8d7de8a Cleaning the code.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@244 64b25241-fba3-4117-9849-534c7e92360d
2012-09-05 14:15:23 +00:00
Luis Esteve
90146d26bf Bug fixed in flowgraph.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@243 64b25241-fba3-4117-9849-534c7e92360d
2012-09-05 13:50:59 +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
03208cb76f Cleaned debugging prints.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@240 64b25241-fba3-4117-9849-534c7e92360d
2012-09-03 12:31:29 +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
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
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
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
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
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
Carles Fernandez
72df1f7ced minor code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@195 64b25241-fba3-4117-9849-534c7e92360d
2012-04-14 18:04:27 +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
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
Carles Fernandez
89a67c93e8 code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@192 64b25241-fba3-4117-9849-534c7e92360d
2012-03-24 03:31:56 +00:00
Javier Arribas
5340adad36 Added keyboard response functionality: Now it is possible to stop GNSS-SDR from the keyboard order "q"+ENTER
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@186 64b25241-fba3-4117-9849-534c7e92360d
2012-03-16 12:04:36 +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
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
d5655f27df Major changes. Signal Conditioner holds now blocks to change data type, filter and resample input data.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@172 64b25241-fba3-4117-9849-534c7e92360d
2012-02-19 17:45:51 +00:00
Luis Esteve
ae3296be49 Fixed some bugs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@169 64b25241-fba3-4117-9849-534c7e92360d
2012-02-18 17:06:16 +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
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
Carles Fernandez
c186828669 Code cleaning and documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@151 64b25241-fba3-4117-9849-534c7e92360d
2012-01-31 00:03:08 +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
3b5189075b Cleaning tests
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@143 64b25241-fba3-4117-9849-534c7e92360d
2012-01-25 03:16:08 +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
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
c03042059c Extending the Gnss_Satellite class to the acquisition interfaces
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@131 64b25241-fba3-4117-9849-534c7e92360d
2012-01-19 17:42:33 +00:00
Carles Fernandez
d9aff36247 Introducing Gnss_Satellite into the receiver
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@130 64b25241-fba3-4117-9849-534c7e92360d
2012-01-19 07:35:49 +00:00
Carles Fernandez
115b36c722 add a new class called gnss_satellite.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@129 64b25241-fba3-4117-9849-534c7e92360d
2012-01-16 22:01:29 +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
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
dab517aff0 Advances with the rinex printer.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@119 64b25241-fba3-4117-9849-534c7e92360d
2012-01-11 07:05:09 +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
a555102566 The navigation message class now computes satellite velocity, which can be useful for some synchronization algorithms (e.g. Vector Tracking Loops)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@116 64b25241-fba3-4117-9849-534c7e92360d
2012-01-10 01:34:58 +00:00
Carles Fernandez
9a2d4c8a09 Improvements in RINEX headers
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@115 64b25241-fba3-4117-9849-534c7e92360d
2012-01-09 09:58:54 +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
03d6999225 - Removed d_TGD from clock correction computation (bug fix)
- Advances with the RINEX printer

- Standard output is less verbose (partial info stored in log)

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@111 64b25241-fba3-4117-9849-534c7e92360d
2012-01-04 07:52:56 +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
ce4ddd03e8 Deleting gps_telemetry.cc and gps_telemetry.h. Most of the functions were not used anywhere, the others have been moved to places in which make sense.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@107 64b25241-fba3-4117-9849-534c7e92360d
2012-01-03 09:27:24 +00:00
Carles Fernandez
3ceef64d27 Minor documentation fixes, changes of #defines by const
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@106 64b25241-fba3-4117-9849-534c7e92360d
2012-01-03 07:31:32 +00:00
Carles Fernandez
ca5463e2d8 Improvements in the decodification of NAV message; Some advances in the implementation of a RINEX printer (remains deactivated)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@105 64b25241-fba3-4117-9849-534c7e92360d
2012-01-03 05:38:45 +00:00
Carles Fernandez
2ce62706af Adding documentation and improving code formatting.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@103 64b25241-fba3-4117-9849-534c7e92360d
2011-12-28 21:36:45 +00:00
Carles Fernandez
48719c3075 Improving documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@102 64b25241-fba3-4117-9849-534c7e92360d
2011-12-28 03:05:37 +00:00
Carles Fernandez
0cee2be18f Now you can change the default /tmp directory with the flag --log_dir
$ ./gnss-sdr --log_dir=./log

Added some documentation and comments

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@101 64b25241-fba3-4117-9849-534c7e92360d
2011-12-27 21:21:12 +00:00
Carles Fernandez
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
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