[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] GSoC: Tests and Acquisition Block for a Galileo Recei

From: luis
Subject: [Discuss-gnuradio] GSoC: Tests and Acquisition Block for a Galileo Receiver
Date: Fri, 13 Jul 2012 15:20:15 +0200
User-agent: Mozilla/5.0

Hi all, 

as the mid-term evaluations happen this week, I want to make a small summary of my progress in the development of the blocks of Galileo for the GNSS-SDR software. In the Community Bonding Period of GSoC, I concentrated on reading and understanding the Galileo Signal In Space Interface Control Document [1], namely: how to transmit the navigation message, which modulations are used (Binary Offset Carrier over CDMA), what frequency bands (E1, E5, ...), how to encode the message (primary and secondary spreading codes), ... as well as how to perform test under the Google C++ Testing Framework [2], a library that takes care of all the testing infrastructure, letting the developer focus in the content of the test. During the initial phase of GSoC I have done unit and integration tests for most blocks in GNSS-SDR. Thus, a recommended workflow has been established for creating a new signal processing block in GNSS-SDR: 1) Write the test for the signal processing block (including test for instantiation, connect and run the block, and validation of results) 2) Write the test for the block factory of the signal processing block (The block factory is a class that hides the complexity of instantiating GNSS block in a simple but effective way) 3) Write the actual block, consisting of an adapter and a GNU Radio block (GNSS-SDR adapter blocks are classes that configure and group GNU Radio blocks). A total of 33 tests spread over 6 testcases found in the SVN repository of GNSS-SDR [3]. In recent weeks I have concentrated on making the acquisition block of Galileo. The goal was to reuse as much as possible the existing code for GPS. After various attempts the optimal solution has been to separate the signal processing algorithm (independent of the system used) from the generation of the local codes belonging to each system (Galileo or GPS). Thus, through 2 adapters [4] and one library [5], calculations are performed for each system, while the data processing algorithm is performed in a single Gnuradio block [6]. The acquisition block can be configured via the configuration file of GNSS-SDR. The options are: - Acquire by E1B or E1C signal - Select the SINBOC(1.1) or the CBOC modulation. Finally, I tested the acquisition block implementation. To do this, I created synthetic signal using a Galileo signal generator programmed in Matlab. I tested all modes of acquisition with successful results. The results of these tests can be seen in [7]. Following the schedule set, next week I'll start working on the block tracking. Also will capture real signal using a USRP and GnuradioCompanion software to test the acquisition block with real data. I will notify the community about any new progress. Best regards Luis Esteve

[1] http://ec.europa.eu/enterprise/policies/satnav/galileo/files/galileo-os-sis-icd-issue1-revision1_en.pdf
[2] http://code.google.com/p/googletest/
[3] http://gnss-sdr.svn.sourceforge.net/viewvc/gnss-sdr/trunk/src/tests/gnss_block/
[4] http://gnss-sdr.svn.sourceforge.net/viewvc/gnss-sdr/trunk/src/algorithms/acquisition/adapters/
[5] http://gnss-sdr.svn.sourceforge.net/viewvc/gnss-sdr/trunk/src/algorithms/libs/
[6] http://gnss-sdr.svn.sourceforge.net/viewvc/gnss-sdr/trunk/src/algorithms/acquisition/gnuradio_blocks/
[7] https://www.dropbox.com/s/bsglyugdqllsn5z/GSoCAcquisitionResults.pdf



reply via email to

[Prev in Thread] Current Thread [Next in Thread]