0% found this document useful (0 votes)
21 views

4-Introduction To GNSS and GNSS Data Processing4

Uploaded by

kqqfg
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

4-Introduction To GNSS and GNSS Data Processing4

Uploaded by

kqqfg
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 89

Introduction to GNSS and GNSS Data Processing

Dinesh Manandhar, Associate Professor (Project)


Center for Spatial Information Science (CSIS), The University of Tokyo
[email protected]

Slide : 1
What is GNSS?
L5/E5/B2/L3 L2 L6/E6/B3 L1/E1/B1
• GNSS or Global Navigation Satellite System is an acronym used to represent
all navigation satellite systems such as

Satellite Country Coverage


GPS USA Global

GLONASS Russia Global

Galileo Europe Global

BeiDou (BDS) China Global

QZSS (Michibiki) Japan Regional

NavIC India Regional

✓ GPS and GLONASS have signals for civilian and military usage
❖ Military signals are encrypted and not available for civilian use
✓ Galileo and BeiDou also have Open and Restricted Signals
✓ All civilian signals are freely available
✓ Technical information for civilian signals are made public
❖ Its called ICD (Interface Control Document) or IS (Interface
Specification)
❖ Provides necessary information to develop a GNSS receiver
https://gssc.esa.int/navipedia/images/c/cf/GNSS_All_Signals.png

Slide : 2
Systems Related with Navigation
Navigation Satellite Systems Augmentation Systems
GPS, GLONASS, Galileo, BeiDou, QZSS, NavIC SBAS or GBAS

Satellite Based Augmentation Systems


(SBAS)
PVT Computation Engine
(Position, Velocity and Time)
Ground Based Augmentation Systems
(GBAS)

PVT Solutions with


Enhanced Accuracy and Reliability

ICAO defines regulations related to the use of GNSS and SBAS for aviation

Slide : 3
Satellite Based Augmentation System (SBAS)
• Satellite Based Augmentation System (SBAS) are used to augment GNSS Data
• Provide Higher Accuracy and Integrity
• Correction data for satellite orbit errors, satellite clock errors, atmospheric correction
data and satellite health status are broadcasted from satellites
• SBAS Service Providers
• WAAS, USA (131,133,135,138)
• MSAS, Japan (129,137)
• EGNOS, Europe (120,121,123,124,126,136)
• BDSBAS, China (130,143,144)
• GAGAN, India (127,128,132)
• SDCM, Russia (125,140,141)
• KASS, Korea (134), Also Navigation System (KPS)
• AUS-NZ, Australia (122)
• NSAS, Nigeria, (147)
• ASAL, Algeria (148)
* PRN ID are given in the bracket

Slide : 4
GNSS Signals received
by a receiver

Satellite signal power level Position Output

Altitude

GNSS Satellites visible in


the sky where receiver is
located
Time in UTC

Slide : 5
GNSS Signals received
by a receiver

Slide : 6
Raw data necessary to
compute position

Satellite signal power level Position Output


Doppler

Altitude

GNSS Satellites visible in


the sky where receiver is
located
Time in UTC

Code Phase Data Carrier Phase Data

Slide : 7
JAKARTA BANGKOK MANILA

KUALALUMPUR Ho Chi Minh TOKYO

We do not have BeiDou data in Kualalumpur and Ho Chi Minh stations because of license limitation in the receiver Slide : 8
GPS Skyplots: Tokyo, Jakarta and Maputo
Tokyo Base-Station Jakarta Base-Station Maputo Base-Station

Slide : 9
GNSS Signal Visibility: Skyplot
Antartica_DUMG00ATA Antartica_MAW100ATA Gabon_NKLG00GAB

Slide : 10
QZSS (Japanese version of GPS)

Slide : 11
QZSS 1st Satellite was Launched on 11th SEP 2010 and
Declared Operational on 1st NOV 2018

Declaration Ceremony of QZSS Operation


http://qzss.go.jp/events/ceremony_181105.html

Slide : 12
QZSS Signals and PRN ID: Current Status
Launch Date Launch Date
PRN SVN Satellite Orbit Positioning Signals PRN SVN Satellite Orbit Positioning Signals
(UTC) (UTC)
193 L1C/A, L1C, L2C, L5 196 L1C/A, L1C, L2C, L5
183 J001 QZS-1 2010/9/11 QZO L1S 186 L1S
J005 QZS-1R 2021/10/26 QZO
193 L6 186 L5S
194 L1C/A, L1C, L2C, L5 196 L6
184 L1S
J002 QZS-2 2017/6/1 QZO
196 L5S
194 L6
199 L1C/A, L1C, L2C, L5
189 L1S
197 L5S
J003 QZS-3 2017/8/19 GEO
137 L1Sb
199 L6
- Sr/Sf
195 L1C/A, L1C, L2C, L5
185 L1S
J004 QZS-4 2017/10/9 QZO
200 L5S
195 L6

Source: https://qzss.go.jp/technical/satellites/index.html

Slide : 13
QZSS Special Application Signals
Signal Signal Convergence
Purpose Accuracy Availability Remarks
Name Band Time
CLAS High Accuracy L6D 2 – 5 cm Few minutes Japan only
10 – 20 QZSS Visible Convergence time can be reduced by
MADOCA High Accuracy L6E 10 – 20 cm using local correction data
minutes Area
Disaster Crisis Not Applicable Also called Early Warning Message.
Not QZSS Visible Basically for Japan.
DC Report (DC) Report L1S (Available Additional Message Types are
Applicable Area
during disasters every 3 sec) defined for other countries as well.
2-Way
Not QZSS Visible
Q-Anpi communication S Not Applicable
Applicable Area
during disasters
Not Applicable Authenticates QZSS, GPS and
Signal L1, L5, Not (TTFA, TBA QZSS Visible Galileo signals
SAS
Authentication L6 Applicable See QZSS IS Area LNAV, CNAV. CNAV-2, I/NAV and
Document) F/NAV Messages

Slide : 14
QZSS Constellation Plan

Equator

1 sat constellation 4 sat. constellation 7 sat. constellation


Number of Satellites QZO ●: 1 QZO ●: 3, GEO ●: 1 QZO●:4, GEO●:2, QGO●:1
Purpose Research & Development Operational Operational,
Complements GPS for Autonomous Positioning
positioning Capability with QZSS only
Government Authority JAXA Cabinet Office Cabinet Office
Operation 2010~(10 years) 2018~(15 years) 2023~(15 years)
Service Time / day (Japan) 8 hours / day 24 hours / day 24 hours / day

QZO: Quasi-zenith Orbit / GEO: Geosynchronous Orbit / QGO: Quasi-geostationary Orbit Source: MGA 2019, Mitsubishi

Slide : 15
This slide is taken from presentation slides of S. Kogure, Introduction to Michibiki and EWS, presented on 13th July 2021

Slide : 16
Characteristics of QZSS
• QZSS signal is designed in such a way that it is interoperable with GPS
• QZSS is visible near zenith; improves visibility & DOP in dense urban area
• Provides Orbit Data of other GNSS signals
• Provides Augmentation Data for Sub-meter and Centimeter level position accuracy
• Provides Messaging System during Disasters

http://qzss.go.jp/en/overview/services/sv04_pnt.html
Slide : 17
Merits of QZSS
• Disaster and Crisis Management • Sub-Meter Level Augmentation • High-Accuracy Positioning Services
• Short Message broadcast during Service (SLAS) • CLAS and MADOCA
Disaster

http://qzss.go.jp/en/overview/services/sv04_pnt.html
Slide : 18
QZSS Launch Schedule

Delay in launch schedule of 2023

https://qzss.go.jp/overview/intro/index.html

Slide : 19
How does a GPS/GNSS Receiver Work?

Slide : 20
GPS L1C/A Signal Structure
• Carrier Signal
• It defines the frequency of the signal
• For example:
• GPS L1 is 1575.42MHz, L2 is 1227.60MHz and L5 is 1176.45MHz
• PRN Code
• Necessary to modulate carrier signal
• Used to identify satellite ID in the signal
• Should have good auto-correlation and cross-correlation properties
• Navigation Data
• Includes satellite orbit related data (ephemeris and almanac data)
• Includes satellite clock related information (clock errors etc.)
• Includes satellite health information

Slide : 21
GPS L1C/A Signal Structure (Satellite Side)

x154

Carrier Signal: 1575.42Mhz (L1)


• Define signal frequency

x1, Clock
x1/10
10.23Mhz
PRN Code, 1.023Mhz
Atomic Clock
Rb or Cs Clocks • Spread Spectrum Modulation
• Identify each satellite

L1 Band GPS Signal


x1/204600

• Provides Navigation Data, 50Hz


• Ephemeris (satellite orbit related data)
• Satellite clock related data
• Satellite health status
Slide : 22
GPS L1C/A Receiver Signal Processing
GPS Antenna

x154 Replica Digital Signal RF Signal converted


(Carrier + PRN Code) to digital IF signal
L1 Carrier, 1575.42Mhz + Doppler Frequency
• Compute doppler Carrier Signal
• Compute carrier phase ∑ Front-End

Receiver
Clock x1/10
10.23Mhz PRN Code, 1.023Mhz Signal Processing
PRN Code
• Identify visible satellites
• Compute pseudorange, code-phase Visible Satellites
Acquisition
Code-Phase

PVT Output Position


Doppler Tracking
(Position, Velocity, Time) Computation

Navigation Data Navigation

Slide : 23
Generation of GPS L1C/A PRN Code

• Based on Gold Codes


• Use two 10 bit registers, G1 and G2 G1 Polynomial: [3,10]
LFSR (Linear Feed Shift Register)
• All initial bits of registers are set at 1 1 1 1 1 1 1 1 1 1 1
• Taps 3 and 10 are used for G1 1 2 3 4 5 6 7 8 9 10
• Taps 2,3,6,8,9,10 are used for G2 Output
• Two additional taps are selected
based on PRN ID. See GPS IS Tap 2 & 6 for PRN ID 1
document for the list of the taps.
• Example, Taps 2 and 7 are used for 1 2 3 4 5 6 7 8 9 10
PRN ID 1. 1 1 1 1 1 1 1 1 1 1

G2 Polynomial: [2,3,6,8,9,10]

Refer video recording of webinar for details on PRN Code:


https://www.youtube.com/watch?v=elWbDBHTJ6I&t=2s

Slide : 24
PRN Code Output #1

Slide : 25
Block Diagram of GPS Receiver
GPS Antenna f = 1575.42Mhz Front-End

AGC
fs = 16.368Mhz

Pre-Amp
Down Converter A/D Converter Acquisition Tracking
LNA

f0 = 1554.0Mhz
fc = 10Mhz
Navigation Data
Oscillator Frequency Replica Signal
(Clock) Generator Generator

Position Output

fc, f0, fs are only example values.


These values differ depending upon the design of the front-end

Slide : 26
How does GPS Signal Look Like?
Time Domain Plot of IF Data Frequency Domain Plot of IF Data Histogram of IF Data
Time-domainFile:Plot of GPS IF Signal
JAX_LIV.dat
Frequency-domain
File: JAX_LIV.dat
Plot of HistogramFile:ofJAX_LIV.dat
GPS IF Signal
6
Tracking Output (I and Q Channels)
5 15 GPS IF Signal (Fourier Transform) 16000

4 10
14000

Number of Samples in a Bin


3 5
12000
2

Magnitude, dB
0
Amplitude

1 10000
-5
0 8000
-10
-1
6000
-15
-2
4000
-3 -20

2000
-4 -25

-5 0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0 2 4 6 8 10 12 -5 -4 -3 -2 -1 0 1 2 3 4 5
Time (ms) Frequency (MHz) Bin Value

Acquisition of GPS L1C/A Signal with Low Noise Acquisition of GPS L1C/A Signal with Higher Noise

Scatter Plot of I and Q Channels, shows BPSK Modulation

Slide : 27
GNSS: How does it work?
Determine the Distance using Radio Wave
0ms
Assume that the Satellite Transmits Signal at 0ms.

25ms If Receiver receives the same Signal after 67ms,


Distance = 67x300,000 = 20,100Km

0ms
50ms
Satellite with a known position
transmits a regular time signal.
75ms 25ms

50ms

Distance = (Reception Time - Transmission time) × Speed of light


Speed of Light: 300,000 km/s

Slide : 28
Pseudorange (Code-Phase Measurement) - 1
Transmission Pseudorange = (Reception Time – Transmission time) x Speed of Light
Time

Signal propagation at the speed of light

Reception
About 20,000 km Time

Transit time

A GPS receiver measures the signal transmission time


from the code phase at signal reception time.

Slide : 29
GNSS: How does it work?
Principle of Satellite-based Navigation
(xk, yk, zk)
Receiver generates its own GPS signal similar to the signal
coming from the satellite for each satellite
➔Its called Replica Signal
➔The Replica Signal includes PRN Code and Carrier Signal
➔This Replica Signal is moved forward and backward to
match with the incoming signal

2 2 2
𝜌𝑘 = 𝑥0 − 𝑥𝑠𝑘 + 𝑦0 − 𝑦𝑠𝑘 + 𝑧0 − 𝑧𝑠𝑘 +𝜀
(x0,y0,z0)

If k ≥ 4, solve for x, y, z and errors including clock bias 𝜀 ∆t Correlation between Incoming Signal and
Receiver Generated Signal

Slide : 30
Error sources
Satellite Orbit Error
V = 4km/s
Satellite Clock Error

Ionospheric Delay
50 – 200Km

Tropospheric Delay
10Km

Multipath

Thermal Noise

Receiver Clock Error

Slide : 31
Pseudorange equation

Ideal Case: 𝜌0 = 𝑐 𝑡𝑟 − 𝑡𝑠

Real Case: 𝜌 = 𝜌0 + 𝑐 𝛿𝑡𝑟 − 𝛿𝑡𝑠 + 𝐼𝑜𝑛𝑜 + 𝑇𝑟𝑜𝑝𝑜 + 𝑀𝑢𝑙𝑡𝑖𝑝𝑎𝑡ℎ + 𝜉


Thermal Noise
Receiver Clock Error Multipath Error

Tropospheric Delay
Satellite Clock Error

Ionospheric Delay

Simplified Equation: 𝜌 = 𝜌0 + 𝑐 𝛿𝑡𝑟 − 𝛿𝑡𝑠 + 𝜀

Slide : 32
Pseudorange model
Satellite
𝜌= 𝑥 − 𝑥𝑠 2 + 𝑦 − 𝑦𝑠 2 + 𝑧 − 𝑧𝑠 2 + 𝑐 𝛿𝑡𝑟 − 𝛿𝑡𝑠 + 𝜀 𝑥𝑠 , 𝑦𝑠 , 𝑧𝑠

𝜌0 𝜌0
Where:
x, y, z : Unknown receiver position
delta tr: Unknown receiver clock error
epsilon : minimize this error by finding an optimal solution 𝑥, 𝑦, 𝑧
Receiver

Range between satellite and receiver


➢ In order to solve the above equations, we need “n” simultaneous
nonlinear equations from “n” pseudorange observations.
➢ We need at least 4 independent observations in order to
determine 4 unknown parameters, x, y, z and receiver clock error.

Slide : 33
PRN (Pseudo Random Noise) Code
• PRN Code is a sequence of randomly distributed zeros and ones that is one millisecond long.
• This random distribution follows a specific code generation pattern called Gold Code.
• There are 1023 zeros and ones in one millisecond.
• Each GPS satellite transmits a unique PRN Code.
• GPS receiver identifies satellites by its unique PRN code or ID.
• It continually repeats every millisecond
• The receiver can detect where the PRN code terminated or repeated.
• A unique sequence of bits indicates start of a PRN code.
• It helps to measure signal transit time and compute pseudorange between the receiver and the satellite
• Its also called C/A (Coarse Acquisition) code in GPS
1ms / 1023

Unique Sequence at the


start of the PRN code
0 1 0 1 0 0 11 0 1 0 0

1ms

Slide : 34
Pseudorange (Code-Phase Measurement) - 2

1-sequence of PRN Code is 1023 bits, 1ms long.


This corresponds to 300Km

1-bit or chip corresponds to 1/1023 ms.


This is about 293m (say 300m) in distance.

In the receiver, signals are resampled at certain frequency, say 10MHz.


This means every chip will be further divided into 10 smaller chips.
If it is possible to detect code phase at 1/10 of this sampled chip, then range
measurement accuracy would be about 300/10/10 = 3m.
However, there are various types of noises and this accuracy may not be possible.
Normally, GPS L1C/A guarantees an accuracy within 10m.
2m
Thus, using Code-Phase (PRN code) measurement, the accuracy will be limited to few
meters level.

Slide : 35
Carrier-Phase Measurement – 1
• Carrier-Phase measurement is done by counting the number of cycles coming from the satellite to the
receiver.
• However, there are many complexities in measuring total number of cycles (N) from the satellite to the
receiver.
• This is called integer ambiguity
• This is due to the fact that all cycles are the same and there are no headers to tell the receiver when a new cycle has
arrived after number of cycles as in PRN code.
• A PRN code has a header to tell the receiver that this is the beginning of the PRN code that is 1023 chips long.
• There are algorithms to solve this problem of ambiguity resolution.
• One complete cycle for GPS L1 band is 19cm long.
• Thus, if we can measure one wavelength, we can get 19cm accuracy
• If we can measure 1/10th of a cycle, we get about 2cm accuracy.
• Thus, Carrier-Phase measurement can provide centimeter level accuracy.

2cm
19cm

Slide : 36
Code-Phase (PRN Code) vs. Carrier-Phase Measurement

21,000
000

010

020

300
PRN Code

Header Data to indicate


beginning of the PRN Code

Carrier Signal

19cm

Code-Phase Measurement Carrier-Phase Measurement

Measuring distance between the satellite and the receiver with a tape
Measuring distance between the satellite and the receiver with a tape
that has distance markings but distance values are not written.
that has distance markings as well as distance values written. So that we
We only know that each distance marker is 19cm apart. So, we need to
can measure correct distance.
count at certain point the number of cycles separately that’s coming to
the receiver.

Only provide meter level accuracy Provides centimeter level accuracy

Slide : 37
How to Improve GPS Accuracy?

Slide : 38
GPS Position Accuracy
How to achieve accuracy from few meters to few centimeters?
meter centimeter

50 cm grid 50 cm grid 5 cm grid

SPP (Single Point Position) DGPS (Differential GPS) RTK (Real Time Kinematic)
Code-phase observation Carrier-phase observation

Slide : 39
Error sources
Satellite Orbit Error
V = 4km/s
Satellite Clock Error

Ionospheric Delay
50 – 200Km

Tropospheric Delay
10Km

Multipath

Thermal Noise

Receiver Clock Error

Slide : 40
Errors in GPS Observation (L1C/A Signal)
One-Sigma Error , m
Error Sources Comments
Total DGPS
Satellite Orbit 2.0 0.0
Common errors are removed
Satellite Clock 2.0 0.0
Ionosphere Error 4.0 0.4
Common errors are reduced
Troposphere Error 0.7 0.2
Multipath 1.4 1.4
Receiver Circuits 0.5 0.5
If we can remove common errors, position accuracy can be increased.
Common errors are: Satellite Orbit Errors, Satellite Clock Errors and Atmospheric Errors (within few km)
Values in the Table are just for illustrative purpose, not the exact measured values.
Table Source : http://www.edu-observatory.org/gps/gps_accuracy.html#Multipath

Slide : 41
How to Improve Accuracy?

• Both Code-Phase and Carrier-Phase observations are necessary


• Carrier-phase provides centimeter level resolution
• Need to remove or minimize the following errors:
• Satellite Related Error
• Satellite orbit errors
• Satellite clock errors
• Space Related Errors
• Ionospheric errors
• Tropospheric erros
• Receiver Related Errors
• Receiver clock error
• Receiver circuit related

Slide : 42
Observation Methods for High-Accuracy

• Basically three types of Observation


• DGPS (Differential GPS)
• Code-phase observation
• Requires Base-station (Reference Station)
• RTK (Real Time Kinematic)
• Code-phase and Carrier-Phase Observation
• Requires Base-station (Reference Station)
• PPP (Precise Point Positioning)
• Code-phase and Carrier-phase observation
• Does not require base-station

Slide : 43
Which Method: DGPS, SBAS, RTK, PPP?

http://www.novatel.com/an-introduction-to-gnss/chapter-5-resolving-errors/

Slide : 44
How to Improve Accuracy?
Use Differential Correction (DGPS / RTK)
30

Recommended Base-length < 40Km

Send Observation Data to Rover


for Real-Time Position
Base-Station For RTK, both base and rover receivers need to Rover
Antenna is installed at a use data from the same satellites User in the Field
Base-station Antenna position known-position (Either fixed or moving)
shall be known in advance Use RINEX data for post-processing
Slide : 45
How to Improve Accuracy?
Use QZSS Service MADOCA or CLAS
QZSS

GPS

Currently, MADOCA provides correction data for GPS, GLONASS and


QZSS.
Correction Data: It will be extended for Galileo in future.
MADOCA:
Satellite Orbit Error of GPS and Other Satellites ➢ Base-Station is not required.
Satellite Clock Error of GPS and Other Satellites ➢ The receiver should be able to receive MADOCA / CLAS signal in L6
band.
CLAS: ➢ MADOCA provides 10 – 20cm accuracy (Global)
All of MDOCA plus the following: ➢ MADOCA correction data is also available online
➢ CLAS provides 2 – 5 cm accuracy (Japan Only)
Ionospheric Correction Data Rover

Slide : 46
Data Formats:
Standard Formats: NMEA, RINEX, RTCM, BINEX
Proprietary Data Formats: UBX, SBF, JPS, Txx/Rxx etc.

References: https://www.nmea.org/

Slide : 47
National Marine Electronics Association (NMEA) Format

• NMEA is format to output measurement data from a sensor in a pre-


defined format in ASCII
• In the case of GPS, It outputs GPS position, velocity, time and satellite
related data
• NMEA sentences (output) begins with a “Talker ID” and “Message
Description”
• Example: $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
• “$GP” is Talker ID
• “GGA” is Message Description to indicate for Position Data

References: https://www.nmea.org/

Slide : 48
NMEA Data Format
GGA - Fix data which provide 3D location and accuracy data.
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
Where: GGA Global Positioning System Fix Data
123519 Fix taken at 12:35:19 UTC
4807.038, N Latitude 48 deg 07.038' N
(do not read it as four thousand eight hundred seven…
Read it as 48 degrees, 07.038 minutes)
01131.000, E Longitude 11 deg 31.000' E
1 Fix quality:
0 = invalid ,
1 = GPS fix (SPS),
2 = DGPS fix,
3 = PPS fix,
4 = Real Time Kinematic (RTK FIX)
5 = RTK Float
6 = estimated (dead reckoning) (2.3 feature)
7 = Manual input mode
8 = Simulation mode
08 Number of satellites being tracked
0.9 Horizontal dilution of position
545.4,M Altitude, Meters, above mean sea level
46.9,M Height of geoid (mean sea level) above WGS84 ellipsoid
(empty field) time in seconds since last DGPS update (empty field) DGPS station ID number
*47 the checksum data, always begins with *

Slide : 49
RINEX Data Format
• RINEX: Receiver Independent Exchange Format is a data exchange format for raw satellite data
among different types of receivers.
• Different types of receivers may output position and raw data in proprietary formats
• For post-processing of data using DGPS or RTK it is necessary to use data from different types of
receivers. A common data format is necessary for this purpose.
• Example: How to post process data from Trimble, Novatel and Septenrtio receivers to compute a
position?
• RINEX only provides Raw Data. It does not provide position output.
• User has to post-process RINEX data to compute position
• Raw data consists of Pseudorage, Carrierphase, Doppler, SNR
• RINEX basically consists of two data types
• “*.*N” file for Satellite and Ephemeris Related data.
• Also called Navigation Data
• “*.*O” file for Signal Observation Data like Pseudorange, Carrier Phase, Doppler, SNR
• Also called Observation Data
• The latest RINEX version is 3.04, 23 NOV 2018
• Note: Not all the software and receivers are yet compatible with the latest version
• Make sure which version of RINEX works the best with your software

Slide : 50
RINEX “N” File for GPS

Slide : 51
RINEX “O” File GPS, GLONASS, GALILEO, QZSS, SBAS

Slide : 52
RINEX “O” File, Continued from previous slide

Slide : 53
BINEX: Binary Exchange Data Format
• BINEX is a data format to exchange GNSS raw data between the receivers for systems
• Defined by Record IDs
• Record 0x00 = 0 for site/monument/marker/reference point/setup metadata
• Record 0x01 = 1 for GNSS navigation information
• Record 0x02 = 2 for generalized GNSS
• Record 0x03 = 3 for generalized ancillary site data
• Record 0x04 = 4 for receiver internal state data
• Record 0x05 = 5 for processed results, e.g. PVT
• Record 0x7d = 125 for receiver internal state data prototyping
• Record 0x7e = 126 for ancillary site data prototyping
• Record 0x7f = 127 for GNSS data prototyping
• Records may have Sub-Record IDs

Slide : 54
RTCM

• RTCM : Radio Technical Commission for Maritime Services


• An internationally accepted data transmission standard for base-station data transmission
to a rover. The standards are defined and maintained by RTCM SC-104
• Provides GNSS Raw Data in compressed format
• Major standard for real-time data exchange
• RTCM SC-104 (Special Committee 104)
• Defines data formats for Differential GPS, RTK
• The Current Version is RTCM-3 (10403.3)
• Refer https://www.rtcm.org/ for detail information and document
• A normal user does not need RTCM document.
• GNSS receivers with base-station capabilities will setup necessary messages for RTK
• If you are developing a system or application you may need it

Slide : 55
RTCM
• MT 1- 100 : Experimental Messages
• MT 1001 – 1230 : GNSS Messages
• MT 4001 – 4095 : Proprietary Messages
• Example: Observation Messages
• GPS L1 MT: 1001, 1002
• GPS L1/L2 MT: 1003, 1004
• GLONASS L1 MT: 1009, 1010
• GLONASS L1/L2 MT: 1011, 1012
• Station Coordinates MT: 1005,1006
• Antenna Description MT: 1007,1008
• Example: MT1004
• Extended L1&L2 GPS RTK Observables
• This GPS message type is the most common observational message type, with L1/L2/SNR content.

Slide : 56
Coordinate Systems

Slide : 57
Geodetic Coordinate System
Satellite

Pole
Semi Minor Axis
User at P (Latitude, Longitude, Height)

Ellipsoid Surface Normal Vector to


Ellipsoid at Point P

Semi Major Axis Geodetic Latitude at P

Equator Semi Major Axis

Geodetic Longitude at P

Slide : 58
ECEF (Earth Centered, Earth Fixed)
ECEF Coordinate System is expressed by assuming the center of the earth coordinate as (0, 0, 0)

P (X, Y, Z)

(0, 0, 0)

Equator

Slide : 59
Coordinate Conversion from
ECEF to Geodetic and vice versa
ECEF (X, Y, Z) to
Geodetic Latitude, Longitude & Height to Geodetic Latitude, Longitude & Height
ECEF (X, Y, Z)
𝑍+𝑒 2 𝑏 𝑠𝑖𝑛3 𝜃
𝜑=atan
𝑝−𝑒 2 𝑎𝑐𝑜𝑠 3 𝜃
𝑋 = 𝑁 + ℎ cos 𝜑 cos 𝜆
𝜆=atan2 𝑦, 𝑥
𝑌 = 𝑁 + ℎ cos 𝜑 sin 𝜆 𝑃
ℎ= −N 𝜑
cos 𝜑
Z = 𝑁 1 − 𝑒 2 + ℎ sin 𝜑
𝑃= 𝑥2 + 𝑦2
𝜑 = 𝐿𝑎𝑡𝑖𝑡𝑢𝑑𝑒
𝜆 = 𝐿𝑜𝑛𝑔𝑖𝑡𝑢𝑑𝑒 𝑍𝑎
𝜃 = 𝑎𝑡𝑎𝑛
h = Height above Ellipsoid 𝑃𝑏
𝑎
𝑁 𝜑 =
1−𝑒 2 𝑠𝑖𝑛2 𝜑
a = semi-major axis
b = semi-minor axis
e^2 = 1 – (b^2/a^2)

Slide : 60
Geodetic Datum: Geometric Earth Model
Pole GPS uses WGS-84 Datum
But, topographic maps and many other maps use different

Semi-Minor Axis, b
datum. Before using GPS data on these maps, its necessary
to convert GPS coordinates from WGS-84 to local
coordinate system and datum. Many GPS software have
this tool. Also, GPS receivers have built-in datum selection
capabilities.
Semi-Major Axis, a Check your receiver settings before using.

Equator
WGS-84 Geodetic Datum Ellipsoidal Parameters
Semi-Minor Axis, b = 6356752.3142m
Semi-Major Axis, a = 6378137.0m
Flattening, f = (a-b)/a
= 1/298.257223563
First Eccentricity Square = e^2 = 2f-f^2
= 0.00669437999013

Slide : 61
Ellipsoid, Geoid and Mean Sea Level (MSL)
Mountain Peak
1 Ellipsoidal height (h)

Mean Sea Level (MSL) Height, H


Geoid Height (N)
h

h MSL Height, H
N
N

Sea
Land, Mountains, Valleys
Sea

MSL Height (H) = Ellipsoidal height (h) – Geoid height (N) Example at point (1) : h = 1200m, N = -30m Example at point (2) : h = 300m, N = +15m
Geoid Height is negative if its below Ellipsoidal height H = h – N = 1200 – (-30) = 1200 + 30 = 1230m H = h – N = 300 – 15 = 285m

Slide : 62
Height Data Output in u-blox Receiver, NMEA Sentence, $GNGGA Sentence
MSL (Altitude) Geoid Separation
$GNVTG,,T,,M,0.010,N,0.018,K,D*30 Geoid Height
$GNGGA,012039.00,3554.18235,N,13956.35867,E,2,12,0.48,54.4,M,39.6,M,0.0,0000*5D
$GNGSA,A,3,03,04,06,09,17,19,22,28,194,195,02,,0.92,0.48,0.78,1*06
$GNGSA,A,3,11,12,04,24,19,31,33,,,,,,0.92,0.48,0.78,3*00
$GNGSA,A,3,30,01,03,14,08,28,33,04,02,07,10,13,0.92,0.48,0.78,4*08
$GPGSV,5,1,17,01,18,076,,02,04,279,36,03,43,045,43,04,34,109,41,1*6C
$GPGSV,5,2,17,06,38,295,43,09,26,152,40,11,02,107,29,17,74,330,47,1*67
$GPGSV,5,3,17,19,53,320,45,22,22,048,39,28,36,213,43,41,18,249,39,1*6D
$GPGSV,5,4,17,50,46,201,40,193,52,172,43,194,16,193,40,195,85,163,46,1*5E
$GPGSV,5,5,17,199,46,201,37,1*66
$GAGSV,2,1,07,04,25,175,40,11,28,299,37,12,65,007,43,19,50,105,40,7*72
The NMEA sentences in this figure are from u-blox receiver.
$GAGSV,2,2,07,24,27,245,41,31,09,198,36,33,33,082,42,7*43 NMEA format uses “Mean Sea Level” for height data (shown in blue texts).
Also it provides Geoid Height (Geoid Separation) value.
$GBGSV,4,1,15,01,48,172,43,02,19,248,36,03,39,225,43,04,44,148,42,1*7C GPS by default is Ellipsoidal height and this height is converted to Mean Sea Level height
using the geoid Height (shown in red texts) .
$GBGSV,4,2,15,06,00,185,29,07,39,214,41,08,53,305,43,10,44,248,42,1*7C This means, u-blox receiver uses a built-in database of Geoid Height.
$GBGSV,4,3,15,13,33,283,42,14,23,043,38,27,55,323,48,28,61,092,48,1*71 U-blox also outputs Ellipsoidal height in proprietary message $PUBX,00 (marked as altRef)
$PUBX,00,time,lat,NS,long,EW,altRef,navStat,hAcc,vAcc,SOG,COG,vVel,diffAge,HDOP,VDO
$GBGSV,4,4,15,30,05,306,36,32,17,206,42,33,48,055,46,1*4F
P,TDOP,numSvs,reserved,DR,*cs<CR><LF>
$GNGLL,3554.18235,N,13956.35867,E,012039.00,A,D*76 altRef ➔ Altitude above user datum ellipsoid

Slide : 63
Points to Be Careful in GPS Survey
• Datum
• Which Datum is used for GPS Survey?
• By default, GPS uses WGS-84
• But, your Map may be using different datum like Everest
• Make Sure that Your Map and Your Coordinates from the GPS are in the same Datum, if
not, datum conversion is necessary
• You can get necessary transformation parameters from your country’s survey
department
• Height
• Which Height is used?
• By default GPS uses Ellipsoidal Height
• But, your Map may be using Mean Sea Level (MSL or Topographic) Height
• You need to convert from Ellipsoidal Height into MSL Height
• Use Ellipsoidal and Geoid height Difference Data for your survey region
• You can get it from your country’s survey office

Slide : 64
GNSS Errors

Slide : 65
Background Information: Accuracy vs. Precision
• Accuracy
• Capable of providing a correct measurement
• Measurement is compared with true value
• Affected by systematic error
• Precision
• Capable of providing repeatable and reliable measurement
• Statistical analysis of measurement provides the precision
• Measure of random error
• Systematic error has no effect

Neither Precise nor Accurate Precise but Not Accurate Accurate but Not Precise? Precise and Accurate

Slide : 66
GNSS Measurement Errors
Measure Abbreviation Definition

Root Mean Square RMS The square root of the average of the squared errors

Twice Distance RMS 2D RMS Twice the RMS of the horizontal errors
A circle's radius, centered at the true antenna position,
Circular Error Probable CEP
containing 50% of the points in the horizontal scatter plot
Horizontal 95% A circle's radius, centered at the true antenna position,
R95
Accuracy containing 95% of the points in the horizontal scatter plot
A sphere’s radius centered at the true antenna position,
Spherical Error Probable SEP containing 50% of the points in the three dimensional scatter
plot

Source: GPS Accuracy: Lies, Damn Lies, and Statistics, GPS World, JAN 1998
https://www.gpsworld.com/gps-accuracy-lies-damn-lies-and-statistics/

Slide : 67
Commonly Used GNSS Performance Measurements

• TTFF
• True Time to First Fix
• Parameter: Cold Start, Warm Start, Hot Start
• Standard Accuracy
• Accuracy attainable without any correction techniques
• DGPS Accuracy
• Accuracy attainable by differential correction data
• Code-phase correction
• RTK Accuracy
• Accuracy attainable by differential correction data
• Use both Code-Phase and Carrier Phase correction

Slide : 68
TTFF and Typical Example Values

• TTFF
• Cold Start : < 36 seconds
• Time required to output first position data since the receiver power is on
• No reference data like time or almanac are available
• Warm Start : < 6 seconds
• Time required to output first position data since the receiver power is on
with the latest satellite almanac data in the receiver’s memory
• Time and almanac related reference data are already known
• Hot Start : < 1 second
• Receiver has already output position data
• Time to reacquire an already tracked satellite due to temporary blockage
by buildings or trees

Slide : 69
Performance Measurement of RTK Accuracy
• A fix error and a variable error with respect to base-length is given
• Such as : x cm + y ppm
• Example: 2cm + 1ppm
• There is a fix error of 2cm plus 1ppm error due to base-length between the Base and Rover
• 1ppm ➔ 1 parts per million
• ➔ 1cm of error in 1 million centimeter distance between the Base and the Rover
• ➔ 1cm of error in 1000000 centimeter distance between the Base and the Rover
• ➔ 1cm of error in 10000 meter distance between the Base and the Rover
• ➔ 1cm of error in 10 kilometer distance between the Base and the Rover
• ➔ 1cm of error for every 10Km of distance between the Base and the Rover
• ➔ 4cm of error for 40Km of distance between the Base and the Rover
• Thus the total error is : 2cm + 4cm due to 40Km of base length
• The longer the base-length, the larger the error
• Do not assume that this error is linear
• And it may not be valid for longer base-lines
• Normally the recommended base-length for RTK for a Geodetic Receiver is 40Km

Slide : 70
Low-Cost High-Accuracy Receiver Systems
RTKDROID, MADROID, MAD-WIN, MAD-π

Slide : 71
Objectives
• Develop Low-Cost High-Accuracy Positioning Systems (L-CHAPS)
• System Integration of commercially available receiver or module
• For RTK and MADOCA
• Avoid use of computer to minimize the cost
• Use Single Board Computer (SBC)
• RaspberryPi, Arduino, Spresense
$100 System PPK
• Use Tablet or Smart-Phone
• Android devices are quite flexible and easier to use PC

• Develop Easy to Use System in Field


• A user without GNSS knowledge shall be able to use
• Self-understanding interface
• Suitable for remote operation and data logging
• Operate with mobile power-banks
• Promote GNSS and MADOCA Technologies Abroad through
• Lectures, Trainings, Seminars, Workshops and Events
• Joint Research and Joint Projects

Slide : 72
How to Make a Low-Cost GNSS Receiver System?

External
Memory Hard Disk
Memory Device

Arduino
RaspberryPi

GNSS Module
or Receiver
Micro-Controller
Single Board
or
Computer
Micro-Processor
Sony, Spresense A smart-phone has
everything that we
need
• CPU
• Memory
WiFi, BT, • External
External Interface
Interface Ethernet, MQTT,
Low-Cost SDR Device • GNSS Receiver
IoT links • Sensors
$30 ESP32 is a powerful Micro-
controller with WiFi/BT
• Note: We use these modules for high accuracy positioning system based on RTK and MADOCA PPP or other GNSS/QZSS special applications.
• There are many other GNSS modules as well. We have no intention of any purpose to name some of the makers here.

Slide : 73
Low-Cost High-Accuracy Receiver system Development Cycle

MAY, 2017 Low-Cost RTK MAR, 2018


DEC, 2016

Demo during UN/Nepal GNSS workshop Low-Cost MADOCA

Enhancement of MADOCA System


2022 / 2023

Android Device based Applications


What
RTK / MADOCA / EWS / SAR
Application or
System
Do you Want? Space Weather Applications

Dynamic Air Quality Monitoring System

2022 - 2023 DEC, 2019


Slide : 74
Our Definition of Low-Cost High-Accuracy

Target
Type Current Cost Description Difficulties
Cost
Single or Dual Frequency Receiver
RTK $100 $300 - $600 Dual Frequency Antenna
RaspberryPi Device
Cost
Dual Frequency GNSS Receiver Low-cost MADOCA module is not
MADOCA $300 $500 - $1,000 Triple Frequency GNSS Antenna yet available off-the-shelf
RaspberryPi Device Cost factor of Antenna

• Cost of accessories, cables, connectors and power supply unit are not included

Slide : 75
High-End Survey Grade Receivers
L5/E5/B2/L3 L2 L6/E6/B3 L1/E1/B1

• Multi-frequency
• GPS : L1/L2/L5
• GLONASS : L1/L2/L3
• GALILEO : E1/E5/E6
• BDS : B1/B2/B3
• QZSS : L1/L2/L5/L6
• NAVIC : L5/S
• Multi-system
• GPS, GLONASS, GALILEO, BeiDou, QZSS,
NAVIC, SBAS etc
• Price varies from $1, 000 to $30,000 or
more

Slide : 76
Low-Cost Receivers
L1/E1/B1*

• Multi-System
• GPS, GLONASS, GALILEO, BeiDou, QZSS, SBAS etc
• Basically Single Frequency
• L1/E1/B1-Band
• Very soon: Multi-System, Multi Frequency, L1/L2 or L1/L5
• Future trend for Mass Market System will be L1/L5
• Some chip makers have already announced Multi-System, Multi-
Frequency GNSS Chips for Mass Market

• Low Cost:
• Less than $300 (Multi-GNSS, L1 Only) including Antenna and all
necessary Hardware, Software
• Our target is within $100 including everything.
*Note: Only one signal type from each system is processed
e.g. GPS has L1C/A and L1C in L1, ,but only L1C/A is used in Low-Cost Receiver

Slide : 77
Low-Cost RTK Receiver System
TYPE R1 Type A: Low-Cost, High-Accuracy Receiver System TYPE R2 Type B: Low-Cost, High-Accuracy Receiver System
Real-Time and Post-Processing, Base and Rover Mode For Post-Processing & Rover Mode Only
Tablet
GNSS Antenna Rover RasPi
APP
GNSS Antenna Rover
Ver. : 1.0
BT
Raspberry Pi Zero w/WiFi&BT
GNSS Raspberry Pi 3B
Receiver GNSS
internet Receiver
RTCM for NTRIP
RTK Caster

TYPE A1 Type C: Low-Cost, High-Accuracy Receiver System Type D: Low-Cost, High-Accuracy Receiver System
TYPE MA
Real-Time and Post-Processing, Rover Mode Only Real-Time and Post-Processing, Rover Mode Only

GNSS Antenna Rover GNSS Antenna Rover RTCM and/or SSR


PPP-RTK
Android
RTCM for Android e.g. MADOCA Service
GNSS Device
GNSS Device
Receiver RTKDROID RTK MADROID
Ver. : 1.0 Receiver
Ver. : 1.0
Internet Internet
MADOCA
NTRIP
Correction
Caster
Server

Slide : 78
Type – A1: GNSS Receiver with Android Device

GNSS Antenna Rover

RTCM for
Android
GNSS Device
Real-time
Receiver RTKDROID RTK
Ver. : 1.0
WiFi
NTRIP
Caster
Type A1:
Rover Mode
Real-Time and Post-Processing RTK
Based on RTKLIB Engine
Real-time processing in Android Device GNSS Receiver Module
APP: RTKDroid

Slide : 79
MADOCA System: Direct from QZSS or Online Correction Data

GNSS Receiver + MADOCA Decoder GNSS Receiver Only

QZSS QZSS

GNSS Signals
GNSS Signals

Antenna Antenna

GNSS /
MADOCA PPP Position GNSS MADOCA PPP Position
MADOCA
Processor Output Receiver Processor Output
Receiver

Online MADOCA
Correction Data

Slide : 80
MADOCA PPP Receiver System

Use this baud-rate to receiver


GNSS Raw Data

Use this baud-rate to receiver


MADOCA Data

65
Antenna
F9P GNSS Receiver
50 COM Port: 1
L1/L2/E5B
GNSS Data

MADOCA Decoder COM Port: 2


QZSS L6 MADOCA Data

GNSS Antenna

Slide : 81
Screen Shots of RTKDROID and MADROID
Connect GNSS receiver to
Android device

(1) RTKDROID :
For RTK or PPK

(2) MADROID:
for MADOCA-PPP,
MADOCA-PPP/AR (future)

Slide : 82
MAD-WIN / MAD-PI / MADROID

MAD-WIN MAD-PI MADROID

Slide : 83
MAD-WIN / MAD-PI / MADROID Software Specifications
MAD-WIN MAD-π MADROID

Platform / OS Windows RaspberryPi 3B or 4B Android Device

Default : u-blox F9P Default : u-blox F9P


GNSS Receiver Default : u-blox F9P only
Other: Any dual-frequency Receiver Other: Any dual-frequency Receiver
U-blox D9C
MADOCA Receiver U-blox D9C U-blox D9C
MOSAIC-RIB / MOSAIC-HAT
GNSS Receiver Data
UBX, SBF, RTCM3, BINEX UBX, SBF, RTCM3 UBX
Format
MADOCA Correction Data
Format (Direct from UBX or SBF UBX only UBX Only
Receiver)
MADOCA Correction Data Online Services: NTRIP Address Online Services: NTRIP Address Online Services: NTRIP Address
Format (Online) UBX or SBF or RTCM3 UBX or RTCM3 UBX or RTCM3
• Auto-breakdown of files at 6hour interval for
• Local Correction (if available)
Other continuous logging
Test Purpose Only
• BT link to external device

System Architecture

Slide : 84
New MAD-WIN / MAD-PI / MADROID Software Specifications
New MAD-WIN New MAD-π New MADROID (Not Released yet)

Platform / OS Windows RaspberryPi 3B or 4B Android Device

Default : u-blox F9P Default : u-blox F9P


GNSS Receiver Default : u-blox F9P only
Other: Any dual-frequency Receiver Other: Any dual-frequency Receiver
U-blox D9C
MADOCA Receiver U-blox D9C U-blox D9C
MOSAIC-RIB / MOSAIC-HAT
GNSS Receiver Data
UBX, RTCM3 UBX, RTCM3 UBX
Format
MADOCA Correction Data
Format (Direct from UBX or SBF UBX only UBX Only
Receiver)
MADOCA Correction Data Online Services: NTRIP Address Online Services: NTRIP Address Online Services: NTRIP Address
Format (Online) UBX or SBF UBX or SBF UBX
• Auto-breakdown of files at 6hour interval for
Auto breakdown of files at one hour • Local Correction (if available)
Other continuous logging
interval Test Purpose Only
• BT link to external device

System Architecture

Slide : 85
MAD-WIN / MAD-PI User Interface

Log Files:
1. Solution: MADOCA PPP Solution in NEMA format
2. Rover: Rover RAW Data in receiver’s proprietary format
Can be used for PPK (Post-Processing Kinematic) Solution or
Post-Processing PPP
3. Correction: MADOCA PPP Correction Data in receiver’s
proprietary format
Can be used for Post-Processing MADOCA

Slide : 86
MAD-WIN Data Observation
Receiver: Online receiver access in Kashiwa / Correction Data: MADOCA Receiver in Bali

After three hours observation

After two hours observation

After few minutes observation

Slide : 87
MAD-PI:MADOCA with RaspberryPi Device
• MAD-Pi has been tested with RaspberryPi-3B device
• It also works with RaspberryPi-4B
• If the device does not work, please try with a different USB port
• Do not remove and insert SD Card several times. It may get
damaged.
• Observation data can be logged to an external USB memory
disk. Memory drive of upto 64GB is supported.
• Files are created at 6-hour interval with Date/Time based filename.
• Ras-Pi 4 device consumes more power than Ras-Pi 3 device.
Continuous operation of the device will generate heat. Keep
the device in well ventilated area
• Do not keep the device in a closed box
• We have set both Ras-Pi 3 and Ras-Pi 4 devices with touch
screens for easy operation.
• Mouse and External keyboard can be connected either via BT or USB ports
• Ras-Pi device can be connected by an Android device using BT

Raspberry-Pi device with Touch Screen


Slide : 88
Slide : 89

You might also like