Satellite Navigation and GPS: Unit - Vi
Satellite Navigation and GPS: Unit - Vi
Satellite Navigation and GPS: Unit - Vi
If we solve these two equations for x and y, we will get two solutions i.e. C and D in the
above figure.
Similarly if we know the distance from the three known points or locations to unknown
point, the unknown point will one of the two points, which is the intersection of three spheres as
shown in figure.1.2.
Solving three equations for finding (x, y, z) is known as triangulation principle. Of course
out of the two solutions obtained by solving these equations, one of them is not a practically
feasible solution.
Now according to the triangulation principle, to find the location of an unknown point in
the three dimensional space, we need three points or locations with known coordinates of them
and the distances to unknown point from these known points.
In GNSS, position (coordinates) of the satellite can computed easily using the ephemeris
and Keppler’s laws for the given time. Therefore the position of the satellites is known. Now we
need the distance from the satellites to receiver. In GNSS, all satellites will transmit a signal at
same time, and it will reach with different timings to the receiver due to difference in distances.
Therefore if the time difference between the transmitted time from satellite and received time by
the receiver is known, then we can find out the distance to the satellite and receiver using
equation.
Distance = Travel time x velocity of light.
Here we are assuming that electromagnetic waves or signals are travelling with velocity
of light. Then, to find out the travel time we need transmitted and received time. The atomic
clocks at satellites are synchronized in nanoseconds and all satellites will give the information
about transmitted time. Therefore now we need arrival time. Arrival time can be computed using
the correlation properties of the binary pseudorandom noise. However the clocks at satellites and
the clock at receiver are not synchronized. Also the accuracy of the clock at normal GNSS
receiver is not accurate like the clock at satellites. Therefore there will be some bias in the
measured timings due to non-synchronization of clocks at satellites and receiver. However the
bias in travel time for all satellites with respect to receiver is same because the clocks at satellites
are synchronized. Therefore the equations will become
Now the total unknowns are (x,y,z) and b, where b is bias. Therefore we need one more
equation. i.e. fourth satellite.
Here the known points are the satellites. Satellites are revolving around the earth based
on the Keppler’s rules. Therefore we can find out the position of the satellite for any given time
using Keppler’s laws. We can find out the distance to the known point to unknown point with the
first assumption that EM waves travel with the velocity of light. The distance to the known point
can be computed using the formula travel time X velocity of light. Travel time can be computed
using the auto correlation and cross correlation properties of pseudo random noise codes. The
principle operation of GNSS system has been explained and the next chapter will give brief
explanation or description of GNSS signal structure.
1.2 Architecture of GNSS
Any GNSS system has Three Segments. They are:
1. The Space Segment
2. The Control Segment
3. User Segment
1.2.1 Space Segment
The Space Segment constitutes of 31 satellites as shown in Figure 1.3 at an altitude of
about 20,150 km above the Earth’s surface. These satellites are arranged as 8 each in three
circular orbital planes, but this was modified to 6 planes with 4 satellites each. The orbital planes
are centered on the Earth, not rotating with respect to the distant stars. These orbital planes are
inclined to the Earth’s equatorial plane at an angle of 55o (tilt relative to Earth's equator) and are
separated by 60° right ascension of the ascending node (angle along the equator from a reference
point to the orbit's intersection). The orbits are arranged so that at least six satellites are always
within line of sight from almost everywhere on Earth's surface. The orbital plane locations are
defined by the longitude of the ascending node while the satellite location by the mean anomaly.
These satellites are at such a height and in such orbits such that there are at-least four satellites
visible to a user at any location and at any given time. At a time one can however receive signals
from 7 to 9 satellites.
Central Clock
The Central Synchronizer implements the GLONASS system time scale by means of a
high-precise hydrogen atomic clock.
Like this the operations of control segment include maintaining satellite orbital position, and
monitoring the health of the satellite constellation. The health includes parameters like the
power, fuel levels among others. The ground stations make pseudo range measurements by
passively tracking the satellites. This data is used by the master control station to update the
navigation message with ephemeris data, corrections and almanac data. This updated information
called TT&C (Telemetry, Tracking and Command) data. This information for each satellite is
uploaded by a ground uplink antenna when that particular satellite is in view of the antenna.
1.7 GALILEO
The European Union and European Space Agency agreed in March 2002 to introduce
their own alternative to GPS, called the Galileo positioning system. At an estimated cost of EUR
3.0 billion, the system of 30 MEO satellites was originally scheduled to be operational in 2010.
The estimated year to become operational is 2014. The first experimental satellite was launched
on 28 December 2005. Galileo is expected to be compatible with the modernized GPS system.
The receivers will be able to combine the signals from both Galileo and GPS satellites to greatly
increase the accuracy. Galileo is now not expected to be in full service until 2020 at the earliest
and at a substantially higher cost [23].
• User Segment
Single and Dual Frequency Receivers for SPS and RS operating in L5 and S Bands.
Both services will be carried on L5 (1176.45 MHz) and S band (2492.028 MHz). The SPS
signal will be modulated by a 1 MHz BPSK signal. The Restricted Service will use BOC(5,2)
modulation.
Navigation data
Generally navigation data bits are contains the information of satellite clocks and orbital
information. The bit rates of navigation data for GPS and GLONASS having 50 bits/second.
These data bits are modulo two additions with pseudo random noise code. The combined signal
is modulate with carrier by using different modulation techniques.
The navigation data contains information of regarding satellite orbits. This information is
uploaded to all satellites from the ground stations in the GLONASS Control Segment. The
navigation data have a bit rate of 50 bps. The navigation message includes immediate and non-
immediate data. The immediate data relate to the satellite, which transmits given navigation
signal. The non-immediate data (GLONASS almanac) relate to all satellites within GLONASS
constellation. Navigation data can be classified in to two types that are: Immediate data, non
immediate data [1][2].
The immediate data related to the GLONASS satellite which broadcasts given RF
navigation signal and includes:
• Enumeration of the satellite time marks.
• Difference between onboard time scale of the satellite and GLONASS time.
• Relative difference between carrier frequency of satellite and its nominal value.
• Ephemeris parameters and the other parameters.
The Non immediate data (GLONASS almanac) relate all satellites within GLONASS
constellation.
The digital data can be transmitted at 50 bits per second.
Each satellite has two unique spreading sequences or ranging codes. The first one is the
coarse acquisition code (C/A), and the other one is the encrypted precision code (P(Y)).
The C/A code is a sequence of 1023chips for GPS and 511 chips for GLONASS. The
code is repeated every 1ms giving a chipping rate of 1.023MHz, 0.511MHz for GPS and
GLONASS respectively. The P code is a longer code with a chipping rate of 10.23MHz
for GPS and 5.11MHz for GLONASS. In GLONASS, it repeats itself each week starting
at the beginning of the GLONASS week which is at Saturday/Sunday midnight. The C/A
code is only modulated onto the L1 carrier while the P(Y) code is modulated onto both
the L1 and the L2 carrier.
The carrier signal can be modulated by C/A spreading code and data message at
transmitter side, at receiver side the C/A code can be removed by generating local C/A
code and similarly carrier can be removed by generating same carrier signal.
These three components are included in any GNSS system. To understand GNSS software
receiver, the signal structure of GPS and GLONASS briefly explained in the following sections.
Carrier
In telecommunications or communications, a carrier signal , or just a carrier, is a
waveform (usually sinusoidal) that is modulated (modified) with an input signal for the purpose
of conveying information. This carrier wave is usually a much higher frequency than the input
signal. The main purpose of the carrier is usually either to transmit the information through space
as an electromagnetic wave (as in radio communication), or to allow several carriers at different
frequencies to share a common physical transmission medium by frequency division
multiplexing. The term is also used for an unmodulated emission in the absence of any
modulating signal. Frequency modulation (FM) and amplitude modulation (AM) are common
modes of modulating the carrier.
The GNSS signals are transmitted on two radio frequencies in the UHF band. The UHF
band covers frequency band from 500MHz to 3 GHz. These frequencies are referred to as L1
(Link1) band and L2 (Link2) band, L3 (Link3) band.
The carrier signal with frequency FL1 or FL2 sub band is modulated by the Modulo-2
addition of the following signals:
• Pseudorandom (Ranging code)
• Digital data of navigation message
The carrier of L2 sub band is modulated by Modulo-2 addition of the following signals:
• Pseudo Random (ranging code).
The GPS uses the carrier frequency in the range of 1575.42 MHz of L1 band frequency
and 1227.80MHz of L2 band frequency. In GLONASS, carrier frequencies in the range of
1602.0 MHz of zero channel for L1 band and 1246.0 MHz of L2 band frequency of zero channel.
These carrier signals modulated using Binary Phase Shift Keying (BPSK) modulation technique
in GPs and GLONASS but in Galileo the advanced modulation technique that is BOC (Binary
Offset Carrier) modulation.
Carrier Frequencies of GNSS
GPS L1 [21]
• Center Frequency 1575.42MHz
• 19cm wavelength (7.48in)
• L1 C/A-Code (Coarse/Acquisition) or SPS (Standards Positioning Services)
• C/A-Code chipping rate of 1.023 Mbps with code period of 1 ms
• C/A-Code bandwidth +/-1.023MHz (to 1st sinc nulls)
• L1 P-Code or Y-Code PPS (Precise Positioning Service)
• P-Code chipping rate of 10.23 Mbps with code period of 1 ms
• P-Code bandwidth +/-10.23MHz (to 1st sinc nulls)
• Bandwidth +/-12MHz (ITU International Telecommunications Union authorized)
GPS L2
• L2 P-Code or Y-Code PPS (Precise Positioning Service)
• Center Frequency 1227.60MHz
• 24.4cm wavelength (9.61in)
• Bandwidth +/-10.23MHz (to 1st sinc nulls)
• Bandwidth +/-12MHz (ITU authorized)
• Chipping rate of 10.23 Mbps with code period of 7 days
• 267 day pseudo random code generator (divided into 37-7 day segments)
GPS L5
• L5 uses codes in-phase (I) and quadrature (Q) I has data message Q does not
• Center Frequency 1176.45MHz
• Bandwidth +/-10.23MHz (to 1st sinc nulls)
• Bandwidth +/-12MHz (ITU International Telecommunications Union authorized)
• Chipping rate of 10.23 Mbps with code period of 1 ms
GPS M-CODE
• M-Code is a split spectrum signal with a 30MHz bandwidth to 1st nulls
• Center of split spectrum signals are at L1 & L2 band centers
WAAS/EGNOS
• 1575.42MHz
GLONASS
• L1 1597-1605MHz SPS: bandwidth ~1.022MHz to 1st sinc nulls, centered at each
GLONASS L1 SV frequency.
• L2 1240-1260MHz PPS (on L1 & L2) bandwidth 10.22MHz centered at each GLONASS
L2 SV frequency.
The binary data is first level shifted using level shifter so that it contains positive and
negative amplitudes and the resultant output is modulated using carrier signal to obtain the
required BPSK signal.
The received BPSK signal is multiplied with the carrier having same phase and frequency
as of the transmitter. The resultant output is passed through an integrator and to a threshold
detector to obtain our binary data that is modulated.
In CDMA, as the Codes given to the receivers are orthogonal, at the moment the
receiver1 receives the composite signal from transmitter it is multiplied with the code given to it
internally and the information sent to the receiver1 is extracted, same is done by receiver2.This
technique mainly used in Global positioning satellite (GPS).
Code Division Multiple Access (CDMA) technique allows several signals to be
transmitted simultaneously over the same frequency. For that purpose, each satellite is assigned
with a dedicated Pseudo-Random Noise (PRN) code chosen for its low cross-correlation
properties with the PRN codes transmitted by the other satellites.
Although there are different families of PRN codes, the main objective when designing
such codes is to guarantee high auto-correlations and low cross-correlations properties. In fact,
the receiver correlates the incoming signal with the desired PRN code in order to de-spread the
signal and to recover its original version. Low cross-correlation properties guarantee that the
recovered signal has not suffered interference from the signals transmitted by the other satellites.
In CDMA techniques, the number of users is limited by the selection of the PRN codes
and their low cross-correlation properties – this fact does not affect GNSS which include only a
few tens of satellites. Another aspect in CDMA techniques refers to the near far effect that can be
felt when the receiver is much closer to an emitter than to another. In general, this does not affect
terrestrial GNSS receivers since all satellites are far by the same order of magnitude, and hence
this problem is mostly felt in indoors (or weak signal) environments where signals from different
satellites suffer different attenuations. Another case of near far effect is when GNSS space
signals are combined with GNSS ground-base pseudolites. In this case, special techniques need
to be implemented to resolve the near-far effects.
SPS signals can also called Coarse Acquisition (C/A) code and similarly PPS signals
called as Precision code or encrypted code (P(Y) code).
Another modulo-2 adder is used to generate the C/ A code, which uses the outputs from
G1 and G2 as inputs. The initial values of the two shift registers G1 and G2 are all 1’s and they
must be loaded in the registers first. The satellite identification is determined by the two output
positions of the G2 generator. There are 37 unique output positions. Among these 37 outputs, 32
are utilized for the C/ A codes of 32 satellites, but only 24 satellites are in orbit. The other five
outputs are reserved for other applications such as ground transmission.
Figure 2.7: GPS C/ A code generator
The outputs from the C/ A code generator must be 1 and −1, rather than 1 and 0. By using
normal multiplication instead of XOR operation, it gives less multiplication than XOR operation,
so replacing the -1 and1 instead of 0 and 1.
Normal Multiplication
The Code phase assignment table 2.2, there are five columns and the first column gives
the satellite ID number, which is from 1 to 32 [3]. The second column gives the PRN signal
number; and it is from 1 to 37. It should be noted that the C/ A codes of PRN signal numbers 34
and 37 are the same. The third column provides the code phase selections that are used to form
the output of the G2 generator.
Table 2.2: Code Phase Assignments
Satellite GPS PRN Code phase
ID number signal number Selection
1 1 2 XOR 6
2 2 3 XOR 7
3 3 4 XOR 8
4 4 5 XOR 9
5 5 1 XOR 9
6 6 2 XOR 10
7 7 1 XOR 8
8 8 2 XOR 9
9 9 3 XOR 10
10 10 2 XOR 3
11 11 3 XOR 4
12 12 5 XOR 6
13 13 6 XOR 7
14 14 7 XOR 8
15 15 8 XOR 9
16 16 9 XOR 10
17 17 1 XOR 4
18 18 2 XOR 5
19 19 3 XOR 6
20 20 4 XOR 7
21 21 5 XOR 8
22 22 6 XOR 9
23 23 1 XOR 3
24 24 4 XOR 6
25 25 5 XOR 7
26 26 6 XOR 8
27 27 7 XOR 9
28 28 8 XOR 10
29 29 1 XOR 6
30 30 2 XOR 7
31 31 3 XOR 8
32 32 4 XOR 9
** 33 5 XOR 10
** 34* 4 XOR 10
** 35 1 XOR 7
** 36 2 XOR 8
** 37* 4 XOR 10
The fourth column provides the code delay measured in chips. This delay is the
difference between the MLS output and the G2 output. The last column provides the first 10 bits
of the C/A code generated for each satellite. These values can be used to check whether the
generated code is wrong. This number is in an octal format.
Carrier
In GPS system all satellites are having same frequency which is 1575.42 MHz for L1 band and
similarly L2 band having 1227.80MHz. These carrier frequencies are modulated with data signal
and C/A code using BPSK modulation.
In receiver segment the received signal having very high frequency so it is very difficult to signal
processing due to complexity of the signal. In order to achieve this we need down conversion of
the signal from higher carrier frequency to intermediate frequency.
3. GNSS Software Receivers
3.1 Introduction
Software Defined Radios (SDRs), which are highly flexible digital communication
receivers, have been around for more than a decade. Presently this is a rapidly evolving
technology that is getting enormous recognition and is generating widespread interest in the
receiver industry, particularly for mobile wireless transmission via hand-held devices. Size and
cost competitiveness has set the limitations, when trying to implement systems compatible with
multiple standards that exist presently and the upcoming standards, which will overlap with
existing ones for a significant interim period. Similarly, reconfiguring a device near-
instantaneously is desirable if the required throughput over a wireless link varies between such
extremes as voice transmission or down-loading a large image. This has motivated the concept of
a software defined radio (SDR), whereby the digital-to analog and analog-to-digital conversion
are performed as close as possible to the radio frequency.
The aim of extending the digital domain is to implement modulation, demodulation, and
channel coding and other required processing (functional) tasks in software. Because the
functionality is defined in software, a new technology can easily be implemented in a software
radio with a software upgrade. Therefore, users, service providers, and manufacturers become
more independent of the realization of a specific data transmission standard, since by down-
loading appropriate software code, a different functionality can be adopted by the
communications system. SDR technology aims at a flexible open-architecture receiver, which
helps in building reconfigurable SDRs, where dynamic selection of parameters for individual
modules is possible.
Whereas many standards are coming in the wireless communications, Global
Navigational Satellite Systems (GNSS) are also becoming so popular that presently existing
Global Positioning System (GPS) receivers are used in many applications, from cellular phones
to aircraft navigation for strategic defense applications. GPS, which is in existence for over a
quarter century, refers specifically to the global navigation system using satellites provided by
the USA Defense. It was developed basically for military applications, but subsequently released
with some restrictions for civilian use for world wide. GPS is going through a modernization
program in four phases, which will finally result in five GPS code signals, as against the two
existing frequencies. GLONASS is another satellite based navigation system under operation,
developed by Russia.
However, user countries all over the world which have been extensively using the GPS or
GLONASS for civilian applications have strongly felt the need to develop and launch their own
regional/global navigation systems along with augmentation systems so that they may operate
with or without collaboration from GPS or GLONASS. This has lead to the evolution of Global
Navigation Satellite System that will have universal accessibility. GNSS, thus refers not only to
GPS, GLONASS, Galileo (of Europe), COMPASS (of China), QZSS (of Japan) and INRSS (of
India) along with their respective augmentation systems. The presently available traditional
GNSS receivers are hardware based and available for GPS and GLONASS. Hardware based
receivers are not flexible and cannot be easily upgraded to acquire the signals from other GNSS
systems like Galileo and Compass. The receiver complexity also increases because of the new
signals structures and algorithms, introduced to improve the performance. Besides the new
challenges of having the capability to receive and process the signals of many GNSS systems,
some old challenges of GNSS like multipath still exist. Multipath are still one of the most
dominant errors in the positioning and the research in field of multipath navigation is active and
providing new receiver algorithms. From these reasons, flexibility is seen as an asset for a
receiver. Therefore, a concept like SDR, a GNSS software receiver (SR) approach is emerged to
have a single receiver for all the GNSS constituents. The technological evolutions in
microelectronic RF asics, Digital Signal Processing and Software-radio techniques, enable the
design of a future GNSS receiver with very promising physical and functional characteristics.
Further in order to use other satellite navigation systems like Galileo of Europe, and
GAGAN of India (referred by the common term GNSS), we should focus on development of a
software receiver as a common platform for two or more of these systems. Using GNSS-SDR we
can easily integrate the navigation solution with other modules of the defense applications. The
present trend is system-on-chip solution for complex problems to make the equipment or product
as small as possible in size to use in missiles, aircrafts, and helicopters. Therefore India should
have indigenous technology to develop software based receivers to have flexibility and
reliability. It is essential to know the basics of GNSS software receivers.
Therefore, this lecture will cover the brief review of signal structure of GPS and other
GNSS systems, traditional GPS/GNSS receiver, and software receivers. Later we will cover in
brief the architecture and algorithms required in the software receiver. Finally we will conclude
it by explaining the status and presently existing challenges in design and development of GNSS
software receiver.
We still need RF front-end since the present capacity of CPU is still not able to process
the signal directly from the antenna at 1.5GHz.
A hardware-based receiver is fastest in signal processing however whereas a software-
based receiver has the highest level of flexibility but is the slowest in processing speed. There are
FPGA-based receivers which are a compromise between the two.
Many basic parameters can be changed by a user in SR for various types of signal
processing and simulation. They are Intermediate frequency (IF), sampling frequency, Doppler
frequency range, chip rate, chip delay, threshold for acquisition, noise bandwidth, damping
factor, signal tracking duration etc., This flexibility is achieved by digital signal processing
techniques.
3.5.1 Acquisition:
The signal processing for a satellite navigation system is based on a channelized structure
for both GPS and Galileo. Before a channel is allocated to a satellite, the receiver must know
which satellites are currently visible. There are two common methods of finding the initially
visible satellites called: Warm start, the receiver combines the information in the stored
almanac data and the last position computed by the receiver. Cold start, the receiver does not
rely on any stored information. Instead it starts from scratch searching for visible satellites. The
method of searching referred as acquisition. Therefore the purpose of acquisition is to identify all
visible satellites to the user. If a satellite is visible, the acquisition must also determine the
frequency and code phase of the signal. The frequency of the signal from a specific satellite can
differ from its normal value due to down converting it into IF and due to Doppler frequency
shift. The code phase denotes the point in the current data block where the C/A code begins.
These acquisition algorithms are based on GPS signal properties like correlation and DFT.
3.5.2 Tracking
The main purpose of tracking is to refine the coarse values of code phases and frequency
and to keep track of these as signal properties change over time. The accuracy of the final value
of the code phase is connected to the accuracy of the pseudorange computed later on. The
tracking contains two parts: code tracking and carrier/phase tracking. The tracking is running
continuously to follow the changes in frequency as a function of time. If the receiver loses track
of a satellite, a new acquisition must be performed for that particular satellite.
3.5.3 Navigation Data extraction
When the signals are properly locked/tracked, then the C/A code and the carrier wave can
be removed from the signal, only leaving the navigation data bits.
[16] Adina Burian, Elina Laitinen, Elena Simona Lohan, Markku Renfors Department of
Communications Engineering, Tampere University of Technology,’ Acquisition of BOC
Modulated Signals Using Enhanced Sidelobes Cancellation Method’.
[17] Aihua Wang, Jing Wang and Bin Xue School of Information and Electronics Beijing
Institute of Technology “Acquisition of BOC(n, n) with Large Doppler”.
[18] Rui Sarnadas, Teresa Ferreira, Sergio Carrasco, Gustavo López-Risueño, “Use-case
analysis of the BOC/CBOC modulations in GIOVE-B E1 Signal”.
[19] Silva, P.F., Silva, J.S., Peres, T.R., GNSS Technologies Division, Andreotti, M., Hill, C.
University of Nottingham, “Results of Galileo AltBOC for Precise Positioning”.
[20] Tero Partanen, Harri Sorokin, and Jarmo Takala, “Low-Power Signal Acquisition for
Galileo Satellite Navigation System”.