Please note that the listed file extensions are exemplary and more information will be added in the future. Generally, all input files are text files. You can find the corresponding format descriptions here.
*.rnx, *.yyo
Rinex 3.x, 4.x, and 2.x until 2.10 are supported. For Rinex 2.11, problems with multi-GNSS observations can occur and, therefore, Rinex 3+ is recommended for multi-GNSS processing.
*.bia, *.bsx
struct with fields for OSB, DSB, ISB
OSB, DSB, ISB are structs with field for each satellite (e.g. G02, E17, G23, ...)
each satellite field is a struct containing fields for the value of the bias, the start and the end (these 3 are vectors of the same length, same indices means they belong together)
raPPPid creates a struct with the fields .DSB, .OSB, and .ISB (not implemented). These three fields have subfields for all satellites of GPS, GLONASS, Galileo, and BeiDou. Each satellite field gets fields for the exisiting biases in the Sinex Bias file. Each of these bias field gets the following 5 fields: .value [ns], .start [sow], .ende [sow], .start_gpsweek [weeks], and .ende_gpsweek [weeks]
All satellite fields for OSB, DSB, and ISB are initialized. Missing biases result in empty fields. [cy] are converted into [ns].
raPPPid searches for the required biases. If necessary, it attempts to create missing biases (e.g., DSBs). The used biases are saved as output for further processing (e.g., gps week, ns).
Example creation of missing DSB:
C1WC2W = C1CC2W - C1CC1W
Because (following Sinex Bias format description):
C1WC1C = C1W - C1C or C1W = C5Q - C5QC1W
Conversion [ns] -> [m]. The biases are applied to the observations of the current epoch.
....
.…...
*.IOX, *.INX, *.yyi
read_ionex_TUW.m reads the IONEX file and saves the data into a struct.
*.sp3
read_precise_eph.m reads the orbit file into a struct (for each GNSS) with the following fields: X, Y, Z, t, and dT (satellite coordinates, time, and satellite clock). These structs are then saved into input.ORBCLK.preciseEph_GPS/GLO/…
*.clk
read_precise_clocks.m reads the clock file into a struct (for each GNSS) with the following fields: t, dT and sigma_dT (time, satellite clock, and accuracy of satellite clock). These structs are then saved into input.ORBCLK.preciseClk_GPS/GLO/… and into a *.mat-file to enable faster loading in the next processing. The *.clk-file is deleted.
*.snx
getCoordinates.m tries to download and read the coordinates of the processed station. Thereby, the functions getOwnCoordinates.m, get_IGS_coordinates.m, and get_EUREF_coordinates.m are called. readSINEXcoordinates.m is used to read SINEX files.
The broadcasted navigation message is saved into a matrix for each GNSS. Each column of this matrix corresponds to one data entry. Furthermore, each row corresponds to a specific variable. Please note that some data is converted to, for example, GPS time during the read-in of the navigation message. Check read_nav_multi.m and the following table for details:
GPS | GLONASS | Galileo | BeiDou | |
1 | prn | prn | prn | prn |
2 | clock drift rate c2 | clock offset [s] | clock drift rate c2 | clock drift rate c2 |
3 | M0 | relative frequency bias | M0 | M0 |
4 | sqrt(major semi-axis) | mess. frame time [sow UTC] | sqrt(major semi-axis) | sqrt(major semi-axis) |
5 | delta n | X [km] | delta n | delta n |
6 | eccentricity | Y [km] | eccentricity | eccentricity |
7 | omega | Z [km] | omega | omega |
8 | cuc | X velocity [km] | cuc | cuc |
9 | cus | Y velocity [km] | cus | cus |
10 | crc | Z velocity [km] | crc | crc |
11 | crs | X acceleration [km] | crs | crs |
12 | i0 | Y acceleration [km] | i0 | i0 |
13 | idot | Z acceleration [km] | idot | idot |
14 | cic | health | cic | cic |
15 | cis | channel number | cis | cis |
16 | omega0 | correction system time to UTC [s] | omega0 | omega0 |
17 | omega dot | GPS week | omega dot | omega dot |
18 | time of ephemeris [sow] | time of ephemeris [sow] | time of ephemeris [sow] | time of ephemeris [sow] |
19 | clock bias c0 | IOD | clock bias c0 | clock bias c0 |
20 | clock drift c1 | x | clock drift c1 | clock drift c1 |
21 | toc | x | toc | toc |
22 | time group delay [s] | x | group delay E1/E5a [s] | IOD |
23 | health | x | health | health |
24 | IOD ephemeris | x | IOD ephemeris | age of data |
25 | IOD clock | x | group delay E1/E5b | group delay B1/B3 |
26 | codes | x | data source (FNAV or INAV) | group delay B2/B3 |
27 | GPS week | x | week | week |
28 | accuracy | x | SISA, signal in space accuracy | accuracy |
29 | tom [sow] | x | tom [sow] | tom [sow] |
abbreviation | unit | description |
---|---|---|
M0 | [rad] | Mean Anomaly at Reference Time |
eccentricity | [] | Eccentricity |
omega | [rad] | Argument of Perigee |
cuc | [rad] | Amplitude of the Cosine Harmonic Correction Term to the Argument of Latitude |
cus | [rad] | Amplitude of the Sine Harmonic Correction Term to the Argument of Latitude |
crc | [m] | Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius |
crs | [m] | Amplitude of the Sine Harmonic Correction Term to the Orbit Radius |
i0 | [rad] | Inclination Angle at Reference Time |
omega0 | [rad] | Longitude of Ascending Node of Orbit Plane at Weekly Epoch |
omega dot | [rad/s] | Rate of Right Ascension |
clock drift rate | [s/s²] | 2nd degree polynomial for clock correction, coefficient c2 |
major semi-axis | [sqrt(m)] | Square Root of the Semi-Major Axis |
delta n | [rad/s] | Mean Motion Difference from Computed Value |
idot | [rad/s] | Rate of Inclination Angle |
cic | [rad] | Amplitude of the Cosine Harmonic Correction Term to the Angle of Inclination |
cis | [rad] | Amplitude of the Sine Harmonic Correction Term to the Angle of Inclination |
time of ephemeris | [sow] | |
clock bias | [s] | 2nd degree polynomial for clock correction, coefficient c0 |
clock drift | [s/s] | 2nd degree polynomial for clock correction, coefficient c1 |
toc | [s] | |
time group delay | [s] | |
health | [] | |
codes | [] | |
accuracy | [] | |
tom | [sow] |
*.atx
readAntex.m reads the phase center offsets (PCOs) and phase center variations (PCVs) for all satellites and the receiver antenna. checkAntex.m replaces missing antenna calibrations with the values of other frequencies or GPS values.
Real-time correction streams recorded with the BKG Ntrip Client (BNC) can be used within raPPPid. When reading the data, raPPPid creates a matrix for each GNSS (e.g. corr2brdc_GPS) containing the data from the stream. In general, the rows of the matrices are epochs and the column number corresponds to the PRN of the satellite of the corresponding GNSS. A struct called corr2brdc_vtec is also created, containing the potential VTEC data of the correction stream.
corr2brdc_GPS:
corr2brdc_GAL, corr2brdc_GLO, and corr2brdc_BDS have the same structure as corr2brdc_GPS.
corr2brdc_vtec: 5 fields
Jump to Table of Content