| -- RRLP-Components.asn |
| -- $Id$ |
| -- Taken from 3GPP TS 44.031 V7.4.0 (2007-03) |
| -- http://www.3gpp.org/ftp/Specs/archive/44_series/44.031/44031-740.zip/44031-740.doc |
| -- |
| -- 4 Components |
| -- 5 Elements of Components |
| -- |
| |
| RRLP-Components |
| -- { RRLP-Components } |
| |
| DEFINITIONS AUTOMATIC TAGS ::= |
| |
| BEGIN |
| |
| IMPORTS |
| Ext-GeographicalInformation, VelocityEstimate |
| FROM |
| MAP-LCS-DataTypes { |
| itu-t identified-organization (4) etsi (0) mobileDomain (0) |
| gsm-Network (1) modules (3) map-LCS-DataTypes (25) version11 (11)} |
| |
| ExtensionContainer |
| FROM MAP-ExtensionDataTypes { |
| itu-t identified-organization (4) etsi (0) mobileDomain (0) |
| gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version11 (11)} |
| ; |
| |
| |
| -- Add here other ASN.1 definitions presented below |
| -- in chapters 4 and 5. |
| |
| -- Measurement Position request component |
| MsrPosition-Req ::= SEQUENCE { |
| positionInstruct PositionInstruct, |
| referenceAssistData ReferenceAssistData OPTIONAL, |
| msrAssistData MsrAssistData OPTIONAL, |
| systemInfoAssistData SystemInfoAssistData OPTIONAL, |
| gps-AssistData GPS-AssistData OPTIONAL, |
| extensionContainer ExtensionContainer OPTIONAL, |
| ..., |
| -- Release 98 extension element |
| rel98-MsrPosition-Req-extension Rel98-MsrPosition-Req-Extension OPTIONAL, |
| -- Release 5 extension element |
| rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL, |
| -- Release 7 extension element |
| rel7-MsrPosition-Req-extension Rel7-MsrPosition-Req-Extension OPTIONAL |
| } |
| |
| -- Measurement Position response component |
| MsrPosition-Rsp ::= SEQUENCE { |
| multipleSets MultipleSets OPTIONAL, |
| referenceIdentity ReferenceIdentity OPTIONAL, |
| otd-MeasureInfo OTD-MeasureInfo OPTIONAL, |
| locationInfo LocationInfo OPTIONAL, |
| gps-MeasureInfo GPS-MeasureInfo OPTIONAL, |
| locationError LocationError OPTIONAL, |
| extensionContainer ExtensionContainer OPTIONAL, |
| ..., |
| -- Release extension here |
| rel-98-MsrPosition-Rsp-Extension |
| Rel-98-MsrPosition-Rsp-Extension OPTIONAL, |
| rel-5-MsrPosition-Rsp-Extension |
| Rel-5-MsrPosition-Rsp-Extension OPTIONAL, |
| -- rel-5-MsrPosition-Rsp-Extension and other possible future extensions |
| -- are the only information elements that may be included in the 2nd |
| -- MsrPosition-Rsp component when RRLP pseudo-segmentation is used |
| rel-7-MsrPosition-Rsp-Extension |
| Rel-7-MsrPosition-Rsp-Extension OPTIONAL |
| } |
| |
| -- Assistance Data component |
| AssistanceData ::= SEQUENCE { |
| referenceAssistData ReferenceAssistData OPTIONAL, |
| msrAssistData MsrAssistData OPTIONAL, |
| systemInfoAssistData SystemInfoAssistData OPTIONAL, |
| gps-AssistData GPS-AssistData OPTIONAL, |
| moreAssDataToBeSent MoreAssDataToBeSent OPTIONAL, -- If not present, interpret as only |
| -- Assistance Data component used to |
| -- deliver entire set of assistance |
| -- data. |
| extensionContainer ExtensionContainer OPTIONAL, |
| ..., |
| -- Release extension here |
| rel98-AssistanceData-Extension Rel98-AssistanceData-Extension OPTIONAL, |
| rel5-AssistanceData-Extension Rel5-AssistanceData-Extension OPTIONAL, |
| rel7-AssistanceData-Extension Rel7-AssistanceData-Extension OPTIONAL |
| } |
| |
| -- Protocol Error component |
| ProtocolError ::= SEQUENCE { |
| errorCause ErrorCodes, |
| extensionContainer ExtensionContainer OPTIONAL, |
| ..., |
| -- Release extensions here |
| rel-5-ProtocolError-Extension Rel-5-ProtocolError-Extension OPTIONAL |
| } |
| |
| -- Position instructions |
| PositionInstruct ::= SEQUENCE { |
| -- Method type |
| methodType MethodType, |
| positionMethod PositionMethod, |
| measureResponseTime MeasureResponseTime, |
| useMultipleSets UseMultipleSets, |
| environmentCharacter EnvironmentCharacter OPTIONAL |
| } |
| |
| -- |
| MethodType ::= CHOICE { |
| msAssisted AccuracyOpt, -- accuracy is optional |
| msBased Accuracy, -- accuracy is mandatory |
| msBasedPref Accuracy, -- accuracy is mandatory |
| msAssistedPref Accuracy -- accuracy is mandatory |
| } |
| |
| -- Accuracy of the location estimation |
| AccuracyOpt ::= SEQUENCE { |
| accuracy Accuracy OPTIONAL |
| } |
| |
| -- The values of this field are defined in 3GPP TS 23.032 (Uncertainty code) |
| Accuracy ::= INTEGER (0..127) |
| |
| |
| -- Position Method |
| PositionMethod ::= ENUMERATED { |
| eotd (0), |
| gps (1), |
| gpsOrEOTD (2) |
| } |
| |
| -- Measurement request response time |
| MeasureResponseTime ::= INTEGER (0..7) |
| |
| -- useMultiple Sets, FFS! |
| UseMultipleSets ::= ENUMERATED { |
| multipleSets (0), -- multiple sets are allowed |
| oneSet (1) -- sending of multiple is not allowed |
| } |
| |
| -- Environment characterization |
| EnvironmentCharacter ::= ENUMERATED { |
| badArea (0), -- bad urban or suburban, heavy multipath and NLOS |
| notBadArea (1), -- light multipath and NLOS |
| mixedArea (2), -- not defined or mixed environment |
| ... |
| } |
| |
| -- E-OTD reference BTS for Assitance data IE |
| ReferenceAssistData ::= SEQUENCE { |
| bcchCarrier BCCHCarrier, -- BCCH carrier |
| bsic BSIC, -- BSIC |
| timeSlotScheme TimeSlotScheme, -- Timeslot scheme |
| btsPosition BTSPosition OPTIONAL |
| } |
| |
| -- ellipsoid point and |
| -- ellipsoid point with altitude and uncertainty ellipsoid shapes are supported |
| BTSPosition ::= Ext-GeographicalInformation |
| |
| -- RF channel number of BCCH |
| BCCHCarrier ::= INTEGER (0..1023) |
| |
| -- Base station Identity Code |
| BSIC ::= INTEGER (0..63) |
| |
| -- Timeslot scheme |
| TimeSlotScheme ::= ENUMERATED { |
| equalLength (0), |
| variousLength (1) |
| } |
| |
| -- Time slot (modulo) |
| ModuloTimeSlot ::= INTEGER (0..3) |
| |
| -- E-OTD measurement assistance data IE |
| -- The total number of neighbors in this element (MsrAssistData) |
| -- and in SystemInfoAssistData element (presented neighbors |
| -- can be at a maximum 15!) |
| MsrAssistData ::= SEQUENCE { |
| msrAssistList SeqOfMsrAssistBTS |
| } |
| SeqOfMsrAssistBTS ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS |
| |
| MsrAssistBTS ::= SEQUENCE { |
| bcchCarrier BCCHCarrier, -- BCCH carrier |
| bsic BSIC, -- BSIC |
| multiFrameOffset MultiFrameOffset, -- multiframe offset |
| timeSlotScheme TimeSlotScheme, -- Timeslot scheme |
| roughRTD RoughRTD, -- rough RTD value |
| |
| -- Location Calculation Assistance data is moved here |
| calcAssistanceBTS CalcAssistanceBTS OPTIONAL |
| } |
| |
| -- Multiframe offset |
| MultiFrameOffset ::= INTEGER (0..51) |
| -- The Multiframe Offset value 51 shall not be encoded by the transmitting entity and |
| -- shall be treated by the receiving entity as 0. |
| |
| -- Rough RTD value between one base station and reference BTS |
| RoughRTD ::= INTEGER (0..1250) |
| -- The RoughRTD value 1250 shall not be encoded by the transmitting entity and shall |
| -- be treated by the receiving entity as 0. |
| |
| -- E-OTD Measurement assistance data for system information List IE |
| -- The total number of base stations in this element (SystemInfoAssistData |
| -- presented neighbors) and in MsrAssistData element can be at a maximum 15. |
| SystemInfoAssistData ::= SEQUENCE { |
| systemInfoAssistList SeqOfSystemInfoAssistBTS |
| } |
| SeqOfSystemInfoAssistBTS::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS |
| |
| -- whether n.th is present or not ? |
| SystemInfoAssistBTS ::= CHOICE { |
| notPresent NULL, |
| present AssistBTSData |
| } |
| |
| -- Actual assistance data for system information base station |
| AssistBTSData ::= SEQUENCE { |
| bsic BSIC, -- BSIC |
| multiFrameOffset MultiFrameOffset, -- multiframe offset |
| timeSlotScheme TimeSlotScheme, -- Timeslot scheme |
| roughRTD RoughRTD, -- rough RTD value |
| |
| -- Location Calculation Assistance data |
| calcAssistanceBTS CalcAssistanceBTS OPTIONAL |
| } |
| |
| -- E-OTD Location calculation assistance data, |
| -- CalcAssistanceBTS element is optional not subfields |
| CalcAssistanceBTS ::= SEQUENCE { |
| fineRTD FineRTD, -- fine RTD value between base stations |
| referenceWGS84 ReferenceWGS84 -- reference coordinates |
| } |
| |
| -- Coordinates of neighbour BTS, WGS-84 ellipsoid |
| ReferenceWGS84 ::= SEQUENCE { |
| relativeNorth RelDistance, -- relative distance (south negative) |
| relativeEast RelDistance, -- relative distance (west negative) |
| -- Relative Altitude is not always known |
| relativeAlt RelativeAlt OPTIONAL -- relative altitude |
| } |
| |
| -- Fine RTD value between this BTS and the reference BTS |
| FineRTD ::= INTEGER (0..255) |
| |
| -- Relative north/east distance |
| RelDistance ::= INTEGER (-200000..200000) |
| |
| -- Relative altitude |
| RelativeAlt ::= INTEGER (-4000..4000) |
| |
| -- Measure position response IEs |
| -- Reference Identity |
| -- Multiple sets |
| MultipleSets ::= SEQUENCE { |
| -- number of reference sets |
| nbrOfSets INTEGER (2..3), |
| |
| -- This field actually tells the number of reference BTSs |
| nbrOfReferenceBTSs INTEGER (1..3), |
| |
| -- This field is conditional and included optionally only if |
| -- nbrOfSets is 3 and number of reference BTSs is 2. |
| referenceRelation ReferenceRelation OPTIONAL |
| } |
| |
| -- Relation between refence BTSs and sets |
| ReferenceRelation ::= ENUMERATED { |
| secondBTSThirdSet (0), -- 1st BTS related to 1st and 2nd sets |
| secondBTSSecondSet (1), -- 1st BTS related to 1st and 3rd sets |
| firstBTSFirstSet (2) -- 1st BTS related to 1st set |
| } |
| |
| -- Reference BTS Identity, this element contains number of |
| -- BTSs told nbrOfReferenceBTSs field in Multiple sets element) |
| ReferenceIdentity ::= SEQUENCE { |
| -- Reference BTS list |
| refBTSList SeqOfReferenceIdentityType |
| } |
| SeqOfReferenceIdentityType ::= SEQUENCE (SIZE(1..3)) OF ReferenceIdentityType |
| |
| -- Cell identity |
| ReferenceIdentityType ::= CHOICE { |
| bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier |
| ci CellID, -- Cell ID, LAC not needed |
| requestIndex RequestIndex, -- Index to Requested Neighbor List |
| systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of ref. identity |
| -- shall not be used by the MS unless it has received |
| -- the SystemInfoAssistData from the SMLC for this cell. |
| ciAndLAC CellIDAndLAC -- CI and LAC |
| } |
| |
| BSICAndCarrier ::= SEQUENCE { |
| carrier BCCHCarrier, |
| bsic BSIC |
| } |
| |
| RequestIndex ::= INTEGER (1..16) |
| |
| SystemInfoIndex ::= INTEGER (1..32) |
| |
| CellIDAndLAC ::= SEQUENCE { |
| referenceLAC LACID, -- Location area code |
| referenceCI CellID -- Cell identity |
| } |
| CellID ::= INTEGER (0..65535) |
| LACID ::= INTEGER (0..65535) |
| |
| -- OTD-MeasureInfo |
| OTD-MeasureInfo ::= SEQUENCE { |
| -- Measurement info elements, OTD-MsrElement is repeated number of times |
| -- told in nbrOfReferenceBTSs in MultipleSets, default value is 1 |
| otdMsrFirstSets OTD-MsrElementFirst, |
| |
| -- if more than one sets are present this element is repeated |
| -- NumberOfSets - 1 (-1 = first set) |
| otdMsrRestSets SeqOfOTD-MsrElementRest OPTIONAL |
| } |
| |
| SeqOfOTD-MsrElementRest ::= SEQUENCE (SIZE(1..2)) OF OTD-MsrElementRest |
| |
| -- OTD measurent information for 1 set |
| OTD-MsrElementFirst ::= SEQUENCE { |
| refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432 |
| referenceTimeSlot ModuloTimeSlot, |
| toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL, |
| stdResolution StdResolution, |
| taCorrection INTEGER (0..960) OPTIONAL, -- TA correction |
| |
| -- measured neighbors in OTD measurements |
| otd-FirstSetMsrs SeqOfOTD-FirstSetMsrs OPTIONAL |
| } |
| SeqOfOTD-FirstSetMsrs ::= SEQUENCE (SIZE(1..10)) OF OTD-FirstSetMsrs |
| |
| -- OTD measurent information 2 and 3 sets if exist |
| OTD-MsrElementRest ::= SEQUENCE { |
| refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432 |
| referenceTimeSlot ModuloTimeSlot, |
| toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL, |
| stdResolution StdResolution, |
| taCorrection INTEGER (0..960) OPTIONAL, -- TA correction |
| |
| -- measured neighbors in OTD measurements |
| otd-MsrsOfOtherSets SeqOfOTD-MsrsOfOtherSets OPTIONAL |
| } |
| SeqOfOTD-MsrsOfOtherSets ::= SEQUENCE (SIZE(1..10)) OF OTD-MsrsOfOtherSets |
| |
| -- Standard deviation of the TOA measurements from the reference BTS |
| TOA-MeasurementsOfRef ::= SEQUENCE { |
| refQuality RefQuality, |
| numOfMeasurements NumOfMeasurements |
| } |
| |
| RefQuality ::= INTEGER (0..31) -- St Dev of TOA of reference as defined in annex |
| NumOfMeasurements ::= INTEGER (0..7) -- No. of measurements for RefQuality as defined in annex |
| StdResolution ::= INTEGER (0..3) -- Values of resolution are defined in annex |
| |
| OTD-FirstSetMsrs ::= OTD-MeasurementWithID |
| |
| -- Neighbour info in OTD measurements 0-10 times in TD measurement info |
| OTD-MsrsOfOtherSets ::= CHOICE { |
| identityNotPresent OTD-Measurement, |
| identityPresent OTD-MeasurementWithID |
| } |
| |
| -- For this OTD measurement identity is same as the identity of BTS |
| -- in the first set with same sequence number |
| OTD-Measurement ::= SEQUENCE { |
| nborTimeSlot ModuloTimeSlot, |
| eotdQuality EOTDQuality, |
| otdValue OTDValue |
| } |
| |
| -- This measurement contains the BTS identity and measurement |
| OTD-MeasurementWithID ::=SEQUENCE { |
| neighborIdentity NeighborIdentity, |
| nborTimeSlot ModuloTimeSlot, |
| eotdQuality EOTDQuality, |
| otdValue OTDValue |
| } |
| |
| EOTDQuality ::= SEQUENCE { |
| nbrOfMeasurements INTEGER (0..7), |
| stdOfEOTD INTEGER (0..31) |
| } |
| |
| NeighborIdentity ::= CHOICE { |
| bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier |
| ci CellID, -- Cell ID, LAC not needed |
| multiFrameCarrier MultiFrameCarrier, -- MultiFrameOffest and BSIC |
| requestIndex RequestIndex, -- Index to Requested Neighbor List |
| systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of neighbour |
| -- identity shall not be used by the MS unless it has |
| -- received the SystemInfoAssistData from the SMLC for |
| -- this cell. |
| ciAndLAC CellIDAndLAC -- CI and LAC |
| } |
| |
| -- Multiframe and carrier |
| MultiFrameCarrier ::= SEQUENCE { |
| bcchCarrier BCCHCarrier, |
| multiFrameOffset MultiFrameOffset |
| } |
| |
| -- OTD measurement value for neighbour |
| OTDValue ::= INTEGER (0..39999) |
| |
| -- Location information IE |
| LocationInfo ::= SEQUENCE { |
| refFrame INTEGER (0..65535), -- Reference Frame number |
| -- If refFrame is within (42432..65535), it shall be ignored by the receiver |
| -- in that case the MS should provide GPS TOW if available |
| gpsTOW INTEGER (0..14399999) OPTIONAL, -- GPS TOW |
| fixType FixType, |
| -- Note that applicable range for refFrame is 0 - 42431 |
| -- Possible shapes carried in posEstimate are |
| -- ellipsoid point, |
| -- ellipsoid point with uncertainty circle |
| -- ellipsoid point with uncertainty ellipse |
| -- ellipsoid point with altitude and uncertainty ellipsoid |
| posEstimate Ext-GeographicalInformation |
| } |
| |
| FixType ::= INTEGER { |
| twoDFix (0), |
| threeDFix (1) |
| } (0..1) |
| |
| -- GPS-Measurement information |
| GPS-MeasureInfo ::= SEQUENCE { |
| -- Measurement info elements |
| -- user has to make sure that in this element is number of elements |
| -- defined in reference BTS identity |
| gpsMsrSetList SeqOfGPS-MsrSetElement |
| } |
| SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement |
| |
| -- OTD measurent information 1-3 times in message |
| GPS-MsrSetElement ::= SEQUENCE { |
| refFrame INTEGER (0..65535) OPTIONAL, -- Reference Frame number |
| gpsTOW GPSTOW24b, -- GPS TOW |
| -- Note that applicable range for refFrame is 0 - 42431 |
| |
| --N_SAT can be read from number of elements of gps-msrList |
| |
| gps-msrList SeqOfGPS-MsrElement |
| } |
| |
| -- 24 bit presentation for GPSTOW |
| GPSTOW24b ::= INTEGER (0..14399999) |
| |
| -- measured elements in measurement parameters field |
| SeqOfGPS-MsrElement ::= SEQUENCE (SIZE(1..16)) OF GPS-MsrElement |
| |
| GPS-MsrElement ::= SEQUENCE { |
| satelliteID SatelliteID, -- Satellite identifier |
| cNo INTEGER (0..63), -- carrier noise ratio |
| doppler INTEGER (-32768..32767), -- doppler, mulltiply by 0.2 |
| wholeChips INTEGER (0..1022), -- whole value of the code phase measurement |
| fracChips INTEGER (0..1024), -- fractional value of the code phase measurement |
| -- a value of 1024 shall not be encoded by the sender |
| -- the receiver shall consider a value of 1024 to be |
| -- invalid data |
| mpathIndic MpathIndic, -- multipath indicator |
| pseuRangeRMSErr INTEGER (0..63) -- index |
| } |
| |
| -- Multipath indicator |
| MpathIndic ::= ENUMERATED { |
| notMeasured (0), |
| low (1), |
| medium (2), |
| high (3) |
| } |
| |
| -- Location error IE |
| LocationError ::= SEQUENCE { |
| locErrorReason LocErrorReason, |
| additionalAssistanceData AdditionalAssistanceData OPTIONAL, |
| ... |
| } |
| |
| LocErrorReason ::= ENUMERATED { |
| unDefined (0), |
| notEnoughBTSs (1), |
| notEnoughSats (2), |
| eotdLocCalAssDataMissing (3), |
| eotdAssDataMissing (4), |
| gpsLocCalAssDataMissing (5), |
| gpsAssDataMissing (6), |
| methodNotSupported (7), |
| notProcessed (8), |
| refBTSForGPSNotServingBTS (9), |
| refBTSForEOTDNotServingBTS (10), |
| ..., |
| notEnoughGANSSSats (11), |
| ganssAssDataMissing (12), |
| refBTSForGANSSNotServingBTS (13) |
| } |
| |
| -- exception handling: |
| -- an unrecognized value shall be treated the same as value 0 |
| |
| |
| -- defines additional assistance data needed for any new location attempt |
| -- MS shall retain any assistance data already received |
| AdditionalAssistanceData ::= SEQUENCE { |
| gpsAssistanceData GPSAssistanceData OPTIONAL, |
| extensionContainer ExtensionContainer OPTIONAL, |
| ..., |
| ganssAssistanceData GANSSAssistanceData OPTIONAL |
| } |
| |
| GPSAssistanceData ::= OCTET STRING (SIZE (1..maxGPSAssistanceData)) |
| -- GPSAssistanceData has identical structure and encoding to octets 3 to n of the |
| -- GPS Assistance Data IE in 3GPP TS 49.031 |
| |
| maxGPSAssistanceData INTEGER ::= 40 |
| |
| GANSSAssistanceData ::= OCTET STRING (SIZE (1..maxGANSSAssistanceData)) |
| -- GANSSAssistanceData has identical structure and encoding to octets 3 to n of the |
| -- GANSS Assistance Data IE in 3GPP TS 49.031 |
| |
| maxGANSSAssistanceData INTEGER ::= 40 |
| |
| |
| -- Protocol Error Causes |
| ErrorCodes ::= ENUMERATED { |
| unDefined (0), |
| missingComponet (1), |
| incorrectData (2), |
| missingIEorComponentElement (3), |
| messageTooShort (4), |
| unknowReferenceNumber (5), |
| ... |
| } |
| |
| -- exception handling: |
| -- an unrecognized value shall be treated the same as value 0 |
| |
| -- GPS assistance data IE |
| GPS-AssistData ::= SEQUENCE { |
| controlHeader ControlHeader |
| } |
| |
| -- More Assistance Data To Be Sent IE |
| -- More Assistance Data Components On the Way indication for delivery of an entire set of assistance |
| -- data in multiple Assistance Data components. |
| |
| MoreAssDataToBeSent ::= ENUMERATED { |
| noMoreMessages (0), -- This is the only or last Assistance Data message used to deliver |
| -- the entire set of assistance data. |
| moreMessagesOnTheWay (1) -- The SMLC will send more Assistance Data messages or a final RRLP |
| -- Measure Position Request message to deliver the |
| -- the entire set of assistance data. |
| } |
| |
| -- Control header of the GPS assistance data |
| ControlHeader ::= SEQUENCE { |
| |
| -- Field type Present information |
| referenceTime ReferenceTime OPTIONAL, |
| refLocation RefLocation OPTIONAL, |
| dgpsCorrections DGPSCorrections OPTIONAL, |
| navigationModel NavigationModel OPTIONAL, |
| ionosphericModel IonosphericModel OPTIONAL, |
| utcModel UTCModel OPTIONAL, |
| almanac Almanac OPTIONAL, |
| acquisAssist AcquisAssist OPTIONAL, |
| realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL |
| } |
| |
| ReferenceTime ::= SEQUENCE { |
| gpsTime GPSTime, |
| gsmTime GSMTime OPTIONAL, |
| gpsTowAssist GPSTOWAssist OPTIONAL |
| } |
| |
| -- GPS Time includes week number and time-of-week (TOW) |
| GPSTime ::= SEQUENCE { |
| gpsTOW23b GPSTOW23b, |
| gpsWeek GPSWeek |
| } |
| |
| -- GPSTOW, range 0-604799.92, resolution 0.08 sec, 23-bit presentation |
| GPSTOW23b ::= INTEGER (0..7559999) |
| |
| -- GPS week number |
| GPSWeek ::= INTEGER (0..1023) |
| |
| -- GPSTOWAssist consists of TLM message, Anti-spoof flag, Alert flag, and 2 reserved bits in TLM Word |
| -- for each visible satellite. |
| -- N_SAT can be read from number of elements in GPSTOWAssist |
| GPSTOWAssist ::= SEQUENCE (SIZE(1..12)) OF GPSTOWAssistElement |
| |
| GPSTOWAssistElement ::= SEQUENCE { |
| satelliteID SatelliteID, |
| tlmWord TLMWord, |
| antiSpoof AntiSpoofFlag, |
| alert AlertFlag, |
| tlmRsvdBits TLMReservedBits |
| } |
| |
| -- TLM Word, 14 bits |
| TLMWord ::= INTEGER (0..16383) |
| |
| -- Anti-Spoof flag |
| AntiSpoofFlag ::= INTEGER (0..1) |
| |
| -- Alert flag |
| AlertFlag ::= INTEGER (0..1) |
| |
| -- Reserved bits in TLM word, MSB occurs earlier in TLM Word transmitted by satellite |
| TLMReservedBits ::= INTEGER (0..3) |
| |
| GSMTime ::= SEQUENCE { |
| bcchCarrier BCCHCarrier, -- BCCH carrier |
| bsic BSIC, -- BSIC |
| frameNumber FrameNumber, |
| timeSlot TimeSlot, |
| bitNumber BitNumber |
| } |
| |
| -- Frame number |
| FrameNumber ::= INTEGER (0..2097151) |
| |
| -- Time slot number |
| TimeSlot ::= INTEGER (0..7) |
| |
| -- Bit number |
| BitNumber ::= INTEGER (0..156) |
| |
| |
| -- Reference Location IE |
| RefLocation ::= SEQUENCE { |
| threeDLocation Ext-GeographicalInformation |
| } |
| |
| -- DGPS Corrections IE |
| DGPSCorrections ::= SEQUENCE { |
| |
| gpsTOW INTEGER (0..604799), -- DGPS reference time |
| status INTEGER (0..7), |
| -- N_SAT can be read from number of elements of satList |
| satList SeqOfSatElement |
| } |
| SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement |
| |
| -- number of correction for satellites |
| SatElement ::= SEQUENCE { |
| satelliteID SatelliteID, |
| |
| |
| --- Sequence number for ephemeris |
| iode INTEGER (0..239), |
| -- User Differential Range Error |
| udre INTEGER (0..3), |
| |
| -- Pseudo Range Correction, range is |
| -- -655.04 - +655.04, |
| pseudoRangeCor INTEGER (-2047..2047), |
| |
| -- Pseudo Range Rate Correction, range is |
| -- -4.064 - +4.064, |
| rangeRateCor INTEGER (-127..127), |
| |
| -- Delta Pseudo Range Correction 2 |
| deltaPseudoRangeCor2 INTEGER (-127..127), -- This IE shall be ignored by the receiver and |
| -- set to zero by the sender |
| -- Delta Pseudo Range Correction 2 |
| deltaRangeRateCor2 INTEGER (-7..7), -- This IE shall be ignored by the receiver and |
| -- set to zero by the sender |
| -- Delta Pseudo Range Correction 3 |
| deltaPseudoRangeCor3 INTEGER (-127..127), -- This IE shall be ignored by the receiver and |
| -- set to zero by the sender |
| -- Delta Pseudo Range Correction 3 |
| deltaRangeRateCor3 INTEGER (-7..7) -- This IE shall be ignored by the receiver and |
| -- set to zero by the sender |
| } |
| |
| SatelliteID ::= INTEGER (0..63) -- identifies satellite |
| |
| -- Navigation Model IE |
| NavigationModel ::= SEQUENCE { |
| navModelList SeqOfNavModelElement |
| } |
| |
| -- navigation model satellite list |
| SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement |
| |
| NavModelElement ::= SEQUENCE { |
| satelliteID SatelliteID, |
| satStatus SatStatus -- satellite status |
| } |
| |
| -- the Status of the navigation model |
| SatStatus ::= CHOICE { |
| -- New satellite, new Navigation Model |
| newSatelliteAndModelUC UncompressedEphemeris, |
| |
| -- Existing satellite, Existing Navigation Model |
| oldSatelliteAndModel NULL, |
| |
| -- Existing satellite, new Navigation Model |
| newNaviModelUC UncompressedEphemeris, |
| ... |
| } |
| |
| -- Uncompressed satellite emhemeris and clock corrections |
| UncompressedEphemeris ::= SEQUENCE { |
| ephemCodeOnL2 INTEGER (0..3), |
| ephemURA INTEGER (0..15), |
| ephemSVhealth INTEGER (0..63), |
| ephemIODC INTEGER (0..1023), |
| ephemL2Pflag INTEGER (0..1), |
| ephemSF1Rsvd EphemerisSubframe1Reserved, |
| ephemTgd INTEGER (-128..127), |
| ephemToc INTEGER (0..37799), |
| ephemAF2 INTEGER (-128..127), |
| ephemAF1 INTEGER (-32768..32767), |
| ephemAF0 INTEGER (-2097152..2097151), |
| ephemCrs INTEGER (-32768..32767), |
| ephemDeltaN INTEGER (-32768..32767), |
| ephemM0 INTEGER (-2147483648..2147483647), |
| ephemCuc INTEGER (-32768..32767), |
| ephemE INTEGER (0..4294967295), |
| ephemCus INTEGER (-32768..32767), |
| ephemAPowerHalf INTEGER (0..4294967295), |
| ephemToe INTEGER (0..37799), |
| ephemFitFlag INTEGER (0..1), |
| ephemAODA INTEGER (0..31), |
| ephemCic INTEGER (-32768..32767), |
| ephemOmegaA0 INTEGER (-2147483648..2147483647), |
| ephemCis INTEGER (-32768..32767), |
| ephemI0 INTEGER (-2147483648..2147483647), |
| ephemCrc INTEGER (-32768..32767), |
| ephemW INTEGER (-2147483648..2147483647), |
| ephemOmegaADot INTEGER (-8388608..8388607), |
| ephemIDot INTEGER (-8192..8191) |
| } |
| |
| -- Reserved bits in subframe 1 of navigation message |
| EphemerisSubframe1Reserved ::= 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 |
| } |
| |
| -- Ionospheric Model IE |
| IonosphericModel ::= SEQUENCE { |
| 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) |
| } |
| |
| -- Universal Time Coordinate Model |
| UTCModel ::= SEQUENCE { |
| utcA1 INTEGER (-8388608..8388607), |
| utcA0 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) |
| } |
| |
| -- Almanac, Long term model |
| -- NOTE: These are parameters are subset of the ephemeris |
| -- NOTE: But with reduced resolution and accuracy |
| Almanac ::= SEQUENCE { |
| alamanacWNa INTEGER (0..255), -- Once per message |
| |
| -- navigation model satellite list. |
| -- The size of almanacList is actually Nums_Sats_Total field |
| almanacList SeqOfAlmanacElement |
| } |
| SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement |
| |
| -- Almanac info once per satellite |
| AlmanacElement ::= SEQUENCE { |
| satelliteID SatelliteID, |
| almanacE INTEGER (0..65535), |
| alamanacToa INTEGER (0..255), |
| almanacKsii INTEGER (-32768..32767), |
| almanacOmegaDot INTEGER (-32768..32767), |
| almanacSVhealth INTEGER (0..255), |
| almanacAPowerHalf INTEGER (0..16777215), |
| almanacOmega0 INTEGER (-8388608..8388607), |
| almanacW INTEGER (-8388608..8388607), |
| almanacM0 INTEGER (-8388608..8388607), |
| almanacAF0 INTEGER (-1024..1023), |
| almanacAF1 INTEGER (-1024..1023) |
| } |
| |
| -- Acquisition Assistance |
| AcquisAssist ::= SEQUENCE { |
| |
| -- Number of Satellites can be read from acquistList |
| timeRelation TimeRelation, |
| |
| -- Acquisition assistance list |
| -- The size of Number of Satellites is actually Number of Satellites field |
| acquisList SeqOfAcquisElement |
| } |
| SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement |
| |
| -- the relationship between GPS time and air-interface timing |
| TimeRelation ::= SEQUENCE { |
| -- |
| gpsTOW GPSTOW23b, -- 23b presentation |
| gsmTime GSMTime OPTIONAL |
| } |
| |
| -- data occuring per number of satellites |
| AcquisElement ::= SEQUENCE { |
| svid SatelliteID, |
| |
| -- Doppler 0th order term, |
| -- -5120.0 - 5117.5 Hz (= -2048 - 2047 with 2.5 Hz resolution) |
| doppler0 INTEGER (-2048..2047), |
| addionalDoppler AddionalDopplerFields OPTIONAL, |
| codePhase INTEGER (0..1022), -- Code Phase |
| intCodePhase INTEGER (0..19), -- Integer Code Phase |
| gpsBitNumber INTEGER (0..3), -- GPS bit number |
| codePhaseSearchWindow INTEGER (0..15), -- Code Phase Search Window |
| addionalAngle AddionalAngleFields OPTIONAL |
| } |
| |
| AddionalDopplerFields ::= SEQUENCE { |
| -- Doppler 1st order term, -1.0 - +0.5 Hz/sec |
| -- (= -42 + (0 to 63) with 1/42 Hz/sec. resolution) |
| doppler1 INTEGER (0..63), |
| dopplerUncertainty INTEGER (0..7) |
| -- a sender shall not encode any DopplerUncertainty value in the range 5 to 7 |
| -- a receiver shall ignore any value between 5 and 7. |
| } |
| |
| AddionalAngleFields ::= SEQUENCE { |
| -- azimuth angle, 0 - 348.75 deg (= 0 - 31 with 11.25 deg resolution) |
| azimuth INTEGER (0..31), |
| -- elevation angle, 0 - 78.75 deg (= 0 - 7 with 11.25 deg resolution) |
| elevation INTEGER (0..7) |
| } |
| |
| -- Real-Time Integrity |
| -- number of bad satellites can be read from this element |
| SeqOf-BadSatelliteSet ::= SEQUENCE (SIZE(1..16)) OF SatelliteID |
| |
| -- Extension Elements |
| |
| -- Release 98 Extensions here |
| Rel98-MsrPosition-Req-Extension ::= SEQUENCE { |
| rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension |
| ..., |
| gpsTimeAssistanceMeasurementRequest NULL OPTIONAL, |
| gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL |
| |
| -- Further R98 extensions here |
| } |
| Rel98-AssistanceData-Extension ::= SEQUENCE { |
| rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension |
| ..., |
| gpsTimeAssistanceMeasurementRequest NULL OPTIONAL, |
| gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL |
| |
| -- Further R98 extensions here |
| } |
| |
| -- Release 98 ExpOTD extension |
| Rel98-Ext-ExpOTD ::= SEQUENCE { |
| -- If MsrAssistBTS is included in message, msrAssistData-R98-ExpOTD shall be included. |
| msrAssistData-R98-ExpOTD MsrAssistData-R98-ExpOTD OPTIONAL, |
| |
| -- If SystemInfoAssistaData is included in message, systemInfoAssistData-R98-ExpOTD shall be |
| -- included. |
| systemInfoAssistData-R98-ExpOTD SystemInfoAssistData-R98-ExpOTD OPTIONAL |
| } |
| |
| -- MsrAssistData R98 extension |
| MsrAssistData-R98-ExpOTD ::= SEQUENCE { |
| msrAssistList-R98-ExpOTD SeqOfMsrAssistBTS-R98-ExpOTD |
| } |
| |
| -- Indexes in SeqOfMsrAssistBTS-R98-ExpOTD refer to SeqOfMsrAssistBTS |
| -- If the index exceeds the SegOfMsrAssistBTS range or if there is other |
| -- inconsistencies between the BTS indices, the MS shall apply protocol |
| -- error cause incorrectData |
| SeqOfMsrAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS-R98-ExpOTD |
| |
| -- This element completes MsrAssistBTS IE |
| MsrAssistBTS-R98-ExpOTD ::= SEQUENCE { |
| expectedOTD ExpectedOTD, |
| expOTDUncertainty ExpOTDUncertainty |
| } |
| |
| -- SystemInfoAssistData R98 extension |
| SystemInfoAssistData-R98-ExpOTD ::= SEQUENCE { |
| systemInfoAssistListR98-ExpOTD SeqOfSystemInfoAssistBTS-R98-ExpOTD |
| } |
| |
| -- SeqOfSystemInfoAssistBTS-R98-ExpOTD index refer to SeqOfSystemInfoAssistBTS |
| -- If the index exceeds the SegOfSystemInfoAssistBTS range or if there is other |
| -- inconsistencies between the BTS indices, the MS shall apply protocol |
| -- error cause incorrectData |
| SeqOfSystemInfoAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS-R98-ExpOTD |
| |
| -- whether n.th is present or not ? |
| SystemInfoAssistBTS-R98-ExpOTD ::= CHOICE { |
| notPresent NULL, |
| present AssistBTSData-R98-ExpOTD |
| } |
| |
| -- This element completes AssistBTSData IE |
| AssistBTSData-R98-ExpOTD ::= SEQUENCE { |
| expectedOTD ExpectedOTD, |
| expOTDuncertainty ExpOTDUncertainty -- Uncertainty of expected OTD |
| } |
| |
| -- Expected OTD value between nbor base station and reference BTS |
| -- at MS's current estimated location. |
| ExpectedOTD ::= INTEGER (0..1250) |
| -- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and |
| -- shall be treated by the receiving entity as 0. |
| -- Uncertainty of Exptected OTD in bits |
| ExpOTDUncertainty ::= INTEGER(0..7) |
| |
| -- Release 98 extensions |
| |
| GPSReferenceTimeUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex |
| |
| GPSTimeAssistanceMeasurements ::= SEQUENCE { |
| referenceFrameMSB INTEGER (0 .. 63), -- MSB of frame number |
| gpsTowSubms INTEGER (0 .. 9999) OPTIONAL, -- in units of 100ns, for MS based AGPS |
| deltaTow INTEGER (0 .. 127) OPTIONAL, -- for MS assisted AGPS |
| gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL |
| } |
| |
| Rel-98-MsrPosition-Rsp-Extension ::= SEQUENCE { |
| |
| -- First extension to Release 98 |
| rel-98-Ext-MeasureInfo SEQUENCE { |
| otd-MeasureInfo-R98-Ext OTD-MeasureInfo-R98-Ext OPTIONAL |
| }, |
| ..., |
| timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL |
| -- Further R98 extensions here |
| } |
| |
| -- This is an addition to OTD-MeasureInfo element defined in original message, |
| -- If OTD-MeasureInfo is absent, or if one or more OTD-MsrElementRest are present |
| -- OTD-MeasureInfo-R98-Ext shall be absent. |
| -- OTD-MeasureInfo-R98-Ext |
| OTD-MeasureInfo-R98-Ext ::= SEQUENCE { |
| -- Measurement info elements |
| otdMsrFirstSets-R98-Ext OTD-MsrElementFirst-R98-Ext |
| } |
| |
| -- OTD measurement information Ext for the first set only |
| OTD-MsrElementFirst-R98-Ext ::= SEQUENCE { |
| -- additional measured neighbors in OTD measurements |
| otd-FirstSetMsrs-R98-Ext SeqOfOTD-FirstSetMsrs-R98-Ext OPTIONAL |
| } |
| SeqOfOTD-FirstSetMsrs-R98-Ext ::= SEQUENCE (SIZE(1..5)) OF OTD-FirstSetMsrs |
| |
| Rel-5-MsrPosition-Rsp-Extension ::= SEQUENCE { |
| |
| extended-reference Extended-reference OPTIONAL, |
| -- The extended-reference shall be included by the MS if and only if previously |
| -- received from the SMLC in a Measure Position Request. When included, the value sent |
| -- by the MS shall equal the value received from the SMLC. |
| |
| -- extension to Release 5, for RRLP pseudo-segmentation here |
| otd-MeasureInfo-5-Ext OTD-MeasureInfo-5-Ext OPTIONAL, |
| ulPseudoSegInd UlPseudoSegInd OPTIONAL, -- Included when uplink RRLP |
| -- Pseudo-segmentation is used, not included when no uplink pseudo-segmentation is used |
| ... |
| -- Possibly more extensions for Release 5 here later |
| } |
| |
| Extended-reference ::= SEQUENCE { |
| smlc-code INTEGER (0..63), |
| transaction-ID INTEGER (0..262143) |
| } |
| |
| OTD-MeasureInfo-5-Ext ::= SeqOfOTD-MsrElementRest |
| -- if more than one measurement sets are present this element is repeated |
| -- NumberOfSets - 1 (-1 = first set) combined in OTD-MeasureInfo-5-Ext and |
| -- OTD-MeasureInfo (e.g. if NumberOfSets is 3, then one otdMsrRestSets may |
| -- be sent in OTD-MeasureInfo-5-Ext and one in OTD-MeasureInfo) |
| |
| -- First part of Uplink RRLP Pseudo-segmentation indication, possibly more may be defined |
| -- in the future for segmentation with more than two segments. |
| UlPseudoSegInd ::= ENUMERATED { |
| firstOfMany (0), |
| secondOfMany(1) |
| } |
| |
| Rel5-MsrPosition-Req-Extension ::= SEQUENCE { |
| extended-reference Extended-reference, |
| ... |
| -- Possibly more extensions for Release 5 here later |
| } |
| |
| Rel5-AssistanceData-Extension ::= SEQUENCE { |
| extended-reference Extended-reference, |
| ... |
| |
| -- Possibly more extensions for Release 5 here later |
| } |
| |
| Rel-5-ProtocolError-Extension::= SEQUENCE { |
| extended-reference Extended-reference OPTIONAL, |
| -- The extended-reference shall be included by the MS if and only if previously |
| -- received from the SMLC. |
| -- When included, the value sent by the MS shall equal the value received from the SMLC. |
| ... |
| |
| -- Possibly more extensions for Release 5 here later |
| } |
| |
| -- Release 7 Extensions here |
| |
| Rel7-MsrPosition-Req-Extension ::= SEQUENCE { |
| velocityRequested NULL OPTIONAL, |
| ganssPositionMethod GANSSPositioningMethod OPTIONAL, |
| ganss-AssistData GANSS-AssistData OPTIONAL, |
| ganssCarrierPhaseMeasurementRequest NULL OPTIONAL, |
| ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL, |
| requiredResponseTime RequiredResponseTime OPTIONAL, |
| ... |
| -- Further Release 7 extentions here |
| } |
| |
| -- additional satellite systems may be added in future versions of the protocol |
| GANSSPositioningMethod ::= BIT STRING { |
| gps (0), |
| galileo (1)} (SIZE (2..16)) |
| |
| GANSS-AssistData ::= SEQUENCE { |
| ganss-controlHeader GANSS-ControlHeader |
| } |
| |
| GANSS-ControlHeader ::= SEQUENCE { |
| ganssCommonAssistData GANSSCommonAssistData OPTIONAL, |
| ganssGenericAssistDataList SeqOfGANSSGenericAssistDataElement OPTIONAL |
| } |
| |
| -- GANSS Common Assistance Data Elements |
| GANSSCommonAssistData ::= SEQUENCE { |
| ganssReferenceTime GANSSReferenceTime OPTIONAL, |
| ganssRefLocation GANSSRefLocation OPTIONAL, |
| ganssIonosphericModel GANSSIonosphericModel OPTIONAL, |
| ... |
| } |
| |
| -- List of GANSS Generic Assistance Data Elements, up to 8 GANSS |
| SeqOfGANSSGenericAssistDataElement ::= SEQUENCE (SIZE (1..8)) OF GANSSGenericAssistDataElement |
| |
| -- GANSS Generic Assistance Data Elements |
| GANSSGenericAssistDataElement ::= SEQUENCE { |
| ganssID INTEGER (0..7) OPTIONAL, -- Coding according to Annex |
| ganssTimeModel SeqOfGANSSTimeModel OPTIONAL, |
| ganssDiffCorrections GANSSDiffCorrections OPTIONAL, |
| ganssNavigationModel GANSSNavModel OPTIONAL, |
| ganssRealTimeIntegrity GANSSRealTimeIntegrity OPTIONAL, |
| ganssDataBitAssist GANSSDataBitAssist OPTIONAL, |
| ganssRefMeasurementAssist GANSSRefMeasurementAssist OPTIONAL, |
| ganssAlmanacModel GANSSAlmanacModel OPTIONAL, |
| ganssUTCModel GANSSUTCModel OPTIONAL, |
| ... |
| } |
| |
| -- GANSS COMMON ASSISTANCE DATA ELEMENTS |
| |
| -- GANSS Reference Time IE |
| GANSSReferenceTime ::= SEQUENCE { |
| ganssRefTimeInfo GANSSRefTimeInfo, |
| ganssTOD-GSMTimeAssociation GANSSTOD-GSMTimeAssociation OPTIONAL |
| } |
| |
| -- GANSS Reference Time includes GANSS TOD, GANSS Day, uncertainty |
| GANSSRefTimeInfo ::= SEQUENCE { |
| ganssDay INTEGER(0 .. 8191) OPTIONAL, |
| ganssTOD GANSSTOD, |
| ganssTODUncertainty GANSSTODUncertainty OPTIONAL, |
| ganssTimeID INTEGER (0 .. 7) OPTIONAL |
| } |
| |
| -- GANSS TOD integer seconds |
| GANSSTOD ::= INTEGER (0 .. 86399) |
| |
| -- GANSS TOD uncertainty |
| GANSSTODUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex |
| |
| -- GANSS TOD-GSM Time association |
| GANSSTOD-GSMTimeAssociation ::= SEQUENCE { |
| bcchCarrier BCCHCarrier, -- BCCH carrier |
| bsic BSIC, -- BSIC |
| frameNumber FrameNumber, |
| timeSlot TimeSlot, |
| bitNumber BitNumber, |
| frameDrift FrameDrift OPTIONAL |
| } |
| |
| -- Frame drift |
| FrameDrift ::= INTEGER(-64 .. 63) |
| |
| -- GANSS Reference Location IE |
| GANSSRefLocation ::= SEQUENCE { |
| threeDLocation Ext-GeographicalInformation |
| } |
| |
| -- GANSS Ionospheric Model IE |
| -- GANSS Ionospheric Model consists of NeQuick model parameters and storm flags |
| |
| GANSSIonosphericModel ::= SEQUENCE { |
| ganssIonoModel GANSSIonosphereModel, |
| ganssIonoStormFlags GANSSIonoStormFlags OPTIONAL, |
| ... |
| } |
| |
| -- GANSS ionosphere model. Coding according to Annex |
| GANSSIonosphereModel ::= SEQUENCE { |
| ai0 INTEGER (0 .. 4095), |
| ai1 INTEGER (0 .. 4095), |
| ai2 INTEGER (0 .. 4095) |
| } |
| |
| -- GANSS ionosphere storm flags |
| GANSSIonoStormFlags ::= SEQUENCE { |
| ionoStormFlag1 INTEGER (0 .. 1), |
| ionoStormFlag2 INTEGER (0 .. 1), |
| ionoStormFlag3 INTEGER (0 .. 1), |
| ionoStormFlag4 INTEGER (0 .. 1), |
| ionoStormFlag5 INTEGER (0 .. 1) |
| } |
| |
| -- GANSS GENERIC ASSISTANCE DATA ELEMENTS |
| |
| -- GANSS Time Model IE consists of time offset and first and second order parameters to relate GNSS |
| -- specific system time to selected time reference |
| SeqOfGANSSTimeModel ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement |
| |
| GANSSTimeModelElement ::= SEQUENCE { |
| ganssTimeModelRefTime INTEGER(0 .. 65535), |
| tA0 TA0, |
| tA1 TA1 OPTIONAL, |
| tA2 TA2 OPTIONAL, |
| gnssTOID INTEGER (0 .. 7), |
| weekNumber INTEGER (0 .. 8191) OPTIONAL |
| } |
| |
| -- GANSS time model parameter A0 |
| TA0 ::= INTEGER (-2147483648 .. 2147483647) |
| |
| -- GANSS time model parameter A1 |
| TA1 ::= INTEGER (-8388608 .. 8388607) |
| |
| -- GANSS time model parameter A2 |
| TA2 ::= INTEGER (-64 .. 63) |
| |
| -- DGANSS Corrections IE |
| GANSSDiffCorrections ::= SEQUENCE { |
| dganssRefTime INTEGER (0 .. 119), -- DGANSS reference time |
| |
| -- N_SGN_TYPE can be read from number of elements of sgnTypeList |
| sgnTypeList SeqOfSgnTypeElement |
| } |
| |
| SeqOfSgnTypeElement ::= SEQUENCE (SIZE (1..3)) OF SgnTypeElement -- max three signals per GNSS |
| |
| -- DGANSS signal type element, once per GNSS signal type included in DGANSS |
| SgnTypeElement ::= SEQUENCE { |
| ganssSignalID GANSSSignalID OPTIONAL, -- signal type identity |
| ganssStatusHealth INTEGER (0 .. 7), |
| -- N_SGN can be read from number of elements of dganssSgnList |
| dganssSgnList SeqOfDGANSSSgnElement |
| } |
| |
| GANSSSignalID ::= INTEGER (0 .. 3) -- Coding according to Annex |
| SeqOfDGANSSSgnElement ::= SEQUENCE (SIZE (1..16)) OF DGANSSSgnElement |
| |
| -- number of correction for signals |
| DGANSSSgnElement ::= SEQUENCE { |
| svID SVID, -- Satellite identity |
| |
| --- Sequence number for GANSS Navigation Model that matches the DGANSS correction set |
| iod INTEGER (0 .. 1023), |
| |
| -- User Differential Range Error |
| udre INTEGER (0..3), |
| |
| -- Pseudo Range Correction, range is |
| -- -655.04 - +655.04, |
| pseudoRangeCor INTEGER (-2047..2047), |
| |
| -- Pseudo Range Rate Correction, range is |
| -- -4.064 - +4.064, |
| rangeRateCor INTEGER (-127..127) |
| } |
| |
| SVID ::= INTEGER (0 .. 63) -- Coding according to Annex |
| |
| -- GANSS Navigation Model IE |
| GANSSNavModel ::= SEQUENCE { |
| nonBroadcastIndFlag INTEGER (0 .. 1), |
| toeMSB INTEGER (0 .. 31) OPTIONAL, -- 5 MSB of toe and toc |
| eMSB INTEGER (0 .. 127) OPTIONAL, |
| sqrtAMBS INTEGER (0 .. 63) OPTIONAL, |
| ganssSatelliteList SeqOfGANSSSatelliteElement |
| } |
| |
| SeqOfGANSSSatelliteElement ::= SEQUENCE (SIZE(1..32)) OF GANSSSatelliteElement |
| |
| GANSSSatelliteElement ::= SEQUENCE { |
| svID SVID, |
| svHealth INTEGER (-7 .. 13), -- Coding according to Annex |
| iod INTEGER (0 .. 1023), -- Coding according to Annex |
| ganssClockModel GANSSClockModel, |
| ganssOrbitModel GANSSOrbitModel, |
| ... |
| } |
| |
| -- GANSS orbit model for the GNSS satellite according to the choice |
| GANSSOrbitModel ::= CHOICE { |
| keplerianSet NavModel-KeplerianSet, |
| ... |
| } |
| |
| -- Navigation model in Keplerian parameters |
| NavModel-KeplerianSet ::= SEQUENCE { |
| keplerToeLSB INTEGER (0 .. 511), -- 9LSB are given in GANSSNavigationModel |
| keplerW INTEGER (-2147483648..2147483647), |
| keplerDeltaN INTEGER (-32768..32767), |
| keplerM0 INTEGER (-2147483648..2147483647), |
| keplerOmegaDot INTEGER (-8388608..8388607), |
| keplerELSB INTEGER (0..33554431), |
| keplerIDot INTEGER (-8192..8191), |
| keplerAPowerHalfLSB INTEGER (0.. 67108863), |
| 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) |
| } |
| |
| -- GANSS clock model for the GNSS satellite according to the choice |
| GANSSClockModel ::= CHOICE { |
| standardClockModelList SeqOfStandardClockModelElement, |
| ... |
| } |
| |
| SeqOfStandardClockModelElement ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement |
| |
| StandardClockModelElement ::= SEQUENCE { |
| stanClockTocLSB INTEGER (0 .. 511), -- 9LSB of time of clock |
| stanClockAF2 INTEGER (-2048 .. 2047), |
| stanClockAF1 INTEGER (-131072 .. 131071), |
| stanClockAF0 INTEGER (-134217728 .. 134217727), |
| stanClockTgd INTEGER (-512 .. 511) OPTIONAL, |
| stanModelID INTEGER (0 .. 1) OPTIONAL, |
| ... |
| } |
| |
| -- GANSS Real-Time Integrity IE |
| GANSSRealTimeIntegrity ::= SEQUENCE { |
| -- list of bad signals |
| -- NBS can be read from number of elements in SeqOf-BadSignalSet |
| ganssBadSignalList SeqOfBadSignalElement |
| } |
| |
| SeqOfBadSignalElement ::= SEQUENCE (SIZE(1..16)) OF BadSignalElement |
| |
| BadSignalElement ::= SEQUENCE { |
| badSVID SVID, -- Coding according to Annex |
| badSignalID INTEGER (0 .. 3) OPTIONAL -- Coding according to Annex |
| } |
| |
| |
| -- GANSS Data Bit Assistance IE |
| GANSSDataBitAssist ::= SEQUENCE { |
| ganssTOD INTEGER (0 .. 59), |
| svID SVID, |
| ganssDataTypeID INTEGER (0 .. 2), -- Coding according to Annex |
| -- list of navigation data bits |
| -- N_BIT can be read from number of elements in SeqOf-DataBits |
| ganssDataBits SeqOf-GANSSDataBits |
| } |
| |
| SeqOf-GANSSDataBits ::= SEQUENCE (SIZE(1 .. 1024)) OF GANSSDataBit |
| GANSSDataBit ::= INTEGER(0 .. 1) |
| |
| -- GANSS Reference Measurement Assistance IE |
| -- Code and Doppler assistance from the network. |
| GANSSRefMeasurementAssist ::= SEQUENCE { |
| ganssSignalID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex |
| ganssRefMeasAssitList SeqOfGANSSRefMeasurementElement |
| } |
| |
| SeqOfGANSSRefMeasurementElement ::= SEQUENCE (SIZE(1 .. 16)) OF GANSSRefMeasurementElement |
| |
| GANSSRefMeasurementElement ::= SEQUENCE { |
| svID SVID, |
| -- Doppler 0th order term, |
| -- -1024 m/s to 1023.5 m/s with 0.5 m/s resolution) |
| doppler0 INTEGER (-2048 .. 2047), -- Coding according to Annex |
| additionalDoppler AdditionalDopplerFields OPTIONAL, |
| codePhase INTEGER (0 .. 1022), -- Code Phase in ms |
| intCodePhase INTEGER (0 .. 127), -- Integer Code Phase in ms |
| codePhaseSearchWindow INTEGER (0 .. 31), -- Code Phase Search Window, see Annex |
| additionalAngle AddionalAngleFields OPTIONAL, |
| ... |
| } |
| |
| AdditionalDopplerFields ::= SEQUENCE { |
| -- Doppler 1st order term, -0.2 - +0.1 m/s2 |
| doppler1 INTEGER (0..63), |
| dopplerUncertainty INTEGER (0..4) |
| } |
| |
| -- GANSS Almanac Model IE |
| GANSSAlmanacModel ::= SEQUENCE { |
| weekNumber INTEGER (0 .. 255), |
| svIDMask SVIDMASK, |
| toa INTEGER (0 .. 255) OPTIONAL, |
| ioda INTEGER (0 .. 3) OPTIONAL, |
| ganssAlmanacList SeqOfGANSSAlmanacElement |
| } |
| |
| -- SV ID Mask, LSB for ID 1 and MSB for ID 36 |
| SVIDMASK ::= BIT STRING (SIZE (1..36)) |
| |
| SeqOfGANSSAlmanacElement ::= SEQUENCE (SIZE(1 .. 36)) OF GANSSAlmanacElement |
| |
| -- GANSS Almanac Model |
| GANSSAlmanacElement ::= CHOICE { |
| keplerianAlmanacSet Almanac-KeplerianSet, |
| ... |
| } |
| |
| -- Almanac parameters according to Keplerian parameters |
| Almanac-KeplerianSet ::= SEQUENCE { |
| kepAlmanacE INTEGER (0 .. 2047), |
| kepAlmanacDeltaI INTEGER (-1024 .. 1023), |
| kepAlmanacOmegaDot INTEGER (-1024 .. 1023), |
| kepSVHealth INTEGER (0 .. 15), -- Coding according to Annex |
| kepAlmanacAPowerHalf INTEGER (-65536 .. 65535), |
| kepAlmanacOmega0 INTEGER (-32768 .. 32767), |
| kepAlmanacW INTEGER (-32768 .. 32767), |
| kepAlmanacM0 INTEGER (-32768 .. 32767), |
| kepAlmanacAF0 INTEGER (-8192 .. 8191), |
| kepAlmanacAF1 INTEGER (-1024..1023) |
| } |
| |
| -- GANSS Universal Time Coordinate Model |
| GANSSUTCModel ::= SEQUENCE { |
| ganssUtcA1 INTEGER (-8388608..8388607), |
| ganssUtcA0 INTEGER (-2147483648..2147483647), |
| ganssUtcTot INTEGER (0..255), |
| ganssUtcWNt INTEGER (0..255), |
| ganssUtcDeltaTls INTEGER (-128..127), |
| ganssUtcWNlsf INTEGER (0..255), |
| ganssUtcDN INTEGER (-128..127), |
| ganssUtcDeltaTlsf INTEGER (-128..127) |
| } |
| |
| --Required Measurement Request Response Time, range is 1 to 128 seconds. |
| RequiredResponseTime ::= INTEGER (1..128) |
| |
| Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE { |
| |
| velEstimate VelocityEstimate OPTIONAL, |
| -- Horizontal Velocity |
| -- Horizontal with Vertical Velocity |
| -- Horizontal Velocity with Uncertainty |
| -- Horizontal with Vertical Velocity and Uncertainty |
| ganssLocationInfo GANSSLocationInfo OPTIONAL, |
| ganssMeasureInfo GANSSMeasureInfo OPTIONAL, |
| ... |
| -- Further Release 7 extensions here |
| } |
| |
| -- GANSS Location Information contains location estimate, time stamp with uncertainty |
| -- and optionally Reference Frame field |
| GANSSLocationInfo ::= SEQUENCE { |
| referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number |
| ganssTODm GANSSTODm OPTIONAL, -- GNSS TOD modulo |
| ganssTODFrac INTEGER (0 .. 16384) OPTIONAL, -- Coding according to Annex |
| ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding according to Annex |
| ganssTimeID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex |
| fixType FixType, |
| posData PositionData, |
| stationaryIndication INTEGER(0 .. 1) OPTIONAL, -- '0' if moving or motion not known |
| -- Possible shapes carried in posEstimate are |
| -- ellipsoid point, |
| -- ellipsoid point with uncertainty circle |
| -- ellipsoid point with uncertainty ellipse |
| -- ellipsoid point with altitude and uncertainty ellipsoid |
| posEstimate Ext-GeographicalInformation, |
| ... |
| } |
| |
| PositionData ::= BIT STRING { |
| e-otd(0), |
| gps (1), |
| galileo (2) } (SIZE (3..16)) |
| |
| |
| -- GANSS TOD modulo 1 hour |
| GANSSTODm ::= INTEGER (0 .. 3599999) |
| |
| ReferenceFrame ::= SEQUENCE { |
| referenceFN INTEGER (0 .. 65535), |
| -- Note that applicable range for referenceFN is 0 - 42431 |
| referenceFNMSB INTEGER (0 .. 63) OPTIONAL -- MSB of Reference Frame Number |
| } |
| |
| |
| |
| -- GANSS Measurement Information |
| GANSSMeasureInfo ::= SEQUENCE { |
| -- Measurement info elements |
| -- user has to make sure that in this element is number of elements |
| -- defined in reference BTS identity |
| ganssMsrSetList SeqOfGANSS-MsrSetElement |
| } |
| SeqOfGANSS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GANSS-MsrSetElement |
| |
| -- GANSS measurement information 1-3 times in a message |
| GANSS-MsrSetElement ::= SEQUENCE { |
| referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number |
| ganssTODm GANSSTODm OPTIONAL, -- GANSS TOD modulo |
| deltaGNASSTOD INTEGER (0 .. 127) OPTIONAL, |
| ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding accoring to Annex |
| |
| --N_SGN_TYPE can be read from number of elements of SeqOfGANSS-SgnTypeElement |
| ganss-SgnTypeList SeqOfGANSS-SgnTypeElement |
| } |
| |
| -- Measurements can be returned up to 6 different signal types |
| SeqOfGANSS-SgnTypeElement ::= SEQUENCE (SIZE(1..6)) OF GANSS-SgnTypeElement |
| |
| GANSS-SgnTypeElement ::= SEQUENCE { |
| ganssSignalID INTEGER (0 .. 15), -- Coding accroding to Annex |
| --N_SGN can be read from number of elements of SeqOfGANSS-SgnElement |
| ganss-SgnList SeqOfGANSS-SgnElement |
| } |
| |
| -- Measurements can be returned up to 16 per signal types |
| SeqOfGANSS-SgnElement ::= SEQUENCE (SIZE(1..16)) OF GANSS-SgnElement |
| |
| |
| GANSS-SgnElement ::= SEQUENCE { |
| svID SVID, |
| cNo INTEGER (0 .. 63), |
| mpathDet MpathIndic, -- Coding according to Annex |
| carrierQualityInd INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex |
| codePhase INTEGER (0 .. 2097151), |
| integerCodePhase INTEGER (0 .. 63) OPTIONAL, |
| codePhaseRMSError INTEGER (0..63), -- Coding accoring to Annex |
| doppler INTEGER (-32768 .. 32767) OPTIONAL, |
| adr INTEGER (0 .. 33554431) OPTIONAL |
| } |
| |
| Rel7-AssistanceData-Extension ::= SEQUENCE { |
| ganss-AssistData GANSS-AssistData OPTIONAL, |
| ganssCarrierPhaseMeasurementRequest NULL OPTIONAL, |
| ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL, |
| ... |
| -- Possibly more extensions for Release 7 here |
| } |
| |
| END |