70
integrity. It is designed to perform several functions
such as calculation of pseudorange, ionosphere and
troposphere delays, application of fast and slow
corrections messages, integrity monitoring, data
verification,andperformancevisualization.
Figure1.KoreanWA‐DGNSSArchitecture
The user segment software is based on a layered
architecturethatprovidesamodeltodevelopflexible
and reusable software and is divided into several
independent, interchangeable and reusable
components to reduce complexity and maintenance
cost. The current version is designed to collect and
process GPS and WA‐DGNSS data however
it is
flexible to accommodate future global navigation
satellitesystemssuchasGLONASSandGalileo.
Figure2.UserSegmentSoftwareBlockDiagram
The rest of the paper is organized as follows.
Section 2 provides a high level overview of user
segment software architecture whereas Section 3
describes key data processing algorithms. The
detailed design of user segment software is given in
Section 4. Section 5 discusses the characteristics of
UserSegmentsoftwarewhile
Section6concludesthe
paper.
2 ARCHITECTUREDESIGN
A high level overview of user segment software
architecture is given in Figure 3. This section briefly
describes the key architectural elements. For a
detaileddescription, the readers are referred to User
SegmentSoftwareArchitecturedocument[6].
2.1 Descriptionofkeyarchitectural
elements
2.1.1 GPSEphemerisDataProcessor
This component determines the position of GPS
satellite with respect to user segment and applies
correctionsprovidedbyWA‐DGNSS.Itaccessesdata
from GPS Ephemeris Data Handler, GPS Ephemeris
Data Quality Monitor and Slow Corrections Data
Processor, and provides an interface to SV Azimuth
and Elevation Calculator, GPS SV Clock Data
Processor,ReceiverPositionCalculator,andRawand
Pre‐processedDataBuffer.
2.1.2 SlowCorrectionsDataProcessor
This component processes slow corrections
messages for GPS ephemeris and clock errors. It
accesses data from Slow Corrections Data Handler
and provides an interface to GPS Ephemeris
Data
Processor,GPSSVClockDataProcessorandRawand
Pre‐processedDataBuffer.
2.1.3 IndependentDataVerifier
This component independently verifies the
integrityofactivedata.ItaccessesthedatafromData
Processors, Pseudorange Calculator and Receiver
Position Calculators, and provides an interface to
RawandPre‐processedDataBuffer.
2.1.4 GPSSVClockDataProcessor
ThiscomponentcalculatesSVclockcorrections.It
accessesthedatafromGPSSVDataHandler,GPSSV
DataQualityMonitor,GPSEphemerisDataProcessor
and Slow Corrections Data Processor, and provides
aninterfacetoPseudorangeCalculator.
3 DATAPROCESSINGALGORITHMS
Thissectiondescribesthe
keyalgorithmsrequired to
process fast and slow corrections messages. A
detailed description of data processing algorithms is
availableintheSBASUserSegmentSoftwareDetailed
Designdocument[7].
3.1 Algorithmtoprocessfastcorrections
IF(MessageType==0)
SystemTesting
IF(MessageType==1)
SavePRNmaskandIssueofDataPRN(IODP)
providedinMessage
IF(MessageType==2‐5OR24)
IF(IODP
!
IODPprovidedinMessageType1)
Return
IF(UDREI==14ORUDREI==15)
InitializeRRCcalculationandsetRRC=0
SetsatellitestatusandReturn
IF(PRCisnotvalid)Return
IF(precisionapproach)
IF(UDREI>=12)
Satellitestatus=“donotuse”and
Return
IF(
i
ai
==0)SetRRC=0
ELSE
Selectpreviouslyreceivedpseudorange