1. See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/307544875
Implementation of a USRP based Real-Time Global Navigation Satellite
System (GNSS) Receiver
Conference Paper · August 2014
CITATIONS
0
READS
236
6 authors, including:
Some of the authors of this publication are also working on these related projects:
Provision of Wifi and internet in remote locations of Pakistan using High Altitude Platforms (HAPs) View project
dynamics and control of small UAVs View project
Aamir Malik
Institute of Space Technology
2 PUBLICATIONS 0 CITATIONS
SEE PROFILE
Umar Bhatti
Institute of Space Technology
29 PUBLICATIONS 145 CITATIONS
SEE PROFILE
All content following this page was uploaded by Umar Bhatti on 01 September 2016.
The user has requested enhancement of the downloaded file.
2. Implementation of a USRP based Real-Time Global
Navigation Satellite System (GNSS) Receiver
M. Aamir, M. Hassan Sajjad, Umar Iqbal Bhatti, Salma Zaineb Farooq, Moazzam Maqsood
Department of Electrical Engineering
Institute of Space Technology
Islamabad, Pakistan
malikamir773@gmail.com, hassan.sajjad4@yahoo.com, umeriqbal@ist.edu.pk, zaineb.farooq@ist.edu.pk,
moazam.maqsood@ist.edu.pk
Abstract— This paper describes the implementation of a
Global Navigation Satellite System (GNSS) receiver based on the
Software Defined Radio approach. A software receiver has more
flexibility as compared to the conventional hardware receiver
since the intermediate signals are available for processing and
analysis at each stage. A software receiver can also be configured
as a multi-constellation GNSS receiver with slight modifications.
The GNSS Software Defined Receiver consists of two parts: The
Radio Frequency front end and the signal processing software in
a computer. The following implementation uses the Universal
Software Radio Peripheral (USRP) as the front end and a GNU
Radio based open source software for signal processing. The RF
front end has an active Global Positioning System (GPS) antenna
with a gain of 30 dB, a custom made Bias-Tee with a loss of
1.17dB to power up the active antenna, a custom made Low Noise
Amplifier with a gain of 11 dB to amplify the GNSS signals and
USRP-N210. USRP-N210 is paired with an appropriate daughter
board WBX for GPS signal reception. USRP acts as a down-
converter and a sampler. The operating system used for signal
processing is Ubuntu 12.10 (32 bit) on Corei5 System. GNSS
satellites Acquisition, Tracking and Navigation Solution
computation is performed in the PC by the use of GNU-Radio
based open source software. The Position fix for GPS Satellites is
obtained in real-time and the signal is analyzed at various stages
of signal processing. The position fix obtained is analyzed by
importing the KML file into Google Earth. The real time signal
acquisition results are analyzed and presented. The software is
tested to acquire eight satellites simultaneously in real-time to
give very precise position fix. The software can be re-configured
to obtain any application specific parameters when needed.
Keywords— Global Navigation Satellite System, Universal
Software Radio Peripheral, Software Defined Radio, Signal
Acquisition, Tracking, Navigation Solution, Phase locked loop,
Delay locked loop, Low Noise Amplifier.
I. INTRODUCTION
Knowing the position and location has always remained a
source keen interest for human beings. In the past human
explored star constellations to determine his position. On the
advent of industrial revolution compass and other hand held
instruments were used to determine the direction and position.
With further advancement of technology, humans utilized the
ancient concept of stars constellations and developed their
own navigation satellites constellation for timing and position
information for the whole globe [1].
Up till now industry has made much advancement in
communications and navigation fields, but all those solutions
were provided on very large scale integrated chips. During the
past decade Software Defined Radio (SDR) technology has
emerged and gained widespread popularity due to its
capabilities like reconfigurability and flexibility. SDR has
made it possible to design a single system to perform multiple
jobs at multiple frequencies.
Development of more than one Global Navigation Satellite
Systems (GNSS) and incorporation of more advanced signals
for existing navigation systems, raised the need of a
reconfigurable receiver to cover all current and future signals
and GNSS Systems. SDR solved this problem and provided
interoperability between different GNSS systems for more
accurate and reliable Position Velocity and Time (PVT)
estimates. SDR enables to simulate different scenarios and
environment conditions for the development of GNSS
receivers for a specific application. GNSS SDR’s are also
being used for education and research purposes for the
development of new applications.
This paper describes the implementation of GNSS SDR for
Global Positioning System (GPS) at L1 band. The SDR is
implemented on Universal Software Radio peripheral (USRP).
A USRP is a general purpose SDR, available in different
variants for different application requirements. This
implementation uses USRP-N210 with WBX daughter board.
It provides 40MHz bandwidth and can be modified in
firmware to give 50MHz bandwidth to cover all GNSS signals
at L1 band. Custom made Low Noise Amplifier (LNA),
custom made Bias-Tee and active GPS antenna are used for
GPS signal reception [2], [3].
The paper is organized as follows: section 2 compares the
hardware and software based receivers, section 3 describes the
components of Radio Frequency (RF) front end and modules
of software defined receiver along with signal processing
results taken at various stages of signal processing, and finally
conclusion is drawn in section 4.
3. II. COMPARISON BETWEEN HARDWARE AND SOFTWARE
BASED GNSS RECEIVERS
A. Hardware based Receiver
Hardware based GNSS receivers are presented in the form
of large scale integrated chips. These receivers are power
efficient, small in size and require less processing power as
compared to SDR, because the number of channels and other
parameters are fixed in these receivers.
B. Software defined receiver
Software defined GNSS receivers have two parts: RF-front
end and the signal processing software. RF-front end is the
external hardware which is used to capture GNSS Signals. It
down-converts the RF signal to IF or Baseband and then after
sampling, digital signal is fed to the host system for signal
processing. Acquisition, Tracking and Navigation Solution
computation are done in the signal processing software. These
receivers can be modified according to the application
requirements. Generally, GNSS SDR’s are used for
simulations of different scenarios and research purposes.
C. Advantages of Software Defined Receiver
Commercially available GNSS receiver chips or GNSS
receivers, in which all the signal processing is done in the
hardware chips, are limited in terms of their Doppler
frequency search band, the sampling frequency, the Phase
Locked Loop (PLL) Noise Bandwidth and the algorithm used
to process the incoming GNSS signal. The above parameters
cannot be changed in hardware based receivers; the final
received output from hardware based receivers is the
Navigation Solution only.
SDR is a modular based system, in which signal can be
analyzed at any processing stage and signal processing
algorithms can also be changed. Different scenario behaviors
can be simulated and analyzed. Different signal processing
parameters can also be changed like Doppler frequency search
band, Sampling rate, any filter configuration, PLL Noise
Bandwidth, Delay Locked Loop (DLL) Noise Bandwidth,
number of Satellites to be tracked and other parameters for a
specific algorithm.
III. IMPLEMENTATION OF SOFTWARE DEFINED GNSS RECEIVER
The Software Defined GNSS receiver consists of
hardware and software parts. Hardware part has an active GPS
antenna, Bias tee, LNA and USRP N210. Software part
consists of GNU radio based open-source libraries[4],[11]
patched up in modular form. First module consists of
Universal Hardware Driver (UHD) for data reception from
USRP-N210, The second module is the Acquisition module
for searching satellites in view, The third module is the
Tracking module for extraction of Navigation message and the
fourth module is the Navigation Solution computation module
to compute the position coordinates of the receiver. Software
Defined GNSS receiver flow diagram is shown in Fig. 1.
Fig. 2. Flow Diagram of Software Defined GNSS Receiver
A. Active GPS antenna
The Active GPS antenna used is a commercially available
Right Hand Circular Polarized GPS car antenna with 30dB
gain and 50Ω impedance. Its model number is LCGPS01. [5].
B. Bias-Tee
Custom made Bias tee design is based on TCBT-14+ from
Mini-Circuits®
[10]. PCB was designed on the pcb designing
software Diptrace™. The design has only one external
component that is 0.01µf capacitor. Bias tee has the insertion
loss of 1.17dB and is designed for 50Ω impedance system. Its
functional schematic and picture is shown in Fig. 2.
Fig. 3. Functional Schematic and picture of custom made Bias Tee
C. Low Noise Amplifier
Custom made LNA used, is based on BFP640ESD, with a
gain of 11dB [6],[7]. Bias-T mentioned in the schematic is for
50Ω impedance system. Its functional schematic and picture
are shown in Fig. 3.
Fig. 1. Functional Schematic and picture of LNA
4. D. USRP-N210
USRP N210 is a powerful flexible Software Radio
Peripheral used to develop and implement SDRs; It has
100MS/s dual ADC, 50Mbps Gigabit Ethernet connection and
2.5ppm TCXO reference clock. This device is used along with
WBX daughter board which provides 40MHz bandwidth
capability with 50-2200 MHz frequency range. Its noise figure
is 5dB [2],[3].
E. Signal Processing Software
The Host System used is Corei5 with Ubuntu 12.10. The
software consists of open-source libraries based on GNU-
Radio [4],[11]. The algorithms used for each module are as
follows:
1) Acquisition
Acquisition process gives the rough estimates of Doppler
Shift and Code phase of visible satellites, the algorithm used
for acquisition of GPS satellites is “Parallel Code Phase
Search Acquisition Method” [8],[9]. The Acquisition process
flow diagram is shown in Fig. 4.
Fig. 4. Acquisition Process flow diagram
Software works at a sampling rate of 4Msps; The Doppler
frequency search band is set to ±10KHz and Doppler
frequency search step size is 250Hz. Acquisition results at
point ‘A’ in Fig.4 for PRN32 and PRN18 are shown in Fig. 5.
Fig. 6. Acquisition results of PRN18 (Right) and PRN32 (Left)
Decision of presence of any satellite is made by comparing
the highest peak with the second highest peak in Doppler
frequency and Code phase search. The distinct peak of PRN18
can be seen in Fig.5 while there is no distinct peak present for
PRN32.
2) Tracking
Tracking module gets rough estimates of Doppler
frequency and Code Phase from Acquisition module and then
refines these parameters for complete removal of Carrier and
Coarse Acquisition code to get Navigation Data at baseband.
Tracking module keeps lock of the changing code and carrier
Doppler shift. The algorithm used is “Phase locked loop plus
Delay locked loop tracking” [8],[9]. The Tracking module
flow diagram is shown in Fig. 6.
Fig. 7. Tracking module flow diagram
The PLL band is set to 50Hz and DLL band is set to 2Hz.
The chip spacing for Early, Late and Prompt signals is set to
0.5 chips. Results at various point of tracking algorithm are
given below.
Fig. 7 shows the Coarse Acquisition (C/A) code frequency
variations over time at point ‘B’ in Fig. 6. This variation is due
to the Doppler shift. This is the error plus initial bias signal of
PRN code generator in code tracking loop (DLL).
Fig. 8. Coarse Acquisition (C/A) code frequency over time
Fig. 8 shows the Doppler shift of carrier signal from point
‘C’ in Fig.6. This is the error signal of the carrier tracking loop
(PLL). Numerical control oscillator adds initial bias to it and
Fig. 5. Carrier frequency doppler shift
5. generates the exact replica of carrier signal.
The PLL plus DLL loop discriminators computes the
above given code and carrier Doppler shifts from the output of
Early, Late and Prompt correlators. The prompt correlator of
in-phase arm gives the Navigation data at base band; the
overall procedure’s goal is to maximize the energy in prompt
correlator of in-phase arm.
The correlator results for Early, Late and Prompt signals of
in-phase arm from point ‘D’ in Fig. 6 are shown in Fig. 9.
Fig. 9. Correlation results of Early, Late and Prompt signals
The large amplitude of prompt signal can be seen in Fig. 9
as compared to early and late signals.
Fig. 10 shows the Navigation message bits from point ‘E’
in Fig. 6. The Navigation message is taken out from Prompt
signal of in-phase arm after correlation.
Fig. 11. Navigation Message bits
3) Navigation Solution
The Navigation Solution module gets navigation data from
PLL plus DLL loop and after estimating pseudoranges
computes the receiver position in real time [8],[9]. Fig. 11
shows the computed pseudorange of PRN1.
The decreasing Pseudorange shows that the satellite
identified with PRN1 is coming head-on towards the receiver
and its elevation angle is increasing.
Fig. 13 shows the actual position of receiver at Institute of
Space Technology with computed coordinate points in Google
Earth.
Fig. 13. Receiver Position in Google Earth
Fig. 12 shows the detailed information about the tracked
satellites and receiver performance. This analysis was done in
GNSS evaluation software by u-blox “u-center™ v8.11”. The
Position Dilution of Precision (PDOP) was 6.1m, Vertical
Fig. 12. Pseudorange of PRN1
Fig. 10. Navigation Solution analysis from “u-center v8.11™”
6. Dilution of Precision (VDOP) was 4.1m and Horizontal
Dilution of Precision (HDOP) was 4.6m. Satellite vehicles
with PRN IDs PRN9, PRN17, PRN26 and PRN28 were being
tracked during the analysis. Maximum C/N0 received was
53dB from PRN9.
IV. CONCLUSION
This paper presented implementation of software defined
GNSS receiver on USRP-N210. GPS signals were received
and analyzed. Results at various stages of signal processing
can be taken as shown above. The receiver is providing
accuracy of 4m-8m. The SDR implementation is working fine
and can be utilized for educational and research purposes. The
custom made Bias-Tee and LNA designs are also verified as
they are producing satisfactory result with this receiver. The
real-time intermediate signals were saved while running the
software and then the data was plotted and analyzed in
Matlab™. The researchers and students can see the effect of
changing different software parameters, as described in
section 2, on receiver performance in real-time. This will help
a lot in understanding the GNSS systems and signal
processing algorithms working for GNSS related studies. New
algorithms can be added and tested also, in the modular
structure of the software receiver.
Future work includes the addition of Galileo, Beidou and
Glonass systems and interoperability for these systems.
References
[1] Najam A. Naqvi, Muhammad Fiaz and Li Yan Jun, “Exploring the
dimensions of Global Navigation Satellite System: An opportunity
window for academia and industry in Pakistan,” Proceedings of the
Pakistan Academy of Sciences 50 (1): 1–11, 2013
[2] “USRP-N210 data sheet”, Ettus Research, A National Instruments
Company, 4600 Patrick Henry Drive Santa Clara, CA 95054.
[3] WBX 50-2200 MHz Rx/Tx (40 MHz) (2014), RF Daughterboards on
Ettus Research website. [Online]. Available:
https://www.ettus.com/product/details/WBX
[4] (2014) GNSS-SDR Official website. [Online]. Available: http://gnss-
sdr.org/source-code.
[5] Active GPS car antenna, GPS antennas on Shenzhen Lincho
Communications page on Alibaba.com. [Online]. Available:
http://lincho.en.alibaba.com/product/1280691514-
219191951/car_navigation_external_3m_sma_cable_1575_gps_antenna.
html.
[6] “BFP640ESD data sheet”, Infineon Technologies AG, 81726 Munich,
Germany.
[7] Talha Mahmood Sheikh, “Active multiband planar antennas for GNSS
receivers”, MSc Dissertation, Department of Electronic Engineering
Faculty of Engineering and Physical Sciences,University of Surrey,
Guildford, Surrey, GU2 7XH, UK, August 2011.
[8] Kai Borre, Dennis M. Akos, Nicolaj Bertelsen, Peter Rinder and Søren
Holdt Jensen, “Applied and numerical harmonic analysis series: A
Software-Defined GPS and galileo receiver, A single-frequency
approach”, Birkhauser Boston c/o Springer Science+Business Media
LLC, 233 Spring Street, New York, NY 10013, USA, 2007, pp.75-135.
[9] Elliott D. Kaplan and Christopher J. Hegarty, “Understanding GPS
principles and applications”, 2nd ed., ARTECH HOUSE, INC.685
Canton Street Norwood, MA 02062, pp.153-242.
[10] “TCBT-14+ data sheet”, Mini-Circuits, Brooklyn NY 11235,UK.
[11] Carles Fernandez–Prades, Javier Arribas, Luis Estevey, Carlos Aviles,
and Pau Closas, “GNSS-SDR: an Open Source Tool For Researchers
and Developers”, Proceedings of the ION GNSS Conference 2011,
September 19-23, 2011, Portland, Oregon (USA).
View publication statsView publication stats