Patent Description:
Sensors in wearable devices can be susceptible to sensor errors such as drift. This can be difficult to correct, due in part to the presence of one or more strong magnets comprised in the wearable devices. Strong magnets may be used in speaker drivers and charging alignment magnets, for example. Accordingly, tracking positions or motion of wearable devices using their internal sensors is challenging. This is limiting for a number of functions that the wearable devices may otherwise perform such as providing spatially-resolved output to the user in, for example, spatial audio, augmented or virtual reality applications.

<CIT>) relates to putting a mobile device, such as a head mounted display device (HMD) into a precise known position and orientation relative to a stationary device and the difference between the HMD's calculated position and known position are determined as the calibration error. Compensation for this error leads to calculations which more accurately determine positions.

<CIT>) relates to utilizing time of flight measurements of indirect paths of ultra-wideband signals between first and second wireless communication nodes to possessed by a mobile body in order to locate the first wireless communication node.

<CIT>) relates to using an ultra-wideband (UWB) in conjunction with another less accurate positioning system to improve the accuracy of the less accurate positioning system such as a phone-based location technology, e.g., a magnetometer, or other indoor positioning technologies such as WiFi location technologies, Bluetooth or BLE location technologies, etc..

According to some aspects, there is provided the subject-matter of the independent claims. Some further aspects are defined in the dependent claims.

According to various, but not necessarily all, embodiments there is provided an apparatus comprising means for: obtaining a position of a user device; locating one or more surfaces providing one or more putative reflection points for a non-line-of-sight (NLOS) path between the user device and a wearable device; conditional upon locating the one or more surfaces, causing ranging signals to be exchanged between the user device and the wearable device; determining a relative position of the wearable device with respect to the user device based on at least: a path length of a NLOS path over which the ranging signals are exchanged, and respective positions of one or more reflection points in the NLOS path; determining, from at least the relative position and position of the user device, data that enables calibration of one or more position sensors of the wearable device; and causing transmission of the data to the wearable device.

According to various, but not necessarily all, embodiments there is provided a system comprising a user device and a wearable device. The user device has one or more sensors configured to determine a position of the user device. The wearable device has one or more position sensors. The system comprises means for: locating one or more surfaces providing one or more putative reflection points for a non-line-of-sight path between the user device and the wearable device; conditional upon locating the one or more surfaces, exchanging ranging signals between the user device and the wearable device; determining a relative position of the wearable device with respect to the user device based on at least: a path length of a NLOS path over which the ranging signals are exchanged, and respective positions of one or more reflection points in the NLOS path; determining, from at least the relative position and position of the user device, data that enables calibration of the one or more position sensors of the wearable device; and calibrating the one or more position sensors of the wearable device using the data.

According to various, but not necessarily all, embodiments there is provided a method comprising: obtaining a position of a user device; locating one or more surfaces providing one or more putative reflection points for a non-line-of-sight (NLOS) path between the user device and a wearable device; conditional upon locating the one or more surfaces, causing ranging signals to be exchanged between the user device and the wearable device; determining a relative position of the wearable device with respect to the user device based on at least: a path length of a NLOS path over which the ranging signals are exchanged, and respective positions of one or more reflection points in the NLOS path; determining, from at least the relative position and position of the user device, data that enables calibration of one or more position sensors of the wearable device; and causing transmission of the data to the wearable device.

According to various, but not necessarily all, embodiments there is provided a computer program that, when run on a computer, performs: obtaining a position of a user device; locating one or more surfaces providing one or more putative reflection points for a non-line-of-sight (NLOS) path between the user device and a wearable device; conditional upon locating the one or more surfaces, causing ranging signals to be exchanged between the user device and the wearable device; determining a relative position of the wearable device with respect to the user device based on at least: a path length of a NLOS path over which the ranging signals are exchanged, and respective positions of one or more reflection points in the NLOS path; determining, from at least the relative position and position of the user device, data that enables calibration of one or more position sensors of the wearable device; and causing transmission of the data to the wearable device.

The following portion of this 'Brief Summary' section, describes various features that may be features of any of the embodiments described in the foregoing portion of the 'Brief Summary' section. The description of a function should additionally be considered to also disclose any means suitable for performing that function.

Locating the one or more surfaces may comprise detection of and ranging to the one or more surface using a pulsed signal.

Locating the one or more surfaces may comprise querying a spatial database.

Locating of the one or more surfaces may be initiated as a result of a determination that line-of-sight (LOS) communication between the user device and the wearable device is unavailable at a current time.

If, at a current user position, no surface providing a putative reflection point for a NLOS path between the user device and the wearable device is located, guidance may be caused to be provided to a user indicating one or more user positions at which one or more surfaces are expected to provide one or more reflection points for one or more NLOS paths between the user device and the wearable device.

If no surface providing a putative reflection point for a NLOS path between the user device and the wearable device is located, attempts to locate the one or more surfaces may be restricted until a change in user position occurs.

The ranging signals may comprise pulses having a repetition rate configured to reduce overlap of NLOS path responses to successive pulses in received signals.

Received signals may be processed to identify a component, indicative of a NLOS path response to a transmitted ranging signal, on which to perform ranging calculations to determine the path length of the NLOS path.

Received signals may be processed to determine an angle of arrival associated with a component indicative of a NLOS path response to a transmitted ranging signal, and respective positions of one or more reflection points in the NLOS path may be determined based on the determined angle of arrival and the located one or more surfaces.

Ranging signals may be caused to be exchanged between the user device and a further wearable device to determine a relative position of the further wearable device with respect to the user device, wherein the two wearable devices have a known or expected positional relationship.

Position data from the one or more position sensors of the wearable device may be obtained to determine error in the obtained position data from the one or more position sensors of the wearable device using at least the relative position of the wearable device with respect to the user device and the position of the user device.

The examples and features, if any, described in this specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.

Examples of the disclosure relate to using non-line-of-sight (NLOS) ranging to determine a relative position of a wearable device <NUM> with respect to a user device <NUM>. Determining this relative position enables calibration of one or more sensors <NUM> of the wearable device <NUM> based on the output of one or more sensors <NUM> of the user device <NUM>.

<FIG> illustrates an example of a user device <NUM>, a wearable device <NUM>, and a NLOS path <NUM> between them via reflection at a surface <NUM>.

The user device <NUM> may be, for example and without limitation, a mobile phone or a portable computing device.

The user device <NUM>, as shown, comprises one or more sensors <NUM>. The one or more sensors <NUM> comprise one or more position sensors.

The one or more position sensors can be configured to detect where the user device <NUM> is in three-dimensional space. They may comprise, for example, a Global Navigation Satellite System (GNSS) receiver.

Additionally or alternatively, the one or more position sensors can be configured to detect the orientation (e.g., pitch, yaw, and roll) of the user device <NUM>. They may comprise, for example, an inertial measurement unit (IMU). The IMU can also be used in an inertial navigation system to track where the user device <NUM> is in three-dimensional space.

The user device <NUM>, as shown, comprises at least one transceiver <NUM>. The at least one transceiver <NUM> may comprise any suitable means for receiving and/or transmitting information.

Information that is transmitted could comprise ranging signals and data <NUM> enabling calibration of the one or more sensors <NUM> of the wearable device <NUM>.

The information that is transmitted may be transmitted with or without local storage of the data in memory at the user device <NUM> and with or without local processing of the data by circuitry or processors at the user device <NUM>.

Information that is received could comprise a NLOS path response to ranging signals transmitted by the wearable device <NUM>.

The at least one transceiver <NUM> may comprise one or more transmitters and/or receivers. The at least one transceiver <NUM> may enable a wireless connection between the user device <NUM> and the wearable device <NUM>. The wireless connection could be via short-range radio communications such as ultra-wideband (UWB). The transceiver <NUM> may, in such instances, be an UWB radio transceiver.

The user device <NUM> comprises associated processing hardware (not shown) for processing data reported by the one or more sensors <NUM> and by the transceiver <NUM>. In some but not necessarily all examples, this processing hardware may be provided by the apparatus <NUM> described with reference to <FIG>.

The wearable device <NUM> may be, for example and without limitation, headphones, earphones, or smart glasses.

The wearable device <NUM>, as shown, comprises one or more sensors <NUM>. The one or more sensors <NUM> comprise one or more position sensors.

The one or more position sensors can be configured to detect the orientation (e.g., pitch, yaw, and roll) of the wearable device <NUM>. They may comprise, for example, an inertial measurement unit (IMU). The IMU can also be used in an inertial navigation system to track where the wearable device <NUM> is in three-dimensional space.

It is to be appreciated that the output of the one or more sensors <NUM> may be less accurate than the output of the one or more sensors <NUM> of the user device <NUM>, hence this is one reason why calibration of one or more sensors <NUM> based on the output of one or more sensors <NUM> of the user device <NUM> may be advantageous.

The wearable device <NUM>, as shown, comprises at least one transceiver <NUM>. The at least one transceiver <NUM> may comprise any suitable means for receiving and/or transmitting information.

Information that is transmitted could comprise ranging signals and data from the one or more sensors <NUM>.

The information that is transmitted may be transmitted with or without local storage of the data in memory at the wearable device <NUM> and with or without local processing of the data by circuitry or processors at the wearable device <NUM>.

Information that is received could comprise a NLOS path response to ranging signals transmitted by the user device <NUM> and data <NUM> enabling calibration of the one or more sensors <NUM>.

The wearable device <NUM> comprises associated processing hardware (not shown) for processing data reported by the one or more sensors <NUM> and by the transceiver <NUM>.

In some applications of the wearable device <NUM>, it may be configured to provide a spatially-resolved output to the user, relying on the calibrated one or more sensors <NUM>. For such applications, the wearable device <NUM> can comprise suitable software and hardware for providing such outputs such as, for example, audio transducers and a suitable renderer for spatialising audio content delivered in an encoded form (e.g., using a spatial audio codec such as Immersive Voice and Audio Services (IVAS)) to provide spatial audio to the user.

Line-of-sight (LOS) between the user device <NUM> and wearable device <NUM> is obstructed by a LOS obstruction <NUM>, which is the user's body in the example of <FIG> but can be other objects in other examples.

There is shown an example of a NLOS path <NUM> between the user device <NUM> and wearable device <NUM> over which ranging signals and other data transfer signals can be exchanged. A surface <NUM> provides a reflection point <NUM> in the NLOS path <NUM>. The surface <NUM> may be one external to either device <NUM>, <NUM> and part of the real-world, thus capable of reflecting signals, be they electromagnetic or acoustic, exchanged between the devices <NUM>, <NUM>. The surface <NUM> need not be separate to the user's body however. In some examples, the surface <NUM> may be provided by a body part.

It is to be appreciated that the shown NLOS path <NUM> may be one of multiple between the user device <NUM> and wearable device <NUM>. Some of the multiple NLOS paths may be single-reflection NLOS paths via reflection at other surfaces <NUM> like the one shown. Some of the multiple NLOS paths may be multiple-reflection NLOS paths via reflection at multiple surfaces <NUM>. NLOS ranging may be performed over any of the multiple NLOS paths. NLOS ranging may be performed over multiple NLOS paths, with the results used to improve the reliability of the calibration of one or more sensors <NUM> of the wearable device <NUM>. For example, the relative positions determined from NLOS ranging over multiple NLOS paths can be averaged to improve reliability.

A further wearable device <NUM> is shown and NLOS ranging to determine a relative position of the further wearable device <NUM> with respect to a user device <NUM> may also be performed in an analogous manner as for the wearable device <NUM>, however this is by no means essential for enabling calibration of one or more sensors <NUM> of the wearable device <NUM>.

Where a relative position of the further wearable device <NUM> is determined and where the further wearable device <NUM> has a known or expected positional relationship with the wearable device <NUM>, the difference between two relative positions determined from the NLOS ranging can be compared with the known or expected positional relationship as a form of calibration of the NLOS ranging approach to determining position, and thus to improve the accuracy of the approach. Similarly, if the wearable device <NUM> comprises multiple transceivers <NUM> a known distance apart, this distance can be compared to relative positions determined from NLOS ranging with the different transceivers <NUM>.

For example, if the wearable device <NUM> and the further wearable device <NUM> are a pair of earphones, there is a high probability that they will be in each ear of the user and thus a predictable distance apart with a predictable relative orientation to each other. The distance between them may be measured from the through-head radio frequency delay.

<FIG> illustrates a method <NUM> for determining a relative position <NUM> of a wearable device <NUM> with respect to a user device <NUM> to enable calibration of one or more sensors <NUM> of the wearable device <NUM>. Method <NUM> uses NLOS ranging opportunistically, making use of surfaces <NUM> in the local environs of the devices <NUM>, <NUM> to establish NLOS communication between the devices <NUM>, <NUM>.

At block <NUM> of method <NUM> a position <NUM> of the user device <NUM> is obtained.

The position <NUM> can be obtained by: receiving position data reported by the one or more sensors <NUM> of the user device <NUM>; or processing data reported by the one or more sensors <NUM> of the user device <NUM> to obtain position data.

At block <NUM> of method <NUM> one or more surfaces <NUM> which provide one or more putative reflection points <NUM> for a NLOS path <NUM> between the user device <NUM> and the wearable device <NUM> are located. Reference is made here to <FIG>, which shows several putative reflection points <NUM> for NLOS paths <NUM>.

Locating involves discovering the existence of a specified something, in this case one or more surfaces <NUM>, and determining the position of that specified something. The surface's position <NUM> may be defined relative to the user device <NUM> and parameterised in terms of a direction and a distance.

Locating one or more surfaces <NUM> which provide one or more putative reflection points <NUM> for a NLOS path <NUM> between the user device <NUM> and the wearable device <NUM> can therefore comprise determining if there is any such surface <NUM> and where that surface <NUM> is relative to the user device <NUM>.

The locating of one or more surfaces <NUM> at block <NUM> does not necessarily involve determining where any such putative reflection point <NUM> is. That the located surface <NUM> is to be one providing one or more putative reflection points <NUM> for a NLOS path <NUM> between the devices <NUM>, <NUM> sets constraints on the position of the surface <NUM>. That is, more surfaces may be discovered to exist than surfaces <NUM> which provide one or more putative reflection points <NUM> for a NLOS path <NUM> between the devices <NUM>, <NUM>.

A putative reflection point <NUM> for a NLOS path <NUM> between the devices <NUM>, <NUM> is a point which is believed to be the (or one of the) reflection point(s) in a NLOS path between the devices <NUM>, <NUM>, but where this is not definitely the case. It may not definitely be the case because the position of the wearable device <NUM> and, thus the NLOS path, are yet to be reliably determined.

A point may be believed to be the (or one of the) reflection point(s) in a NLOS path between the user device <NUM> and the wearable device <NUM> if a signal emitted from the user device <NUM> incident at that point would be reflected towards positions <NUM> where the wearable device <NUM> would be expected. This can be expressed in terms of maximum and minimum angles through which the signal incident at this point may be reflected. This can also be expressed in terms of maximum and minimum distance between the reflected signal and the user device <NUM> at closest approach. The positions <NUM> where the wearable device <NUM> would be expected can also be based upon a reported position of the wearable device <NUM> by one or more sensors <NUM> of the wearable device <NUM>. As this may not be considered reliable, the expected positions <NUM> may be ones within a threshold distance of the reported position. The positions <NUM> where the wearable device <NUM> would be expected can also be based upon the last-known position of the wearable device <NUM>.

<FIG> shows several NLOS paths <NUM> between the user device the user device <NUM> and expected positions <NUM> of the wearable device <NUM>, each involving reflection at a putative reflection point <NUM> on a surface <NUM>. Since it is not definitely known that these NLOS paths <NUM> extend between the user device <NUM> and the wearable device <NUM>, only that they extend between the user device <NUM> and expected positions of the wearable device <NUM>, these NLOS paths <NUM> can be termed putative NLOS paths <NUM> between the user device <NUM> and the wearable device <NUM>. Therefore, said differently, block <NUM> can comprise locating one or more reflective surfaces <NUM> providing putative NLOS paths <NUM> between the user device <NUM> and the wearable device <NUM>. Provided that the wearable device <NUM> is where it is expected to be, at least one of these putative NLOS paths <NUM> will be an NLOS path <NUM> between the user device <NUM> and the wearable device <NUM> as shown in <FIG>.

In some examples, a plurality of surfaces <NUM> are located at block <NUM>.

The located plurality of surfaces <NUM> can provide a plurality of putative reflection points <NUM> for a single NLOS path <NUM> between the user device <NUM> and the wearable device <NUM>. A NLOS path having a plurality of reflection points may be sought if, for example, no surfaces are located which enable a NLOS path with a single reflection point.

The located plurality of surfaces <NUM> can provide putative reflection points <NUM> for a plurality of NLOS paths <NUM> (whether containing one or more reflection points each) between the user device <NUM> and the wearable device <NUM>. This enables a relative position of the wearable device <NUM> with respect to the user device <NUM> to be determined (at block <NUM>) over a plurality of different NLOS paths to reduce error via averaging.

The located plurality of surfaces <NUM> can provide putative reflection points <NUM> for a plurality of NLOS paths (whether containing one or more reflection points each) between the user device <NUM> and multiple wearable devices <NUM>, <NUM> or multiple transceivers <NUM> of a single wearable device <NUM>.

At block <NUM> of method <NUM>, conditional upon locating the one or more surfaces <NUM> in block <NUM>, ranging signals are caused to be exchanged between the user device <NUM> and the wearable device <NUM> to determine (at block <NUM>) a relative position <NUM> of the wearable device <NUM> with respect to the user device <NUM>.

Method <NUM> in this way makes use of opportunities to calibrate (or at least enable calibration of) the one or more sensors <NUM> of the wearable device <NUM> when a suitable reflective surface <NUM> can be located but does not attempt to perform steps towards this calibration when it appears unfeasible in light of no suitable reflective surfaces <NUM> being located. In this manner, power consumption may be reduced.

Ranging signals are signals which enable a distance between the devices which exchange them to be determined. A ranging signal may be encoded with an indication of its time of transmission to enable time of flight to be determined based on its time of arrival. A ranging signal may also comprise a signal which, upon reception by a device, triggers that device to transmit a signal which is thusly encoded. A ranging signal may also comprise a signal by which a distance determined at one device is reported to the other device.

The NLOS path <NUM> over which the ranging signals are exchanged may be one of the putative NLOS paths <NUM>. The determination of the relative position as is described with reference to <FIG> below is based on the expectation that the NLOS path <NUM> is one of the putative NLOS paths <NUM>.

Ranging signals can also be exchanged between the user device <NUM> and the further wearable device <NUM> (or another transceiver <NUM> of the wearable device <NUM>) to determine the relative position of the further wearable device <NUM> (or of the another transceiver <NUM> of the wearable device <NUM>) with respect to the user device <NUM>. This can be performed sequentially with the exchanging of ranging signals with the wearable device <NUM>.

At block <NUM> of method <NUM> data <NUM> that enables calibration of one or more sensors <NUM> of the wearable device <NUM> is determined from at least the relative position <NUM> of the wearable device <NUM> with respect to the user device <NUM> (from block <NUM>) and the position <NUM> of the user device <NUM> (from block <NUM>). At block <NUM> of method <NUM> transmission of the data <NUM> to the wearable device <NUM> is caused.

In some examples, the user device <NUM> may be assumed to be about the user's person (for example in pockets of their clothes or in bags such as handbag or backpack) or otherwise placed upon a proximate horizontal surface, whereas the wearable device <NUM> may, for example, be disposed on the user's limbs or head. Accordingly, movement of the user device <NUM> is not likely to be strongly correlated with movement of the wearable device <NUM>. For example, the user turning their head through a large angle or making a large gesture with an arm may result in significant movement of the wearable device <NUM>, resulting in significant drift of the one or more sensors <NUM>, while the user device <NUM> is substantially unmoved. Therefore, method <NUM> (or at least blocks <NUM> onwards) may be performed after significant movement of the wearable device <NUM> has been detected and in response to said detection, though it is to be appreciated that the method may not be performed in response to every such detection of significant movement. Significant movement may be movement over a path which exceeds a threshold length or movement exceeding a threshold velocity. In some examples the method <NUM> (or at least blocks <NUM> onwards) may be performed after significant movement of the wearable device <NUM> with respect to the user device <NUM> has been detected and in response to said detection.

Examples of blocks <NUM> to <NUM> of method <NUM> are described with reference to <FIG>.

<FIG> illustrates an example of locating the one or more surfaces <NUM>, as per block <NUM>. In this example locating the one or more surfaces <NUM> comprises detection of and ranging to the one or more surfaces <NUM> using a pulsed signal <NUM>. The pulsed signal <NUM> can comprise an impulse waveform (as shown) or can comprise a continuous wave, modulated in the frequency domain by a pulse wave.

The pulsed signal may be a radio frequency signal such as UWB. The locating can be performed by a UWB radar system or by a UWB localisation system in which the user device node is controlled to establish a connection with itself to act as both tag (leader) and anchor (follower). Other radio technologies such as mmWave can be used as an alternative to UWB. Non-electromagnetic signals such as pulsed acoustic or ultrasound signals can be used as alternatives.

The user device <NUM> is caused to emit the pulsed signal <NUM> and receive reflections of this signal. Processing the received reflections obtains a time of flight and, from this, a distance to a surface <NUM> at which the signal <NUM> was reflected. The angle of arrival of the received reflection is a normal to the surface <NUM>, thus the relative orientation of the surface <NUM> is also inferred from processing the received reflection.

The reflective characteristics of a surface can be determined from the amplitude of reflections of the pulsed signal <NUM> given a known power with which the pulsed signal <NUM> was emitted and given the obtained distance to the surface. If the reflective characteristics of a surface indicate that it is not a sufficiently strong reflector, that surface may not be counted among the one or more surfaces <NUM> providing one or more putative reflection points <NUM> for an NLOS path <NUM> between the devices <NUM>, <NUM>.

In some examples the planar extent of the one or more surfaces <NUM> is determined by processing the received reflections of pulsed signals <NUM> emitted over a range of angles to determine consistent reflections over a range of angles of arrival. However, the planar extent of the one or more surfaces <NUM> need not be determined at this stage and sufficient planar extent for the purpose of providing a putative reflection point <NUM> in an NLOS path <NUM> between the devices <NUM>, <NUM> can be assumed.

In this example, at block <NUM>, method <NUM> comprises causing the user device <NUM> to emit the pulsed signal and to process the received reflection to locate the one or more surfaces <NUM>.

As an alternative to locating the one or more surfaces <NUM> by transmitting a pulsed signal <NUM> and processing received reflections, locating the one or more surfaces <NUM> can comprise querying a spatial database. The spatial database can be queried according to the obtained position <NUM> of the user device <NUM> (from block <NUM>) and, in some examples, expected positions <NUM> of the wearable device <NUM>. The spatial database can comprise geometry data mapping three-dimensional objects proximate the obtained position <NUM> of the user device <NUM>. The query results may identify one or more surfaces <NUM> of the three-dimensional objects which provide putative reflection points <NUM> for NLOS paths <NUM> between the devices <NUM>, <NUM> and return the position(s) of the same.

In some examples, regardless of the method of locating the one or more surfaces <NUM>, the locating is conditional upon the absence of a LOS between the devices <NUM>, <NUM> or upon the presence of a LOS obstruction <NUM>. Locating of the one or more surfaces <NUM> is initiated as a result of a determination that LOS communication between the user device <NUM> and the wearable device <NUM> is unavailable at a current time. As a result, power consumption is reduced as attempts to locate the one or more surfaces <NUM> which will enable NLOS ranging (either by causing transmission of a pulsed signal <NUM> or by submitting a query to a spatial database) are not made when LOS ranging is possible.

In some examples, the locating of block <NUM> may be initiated upon detection of a defined gesture by a user, for example, extending their hand away from their body so that it can provide a reflective surface <NUM> providing putative NLOS paths <NUM> between the devices <NUM>, <NUM>. The user may be able to personalise these gestures.

<FIG> illustrates an example of continuations of method <NUM> if no surface providing a putative reflection point <NUM> for a NLOS path <NUM> between the user device <NUM> and the wearable device <NUM> is located at block <NUM>.

A conditional operation at sub-block <NUM> determines which one of the two paths Y and N method <NUM> will follow. Path Y is followed if one or more surfaces <NUM> which provide one or more putative reflection points <NUM> for a NLOS path <NUM> between the user device <NUM> and the wearable device <NUM> are located at block <NUM>. Path N is followed if no surface providing a putative reflection point <NUM> for a NLOS path <NUM> between the user device <NUM> and the wearable device <NUM> is located at block <NUM>.

Sub-block <NUM> is comprised in path Y and, at sub-block <NUM>, ranging signals are caused to be exchanged between the devices <NUM>, <NUM>. The continuation of path Y is block <NUM> and blocks <NUM> and <NUM> thereafter.

Path N does not comprise sub-block <NUM> and thus does not cause the exchange of ranging signals between the devices <NUM>, <NUM>. Power consumption may therefore be reduced when it is not apparent that NLOS ranging will be possible.

In some examples, path N comprises sub-block <NUM>. At sub-block <NUM> guidance is caused to be provided to a user indicating one or more user positions at which one or more surfaces are expected to provide one or more reflection points for NLOS paths between the user device <NUM> and the wearable device <NUM>. Therefore, if, at a current user position, no surface providing a putative reflection point <NUM> for a NLOS path <NUM> between the user device <NUM> and the wearable device <NUM> is located, method <NUM> can comprise causing provision of guidance to the user indicating one or more user positions at which one or more surfaces are expected to provide one or more reflection points for NLOS paths between the user device <NUM> and the wearable device <NUM>.

The guidance can be provided via the user device <NUM> and/or wearable device <NUM> and method <NUM> can comprise causing respective devices <NUM>, <NUM> to do so.

The user positions can comprise a place in three-dimensional space and/or a pose. The one or more user positions indicated by the guidance can be determined based on the locating of other surfaces besides those providing putative reflection points <NUM> for NLOS paths <NUM> between the devices <NUM>, <NUM> during attempts to locate the one or more surfaces <NUM> which do at block <NUM>.

The guidance can indicate to a user to change their place in three-dimensional space. This can allow a user to deliberately re-calibrate the wearable device <NUM> via standing or moving near to a suitable surface <NUM> such as a wall.

The guidance can indicate to a user to vary their pose. In some examples this can comprise guiding the user to move a part of their body so that it can provide a reflective surface <NUM> for putative NLOS paths <NUM> between the devices <NUM>, <NUM>. For example, a user's hand held at arm's length could provide such a surface <NUM>.

In some examples, path N comprises sub-block <NUM>. At sub-block <NUM> attempts to locate the one or more surfaces <NUM> are restricted until a change in user position occurs. Therefore, if no surface providing a putative reflection point <NUM> for a NLOS path <NUM> between the user device <NUM> and the wearable device <NUM> is located, method <NUM> can comprise restricting attempts to locate the one or more surfaces <NUM> until a change in user position occurs. The attempts may be restricted until there is a change in the user position by a threshold amount.

Restricting attempts can comprise reducing the number of further attempts or preventing further attempts. This may further reduce power consumption.

Where the locating of block <NUM> comprises transmitting a pulsed signal <NUM> and processing received reflections, restricting attempts may be subject to additional constraints such as there having been a specified number of failed attempts to locate a suitable surface <NUM> in a specified time period.

Where the locating of block <NUM> comprises querying a spatial database, restricting attempts may be subject to additional constraints such as determining that there will be no likely candidates for suitable surfaces <NUM> in the geometry data because, for example, the user is currently in an open space. Where the locating of block <NUM> comprises querying a spatial database, the threshold amount by which the user position must change to lift the restrictions may be commensurate with a change in the user's place in three-dimensional space that requires a new set of geometry data to be accessed.

In some examples, path N comprises both sub-blocks <NUM> and <NUM>. The user can be provided guidance on how to change user position and attempts to perform the locating of block <NUM> restricted until such change in user position has been substantially made.

<FIG> illustrates an example of determining a relative position <NUM> of the wearable device <NUM> with respect to the user device <NUM>, as per block <NUM>.

The relative position <NUM> of the wearable device <NUM> with respect to the user device <NUM> is determined based on at least a NLOS path length <NUM> and respective positions <NUM> of one or more reflection points <NUM> in the NLOS path <NUM>.

When ranging signals are exchanged the received signals at each device <NUM>, <NUM> will be processed in order to enable a relative position <NUM> of the wearable device <NUM> with respect to the user device <NUM> to be determined. At sub-block <NUM>, the received signals are processed. This processing can comprise identifying a component <NUM> of the received signals which is indicative of a NLOS path response to a transmitted ranging signal. This is further described with reference to <FIG> below. This processing can comprise determining an angle of arrival <NUM> associated with the identified component <NUM>. The angle of arrival <NUM> can be determined using, for example, dual (or more) receivers or a single receiver in conjunction with a predictive model of angle-dependent distortions in a path response. In some examples the predictive model can be developed via a machine learning approach. For example, the predictive model can be trained using supervised machine learning on a large dataset of path response measurements paired with the corresponding angle of arrivals.

At sub-block <NUM> ranging calculations are performed using the identified component <NUM>. The NLOS path length <NUM> for the NLOS path <NUM> over which the ranging signals are exchanged is determined by the ranging calculations.

In some examples, two-way ranging is used. The user device <NUM> is caused to transmit a ranging signal comprising an initialisation message and to record, at least temporarily, the time of transmission. The wearable device <NUM> records the time at which it receives the initialisation message and transmits a ranging signal comprising an acknowledgement message. The acknowledgement message comprises information about the time taken to generate the acknowledgement after the initialisation message was received. The round-trip time is calculated once the user device <NUM> has received the acknowledgement message. Subtracting the time taken to generate the acknowledgement from the round-trip time gives the two-way time-of-flight. Half of that gives the one-way time-of-flight, enabling a path length to be determined. Provided that the round-trip time is based on the time of arrival of a component <NUM> of the received signals which is indicative of a NLOS path response, the NLOS path length <NUM> will be calculated. However, it is to be appreciated that if there is only a low degree of multipath interference, signal processing to filter low strength components may be used instead of processing configured to identify this component from amongst many comprised in the received signals.

In some examples, double-sided two-way ranging is used in which, once the user device <NUM> has received the acknowledgement message, it is caused to transmit a further ranging signal comprising a further acknowledgement message. The further acknowledgement message comprises information about the time taken to generate the further acknowledgement and its receipt by the wearable device <NUM> allows the wearable device <NUM> to also calculate the NLOS path length <NUM>. Comparison or averaging of the NLOS path lengths <NUM> determined respectively by the user device <NUM> and the wearable device <NUM> enables improved reliability in the determination of the NLOS path length <NUM>.

At sub-block <NUM> respective positions <NUM> of one or more reflection points <NUM> in a NLOS path <NUM> are determined based on at least the determined angle of arrival <NUM> and the located one or more surfaces <NUM> (from block <NUM>).

If a plurality of suitable surfaces <NUM> were located at block <NUM>, comparing the angle of arrival <NUM> with the positions <NUM> of the located surfaces enables the one or more surfaces <NUM> which provide the one or more reflection points <NUM> in the NLOS path <NUM> to be determined. In some examples, if the planar extent of the located surfaces <NUM> was not previously determined at block <NUM> of method <NUM>, comparing the angle of arrival <NUM> with the positions <NUM> of the located surfaces <NUM> can comprise checking whether the angle is consistent with the identified component <NUM> having reflected from a position to where it is assumed that a located surface <NUM> will extend if it is planar. If, by assuming the planar extent of located surfaces <NUM>, more than one located surface <NUM> would occupy the angular position in space from which the component <NUM> arrives at the user device <NUM> such that it cannot be determined at which of these surfaces <NUM> the reflection may have occurred, the relative position <NUM> of the wearable device <NUM> with respect to the user device <NUM> may be calculated using the position <NUM> of each of these surfaces to determine which yields a more realistic result for the relative position <NUM>. Determining which yields a more realistic result for the relative position <NUM> can be based on considerations of realistic human geometry (anatomy), motion, and behaviour, with examples being given later in this description.

If the reflective characteristics of the surfaces <NUM> are determined when performing the locating of block <NUM>, then additionally or alternatively, the amplitude of the identified component <NUM> can be assessed using, at least in part, the determined reflective characteristics of the surfaces <NUM> to determine which one or more surfaces <NUM> provided the one or more reflection points <NUM> in the NLOS path <NUM>.

Using the surfaces' position(s) <NUM>, their respective orientation, and the angle of arrival <NUM>, the relative position <NUM>, with respect to the user device <NUM>, of respective one or more reflection points <NUM> can be calculated using trigonometric relations. Subtracting the distance between the user device <NUM> and the reflection point <NUM> (and the distances between successive reflection points <NUM> if the NLOS path <NUM> is a multiple-reflection path) from the NLOS path length <NUM> leaves the distance from the final reflection point <NUM> to the wearable device <NUM> and thus enables the relative position <NUM> of the wearable device <NUM> with respect to the user device <NUM> to be determined, as per sub-block <NUM>.

<FIG> illustrates an example of transmitted ranging signals and identification of a component <NUM> which is indicative of a NLOS path response to a transmitted ranging signal.

In the example of <FIG>, but not necessarily all examples, the transmitted ranging signal is a pulsed signal <NUM>. Data such as the initialisation message and acknowledgement message can be encoded by pulse amplitude modulation, pulse position modulation, on-off keying or other suitable modulation schemes including those permitted in IEEE <NUM>. For example, the transmitted ranging signal may use nanosecond pulses according to the UWB impulse radio technique. In other examples, the pulsed signal <NUM> may be an acoustic signal. Frequency modulation can be applied to the pulsed signal if relative velocities between the devices <NUM>, <NUM> are also sought.

In <FIG>, the wearable device <NUM> is shown as transmitting a ranging signal and the user device <NUM> receiving a signal <NUM> comprising at least one path response to the transmitted pulsed signal <NUM>. It is to be appreciated, however, that the user device <NUM> can likewise transmit such a ranging signal, for example, in two-way ranging as described in the foregoing.

The signals received by the user device <NUM> (as shown in <FIG>, but also by the wearable device <NUM> in some examples) can be subject to multipath interference. For example, as shown in <FIG>, the same surface <NUM> can enable a single-reflection NLOS path <NUM> as well as, in conjunction with a further surface <NUM> such as the floor, a multiple-reflection NLOS path <NUM>. Since the user device <NUM> may also be transmitting during the same period, there may be further interference from reflections <NUM> of the signals emitted by the user device <NUM>.

To make it easier to identify, from the received signal <NUM>, a component <NUM> which is indicative of a NLOS path response to the transmitted pulsed signal <NUM>, overlap of the multipath responses to each pulse of the transmitted pulsed signal <NUM> should be reduced. Accordingly, in some examples the pulses have a repetition rate configured to reduce overlap of NLOS path responses to successive pulses in received signals <NUM>.

To do so, in some examples, the ranging signals can be transmitted in the low rate pulse (LRP) mode of UWB as defined in IEEE <NUM>. Data transfer between the devices <NUM>, <NUM> may be carried out in the high rate pulse (HRP) mode of UWB as defined in IEEE <NUM>. 4z-<NUM>, with the mode being switched to LRP in response to the location (at block <NUM>) of one or more surfaces <NUM> providing one or more putative reflection points <NUM> for a NLOS path <NUM> between the device <NUM>, <NUM>.

In other example, the ranging signals may be transmitted with a pulse repetition rate based, at least in part, on an expected length of an NLOS path <NUM> between the devices <NUM>, <NUM> via reflection at at least one of the located one or more surfaces <NUM>. The pulse repetition rate may be based on an estimate of the temporal distribution of NLOS path responses to a single pulse that would be expected in the received signal <NUM>. The estimated temporal distribution can be calculated from multiple putative NLOS paths <NUM> that can be identified based on the located one or more surfaces <NUM> and their respective path lengths.

In some examples the pulse repetition rate is also based on the real-time data transfer requirements including, for example, the size of data to be transferred for performance of application tasks distributed between the user device <NUM> and wearable device <NUM>. While having a lower pulse repetition rate is advantageous, it may also make the NLOS ranging slower. It is, however, to be appreciated that since lower pulse repetition rates can be less computationally intensive if they result in no, or substantially no, overlap of the multipath responses to each pulse of the transmitted pulsed signal <NUM>, the overall time to perform NLOS ranging can be similar or even shorter than with higher pulse repetition rates. Nevertheless, if the NLOS ranging is too slow, there won't be enough time to transfer the required data, even using a higher pulse repetition rate, during intervening periods. Thus, the real-time data transfer requirements can impose a constraint on the minimum pulse repetition rate.

In the example of <FIG> the path response to the transmitted ranging signal (e.g., the pulsed signal <NUM>) which corresponds to one NLOS path is one amplitude peak in the received signals <NUM>. The component <NUM> indicative of an NLOS path response to the transmitted ranging signal (e.g., the pulsed signal <NUM>) is an amplitude peak. As a result of multipath interference, multiple and overlapping amplitude peaks may be observed. Identifying the component <NUM> on which to perform the ranging calculations of sub-block <NUM> to determine the NLOS path length <NUM> can therefore comprise identifying a suitable amplitude peak.

Though the ranging calculations of sub-block <NUM> and the determination, at sub-block <NUM>, of the relative position <NUM> of the devices <NUM>, <NUM> can be performed on the components of the received signals <NUM> indicating a multiple-reflection NLOS path, there are increased uncertainties as a result of having to determine the positions <NUM> of more reflection points <NUM>. Therefore, in some examples the received signals <NUM> are processed to identify a component <NUM> indicative of a single-reflection NLOS path response to the transmitted ranging signal (e.g., the pulsed signal <NUM>).

In some examples, identifying a component <NUM> indicative of a single-reflection NLOS path response to the transmitted ranging signal (e.g., the pulsed signal <NUM>) may be based on features of an amplitude peak which distinguish single-reflection NLOS path responses from no-reflection NLOS path responses (e.g., NLOS via diffraction around, or other interference with, the LOS obstruction <NUM>) and multiple-reflection NLOS path responses.

Single-reflection NLOS path responses may be distinguished from multiple-reflection NLOS path responses based on having a relatively higher amplitude peak and/or arrival sequence with single-reflection NLOS paths typically being shorter and thus arriving earlier.

Single-reflection NLOS path responses may be distinguished from no-reflection NLOS path responses based on relatively low distortion, said distortion arising in the no-reflection NLOS path responses due to the interaction with the LOS obstruction <NUM>.

In some examples, identification of a component <NUM> indicative of a single-reflection NLOS path response to the transmitted ranging signal (e.g., the pulsed signal <NUM>) can be improved by filtering the received signal <NUM> within a realistic time-of-arrival window <NUM>. The window <NUM> can be calculated based on the obtained position <NUM> of the user device <NUM>, the expected position <NUM> of the wearable device <NUM>, and the located surfaces' positions <NUM>.

If more than one suitable amplitude peak is identified, then the ranging calculations of sub-block <NUM> and the determination, at sub-block <NUM>, of the relative position <NUM> of the devices <NUM>, <NUM> can be performed on each of the suitable amplitude peaks to determine which yields a more realistic result for the relative position <NUM>. Determining which yields a more realistic result for the relative position <NUM> can be based on considerations of realistic human geometry (anatomy), motion, and behaviour. For example: if the wearable device <NUM> is a head-worn device, relative positions <NUM> which place the user device <NUM> above the wearable device <NUM> may be rejected. For example: relative positions <NUM> which place the user device <NUM> and the wearable device <NUM> at an unrealistic distance from one another, such as more than the user's height or arm span, may be rejected, it being assumed that the user device <NUM> is about the user's person (for example in pockets of their clothes or in bags such as handbag or backpack) at the time of the NLOS ranging. For example: relative positions <NUM> which differ from previously determined results of method <NUM> by an amount which implies an unrealistically fast speed of human motion may be rejected.

<FIG> illustrates an example of determining data <NUM> that enables calibration of one or more sensors <NUM> of the wearable device <NUM>, as per block <NUM>, and a continuation of method <NUM>, which continuation is performed at the wearable device <NUM> to calibrate the one or more sensors <NUM>.

At sub-block <NUM> the position <NUM> of the wearable device <NUM> is determined using the obtained position <NUM> of the user device <NUM> and the determined relative position <NUM> of the wearable device <NUM> with respect to the user device <NUM>.

This position <NUM>, determined according to the above described NLOS ranging approach, is considered to be more accurate than the position <NUM> of the wearable device <NUM> reported by its own one or more sensors <NUM>. Thus, calibration of the one or more sensors <NUM> of the wearable device <NUM> can be based on the determined position <NUM> so as to bring the position <NUM> determined by the one or more sensors <NUM> into agreement with the determined position <NUM>.

In the example of <FIG>, data (e.g., the position <NUM> of the wearable device <NUM> reported by its own one or more sensors <NUM>) is obtained from the wearable device <NUM> to determine error in this data. This data can be obtained by causing transmission of a request for this data to the wearable device <NUM>, whereupon, in this example, said data is transmitted from the wearable device <NUM> to the user device <NUM> (and in other examples to any apparatus performing block <NUM> of method <NUM>).

At sub-block <NUM> the data obtained from the one or more sensors <NUM> of the wearable device <NUM> (e.g., the position <NUM> of the wearable device <NUM>) is compared with the determined position <NUM> of the wearable device <NUM> (from sub-block <NUM>) to determine data <NUM> that enables calibration of one or more sensors <NUM> of the wearable device <NUM>. In this example, the data <NUM> represents the deviation of position <NUM> from position <NUM> and is considered to be the error in position <NUM>.

In response to block <NUM> of method <NUM>, the data <NUM> is transmitted <NUM> to the wearable device <NUM>.

In some examples method <NUM> can continue at the wearable device <NUM> with block <NUM>. At block <NUM> the one or more sensors <NUM> are calibrated using the data <NUM>.

Although not shown, it is to be appreciated that the data <NUM> that enables calibration of one or more sensors <NUM> of the wearable device <NUM> can comprise the position <NUM> determined at sub-block <NUM>. In such examples, data from the one or more sensors <NUM> of the wearable device <NUM> (e.g., the position <NUM> of the wearable device <NUM>) need not be transmitted to the user device <NUM> and the comparison of sub-block <NUM> between the position <NUM> and the position <NUM> need not take place at the user device <NUM>. The position <NUM> can be transmitted to the wearable device <NUM> and used directly in the calibration of the one or more sensors <NUM>.

Though block <NUM> of method <NUM> is shown in the example of <FIG> to be performed at the user device <NUM>, it is to be appreciated that each of the blocks of method <NUM> (bar block <NUM>) can be performed by an apparatus <NUM> which may be separate to, comprised in, or embodied by the user device <NUM>.

<FIG> illustrates an example of an apparatus <NUM>. The apparatus <NUM> may be a chip or a chip-set.

In the example of <FIG> the apparatus <NUM> comprises a controller <NUM>. Implementation of a controller <NUM> may be as controller circuitry. The controller <NUM> may be implemented in hardware alone, have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware).

The memory <NUM> stores a computer program <NUM> comprising computer program instructions (computer program code) that controls the operation of the apparatus <NUM> when loaded into the processor <NUM>. The computer program instructions, of the computer program <NUM>, provide the logic and routines that enables the apparatus to perform the methods illustrated in <FIG> and as otherwise described with reference to <FIG>. The processor <NUM> by reading the memory <NUM> is able to load and execute the computer program <NUM>.

As illustrated in <FIG>, the computer program <NUM> may arrive at the apparatus <NUM> via any suitable delivery mechanism <NUM>. The delivery mechanism <NUM> may be, for example, a machine readable medium, a computer-readable medium, a non-transitory computer-readable storage medium, a computer program product, a memory device, a record medium such as a Compact Disc Read-Only Memory (CD-ROM) or a Digital Versatile Disc (DVD) or a solid state memory, an article of manufacture that comprises or tangibly embodies the computer program <NUM>. The delivery mechanism may be a signal configured to reliably transfer the computer program <NUM>. The apparatus <NUM> may propagate or transmit the computer program <NUM> as a computer data signal.

Computer program instructions for causing an apparatus to perform at least the following or for performing at least the following:.

References to 'computer-readable storage medium', 'computer program product', 'tangibly embodied computer program' etc. or a 'controller', 'computer', 'processor' etc. should be understood to encompass not only computers having different architectures such as single /multi- processor architectures and sequential (Von Neumann)/parallel architectures but also specialized circuits such as fieldprogrammable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other processing circuitry.

The blocks illustrated in <FIG> and as otherwise described with reference to <FIG> may represent steps in a method and/or sections of code in the computer program <NUM>. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some blocks to be omitted.

Consequently, in some examples, the apparatus <NUM> comprises means for:.

The means may also be configured to perform other features of method <NUM> described with reference to <FIG>.

As described in the foregoing the performance of blocks of method <NUM> can be distributed between the user device <NUM>, wearable device <NUM>, and, in some examples, the apparatus <NUM>. Therefore, there is provided, according to examples of this disclosure, a system comprising: a user device <NUM> having one or more sensors <NUM> configured to determine a position <NUM> of the user device <NUM>; a wearable device <NUM> having one or more sensors <NUM>; and means for:.

The above-described examples find application as enabling components of:
automotive systems; telecommunication systems; electronic systems including consumer electronic products; distributed computing systems; media systems for generating or rendering media content including audio, visual and audio visual content and mixed, mediated, virtual and/or augmented reality; personal systems including personal health systems or personal fitness systems; navigation systems; user interfaces also known as human machine interfaces; networks including cellular, noncellular, and optical networks; ad-hoc networks; the internet; the internet of things; virtualized networks; and related software and services.

By way of further example, the method <NUM>, apparatus <NUM>, or system hereinbefore described may be used to enable a spatial audio navigation application. In such application, the wearable device <NUM> can be a hearable configured to reproduce spatial audio which a user perceives as coming from specific points in three-dimensional space relative to their head. Navigation instructions are to be reproduced from specific points correlated with the instructed directions. However, the internal sensors <NUM> of the hearable, being in this instance one or more IMUs, do a poor job at relating these specific points to the external, real-world. The user device <NUM> locates nearby vertical surfaces, such as walls of nearby buildings, via reflection at which ranging signals can be exchanged in order to more accurately map the hearable to the external, real-world. As a result of the more accurate mapping, the hearables are able to generate spatial audio navigation instructions which allow the user to navigate in an intuitive and handsfree manner. The wearable device <NUM> could also or alternatively comprise a head mounted display (HMD) for example as embodied in smartglasses. The HMD can generate augmented reality navigation instructions in which a visual scene of a physical real environment is supplemented by one or more visual elements representing the navigation instructions and being rendered to the user via the HMD.

By way of further example, the method <NUM>, apparatus <NUM>, or system hereinbefore described may be used to enable an augmented shopping application. In such application, the wearable device <NUM> can be a hearable configured to reproduce spatial audio which a user perceives as coming from specific points in three-dimensional space relative to their head. A store in which the user is shopping makes available a spatial database of its internal layout and products. This may be in the form of a digital map. The user device <NUM> uses reflections from, for example, the shelves and/or walls of the store, to accurately map the hearable to the external, real-world. Thus, the user's gaze direction can be accurately determined and, combined with knowledge of product locations retrieved from the spatial database, product information, offers, and answers to spoken questions are enabled for the products the user looks at by way of spatial audio output from the hearable. The wearable device <NUM> could also or alternatively comprise a HMD, again for example as embodied in smartglasses. The HMD can generate augmented reality content in which a visual scene of a physical real environment is supplemented by one or more visual elements representing the product information, offers, and answers and being rendered to the user via the HMD.

If it is intended to use 'comprise' with an exclusive meaning then it will be made clear in the context by referring to "comprising only one" or by using "consisting".

Although examples have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made within the scope of the claims.

The term 'a' or 'the' is used in this document with an inclusive not an exclusive meaning. That is any reference to X comprising a/the Y indicates that X may comprise only one Y or may comprise more than one Y unless the context clearly indicates the contrary. If it is intended to use 'a' or 'the' with an exclusive meaning then it will be made clear in the context. In some circumstances the use of 'at least one' or 'one or more' may be used to emphasis an inclusive meaning but the absence of these terms should not be taken to infer any exclusive meaning.

The presence of a feature (or combination of features) in a claim is a reference to that feature or (combination of features) itself and also to features that achieve substantially the same technical effect (equivalent features). The equivalent features include, for example, features that are variants and achieve substantially the same result in substantially the same way. The equivalent features include, for example, features that perform substantially the same function, in substantially the same way to achieve substantially the same result.

Claim 1:
An apparatus (<NUM>) comprising means for:
obtaining a position (<NUM>) of a user device (<NUM>);
locating one or more surfaces (<NUM>) providing one or more putative reflection points (<NUM>) for a non-line-of-sight (NLOS) path (<NUM>) between the user device (<NUM>) and a wearable device (<NUM>);
conditional upon locating the one or more surfaces (<NUM>), causing ranging signals to be exchanged between the user device (<NUM>) and the wearable device (<NUM>);
determining a relative position (<NUM>) of the wearable device (<NUM>) with respect to the user device (<NUM>) based on at least: a path length (<NUM>) of a NLOS path (<NUM>) over which the ranging signals are exchanged, and respective positions (<NUM>) of one or more reflection points (<NUM>) in the NLOS path;
determining, from at least the relative position (<NUM>) and position (<NUM>) of the user device (<NUM>), data (<NUM>) that enables calibration of one or more position sensors (<NUM>) of the wearable device (<NUM>); and
causing transmission of the data (<NUM>) to the wearable device (<NUM>).