Specification for WAAS/EGNOS decoder module: - GetACoder
Specification for WAAS/EGNOS decoder module: - GetACoder
Specification for WAAS/EGNOS decoder module: - GetACoder
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Specification</strong> <strong>for</strong> <strong>WAAS</strong>/<strong>EGNOS</strong> <strong>decoder</strong> <strong>module</strong>:<br />
Introduction:<br />
The required software <strong>module</strong> will written in Visual Basic and accept in<strong>for</strong>mation in<br />
the <strong>for</strong>m of 250 bit data packets, at a rate of at least 1Hz, identify the message type<br />
and decode the contained in<strong>for</strong>mation appropriately, applying the extracted data if<br />
relevant to an internally stored database of recently received in<strong>for</strong>mation.<br />
The <strong>module</strong> will provide several functions (specified below) which apply this<br />
received and stored data to calculating positional corrections and accuracy<br />
in<strong>for</strong>mation <strong>for</strong> GPS satellites, and outputting this in<strong>for</strong>mation in suitable number<br />
<strong>for</strong>mats.<br />
The required equations and procedures, and the data <strong>for</strong>mats of the received packets<br />
are all fully specified in either:<br />
U.S. Department of Transportation ‘WIDE AREA AUGMENTATION SYSTEM<br />
(<strong>WAAS</strong>) [FAA-E-2892B, Change 1, DTFA01-96-C-00025 Modification No:0051]<br />
GLOBAL POSITIONING SYSTEM STANDARD POSITIONING SERVICE<br />
SIGNAL SPECIFICATION 2nd Edition June 2, 1995<br />
Both of which will be provided along with other documents of an explanatory or<br />
background nature.<br />
Of particular importance is the correct application of the ‘Issue of Data’ and ‘Time of<br />
applicability’ in<strong>for</strong>mation associated with the received data in ensuring only currently<br />
relevant in<strong>for</strong>mation is used.<br />
Most of the stored in<strong>for</strong>mation will be seconds or minutes old, and to calculate the<br />
corrections to the relevant precision, it will be necessary ‘calculate <strong>for</strong>ward’ from the<br />
data time to the requested time, though the equations necessary are provided in the<br />
GPS and <strong>WAAS</strong> specifications.<br />
Tropospheric corrections will be calculated elsewhere (it is a ‘static’ model and<br />
tropospheric in<strong>for</strong>mation is not transmitted) and can be ignored.<br />
Message Type 12 (<strong>WAAS</strong> network time parameters) are currently not being<br />
broadcast, there<strong>for</strong>e it is assumed that <strong>WAAS</strong> network time = GPS network time.
Initialisation:<br />
Input:<br />
Receiver location in WGS-84 ECEF <strong>for</strong> determining IGPs and <strong>WAAS</strong> satellite (GEO)<br />
suitability.<br />
Function 1: In<strong>for</strong>mation collection and database maintenance.<br />
Input:<br />
<strong>WAAS</strong>/<strong>EGNOS</strong> 250 bit Data packet.<br />
GPS time (millisecond of current GPS week)<br />
Function Description:<br />
In order to process the received <strong>WAAS</strong> in<strong>for</strong>mation and ensure the relevancy of the<br />
received data, an internal <strong>WAAS</strong> database of recently received in<strong>for</strong>mation will have<br />
to be created and maintained. This will be necessary to implement the error<br />
protection protocols inherent in the <strong>WAAS</strong> system.<br />
This function will have to examine the incoming <strong>WAAS</strong>/<strong>EGNOS</strong> messages and<br />
update the internal database.<br />
The CRC of the incoming packet will have to be checked (the packet being rejected<br />
on failure, and some indication of packet failure given), and the Issue of Data<br />
messages contained within the <strong>WAAS</strong> packets analysed in accordance with the<br />
procedure given in the <strong>WAAS</strong> specification (FAA-E-2892B) to ensure the validity of<br />
the data be<strong>for</strong>e entry into the database.<br />
Output:<br />
None<br />
Waas/Egnos Packet<br />
GPS Time<br />
Check Packet CRC<br />
If the packet valid,<br />
and the contained in<strong>for</strong>mation satisfies all of the ‘Issue of<br />
Data’ and ‘Time of Applicability’ conditions, update<br />
internal Waas database.
Function 2: Generation of Satellite Corrections <strong>for</strong> a given SV<br />
Inputs:<br />
GPS time (millisecond of current GPS week)<br />
Satellite (SV) PRN Number<br />
Function Description:<br />
This function will output in<strong>for</strong>mation on a specified satellite, calculated from the<br />
received <strong>WAAS</strong> in<strong>for</strong>mation. Again, received in<strong>for</strong>mation will have to be stored<br />
internally <strong>for</strong> later use, as the transmission of certain message types is irregular.<br />
Each message type, or section of message may have a ‘Time of Applicability’, after<br />
which the in<strong>for</strong>mation should not be used, and these will have to be checked be<strong>for</strong>e<br />
application of the data.<br />
For example:<br />
In order to calculate the ionospheric corrections <strong>for</strong> a specified satellite, firstly the<br />
location of the receiver must be known in order to select store and process the<br />
Ionospheric in<strong>for</strong>mation. The nearest ionospheric grid points (IGP’s) must be<br />
determined, the pierce point of the ionosphere by the satellite signal and the<br />
Ionospheric Correction (IC i ) calculated. (Specified in FAA-E-2892B)<br />
Output:<br />
If corrections not available <strong>for</strong> PRN:<br />
Message indicating ‘Do not use’, ‘Not Monitored’ , ‘Corrections not available’ etc.<br />
If <strong>WAAS</strong>/<strong>EGNOS</strong> corrections available <strong>for</strong> given PRN:<br />
Equivalent to a line of the table below, giving the following calculated to the<br />
requested GPS Time:<br />
Positional corrections with respect toWGS-84 ECEF co-ordinate system <strong>for</strong> the<br />
named satellite, taking into account the long term and fast corrections, as specified in<br />
FAA-E-2892B Sections 4.4.3, 4.4.7, and 4.48.<br />
Clock time error estimate <strong>for</strong> the named satellite.<br />
UDRE (Integrity) of the fast and long term error corrections (combined)<br />
Pseudorange (RMS i ) error estimate <strong>for</strong> the named satellite.<br />
Ionospheric corrections (IC i ), using techniques described in FAA-E-2892B sections<br />
4.4.9 to 4.4.10<br />
Integrity of Ionospheric corrections (σ 2 UIVE)<br />
Residual error (σ 2 flt) as specified in FAA-E-2892B sections 4.5.1 to 4.5.2.
Function2: Calculation of Satellite Corrections.<br />
SV PRN No.<br />
GPS Time in<br />
‘milliseconds of week’<br />
Calculate <strong>WAAS</strong> corrections <strong>for</strong> given SV<br />
PRN, <strong>for</strong> given GPS Time, and output<br />
corrections table:<br />
Position<br />
Corrections<br />
(WGS-84<br />
ECEF)<br />
Clock<br />
Time<br />
Error<br />
Estimate.<br />
Fast<br />
Corr<br />
Integrity<br />
PseudoRange<br />
RMS Error<br />
Estimate<br />
Ionospheric<br />
Corrections<br />
Integrity<br />
Residual<br />
Errors<br />
m s m m m s s 2 m 2<br />
δx δy δz δ∆t SV (t k PRC i UDRE RMS i IC i σ 2 UIVE σ 2 flt
Function 3:<br />
Inputs:<br />
GPS time (millisecond of current GPS week)<br />
GEO (<strong>WAAS</strong>) PRN Number<br />
Function Description:<br />
This function should accept the PRN number of a GEO (Geostationary<br />
<strong>WAAS</strong>/<strong>EGNOS</strong> satellite) and a GPS time, and calculate the position of the specified<br />
satellite at the requested time using all of the GEO satellite in<strong>for</strong>mation previously<br />
decoded and stored from GEO navigation messages.<br />
Output:<br />
GEO satellite position in WGS-84 ECEF coordinate system, using stored GEO<br />
navigation and almanac in<strong>for</strong>mation to calculate position using error corrections to be<br />
correct at the requested time as specified in FAA-E-2892B sections 4.4.11<br />
GEO PRN<br />
No.<br />
GPS Time in<br />
‘milliseconds of week’<br />
Calculate <strong>WAAS</strong> positions <strong>for</strong> given GEO<br />
PRN and GPS Time, and output GEO Position<br />
at requested GPS time.<br />
GEO<br />
PRN<br />
GEO Position<br />
(WGS-84 ECEF)<br />
User<br />
Range<br />
Accuracy<br />
m m m m<br />
PRN X G Y G Z G URA