LPP ASN.1 schema

This LPP ASN.1 schema has been used to BER-encode the LPP data in Message payloads.

You MUST use this schema file to generate a LPP decoder that you use to decode all LPP payloads. We use LPP v16 but this schema extends it with GNSS-SSR-OrbitECEFCorrections-r15 element.

You can download the ASN.1 schema file from this link: lpp.asn1.

You can download the LPP v16.4.0 specification from this link: LPP v16.4.0.

Description of the extended elements in LPP ASN.1 schema

GNSS-SSR-OrbitECEFCorrections-r15

The GNSS-SSR-OrbitECEFCorrections-r15 is used by the HERE GNSS service to provide X, Y, and Z orbit corrections. The target device may use the parameters to compute a satellite position correction to be combined with the satellite position calculated from broadcast ephemeris.

The GNSS-SSR-OrbitECEFCorrections-r15 is not part of the LPP standard. It is a proprietary extension to the LPP.

The parameters provided in GNSS-SSR-OrbitECEFCorrections-r15 are used as specified for SSR Orbit Correction Messages (for example, message type 1057 and 1063) in RTCM Standard 10403.3: "Differential GNSS (Global Navigation Satellite Systems) Services" – Version 3, October 7, 2016 - chapter "3.5.12 State Space Messages" and apply to all GNSS.

The OPTIONAL fields are not included in the corrections.

HERE GNSS Service provides new corrections once every 5 seconds, but each set of corrections stays good for about 3 minutes. It is possible to use the same corrections for up to 5 minutes, but the accuracy of the corrections degrades over time.

When a navigation model delivered via a data type DATATYPE_AGNESS_GPS, DATATYPE_AGNESS_GLO, DATATYPE_AGNESS_GAL, or DATATYPE_AGNESS_BEI changes, HERE GNSS Service will immediately begin sending corrections calculated for the new navigation model.

-- ASN1START

GNSS-SSR-OrbitECEFCorrections-r15 ::= SEQUENCE {
    epochTime-r15                       GNSS-SystemTime,
    ssrUpdateInterval-r15               INTEGER (0..15),
    satelliteReferenceDatum-r15         ENUMERATED { itrf, regional, ... },
    iod-ssr-r15                         INTEGER (0..15),
    ssr-OrbitECEFCorrectionList-r15     SSR-OrbitCorrectionList-r15,
    ...
}

SSR-OrbitECEFCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-OrbitECEFCorrectionSatelliteElement-r15

SSR-OrbitECEFCorrectionSatelliteElement-r15 ::= SEQUENCE {
    svID-r15                            SV-ID,
    iod-r15                             BIT STRING (SIZE(11)),
    delta-X-r15                         INTEGER (-2097152..2097151),
    delta-Y-r15                         INTEGER (-524288..524287),
    delta-Z-r15                         INTEGER (-524288..524287),
    dot-delta-X-r15                     INTEGER (-1048576..1048575)             OPTIONAL,
    dot-delta-Y-r15                     INTEGER (-262144..262143)               OPTIONAL,
    dot-delta-Z-r15                     INTEGER (-262144..262143)               OPTIONAL,
    ...
}

-- ASN1STOP


Table 1. GNSS-SSR-OrbitECEFCorrections field descriptions

GNSS-SSR-OrbitECEFCorrections-r15 field descriptions
epochTime
This field specifies the epoch time of the orbit corrections. The gnss-TimeID in GNSS-SystemTime should be the same as the GNSS-ID in GNSS-GenericAssistDataElement.
ssrUpdateInterval
This field specifies the SSR Update Interval. The SSR Update Intervals for all SSR parameters start at time 00:00:00 of the GPS time scale. A change of the SSR Update Interval during the transmission of SSR data should ensure consistent data for a target device. See table 3 for Value to SSR Update Interval Relation. See NOTE 1.
satelliteReferenceDatum
This field specifies the satellite reference datum for the orbit corrections.
iod-ssr
This field specifies the Issue of Data number for the SSR data. A change of iod-ssr is used to indicate a change in the SSR generating configuration.
svID
This field specifies the satellite for which the orbit corrections are provided.
iod
This field specifies the IOD value of the broadcast ephemeris for which the orbit corrections are valid (see GNSS NavigationModel). See NOTE 2.
delta-X
This field specifies the orbit correction in the X coordinate for broadcast ephemeris. See NOTE 3.
Scale factor 0.1 mm; range ±209.7151 m.
delta-Y
This field specifies the orbit correction in the Y coordinate for broadcast ephemeris. See NOTE 3.
Scale factor 0.4 mm; range ±209.7148 m.
delta-Z
This field specifies the orbit correction in the Z coordinate for broadcast ephemeris. See NOTE 3.
Scale factor 0.4 mm; range ±209.7148 m.
dot-delta-X
This field specifies the velocity of the orbit correction in the X coordinate for broadcast ephemeris. See NOTE 3.
Scale factor 0.001 mm/s; range ±1.048575 m/s.
dot-delta-Y
This field specifies the velocity of the orbit correction in the Y coordinate for broadcast ephemeris. See NOTE 3.
Scale factor 0.004 mm/s; range ±1.048572 m/s.
dot-delta-Z
This field specifies the velocity of the orbit correction in the Z coordinate broadcast ephemeris. See NOTE 3.
Scale factor 0.004 mm/s; range ±1.048572 m/s.

NOTE 1: The update intervals are aligned to the GPS time scale for all GNSS in order to allow synchronous operation for multiple GNSS services. This means that the update intervals may not be aligned to the beginning of the day for another GNSS. Due to the leap seconds, this is generally the case for GLONASS.

NOTE 2: In case the gnss-ID indicates 'gps' or 'qzss', the iod refers to the NAV broadcast ephemeris (GPS L1 C/A or QZSS QZS-L1, respectively, in table GNSS to iod Bit String(11) relation in GNSS-NavigationModel).

NOTE 3: The reference time t0 is epochTime + ½ × ssrUpdateInterval. The reference time t0 for ssrUpdateInterval '0' is epochTime.


GNSS-SSR-ClockCorrections-r15

The GNSS-SSR-ClockCorrections-r15 is used by HERE GNSS service to provide clock correction parameters. The target device may use the parameters to compute a clock correction to be applied to the broadcast satellite clock parameters, identified by iod of corresponding GNSS-SSR-OrbitCorrections-r15.

The GNSS-SSR-ClockCorrections-r15 is part of the LPP standard, version 15. We have extended SSR-ClockCorrectionSatelliteElement-r15 by adding iod-LanePilot

The parameters provided in GNSS-SSR-ClockCorrections-r15 are used as specified for SSR Clock Correction Messages (for example, message type 1058 and 1064) in [RTCM Standard 10403.3: "Differential GNSS (Global Navigation Satellite Systems) Services" – Version 3, October 7, 2016] and apply to all GNSS.

The OPTIONAL fields are not included in the corrections.

HERE GNSS Service provides new corrections once every 5 seconds, but each set of corrections stays good for about 3 minutes. It is possible to use the same corrections for up to 5 minutes, but the accuracy of the corrections degrades over time.

When a navigation model delivered via a data type DATATYPE_AGNESS_GPS, DATATYPE_AGNESS_GLO, DATATYPE_AGNESS_GAL, or DATATYPE_AGNESS_BEI changes, HERE GNSS Service will immediately begin sending corrections calculated for the new navigation model.

-- ASN1START

GNSS-SSR-ClockCorrections-r15 ::= SEQUENCE {
    epochTime-r15                       GNSS-SystemTime,
    ssrUpdateInterval-r15               INTEGER (0..15),
    iod-ssr-r15                         INTEGER (0..15),
    ssr-ClockCorrectionList-r15         SSR-ClockCorrectionList-r15,
    ...
}

SSR-ClockCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-ClockCorrectionSatelliteElement-r15

SSR-ClockCorrectionSatelliteElement-r15 ::= SEQUENCE {
    svID-r15                            SV-ID,
    delta-Clock-C0-r15                  INTEGER (-2097152..2097151),
    delta-Clock-C1-r15                  INTEGER (-1048576..1048575)         OPTIONAL,
    delta-Clock-C2-r15                  INTEGER (-67108864..67108863)       OPTIONAL,
    ...,
    iod-LanePilot                       BIT STRING (SIZE(11)) OPTIONAL
}

-- ASN1STOP


Table 2. GNSS-SSR-ClockCorrections field descriptions

GNSS-SSR-ClockCorrections-r15 field descriptions
epochTime
This field specifies the epoch time of the clock corrections. The gnss-TimeID in GNSS-SystemTime should be the same as the GNSS-ID in GNSS-GenericAssistDataElement.
ssrUpdateInterval
This field specifies the SSR Update Interval. The SSR Update Intervals for all SSR parameters start at time 00:00:00 of the GPS time scale. A change of the SSR Update Interval during the transmission of SSR data should ensure consistent data for a target device. See table 3 for Value to SSR Update Interval Relation in GNSS SSR OrbitCorrections.
iod-ssr
This field specifies the Issue of Data number for the SSR data. A change of iod-ssr is used to indicate a change in the SSR generating configuration.
svID
This field specifies the satellite for which the clock corrections are provided.
delta-Clock-C0
This field specifies the C0 polynomial coefficient for correction of broadcast satellite clock. See table 4 for Clock Correction Reference Signals. See NOTE 1.
Scale factor 0.1 mm; range ±209.7151 m.
delta-Clock-C1
This field specifies the C1 polynomial coefficient for correction of broadcast satellite clock. See table 4 for Clock Correction Reference Signals. See NOTE 1.
Scale factor 0.001 mm/s; range ±1.048575 m/s.
delta-Clock-C2
This field specifies the C2 polynomial coefficient for correction of broadcast satellite clock. See table 4 for Clock Correction Reference Signals. See NOTE 1.
Scale factor 0.00002 mm/s2; range ±1.34217726 m/s2.
iod-LanePilot
This field specifies the IOD value of the broadcast ephemeris for which the clock corrections are valid (see GNSS NavigationModel).

NOTE 1: The reference time t0 is epochTime + ½ × ssrUpdateInterval. The reference time t0 for ssrUpdateInterval '0' is epochTime.



Table 3. Value to SSR Update Interval Relation

Value of ssrUpdateInterval SSR Update Interval
0 1 second
1 2 seconds
2 5 seconds
3 10 seconds
4 15 seconds
5 30 seconds
6 60 seconds
7 120 seconds
8 240 seconds
9 300 seconds
10 600 seconds
11 900 seconds
12 1800 seconds
13 3600 seconds
14 7200 seconds
15 10800 seconds



Table 4. Clock Correction Reference Signals

Constellation Clock Reference
GPS ionosphere-free combination of either
- L1 C/A and L2P (Block IIR) (C1C - C2W)
- L1 C/A and L2 C/A (non Block IIR) (C1C - C2L)
GLONASS ionosphere-free combination of L1CA-L2P (C1C – C2P)
GALILEO ionosphere-free combination of E1-E5a (C1C – C5Q)
BEIDOU ionosphere-free combination of B1I-B3 (C2I-C6I)

NOTE 1: C1C, C2W etc. refer to RINEX observation codes that are defined in document RINEX 3.05, chapter "5.2.17 Observation codes".

NOTE 2: The GPS constellation status page tells you the block type of each GPS satellite.


GNSS-RealTimeIntegrity

The GNSS-RealTimeIntegrity is part of the LPP standard. BadSignalElement has been extended by adding badSignalReason-agness-r1 that tells why the signal is bad.

At the moment these two of the three enumerated reasons are used:

  • healthFlags - the health flags sent by the satellite indicate that the signal is bad
  • accuracy - the 3D or clock error goes beyond a predetermined threshold for the satellite. The threshold is 20 m, but could be adjusted in a later version of the HERE GNSS Service.
GNSS-RealTimeIntegrity ::= SEQUENCE {
        gnss-BadSignalList GNSS-BadSignalList,
        ...
    }

    GNSS-BadSignalList ::= SEQUENCE (SIZE(1..64)) OF BadSignalElement

    BadSignalElement ::= SEQUENCE {
        badSVID SV-ID,
        badSignalID GNSS-SignalIDs OPTIONAL, -- Need OP
        ...,
        badSignalReason-agness-r1 ENUMERATED {healthFlags, accuracy, unknownAccuracy,...} OPTIONAL -- Need OP
    }




HERE GNSS assistance data and corrections LPP schema


-- 3GPP TS 36.355 V16

LPP-AGNSS-Protocol

DEFINITIONS
    AUTOMATIC TAGS ::=

BEGIN

    ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)

    ARFCN-ValueEUTRA-v9a0 ::= INTEGER (maxEARFCN-Plus1..maxEARFCN2)

    ARFCN-ValueEUTRA-r14 ::= INTEGER (0..maxEARFCN2)

    maxEARFCN INTEGER ::= 65535 -- Maximum value of EUTRA carrier frequency

    maxEARFCN-Plus1 INTEGER ::= 65536 -- Lowest value extended EARFCN range

    maxEARFCN2 INTEGER ::= 262143 -- Highest value extended EARFCN range

    ARFCN-ValueNR-r15 ::= INTEGER (0..3279165)

    ARFCN-ValueUTRA ::= INTEGER (0..16383)

    CarrierFreq-NB-r14 ::= SEQUENCE {
        carrierFreq-r14 ARFCN-ValueEUTRA-r14,
        carrierFreqOffset-r14 CarrierFreqOffsetNB-r14 OPTIONAL,
        ...
    }

    CarrierFreqOffsetNB-r14 ::= ENUMERATED {
        v-10, v-9, v-8, v-7, v-6, v-5, v-4, v-3, v-2, v-1, v-0dot5,
        v0, v1, v2, v3, v4, v5, v6, v7, v8, v9
    }

    CellGlobalIdEUTRA-AndUTRA ::= SEQUENCE {
        plmn-Identity SEQUENCE {
            mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
            mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9)
        },
        cellIdentity CHOICE {
            eutra BIT STRING (SIZE (28)),
            utra BIT STRING (SIZE (32))
        },
        ...
    }

    CellGlobalIdGERAN ::= SEQUENCE {
        plmn-Identity SEQUENCE {
            mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
            mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9)
        },
        locationAreaCode BIT STRING (SIZE (16)),
        cellIdentity BIT STRING (SIZE (16)),
        ...
    }

    ECGI ::= SEQUENCE {
        mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9),
        mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9),
        cellidentity BIT STRING (SIZE (28))
    }

    EllipsoidPointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
        latitudeSign ENUMERATED {north, south},
        degreesLatitude INTEGER (0..8388607), -- 23 bit field
        degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field
        altitudeDirection ENUMERATED {height, depth},
        altitude INTEGER (0..32767), -- 15 bit field
        uncertaintySemiMajor INTEGER (0..127),
        uncertaintySemiMinor INTEGER (0..127),
        orientationMajorAxis INTEGER (0..179),
        uncertaintyAltitude INTEGER (0..127),
        confidence INTEGER (0..100)
    }

    NCGI-r15 ::= SEQUENCE {
        mcc-r15 SEQUENCE (SIZE (3)) OF INTEGER (0..9),
        mnc-r15 SEQUENCE (SIZE (2..3)) OF INTEGER (0..9),
        nr-cellidentity-r15 BIT STRING (SIZE (36))
    }
    A-GNSS-ProvideAssistanceData ::= SEQUENCE {
        gnss-CommonAssistData GNSS-CommonAssistData OPTIONAL, -- Need ON
        gnss-GenericAssistData GNSS-GenericAssistData OPTIONAL, -- Need ON
        gnss-Error A-GNSS-Error OPTIONAL, -- Need ON
        ...,
        gnss-PeriodicAssistData-r15 GNSS-PeriodicAssistData-r15 OPTIONAL -- Cond CtrTrans
    }

    GNSS-CommonAssistData ::= SEQUENCE {
        gnss-ReferenceTime GNSS-ReferenceTime OPTIONAL, -- Need ON
        gnss-ReferenceLocation GNSS-ReferenceLocation OPTIONAL, -- Need ON
        gnss-IonosphericModel GNSS-IonosphericModel OPTIONAL, -- Need ON
        gnss-EarthOrientationParameters GNSS-EarthOrientationParameters OPTIONAL, -- Need ON
        ...,
        gnss-RTK-ReferenceStationInfo-r15 GNSS-RTK-ReferenceStationInfo-r15 OPTIONAL, -- Need ON
        gnss-RTK-CommonObservationInfo-r15 GNSS-RTK-CommonObservationInfo-r15 OPTIONAL, -- Cond RTK
        gnss-RTK-AuxiliaryStationData-r15 GNSS-RTK-AuxiliaryStationData-r15 OPTIONAL -- Need ON
    }

    GNSS-GenericAssistData ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataElement

    GNSS-GenericAssistDataElement ::= SEQUENCE {
        gnss-ID GNSS-ID,
        sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS-ID-SBAS
        gnss-TimeModels GNSS-TimeModelList OPTIONAL, -- Need ON
        gnss-DifferentialCorrections GNSS-DifferentialCorrections  OPTIONAL, -- Need ON
        gnss-NavigationModel GNSS-NavigationModel OPTIONAL, -- Need ON
        gnss-RealTimeIntegrity GNSS-RealTimeIntegrity OPTIONAL, -- Need ON
        gnss-DataBitAssistance GNSS-DataBitAssistance OPTIONAL, -- Need ON
        gnss-AcquisitionAssistance    GNSS-AcquisitionAssistance       OPTIONAL,   -- Need ON
        gnss-Almanac GNSS-Almanac OPTIONAL, -- Need ON
        gnss-UTC-Model GNSS-UTC-Model OPTIONAL, -- Need ON
        gnss-AuxiliaryInformation GNSS-AuxiliaryInformation OPTIONAL, -- Need ON
        ...,

            bds-DifferentialCorrections-r12 BDS-DifferentialCorrections-r12 OPTIONAL, -- Cond GNSS-IDBDS
            bds-GridModel-r12 BDS-GridModelParameter-r12 OPTIONAL -- Cond GNSS-IDBDS
        ,

            gnss-RTK-Observations-r15 GNSS-RTK-Observations-r15 OPTIONAL, -- Need ON
            glo-RTK-BiasInformation-r15 GLO-RTK-BiasInformation-r15 OPTIONAL, -- Cond GNSS-ID-GLO
            gnss-RTK-MAC-CorrectionDifferences-r15 GNSS-RTK-MAC-CorrectionDifferences-r15 OPTIONAL, -- Need ON
            gnss-RTK-Residuals-r15 GNSS-RTK-Residuals-r15 OPTIONAL, -- Need ON
            gnss-RTK-FKP-Gradients-r15 GNSS-RTK-FKP-Gradients-r15 OPTIONAL, -- Need ON
            gnss-SSR-OrbitCorrections-r15 GNSS-SSR-OrbitCorrections-r15 OPTIONAL, -- Need ON
            gnss-SSR-ClockCorrections-r15 GNSS-SSR-ClockCorrections-r15 OPTIONAL, -- Need ON
            gnss-SSR-CodeBias-r15 GNSS-SSR-CodeBias-r15 OPTIONAL, -- Need ON
            gnss-SSR-OrbitECEFCorrections-r15 GNSS-SSR-OrbitECEFCorrections-r15 OPTIONAL, -- Need ON
            gnss-SSR-PhaseBias-r16 GNSS-SSR-PhaseBias-r16 OPTIONAL, -- Need ON
            gnss-SSR-STEC-Correction-r16 GNSS-SSR-STEC-Correction-r16 OPTIONAL, -- Need ON
            gnss-SSR-GriddedCorrection-r16 GNSS-SSR-GriddedCorrection-r16 OPTIONAL -- Need ON

    }

    GNSS-PeriodicAssistData-r15 ::= SEQUENCE {
        gnss-RTK-PeriodicObservations-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
        glo-RTK-PeriodicBiasInformation-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
        gnss-RTK-MAC-PeriodicCorrectionDifferences-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
        gnss-RTK-PeriodicResiduals-r15 GNSS-PeriodicControlParam-r15 OPTIONAL,-- Need ON
        gnss-RTK-FKP-PeriodicGradients-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
        gnss-SSR-PeriodicOrbitCorrections-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
        gnss-SSR-PeriodicClockCorrections-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
        gnss-SSR-PeriodicCodeBias-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON
        ...
    }

    GNSS-ReferenceTime ::= SEQUENCE {
        gnss-SystemTime GNSS-SystemTime,
        referenceTimeUnc INTEGER (0..127) OPTIONAL, -- Cond noFTA
        gnss-ReferenceTimeForCells SEQUENCE (SIZE (1..16)) OF
            GNSS-ReferenceTimeForOneCell OPTIONAL, -- Need ON
        ...
    }

    GNSS-ReferenceTimeForOneCell  ::= SEQUENCE {
        networkTime NetworkTime,
        referenceTimeUnc INTEGER (0..127),
        bsAlign ENUMERATED {true} OPTIONAL,
        ...
    }

    GNSS-SystemTime ::= SEQUENCE {
        gnss-TimeID GNSS-ID,
        gnss-DayNumber INTEGER (0..32767),
        gnss-TimeOfDay INTEGER (0..86399),
        gnss-TimeOfDayFrac-msec INTEGER (0..999) OPTIONAL, -- Need ON
        notificationOfLeapSecond BIT STRING (SIZE(2)) OPTIONAL, -- Cond gnss-TimeID-glonass
        gps-TOW-Assist GPS-TOW-Assist OPTIONAL, -- Cond gnss-TimeID-gps
        ...
    }

    GPS-TOW-Assist ::= SEQUENCE (SIZE(1..64)) OF GPS-TOW-AssistElement

    GPS-TOW-AssistElement ::= SEQUENCE {
        satelliteID INTEGER (1..64),
        tlmWord INTEGER (0..16383),
        antiSpoof INTEGER (0..1),
        alert INTEGER (0..1),
        tlmRsvdBits INTEGER (0..3),
        ...
    }

    NetworkTime ::= SEQUENCE {
        secondsFromFrameStructureStart INTEGER (0..12533),
        fractionalSecondsFromFrameStructureStart INTEGER (0..3999999),
        frameDrift  INTEGER (-64..63) OPTIONAL, -- Cond GNSSsynch
        cellID CHOICE {
            eUTRA SEQUENCE {
                physCellId INTEGER (0..503),
                cellGlobalIdEUTRA CellGlobalIdEUTRA-AndUTRA OPTIONAL, -- Need ON
                earfcn ARFCN-ValueEUTRA,
                ...,
                earfcn-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-max

            },
            uTRA SEQUENCE {
                mode CHOICE {
                    fdd SEQUENCE {
                        primary-CPICH-Info INTEGER (0..511),
                        ...
                    },
                    tdd SEQUENCE {
                        cellParameters INTEGER (0..127),
                        ...
                    }
                },
                cellGlobalIdUTRA CellGlobalIdEUTRA-AndUTRA OPTIONAL, -- Need ON
                uarfcn ARFCN-ValueUTRA,
                ...
            },
            gSM SEQUENCE {
                bcchCarrier INTEGER (0..1023),
                bsic INTEGER (0..63),
                cellGlobalIdGERAN CellGlobalIdGERAN OPTIONAL, -- Need ON
                ...
            },
            ...,
            nBIoT-r14 SEQUENCE {
                nbPhysCellId-r14 INTEGER (0..503),
                nbCellGlobalId-r14 ECGI OPTIONAL, -- Need ON
                nbCarrierFreq-r14 CarrierFreq-NB-r14,
                ...
            },
            nr-r15 SEQUENCE {
                nrPhysCellId-r15 INTEGER (0..1007),
                nrCellGlobalID-r15 NCGI-r15 OPTIONAL, -- Need ON
                nrARFCN-r15 ARFCN-ValueNR-r15,
                ...
            }
        },
        ...
    }

    GNSS-ReferenceLocation ::= SEQUENCE {
        threeDlocation EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
        ...
    }

    GNSS-IonosphericModel ::= SEQUENCE {
        klobucharModel KlobucharModelParameter OPTIONAL, -- Need ON
        neQuickModel NeQuickModelParameter OPTIONAL, -- Need ON
        ...
    }

    KlobucharModelParameter ::= SEQUENCE {
        dataID BIT STRING (SIZE (2)),
        alfa0 INTEGER (-128..127),
        alfa1 INTEGER (-128..127),
        alfa2 INTEGER (-128..127),
        alfa3 INTEGER (-128..127),
        beta0 INTEGER (-128..127),
        beta1 INTEGER (-128..127),
        beta2 INTEGER (-128..127),
        beta3 INTEGER (-128..127),
        ...
    }

    NeQuickModelParameter ::= SEQUENCE {
        ai0 INTEGER (0..2047),
        ai1 INTEGER (-1024..1023),
        ai2 INTEGER (-8192..8191),
        ionoStormFlag1 INTEGER (0..1) OPTIONAL, -- Need OP
        ionoStormFlag2 INTEGER (0..1) OPTIONAL, -- Need OP
        ionoStormFlag3 INTEGER (0..1) OPTIONAL, -- Need OP
        ionoStormFlag4 INTEGER (0..1) OPTIONAL, -- Need OP
        ionoStormFlag5 INTEGER (0..1) OPTIONAL, -- Need OP
        ...
    }

    GNSS-EarthOrientationParameters ::= SEQUENCE {
        teop INTEGER (0..65535),
        pmX INTEGER (-1048576..1048575),
        pmXdot INTEGER (-16384..16383),
        pmY INTEGER (-1048576..1048575),
        pmYdot INTEGER (-16384..16383),
        deltaUT1 INTEGER (-1073741824..1073741823),
        deltaUT1dot INTEGER (-262144..262143),
        ...
    }

    GNSS-RTK-ReferenceStationInfo-r15 ::= SEQUENCE {
        referenceStationID-r15 GNSS-ReferenceStationID-r15,
        referenceStationIndicator-r15 ENUMERATED {physical, non-physical},
        antenna-reference-point-ECEF-X-r15 INTEGER (-137438953472..137438953471),
        antenna-reference-point-ECEF-Y-r15 INTEGER (-137438953472..137438953471),
        antenna-reference-point-ECEF-Z-r15 INTEGER (-137438953472..137438953471),
        antennaHeight-r15 INTEGER (0..65535) OPTIONAL, -- Need ON
        antennaDescription-r15 AntennaDescription-r15 OPTIONAL, -- Need ON
        antenna-reference-point-unc-r15 AntennaReferencePointUnc-r15 OPTIONAL, -- Need ON
        physical-reference-station-info-r15 PhysicalReferenceStationInfo-r15 OPTIONAL, -- Cond NP
        ...
    }

    AntennaDescription-r15 ::= SEQUENCE {
        antennaDescriptor-r15 VisibleString (SIZE (1..256)),
        antennaSetUpID-r15 ENUMERATED { non-zero } OPTIONAL, -- Need OP
        ...
    }

    AntennaReferencePointUnc-r15 ::= SEQUENCE {
        uncertainty-X-r15 INTEGER (0..255),
        confidence-X-r15 INTEGER (0..100),
        uncertainty-Y-r15 INTEGER (0..255),
        confidence-Y-r15 INTEGER (0..100),
        uncertainty-Z-r15 INTEGER (0..255),
        confidence-Z-r15 INTEGER (0..100),
        ...
    }

    PhysicalReferenceStationInfo-r15 ::= SEQUENCE {
        physicalReferenceStationID-r15 GNSS-ReferenceStationID-r15,
        physical-ARP-ECEF-X-r15 INTEGER (-137438953472..137438953471),
        physical-ARP-ECEF-Y-r15 INTEGER (-137438953472..137438953471),
        physical-ARP-ECEF-Z-r15 INTEGER (-137438953472..137438953471),
        physical-ARP-unc-r15 AntennaReferencePointUnc-r15 OPTIONAL, -- Need ON
        ...
    }

    GNSS-RTK-CommonObservationInfo-r15 ::= SEQUENCE {
        referenceStationID-r15 GNSS-ReferenceStationID-r15,
        clockSteeringIndicator-r15 INTEGER (0..3),
        externalClockIndicator-r15 INTEGER (0..3),
        smoothingIndicator-r15 BIT STRING (SIZE(1)),
        smoothingInterval-r15 BIT STRING (SIZE(3)),
        ...
    }

    GNSS-RTK-AuxiliaryStationData-r15 ::= SEQUENCE {
        networkID-r15 GNSS-NetworkID-r15,
        subNetworkID-r15 GNSS-SubNetworkID-r15 OPTIONAL, -- Need ON
        master-referenceStationID-r15 GNSS-ReferenceStationID-r15,
        auxiliaryStationList-r15 AuxiliaryStationList-r15,
        ...
    }

    AuxiliaryStationList-r15 ::= SEQUENCE (SIZE (1..32)) OF AuxiliaryStationElement-r15

    AuxiliaryStationElement-r15 ::= SEQUENCE {
        aux-referenceStationID-r15 GNSS-ReferenceStationID-r15,
        aux-master-delta-latitude-r15 INTEGER (-524288..524287),
        aux-master-delta-longitude-r15 INTEGER (-1048576..1048575),
        aux-master-delta-height-r15 INTEGER (-4194304..4194303),
        aux-ARP-unc-r15 Aux-ARP-Unc-r15 OPTIONAL, -- Need ON
        ...
    }

    Aux-ARP-Unc-r15 ::= SEQUENCE {
        horizontalUncertainty-r15 INTEGER (0..255),
        horizontalConfidence-r15 INTEGER (0..100),
        verticalUncertainty-r15 INTEGER (0..255) OPTIONAL, -- Need ON
        verticalConfidence-r15 INTEGER (0..100) OPTIONAL, -- Need ON
        ...
    }

    GNSS-TimeModelList ::= SEQUENCE (SIZE (1..15)) OF GNSS-TimeModelElement

    GNSS-TimeModelElement ::= SEQUENCE {
        gnss-TimeModelRefTime INTEGER (0..65535),
        tA0 INTEGER (-67108864..67108863),
        tA1 INTEGER (-4096..4095) OPTIONAL, -- Need ON
        tA2 INTEGER (-64..63) OPTIONAL, -- Need ON
        gnss-TO-ID INTEGER (1..15),
        weekNumber INTEGER (0..8191) OPTIONAL, -- Need ON
        deltaT INTEGER (-128..127) OPTIONAL, -- Need ON
        ...
    }

    GNSS-DifferentialCorrections ::= SEQUENCE {
       dgnss-RefTime INTEGER (0..3599),
       dgnss-SgnTypeList DGNSS-SgnTypeList,
       ...
    }

    DGNSS-SgnTypeList ::= SEQUENCE (SIZE (1..3)) OF DGNSS-SgnTypeElement

    DGNSS-SgnTypeElement ::= SEQUENCE {
       gnss-SignalID GNSS-SignalID,
       gnss-StatusHealth INTEGER (0..7),
       dgnss-SatList DGNSS-SatList,
       ...
    }

    DGNSS-SatList ::= SEQUENCE (SIZE (1..64)) OF DGNSS-CorrectionsElement

    DGNSS-CorrectionsElement ::= SEQUENCE {
       svID SV-ID,
       iod BIT STRING (SIZE(11)),
       udre INTEGER (0..3),
       pseudoRangeCor INTEGER (-2047..2047),
       rangeRateCor INTEGER (-127..127),
       udreGrowthRate INTEGER (0..7) OPTIONAL, -- Need ON
       udreValidityTime INTEGER (0..7) OPTIONAL, -- Need ON
       ...
    }

    GNSS-NavigationModel ::= SEQUENCE {
        nonBroadcastIndFlag INTEGER (0..1),
        gnss-SatelliteList GNSS-NavModelSatelliteList,
        ...
    }

    GNSS-NavModelSatelliteList ::= SEQUENCE (SIZE(1..64)) OF GNSS-NavModelSatelliteElement

    GNSS-NavModelSatelliteElement ::= SEQUENCE {
        svID SV-ID,
        svHealth BIT STRING (SIZE(8)),
        iod BIT STRING (SIZE(11)),
        gnss-ClockModel GNSS-ClockModel,
        gnss-OrbitModel GNSS-OrbitModel,
        ...,
        svHealthExt-v1240 BIT STRING (SIZE(4)) OPTIONAL -- Need ON

    }

    GNSS-ClockModel ::= CHOICE {
        standardClockModelList StandardClockModelList, -- Model-1
        nav-ClockModel NAV-ClockModel, -- Model-2
        cnav-ClockModel CNAV-ClockModel, -- Model-3
        glonass-ClockModel GLONASS-ClockModel, -- Model-4
        sbas-ClockModel SBAS-ClockModel, -- Model-5
        ...,
        bds-ClockModel-r12 BDS-ClockModel-r12 -- Model-6
    }

    GNSS-OrbitModel ::= CHOICE {
        keplerianSet NavModelKeplerianSet, -- Model-1
        nav-KeplerianSet NavModelNAV-KeplerianSet, -- Model-2
        cnav-KeplerianSet NavModelCNAV-KeplerianSet, -- Model-3
        glonass-ECEF NavModel-GLONASS-ECEF, -- Model-4
        sbas-ECEF NavModel-SBAS-ECEF, -- Model-5
        ...,
        bds-KeplerianSet-r12 NavModel-BDS-KeplerianSet-r12 -- Model-6
    }

    StandardClockModelList ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement

    StandardClockModelElement ::= SEQUENCE {
        stanClockToc INTEGER (0..16383),
        stanClockAF2 INTEGER (-32..31),
        stanClockAF1 INTEGER (-1048576..1048575),
        stanClockAF0 INTEGER (-1073741824..1073741823),
        stanClockTgd INTEGER (-512..511) OPTIONAL, -- Need ON
        sisa INTEGER (0..255),
        stanModelID INTEGER (0..1) OPTIONAL, -- Need ON
        ...
    }

    NAV-ClockModel ::= SEQUENCE {
        navToc INTEGER (0..37799),
        navaf2 INTEGER (-128..127),
        navaf1 INTEGER (-32768..32767),
        navaf0 INTEGER (-2097152..2097151),
        navTgd INTEGER (-128..127),
        ...
    }

    CNAV-ClockModel ::= SEQUENCE {
        cnavToc INTEGER (0..2015),
        cnavTop INTEGER (0..2015),
        cnavURA0 INTEGER (-16..15),
        cnavURA1 INTEGER (0..7),
        cnavURA2 INTEGER (0..7),
        cnavAf2 INTEGER (-512..511),
        cnavAf1 INTEGER (-524288..524287),
        cnavAf0 INTEGER (-33554432..33554431),
        cnavTgd INTEGER (-4096..4095),
        cnavISCl1cp INTEGER (-4096..4095) OPTIONAL, -- Need ON
        cnavISCl1cd INTEGER (-4096..4095) OPTIONAL, -- Need ON
        cnavISCl1ca INTEGER (-4096..4095) OPTIONAL, -- Need ON
        cnavISCl2c INTEGER (-4096..4095) OPTIONAL, -- Need ON
        cnavISCl5i5 INTEGER (-4096..4095) OPTIONAL, -- Need ON
        cnavISCl5q5 INTEGER (-4096..4095) OPTIONAL, -- Need ON
        ...
    }

    GLONASS-ClockModel ::= SEQUENCE {
        gloTau INTEGER (-2097152..2097151),
        gloGamma INTEGER (-1024..1023),
        gloDeltaTau INTEGER (-16..15) OPTIONAL, -- Need ON
        ...
    }

    SBAS-ClockModel ::= SEQUENCE {
        sbasTo INTEGER (0..5399),
        sbasAgfo INTEGER (-2048..2047),
        sbasAgf1 INTEGER (-128..127),
        ...
    }

    BDS-ClockModel-r12 ::= SEQUENCE {
        bdsAODC-r12 INTEGER (0..31),
        bdsToc-r12 INTEGER (0..131071),
        bdsA0-r12 INTEGER (-8388608..8388607),
        bdsA1-r12 INTEGER (-2097152..2097151),
        bdsA2-r12 INTEGER (-1024..1023),
        bdsTgd1-r12 INTEGER (-512..511),
        ...
    }

    NavModelKeplerianSet ::= SEQUENCE {
        keplerToe INTEGER (0 .. 16383),
        keplerW INTEGER (-2147483648..2147483647),
        keplerDeltaN INTEGER (-32768..32767),
        keplerM0 INTEGER (-2147483648..2147483647),
        keplerOmegaDot INTEGER (-8388608.. 8388607),
        keplerE INTEGER (0..4294967295),
        keplerIDot INTEGER (-8192..8191),
        keplerAPowerHalf INTEGER (0.. 4294967295),
        keplerI0 INTEGER (-2147483648..2147483647),
        keplerOmega0 INTEGER (-2147483648..2147483647),
        keplerCrs INTEGER (-32768..32767),
        keplerCis INTEGER (-32768..32767),
        keplerCus INTEGER (-32768..32767),
        keplerCrc INTEGER (-32768..32767),
        keplerCic INTEGER (-32768..32767),
        keplerCuc INTEGER (-32768..32767),
        ...
    }

    NavModelNAV-KeplerianSet ::= SEQUENCE {
        navURA INTEGER (0..15),
        navFitFlag INTEGER (0..1),
        navToe INTEGER (0..37799),
        navOmega INTEGER (-2147483648..2147483647),
        navDeltaN INTEGER (-32768..32767),
        navM0 INTEGER (-2147483648..2147483647),
        navOmegaADot INTEGER (-8388608..8388607),
        navE INTEGER (0..4294967295),
        navIDot INTEGER (-8192..8191),
        navAPowerHalf INTEGER (0..4294967295),
        navI0 INTEGER (-2147483648..2147483647),
        navOmegaA0 INTEGER (-2147483648..2147483647),
        navCrs INTEGER (-32768..32767),
        navCis INTEGER (-32768..32767),
        navCus INTEGER (-32768..32767),
        navCrc INTEGER (-32768..32767),
        navCic INTEGER (-32768..32767),
        navCuc INTEGER (-32768..32767),
        addNAVparam SEQUENCE {
            ephemCodeOnL2 INTEGER (0..3),
            ephemL2Pflag INTEGER (0..1),
            ephemSF1Rsvd SEQUENCE {
                reserved1 INTEGER (0..8388607), -- 23-bit field
                reserved2 INTEGER (0..16777215), -- 24-bit field
                reserved3 INTEGER (0..16777215), -- 24-bit field
                reserved4 INTEGER (0..65535) -- 16-bit field
            },
            ephemAODA INTEGER (0..31)
        } OPTIONAL, -- Need ON
        ...
    }

    NavModelCNAV-KeplerianSet ::= SEQUENCE {
        cnavTop INTEGER (0..2015),
        cnavURAindex INTEGER (-16..15),
        cnavDeltaA INTEGER (-33554432..33554431),
        cnavAdot INTEGER (-16777216..16777215),
        cnavDeltaNo INTEGER (-65536..65535),
        cnavDeltaNoDot INTEGER (-4194304..4194303),
        cnavMo INTEGER (-4294967296..4294967295),
        cnavE INTEGER (0..8589934591),
        cnavOmega INTEGER (-4294967296..4294967295),
        cnavOMEGA0 INTEGER (-4294967296..4294967295),
        cnavDeltaOmegaDot INTEGER (-65536..65535),
        cnavIo INTEGER (-4294967296..4294967295),
        cnavIoDot INTEGER (-16384..16383),
        cnavCis INTEGER (-32768..32767),
        cnavCic INTEGER (-32768..32767),
        cnavCrs INTEGER (-8388608..8388607),
        cnavCrc INTEGER (-8388608..8388607),
        cnavCus INTEGER (-1048576..1048575),
        cnavCuc INTEGER (-1048576..1048575),
        ...
    }

    NavModel-GLONASS-ECEF ::= SEQUENCE {
        gloEn INTEGER (0..31),
        gloP1 BIT STRING (SIZE(2)),
        gloP2 BOOLEAN,
        gloM INTEGER (0..3),
        gloX INTEGER (-67108864..67108863),
        gloXdot INTEGER (-8388608..8388607),
        gloXdotdot INTEGER (-16..15),
        gloY INTEGER (-67108864..67108863),
        gloYdot INTEGER (-8388608..8388607),
        gloYdotdot INTEGER (-16..15),
        gloZ INTEGER (-67108864..67108863),
        gloZdot INTEGER (-8388608..8388607),
        gloZdotdot INTEGER (-16..15),
        ...
    }

    NavModel-SBAS-ECEF ::= SEQUENCE {
        sbasTo INTEGER (0..5399) OPTIONAL, -- Cond ClockModel
        sbasAccuracy BIT STRING (SIZE(4)),
        sbasXg INTEGER (-536870912..536870911),
        sbasYg INTEGER (-536870912..536870911),
        sbasZg INTEGER (-16777216..16777215),
        sbasXgDot INTEGER (-65536..65535),
        sbasYgDot INTEGER (-65536..65535),
        sbasZgDot INTEGER (-131072..131071),
        sbasXgDotDot INTEGER (-512..511),
        sbagYgDotDot INTEGER (-512..511),
        sbasZgDotDot INTEGER (-512..511),
        ...
    }

    NavModel-BDS-KeplerianSet-r12 ::= SEQUENCE {
        bdsAODE-r12 INTEGER (0..31),
        bdsURAI-r12 INTEGER (0..15),
        bdsToe-r12 INTEGER (0..131071),
        bdsAPowerHalf-r12 INTEGER (0..4294967295),
        bdsE-r12 INTEGER (0..4294967295),
        bdsW-r12 INTEGER (-2147483648..2147483647),
        bdsDeltaN-r12 INTEGER (-32768..32767),
        bdsM0-r12 INTEGER (-2147483648..2147483647),
        bdsOmega0-r12 INTEGER (-2147483648..2147483647),
        bdsOmegaDot-r12 INTEGER (-8388608..8388607),
        bdsI0-r12 INTEGER (-2147483648..2147483647),
        bdsIDot-r12 INTEGER (-8192..8191),
        bdsCuc-r12 INTEGER (-131072..131071),
        bdsCus-r12 INTEGER (-131072..131071),
        bdsCrc-r12 INTEGER (-131072..131071),
        bdsCrs-r12 INTEGER (-131072..131071),
        bdsCic-r12 INTEGER (-131072..131071),
        bdsCis-r12 INTEGER (-131072..131071),
        ...
    }

    GNSS-RealTimeIntegrity ::= SEQUENCE {
        gnss-BadSignalList GNSS-BadSignalList,
        ...
    }

    GNSS-BadSignalList ::= SEQUENCE (SIZE(1..64)) OF BadSignalElement

    BadSignalElement ::= SEQUENCE {
        badSVID SV-ID,
        badSignalID GNSS-SignalIDs OPTIONAL, -- Need OP
        ...,
        badSignalReason-agness-r1 ENUMERATED {healthFlags, accuracy, unknownAccuracy,...} OPTIONAL -- Need OP
    }

    GNSS-DataBitAssistance ::= SEQUENCE {
        gnss-TOD INTEGER (0..3599),
        gnss-TODfrac INTEGER (0..999) OPTIONAL, -- Need ON
        gnss-DataBitsSatList GNSS-DataBitsSatList,
        ...
    }

    GNSS-DataBitsSatList ::= SEQUENCE (SIZE(1..64))OF GNSS-DataBitsSatElement

    GNSS-DataBitsSatElement ::= SEQUENCE {
        svID SV-ID,
        gnss-DataBitsSgnList GNSS-DataBitsSgnList,
        ...
    }

    GNSS-DataBitsSgnList ::= SEQUENCE (SIZE(1..8)) OF GNSS-DataBitsSgnElement

    GNSS-DataBitsSgnElement ::= SEQUENCE {
        gnss-SignalType GNSS-SignalID,
        gnss-DataBits BIT STRING (SIZE (1..1024)),
        ...
    }

    GNSS-AcquisitionAssistance ::= SEQUENCE {
       gnss-SignalID GNSS-SignalID,
       gnss-AcquisitionAssistList GNSS-AcquisitionAssistList,
       ...,
       confidence-r10 INTEGER (0..100) OPTIONAL -- Need ON
    }

    GNSS-AcquisitionAssistList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AcquisitionAssistElement

    GNSS-AcquisitionAssistElement ::= SEQUENCE {
       svID SV-ID,
       doppler0 INTEGER (-2048..2047),
       doppler1 INTEGER (0..63),
       dopplerUncertainty INTEGER (0..4),
       codePhase INTEGER (0..1022),
       intCodePhase INTEGER (0..127),
       codePhaseSearchWindow INTEGER (0..31),
       azimuth INTEGER (0..511),
       elevation INTEGER (0..127),
       ...,
       codePhase1023 BOOLEAN OPTIONAL, -- Need OP
       dopplerUncertaintyExt-r10 ENUMERATED { d60,
                                              d80,
                                              d100,
                                              d120,
                                              noInformation, ... } OPTIONAL -- Need ON
    }

    GNSS-Almanac ::= SEQUENCE {
        weekNumber INTEGER (0..255) OPTIONAL, -- Need ON
        toa INTEGER (0..255) OPTIONAL, -- Need ON
        ioda INTEGER (0..3) OPTIONAL, -- Need ON
        completeAlmanacProvided BOOLEAN,
        gnss-AlmanacList GNSS-AlmanacList,
        ...,
        toa-ext-v1240 INTEGER (256..1023) OPTIONAL, -- Need ON
        ioda-ext-v1240 INTEGER (4..15) OPTIONAL -- Need ON
    }

    GNSS-AlmanacList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AlmanacElement

    GNSS-AlmanacElement ::= CHOICE {
        keplerianAlmanacSet AlmanacKeplerianSet, -- Model-1
        keplerianNAV-Almanac AlmanacNAV-KeplerianSet, -- Model-2
        keplerianReducedAlmanac AlmanacReducedKeplerianSet, -- Model-3
        keplerianMidiAlmanac AlmanacMidiAlmanacSet, -- Model-4
        keplerianGLONASS AlmanacGLONASS-AlmanacSet, -- Model-5
        ecef-SBAS-Almanac AlmanacECEF-SBAS-AlmanacSet,-- Model-6
        ...,
        keplerianBDS-Almanac-r12 AlmanacBDS-AlmanacSet-r12 -- Model-7
    }

    AlmanacKeplerianSet ::= SEQUENCE {
        svID SV-ID,
        kepAlmanacE INTEGER (0..2047),
        kepAlmanacDeltaI INTEGER (-1024..1023),
        kepAlmanacOmegaDot INTEGER (-1024..1023),
        kepSV-StatusINAV BIT STRING (SIZE (4)),
        kepSV-StatusFNAV BIT STRING (SIZE (2)) OPTIONAL, -- Need ON
        kepAlmanacAPowerHalf INTEGER (-4096..4095),
        kepAlmanacOmega0 INTEGER (-32768..32767),
        kepAlmanacW INTEGER (-32768..32767),
        kepAlmanacM0 INTEGER (-32768..32767),
        kepAlmanacAF0 INTEGER (-32768..32767),
        kepAlmanacAF1 INTEGER (-4096..4095),
        ...
    }

    AlmanacNAV-KeplerianSet ::= SEQUENCE {
        svID SV-ID,
        navAlmE INTEGER (0..65535),
        navAlmDeltaI INTEGER (-32768..32767),
        navAlmOMEGADOT INTEGER (-32768..32767),
        navAlmSVHealth INTEGER (0..255),
        navAlmSqrtA INTEGER (0..16777215),
        navAlmOMEGAo INTEGER (-8388608..8388607),
        navAlmOmega INTEGER (-8388608..8388607),
        navAlmMo INTEGER (-8388608..8388607),
        navAlmaf0 INTEGER (-1024..1023),
        navAlmaf1 INTEGER (-1024..1023),
        ...
    }

    AlmanacReducedKeplerianSet ::= SEQUENCE {
        svID SV-ID,
        redAlmDeltaA INTEGER (-128..127),
        redAlmOmega0 INTEGER (-64..63),
        redAlmPhi0 INTEGER (-64..63),
        redAlmL1Health BOOLEAN,
        redAlmL2Health BOOLEAN,
        redAlmL5Health BOOLEAN,
        ...
    }

    AlmanacMidiAlmanacSet ::= SEQUENCE {
        svID SV-ID,
        midiAlmE INTEGER (0..2047),
        midiAlmDeltaI INTEGER (-1024..1023),
        midiAlmOmegaDot INTEGER (-1024..1023),
        midiAlmSqrtA INTEGER (0..131071),
        midiAlmOmega0 INTEGER (-32768..32767),
        midiAlmOmega INTEGER (-32768..32767),
        midiAlmMo INTEGER (-32768..32767),
        midiAlmaf0 INTEGER (-1024..1023),
        midiAlmaf1 INTEGER (-512..511),
        midiAlmL1Health BOOLEAN,
        midiAlmL2Health BOOLEAN,
        midiAlmL5Health BOOLEAN,
        ...
    }

    AlmanacGLONASS-AlmanacSet ::= SEQUENCE {
        gloAlm-NA INTEGER (1..1461),
        gloAlmnA INTEGER (1..24),
        gloAlmHA INTEGER (0..31),
        gloAlmLambdaA INTEGER (-1048576..1048575),
        gloAlmtlambdaA INTEGER (0..2097151),
        gloAlmDeltaIa INTEGER (-131072..131071),
        gloAlmDeltaTA INTEGER (-2097152..2097151),
        gloAlmDeltaTdotA INTEGER (-64..63),
        gloAlmEpsilonA INTEGER (0..32767),
        gloAlmOmegaA INTEGER (-32768..32767),
        gloAlmTauA INTEGER (-512..511),
        gloAlmCA INTEGER (0..1),
        gloAlmMA BIT STRING (SIZE(2)) OPTIONAL, -- Need ON
        ...
    }

    AlmanacECEF-SBAS-AlmanacSet ::= SEQUENCE {
        sbasAlmDataID INTEGER (0..3),
        svID SV-ID,
        sbasAlmHealth BIT STRING (SIZE(8)),
        sbasAlmXg INTEGER (-16384..16383),
        sbasAlmYg INTEGER (-16384..16383),
        sbasAlmZg INTEGER (-256..255),
        sbasAlmXgdot INTEGER (-4..3),
        sbasAlmYgDot INTEGER (-4..3),
        sbasAlmZgDot INTEGER (-8..7),
        sbasAlmTo INTEGER (0..2047),
        ...
    }

    AlmanacBDS-AlmanacSet-r12 ::= SEQUENCE {
        svID SV-ID,
        bdsAlmToa-r12 INTEGER (0..255) OPTIONAL, -- Cond NotSameForAllSV
        bdsAlmSqrtA-r12 INTEGER (0..16777215),
        bdsAlmE-r12 INTEGER (0..131071),
        bdsAlmW-r12 INTEGER (-8388608..8388607),
        bdsAlmM0-r12 INTEGER (-8388608..8388607),
        bdsAlmOmega0-r12 INTEGER (-8388608..8388607),
        bdsAlmOmegaDot-r12 INTEGER (-65536..65535),
        bdsAlmDeltaI-r12 INTEGER (-32768..32767),
        bdsAlmA0-r12 INTEGER (-1024..1023),
        bdsAlmA1-r12 INTEGER (-1024..1023),
        bdsSvHealth-r12 BIT STRING (SIZE(9)) OPTIONAL, -- Cond SV-ID
        ...
    }

    GNSS-UTC-Model ::= CHOICE {
        utcModel1 UTC-ModelSet1, -- Model-1
        utcModel2 UTC-ModelSet2, -- Model-2
        utcModel3 UTC-ModelSet3, -- Model-3
        utcModel4 UTC-ModelSet4, -- Model-4
        ...,
        utcModel5-r12 UTC-ModelSet5-r12 -- Model-5
    }

    UTC-ModelSet1 ::= SEQUENCE {
        gnss-Utc-A1 INTEGER (-8388608..8388607),
        gnss-Utc-A0 INTEGER (-2147483648..2147483647),
        gnss-Utc-Tot INTEGER (0..255),
        gnss-Utc-WNt INTEGER (0..255),
        gnss-Utc-DeltaTls INTEGER (-128..127),
        gnss-Utc-WNlsf INTEGER (0..255),
        gnss-Utc-DN INTEGER (-128..127),
        gnss-Utc-DeltaTlsf INTEGER (-128..127),
        ...
    }

    UTC-ModelSet2 ::= SEQUENCE {
        utcA0 INTEGER (-32768..32767),
        utcA1 INTEGER (-4096..4095),
        utcA2 INTEGER (-64..63),
        utcDeltaTls INTEGER (-128..127),
        utcTot INTEGER (0..65535),
        utcWNot INTEGER (0..8191),
        utcWNlsf INTEGER (0..255),
        utcDN BIT STRING (SIZE(4)),
        utcDeltaTlsf INTEGER (-128..127),
        ...
    }

    UTC-ModelSet3 ::= SEQUENCE {
        nA INTEGER (1..1461),
        tauC INTEGER (-2147483648..2147483647),
        b1 INTEGER (-1024..1023) OPTIONAL, -- Cond GLONASS-M
        b2 INTEGER (-512..511) OPTIONAL, -- Cond GLONASS-M
        kp BIT STRING (SIZE(2)) OPTIONAL, -- Cond GLONASS-M
        ...
    }

    UTC-ModelSet4 ::= SEQUENCE {
        utcA1wnt INTEGER (-8388608..8388607),
        utcA0wnt INTEGER (-2147483648..2147483647),
        utcTot INTEGER (0..255),
        utcWNt INTEGER (0..255),
        utcDeltaTls INTEGER (-128..127),
        utcWNlsf INTEGER (0..255),
        utcDN INTEGER (-128..127),
        utcDeltaTlsf INTEGER (-128..127),
        utcStandardID INTEGER (0..7),
        ...
    }

    UTC-ModelSet5-r12 ::= SEQUENCE {
        utcA0-r12 INTEGER (-2147483648..2147483647),
        utcA1-r12 INTEGER (-8388608..8388607),
        utcDeltaTls-r12 INTEGER (-128..127),
        utcWNlsf-r12 INTEGER (0..255),
        utcDN-r12 INTEGER (0..255),
        utcDeltaTlsf-r12 INTEGER (-128..127),
        ...
    }

    GNSS-AuxiliaryInformation ::= CHOICE {
        gnss-ID-GPS GNSS-ID-GPS,
        gnss-ID-GLONASS GNSS-ID-GLONASS,
        ...
    }

    GNSS-ID-GPS ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-GPS-SatElement

    GNSS-ID-GPS-SatElement ::= SEQUENCE {
        svID SV-ID,
        signalsAvailable GNSS-SignalIDs,
        ...
    }

    GNSS-ID-GLONASS ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-GLONASS-SatElement

    GNSS-ID-GLONASS-SatElement ::= SEQUENCE {
        svID SV-ID,
        signalsAvailable GNSS-SignalIDs,
        channelNumber INTEGER (-7..13) OPTIONAL, -- Cond FDMA
        ...
    }

    BDS-DifferentialCorrections-r12 ::= SEQUENCE {
        dbds-RefTime-r12 INTEGER (0..3599),
        bds-SgnTypeList-r12 BDS-SgnTypeList-r12,
        ...
    }

    BDS-SgnTypeList-r12 ::= SEQUENCE (SIZE (1..3)) OF BDS-SgnTypeElement-r12

    BDS-SgnTypeElement-r12 ::= SEQUENCE {
        gnss-SignalID GNSS-SignalID OPTIONAL, -- Need ON
        dbds-CorrectionList-r12 DBDS-CorrectionList-r12,
        ...
    }

    DBDS-CorrectionList-r12 ::= SEQUENCE (SIZE (1..64)) OF DBDS-CorrectionElement-r12

    DBDS-CorrectionElement-r12 ::= SEQUENCE {
        svID SV-ID,
        bds-UDREI-r12 INTEGER (0..15),
        bds-RURAI-r12 INTEGER (0..15),
        bds-ECC-DeltaT-r12 INTEGER (-4096..4095),
        ...
    }

    BDS-GridModelParameter-r12 ::= SEQUENCE {
        bds-RefTime-r12 INTEGER (0..3599),
        gridIonList-r12 GridIonList-r12,
        ...
    }

    GridIonList-r12 ::= SEQUENCE (SIZE (1..320)) OF GridIonElement-r12

    GridIonElement-r12 ::= SEQUENCE {
        igp-ID-r12 INTEGER (1..320),
        dt-r12 INTEGER (0..511),
        givei-r12 INTEGER (0..15) ,
        ...
    }

    GNSS-RTK-Observations-r15 ::= SEQUENCE {
        epochTime-r15 GNSS-SystemTime,
        gnss-ObservationList-r15 GNSS-ObservationList-r15,
        ...
    }

    GNSS-ObservationList-r15 ::= SEQUENCE (SIZE(1..64)) OF GNSS-RTK-SatelliteDataElement-r15

    GNSS-RTK-SatelliteDataElement-r15 ::= SEQUENCE{
        svID-r15 SV-ID,
        integer-ms-r15 INTEGER (0..254) OPTIONAL, -- Need ON
        rough-range-r15 INTEGER (0..1023),
        rough-phase-range-rate-r15 INTEGER (-8192..8191) OPTIONAL, -- Need ON
        gnss-rtk-SatelliteSignalDataList-r15 GNSS-RTK-SatelliteSignalDataList-r15,
        ...
    }

    GNSS-RTK-SatelliteSignalDataList-r15 ::= SEQUENCE (SIZE(1..24)) OF
        GNSS-RTK-SatelliteSignalDataElement-r15

    GNSS-RTK-SatelliteSignalDataElement-r15 ::= SEQUENCE {
        gnss-SignalID-r15 GNSS-SignalID,
        fine-PseudoRange-r15 INTEGER (-524288..524287),
        fine-PhaseRange-r15 INTEGER (-8388608..8388607),
        lockTimeIndicator-r15 INTEGER (0..1023),
        halfCycleAmbiguityIndicator-r15 BIT STRING (SIZE (1)),
        carrier-to-noise-ratio-r15 INTEGER (0..1023) OPTIONAL, -- Need ON
        fine-PhaseRangeRate-r15 INTEGER (-16384..16383) OPTIONAL, -- Need ON
        ...
    }

    GLO-RTK-BiasInformation-r15 ::= SEQUENCE{
        referenceStationID-r15 GNSS-ReferenceStationID-r15,
        cpbIndicator-r15 BIT STRING (SIZE(1)),
        l1-ca-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON
        l1-p-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON
        l2-ca-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON
        l2-p-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON
        ...
    }

    GNSS-RTK-MAC-CorrectionDifferences-r15 ::= SEQUENCE {
        networkID-r15 GNSS-NetworkID-r15,
        subNetworkID-r15 GNSS-SubNetworkID-r15 OPTIONAL, -- Need ON
        master-ReferenceStationID-r15 GNSS-ReferenceStationID-r15,
        l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
        l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
        rtkCorrectionDifferencesList-r15 RTK-CorrectionDifferencesList-r15,
        ...
    }

    RTK-CorrectionDifferencesList-r15 ::= SEQUENCE (SIZE (1..32)) OF
                                                RTK-CorrectionDifferencesElement-r15

    RTK-CorrectionDifferencesElement-r15 ::= SEQUENCE {
        epochTime-r15 GNSS-SystemTime,
        auxiliary-referenceStationID-r15 GNSS-ReferenceStationID-r15,
        geometric-ionospheric-corrections-differences-r15
                                                Geometric-Ionospheric-Corrections-Differences-r15,
        ...
    }

    Geometric-Ionospheric-Corrections-Differences-r15 ::= SEQUENCE (SIZE(1..64)) OF
                                        Geometric-Ionospheric-Corrections-Differences-Element-r15

    Geometric-Ionospheric-Corrections-Differences-Element-r15 ::= SEQUENCE {
        svID-r15 SV-ID,
        ambiguityStatusFlag-r15 INTEGER (0..3),
        non-synch-count-r15 INTEGER (0..7),
        geometricCarrierPhaseCorrectionDifference-r15 INTEGER (-65536..65535),
        iod-r15 BIT STRING (SIZE(11)),
        ionosphericCarrierPhaseCorrectionDifference-r15 INTEGER (-65536..65535),
        ...
    }

    GNSS-RTK-Residuals-r15 ::= SEQUENCE {
        epochTime-r15 GNSS-SystemTime,
        referenceStationID-r15 GNSS-ReferenceStationID-r15,
        n-Refs-r15 INTEGER (0..127),
        l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
        l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
        rtk-residuals-list-r15 RTK-Residuals-List-r15,
        ...
    }

    RTK-Residuals-List-r15 ::= SEQUENCE (SIZE(1..64)) OF RTK-Residuals-Element-r15

    RTK-Residuals-Element-r15 ::= SEQUENCE {
        svID-r15 SV-ID,
        s-oc-r15 INTEGER (0..255),
        s-od-r15 INTEGER (0..511),
        s-oh-r15 INTEGER (0..63),
        s-lc-r15 INTEGER (0..1023),
        s-ld-r15 INTEGER (0..1023),
        ...
    }

    GNSS-RTK-FKP-Gradients-r15 ::= SEQUENCE {
        referenceStationID-r15 GNSS-ReferenceStationID-r15,
        epochTime-r15 GNSS-SystemTime,
        l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
        l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP
        fkp-gradients-list-r15 FKP-Gradients-List-r15,
        ...
    }

    FKP-Gradients-List-r15 ::= SEQUENCE (SIZE(1..64)) OF FKP-Gradients-Element-r15

    FKP-Gradients-Element-r15 ::= SEQUENCE {
        svID-r15 SV-ID,
        iod-r15 BIT STRING (SIZE(11)),
        north-geometric-gradient-r15 INTEGER (-2048..2047),
        east-geometric-gradient-r15 INTEGER (-2048..2047),
        north-ionospheric-gradient-r15 INTEGER (-8192..8191),
        east-ionospheric-gradient-r15 INTEGER (-8192..8191),
        ...
    }

    GNSS-SSR-OrbitCorrections-r15 ::= SEQUENCE {
        epochTime-r15 GNSS-SystemTime,
        ssrUpdateInterval-r15 INTEGER (0..15),
        satelliteReferenceDatum-r15 ENUMERATED { itrf, regional, ... },
        iod-ssr-r15 INTEGER (0..15),
        ssr-OrbitCorrectionList-r15 SSR-OrbitCorrectionList-r15,
        ...
    }

    SSR-OrbitCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-OrbitCorrectionSatelliteElement-r15

    SSR-OrbitCorrectionSatelliteElement-r15 ::= SEQUENCE {
        svID-r15 SV-ID,
        iod-r15 BIT STRING (SIZE(11)),
        delta-radial-r15 INTEGER (-2097152..2097151),
        delta-AlongTrack-r15 INTEGER (-524288..524287),
        delta-CrossTrack-r15 INTEGER (-524288..524287),
        dot-delta-radial-r15 INTEGER (-1048576..1048575) OPTIONAL,
        dot-delta-AlongTrack-r15 INTEGER (-262144..262143) OPTIONAL,
        dot-delta-CrossTrack-r15 INTEGER (-262144..262143) OPTIONAL,
        ...
    }

    GNSS-SSR-OrbitECEFCorrections-r15 ::= SEQUENCE {
        epochTime-r15 GNSS-SystemTime,
        ssrUpdateInterval-r15 INTEGER (0..15),
        satelliteReferenceDatum-r15 ENUMERATED { itrf, regional, ... },
        iod-ssr-r15 INTEGER (0..15),
        ssr-OrbitECEFCorrectionList-r15 SSR-OrbitECEFCorrectionList-r15,
        ...
    }

    SSR-OrbitECEFCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-OrbitECEFCorrectionSatelliteElement-r15

    SSR-OrbitECEFCorrectionSatelliteElement-r15 ::= SEQUENCE {
        svID-r15 SV-ID,
        iod-r15 BIT STRING (SIZE(11)),
        delta-X-r15 INTEGER (-2097152..2097151),
        delta-Y-r15 INTEGER (-524288..524287),
        delta-Z-r15 INTEGER (-524288..524287),
        dot-delta-X-r15 INTEGER (-1048576..1048575) OPTIONAL,
        dot-delta-Y-r15 INTEGER (-262144..262143) OPTIONAL,
        dot-delta-Z-r15 INTEGER (-262144..262143) OPTIONAL,
        ...
    }

    GNSS-SSR-ClockCorrections-r15 ::= SEQUENCE {
        epochTime-r15 GNSS-SystemTime,
        ssrUpdateInterval-r15 INTEGER (0..15),
        iod-ssr-r15 INTEGER (0..15),
        ssr-ClockCorrectionList-r15 SSR-ClockCorrectionList-r15,
        ...
    }

    SSR-ClockCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-ClockCorrectionSatelliteElement-r15

    SSR-ClockCorrectionSatelliteElement-r15 ::= SEQUENCE {
        svID-r15 SV-ID,
        delta-Clock-C0-r15 INTEGER (-2097152..2097151),
        delta-Clock-C1-r15 INTEGER (-1048576..1048575) OPTIONAL,
        delta-Clock-C2-r15 INTEGER (-67108864..67108863) OPTIONAL,
        ...,
        iod-LanePilot BIT STRING (SIZE(11)) OPTIONAL
    }

    GNSS-SSR-CodeBias-r15 ::= SEQUENCE {
        epochTime-r15 GNSS-SystemTime,
        ssrUpdateInterval-r15 INTEGER (0..15),
        iod-ssr-r15 INTEGER (0..15),
        ssr-CodeBiasSatList-r15 SSR-CodeBiasSatList-r15,
        ...
    }

    SSR-CodeBiasSatList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-CodeBiasSatElement-r15

    SSR-CodeBiasSatElement-r15 ::= SEQUENCE {
        svID-r15 SV-ID,
        ssr-CodeBiasSignalList-r15 SSR-CodeBiasSignalList-r15,
        ...
    }

    SSR-CodeBiasSignalList-r15 ::= SEQUENCE (SIZE(1..16)) OF SSR-CodeBiasSignalElement-r15

    SSR-CodeBiasSignalElement-r15 ::= SEQUENCE {
        signal-and-tracking-mode-ID-r15 GNSS-SignalID,
        codeBias-r15 INTEGER (-8192..8191),
        ...
    }

    GNSS-SSR-PhaseBias-r16 ::= SEQUENCE {
        epochTime-r16 GNSS-SystemTime,
        ssrUpdateInterval-r16 INTEGER (0..15),
        iod-ssr-r16 INTEGER (0..15),
        ssr-PhaseBiasSatList-r16 SSR-PhaseBiasSatList-r16,
        ...
    }

    SSR-PhaseBiasSatList-r16 ::= SEQUENCE (SIZE(1..64)) OF SSR-PhaseBiasSatElement-r16

    SSR-PhaseBiasSatElement-r16 ::= SEQUENCE {
        svID-r16 SV-ID,
        ssr-PhaseBiasSignalList-r16 SSR-PhaseBiasSignalList-r16,
        ...
    }

    SSR-PhaseBiasSignalList-r16 ::= SEQUENCE (SIZE(1..16)) OF SSR-PhaseBiasSignalElement-r16

    SSR-PhaseBiasSignalElement-r16 ::= SEQUENCE {
        signal-and-tracking-mode-ID-r16 GNSS-SignalID,
        phaseBias-r16 INTEGER (-16384..16383),
        phaseDiscontinuityIndicator-r16 INTEGER (0..3),
        ...
    }

    GNSS-SSR-STEC-Correction-r16 ::= SEQUENCE {
        epochTime-r16 GNSS-SystemTime,
        ssrUpdateInterval-r16 INTEGER (0..15),
        iod-ssr-r16 INTEGER (0..15),
        correctionPointSetID-r16 INTEGER (0..16383),
        stec-SatList-r16 STEC-SatList-r16,
        ...
    }

    STEC-SatList-r16 ::= SEQUENCE (SIZE(1..64)) OF STEC-SatElement-r16

    STEC-SatElement-r16 ::= SEQUENCE {
        svID-r16 SV-ID,
        stecQualityIndicator-r16 BIT STRING (SIZE(6)),
        stec-C00-r16 INTEGER (-8192..8191),
        stec-C01-r16 INTEGER (-2048..2047) OPTIONAL,
        stec-C10-r16 INTEGER (-2048..2047) OPTIONAL,
        stec-C11-r16 INTEGER (-512..511) OPTIONAL,
        ...
    }

    GNSS-SSR-GriddedCorrection-r16 ::= SEQUENCE {
        epochTime-r16 GNSS-SystemTime,
        ssrUpdateInterval-r16 INTEGER (0..15),
        iod-ssr-r16 INTEGER (0..15),
        troposphericDelayQualityIndicator-r16 BIT STRING (SIZE(6)) OPTIONAL, -- Cond Tropo
        correctionPointSetID-r16 INTEGER (0..16383),
        gridList-r16 GridList-r16, ...
    }

    GridList-r16 ::= SEQUENCE (SIZE(1..64)) OF GridElement-r16

    GridElement-r16 ::= SEQUENCE {
        tropospericDelayCorrection-r16 TropospericDelayCorrection-r16 OPTIONAL,
        stec-ResidualSatList-r16 STEC-ResidualSatList-r16 OPTIONAL,
        ...
    }

    TropospericDelayCorrection-r16 ::= SEQUENCE {
        tropoHydroStaticVerticalDelay-r16 INTEGER (-256..255),
        tropoWetVerticalDelay-r16 INTEGER (-128..127),
        ...
    }

    STEC-ResidualSatList-r16 ::= SEQUENCE (SIZE(1..64)) OF STEC-ResidualSatElement-r16

    STEC-ResidualSatElement-r16 ::= SEQUENCE {
        svID-r16 SV-ID,
        stecResidualCorrection-r16 CHOICE {
                        b7-r16 INTEGER (-64..63),
                        b16-r16 INTEGER (-32768..32767)
        },
        ...
    }

    A-GNSS-Error ::= CHOICE {
        locationServerErrorCauses GNSS-LocationServerErrorCauses,
        targetDeviceErrorCauses GNSS-TargetDeviceErrorCauses,
        ...
    }

    GNSS-LocationServerErrorCauses ::= SEQUENCE {
        cause ENUMERATED {
            undefined,
            undeliveredAssistanceDataIsNotSupportedByServer,
            undeliveredAssistanceDataIsSupportedButCurrentlyNotAvailableByServer,
            undeliveredAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailableByServer,
            ...,
            unconfirmedPeriodicAssistanceDataIsNotSupported-v1510,
            unconfirmedPeriodicAssistanceDataIsSupportedButCurrentlyNotAvailable-v1510,
            unconfirmedPeriodicAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailable-v1510,
            undeliveredPeriodicAssistanceDataIsCurrentlyNotAvailable-v1510
        },
        ...
    }

    GNSS-TargetDeviceErrorCauses ::= SEQUENCE {
        cause ENUMERATED { undefined,
                                    thereWereNotEnoughSatellitesReceived,
                                    assistanceDataMissing,
                                    notAllRequestedMeasurementsPossible,
                                    ...
                                },
        fineTimeAssistanceMeasurementsNotPossible NULL OPTIONAL,
        adrMeasurementsNotPossible NULL OPTIONAL,
        multiFrequencyMeasurementsNotPossible NULL OPTIONAL,
        ...
    }

    GNSS-FrequencyID-r15 ::= SEQUENCE {
        gnss-FrequencyID-r15 INTEGER (0 .. 7),
        ...
    }

    GNSS-ID ::= SEQUENCE {
        gnss-id ENUMERATED{ gps, sbas, qzss, galileo, glonass, ..., bds },
        ...
    }

    GNSS-ID-Bitmap ::= SEQUENCE {
        gnss-ids BIT STRING {
            gps (0),
            sbas (1),
            qzss (2),
            galileo (3),
            glonass (4),
            bds (5)
        } (SIZE (1..16)),
        ...
    }

    GNSS-NetworkID-r15 ::= SEQUENCE {
        networkID-r15 INTEGER (0..255),
        ...
    }

    GNSS-PeriodicControlParam-r15 ::= SEQUENCE {
        deliveryAmount-r15 INTEGER (1..32),
        deliveryInterval-r15 INTEGER (1..64),
        ...
    }

    GNSS-ReferenceStationID-r15 ::= SEQUENCE {
        referenceStationID-r15 INTEGER (0..65535),
        providerName-r15 VisibleString (SIZE (1..32)) OPTIONAL,
        ...
    }

    GNSS-SignalID ::= SEQUENCE {
        gnss-SignalID INTEGER (0 .. 7),
        ...,
        gnss-SignalID-Ext-r15 INTEGER (8..23) OPTIONAL
    }

    GNSS-SignalIDs ::= SEQUENCE {
        gnss-SignalIDs BIT STRING (SIZE(8)),
        ...,
        gnss-SignalIDs-Ext-r15 BIT STRING (SIZE(16)) OPTIONAL
    }

    GNSS-SubNetworkID-r15 ::= SEQUENCE {
        subNetworkID-r15 INTEGER (0..15),
        ...
    }

    SBAS-ID ::= SEQUENCE {
        sbas-id ENUMERATED{ waas, egnos, msas, gagan, ... },
        ...
    }

    SBAS-IDs ::= SEQUENCE {
        sbas-IDs BIT STRING {
            waas (0),
            egnos (1),
            msas (2),
            gagan (3)
        } (SIZE (1..8)),
        ...
    }

    SV-ID ::= SEQUENCE {
        satellite-id INTEGER(0..63),
        ...
    }

END

results matching ""

    No results matching ""