主要内容

gnssTroposphere

Tropospheric delay model for GNSS signals

Since R2026a

    Description

    The gnssTroposphere object stores the tropospheric delay model to use while calculating the receiver position using the receiverposition function.

    Creation

    Description

    tropo = gnssTroposphere create a tropospheric delay model object with no delay model.

    tropo = gnssTroposphere(delaymodel) specifies the delay model.

    example

    Input Arguments

    expand all

    Delay model, specified as a one of these options:

    • "none" — Use no delay model.

    • "saastamoinen" — Use the Saastamoinen delay model.

    This argument sets the DelayModel property.

    Data Types: char | string

    Properties

    expand all

    Delay model, specified as a one of these options:

    • "none" — Use no delay model.

    • "saastamoinen" — Use the Saastamoinen delay model. For more information, see Saastamoinen Delay Model.

    Data Types: char | string

    Examples

    collapse all

    Read the data from a RINEX navigation and observation messages. These RINEX files contain GNSS data for March 29, 2025.

    navFileName = "GODE00USA_R_20250880000_01D_GN.rnx";
    obsFileName = "GODE00USA_R_20250880800_01H_30S_MO.rnx";
    [rnxnavdata,rnxnavhdr] = rinexread(navFileName);
    [rnxobsdata,rnxobshdr] = rinexread(obsFileName);

    Create ionosphere and troposphere delay models. Use the Klobuchar model for the ionosphere delay model with the GPS alpha and beta coefficients from the header file.

    ionoParams = rnxnavhdr.IonosphericCorrections;
    alpha = ionoParams(1).Parameters;
    beta = ionoParams(2).Parameters;
    ionoDelayModel = gnssIonosphere("klobuchar",alpha,beta);
    tropoDelayModel = gnssTroposphere("saastamoinen");

    Create the GNSS options for estimating the receiver position.

    opts = gnssoptions(Ionosphere=ionoDelayModel,Troposphere=tropoDelayModel);

    Get the GNSS measurements for the GPS satellites using the RINEX navigation and observation messages. Show the data for the first three time steps.

    gpsData = gnssmeasurements(rnxobsdata.GPS,rnxnavdata.GPS);
    gpsData(1:3,:)
    ans=3×8 timetable
                Time            SatelliteID    Pseudorange                SatellitePosition                SatelliteClockBias    PseudorangeRate          SatelliteVelocity          SatelliteClockDrift    EphemerisAccuracy
        ____________________    ___________    ___________    _________________________________________    __________________    _______________    _____________________________    ___________________    _________________
    
        29-Mar-2025 08:00:00         1         2.4375e+07      -2.126e+07    -1.4117e+07     7.4018e+06        0.00019738              NaN          -471.47    -855.01      -2983        1.8076e-11                 2        
        29-Mar-2025 08:00:00         2          2.566e+07     -2.0524e+07    -1.6951e+07    -2.4589e+06       -0.00020789              NaN           429.94     23.954    -3140.9         9.436e-12                 2        
        29-Mar-2025 08:00:00         3         2.2235e+07     -1.2415e+07    -9.5047e+06      2.132e+07         0.0006808              NaN           578.88    -2675.8    -837.42        3.5243e-12                 2        
    
    

    Calculate the receiver positions by using the GPS measurements and the options specified by the gnssoptions object. Show the receiver positions for the first three time steps.

    [recPos,recVel,hdop,vdop,info] = receiverposition(gpsData,opts);
    recPos(1:3,:)
    ans = 3×3
    
       39.0217  -76.8268   13.7420
       39.0217  -76.8269   13.0003
       39.0217  -76.8268   12.2894
    
    

    More About

    expand all

    References

    [1] Takasu, T. RTKLIB ver. 2.4.2 Manual, Appendix E.5, April 29, 2013. https://www.rtklib.com/prog/manual_2.4.2.pdf.

    [2] International GNSS Service (for Daily 30-Second GPS Broadcast Ephemeris Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, March 29, 2024; accessed March 29, 2024). https://dx.doi.org/10.5067/GNSS/gnss_daily_n_001.

    [3] International GNSS Service (for Hourly 30-Second Observation Data, NASA Crustal Dynamics Data Information System (CDDIS), Greenbelt, MD, USA, March 29, 2024; accessed March 29, 2024). https://dx.doi.org/10.5067/GNSS/gnss_hourly_o_001.

    Extended Capabilities

    expand all

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2026a