Professional Documents
Culture Documents
Applications
R. Capua, A. Bottaro, Sogei
BIOGRAPHIES
Roberto Capua is responsible for GNSS R&D activity at
Sogei S.p.A. He worked in several EC Framework
Projects tasks for Galileo applications and serves as a
delegate to the Galileo Services consortium. His areas of
activity are: advanced high-accuracy GNSS and
Augmentation systems, GNSS SDR development and
GNSS surveying.
Antonio Bottaro is currently the Head of Innovation,
Research and Development within Sogei S.p.A. His main
area of activity concerns Advanced GIS and GNSS
platforms Design and Development.
ABSTRACT
The paper presents the work of the Sogei GNSS R&D
Group for the development of a GNSS SDR receiver for
institutional applications.
The Second Phase will implement a Multi-Carrier/MultiConstellation Code/Phase SDR receiver based on MultiCore programming, including Hybridization with external
sensors and indoor positioning capabilities.
INTRODUCTION
The GNSS SDR receiver is composed by an RF FrontEnd and four software modules: Data Dispatcher,
Acquisition, Tracking and PVT. The Software has been
written in C++, using SIMD primitives. Communication
is performed through TCP/IP sockets. Look-Up tables are
used for Code and Carrier replicas and logic operations.
The RF Front-End was developed using a reconfigurable
commercial IC sampler and is connected to the Notebook
through USB. IF is 1.023 MHz and undersampling is
performed at 4.092 MHz. A Data Dispatcher spools
samples to the processing modules.
Security
Standard data format and Openness
THE ARCHITECTURE
The architecture of the Sogei GNSS-SDR platform is
reported in Fig. 1.
Main architectural components are reported in the
following:
N1 = min(2n ) 2 N 1 (1)
being n an integer. Input data are one code length streams
pre-treated through zero-padding with N1-N zeros. A
double-length code replica is generated using two N
sequences, and filling N1-2N zeros between two single
Code replicas. If circular correlation is restricted to the
first N shifts, the resulting peak is unique.
A scaling pattern analysis has been carried out and most
appropriate scaling factors for fixed point operation have
been selected, both for Code and Carrier samples.
In order to get a robust acquisition over time and to avoid
false acquisition, a double validation on results is
performed for Coarse and Fine Acquisition. In the first
case the classical maximum peak to second peak ratio test
is used, while in the second case the maximum peak is
compared to the mean noise level.
Due to the high computational load of FFT, weak-signals
correlation on longer data sets is not feasible. Therefore,
weak-signals Acquisition is performed at start-up through
a Non-Coherent integration on 10 ms of input data.
In Figure 3 the flowchart of the robust acquisition
algorithm is reported.
Due to the tight time constraints imposed by SDR, time
consuming Cold Start has to be avoided as much as
possible.
At this aim, Warm Start for GPS is performed by a
preliminary ephemeris determination through Almanac
parsing.
In order to reduce the computational burden, periodic ReAcquisition after Tracking Pull-In is selectively
performed per channel every 60 s only on new raising
satellites (as derived from the Almanac) or due to a Loss
of Lock signaled by the Tracking Module.
In order to get maximum FFT performances, DoubleLength Zero-Padding to power of two has been used for
Start acquisition
i=0
Satellite already
acquired?
N
sin(fT )
SNR = 10 log
fT
10ms Coarse
weak-signals
acquisition
1ms Coarse
acquisition
Acquisition success?
(2)
10ms Fine
weak-signals
acquisition
1ms Fine
acquisition
Acquisition success?
Y
Save results (Code phase,
Doppler, Max peak)
i=i+1
i < TOTAL_CHANNELS ?
Channel i
2 CA code samples
Word 0
Code shift 0
TRACKING PHASE
Word 255
Phase 0
Code shift k
Word k
Phase j
Word k+128
Phase 31
32 bit word
1 chip = 4 samples
fs= 4.092 MHz
Dcode =
I EL I P + QELQP
2( I P 2 + QP 2 )
(3)
f
CP(t ) = mod CP (0) + bs 0.001 p (t ) d (t ) s + 0.5, bs ( 4)
fc
PVT PHASE
PVT
performs
Navigation
message
decoding,
pseudorange calculation, clock offset, drift and position
estimation. It works using an All-In-View approach.
As well known, in SDR architectures, sample data have
no absolute time reference and the only timing is provided
by the count of the progressing number of samples.
Therefore, the pseudorange measurement can be
calculated only in a relative way. We can start searching
the first available subframe for each channel by means of
preamble search. Therefore, we can take the difference of
the counted number of samples between the detected
Subframe start of each channel with respect to a reference
one. Such difference has to be converted into difference
of time [R3].
Navigation messages are transmitted at the same time by
each satellite, but they are received at different times due
to different satellite-receiver distances. We can take as
reference satellite the one having the earlier Subframe
ts min
x = [x
z | b
f ]T
0
I |
k =
| 1 t
0
| 0 1
Q pk
Qk =
|
Qck
|
S t + S f t 3 / 2 S f t 2 / 2
Qck = b
2
S f t
S f t / 2
where t is the step time, k , k 1 is the transition matrix,
Qk and Rk are the process and measurement noise
covariance matrix and Sb = 8 2 h 2 and S f = 2h0 are the
spectral densities related to the Allan variance parameters
([R8]). Process noise covariance matrix has been
initialized based on commercial clocks nominal values
(e.g. [R9]) and carrying out a tuning phase. Reference
values in the order of 2*10-10 for random walk frequency
noise (h-2) and 2*10-11 for white frequency noise (h0) has
been used for the available clock.
The Clock model has been tuned taking into account the
frequency specifications of single TCXOs used by
different available samplers. The non integer nature of the
reference frequency of some of the used samplers leaded
to the necessity to perform a dedicated modeling able to
overcome rounding problems for pseudorange calculation.
Before applying Kalman Filter update, pseudorange
measurements are firstly corrected by the estimation of
satellite clock errors, earth rotation, troposphere, and
relativistic effects. Klobuchar Ionospheric model can be
applied on request.
PVT waits for connection on the receiver output socket
from any available external NMEA Reader. Once
connected, the NMEA reader can read and plot
positioning results using RMC and GGA as well as
visible satellites through GSV sentences.
Errors (m)
Time
25
20
15
10
5
20:04:39.330
20:04:04.323
20:03:29.332
20:02:54.326
20:02:19.319
20:01:44.329
20:01:09.322
20:00:34.331
19:59:59.325
19:59:24.318
19:58:49.328
19:58:14.321
19:57:39.330
19:57:04.324
19:56:29.333
19:55:54.326
19:55:19.320
19:54:44.329
19:54:09.323
19:53:34.332
19:52:59.325
19:52:24.319
19:51:49.328
19:51:14.322
19:50:39.331
19:50:04.324
19:49:29.333
19:48:54.327
19:48:19.320
19:47:44.330
19:47:09.323
19:46:34.332
Time
GOVERNMENTAL APPLICATIONS
A GNSS SDR receiver based on General Purpose
Processors and Programming Languages meets many of
the fundamental requirements of governmental users.
GNSS SDR can be fruitfully used in some applications
requiring high volumes and high equipment turnover due
to rapidly changing technologies.
Within such framework, two applications of interest for
our developments are:
GNSS Augmentation Networks and High
Accuracy (Cadastral Land Surveying)
Institutional Fleet Management (Customs
operations)
Concerning GNSS Networks development, having the
possibility to perform Network densifications through
SDR Reference Stations will provide high benefits in
terms of hardware, licensing and maintenance costs, as
well as upgradeability. Such issues are indeed the lacking
factors for the introduction of wide spread high accuracy
applications.
On the other hand, Land Surveyors are requiring high
reliability, customizability and low/medium cost for rover
receiver. Such kind of objectives can be achieved using an
SDR Multifrequency, Code and Phase receiver. The final
objective should be having a Software rover installed on
their own Notebook or advanced PDA. Data output
format is often an important requirement for such user,
also taking into account the needed input formats of the
Italian Cadastral Maps Updating system. Surveyors has to
produce the results of their measurements using
PREGEO, an institutional software able to elaborate
traditional topographic measurements and GNSS
measurements and to convert the results in a standard
format to be inserted within the Cadastral Mapping
System.
[R7]
CDMA
Principle of
Spread
Spectrum
Communication, A. J. Viterbi, Addison-Wesley
[R8] Global Positioning System Theory and
Applications, B. W. Parkinson, J.J. Spilker Jr, American
Institute of Aereonautics and Astronautics
[R9] Estimating Oscillator Stability in the time domain
using standalone GPS, ENGO 699.58R, University of
Calgary, M. Petovello