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