1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-16 05:00:35 +00:00
Commit Graph

290 Commits

Author SHA1 Message Date
Javier Arribas
fc04633fba Galileo INAV de-interleaver and Viterbi decoder implemented.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@390 64b25241-fba3-4117-9849-534c7e92360d
2013-07-17 17:25:40 +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
Javier Arribas
641692e005 Incremental update for the front-end calibration utility
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@383 64b25241-fba3-4117-9849-534c7e92360d
2013-07-08 16:17:57 +00:00
Javier Arribas
a487ee7cbc Fixed some bugs in the volk correlators that caused core dump situations.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@382 64b25241-fba3-4117-9849-534c7e92360d
2013-07-08 12:57:16 +00:00
Carles Fernandez
5ef7ca03b0 some small changes required by Pybombs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@380 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 11:34:44 +00:00
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
Carles Fernandez
41f12a3f16 some small changes required by Pybombs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@378 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 11:11:23 +00:00
Carles Fernandez
0b4850070d some small changes required by Pybombs
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@377 64b25241-fba3-4117-9849-534c7e92360d
2013-07-06 10:58:40 +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
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
978d5f1c93 Include GFlags in cmake script
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@369 64b25241-fba3-4117-9849-534c7e92360d
2013-07-04 14:02:23 +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
Luis Esteve
09c6ac095a Adapting the configuration files: gnss-sdr.conf and gnss-sdr_gn3s_realtime.conf to the new features of the receiver (now, the calculation of acquisition threshold is made from the probability of false alarm).
Fixed a little bug in channel.cc

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@363 64b25241-fba3-4117-9849-534c7e92360d
2013-06-09 09:11:36 +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
91e83dfa1a Fixed the bug BG03 (problems in the RINEX 2.11 generator)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@358 64b25241-fba3-4117-9849-534c7e92360d
2013-05-23 17:05:06 +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
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
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
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
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
Carles Fernandez
d9238932b7 Added 'bjam doc' target. Improving PCPS acquisition documentation.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@330 64b25241-fba3-4117-9849-534c7e92360d
2013-01-25 19:24:17 +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
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
6628e5e2d8 Now gflags and google-glog are downloaded, configured, build and linked automatically when doing "make". Since gflags is a prerequisite for the proper functioning of glog, glog is always built locally when gflags is missing.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@305 64b25241-fba3-4117-9849-534c7e92360d
2013-01-01 11:24:42 +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
4adeef7aec Minor code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@287 64b25241-fba3-4117-9849-534c7e92360d
2012-12-14 22:28:25 +00:00
Javier Arribas
22254b05fd Partial bug correction in RINEX generation. Fotmat issues and UTC computation.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@286 64b25241-fba3-4117-9849-534c7e92360d
2012-12-11 18:29:20 +00:00
Javier Arribas
080305cee8 New ultra-fast All-In-One Carrier wipe-off and Early-Prompt-Late correlator using Intel AVX SSE3 intrinsics.
Try it using the GPS_L1_CA_DLL_PLL_Optim_Tracking implementatioin for tracking operation!




git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@283 64b25241-fba3-4117-9849-534c7e92360d
2012-11-25 19:37:31 +00:00
Carles Fernandez
818d9e14b5 Start migration to GNU Radio 3.7 new C++ API. This commit replaces some components of gnuradio-core by the new components gr-blocks, gr-fft and gr-filter.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@282 64b25241-fba3-4117-9849-534c7e92360d
2012-11-25 11:15:11 +00:00
Javier Arribas
0760fa0f3e - New NCO library for carrier signal generation: Provides a fixed point optimized wrapper for GNU Radio fxp CORDIC and SSE2 floating point implementation ( sse_mathfunc.h implementation). The library is available as nco_lib.h
- Updated Unit Test to benchmark all the current NCO implementations (./run_tests --gtest_filter=Cordic_Test.StandardCIsFasterThanCordic)

-Gps_L1_Ca_Dll_Pll_Optim_Tracking algorithm updated with new NCO library for carrier wipeoff and some other optimizations.



git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@281 64b25241-fba3-4117-9849-534c7e92360d
2012-11-22 17:43:24 +00:00
Javier Arribas
54df5928ab GPS DLL PLL Tracking code rearrange to match the Galileo DLL PLL algorithm and code cleaning.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@280 64b25241-fba3-4117-9849-534c7e92360d
2012-11-18 18:20:34 +00:00
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
3b489d0107 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@276 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 17:07:25 +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
8174c91b52 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@274 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 17:01:29 +00:00
Carles Fernandez
9b1a64c2f2 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@273 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 16:57:27 +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
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
df984c282b One "{" was missing
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@266 64b25241-fba3-4117-9849-534c7e92360d
2012-10-28 12:47:33 +00:00
Carles Fernandez
f0852461fa Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@265 64b25241-fba3-4117-9849-534c7e92360d
2012-10-28 12:38:11 +00:00
Carles Fernandez
6b33aadd0b Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@264 64b25241-fba3-4117-9849-534c7e92360d
2012-10-28 12:09:03 +00:00
Carles Fernandez
9b62455366 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@263 64b25241-fba3-4117-9849-534c7e92360d
2012-10-28 11:38:50 +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
b86d611314 TCP connector for Galileo tracking improved. Code cleaning in Galileo tracking
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@259 64b25241-fba3-4117-9849-534c7e92360d
2012-10-27 11:50:35 +00:00
Javier Arribas
d85f65ed4c Galileo E1b/c tracking improvement and code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@255 64b25241-fba3-4117-9849-534c7e92360d
2012-10-24 08:02:51 +00:00
Carles Fernandez
1aea9db69f Changed the "CN_estimators" library name by the more informative "lock_detectors". The CN0 estimators for GPS L1 C/A and Galileo E1 have been unified
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@254 64b25241-fba3-4117-9849-534c7e92360d
2012-10-21 09:54:37 +00:00
Javier Arribas
3628453c52 - Bug in carrier lock detector algorithm corrected
- Code cleaning and DLL/PLL variable renaming in galileo_e1_dll_pll_veml tracking

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@253 64b25241-fba3-4117-9849-534c7e92360d
2012-10-20 16:11:31 +00:00
Carles Fernandez
323e8e6765 Code cleaning, comments, code style fixes
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@251 64b25241-fba3-4117-9849-534c7e92360d
2012-10-19 16:00:40 +00:00
David Pubill
c241b7b1d6 - Added TCP connector for Galileo E1 simulink tracking
- Added simulink-based Galileo_E1_DLL_PLL_VEML_Tracking

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@250 64b25241-fba3-4117-9849-534c7e92360d
2012-10-19 13:38:25 +00:00
Javier Arribas
a25e712be6 Bug correction for acquisition and tracking: acquisition Doppler sign were inverted and this issue caused several wrong interpretations in tracking algorithms, resulting in a swap in I/Q components. Now the bug was corrected in all tracking algorithms.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@249 64b25241-fba3-4117-9849-534c7e92360d
2012-10-18 10:24:41 +00:00
Javier Arribas
4859faa245 - PCPS Acquisition VOLK optimizations for the carrier wipeoff operation.
-Added galileo E1 tracking matlab plot utility for 32 bits systems 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@248 64b25241-fba3-4117-9849-534c7e92360d
2012-10-18 08:33:59 +00:00
Javier Arribas
bcce5431b7 Solved a bug on the Galileo PCPS acquisition where the local code replica was set to all zeros on some configurations.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@247 64b25241-fba3-4117-9849-534c7e92360d
2012-10-17 16:05:35 +00:00
Carles Fernandez
5b5f165d7b Some comments added, code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@246 64b25241-fba3-4117-9849-534c7e92360d
2012-10-16 23:02:02 +00:00
Luis Esteve
f0a0f94007 Added documentation to the code
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@245 64b25241-fba3-4117-9849-534c7e92360d
2012-09-12 15:03:38 +00:00
Javier Arribas
02ab6ce7d7 New GPS L1 CA tracking module GpsL1CaDllPllOptimTracking optimized for speed:
- The local code replica is pre-initialized and resampled to the nominal PRN code sample rate (no code Doppler correction)

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@242 64b25241-fba3-4117-9849-534c7e92360d
2012-09-04 15:57:30 +00:00
Javier Arribas
0703dd2af3 Optimizations in PCPS Acquisition module:
- Improved speed for normalization in the FFTW results
- Complex multiplications now use the SIMD instructions with VOLK library
- Carrier wipeoff now uses the GNU Radio fixed point NCO (gr_fxpt) 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@241 64b25241-fba3-4117-9849-534c7e92360d
2012-09-04 14:29:07 +00:00
Carles Fernandez
10a4ac60df Cleaning code and comments
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@238 64b25241-fba3-4117-9849-534c7e92360d
2012-09-02 16:53:59 +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
598512529f Added NMEA 2.1 protocol for PVT dump.
This is an experimental release that only supports FILE dump operations.



git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@235 64b25241-fba3-4117-9849-534c7e92360d
2012-08-28 17:14:18 +00:00
Luis Esteve
45d7220dae First version of Galileo E1 DLL PLL Very Early Minus Late Tracking. Added some functions in Matlab to analyze the results.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@234 64b25241-fba3-4117-9849-534c7e92360d
2012-08-28 13:38:33 +00:00
Javier Arribas
c6c5decf9c Added Dilution Of Precision (DOP) values computation in the Least Squares PVT solver.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@232 64b25241-fba3-4117-9849-534c7e92360d
2012-08-24 10:18:21 +00:00
Carles Fernandez
7a8d4a6509 Added some const
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@227 64b25241-fba3-4117-9849-534c7e92360d
2012-08-04 11:39:01 +00:00
Carles Fernandez
db5d130bff added phase initialization that removes warning when compiling
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@226 64b25241-fba3-4117-9849-534c7e92360d
2012-08-04 08:41:32 +00:00
Luis Esteve
681bd60a58 Files to test an experiment performed by Luis Esteve in the framework of the Google Summer of Code (GSoC) 2012, with the collaboration of Javier Arribas and Carles Fernández, related to the extension of GNSS-SDR to Galileo. The objective is perform a positive acquisition of in-orbit Galileo signals in the E1 band.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@222 64b25241-fba3-4117-9849-534c7e92360d
2012-08-02 11:46:37 +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
690d7c66e7 About 40% of tracking speed improvement by extending the early local code replica and using memcpy to generate prompt and late replicas.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@219 64b25241-fba3-4117-9849-534c7e92360d
2012-07-31 15:10:20 +00:00
Javier Arribas
fb82c2246d Correlator class now takes profit of the GNU Radio memory alignment, used by Volk SIMD functions
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@218 64b25241-fba3-4117-9849-534c7e92360d
2012-07-31 12:35:07 +00:00
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
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
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
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
Carles Fernandez
088cfbb552 small clean-up
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@202 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 12:03:16 +00:00
Carles Fernandez
8214655f54 Removed clang warning about bad-placed parentheses
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@201 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 11:56:56 +00:00
Carles Fernandez
a6c230008f added documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@200 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 11:54:24 +00:00
Carles Fernandez
f8082227f8 fixed: Indentation according to coding style
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@199 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 11:52:35 +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
0cc9a67b47 Added documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@197 64b25241-fba3-4117-9849-534c7e92360d
2012-06-16 22:32:43 +00:00
Javier Arribas
d467874a40 Bug correction in tracking lock detector threshold comparison algorithm.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@196 64b25241-fba3-4117-9849-534c7e92360d
2012-04-19 18:18:53 +00:00
Javier Arribas
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
7081c4fe8d code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@191 64b25241-fba3-4117-9849-534c7e92360d
2012-03-24 03:12:44 +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
Carles Fernandez
3533a08330 Fixed bug that prevented the code to compile in Mac OS. Documentation added
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@189 64b25241-fba3-4117-9849-534c7e92360d
2012-03-24 02:53:00 +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
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
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
9eac86f3f2 Added direct_resampler files
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@171 64b25241-fba3-4117-9849-534c7e92360d
2012-02-18 17:45:37 +00:00
Luis Esteve
203ccbdffb Added new folder resampler
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@170 64b25241-fba3-4117-9849-534c7e92360d
2012-02-18 17:11:50 +00:00
Luis Esteve
c5d142a258 Deleting old direct_resampler
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@167 64b25241-fba3-4117-9849-534c7e92360d
2012-02-18 16:52:15 +00:00
Luis Esteve
08f1444df4 Added new folder src/algorithms/input_folder
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@166 64b25241-fba3-4117-9849-534c7e92360d
2012-02-18 16:43:29 +00:00
Luis Esteve
0504839e1b New folder data_type_adapter
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@165 64b25241-fba3-4117-9849-534c7e92360d
2012-02-18 16:39:57 +00:00
Luis Esteve
ac8f9e01e6 Bug fixed in function Channel::disconnect.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@163 64b25241-fba3-4117-9849-534c7e92360d
2012-02-17 14:28:32 +00:00
Carles Fernandez
2dd2a22930 The Rinex Printer destructor now erases Rinex files if they are empty.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@162 64b25241-fba3-4117-9849-534c7e92360d
2012-02-16 19:17:06 +00:00
Javier Arribas
2406a7772a Updated tracking to use cmath round which is faster than boost::math::round
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@161 64b25241-fba3-4117-9849-534c7e92360d
2012-02-16 17:28:56 +00:00
Javier Arribas
b7bb79a058 Code cleaning: deleted old dependences with Gregory GPS-SDR files
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@160 64b25241-fba3-4117-9849-534c7e92360d
2012-02-16 16:13:45 +00:00
Javier Arribas
0a62725445 - Improved speed for samples inconsistency check in tracking modules, and
- Added a total elapsed run time counter in main: now it is possible to compare the post-processing time with the signal duration. The elapsed time is reported in STD::COUT when GNSS-SDR finish the main thread.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@156 64b25241-fba3-4117-9849-534c7e92360d
2012-02-08 19:50:16 +00:00
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
a8f6695f58 compilation warning cleaned
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@152 64b25241-fba3-4117-9849-534c7e92360d
2012-01-31 00:31:07 +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
Carles Fernandez
9625070ea9 Pretty-printing of satellites is back again
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@150 64b25241-fba3-4117-9849-534c7e92360d
2012-01-30 23:14:57 +00:00
Luis Esteve
cdccdac4c6 Bug fixed in channel.cc
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@149 64b25241-fba3-4117-9849-534c7e92360d
2012-01-30 14:13:34 +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
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
0d598a7188 Added implementation of plain cordic class in tracking/libs. Added a corresponding test. The implementation is slower than standard sin and cos implementations, so it is not used in the receiver. The test will fail otherwise, indicating that this should be used instead of standard functions.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@142 64b25241-fba3-4117-9849-534c7e92360d
2012-01-25 01:57:28 +00:00
Carles Fernandez
3bff16b5d1 Code cleaning.
Test infrastructure reactivated. Now a run_tests executable is created and runs some tests.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@138 64b25241-fba3-4117-9849-534c7e92360d
2012-01-23 00:52:05 +00:00
Carles Fernandez
80af09f91f Acquisition, Tracking and TelemetryDecoder blocks now use Gnss_Satellite class and have access to know what parameters have to use. Algorithms are not system-related anymore.
Some code cleaning and and enhancements in the output screen messages.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@135 64b25241-fba3-4117-9849-534c7e92360d
2012-01-20 23:28:11 +00:00
Javier Arribas
b72802a51f Added experimental SIMD-accelerated correlator for tracking, using GNURadio volk libraries.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@134 64b25241-fba3-4117-9849-534c7e92360d
2012-01-20 16:37:16 +00:00
Carles Fernandez
305d9f14c1 Class Gnss_Satellite extended to tracking
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@133 64b25241-fba3-4117-9849-534c7e92360d
2012-01-19 19:30:05 +00:00
Carles Fernandez
0704e664e5 Fixes problem that broke compilation in Mac OS
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@132 64b25241-fba3-4117-9849-534c7e92360d
2012-01-19 19:28:41 +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
60da2f4336 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@128 64b25241-fba3-4117-9849-534c7e92360d
2012-01-16 18:27:31 +00:00
Carles Fernandez
276f7dd2dc cleaning code
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@127 64b25241-fba3-4117-9849-534c7e92360d
2012-01-13 01:28:42 +00:00
Carles Fernandez
82c17438b5 code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@126 64b25241-fba3-4117-9849-534c7e92360d
2012-01-13 01:06:28 +00:00
Carles Fernandez
32690a7d59 Tracking Classes are now upper case.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@125 64b25241-fba3-4117-9849-534c7e92360d
2012-01-13 00:49:24 +00:00