blob: 3bade6a6a897dcbc8d3541d119a686dff3dc8367 [file] [log] [blame]
Sylvain Munaut341542b2009-12-22 21:53:22 +01001-- RRLP-Components.asn
2-- $Id$
3-- Taken from 3GPP TS 44.031 V7.4.0 (2007-03)
4-- http://www.3gpp.org/ftp/Specs/archive/44_series/44.031/44031-740.zip/44031-740.doc
5--
6-- 4 Components
7-- 5 Elements of Components
8--
9
10RRLP-Components
11-- { RRLP-Components }
12
13DEFINITIONS AUTOMATIC TAGS ::=
14
15BEGIN
16
17IMPORTS
18 Ext-GeographicalInformation, VelocityEstimate
19FROM
20 MAP-LCS-DataTypes {
21 itu-t identified-organization (4) etsi (0) mobileDomain (0)
22 gsm-Network (1) modules (3) map-LCS-DataTypes (25) version11 (11)}
23
24 ExtensionContainer
25FROM MAP-ExtensionDataTypes {
26 itu-t identified-organization (4) etsi (0) mobileDomain (0)
27 gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version11 (11)}
28;
29
30
31-- Add here other ASN.1 definitions presented below
32-- in chapters 4 and 5.
33
34-- Measurement Position request component
35MsrPosition-Req ::= SEQUENCE {
36 positionInstruct PositionInstruct,
37 referenceAssistData ReferenceAssistData OPTIONAL,
38 msrAssistData MsrAssistData OPTIONAL,
39 systemInfoAssistData SystemInfoAssistData OPTIONAL,
40 gps-AssistData GPS-AssistData OPTIONAL,
41 extensionContainer ExtensionContainer OPTIONAL,
42 ...,
43 -- Release 98 extension element
44rel98-MsrPosition-Req-extension Rel98-MsrPosition-Req-Extension OPTIONAL,
45 -- Release 5 extension element
46rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL,
47 -- Release 7 extension element
48rel7-MsrPosition-Req-extension Rel7-MsrPosition-Req-Extension OPTIONAL
49}
50
51-- Measurement Position response component
52MsrPosition-Rsp ::= SEQUENCE {
53 multipleSets MultipleSets OPTIONAL,
54 referenceIdentity ReferenceIdentity OPTIONAL,
55 otd-MeasureInfo OTD-MeasureInfo OPTIONAL,
56 locationInfo LocationInfo OPTIONAL,
57 gps-MeasureInfo GPS-MeasureInfo OPTIONAL,
58 locationError LocationError OPTIONAL,
59 extensionContainer ExtensionContainer OPTIONAL,
60 ...,
61 -- Release extension here
62 rel-98-MsrPosition-Rsp-Extension
63 Rel-98-MsrPosition-Rsp-Extension OPTIONAL,
64 rel-5-MsrPosition-Rsp-Extension
65 Rel-5-MsrPosition-Rsp-Extension OPTIONAL,
66 -- rel-5-MsrPosition-Rsp-Extension and other possible future extensions
67 -- are the only information elements that may be included in the 2nd
68 -- MsrPosition-Rsp component when RRLP pseudo-segmentation is used
69 rel-7-MsrPosition-Rsp-Extension
70 Rel-7-MsrPosition-Rsp-Extension OPTIONAL
71}
72
73-- Assistance Data component
74AssistanceData ::= SEQUENCE {
75 referenceAssistData ReferenceAssistData OPTIONAL,
76 msrAssistData MsrAssistData OPTIONAL,
77 systemInfoAssistData SystemInfoAssistData OPTIONAL,
78 gps-AssistData GPS-AssistData OPTIONAL,
79 moreAssDataToBeSent MoreAssDataToBeSent OPTIONAL, -- If not present, interpret as only
80 -- Assistance Data component used to
81 -- deliver entire set of assistance
82 -- data.
83 extensionContainer ExtensionContainer OPTIONAL,
84 ...,
85 -- Release extension here
86 rel98-AssistanceData-Extension Rel98-AssistanceData-Extension OPTIONAL,
87 rel5-AssistanceData-Extension Rel5-AssistanceData-Extension OPTIONAL,
88 rel7-AssistanceData-Extension Rel7-AssistanceData-Extension OPTIONAL
89}
90
91-- Protocol Error component
92ProtocolError ::= SEQUENCE {
93 errorCause ErrorCodes,
94 extensionContainer ExtensionContainer OPTIONAL,
95 ...,
96 -- Release extensions here
97 rel-5-ProtocolError-Extension Rel-5-ProtocolError-Extension OPTIONAL
98}
99
100-- Position instructions
101PositionInstruct ::= SEQUENCE {
102 -- Method type
103 methodType MethodType,
104 positionMethod PositionMethod,
105 measureResponseTime MeasureResponseTime,
106 useMultipleSets UseMultipleSets,
107 environmentCharacter EnvironmentCharacter OPTIONAL
108}
109
110--
111MethodType ::= CHOICE {
112 msAssisted AccuracyOpt, -- accuracy is optional
113 msBased Accuracy, -- accuracy is mandatory
114 msBasedPref Accuracy, -- accuracy is mandatory
115 msAssistedPref Accuracy -- accuracy is mandatory
116}
117
118-- Accuracy of the location estimation
119AccuracyOpt ::= SEQUENCE {
120 accuracy Accuracy OPTIONAL
121}
122
123-- The values of this field are defined in 3GPP TS 23.032 (Uncertainty code)
124Accuracy ::= INTEGER (0..127)
125
126
127-- Position Method
128PositionMethod ::= ENUMERATED {
129 eotd (0),
130 gps (1),
131 gpsOrEOTD (2)
132}
133
134-- Measurement request response time
135MeasureResponseTime ::= INTEGER (0..7)
136
137-- useMultiple Sets, FFS!
138UseMultipleSets ::= ENUMERATED {
139 multipleSets (0), -- multiple sets are allowed
140 oneSet (1) -- sending of multiple is not allowed
141}
142
143-- Environment characterization
144EnvironmentCharacter ::= ENUMERATED {
145 badArea (0), -- bad urban or suburban, heavy multipath and NLOS
146 notBadArea (1), -- light multipath and NLOS
147 mixedArea (2), -- not defined or mixed environment
148 ...
149}
150
151-- E-OTD reference BTS for Assitance data IE
152ReferenceAssistData ::= SEQUENCE {
153 bcchCarrier BCCHCarrier, -- BCCH carrier
154 bsic BSIC, -- BSIC
155 timeSlotScheme TimeSlotScheme, -- Timeslot scheme
156 btsPosition BTSPosition OPTIONAL
157}
158
159-- ellipsoid point and
160-- ellipsoid point with altitude and uncertainty ellipsoid shapes are supported
161BTSPosition ::= Ext-GeographicalInformation
162
163-- RF channel number of BCCH
164BCCHCarrier ::= INTEGER (0..1023)
165
166-- Base station Identity Code
167BSIC ::= INTEGER (0..63)
168
169-- Timeslot scheme
170TimeSlotScheme ::= ENUMERATED {
171 equalLength (0),
172 variousLength (1)
173}
174
175-- Time slot (modulo)
176ModuloTimeSlot ::= INTEGER (0..3)
177
178-- E-OTD measurement assistance data IE
179-- The total number of neighbors in this element (MsrAssistData)
180-- and in SystemInfoAssistData element (presented neighbors
181-- can be at a maximum 15!)
182MsrAssistData ::= SEQUENCE {
183 msrAssistList SeqOfMsrAssistBTS
184}
185SeqOfMsrAssistBTS ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS
186
187MsrAssistBTS ::= SEQUENCE {
188 bcchCarrier BCCHCarrier, -- BCCH carrier
189 bsic BSIC, -- BSIC
190 multiFrameOffset MultiFrameOffset, -- multiframe offset
191 timeSlotScheme TimeSlotScheme, -- Timeslot scheme
192 roughRTD RoughRTD, -- rough RTD value
193
194 -- Location Calculation Assistance data is moved here
195 calcAssistanceBTS CalcAssistanceBTS OPTIONAL
196}
197
198-- Multiframe offset
199MultiFrameOffset ::= INTEGER (0..51)
200-- The Multiframe Offset value 51 shall not be encoded by the transmitting entity and
201-- shall be treated by the receiving entity as 0.
202
203-- Rough RTD value between one base station and reference BTS
204RoughRTD ::= INTEGER (0..1250)
205-- The RoughRTD value 1250 shall not be encoded by the transmitting entity and shall
206-- be treated by the receiving entity as 0.
207
208-- E-OTD Measurement assistance data for system information List IE
209-- The total number of base stations in this element (SystemInfoAssistData
210-- presented neighbors) and in MsrAssistData element can be at a maximum 15.
211SystemInfoAssistData ::= SEQUENCE {
212 systemInfoAssistList SeqOfSystemInfoAssistBTS
213}
214SeqOfSystemInfoAssistBTS::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS
215
216-- whether n.th is present or not ?
217SystemInfoAssistBTS ::= CHOICE {
218 notPresent NULL,
219 present AssistBTSData
220}
221
222-- Actual assistance data for system information base station
223AssistBTSData ::= SEQUENCE {
224 bsic BSIC, -- BSIC
225 multiFrameOffset MultiFrameOffset, -- multiframe offset
226 timeSlotScheme TimeSlotScheme, -- Timeslot scheme
227 roughRTD RoughRTD, -- rough RTD value
228
229 -- Location Calculation Assistance data
230 calcAssistanceBTS CalcAssistanceBTS OPTIONAL
231}
232
233-- E-OTD Location calculation assistance data,
234-- CalcAssistanceBTS element is optional not subfields
235CalcAssistanceBTS ::= SEQUENCE {
236 fineRTD FineRTD, -- fine RTD value between base stations
237 referenceWGS84 ReferenceWGS84 -- reference coordinates
238}
239
240-- Coordinates of neighbour BTS, WGS-84 ellipsoid
241ReferenceWGS84 ::= SEQUENCE {
242 relativeNorth RelDistance, -- relative distance (south negative)
243 relativeEast RelDistance, -- relative distance (west negative)
244 -- Relative Altitude is not always known
245 relativeAlt RelativeAlt OPTIONAL -- relative altitude
246}
247
248-- Fine RTD value between this BTS and the reference BTS
249FineRTD ::= INTEGER (0..255)
250
251-- Relative north/east distance
252RelDistance ::= INTEGER (-200000..200000)
253
254-- Relative altitude
255RelativeAlt ::= INTEGER (-4000..4000)
256
257-- Measure position response IEs
258-- Reference Identity
259-- Multiple sets
260MultipleSets ::= SEQUENCE {
261 -- number of reference sets
262 nbrOfSets INTEGER (2..3),
263
264 -- This field actually tells the number of reference BTSs
265 nbrOfReferenceBTSs INTEGER (1..3),
266
267 -- This field is conditional and included optionally only if
268 -- nbrOfSets is 3 and number of reference BTSs is 2.
269 referenceRelation ReferenceRelation OPTIONAL
270}
271
272-- Relation between refence BTSs and sets
273ReferenceRelation ::= ENUMERATED {
274 secondBTSThirdSet (0), -- 1st BTS related to 1st and 2nd sets
275 secondBTSSecondSet (1), -- 1st BTS related to 1st and 3rd sets
276 firstBTSFirstSet (2) -- 1st BTS related to 1st set
277}
278
279-- Reference BTS Identity, this element contains number of
280-- BTSs told nbrOfReferenceBTSs field in Multiple sets element)
281ReferenceIdentity ::= SEQUENCE {
282 -- Reference BTS list
283 refBTSList SeqOfReferenceIdentityType
284}
285SeqOfReferenceIdentityType ::= SEQUENCE (SIZE(1..3)) OF ReferenceIdentityType
286
287-- Cell identity
288ReferenceIdentityType ::= CHOICE {
289 bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
290 ci CellID, -- Cell ID, LAC not needed
291 requestIndex RequestIndex, -- Index to Requested Neighbor List
292 systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of ref. identity
293 -- shall not be used by the MS unless it has received
294 -- the SystemInfoAssistData from the SMLC for this cell.
295 ciAndLAC CellIDAndLAC -- CI and LAC
296}
297
298BSICAndCarrier ::= SEQUENCE {
299 carrier BCCHCarrier,
300 bsic BSIC
301}
302
303RequestIndex ::= INTEGER (1..16)
304
305SystemInfoIndex ::= INTEGER (1..32)
306
307CellIDAndLAC ::= SEQUENCE {
308 referenceLAC LACID, -- Location area code
309 referenceCI CellID -- Cell identity
310}
311CellID ::= INTEGER (0..65535)
312LACID ::= INTEGER (0..65535)
313
314-- OTD-MeasureInfo
315OTD-MeasureInfo ::= SEQUENCE {
316 -- Measurement info elements, OTD-MsrElement is repeated number of times
317 -- told in nbrOfReferenceBTSs in MultipleSets, default value is 1
318 otdMsrFirstSets OTD-MsrElementFirst,
319
320 -- if more than one sets are present this element is repeated
321 -- NumberOfSets - 1 (-1 = first set)
322 otdMsrRestSets SeqOfOTD-MsrElementRest OPTIONAL
323}
324
325SeqOfOTD-MsrElementRest ::= SEQUENCE (SIZE(1..2)) OF OTD-MsrElementRest
326
327-- OTD measurent information for 1 set
328OTD-MsrElementFirst ::= SEQUENCE {
329 refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
330 referenceTimeSlot ModuloTimeSlot,
331 toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
332 stdResolution StdResolution,
333 taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
334
335 -- measured neighbors in OTD measurements
336 otd-FirstSetMsrs SeqOfOTD-FirstSetMsrs OPTIONAL
337}
338SeqOfOTD-FirstSetMsrs ::= SEQUENCE (SIZE(1..10)) OF OTD-FirstSetMsrs
339
340-- OTD measurent information 2 and 3 sets if exist
341OTD-MsrElementRest ::= SEQUENCE {
342 refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
343 referenceTimeSlot ModuloTimeSlot,
344 toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
345 stdResolution StdResolution,
346 taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
347
348 -- measured neighbors in OTD measurements
349 otd-MsrsOfOtherSets SeqOfOTD-MsrsOfOtherSets OPTIONAL
350}
351SeqOfOTD-MsrsOfOtherSets ::= SEQUENCE (SIZE(1..10)) OF OTD-MsrsOfOtherSets
352
353-- Standard deviation of the TOA measurements from the reference BTS
354TOA-MeasurementsOfRef ::= SEQUENCE {
355 refQuality RefQuality,
356 numOfMeasurements NumOfMeasurements
357}
358
359RefQuality ::= INTEGER (0..31) -- St Dev of TOA of reference as defined in annex
360NumOfMeasurements ::= INTEGER (0..7) -- No. of measurements for RefQuality as defined in annex
361StdResolution ::= INTEGER (0..3) -- Values of resolution are defined in annex
362
363OTD-FirstSetMsrs ::= OTD-MeasurementWithID
364
365-- Neighbour info in OTD measurements 0-10 times in TD measurement info
366OTD-MsrsOfOtherSets ::= CHOICE {
367 identityNotPresent OTD-Measurement,
368 identityPresent OTD-MeasurementWithID
369}
370
371-- For this OTD measurement identity is same as the identity of BTS
372-- in the first set with same sequence number
373OTD-Measurement ::= SEQUENCE {
374 nborTimeSlot ModuloTimeSlot,
375 eotdQuality EOTDQuality,
376 otdValue OTDValue
377}
378
379-- This measurement contains the BTS identity and measurement
380OTD-MeasurementWithID ::=SEQUENCE {
381 neighborIdentity NeighborIdentity,
382 nborTimeSlot ModuloTimeSlot,
383 eotdQuality EOTDQuality,
384 otdValue OTDValue
385}
386
387EOTDQuality ::= SEQUENCE {
388 nbrOfMeasurements INTEGER (0..7),
389 stdOfEOTD INTEGER (0..31)
390}
391
392NeighborIdentity ::= CHOICE {
393 bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
394 ci CellID, -- Cell ID, LAC not needed
395 multiFrameCarrier MultiFrameCarrier, -- MultiFrameOffest and BSIC
396 requestIndex RequestIndex, -- Index to Requested Neighbor List
397 systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of neighbour
398 -- identity shall not be used by the MS unless it has
399 -- received the SystemInfoAssistData from the SMLC for
400 -- this cell.
401 ciAndLAC CellIDAndLAC -- CI and LAC
402}
403
404-- Multiframe and carrier
405MultiFrameCarrier ::= SEQUENCE {
406 bcchCarrier BCCHCarrier,
407 multiFrameOffset MultiFrameOffset
408}
409
410-- OTD measurement value for neighbour
411OTDValue ::= INTEGER (0..39999)
412
413-- Location information IE
414LocationInfo ::= SEQUENCE {
415 refFrame INTEGER (0..65535), -- Reference Frame number
416 -- If refFrame is within (42432..65535), it shall be ignored by the receiver
417 -- in that case the MS should provide GPS TOW if available
418 gpsTOW INTEGER (0..14399999) OPTIONAL, -- GPS TOW
419 fixType FixType,
420 -- Note that applicable range for refFrame is 0 - 42431
421 -- Possible shapes carried in posEstimate are
422 -- ellipsoid point,
423 -- ellipsoid point with uncertainty circle
424 -- ellipsoid point with uncertainty ellipse
425 -- ellipsoid point with altitude and uncertainty ellipsoid
426 posEstimate Ext-GeographicalInformation
427}
428
429FixType ::= INTEGER {
430 twoDFix (0),
431 threeDFix (1)
432} (0..1)
433
434-- GPS-Measurement information
435GPS-MeasureInfo ::= SEQUENCE {
436 -- Measurement info elements
437 -- user has to make sure that in this element is number of elements
438 -- defined in reference BTS identity
439 gpsMsrSetList SeqOfGPS-MsrSetElement
440}
441SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement
442
443-- OTD measurent information 1-3 times in message
444GPS-MsrSetElement ::= SEQUENCE {
445 refFrame INTEGER (0..65535) OPTIONAL, -- Reference Frame number
446 gpsTOW GPSTOW24b, -- GPS TOW
447 -- Note that applicable range for refFrame is 0 - 42431
448
449--N_SAT can be read from number of elements of gps-msrList
450
451 gps-msrList SeqOfGPS-MsrElement
452}
453
454-- 24 bit presentation for GPSTOW
455GPSTOW24b ::= INTEGER (0..14399999)
456
457-- measured elements in measurement parameters field
458SeqOfGPS-MsrElement ::= SEQUENCE (SIZE(1..16)) OF GPS-MsrElement
459
460GPS-MsrElement ::= SEQUENCE {
461 satelliteID SatelliteID, -- Satellite identifier
462 cNo INTEGER (0..63), -- carrier noise ratio
463 doppler INTEGER (-32768..32767), -- doppler, mulltiply by 0.2
464 wholeChips INTEGER (0..1022), -- whole value of the code phase measurement
465 fracChips INTEGER (0..1024), -- fractional value of the code phase measurement
466 -- a value of 1024 shall not be encoded by the sender
467 -- the receiver shall consider a value of 1024 to be
468 -- invalid data
469 mpathIndic MpathIndic, -- multipath indicator
470 pseuRangeRMSErr INTEGER (0..63) -- index
471}
472
473-- Multipath indicator
474MpathIndic ::= ENUMERATED {
475 notMeasured (0),
476 low (1),
477 medium (2),
478 high (3)
479}
480
481-- Location error IE
482LocationError ::= SEQUENCE {
483 locErrorReason LocErrorReason,
484 additionalAssistanceData AdditionalAssistanceData OPTIONAL,
485 ...
486}
487
488LocErrorReason ::= ENUMERATED {
489 unDefined (0),
490 notEnoughBTSs (1),
491 notEnoughSats (2),
492 eotdLocCalAssDataMissing (3),
493 eotdAssDataMissing (4),
494 gpsLocCalAssDataMissing (5),
495 gpsAssDataMissing (6),
496 methodNotSupported (7),
497 notProcessed (8),
498 refBTSForGPSNotServingBTS (9),
499 refBTSForEOTDNotServingBTS (10),
500 ...,
501 notEnoughGANSSSats (11),
502 ganssAssDataMissing (12),
503 refBTSForGANSSNotServingBTS (13)
504}
505
506-- exception handling:
507-- an unrecognized value shall be treated the same as value 0
508
509
510-- defines additional assistance data needed for any new location attempt
511-- MS shall retain any assistance data already received
512AdditionalAssistanceData ::= SEQUENCE {
513 gpsAssistanceData GPSAssistanceData OPTIONAL,
514 extensionContainer ExtensionContainer OPTIONAL,
515 ...,
516 ganssAssistanceData GANSSAssistanceData OPTIONAL
517}
518
519GPSAssistanceData ::= OCTET STRING (SIZE (1..maxGPSAssistanceData))
520-- GPSAssistanceData has identical structure and encoding to octets 3 to n of the
521-- GPS Assistance Data IE in 3GPP TS 49.031
522
523maxGPSAssistanceData INTEGER ::= 40
524
525GANSSAssistanceData ::= OCTET STRING (SIZE (1..maxGANSSAssistanceData))
526-- GANSSAssistanceData has identical structure and encoding to octets 3 to n of the
527-- GANSS Assistance Data IE in 3GPP TS 49.031
528
529maxGANSSAssistanceData INTEGER ::= 40
530
531
532-- Protocol Error Causes
533ErrorCodes ::= ENUMERATED {
534 unDefined (0),
535missingComponet (1),
536incorrectData (2),
537missingIEorComponentElement (3),
538messageTooShort (4),
539unknowReferenceNumber (5),
540...
541}
542
543-- exception handling:
544-- an unrecognized value shall be treated the same as value 0
545
546-- GPS assistance data IE
547GPS-AssistData ::= SEQUENCE {
548 controlHeader ControlHeader
549}
550
551-- More Assistance Data To Be Sent IE
552-- More Assistance Data Components On the Way indication for delivery of an entire set of assistance
553-- data in multiple Assistance Data components.
554
555MoreAssDataToBeSent ::= ENUMERATED {
556 noMoreMessages (0), -- This is the only or last Assistance Data message used to deliver
557 -- the entire set of assistance data.
558 moreMessagesOnTheWay (1) -- The SMLC will send more Assistance Data messages or a final RRLP
559 -- Measure Position Request message to deliver the
560 -- the entire set of assistance data.
561}
562
563-- Control header of the GPS assistance data
564ControlHeader ::= SEQUENCE {
565
566 -- Field type Present information
567 referenceTime ReferenceTime OPTIONAL,
568 refLocation RefLocation OPTIONAL,
569 dgpsCorrections DGPSCorrections OPTIONAL,
570 navigationModel NavigationModel OPTIONAL,
571 ionosphericModel IonosphericModel OPTIONAL,
572 utcModel UTCModel OPTIONAL,
573 almanac Almanac OPTIONAL,
574 acquisAssist AcquisAssist OPTIONAL,
575 realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL
576}
577
578ReferenceTime ::= SEQUENCE {
579 gpsTime GPSTime,
580 gsmTime GSMTime OPTIONAL,
581 gpsTowAssist GPSTOWAssist OPTIONAL
582}
583
584-- GPS Time includes week number and time-of-week (TOW)
585GPSTime ::= SEQUENCE {
586 gpsTOW23b GPSTOW23b,
587 gpsWeek GPSWeek
588}
589
590-- GPSTOW, range 0-604799.92, resolution 0.08 sec, 23-bit presentation
591GPSTOW23b ::= INTEGER (0..7559999)
592
593-- GPS week number
594GPSWeek ::= INTEGER (0..1023)
595
596-- GPSTOWAssist consists of TLM message, Anti-spoof flag, Alert flag, and 2 reserved bits in TLM Word
597-- for each visible satellite.
598-- N_SAT can be read from number of elements in GPSTOWAssist
599GPSTOWAssist ::= SEQUENCE (SIZE(1..12)) OF GPSTOWAssistElement
600
601GPSTOWAssistElement ::= SEQUENCE {
602 satelliteID SatelliteID,
603 tlmWord TLMWord,
604 antiSpoof AntiSpoofFlag,
605 alert AlertFlag,
606 tlmRsvdBits TLMReservedBits
607}
608
609-- TLM Word, 14 bits
610TLMWord ::= INTEGER (0..16383)
611
612-- Anti-Spoof flag
613AntiSpoofFlag ::= INTEGER (0..1)
614
615-- Alert flag
616AlertFlag ::= INTEGER (0..1)
617
618-- Reserved bits in TLM word, MSB occurs earlier in TLM Word transmitted by satellite
619TLMReservedBits ::= INTEGER (0..3)
620
621GSMTime ::= SEQUENCE {
622 bcchCarrier BCCHCarrier, -- BCCH carrier
623 bsic BSIC, -- BSIC
624 frameNumber FrameNumber,
625 timeSlot TimeSlot,
626 bitNumber BitNumber
627}
628
629-- Frame number
630FrameNumber ::= INTEGER (0..2097151)
631
632-- Time slot number
633TimeSlot ::= INTEGER (0..7)
634
635-- Bit number
636BitNumber ::= INTEGER (0..156)
637
638
639-- Reference Location IE
640RefLocation ::= SEQUENCE {
641 threeDLocation Ext-GeographicalInformation
642}
643
644-- DGPS Corrections IE
645DGPSCorrections ::= SEQUENCE {
646
647 gpsTOW INTEGER (0..604799), -- DGPS reference time
648 status INTEGER (0..7),
649 -- N_SAT can be read from number of elements of satList
650 satList SeqOfSatElement
651}
652SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement
653
654-- number of correction for satellites
655SatElement ::= SEQUENCE {
656 satelliteID SatelliteID,
657
658
659--- Sequence number for ephemeris
660 iode INTEGER (0..239),
661 -- User Differential Range Error
662 udre INTEGER (0..3),
663
664 -- Pseudo Range Correction, range is
665 -- -655.04 - +655.04,
666 pseudoRangeCor INTEGER (-2047..2047),
667
668 -- Pseudo Range Rate Correction, range is
669 -- -4.064 - +4.064,
670 rangeRateCor INTEGER (-127..127),
671
672-- Delta Pseudo Range Correction 2
673 deltaPseudoRangeCor2 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
674 -- set to zero by the sender
675 -- Delta Pseudo Range Correction 2
676 deltaRangeRateCor2 INTEGER (-7..7), -- This IE shall be ignored by the receiver and
677 -- set to zero by the sender
678 -- Delta Pseudo Range Correction 3
679 deltaPseudoRangeCor3 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
680 -- set to zero by the sender
681 -- Delta Pseudo Range Correction 3
682 deltaRangeRateCor3 INTEGER (-7..7) -- This IE shall be ignored by the receiver and
683 -- set to zero by the sender
684}
685
686SatelliteID ::= INTEGER (0..63) -- identifies satellite
687
688-- Navigation Model IE
689NavigationModel ::= SEQUENCE {
690 navModelList SeqOfNavModelElement
691}
692
693-- navigation model satellite list
694SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement
695
696NavModelElement ::= SEQUENCE {
697 satelliteID SatelliteID,
698 satStatus SatStatus -- satellite status
699}
700
701-- the Status of the navigation model
702SatStatus ::= CHOICE {
703 -- New satellite, new Navigation Model
704 newSatelliteAndModelUC UncompressedEphemeris,
705
706 -- Existing satellite, Existing Navigation Model
707 oldSatelliteAndModel NULL,
708
709 -- Existing satellite, new Navigation Model
710 newNaviModelUC UncompressedEphemeris,
711 ...
712}
713
714-- Uncompressed satellite emhemeris and clock corrections
715UncompressedEphemeris ::= SEQUENCE {
716 ephemCodeOnL2 INTEGER (0..3),
717 ephemURA INTEGER (0..15),
718 ephemSVhealth INTEGER (0..63),
719 ephemIODC INTEGER (0..1023),
720 ephemL2Pflag INTEGER (0..1),
721 ephemSF1Rsvd EphemerisSubframe1Reserved,
722 ephemTgd INTEGER (-128..127),
723 ephemToc INTEGER (0..37799),
724 ephemAF2 INTEGER (-128..127),
725 ephemAF1 INTEGER (-32768..32767),
726 ephemAF0 INTEGER (-2097152..2097151),
727 ephemCrs INTEGER (-32768..32767),
728 ephemDeltaN INTEGER (-32768..32767),
729 ephemM0 INTEGER (-2147483648..2147483647),
730 ephemCuc INTEGER (-32768..32767),
731 ephemE INTEGER (0..4294967295),
732 ephemCus INTEGER (-32768..32767),
733 ephemAPowerHalf INTEGER (0..4294967295),
734 ephemToe INTEGER (0..37799),
735 ephemFitFlag INTEGER (0..1),
736 ephemAODA INTEGER (0..31),
737 ephemCic INTEGER (-32768..32767),
738 ephemOmegaA0 INTEGER (-2147483648..2147483647),
739 ephemCis INTEGER (-32768..32767),
740 ephemI0 INTEGER (-2147483648..2147483647),
741 ephemCrc INTEGER (-32768..32767),
742 ephemW INTEGER (-2147483648..2147483647),
743 ephemOmegaADot INTEGER (-8388608..8388607),
744 ephemIDot INTEGER (-8192..8191)
745}
746
747-- Reserved bits in subframe 1 of navigation message
748EphemerisSubframe1Reserved ::= SEQUENCE {
749 reserved1 INTEGER (0..8388607), -- 23-bit field
750 reserved2 INTEGER (0..16777215), -- 24-bit field
751 reserved3 INTEGER (0..16777215), -- 24-bit field
752 reserved4 INTEGER (0..65535) -- 16-bit field
753}
754
755-- Ionospheric Model IE
756IonosphericModel ::= SEQUENCE {
757 alfa0 INTEGER (-128..127),
758 alfa1 INTEGER (-128..127),
759 alfa2 INTEGER (-128..127),
760 alfa3 INTEGER (-128..127),
761 beta0 INTEGER (-128..127),
762 beta1 INTEGER (-128..127),
763 beta2 INTEGER (-128..127),
764 beta3 INTEGER (-128..127)
765}
766
767-- Universal Time Coordinate Model
768UTCModel ::= SEQUENCE {
769 utcA1 INTEGER (-8388608..8388607),
770 utcA0 INTEGER (-2147483648..2147483647),
771 utcTot INTEGER (0..255),
772 utcWNt INTEGER (0..255),
773 utcDeltaTls INTEGER (-128..127),
774 utcWNlsf INTEGER (0..255),
775 utcDN INTEGER (-128..127),
776 utcDeltaTlsf INTEGER (-128..127)
777}
778
779-- Almanac, Long term model
780-- NOTE: These are parameters are subset of the ephemeris
781-- NOTE: But with reduced resolution and accuracy
782Almanac ::= SEQUENCE {
783 alamanacWNa INTEGER (0..255), -- Once per message
784
785 -- navigation model satellite list.
786 -- The size of almanacList is actually Nums_Sats_Total field
787 almanacList SeqOfAlmanacElement
788}
789SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement
790
791-- Almanac info once per satellite
792AlmanacElement ::= SEQUENCE {
793 satelliteID SatelliteID,
794 almanacE INTEGER (0..65535),
795 alamanacToa INTEGER (0..255),
796 almanacKsii INTEGER (-32768..32767),
797 almanacOmegaDot INTEGER (-32768..32767),
798 almanacSVhealth INTEGER (0..255),
799 almanacAPowerHalf INTEGER (0..16777215),
800 almanacOmega0 INTEGER (-8388608..8388607),
801 almanacW INTEGER (-8388608..8388607),
802 almanacM0 INTEGER (-8388608..8388607),
803 almanacAF0 INTEGER (-1024..1023),
804 almanacAF1 INTEGER (-1024..1023)
805}
806
807-- Acquisition Assistance
808AcquisAssist ::= SEQUENCE {
809
810 -- Number of Satellites can be read from acquistList
811 timeRelation TimeRelation,
812
813 -- Acquisition assistance list
814 -- The size of Number of Satellites is actually Number of Satellites field
815 acquisList SeqOfAcquisElement
816}
817SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement
818
819-- the relationship between GPS time and air-interface timing
820TimeRelation ::= SEQUENCE {
821 --
822 gpsTOW GPSTOW23b, -- 23b presentation
823 gsmTime GSMTime OPTIONAL
824}
825
826-- data occuring per number of satellites
827AcquisElement ::= SEQUENCE {
828 svid SatelliteID,
829
830 -- Doppler 0th order term,
831 -- -5120.0 - 5117.5 Hz (= -2048 - 2047 with 2.5 Hz resolution)
832 doppler0 INTEGER (-2048..2047),
833 addionalDoppler AddionalDopplerFields OPTIONAL,
834 codePhase INTEGER (0..1022), -- Code Phase
835 intCodePhase INTEGER (0..19), -- Integer Code Phase
836 gpsBitNumber INTEGER (0..3), -- GPS bit number
837 codePhaseSearchWindow INTEGER (0..15), -- Code Phase Search Window
838 addionalAngle AddionalAngleFields OPTIONAL
839}
840
841AddionalDopplerFields ::= SEQUENCE {
842 -- Doppler 1st order term, -1.0 - +0.5 Hz/sec
843 -- (= -42 + (0 to 63) with 1/42 Hz/sec. resolution)
844 doppler1 INTEGER (0..63),
845 dopplerUncertainty INTEGER (0..7)
846 -- a sender shall not encode any DopplerUncertainty value in the range 5 to 7
847 -- a receiver shall ignore any value between 5 and 7.
848}
849
850AddionalAngleFields ::= SEQUENCE {
851 -- azimuth angle, 0 - 348.75 deg (= 0 - 31 with 11.25 deg resolution)
852 azimuth INTEGER (0..31),
853 -- elevation angle, 0 - 78.75 deg (= 0 - 7 with 11.25 deg resolution)
854 elevation INTEGER (0..7)
855}
856
857-- Real-Time Integrity
858-- number of bad satellites can be read from this element
859SeqOf-BadSatelliteSet ::= SEQUENCE (SIZE(1..16)) OF SatelliteID
860
861-- Extension Elements
862
863-- Release 98 Extensions here
864Rel98-MsrPosition-Req-Extension ::= SEQUENCE {
865 rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
866 ...,
867 gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
868 gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
869
870-- Further R98 extensions here
871}
872Rel98-AssistanceData-Extension ::= SEQUENCE {
873 rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
874 ...,
875 gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
876 gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
877
878-- Further R98 extensions here
879}
880
881-- Release 98 ExpOTD extension
882Rel98-Ext-ExpOTD ::= SEQUENCE {
883-- If MsrAssistBTS is included in message, msrAssistData-R98-ExpOTD shall be included.
884 msrAssistData-R98-ExpOTD MsrAssistData-R98-ExpOTD OPTIONAL,
885
886-- If SystemInfoAssistaData is included in message, systemInfoAssistData-R98-ExpOTD shall be
887-- included.
888 systemInfoAssistData-R98-ExpOTD SystemInfoAssistData-R98-ExpOTD OPTIONAL
889}
890
891-- MsrAssistData R98 extension
892MsrAssistData-R98-ExpOTD ::= SEQUENCE {
893 msrAssistList-R98-ExpOTD SeqOfMsrAssistBTS-R98-ExpOTD
894}
895
896-- Indexes in SeqOfMsrAssistBTS-R98-ExpOTD refer to SeqOfMsrAssistBTS
897-- If the index exceeds the SegOfMsrAssistBTS range or if there is other
898-- inconsistencies between the BTS indices, the MS shall apply protocol
899-- error cause incorrectData
900SeqOfMsrAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS-R98-ExpOTD
901
902-- This element completes MsrAssistBTS IE
903MsrAssistBTS-R98-ExpOTD ::= SEQUENCE {
904 expectedOTD ExpectedOTD,
905 expOTDUncertainty ExpOTDUncertainty
906}
907
908-- SystemInfoAssistData R98 extension
909SystemInfoAssistData-R98-ExpOTD ::= SEQUENCE {
910 systemInfoAssistListR98-ExpOTD SeqOfSystemInfoAssistBTS-R98-ExpOTD
911}
912
913-- SeqOfSystemInfoAssistBTS-R98-ExpOTD index refer to SeqOfSystemInfoAssistBTS
914-- If the index exceeds the SegOfSystemInfoAssistBTS range or if there is other
915-- inconsistencies between the BTS indices, the MS shall apply protocol
916-- error cause incorrectData
917SeqOfSystemInfoAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS-R98-ExpOTD
918
919-- whether n.th is present or not ?
920SystemInfoAssistBTS-R98-ExpOTD ::= CHOICE {
921 notPresent NULL,
922 present AssistBTSData-R98-ExpOTD
923}
924
925-- This element completes AssistBTSData IE
926AssistBTSData-R98-ExpOTD ::= SEQUENCE {
927 expectedOTD ExpectedOTD,
928 expOTDuncertainty ExpOTDUncertainty -- Uncertainty of expected OTD
929}
930
931-- Expected OTD value between nbor base station and reference BTS
932-- at MS's current estimated location.
933ExpectedOTD ::= INTEGER (0..1250)
934-- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and
935-- shall be treated by the receiving entity as 0.
936-- Uncertainty of Exptected OTD in bits
937ExpOTDUncertainty ::= INTEGER(0..7)
938
939-- Release 98 extensions
940
941GPSReferenceTimeUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
942
943GPSTimeAssistanceMeasurements ::= SEQUENCE {
944 referenceFrameMSB INTEGER (0 .. 63), -- MSB of frame number
945 gpsTowSubms INTEGER (0 .. 9999) OPTIONAL, -- in units of 100ns, for MS based AGPS
946 deltaTow INTEGER (0 .. 127) OPTIONAL, -- for MS assisted AGPS
947 gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
948}
949
950Rel-98-MsrPosition-Rsp-Extension ::= SEQUENCE {
951
952 -- First extension to Release 98
953 rel-98-Ext-MeasureInfo SEQUENCE {
954 otd-MeasureInfo-R98-Ext OTD-MeasureInfo-R98-Ext OPTIONAL
955 },
956 ...,
957 timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL
958 -- Further R98 extensions here
959}
960
961-- This is an addition to OTD-MeasureInfo element defined in original message,
962-- If OTD-MeasureInfo is absent, or if one or more OTD-MsrElementRest are present
963-- OTD-MeasureInfo-R98-Ext shall be absent.
964-- OTD-MeasureInfo-R98-Ext
965OTD-MeasureInfo-R98-Ext ::= SEQUENCE {
966 -- Measurement info elements
967 otdMsrFirstSets-R98-Ext OTD-MsrElementFirst-R98-Ext
968}
969
970-- OTD measurement information Ext for the first set only
971OTD-MsrElementFirst-R98-Ext ::= SEQUENCE {
972 -- additional measured neighbors in OTD measurements
973 otd-FirstSetMsrs-R98-Ext SeqOfOTD-FirstSetMsrs-R98-Ext OPTIONAL
974}
975SeqOfOTD-FirstSetMsrs-R98-Ext ::= SEQUENCE (SIZE(1..5)) OF OTD-FirstSetMsrs
976
977Rel-5-MsrPosition-Rsp-Extension ::= SEQUENCE {
978
979 extended-reference Extended-reference OPTIONAL,
980 -- The extended-reference shall be included by the MS if and only if previously
981 -- received from the SMLC in a Measure Position Request. When included, the value sent
982 -- by the MS shall equal the value received from the SMLC.
983
984 -- extension to Release 5, for RRLP pseudo-segmentation here
985 otd-MeasureInfo-5-Ext OTD-MeasureInfo-5-Ext OPTIONAL,
986 ulPseudoSegInd UlPseudoSegInd OPTIONAL, -- Included when uplink RRLP
987 -- Pseudo-segmentation is used, not included when no uplink pseudo-segmentation is used
988 ...
989 -- Possibly more extensions for Release 5 here later
990}
991
992Extended-reference ::= SEQUENCE {
993 smlc-code INTEGER (0..63),
994 transaction-ID INTEGER (0..262143)
995}
996
997OTD-MeasureInfo-5-Ext ::= SeqOfOTD-MsrElementRest
998 -- if more than one measurement sets are present this element is repeated
999 -- NumberOfSets - 1 (-1 = first set) combined in OTD-MeasureInfo-5-Ext and
1000 -- OTD-MeasureInfo (e.g. if NumberOfSets is 3, then one otdMsrRestSets may
1001 -- be sent in OTD-MeasureInfo-5-Ext and one in OTD-MeasureInfo)
1002
1003-- First part of Uplink RRLP Pseudo-segmentation indication, possibly more may be defined
1004-- in the future for segmentation with more than two segments.
1005UlPseudoSegInd ::= ENUMERATED {
1006 firstOfMany (0),
1007 secondOfMany(1)
1008}
1009
1010Rel5-MsrPosition-Req-Extension ::= SEQUENCE {
1011 extended-reference Extended-reference,
1012 ...
1013 -- Possibly more extensions for Release 5 here later
1014}
1015
1016Rel5-AssistanceData-Extension ::= SEQUENCE {
1017 extended-reference Extended-reference,
1018 ...
1019
1020-- Possibly more extensions for Release 5 here later
1021}
1022
1023Rel-5-ProtocolError-Extension::= SEQUENCE {
1024 extended-reference Extended-reference OPTIONAL,
1025 -- The extended-reference shall be included by the MS if and only if previously
1026 -- received from the SMLC.
1027 -- When included, the value sent by the MS shall equal the value received from the SMLC.
1028 ...
1029
1030 -- Possibly more extensions for Release 5 here later
1031}
1032
1033-- Release 7 Extensions here
1034
1035Rel7-MsrPosition-Req-Extension ::= SEQUENCE {
1036velocityRequested NULL OPTIONAL,
1037 ganssPositionMethod GANSSPositioningMethod OPTIONAL,
1038 ganss-AssistData GANSS-AssistData OPTIONAL,
1039 ganssCarrierPhaseMeasurementRequest NULL OPTIONAL,
1040 ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
1041requiredResponseTime RequiredResponseTime OPTIONAL,
1042 ...
1043 -- Further Release 7 extentions here
1044}
1045
1046-- additional satellite systems may be added in future versions of the protocol
1047GANSSPositioningMethod ::= BIT STRING {
1048 gps (0),
1049 galileo (1)} (SIZE (2..16))
1050
1051GANSS-AssistData ::= SEQUENCE {
1052 ganss-controlHeader GANSS-ControlHeader
1053}
1054
1055GANSS-ControlHeader ::= SEQUENCE {
1056 ganssCommonAssistData GANSSCommonAssistData OPTIONAL,
1057 ganssGenericAssistDataList SeqOfGANSSGenericAssistDataElement OPTIONAL
1058}
1059
1060-- GANSS Common Assistance Data Elements
1061GANSSCommonAssistData ::= SEQUENCE {
1062 ganssReferenceTime GANSSReferenceTime OPTIONAL,
1063 ganssRefLocation GANSSRefLocation OPTIONAL,
1064 ganssIonosphericModel GANSSIonosphericModel OPTIONAL,
1065 ...
1066}
1067
1068-- List of GANSS Generic Assistance Data Elements, up to 8 GANSS
1069SeqOfGANSSGenericAssistDataElement ::= SEQUENCE (SIZE (1..8)) OF GANSSGenericAssistDataElement
1070
1071-- GANSS Generic Assistance Data Elements
1072GANSSGenericAssistDataElement ::= SEQUENCE {
1073 ganssID INTEGER (0..7) OPTIONAL, -- Coding according to Annex
1074 ganssTimeModel SeqOfGANSSTimeModel OPTIONAL,
1075 ganssDiffCorrections GANSSDiffCorrections OPTIONAL,
1076 ganssNavigationModel GANSSNavModel OPTIONAL,
1077 ganssRealTimeIntegrity GANSSRealTimeIntegrity OPTIONAL,
1078 ganssDataBitAssist GANSSDataBitAssist OPTIONAL,
1079 ganssRefMeasurementAssist GANSSRefMeasurementAssist OPTIONAL,
1080 ganssAlmanacModel GANSSAlmanacModel OPTIONAL,
1081 ganssUTCModel GANSSUTCModel OPTIONAL,
1082 ...
1083}
1084
1085-- GANSS COMMON ASSISTANCE DATA ELEMENTS
1086
1087-- GANSS Reference Time IE
1088GANSSReferenceTime ::= SEQUENCE {
1089 ganssRefTimeInfo GANSSRefTimeInfo,
1090 ganssTOD-GSMTimeAssociation GANSSTOD-GSMTimeAssociation OPTIONAL
1091}
1092
1093-- GANSS Reference Time includes GANSS TOD, GANSS Day, uncertainty
1094GANSSRefTimeInfo ::= SEQUENCE {
1095 ganssDay INTEGER(0 .. 8191) OPTIONAL,
1096 ganssTOD GANSSTOD,
1097 ganssTODUncertainty GANSSTODUncertainty OPTIONAL,
1098 ganssTimeID INTEGER (0 .. 7) OPTIONAL
1099}
1100
1101-- GANSS TOD integer seconds
1102GANSSTOD ::= INTEGER (0 .. 86399)
1103
1104-- GANSS TOD uncertainty
1105GANSSTODUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
1106
1107-- GANSS TOD-GSM Time association
1108GANSSTOD-GSMTimeAssociation ::= SEQUENCE {
1109 bcchCarrier BCCHCarrier, -- BCCH carrier
1110 bsic BSIC, -- BSIC
1111 frameNumber FrameNumber,
1112 timeSlot TimeSlot,
1113 bitNumber BitNumber,
1114 frameDrift FrameDrift OPTIONAL
1115}
1116
1117-- Frame drift
1118FrameDrift ::= INTEGER(-64 .. 63)
1119
1120-- GANSS Reference Location IE
1121GANSSRefLocation ::= SEQUENCE {
1122 threeDLocation Ext-GeographicalInformation
1123}
1124
1125-- GANSS Ionospheric Model IE
1126-- GANSS Ionospheric Model consists of NeQuick model parameters and storm flags
1127
1128GANSSIonosphericModel ::= SEQUENCE {
1129 ganssIonoModel GANSSIonosphereModel,
1130 ganssIonoStormFlags GANSSIonoStormFlags OPTIONAL,
1131 ...
1132}
1133
1134-- GANSS ionosphere model. Coding according to Annex
1135GANSSIonosphereModel ::= SEQUENCE {
1136 ai0 INTEGER (0 .. 4095),
1137 ai1 INTEGER (0 .. 4095),
1138 ai2 INTEGER (0 .. 4095)
1139}
1140
1141-- GANSS ionosphere storm flags
1142GANSSIonoStormFlags ::= SEQUENCE {
1143 ionoStormFlag1 INTEGER (0 .. 1),
1144 ionoStormFlag2 INTEGER (0 .. 1),
1145 ionoStormFlag3 INTEGER (0 .. 1),
1146 ionoStormFlag4 INTEGER (0 .. 1),
1147 ionoStormFlag5 INTEGER (0 .. 1)
1148}
1149
1150-- GANSS GENERIC ASSISTANCE DATA ELEMENTS
1151
1152-- GANSS Time Model IE consists of time offset and first and second order parameters to relate GNSS
1153-- specific system time to selected time reference
1154SeqOfGANSSTimeModel ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement
1155
1156GANSSTimeModelElement ::= SEQUENCE {
1157 ganssTimeModelRefTime INTEGER(0 .. 65535),
1158 tA0 TA0,
1159 tA1 TA1 OPTIONAL,
1160 tA2 TA2 OPTIONAL,
1161 gnssTOID INTEGER (0 .. 7),
1162 weekNumber INTEGER (0 .. 8191) OPTIONAL
1163}
1164
1165-- GANSS time model parameter A0
1166TA0 ::= INTEGER (-2147483648 .. 2147483647)
1167
1168-- GANSS time model parameter A1
1169TA1 ::= INTEGER (-8388608 .. 8388607)
1170
1171-- GANSS time model parameter A2
1172TA2 ::= INTEGER (-64 .. 63)
1173
1174-- DGANSS Corrections IE
1175GANSSDiffCorrections ::= SEQUENCE {
1176 dganssRefTime INTEGER (0 .. 119), -- DGANSS reference time
1177
1178 -- N_SGN_TYPE can be read from number of elements of sgnTypeList
1179 sgnTypeList SeqOfSgnTypeElement
1180}
1181
1182SeqOfSgnTypeElement ::= SEQUENCE (SIZE (1..3)) OF SgnTypeElement -- max three signals per GNSS
1183
1184-- DGANSS signal type element, once per GNSS signal type included in DGANSS
1185SgnTypeElement ::= SEQUENCE {
1186 ganssSignalID GANSSSignalID OPTIONAL, -- signal type identity
1187 ganssStatusHealth INTEGER (0 .. 7),
1188 -- N_SGN can be read from number of elements of dganssSgnList
1189 dganssSgnList SeqOfDGANSSSgnElement
1190}
1191
1192GANSSSignalID ::= INTEGER (0 .. 3) -- Coding according to Annex
1193SeqOfDGANSSSgnElement ::= SEQUENCE (SIZE (1..16)) OF DGANSSSgnElement
1194
1195-- number of correction for signals
1196DGANSSSgnElement ::= SEQUENCE {
1197 svID SVID, -- Satellite identity
1198
1199--- Sequence number for GANSS Navigation Model that matches the DGANSS correction set
1200 iod INTEGER (0 .. 1023),
1201
1202 -- User Differential Range Error
1203 udre INTEGER (0..3),
1204
1205 -- Pseudo Range Correction, range is
1206 -- -655.04 - +655.04,
1207 pseudoRangeCor INTEGER (-2047..2047),
1208
1209 -- Pseudo Range Rate Correction, range is
1210 -- -4.064 - +4.064,
1211 rangeRateCor INTEGER (-127..127)
1212}
1213
1214SVID ::= INTEGER (0 .. 63) -- Coding according to Annex
1215
1216-- GANSS Navigation Model IE
1217GANSSNavModel ::= SEQUENCE {
1218 nonBroadcastIndFlag INTEGER (0 .. 1),
1219 toeMSB INTEGER (0 .. 31) OPTIONAL, -- 5 MSB of toe and toc
1220 eMSB INTEGER (0 .. 127) OPTIONAL,
1221 sqrtAMBS INTEGER (0 .. 63) OPTIONAL,
1222 ganssSatelliteList SeqOfGANSSSatelliteElement
1223}
1224
1225SeqOfGANSSSatelliteElement ::= SEQUENCE (SIZE(1..32)) OF GANSSSatelliteElement
1226
1227GANSSSatelliteElement ::= SEQUENCE {
1228 svID SVID,
1229 svHealth INTEGER (-7 .. 13), -- Coding according to Annex
1230 iod INTEGER (0 .. 1023), -- Coding according to Annex
1231 ganssClockModel GANSSClockModel,
1232 ganssOrbitModel GANSSOrbitModel,
1233 ...
1234}
1235
1236-- GANSS orbit model for the GNSS satellite according to the choice
1237GANSSOrbitModel ::= CHOICE {
1238 keplerianSet NavModel-KeplerianSet,
1239 ...
1240}
1241
1242-- Navigation model in Keplerian parameters
1243NavModel-KeplerianSet ::= SEQUENCE {
1244 keplerToeLSB INTEGER (0 .. 511), -- 9LSB are given in GANSSNavigationModel
1245 keplerW INTEGER (-2147483648..2147483647),
1246 keplerDeltaN INTEGER (-32768..32767),
1247 keplerM0 INTEGER (-2147483648..2147483647),
1248 keplerOmegaDot INTEGER (-8388608..8388607),
1249 keplerELSB INTEGER (0..33554431),
1250 keplerIDot INTEGER (-8192..8191),
1251 keplerAPowerHalfLSB INTEGER (0.. 67108863),
1252 keplerI0 INTEGER (-2147483648..2147483647),
1253 keplerOmega0 INTEGER (-2147483648..2147483647),
1254 keplerCrs INTEGER (-32768..32767),
1255 keplerCis INTEGER (-32768..32767),
1256 keplerCus INTEGER (-32768..32767),
1257 keplerCrc INTEGER (-32768..32767),
1258 keplerCic INTEGER (-32768..32767),
1259 keplerCuc INTEGER (-32768..32767)
1260}
1261
1262-- GANSS clock model for the GNSS satellite according to the choice
1263GANSSClockModel ::= CHOICE {
1264 standardClockModelList SeqOfStandardClockModelElement,
1265 ...
1266}
1267
1268SeqOfStandardClockModelElement ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement
1269
1270StandardClockModelElement ::= SEQUENCE {
1271 stanClockTocLSB INTEGER (0 .. 511), -- 9LSB of time of clock
1272 stanClockAF2 INTEGER (-2048 .. 2047),
1273 stanClockAF1 INTEGER (-131072 .. 131071),
1274 stanClockAF0 INTEGER (-134217728 .. 134217727),
1275 stanClockTgd INTEGER (-512 .. 511) OPTIONAL,
1276 stanModelID INTEGER (0 .. 1) OPTIONAL,
1277 ...
1278}
1279
1280-- GANSS Real-Time Integrity IE
1281GANSSRealTimeIntegrity ::= SEQUENCE {
1282 -- list of bad signals
1283 -- NBS can be read from number of elements in SeqOf-BadSignalSet
1284 ganssBadSignalList SeqOfBadSignalElement
1285}
1286
1287SeqOfBadSignalElement ::= SEQUENCE (SIZE(1..16)) OF BadSignalElement
1288
1289BadSignalElement ::= SEQUENCE {
1290 badSVID SVID, -- Coding according to Annex
1291 badSignalID INTEGER (0 .. 3) OPTIONAL -- Coding according to Annex
1292}
1293
1294
1295-- GANSS Data Bit Assistance IE
1296GANSSDataBitAssist ::= SEQUENCE {
1297 ganssTOD INTEGER (0 .. 59),
1298 svID SVID,
1299 ganssDataTypeID INTEGER (0 .. 2), -- Coding according to Annex
1300 -- list of navigation data bits
1301 -- N_BIT can be read from number of elements in SeqOf-DataBits
1302 ganssDataBits SeqOf-GANSSDataBits
1303}
1304
1305SeqOf-GANSSDataBits ::= SEQUENCE (SIZE(1 .. 1024)) OF GANSSDataBit
1306GANSSDataBit ::= INTEGER(0 .. 1)
1307
1308-- GANSS Reference Measurement Assistance IE
1309-- Code and Doppler assistance from the network.
1310GANSSRefMeasurementAssist ::= SEQUENCE {
1311 ganssSignalID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
1312 ganssRefMeasAssitList SeqOfGANSSRefMeasurementElement
1313}
1314
1315SeqOfGANSSRefMeasurementElement ::= SEQUENCE (SIZE(1 .. 16)) OF GANSSRefMeasurementElement
1316
1317GANSSRefMeasurementElement ::= SEQUENCE {
1318 svID SVID,
1319 -- Doppler 0th order term,
1320 -- -1024 m/s to 1023.5 m/s with 0.5 m/s resolution)
1321 doppler0 INTEGER (-2048 .. 2047), -- Coding according to Annex
1322 additionalDoppler AdditionalDopplerFields OPTIONAL,
1323 codePhase INTEGER (0 .. 1022), -- Code Phase in ms
1324 intCodePhase INTEGER (0 .. 127), -- Integer Code Phase in ms
1325 codePhaseSearchWindow INTEGER (0 .. 31), -- Code Phase Search Window, see Annex
1326 additionalAngle AddionalAngleFields OPTIONAL,
1327 ...
1328}
1329
1330AdditionalDopplerFields ::= SEQUENCE {
1331 -- Doppler 1st order term, -0.2 - +0.1 m/s2
1332 doppler1 INTEGER (0..63),
1333 dopplerUncertainty INTEGER (0..4)
1334}
1335
1336-- GANSS Almanac Model IE
1337GANSSAlmanacModel ::= SEQUENCE {
1338 weekNumber INTEGER (0 .. 255),
1339 svIDMask SVIDMASK,
1340 toa INTEGER (0 .. 255) OPTIONAL,
1341 ioda INTEGER (0 .. 3) OPTIONAL,
1342 ganssAlmanacList SeqOfGANSSAlmanacElement
1343}
1344
1345-- SV ID Mask, LSB for ID 1 and MSB for ID 36
1346SVIDMASK ::= BIT STRING (SIZE (1..36))
1347
1348SeqOfGANSSAlmanacElement ::= SEQUENCE (SIZE(1 .. 36)) OF GANSSAlmanacElement
1349
1350-- GANSS Almanac Model
1351GANSSAlmanacElement ::= CHOICE {
1352 keplerianAlmanacSet Almanac-KeplerianSet,
1353 ...
1354}
1355
1356-- Almanac parameters according to Keplerian parameters
1357Almanac-KeplerianSet ::= SEQUENCE {
1358 kepAlmanacE INTEGER (0 .. 2047),
1359 kepAlmanacDeltaI INTEGER (-1024 .. 1023),
1360 kepAlmanacOmegaDot INTEGER (-1024 .. 1023),
1361 kepSVHealth INTEGER (0 .. 15), -- Coding according to Annex
1362 kepAlmanacAPowerHalf INTEGER (-65536 .. 65535),
1363 kepAlmanacOmega0 INTEGER (-32768 .. 32767),
1364 kepAlmanacW INTEGER (-32768 .. 32767),
1365 kepAlmanacM0 INTEGER (-32768 .. 32767),
1366 kepAlmanacAF0 INTEGER (-8192 .. 8191),
1367 kepAlmanacAF1 INTEGER (-1024..1023)
1368}
1369
1370-- GANSS Universal Time Coordinate Model
1371GANSSUTCModel ::= SEQUENCE {
1372 ganssUtcA1 INTEGER (-8388608..8388607),
1373 ganssUtcA0 INTEGER (-2147483648..2147483647),
1374 ganssUtcTot INTEGER (0..255),
1375 ganssUtcWNt INTEGER (0..255),
1376 ganssUtcDeltaTls INTEGER (-128..127),
1377 ganssUtcWNlsf INTEGER (0..255),
1378 ganssUtcDN INTEGER (-128..127),
1379 ganssUtcDeltaTlsf INTEGER (-128..127)
1380}
1381
1382--Required Measurement Request Response Time, range is 1 to 128 seconds.
1383RequiredResponseTime ::= INTEGER (1..128)
1384
1385Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE {
1386
1387 velEstimate VelocityEstimate OPTIONAL,
1388 -- Horizontal Velocity
1389 -- Horizontal with Vertical Velocity
1390 -- Horizontal Velocity with Uncertainty
1391 -- Horizontal with Vertical Velocity and Uncertainty
1392 ganssLocationInfo GANSSLocationInfo OPTIONAL,
1393 ganssMeasureInfo GANSSMeasureInfo OPTIONAL,
1394 ...
1395-- Further Release 7 extensions here
1396}
1397
1398-- GANSS Location Information contains location estimate, time stamp with uncertainty
1399-- and optionally Reference Frame field
1400GANSSLocationInfo ::= SEQUENCE {
1401 referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
1402 ganssTODm GANSSTODm OPTIONAL, -- GNSS TOD modulo
1403 ganssTODFrac INTEGER (0 .. 16384) OPTIONAL, -- Coding according to Annex
1404 ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding according to Annex
1405 ganssTimeID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
1406 fixType FixType,
1407 posData PositionData,
1408 stationaryIndication INTEGER(0 .. 1) OPTIONAL, -- '0' if moving or motion not known
1409 -- Possible shapes carried in posEstimate are
1410 -- ellipsoid point,
1411 -- ellipsoid point with uncertainty circle
1412 -- ellipsoid point with uncertainty ellipse
1413 -- ellipsoid point with altitude and uncertainty ellipsoid
1414 posEstimate Ext-GeographicalInformation,
1415 ...
1416}
1417
1418PositionData ::= BIT STRING {
1419 e-otd(0),
1420 gps (1),
1421 galileo (2) } (SIZE (3..16))
1422
1423
1424-- GANSS TOD modulo 1 hour
1425GANSSTODm ::= INTEGER (0 .. 3599999)
1426
1427ReferenceFrame ::= SEQUENCE {
1428 referenceFN INTEGER (0 .. 65535),
1429 -- Note that applicable range for referenceFN is 0 - 42431
1430 referenceFNMSB INTEGER (0 .. 63) OPTIONAL -- MSB of Reference Frame Number
1431}
1432
1433
1434
1435-- GANSS Measurement Information
1436GANSSMeasureInfo ::= SEQUENCE {
1437 -- Measurement info elements
1438 -- user has to make sure that in this element is number of elements
1439 -- defined in reference BTS identity
1440 ganssMsrSetList SeqOfGANSS-MsrSetElement
1441}
1442SeqOfGANSS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GANSS-MsrSetElement
1443
1444-- GANSS measurement information 1-3 times in a message
1445GANSS-MsrSetElement ::= SEQUENCE {
1446 referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
1447 ganssTODm GANSSTODm OPTIONAL, -- GANSS TOD modulo
1448 deltaGNASSTOD INTEGER (0 .. 127) OPTIONAL,
1449 ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding accoring to Annex
1450
1451 --N_SGN_TYPE can be read from number of elements of SeqOfGANSS-SgnTypeElement
1452 ganss-SgnTypeList SeqOfGANSS-SgnTypeElement
1453}
1454
1455-- Measurements can be returned up to 6 different signal types
1456SeqOfGANSS-SgnTypeElement ::= SEQUENCE (SIZE(1..6)) OF GANSS-SgnTypeElement
1457
1458GANSS-SgnTypeElement ::= SEQUENCE {
1459 ganssSignalID INTEGER (0 .. 15), -- Coding accroding to Annex
1460 --N_SGN can be read from number of elements of SeqOfGANSS-SgnElement
1461 ganss-SgnList SeqOfGANSS-SgnElement
1462}
1463
1464-- Measurements can be returned up to 16 per signal types
1465SeqOfGANSS-SgnElement ::= SEQUENCE (SIZE(1..16)) OF GANSS-SgnElement
1466
1467
1468GANSS-SgnElement ::= SEQUENCE {
1469 svID SVID,
1470 cNo INTEGER (0 .. 63),
1471 mpathDet MpathIndic, -- Coding according to Annex
1472 carrierQualityInd INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
1473 codePhase INTEGER (0 .. 2097151),
1474 integerCodePhase INTEGER (0 .. 63) OPTIONAL,
1475 codePhaseRMSError INTEGER (0..63), -- Coding accoring to Annex
1476 doppler INTEGER (-32768 .. 32767) OPTIONAL,
1477 adr INTEGER (0 .. 33554431) OPTIONAL
1478}
1479
1480Rel7-AssistanceData-Extension ::= SEQUENCE {
1481 ganss-AssistData GANSS-AssistData OPTIONAL,
1482 ganssCarrierPhaseMeasurementRequest NULL OPTIONAL,
1483 ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
1484 ...
1485-- Possibly more extensions for Release 7 here
1486}
1487
1488END