Introduction to GNSS and GNSS Data Processing

Dinesh Manandhar, Associate Professor (Project)
Center for Spatial Information Science (CSIS), The University of Tokyo
dinesh@csis.u-tokyo.ac.jp

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

GlobalGLONASS

RussiaGlobalGalileoEuropeGlobal

BeiDou (BDS)

China

GlobalQZSS (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 receiverhttps://gssc.esa.int/navipedia/images/c/cf/GNSS_All_Signals.png

Slide : 2

Systems Related with Navigation
Augmentation Systems
SBAS or GBAS

Navigation Satellite Systems
GPS, GLONASS, Galileo, BeiDou, QZSS, NavIC

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 inthe sky where receiver islocatedTime in UTC

Slide : 5

GNSS Signals received
by a receiver

Slide : 6

Raw data necessary tocompute position

DopplerSatellite signal power level

Position Output

Altitude

GNSS Satellites visible inthe sky where receiver islocated

Code Phase Data

Time in UTC

Carrier Phase Data

Slide : 7

JAKARTABANGKOK

MANILAKUALALUMPUR

Ho Chi MinhTOKYO

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
PRN

SVN

Satellite

Launch Date
(UTC)

Orbit

Positioning Signals

PRN

L1C/A, L1C, L2C, L5

196

L1S

186

193

L6

186

194

L1C/A, L1C, L2C, L5

196

193
183

184
196

J001

J002

QZS-1

QZS-2

2010/9/11

2017/6/1

QZO

QZO

199

L1C/A, L1C, L2C, L5

189

L1S
QZS-3

2017/8/19

GEO

L1Sb

199

L6

-

Sr/Sf

195

L1C/A, L1C, L2C, L5

200

J004

QZS-4

2017/10/9

QZO

195

Orbit

Positioning Signals
L1C/A, L1C, L2C, L5

J005

QZS-1R

2021/10/26

QZO

L1S
L5S
L6

L5S

137

185

Launch Date
(UTC)

L5S
L6

J003

Satellite

L1S

194

197

SVN

L1S
L5S
L6

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

QZSS Special Application Signals
SignalName

PurposeSignalBand

Accuracy

Convergence
Time

Availability

CLAS

High Accuracy

L6D

2 – 5 cm

Few minutes

Japan only

MADOCAHigh Accuracy

L6E

10 – 20 cm

10 – 20
minutes

QZSS Visible
Area

Convergence time can be reduced byusing local correction data

DC Report

Disaster Crisis(DC) Reportduring disasters

L1S

Not
Applicable

Not Applicable(Available
every 3 sec)

QZSS Visible
Area

Also called Early Warning Message.
Basically for Japan.
Additional Message Types aredefined for other countries as well.

Q-Anpi2-Way
communication
during disasters

S

Not
Applicable

Not Applicable

QZSS Visible
Area

Not
Applicable

Not Applicable(TTFA, TBA
See QZSS IS
Document)

SAS

SignalAuthentication

L1, L5,L6QZSS Visible
Area

Remarks

Authenticates QZSS, GPS and
Galileo signals
LNAV, CNAV. CNAV-2, I/NAV and
F/NAV Messages

Slide : 14

QZSS Constellation Plan

Equator1 sat constellation

4 sat. constellation

7 sat. constellation

Number of Satellites

QZO ●: 1

QZO ●: 3, GEO ●: 1

QZO●:4, GEO●:2, QGO●:1

PurposeResearch & Development

Operational

Operational,

Government Authority

JAXA

Cabinet OfficeCabinet Office

Operation

2010～（10 years）

2018～（15 years）

2023～（15 years）

Service Time / day (Japan)

8 hours / day

24 hours / day

24 hours / dayComplements GPS for
positioning

QZO: Quasi-zenith Orbit / GEO: Geosynchronous Orbit / QGO: Quasi-geostationary Orbit

Autonomous Positioning
Capability with QZSS only

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• Short Message broadcast during
Disaster

http://qzss.go.jp/en/overview/services/sv04_pnt.html• Sub-Meter Level Augmentation
Service (SLAS)• High-Accuracy Positioning Services• CLAS and MADOCA

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, Clock10.23Mhz
Atomic ClockRb or Cs Clocks

x1/10

PRN Code, 1.023Mhz••

Spread Spectrum Modulation
Identify each satellite

x1/204600•

L1 Band GPS Signal

Navigation Data, 50Hz
Provides• Ephemeris (satellite orbit related data)• Satellite clock related data
• Satellite health status
Slide : 22

GPS L1C/A Receiver Signal Processing
GPS Antenna

Replica Digital Signal(Carrier + PRN Code)

x154

•
•

ReceiverClock10.23Mhz

RF Signal converted
to digital IF signal

L1 Carrier, 1575.42Mhz + Doppler Frequency
Carrier Signal
Compute doppler∑

Compute carrier phase

Front-End

x1/10

•
•

PRN Code, 1.023Mhz
PRN Code
Identify visible satellites
Compute pseudorange, code-phase

PVT Output(Position, Velocity, Time)

Position
Computation

Signal Processing
Visible Satellites
Code-Phase

Acquisition

DopplerTracking

Navigation Data

Navigation
Slide : 23

Generation of GPS L1C/A PRN Code
•
•
•
•
•
•
•

Based on Gold Codes
Use two 10 bit registers, G1 and G2
LFSR (Linear Feed Shift Register)
All initial bits of registers are set at 1
Taps 3 and 10 are used for G1
Taps 2,3,6,8,9,10 are used for G2
Two additional taps are selectedbased on PRN ID. See GPS IS
document for the list of the taps.
Example, Taps 2 and 7 are used for
PRN ID 1.

G1 Polynomial: [3,10]
1

1

1

1

1

1

1

1

1

1

1

2

3

4

5

6

7

8

9

10

OutputTap 2 & 6 for PRN ID 1

1

2

3

4

5

6

7

8

9

10

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-EndAGC
fs = 16.368Mhz
Pre-Amp
LNA

fc = 10Mhz
Oscillator(Clock)Down Converter

A/D Converter

Acquisition

Tracking

f0 = 1554.0Mhz
Frequency
Generator

Replica Signal
Generator

Navigation Data

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?
5

File: JAX_LIV.dat
Frequency-domain
Plot of15 GPS IF Signal (Fourier Transform)

4

10

3

5

Magnitude, dB

Amplitude

2
1
0
-1

0
-5
-10

-3

-20

-4

-25

-5

0

0.005

0.01

0.015

0.02
Time (ms)

0.025

0.03

0.035

Tracking Output (I and Q Channels)

16000
14000

-15

-2

HistogramFile:ofJAX_LIV.dat
GPS IF Signal

Number of Samples in a Bin

6

Histogram of IF Data

Frequency Domain Plot of IF Data

Time Domain Plot of IF Data

JAX_LIV.dat
Time-domainFile:Plotof GPS IF Signal

12000
10000
8000
6000
4000
2000

0

2

Acquisition of GPS L1C/A Signal with Low Noise468Frequency (MHz)

10

12

0
-5

-4

-3

-2

-1

0
1
Bin Value

2

3

4

5

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.

If Receiver receives the same Signal after 67ms,
Distance = 67x300,000 = 20,100Km

25ms
50ms

0ms
Satellite with a known positiontransmits 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
Time

Pseudorange = (Reception Time – Transmission time) x Speed of Light

Signal propagation at the speed of light

About 20,000 km

Reception
Time

Transit time

A GPS receiver measures the signal transmission timefrom 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

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

If k ≥ 4, solve for x, y, z and errors including clock bias 𝜀∆tCorrelation between Incoming Signal andReceiver 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
Satellite Clock Error

Multipath Error
Tropospheric Delay
Ionospheric Delay

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

Slide : 32

Pseudorange model𝜌=𝑥 − 𝑥𝑠2+𝑦 − 𝑦𝑠2+𝑧 − 𝑧𝑠 2 + 𝑐 𝛿𝑡𝑟 − 𝛿𝑡𝑠

Satellite+𝜀𝑥𝑠 , 𝑦𝑠 , 𝑧𝑠

𝜌0Where:
x, y, z : Unknown receiver positiondelta tr: Unknown receiver clock error
epsilon : minimize this error by finding an optimal solution

𝜌0𝑥, 𝑦, 𝑧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 todetermine 4 unknown parameters, x, y, z and receiver clock error.

Range between satellite and receiver

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 thestart of the PRN code0 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.
Thus, using Code-Phase (PRN code) measurement, the accuracy will be limited to few
meters level.

2mSlide : 35

Carrier-Phase Measurement – 1• Carrier-Phase measurement is done by counting the number of cycles coming from the satellite to thereceiver.
• However, there are many complexities in measuring total number of cycles (N) from the satellite to thereceiver.
• 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.

19cm

2cm

Slide : 36

21,000

300

020

010

000

Code-Phase (PRN Code) vs. Carrier-Phase Measurement
PRN Code

Header Data to indicate
beginning of the PRN CodeCarrier Signal

19cm

Code-Phase Measurement

Measuring distance between the satellite and the receiver with a tapethat has distance markings as well as distance values written. So that we
can measure correct distance.

Only provide meter level accuracy

Carrier-Phase Measurement

Measuring distance between the satellite and the receiver with a tapethat has distance markings but distance values are not written.
We only know that each distance marker is 19cm apart. So, we need tocount at certain point the number of cycles separately that’s coming to
the receiver.
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?
metercentimeter

50 cm grid

50 cm grid

5 cm grid

SPP (Single Point Position)

DGPS (Differential GPS)
Code-phase observation

RTK (Real Time Kinematic)
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)
Error Sources
Satellite Orbit
Satellite Clock
Ionosphere Error
Troposphere Error
Multipath
Receiver Circuits

One-Sigma Error , m
Total
DGPS
2.0
0.0
2.0
0.0
4.0
0.4
0.7
0.2
1.4
1.4
0.5
0.5

Comments
Common errors are removed

Common errors are reduced

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 Roverfor Real-Time Position
Base-Station

Rover
For RTK, both base and rover receivers need toAntenna is installed at aUser in the Field
use data from the same satellites
known-position(Either fixed or moving)Base-station Antenna position
Use RINEX data for post-processing
shall be known in advance
Slide : 45

How to Improve Accuracy?
Use QZSS Service MADOCA or CLAS
QZSS

GPS

Correction Data:
MADOCA:
Satellite Orbit Error of GPS and Other Satellites
Satellite Clock Error of GPS and Other Satellites
CLAS:
All of MDOCA plus the following:
Ionospheric Correction Data

Currently, MADOCA provides correction data for GPS, GLONASS andQZSS.
It will be extended for Galileo in future.
➢ Base-Station is not required.
➢ The receiver should be able to receive MADOCA / CLAS signal in L6
band.
➢ MADOCA provides 10 – 20cm accuracy (Global)➢ MADOCA correction data is also available online➢ CLAS provides 2 – 5 cm accuracy (Japan Only)

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 predefined 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
123519Fix 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 ofreceivers. 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
• GPS L1/L2• GLONASS L1• GLONASS L1/L2• Station Coordinates• Antenna Description

MT: 1001, 1002
MT: 1003, 1004
MT: 1009, 1010
MT: 1011, 1012
MT: 1005,1006
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
Geodetic Latitude at P

Semi Major Axis

EquatorSemi 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)
EquatorSlide : 59

Coordinate Conversion fromECEF to Geodetic and vice versa
Geodetic Latitude, Longitude & Height to
ECEF (X, Y, Z)

ECEF (X, Y, Z) to
Geodetic Latitude, Longitude & Height𝑍+𝑒 2 𝑏 𝑠𝑖𝑛3 𝜃
𝜑=atan𝑝−𝑒 2 𝑎𝑐𝑜𝑠 3 𝜃

𝑋 = 𝑁 + ℎ cos 𝜑 cos 𝜆𝑌 = 𝑁 + ℎ cos 𝜑 sin 𝜆Z = 𝑁 1 − 𝑒 2 + ℎ sin 𝜑𝜆=atan2 𝑦, 𝑥
𝑃
ℎ=
−N 𝜑
cos 𝜑
𝑃=

𝜑 = 𝐿𝑎𝑡𝑖𝑡𝑢𝑑𝑒
𝜆 = 𝐿𝑜𝑛𝑔𝑖𝑡𝑢𝑑𝑒
h = Height above Ellipsoid

𝜃 = 𝑎𝑡𝑎𝑛𝑁 𝜑 =a = semi-major axisb = semi-minor axise^2 = 1 – (b^2/a^2)𝑥2 + 𝑦2𝑍𝑎𝑃𝑏𝑎1−𝑒 2 𝑠𝑖𝑛2 𝜑

Slide : 60

Pole

GPS uses WGS-84 Datum

Semi-Minor Axis, b

Geodetic Datum: Geometric Earth Model
But, topographic maps and many other maps use different
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 havethis tool. Also, GPS receivers have built-in datum selection
capabilities.
Check your receiver settings before using.

Semi-Major Axis, aEquator

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

2

h

N

MSL Height, H

N

Land, Mountains, Valleys

Sea

Sea

MSL Height (H) = Ellipsoidal height (h) – Geoid height (N)Geoid Height is negative if its below Ellipsoidal height

Example at point (1) : h = 1200m, N = -30m
H = h – N = 1200 – (-30) = 1200 + 30 = 1230m

Example at point (2) : h = 300m, N = +15m
H = h – N = 300 – 15 = 285m

Slide : 62

Height Data Output in u-blox Receiver, NMEA Sentence, $GNGGA Sentence$GNVTG,,T,,M,0.010,N,0.018,K,D*30

MSL (Altitude)

Geoid Separation
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$GAGSV,2,2,07,24,27,245,41,31,09,198,36,33,33,082,42,7*43$GBGSV,4,1,15,01,48,172,43,02,19,248,36,03,39,225,43,04,44,148,42,1*7C$GBGSV,4,2,15,06,00,185,29,07,39,214,41,08,53,305,43,10,44,248,42,1*7C$GBGSV,4,3,15,13,33,283,42,14,23,043,38,27,55,323,48,28,61,092,48,1*71$GBGSV,4,4,15,30,05,306,36,32,17,206,42,33,48,055,46,1*4F$GNGLL,3554.18235,N,13956.35867,E,012039.00,A,D*76

The NMEA sentences in this figure are from u-blox receiver.
NMEA format uses “Mean Sea Level” for height data (shown in blue texts).
Also it provides Geoid Height (Geoid Separation) value.
GPS by default is Ellipsoidal height and this height is converted to Mean Sea Level heightusing the geoid Height (shown in red texts) .
This means, u-blox receiver uses a built-in database of Geoid Height.
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
P,TDOP,numSvs,reserved,DR,*cs<CR><LF>
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
MeasureAbbreviation

Definition

Root Mean SquareRMS

The square root of the average of the squared errors

Twice Distance RMS

2D RMS

Twice the RMS of the horizontal errors

Circular Error Probable

CEP

A circle's radius, centered at the true antenna position,
containing 50% of the points in the horizontal scatter plot

Horizontal 95%
Accuracy

R95

A circle's radius, centered at the true antenna position,
containing 95% of the points in the horizontal scatter plot

SEP

A sphere’s radius centered at the true antenna position,
containing 50% of the points in the three dimensional scatter
plot

Spherical Error Probable

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 onwith 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)•

Use Tablet or Smart-Phone••

RaspberryPi, Arduino, Spresense

Android devices are quite flexible and easier to use$100 System PPKPC• 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?
MemoryExternal
Memory Device

Hard Disk

RaspberryPi

Arduino

GNSS Module
or Receiver
Micro-ControllerorMicro-Processor

Single Board
ComputerSony, Spresense

Low-Cost SDR Device$30••

External
Interface

WiFi, BT,
Ethernet, MQTT,
IoT links
ESP32 is a powerful Microcontroller with WiFi/BT

A smart-phone haseverything that we
need
• CPU
• Memory• ExternalInterface• GNSS Receiver• Sensors

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

DEC, 2016

Demo during UN/Nepal GNSS workshop

Low-Cost RTK

MAR, 2018

Low-Cost MADOCA

Enhancement of MADOCA System
2022 / 2023
What
Application or
System
Do you Want?

Android Device based Applications
RTK / MADOCA / EWS / SAR
Space Weather Applications
Dynamic Air Quality Monitoring System

2022 - 2023

DEC, 2019
Slide : 74

Our Definition of Low-Cost High-Accuracy

Type
RTK

Target
Cost$100

Current Cost

Description$300 - $600

Single or Dual Frequency Receiver
Dual Frequency Antenna
RaspberryPi Device$500 - $1,000

Dual Frequency GNSS Receiver
Triple Frequency GNSS Antenna
RaspberryPi Device

Cost
MADOCA•$300

Difficulties

Low-cost MADOCA module is not
yet available off-the-shelf
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• GLONASS• GALILEO• BDS• QZSS• NAVIC: L1/L2/L5: L1/L2/L3: E1/E5/E6: B1/B2/B3: L1/L2/L5/L6: 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, MultiFrequency GNSS Chips for Mass Market• Low Cost:• Less than $300 (Multi-GNSS, L1 Only) including Antenna and allnecessary 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
GNSS Antenna RoverBT

GNSS
ReceiverFor Post-Processing & Rover Mode Only

TabletRasPi
APP
Ver. : 1.0

GNSS Antenna Rover
Raspberry Pi Zero w/WiFi&BT

Raspberry Pi 3B

GNSS
Receiverinternet

RTCM for
RTK

TYPE A1NTRIP
CasterType C: Low-Cost, High-Accuracy Receiver System
Real-Time and Post-Processing, Rover Mode Only

TYPE MA

GNSS Antenna Rover

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

GNSS Antenna Rover

GNSS
ReceiverAndroid
DeviceRTKDROID
Ver. : 1.0

RTCM for
RTK

GNSS
ReceiverInternet

Android
Device
MADROID
Ver. : 1.0

RTCM and/or SSR
PPP-RTK
e.g. MADOCA Service

Internet
NTRIP
Caster

MADOCA
Correction
ServerSlide : 78

Type – A1: GNSS Receiver with Android Device

GNSS Antenna Rover

GNSS
ReceiverAndroid
DeviceRTKDROID
Ver. : 1.0

RTCM forReal-time
RTK
WiFi

Type A1:
Rover Mode
Real-Time and Post-Processing RTK
Based on RTKLIB Engine
Real-time processing in Android Device
APP: RTKDroid

NTRIP
CasterGNSS Receiver Module

Slide : 79

MADOCA System: Direct from QZSS or Online Correction Data
GNSS Receiver Only

QZSS

QZSS

GNSS Signals

GNSS Signals

GNSS Receiver + MADOCA Decoder

Antenna

Antenna

GNSS /
MADOCA
Receiver

MADOCA PPP
Processor

Position
OutputGNSS
Receiver

MADOCA PPP
Processor

Position
OutputOnline 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
L1/L2/E5B

50

MADOCA Decoder
QZSS L6

COM Port: 1
GNSS DataCOM Port: 2
MADOCA Data

GNSS Antenna

Slide : 81

Screen Shots of RTKDROID and MADROID
Connect GNSS receiver toAndroid 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

GNSS ReceiverDefault : u-blox F9P
Other: Any dual-frequency ReceiverDefault : u-blox F9P only

Default : u-blox F9P
Other: Any dual-frequency Receiver

MADOCA Receiver

U-blox D9C
MOSAIC-RIB / MOSAIC-HAT

U-blox D9C

U-blox D9C

GNSS Receiver Data
FormatUBX, SBF, RTCM3, BINEXUBX, SBF, RTCM3UBXMADOCA Correction Data
Format (Direct from
Receiver)UBX or SBF

UBX onlyUBX Only

MADOCA Correction Data
Format (Online)

Online Services: NTRIP Address
UBX or SBF or RTCM3

Online Services: NTRIP Address
UBX or RTCM3

Online Services: NTRIP Address
UBX or RTCM3

Other• Auto-breakdown of files at 6hour interval forcontinuous logging• BT link to external device• Local Correction (if available)
Test Purpose Only

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

GNSS ReceiverDefault : u-blox F9P
Other: Any dual-frequency ReceiverDefault : u-blox F9P only

Default : u-blox F9P
Other: Any dual-frequency Receiver

MADOCA Receiver

U-blox D9C
MOSAIC-RIB / MOSAIC-HAT

U-blox D9C

U-blox D9C

GNSS Receiver Data
FormatUBX, RTCM3

UBX, RTCM3UBXMADOCA Correction Data
Format (Direct from
Receiver)UBX or SBF

UBX onlyUBX Only

MADOCA Correction Data
Format (Online)

Online Services: NTRIP Address
UBX or SBF

Online Services: NTRIP Address
UBX or SBF

Online Services: NTRIP Address
UBX

Auto breakdown of files at one hourinterval• Auto-breakdown of files at 6hour interval forcontinuous logging• BT link to external device

Other• Local Correction (if available)
Test Purpose Only

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 getdamaged.
• 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