Main Content

rinexinfo

Get information about RINEX file

Since R2022a

Description

fileinfo = rinexinfo(filename) gets information about the specified RINEX version 3 file filename, and returns it as a structure, fileinfo. The contents of fileinfo depend on the RINEX file type and the satellite system in the file.

example

Examples

collapse all

GPS Navigation Message Info

filename = "GODS00USA_R_20211750000_01D_GN.rnx"; 
info = rinexinfo(filename)
info = struct with fields:
             FileVersion: 3.0400
     FileSatelliteSystem: 'G'
                FileType: 'N'
                Comments: [3x1 string]
    LeapSecondParameters: [1x1 struct]
                     PGM: "JPS2RIN v.2.0.191"
                   RunBy: "JAVAD GNSS"
            CreationDate: 25-Jun-2021 00:06:25
                FileName: "GODS00USA_R_20211750000_01D_GN.rnx"
                FileSize: 109092

Galileo Navigation Message Info

filename = "GODS00USA_R_20211750000_01D_EN.rnx"; 
info = rinexinfo(filename)
info = struct with fields:
               FileVersion: 3.0400
       FileSatelliteSystem: 'E'
                  FileType: 'N'
                  Comments: [3x1 string]
    IonosphericCorrections: [1x1 struct]
      LeapSecondParameters: [1x1 struct]
                       PGM: "JPS2RIN v.2.0.191"
                     RunBy: "JAVAD GNSS"
              CreationDate: 25-Jun-2021 00:06:25
                  FileName: "GODS00USA_R_20211750000_01D_EN.rnx"
                  FileSize: 1063207

GLONASS Navigation Message Info

filename = "GODS00USA_R_20211750000_01D_RN.rnx";
info = rinexinfo(filename)
info = struct with fields:
             FileVersion: 3.0400
     FileSatelliteSystem: 'R'
                FileType: 'N'
                Comments: [3x1 string]
    LeapSecondParameters: [1x1 struct]
                     PGM: "JPS2RIN v.2.0.191"
                   RunBy: "JAVAD GNSS"
            CreationDate: 25-Jun-2021 00:06:25
                FileName: "GODS00USA_R_20211750000_01D_RN.rnx"
                FileSize: 141452

BeiDou Navigation Message Info

filename = "GODS00USA_R_20211750000_01D_CN.rnx";
info = rinexinfo(filename)
info = struct with fields:
              FileVersion: 3.0400
      FileSatelliteSystem: 'C'
                 FileType: 'N'
                 Comments: [3x1 string]
     LeapSecondParameters: [1x1 struct]
                      PGM: "JPS2RIN v.2.0.191"
                    RunBy: "JAVAD GNSS"
             CreationDate: 25-Jun-2021 00:06:26
    TimeSystemCorrections: [1x1 struct]
                 FileName: "GODS00USA_R_20211750000_01D_CN.rnx"
                 FileSize: 155431

NavIC/IRNSS Navigation Message Info

filename = "ARHT00ATA_R_20211750000_01D_IN.rnx";
info = rinexinfo(filename)
info = struct with fields:
             FileVersion: 3.0400
     FileSatelliteSystem: 'I'
                FileType: 'N'
                Comments: [3x1 string]
    LeapSecondParameters: [1x1 struct]
                     PGM: "JPS2RIN v.2.0.191"
                   RunBy: "JAVAD GNSS"
            CreationDate: 25-Jun-2021 00:03:18
                FileName: "ARHT00ATA_R_20211750000_01D_IN.rnx"
                FileSize: 74322

QZSS Navigation Message Info

filename = "ARHT00ATA_R_20211750000_01D_JN.rnx";
info = rinexinfo(filename)
info = struct with fields:
             FileVersion: 3.0400
     FileSatelliteSystem: 'J'
                FileType: 'N'
                Comments: [3x1 string]
    LeapSecondParameters: [1x1 struct]
                     PGM: "JPS2RIN v.2.0.191"
                   RunBy: "JAVAD GNSS"
            CreationDate: 25-Jun-2021 00:03:18
                FileName: "ARHT00ATA_R_20211750000_01D_JN.rnx"
                FileSize: 22970

SBAS Navigation Message Info

filename = "GOP600CZE_R_20211750000_01D_SN.rnx";
info = rinexinfo(filename)
info = struct with fields:
            FileVersion: 3.0400
    FileSatelliteSystem: 'S'
               FileType: 'N'
               Comments: "SBAS NAVIGATION DATA FROM STATION GOP6 (RIGTC, GO PECNY)    "
                    PGM: "sbf2rin-13.4.5"
                  RunBy: "RIGTC, GO PECNY"
           CreationDate: 25-Jun-2021 00:26:37
               FileName: "GOP600CZE_R_20211750000_01D_SN.rnx"
               FileSize: 1083132

Mixed Observation Info

filename = "GODS00USA_R_20211750000_01H_30S_MO.rnx";
info = rinexinfo(filename)
info = struct with fields:
                FileVersion: 3.0400
        FileSatelliteSystem: 'M'
                   FileType: 'O'
           ObservationTypes: [4x1 struct]
              NumSatellites: 44
              AntennaNumber: "02083"
                AntennaType: "JAVRINGANT_DM   SCIS"
            AntennaDeltaHEN: [0.0083 0 0]
             ApproxPosition: [1.1308e+06 -4.8313e+06 3.9941e+06]
    GLONASSFrequencyNumbers: [1x1 struct]
                   Interval: 30
       LeapSecondParameters: [1x1 struct]
                 MarkerName: "GODS"
               MarkerNumber: "40451M128"
                   Observer: "GGN"
                     Agency: "NASA GODDARD SPACE FLIGHT CENTER"
                        PGM: "JPS2RIN v.2.0.191"
                      RunBy: "JAVAD GNSS"
               CreationDate: 24-Jun-2021 01:05:22
          TotalObservations: [44x1 struct]
             ReceiverNumber: "02704"
               ReceiverType: "JAVAD TRE_3 DELTA"
            ReceiverVersion: "4.0.02"
                 PhaseShift: [22x1 struct]
               FirstObsTime: 23-Jun-2021 23:59:42
                LastObsTime: 24-Jun-2021 00:59:12
                   FileName: "GODS00USA_R_20211750000_01H_30S_MO.rnx"
                   FileSize: 1240462

Input Arguments

collapse all

Name of the RINEX version 3 file to read data from, specified as a string scalar or character vector.

Example: "GODS00USA_R_20211750000_01D_GN.rnx"

Data Types: string | char

Output Arguments

collapse all

RINEX file contents, returned as a structure. The structure has different fields depending on the type of RINEX file and the header entries in the file.

If the specified RINEX file is a navigation message file, the fileinfo output is a structure with these fields:

FieldTypeDescription
FileNamestringName of file
FileSizedoubleFile size in bytes
SatelliteSystemstring"GPS", "Galileo", "GLONASS", "BeiDou", "NavIC", "QZSS", "SBAS", or "Mixed"
VersiondoubleFormat Version
FileTypecharFile type, specified as either 'N' for navigation message files and 'O' for observation data files.
PGMstringName of the program that created the file
RunBystringName of the agency that created the file
CreationDatestringDate and time of file creation
Comments (Optional)stringComment lines from file header
IonosphericCorrections (Optional)structure array

An array of structures with a number of elements equal to the number of IONOSPHERIC CORR header lines in the file. Each structure has the CorrectionType, Parameters, TimeMark, and SVID fields.

TimeMark and SVID are optional for all satellite systems except BeiDou.

Correction type:

  • GAL — Galileo ai0 to ai2

  • GPSA — GPS alpha0 to alpha3

  • GPSB — GPS beta0 to beta3

  • QZSA — QZS alpha0 to alpha3

  • QZSB — QZS beta0 to beta3

  • BDSA — BDS alpha0 to alpha3

  • BDSB — BDS beta0 to beta3

  • IRNA — NavIC/IRNSS alpha0 to alpha3

  • IRNB — NavIC/IRNSS beta0 to beta3

Parameters:

  • GAL — ai0, ai1, ai2, Blank

  • GPS — alpha0 to alpha3 or beta0 to beta3

  • QZS — alpha0 to alpha3 or beta0 to beta3

  • BDS — alpha0 to alpha3 or beta0 to beta3

  • IRN — alpha0 to alpha3 or beta0 to beta3

  • Time mark, Transmission Time (seconds of week) converted to hours of day and then to A—X. A is 00h—01h, B is 01h—02h, …, X is 23—24h satellite system time.

  • SV ID, identify which satellite provided the ionospheric parameters

TimeSystemCorrectionsstructure

An array of structures with a number of elements equal to the number of TIME SYSTEM CORR header lines in the file. Each structure has the CorrectionType, Parameters, ReferenceTime, ReferenceWeekNumber, SVID, and UTCID fields.

Correction type:

  • GPUT = GPS - UTC (a0, a1)

  • GLUT = GLO - UTC (a0 = -TauC, a1 = zero)

  • GAUT = GAL - UTC ( a0, a1)

  • BDUT = BDS - UTC (a0 = A0UTC, a1 = A1UTC )

  • QZUT = QZS - UTC (a0, a1)

  • IRUT = IRN - UTC (a0 = A0UTC, a1 = A1UTC )

  • SBUT = SBAS - UTC (a0, a1)

  • GLGP = GLO - GPS (a0 = -TauGPS, a1 = zero)

  • GAGP = GAL - GPS (a0 = A0G, a1 = A1G for GAL INAV/FNAV; a0 = –A0GGTO, a1 = –A1 GGTO for GPS CNAV)

  • QZGP = QZS - GPS (a0, a1)

  • IRGP = IRN - GPS (a0 = A0, a1 = A1 )

Parameters:

  • a0, a1 coefficients of linear polynomial Δt = a0 + a1 · (t - tref) for fractional part (excluding leap seconds) of time system difference (a0; sec, a1; sec/sec)

  • Reference time (T) for polynomial (Seconds into GPS/GAL/BDS/QZS/IRN/SBAS week)

  • Reference week number (W)

  • GPS/GAL/QZS/IRN/SBAS week aligned to GPS, continuous number from 6-Jan-1980

  • GLONASS T and W zero.

  • BDS week, continuous from: 1-Jan-2006

  • SV ID, System identifier and PRN/slot number ‘snn’ of the GNSS satellite broadcasting the time system difference or SBAS satellite broadcasting the MT12. Use EGNOS, WAAS, or MSAS for SBAS time differences from MT17.

  • UTC Identifier

  • 0 if unknown

  • 1 = UTC(NIST)

  • 2 = UTC(USNO)

  • 3 = UTC(SU)

  • 4 = UTC(BIPM)

  • 5 = UTC(Europe Lab)

  • 6 = UTC(CRL)

  • 7 = UTC(NTSC) (BDS)

  • >7 = not assigned yet.

LeapSecondParameters (Optional)structure

Leap second parameters in a structure with fields LeapSeconds, DeltaTimeLeapSeconds, WeekNumber, DayNumber, and TimeSystemID .

  • LeapSeconds — Current number of leap seconds.

  • DeltaTimeLeapSeconds — Future or past leap seconds. For example, it is future leap seconds if the week and day numbers are in the future.

  • WeekNumber — For GPS, GAL, QZS, and IRN, number of weeks since January 6, 1980. For BDS, it is number of weeks since January 1, 2006.

  • DayNumber — The day number is the GPS or BeiDou day before the leap second. For GPS, this number is in the range [1, 7]. For Beidou, this number is in the range [0, 6].

  • TimeSystemID — Only "GPS" and "BDT" are valid values. If blank the field defaults to "GPS".

Note that optional fields are not present in the structure unless specified in the RINEX file.

Data Types: struct

If the specified RINEX file is an observation data file, the output is a structure with these fields:

FieldTypeEntry
FileNamestringName of file
FileSizedoubleFile size in bytes
SatelliteSystemstring"GPS", "Galileo", "GLONASS", "BeiDou", "NavIC", "QZSS", "SBAS", or "Mixed"
VersiondoubleFormat Version
FileTypecharFile type, specified as either 'N' for navigation message files and 'O' for observation data files.
PGMstringName of the program that created the file
RunBystringName of the agency that created the file
CreationDatestringDate and time of file creation
Comments (Optional)stringComment lines from file header
MarkerNamestringName of antenna marker
MarkerNumber (Optional)stringNumber of antenna marker
MarkerType (Optional for GEODETIC and NON_GEODETIC marker types)stringType of marker
ObserverstringName of observer
AgencystringName of agency
ReceiverNumberstringReceiver number
ReceiverTypestringReceiver type
ReceiverVersionstringReceiver version
AntennaNumberstringAntenna number
AntennaTypestringAntenna type
ApproxPositiondoubleApproximate marker position in meters.
AntennaDeltaHENdoubleHeight of the antenna reference point (ARP) above marker, and horizontal eccentricity of ARP relative to marker (East/North) in meters.
AntennaDeltaXYZdoublePosition of antenna reference point for antenna on vehicle in meters.
AntennaPhaseCenter (Optional)structure array

A structure array with number of elements equal to the number of ANTENNA: PHASECENTER header lines in the file. Each structure has SatelliteSystem, ObservationCode, and PhaseCenterfields. Where:

SatelliteSystem — The specified satellite system.

ObservationCode — The observation code. See the Observation Type Descriptors section for more information.

PhaseCenter — The average phase center position with respect to the antenna reference point, in meters, North/East/Up for fixed station, XYZbody-fixed system for a vehicle.

AntennaBSightXYZdoubleDirection of the vertical antenna axis toward the GNSS satellites. If the antenna is on a vehicle, the direction is a unit vector in a body-fixed coordinate system. If the antenna is a tilted antenna on fixed station, the direction is a unit vector in East-North-Up (ENU) left-handed system.
AntennaZeroDirXYZ (Optional)doubleZero direction of the antenna. If the antenna is on a vehicle, the zero direction is unit vector is in a body-fixed coordinate system. If the tilted antenna is on a fixed station, the zero direction is a unit vector in East-North-Up (ENU) left-handed system.
CenterOfMassXYZdoubleCurrent center of mass of the vehicle in a body-fixed coordinate system, in meters.
ObservationTypesstructure array

A structure array with number of elements equal to the number of satellite systems in the file. Each structure has SatelliteSystem and Descriptors fields. Where:

SatelliteSystem — String specifying the satellite system.

Descriptors — String array of 3-element observation descriptors. The first element is the Type, the second is the Band, and the third is the Attribute. See the Observation Type Descriptors section for more information.

SignalStrengthUnit (Optional)stringUnit of the carrier to noise ratio observables SNN (if present) DBHZ: S/N given in dbHz.
Interval (Optional)doubleObservation interval in seconds.
FirstObsTime (Optional, unless RINEX file is a mixed GNSS file)datetime

Time of first observation record. Time systems are:

  • GPS — GPS time system

  • GLO — UTC time system

  • GAL — Galileo time system

  • QZS — QZSS time system

  • BDT — BDS time system

  • IRN — NavIC/IRNSS time system

HasReceiverClockOffset (Optional, unless, the epoch lines of the data section reports clock offsets)logicalEpoch, code, and phase are corrected by applying the real-time-derived receiver clock offset.
DCBS (Optional)structure array

An array with number of elements equal to number of satellite systems in the file. Each structure has SatelliteSystem, Program, and Source fields. Where:

SatelliteSystem — String specifying satellite system

Program — String specifying the program used to apply differential code bias corrections (DCBS)

Source — String URL of source of corrections

PCVS (Optional)structure array

An array with number of elements equal to number of satellite systems in the file. Each structure has SatelliteSystem, Program, and Source fields. Where:

SatelliteSystem — String specifying satellite system

Program — String specifying the program used to apply phase center variation corrections (PCVS)

Source — String URL of source of corrections

ScaleFactorstructure array

An array with number of elements equal to number of “SYS / SCALE FACTOR” header lines in the file. Each structure has SatelliteSystem, Factor, and ObservationTypes fields. Where:

SatelliteSystem — String specifying satellite system

Factor — is a factor to divide stored observations with before use

ObservationTypes — is a list of observation types

PhaseShift (Optional)structure array

An array with number of elements equal to number of “SYS / PHASE SHIFT” header lines in the file. Each structure has SatelliteSystem, ObservationType, Correction, SatelliteIDs fields. Where:

SatelliteSystem — String specifying the satellite system.

ObservationType — String specifying carrier phase observation code.

Correction — Value of correction applied (cycles).

SatelliteIDs — String array of satellites where correction is applied.

GLONASSFrequencyNumbers (Optional unless using files with GLONASS satellites)structure

A structure with fields Slot and FrequencyNumber. Where:

Slot — String array of satellite numbers (system code (R), slot)

FrequencyNumber — Vector of integer doubles.

GLONASSCodePhaseBiasstructure

A structure with fields ObservationTypes and Bias. Where:

ObservationTypes — String array of observation types. Valid values are “C1C”, “C1P”, “C2C”, or “C2P”.

Bias — Vector of code phase bias corrections in meters.

LeapSecondParameters (Optional)structure

Leap second parameters in a structure with fields LeapSeconds, DeltaTimeLeapSeconds, WeekNumber, DayNumber, and TimeSystemID .

  • LeapSeconds — Current number of leap seconds.

  • DeltaTimeLeapSeconds — Future or past leap seconds. For example, it is future leap seconds if the week and day numbers are in the future.

  • WeekNumber — For GPS, GAL, QZS, and IRN, number of weeks since January 6, 1980. For BDS, it is number of weeks since January 1, 2006.

  • DayNumber — The day number is the GPS or BeiDou day before the leap second. For GPS, this number is in the range [1, 7]. For Beidou, this number is in the range [0, 6].

  • TimeSystemID — Only "GPS" and "BDT" are valid values. If blank the field defaults to "GPS".

NumSatellites (Optional)doubleNumber of satellites, for which observations are stored in the file.
TotalObservations (Optional)structure arrayAn array of structure with the number of elements equal to the number of PRN / # OF OBS header lines in the file. Each structure has a SatelliteID and NumObservations field.

Note that optional fields are not present in the structure unless specified in the RINEX file.

Data Types: struct

Data Types: struct

More About

collapse all

Observation Type Descriptors

Observation type descriptors is a string comprised of three parts. The first part is the observation type, the second is the frequency band, and the third is the attribute which indicates the tracking mode or channel.

The observation type can be one of five types.

Type

  • C — Code or pseudorange, is the distance, in meters, between the receiver antenna and the satellite antenna including delays and other biases.

  • L — Phase is the carrier phase range from the antenna to the satellite, measured in whole cycles.

  • D — Doppler shift indicating the approach of satellites, where a positive value indicates an approaching satellite.

  • S — Raw signal strength (carrier to noise ratio) as an integer in the range [1, 9].

  • X — Receiver channel numbers.

You can identify the frequency band code number given a frequency band and a satellite system.

Frequency Band vs Satellite System

Frequency Band Code NumberGPSQZSSSBASBDSGLOGALNavIC/IRNSS
1L1L1L1L1G1E1
2L2L2B1G2
3G3
4G1a
5L5L5L5B2aE5aL5
6L6B3 or B3AG2aE6
7B2 or B2bE5b
8B2a and B2bE5a and E5b
9S

You can identify the attribute letter given a channel or code and a satellite system.

Attribute vs Satellite System

Attribute LetterGPSQZSSSBASBDSGLOGALNavIC/IRNSS
AA channelA channelA channel
BA channelA channelA channel
CC code-basedC code-basedC code-basedC code-basedC channelC channel
DSemi-codelessSemi-codelessData channel
EE channel
II channelI channelI channelI channel
L

L channel (L2C GPS)

P channel

L channel

P channel

MM-based code
NCodeless
PP code-basedPilot channelP code-based
QQ channelQ channelQ channelQ channel
S

D channel

M channel (L2C GPS)

D channel

M channel

WBased on Z-tracking
X

I and Q channels

M and L channels

D and P channels

I and Q channels

M and L channels

D and P channels

I and Q channels

D and P channels

B and C channels

I and Q channels

B and C channels
YY code-based
Z

I and Q channels

D and E channels

D and P channelsA, B, and C channels

These are examples of codes:

  • C1M — L1 pseudorange derived from the M channel for a GPS satellite.

  • L5X — E5a carrier phase derived from the B and C channels for a Galileo satellite.

  • S3I — G3 signal strength derived from the I channels for a GLONASS satellite.

References

[1] International GNSS Service (for Daily 30-Second GPS Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021; accessed June 25, 2021). https://dx.doi.org/10.5067/GNSS/gnss_daily_n_001.

[2] International GNSS Service (for Daily 30-Second Galileo Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021; accessed June 25, 2021). https://dx.doi.org/10.5067/GNSS/gnss_daily_l_001.

[3] International GNSS Service (for Daily 30-Second GLONASS Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021; accessed August 19, 2021). https://dx.doi.org/10.5067/GNSS/gnss_daily_g_001.

[4] International GNSS Service (for Daily 30-Second BeiDou Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021; accessed August 19, 2021). https://dx.doi.org/10.5067/GNSS/gnss_daily_f_001.

[5] International GNSS Service (for Daily 30-Second NavIC/IRNSS Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021; accessed August 19, 2021). https://dx.doi.org/10.5067/GNSS/gnss_daily_i_001.

[6] International GNSS Service (for Daily 30-Second QZSS Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021; accessed August 19, 2021). https://dx.doi.org/10.5067/GNSS/gnss_daily_q_001.

[7] International GNSS Service (for Daily 30-Second SBAS Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021; accessed August 19, 2021). https://dx.doi.org/10.5067/GNSS/gnss_daily_h_001.

[8] International GNSS Service (for Hourly 30-Second Observation Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, Jun. 24, 2021; accessed August 19, 2021). https://dx.doi.org/10.5067/GNSS/gnss_hourly_o_001.

[9] Romero, Ignacio, ed. RINEX The Receiver Independent Exchange Format Version 3.05. Darmstadt, Germany: IGS/RTCM ESA/ESOC/Navigation Support Office. December, 2020. Accessed on: Dec. 22, 2021. https://files.igs.org/pub/data/format/rinex305.pdf .

Version History

Introduced in R2022a