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 [s/s²] | clock offset [s] | clock drift rate [s/s²] | clock drift rate [s/s²] |
3 | mean anomaly M0 | relative frequency bias | mean anomaly M0 | mean anomaly M0 |
4 | sqrt(major semi-axis) | sqrt(major semi-axis) | sqrt(major semi-axis) | |
5 | delta n [rad/s] | X [km] | delta n [rad/s] | delta n [rad/s] |
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 [s] | IOD | clock bias [s] | clock bias [s] |
20 | clock drift [s/s] | x | clock drift [s/s] | clock drift [s/s] |
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] |
*.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.
Stream recorded with BKG Ntrip Client (BNC) can be used within raPPPid, and it creates four structs from the data. In general, the rows of the matrices are epochs and the number of the column corresponds to the PRN of the satellite of the corresponding GNSS.
corr2brdc_GPS:
corr2brdc_GAL, corr2brdc_GLO, and corr2brdc_BDS have the same structure as corr2brdc_GPS.
corr2brdc_vtec: 3 fields
Jump to Table of Content