A SINGLE FREQUENCY GPS SOFTWARE RECEIVER

Slides:



Advertisements
Similar presentations
Chapter : Digital Modulation 4.2 : Digital Transmission
Advertisements

Modern Navigation Thomas Herring MW 11:00-12:30 Room A
GPS Signal Structure Sources: –GPS Satellite Surveying, Leick –Kristine Larson Lecture Notes 4519/asen4519.html.
SVN-49 Signal Anomaly Presented by Tom Stansell GPSW POC: Lt. Col. James Lake, Ph.D.
University of Malta ICECS 2010 Terence Zarb, Ivan Grech, Edward Gatt, Owen Casha, Joseph Micallef Presented by: Terence Zarb Department of Microelectronics.
Jie Liu Microsoft Research Redmond, WA GPS Fundamentals Mobile Location Sensing Tutorial at MobiSys 2013.
FREQUENCY SHIFT KEYING
COIN-GPS: Indoor Localization from Direct GPS Receiving.
Global Navigation Satellite Systems
Implement a 2x2 MIMO OFDM-based channel measurement system (no data yet) at 2.4 GHz Perform baseband processing and digital up and down conversion on Nallatech.
Software Defined GPS Receiver Sam Price Advisor: Dr. In Soo Ahn.
Global Navigation Satellite Systems Research efforts in Luleå Staffan Backén, LTU Dr. Dennis M. Akos, LTU.
RAKE Receiver Marcel Bautista February 12, Propagation of Tx Signal.
GPS - Global Positioning System Presented By Brindha Narayanan.
Workshop EGNOS KRAKÓW GNSS RECEIVER TESTING TECHNIQUES IN A LABORATORY ENVIRONMENT Institute of Radar Technology Military University of Technology.
3/5/2004DSP Applied to GPS Algorithms1 of 14 DSP Applied to GPS Algorithms.
Design and Implementation of a Software-Based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Friday, June 19, 2015.
Connectivity Lab University of California, Berkeley Location and Timing with C/A code in GPS Wanbin Tang Jan 24, 2007.
Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015.
GPS and other GNSS signals GPS signals and receiver technology MM10 Darius Plausinaitis
Implementation of a Software-defined GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Monday, July 13, 2015.
How The GPS System Works. How the GPS System Works 24 satellites + spares 6 orbital planes 55° inclination Each satellite orbits twice every 24 hours.
Algorithms behind Global Positioning Murray Grace Josh Collins.
Software Defined Radio Brad Freyberg, JunYong Lee, SungHo Yoon, Uttara Kumar, Tingting Zou Project Description System Design The goal of our project is.
The GPS Software-Defined Receiver (a.k.a., the software radio) Michael S. Braasch, Ph.D., P.E. Associate Professor of EE Avionics Engineering Center.
Ground-Based Altimetry Using a Single- Receiver Single-Frequency GNSS Phase Ambiguity Resolution Technique G. Stienne* S. Reboul J.-B. Choquel M. Benjelloun.
Patrick Caldwell Chris Kellar. Overview  Basic Concepts  History  Structure  Applications  Communication  Typical Sources of Error.
August 16, 2000IMA1 Mathematical Challenges in GPS: New Opportunities Using New Civil Signals for Multipath Mitigation and Carrier Phase Ambiguity Resolution.
Principles of the Global Positioning System Lecture 07 Prof. Thomas Herring Room A;
Modern Navigation Thomas Herring
Introduction to Global Navigation Satellite Systems Ondrej Kútik.
BY MD YOUSUF IRFAN.  GLOBAL Positioning System (GPS) receivers for the consumer market require solutions that are compact, cheap, and low power.  This.
L5 Signal Characteristics Dr. A.J. Van Dierendonck, AJ Systems Dr. Chris Hegarty, MITRE Co-chairs RTCA SC159 WG1 GPS L2/L5 Industry Day May 2, 2001.
1/28/2010PRRMEC What is GPS… The Global Positioning System (GPS) is a U.S. space- based global navigation satellite system. It provides reliable positioning,
SVY 207: Lecture 4 GPS Description and Signal Structure
The Global Positioning System GPS Technologies and their Accuracies Joe Frankel Georgia Institute of Technology February 10, 2003.
R/C Simulation and Hardware Proof of Concept Development Dr. Philip A. Dafesh, Dr. R. T. Bow, Mr. G. Fan and Mr. M. Partridge Communication Systems Subdivision.
An improved combined symbol and sampling clock synchronization method for OFDM systems 指導老師 : 黃文傑, 高永安 姓名 : 吳政修.
Modern Navigation Thomas Herring MW 11:00-12:30 Room A
How Does GPS Work ?. Objectives To Describe: The 3 components of the Global Positioning System How position is obtaining from a radio timing signal Obtaining.
GPS(Global Positioning System) -An Introduction. What is the GPS? Orbiting navigational satellites Transmit position and time data Handheld receivers.
SNS Integrated Control System SNS Timing Master LA-UR Eric Bjorklund.
Complementary Code Keying with PIC based microcontrollers for The Wireless Radio Communications.
By Andrew Y.T. Kudowor, Ph.D. Lecture Presented at San Jacinto College.
GPS: Everything you wanted to know, but were afraid to ask Andria Bilich National Geodetic Survey.
West Hills College Farm of the Future. West Hills College Farm of the Future Precision Agriculture – Lesson 2 What is GPS? Global Positioning System Operated.
Chapter 2 GPS Crop Science 6 Fall 2004 October 22, 2004.
Chapter : Digital Modulation 4.2 : Digital Transmission
1 SVY 207: Lecture 5 The Pseudorange Observable u Aim of this lecture: –To understand how a receiver extracts a pseudorange measurement from a GPS signal.
Case Study (ZigBee): Phase IV Transmitter & Receiver Simulation.
1 GPS Signal (Module 3) Why is the GPS signal so complex? GPS is a receive-only system for a user and number of users is unlimited. Since there are many.
Revised 10/30/20061 Overview of GPS FORT 130 Forest Mapping Systems.
SVY207 Lecture 8: The Carrier Phase Observable
1 Design and Implementation of GPS Receiver (Module 6) In current competitive environment, with product life cycles measured in months, getting it right.
1 Acquisition, Tracking and Position Calculations (Module 4) This module will provide the necessary theory behind acquisition, tracking, satellite position.
Test Vectors First, an overview of the data coming from the satellites: GPS Message Consists of a NAV message modulated with a much higher-frequency code.
Fundamentals of Communications. Communication System Transmitter: originates the signal Receiver: receives transmitted signal after it travels over the.
Applied Research Laboratories The University of Texas at Austin Applied Research Laboratories The University of Texas at Austin Interfacing GPSTk to Existing.
L5 Signal Characteristics
Digital transmission over a fading channel
Principles of the Global Positioning System Lecture 07
GPS - Global Positioning System
Spread Spectrum Audio Steganography using Sub-band Phase Shifting
How Things Work: Global Positioning System
Geodesy & Crustal Deformation
Introduction King Saud University
Developing a multi-thread product -- Introduction
Convolution, GPS and the TigerSHARC XCORRS instr.
Introduction 1st semester King Saud University
Presentation transcript:

A SINGLE FREQUENCY GPS SOFTWARE RECEIVER DESIGN OF A SINGLE FREQUENCY GPS SOFTWARE RECEIVER Peter Rinder Nicolaj Bertelsen

Basic GPS receiver structure - Design and implementation Peter Rinder Basic GPS receiver structure - Design and implementation

Project Goal Design and implement a single frequency GPS software receiver

GPS signals Navigation data Pseudo-random noise sequences Carrier wave

Navigation data Satellite orbit information (ephemerides) Satellite clock information Satellite health and accuracy Satellite orbit information (almanac) Bit-rate of 50bps Repeated every 12.5 minutes

Pseudo-random noise sequences Spreading sequences (C/A) Length of 1023 chips Chipping rate of 1.023Mcps 1 sequence lasts 1ms 32 sequences to GPS satellites Satellite identification Separate signals from different satellites

Carrier wave Signal transmission Two frequencies: L1=1575.42MHz L2=1227.60MHz C/A code on L1 Bipolar phase-shift keying (BPSK) modulation

GPS signal Carrier wave Navigation data Carrier and data 1 data bit 1ms 20ms Carrier and data

GPS signal Carrier and data PRN code Resulting signal

Important tasks of a GPS receiver Prepare received signals for signal processing Find satellites visible to the receiver For each satellite Find coarse values for C/A code phase and carrier frequency Find fine values for C/A code phase and carrier frequency Keep track of the C/A code phase and carrier frequency as they change over time Obtain navigation data bits Decode navigation data bits Calculate satellite position Calculate pseudorange Calculate position

Receiver overview Prepare received signals for signal processing RF front-end A/D converter Acquisition Receiver channel Position calculation Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel

Receiver overview Find satellites visible to the receiver Find coarse values for C/A code phase and carrier frequency for each satellite RF front-end A/D converter Acquisition Receiver channel Position calculation Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel

Receiver overview Find fine value for C/A code phase Find fine value for carrier frequency Keep track of the C/A code phase and carrier frequency as they change over time Code tracking Carrier Tracking Bit syn-chronization Decode nav. data Calculate satellite position Calculate pseudo-range Receiver channel

Receiver overview Obtain navigation data bits Code tracking Carrier Bit syn-chronization Decode nav. data Calculate satellite position Calculate pseudo-range Receiver channel

Receiver overview Decode navigation data bits Code tracking Carrier Bit syn-chronization Decode nav. data Calculate satellite position Calculate pseudo-range Receiver channel

Receiver overview Calculate satellite position Code tracking Carrier Bit syn-chronization Decode nav. data Calculate satellite position Calculate pseudo-range Receiver channel

Receiver overview Calculate pseudorange Code tracking Carrier Tracking Bit syn-chronization Decode nav. data Calculate satellite position Calculate pseudo-range Receiver channel

Receiver overview Calculate position RF front-end A/D converter Acquisition Receiver channel Position calculation Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel Receiver channel

Implemented parts   Prepare received signals for signal processing Acquisition Code tracking Carrier tracking Bit synchronization Decode navigation messages Calculate satellite positions Calculate pseudoranges Calculate receiver position

Signal conditioning Purpose of signal conditioning Remove possible disturbing signals by filtering Amplify signal to an acceptable amplitude Down-sample signal to an intermediate frequency Intermediate frequency signal Antenna signal Mixer Amplifier Filter Filter Local oscillator

Acquisition Acquisition purpose Operates on 1ms blocks of data Estimate coarse value of PRN code phase Estimate coarse value of carrier frequency Operates on 1ms blocks of data Corresponds to the length of a complete PRN code

Acquisition Code phase estimation PRN code characteristics Maximum autocorrelation at lag 0 Minimum auto-correlation in all other cases Minimum cross-correlation in all cases Generate local PRN code Perform circular correlation to obtain code phase Code phase is the circular shift of the local code that gives maximum correlation

Acquisition Incoming code Generated code Correlation 0 1 2 3 4 5 6 7

Acquisition Carrier frequency estimation Generate local carrier Adjust frequency until highest correlation is obtained

Acquisition Correlation 1 2 3 4 5 6 7 8

Acquisition Correct value for code phase and carrier frequency gives a peak

Code tracking Enhance the accuracy of code phase obtained by acquisition Generate three local PRN codes 0.5 chips apart Early Prompt Late Correlate the local codes with incoming code Adjust code phase according to result of correlation

Code tracking Incoming code Early Prompt Late Correlation 1 0.5 Delay in chips -1 -0.5 0.5 1

Carrier tracking Enhance the accuracy of the carrier frequency obtained by acquisition Generate local carrier signal Measure the phase error between incoming carrier and local carrier signal Adjust frequency until phase and frequency becomes stable Incoming signal NCO carrier generator Phase discriminator Loop filter PRN code

Design and implementation of remaining functionalities Nicolaj Bertelsen Design and implementation of remaining functionalities

Status at report submission  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position

Bit synchronization Output from the tracking loop is -1 or 1 every millisecond

Bit synchronization Output from the tracking loop is -1 or 1 every millisecond Output from bit syncronization is -1 or 1 every 20 ms 1 -1 1 1 -1 1

Status at report submission  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position

Decode navigation messages The navigation messages contain satellite information Subframe 1-3 is needed to calculate the satellite position

Decode navigation messages Find the subframes in the navigation message Preamble (TLM word) 1 0 0 0 1 0 1 1 Correlation between navigation bits and preamble

Decode navigation messages Parity check of the subframe Find the subframe id (1-5) Decode each subframe (1-3)

Decode navigation messages Data in subframe 2 and 3

Status  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position

Calculate satellite positions All the information in subframe 2 and 3 tells in which orbit the satellite is moving

Status  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position

Calculate pseudoranges The start of a subframe is found for all channels The accuracy of the pseudoranges with a time resolution of 1 ms is 300.000m The code tracking loop can tell the precise start of the C/A code Pseudorange accuracy of 25m Channel 1 Channel 2 Channel 3 68 ms Channel 4 Time 409807

Calculate pseudoranges Traditional calculations of the satellite positions Software receiver calculations More precise satellite positions Channel 1 71 ms Channel 2 Channel 3 Channel 4 Time (Epoch Time) Channel 1 71 ms Channel 2 Channel 3 Channel 4 Time (Transmit Time)

Calculate pseudoranges Calculations of more pseudoranges 1000Hz pseudorange calculations 68 ms 68.50 ms 68.82 ms Channel 1 Channel 2 Channel 3 Channel 4 Time 409807 409807.1 409807.2

Status  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position

Calculation of receiver position The university area

Calculation of the receiver position Antenna positions

Calculation of receiver position

Calculation of receiver position The start of the C/A code for each millisecond of data

Calculation of receiver position Pseudorange smoothing

Calculation of receiver position

Calculation of receiver position

Status  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position  Acquisition  Code tracking  Carrier tracking  Bit synchronization  Decode navigation messages  Calculate satellite positions  Calculate pseudoranges  Calculate receiver position

Future improvements Analyze the multipath impact on pseudorange calculations The software receiver is using post processing For real-time implementations it is necessary to switch programming language from Matlab  C or C++ Phase measurements P code measurements

Conclusion Obtain RF hardware Analyze the hardware and GPS signals Front-end from Simrad NI 5911 A/D converter NI 5102 A/D converter ICS-652 from Interactive Circuits and Systems Analyze the hardware and GPS signals Design and implement a GPS signal simulator Analyze different methods of acquisition and tracking Implement receiver in Matlab Design and implemented a post processing standalone GPS C/A code software receiver