6.5.5 Sensor based Positioning
37.3553GPPLTE Positioning Protocol (LPP)Release 17TS
6.5.5.0 Introduction
This clause defines support for sensor-based positioning. The supported sensor methods are "Barometric pressure sensor" and "Motion sensor" as described in TS 36.305, clauses 8.6 and 8.10 respectively [2].
6.5.5.1 Sensor Location Information
– Sensor-ProvideLocationInformation
The IE Sensor-ProvideLocationInformation is used by the target device to provide location information for sensor-based methods to the location server. It may also be used to provide sensor specific error reason.
— ASN1START
Sensor-ProvideLocationInformation-r13 ::= SEQUENCE {
sensor-MeasurementInformation-r13 Sensor-MeasurementInformation-r13 OPTIONAL,
sensor-Error-r13 Sensor-Error-r13 OPTIONAL,
…,
[[
sensor-MotionInformation-r15 Sensor-MotionInformation-r15 OPTIONAL
]]
}
— ASN1STOP
6.5.5.2 Sensor Location Information Elements
– Sensor-MeasurementInformation
The IE Sensor-MeasurementInformation is used by the target device to provide UE sensor measurements to the location server.
— ASN1START
Sensor-MeasurementInformation-r13 ::= SEQUENCE {
measurementReferenceTime-r13 UTCTime OPTIONAL,
uncompensatedBarometricPressure-r13 INTEGER (30000..115000) OPTIONAL, — Cond Barometer
…,
[[
uncertainty-r14 SEQUENCE {
range-r14 INTEGER (0..1000),
confidence-r14 INTEGER (1..100)
} OPTIONAL
]],
[[ adjustment-r16 INTEGER (-5000..5000) OPTIONAL
]]
}
— ASN1STOP
Conditional presence |
Explanation |
---|---|
Barometer |
The field is mandatory present if the Sensor-MeasurementInformation is provided for barometric pressure; otherwise it is not present. |
Sensor-MeasurementInformation field descriptions |
---|
measurementReferenceTime This field provides the UTC time when the sensor measurements are performed and should take the form of YYMMDDhhmmssZ. |
uncompensatedBarometricPressure This field provides the uncompensated barometric pressure as measured by the UE sensor, in units of Pa. |
uncertainty This field provides the expected range for the pressure measurement in units of Pa and the confidence as a percentage that the true pressure lies in a range of (measurement – range) to (measurement + range). |
adjustment This field provides any adjustment available in the UE, in units of Pa, to allow the production of a compensated atmospheric pressure measurement where compensated atmospheric pressure = uncompensatedBarometricPressure + adjustment |
– Sensor-MotionInformation
The IE Sensor-MotionInformation is used by the target device to provide UE movement information to the location server. The movement information comprises an ordered series of points. This information may be obtained by the target device using one or more motion sensors.
— ASN1START
Sensor-MotionInformation-r15 ::= SEQUENCE {
refTime-r15 DisplacementTimeStamp-r15,
displacementInfoList-r15 DisplacementInfoList-r15,
…
}
DisplacementInfoList-r15 ::= SEQUENCE (SIZE (1..128)) OF DisplacementInfoListElement-r15
DisplacementInfoListElement-r15 ::= SEQUENCE {
deltaTimeStamp-r15 DeltaTime-r15,
displacement-r15 Displacement-r15 OPTIONAL,
…
}
DisplacementTimeStamp-r15 ::= CHOICE {
utcTime-r15 UTC-Time-r15,
gnssTime-r15 MeasurementReferenceTime,
systemFrameNumber-r15 SFN-r15,
measurementSFN-r15 INTEGER(-8192..9214),
…
}
DeltaTime-r15 ::= CHOICE {
deltaTimeSec-r15 INTEGER (1..16384),
deltaTimeSFN-r15 INTEGER (1..4096),
…
}
SFN-r15 ::= SEQUENCE {
sfn-r15 BIT STRING (SIZE (10)),
hyperSFN-r15 BIT STRING (SIZE (10)) OPTIONAL,
…
}
Displacement-r15 ::= SEQUENCE {
bearing-r15 INTEGER (0..3599),
bearingUncConfidence-r15 INTEGER (0..100) OPTIONAL,
bearingRef-r15 ENUMERATED { geographicNorth, magneticNorth, local },
horizontalDistance-r15 INTEGER (0..8191),
horizontalDistanceUnc-r15 INTEGER (0..255) OPTIONAL,
horizontalUncConfidence-r15 INTEGER (0..100) OPTIONAL,
verticalDirection-r15 ENUMERATED{upward, downward} OPTIONAL,
verticalDistance-r15 INTEGER(0..8191) OPTIONAL,
verticalDistanceUnc-r15 INTEGER (0..255) OPTIONAL,
verticalUncConfidence-r15 INTEGER (0..100) OPTIONAL,
…
}
UTC-Time-r15 ::= SEQUENCE {
utcTime-r15 UTCTime,
utcTime-ms-r15 INTEGER (0..999),
…
}
— ASN1STOP
Sensor-MotionInformation field descriptions |
---|
refTime This field provides the reference time t0 associated with the starting position of the first displacement in the displacement list. |
displacementInfoList This field provides an ordered series of direction and distance travelled by the target device and comprises the following subfields: – deltaTimeStamp specifies the time between tn-1 and tn, were n corresonds to the order of entry in the DispacementInfoList (n=0 correspond to the time provided in refTime). – displacement provides the direction and distance travelled between time tn-1 and tn. |
utcTime This field provides the time stamp of the refTime in UTC time and comprises the following subfields: – utcTime in the form of YYMMDDhhmmssZ. – utcTime-ms specifies the fractional part of the UTC time in ms resolution. |
gnssTime This field provides the time stamp of the refTime in GNSS time. |
systemFrameNumber This field provides the time stamp of the refTime in serving cell SFN time. |
measurementSFN This field provides the time stamp of the refTime in form of the measurement SFN as defined in deltaSFN in IE OTDOA-SignalMeasurementInformation. This field may be included when OTDOA measurements are included. |
deltaTimeSec This field provides the time between tn-1 and tn in units of milliseconds. |
deltaTimeSFN This field provides the time between tn-1 and tn in units of system frame numbers. |
bearing This field specifies the direction (heading) of the horizontal displacement measured clockwise from bearingRef. Scale factor 0.1 degree. |
bearingRef This field specifies the reference direction for the bearing. Enumerated value ‘geographicNorth‘ indicates that the bearing is measured clockwise from the Geographic North; ‘magneticNorth‘ indicates that the bearing is measured clockwise from the Magnetic North; ‘local‘ indicates that the bearing is measured clockwise from an arbitrary (undefined) reference direction. |
horizontalDistance This field specifies the horizonal distance travelled between time tn-1 and tn. Scale factor 1 cm. |
horizontalDistanceUnc, horizontalUncConfidence This field specifies the horizontal uncertainty of the displacement (corresponding to tn). horizontalDistanceUnc correspond to the encoded high accuracy uncertainty as defined in TS 23.032 [15]. horizontalUncConfidence corresponds to confidence as defined in TS 23.032 [15]. |
verticalDistance This field specifies the vertical distance travelled between time tn-1 and tn. Scale factor 1 cm. |
verticalDistanceUnc, verticalUncConfidence This field specifies the vertical uncertainty of the displacement (corresponding to tn). verticalDistanceUnc correspond to the encoded high accuracy uncertainty as defined in TS 23.032 [15]. verticalUncConfidence corresponds to confidence as defined in TS 23.032 [15]. |
6.5.5.3 Sensor Location Information Request
– Sensor-RequestLocationInformation
The IE Sensor-RequestLocationInformation is used by the location server to request location information for sensor-based methods from a target device.
— ASN1START
Sensor-RequestLocationInformation-r13 ::= SEQUENCE {
uncompensatedBarometricPressureReq-r13 BOOLEAN,
…,
[[ assistanceAvailability-r14 BOOLEAN OPTIONAL — Need ON
]],
[[ sensor-MotionInformationReq-r15 BOOLEAN OPTIONAL — Need ON
]],
[[ adjustmentReq-r16 BOOLEAN OPTIONAL — Need ON
]]
}
— ASN1STOP
Sensor-RequestLocationInformation field descriptions |
---|
uncompensatedBarometricPressureReq This field indicates whether the target device is requested to report Barometric pressure measurements in Sensor‑MeasurementInformation IE or not. TRUE means requested. |
assistanceAvailability This field indicates whether the target device may request additional Sensor assistance data from the server. TRUE means allowed and FALSE means not allowed. |
sensor-MotionInformationReq This field indicates whether the target device is requested to report movement information in IE Sensor‑MotionInformation or not. TRUE means requested. |
adjustmentReq This field indicates whether the target device is requested to report adjustment in IE Sensor-MeasurementInformation or not. TRUE means requested. |
6.5.5.4 Sensor Capability Information
– Sensor-ProvideCapabilities
The IE Sensor-ProvideCapabilities is used by the target device to provide capabilities for sensor-based methods from to the location server.
— ASN1START
Sensor-ProvideCapabilities-r13 ::= SEQUENCE {
sensor-Modes-r13 BIT STRING { standalone (0),
ue-assisted (1),
ue-based (2)} (SIZE (1..8)),
…,
[[ sensor-AssistanceDataSupportList-r14 Sensor-AssistanceDataSupportList-r14 OPTIONAL,
periodicalReportingSupported-r14 PositioningModes OPTIONAL,
idleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL
]],
[[ sensor-MotionInformationSup-r15 ENUMERATED { true } OPTIONAL
]],
[[ adjustmentSupported-r16 ENUMERATED { true } OPTIONAL
]],
[[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL
]]
}
Sensor-AssistanceDataSupportList-r14 ::= SEQUENCE {
…,
[[ validityPeriodSupported-v1520 ENUMERATED { true } OPTIONAL,
validityAreaSupported-v1520 ENUMERATED { true } OPTIONAL
]]
}
— ASN1STOP
Sensor-ProvideCapabilities field descriptions |
---|
sensor-Modes This field specifies the sensor mode(s) supported by the target device. This is represented by a bit string, with a one‑value at the bit position means the particular sensor mode is supported; a zero‑value means not supported. |
sensor-AssistanceDataSupportList This field specifies a list of sensor assistance data supported by the target device. This field shall be present if the target device supports assistance data for Barometric pressure sensor. |
validityPeriodSupported This field, if present, indicates that the target device supports period i.e. pressure validity period and pressure rate as part of the Sensor-AssistanceDataList. |
valitidyAreaSupported This field, if present, indicates that the target device supports area i.e. pressure validity area and North/East pressure gradient as part of the Sensor-AssistanceDataList. |
periodicalReportingSupported This field, if present, specifies the positioning modes for which the target device supports periodicalReporting. This is represented by a bit string, with a one‑value at the bit position means periodicalReporting for the positioning mode is supported; a zero‑value means not supported. If this field is absent, the location server may assume that the target device does not support periodicalReporting in CommonIEsRequestLocationInformation. |
idleStateForMeasurements This field, if present, indicates that the target device requires idle state to perform sensor measurements. |
sensor-MotionInformationSup This field, if present, indicates that the target device supports displacement reporting in IE Sensor-MotionInformation. |
adjustmentSupported This field, if present, indicates that the target device supports the adjustment IE in Sensor-MeasurementInformation. |
scheduledLocationRequestSupported This field, if present, specifies the positioning modes for which the target device supports scheduled location requests – i.e., supports the IE ScheduledLocationTime in IE CommonIEsRequestLocationInformation – and the time base(s) supported for the scheduled location time for each positioning mode. If this field is absent, the target device does not support scheduled location requests. |
6.5.5.5 Sensor Capability Information Request
– Sensor-RequestCapabilities
The IE Sensor-RequestCapabilities is used by the location server to request capabilities for sensor-based methods from the target device.
— ASN1START
Sensor-RequestCapabilities-r13 ::= SEQUENCE {
…
}
— ASN1STOP
6.5.5.6 Sensor Error Elements
– Sensor-Error
The IE Sensor-Error is used by the location server or target device to provide Sensor Error Reasons to the target device or location server, respectively.
— ASN1START
Sensor-Error-r13 ::= CHOICE {
locationServerErrorCauses-r13 Sensor-LocationServerErrorCauses-r13,
targetDeviceErrorCauses-r13 Sensor-TargetDeviceErrorCauses-r13,
…
}
— ASN1STOP
– Sensor-LocationServerErrorCauses
The IE Sensor-LocationServerErrorCauses is used by the location server to provide error reasons for Sensor positioning to the target device.
— ASN1START
Sensor-LocationServerErrorCauses-r13 ::= SEQUENCE {
cause-r13 ENUMERATED { undefined,
…,
assistanceDataNotSupportedByServer-v1420,
assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420
},
…
}
— ASN1STOP
– Sensor-TargetDeviceErrorCauses
The IE Sensor-TargetDeviceErrorCauses is used by the target device to provide error reasons for Sensor positioning to the location server.
— ASN1START
Sensor-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
cause-r13 ENUMERATED { undefined,
…,
assistanceDataMissing-v1420
},
…
}
— ASN1STOP
6.5.5.7 Sensor Assistance Data
– Sensor-ProvideAssistanceData
The IE Sensor-ProvideAssistanceData is used by the location server to provide assistance data to assist in altitude computation at the UE (e.g. for UE‑based mode). It may also be used to provide Sensor positioning specific error reasons.
— ASN1START
Sensor-ProvideAssistanceData-r14 ::= SEQUENCE {
sensor-AssistanceDataList-r14 Sensor-AssistanceDataList-r14 OPTIONAL, — Need ON
sensor-Error-r14 Sensor-Error-r13 OPTIONAL, — Need ON
…
}
— ASN1STOP
6.5.5.8 Sensor Assistance Data Elements
– Sensor-AssistanceDataList
The IE Sensor-AssistanceDataList is used by the location server to provide the Sensor specific assistance data to the UE.
— ASN1START
Sensor-AssistanceDataList-r14::= SEQUENCE {
refPressure-r14 INTEGER (-20000..10000),
refPosition-r14 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL, — Need ON
refTemperature-r14 INTEGER (-64..63) OPTIONAL, — Need ON
…,
[[
period-v1520 SEQUENCE {
pressureValidityPeriod-v1520 PressureValidityPeriod-v1520,
referencePressureRate-v1520 INTEGER (-128..127) OPTIONAL, — Need ON
…
} OPTIONAL, — Need ON
area-v1520 SEQUENCE {
pressureValidityArea-v1520 PressureValidityArea-v1520,
gN-pressure-v1520 INTEGER (-1024..1023) OPTIONAL, — Need ON
gE-pressure-v1520 INTEGER (-1024..1023) OPTIONAL, — Need ON
…
} OPTIONAL — Need ON
]]
}
PressureValidityArea-v1520 ::= SEQUENCE {
centerPoint-v1520 Ellipsoid-Point,
validityAreaWidth-v1520 INTEGER (1..128),
validityAreaHeight-v1520 INTEGER (1..128),
…
}
PressureValidityPeriod-v1520 ::= SEQUENCE {
beginTime-v1520 GNSS-SystemTime,
beginTimeAlt-v1520 INTEGER (0..2881) OPTIONAL, — Need ON
duration-v1520 INTEGER (1..2881),
…
}
— ASN1STOP
Sensor-AssistanceDataList field descriptions |
---|
refPressure This field specifies the atmospheric pressure (Pa) nominal at sea level, EGM96 [29] to the target. The scale factor is 1 Pa. The value is added to the nominal pressure of 101325 Pa. |
refPosition This field specifies the reference position at which the pressure measurement is made, as an ellipsoid point with altitude and uncertainty ellipsoid. |
refTemperature Local temperature measurement at the reference where the pressure measurement is made. The scale factor 1K. The value is added to 273K. |
period This field specifies the pressure validity period and reference pressure rate. |
pressureValidityPeriod – beginTime: this field specifies the start time of the pressure validity period in GNSS System Time. – beginTimeAlt: this field specifies an alternative start time. It may be used by the target device if GNSS-System Time is not available. The alternative start time is relative to the time the message was received. The scale factor is 15 min. The range is from 0 minutes to 43215 minutes = 30 days. – duration: this field specifies the duration of the validity period after the begin time. The scale factor is 15 minutes. The range is from 15 minutes to 43215 minutes = 30 days. |
referencePressureRate This field specifies the rate of change of pressure. When this field is included, the reference pressure applies only at the start of the pressure validity period. The scale factor is 10Pa/hour. |
area This field specifies the area within which the provided atmospheric reference pressure is valid and any spatial drift. |
pressureValidityArea – centerPoint: this field specifies the coordinates of the centre of the rectangular validity area. – validityAreaWidth: this field specifies the width of the rectangular validity area. Width is measured from the centre along the latitude and is measured as the total width of the rectangle. The scale factor is 1km. The range is from 1km to 128km. – validityAreaHeight: this fields specifies the height of the rectangular validity area. Height is measured from the centre along the longitude and is measured as the total height of the rectangle. The scale factor is 1km. The range is from 1km to 128km. If this field is present, refPosition should not be provided by the location server and if provided, shall be ignored by the target device. |
gN-pressure This field specifies the northward gradient of the reference pressure calculated from the centre of the pressureValidityArea. The scale factor is 1 Pa/km. If this field is not provided, the gradient is assumed to be zero. |
gE-pressure This field specifies the eastward gradient of the reference pressure calculated from the centre of the pressureValidityArea. The scale factor is 1 Pa/km. If this field is not provided, the gradient is assumed to be zero. |
6.5.5.9 Sensor Assistance Data Request
– Sensor-RequestAssistanceData
The IE Sensor-RequestAssistanceData is used by the target device to request Sensor assistance data from a location server.
— ASN1START
Sensor-RequestAssistanceData-r14 ::= SEQUENCE {
…
}
— ASN1STOP