Main Content

gnssoptions

Specify bias and atmospheric delay models for receiver position calculation

Since R2026a

    Description

    The gnssoptions object stores bias and atmospheric delay model information to use while calculating the receiver position using the receiverposition function.

    Creation

    Description

    opts = gnssoptions creates GNSS options with default bias and atmospheric delay models.

    opts = gnssoptions(PropertyName=Value) sets one or more properties using name-value arguments.

    example

    Properties

    expand all

    Troposphere delay model, specified as a gnssTroposphere object.

    Example: gnssTroposphere("saastamoinen")

    Ionosphere delay model, specified as a gnssIonosphere object.

    Example: gnssIonosphere("klobuchar")

    Bias accuracy, specified as a nonnegative numeric scalar.

    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
    
    

    References

    [1] 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.

    [2] 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