Use of adaptive-frequency-hopping channel map for channel-sounding synchronization
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2025-01-31
- Publication Date
- 2026-08-06
Smart Images

Figure US2025013938_06082026_PF_FP_ABST
Abstract
Description
PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOUse of Adaptive-Frequency-Hopping Channel Mapfor Channel-Sounding SynchronizationBACKGROUND
[0001] An electronic device, such as a phone, tablet, gaming device, wearable device and / or other device, may be equipped with ranging technology that enables the device to determine how far away from the device another device is located, and perhaps where the other device is positioned (e.g., an orientation of the distance). This ranging technology may help facilitate various useful features.
[0002] For example, the ranging may help facilitate determining which one or more devices are nearby, to facilitate proximity -based sharing of photos or other content with select nearby devices. For instance, a user’s device may engage in ranging to identify each other device that is within a predefined threshold close distance to the user’s device and may then present on a display, for the user to see, the identity of each identified nearby device, to allow the user to decide which nearby device(s) to share content with.
[0003] As another example, the ranging may help facilitate person-to-person meetups, such as helping to guide users toward each other. For instance, a first user’s device may apply ranging to determine how far away a second user’s device is located and to determine an angle at which the second user’s device is located in relation to an orientation of the first user’s device. Based on the results of that ranging, the first user’s device may then present on a display, for the first user to see, a graphical depiction of distance and direction to the second user’s device, and the first user may then conveniently use that graphical depiction as a basis to move closer to the second user.
[0004] As still another example, the ranging may help facilitate unlocking of a secure system. For instance, a user’s device may include a digital key that enables unlocking of a secure system such as a car or a house and that is configured to unlock the secure system only if and when the user’ s device is close enough to the secure system, such as when the user’ s device is positioned within a predefined threshold short distance from the secure system. In that case, the user’s device may apply ranging to determine how close the user’s device is to the secure system and, responsive to determining from that ranging that the user’s device is close enough to the secure system, may then allow use of the digital key to unlock the secure system.
[0005] Other examples are possible as well.1PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOSUMMARY
[0006] Some ranging processes may make use of wireless signaling transmitted between the devices at particular carrier frequencies. Without limitation, an example of such a ranging process may involve the devices hopping through a predefined series of frequencies, exchanging constant-tone transmissions with each other at each frequency, measuring one or more properties of those transmissions, and using those measurements as a basis to compute distance between the devices. To facilitate this or other such ranging processes, each of the devices may be equipped with a respective local oscillator that the device can programmatically set to each of various desired frequencies.
[0007] A ranging process that involves the devices engaging in wireless signaling with each other at particular frequencies may assume tight frequency synchronization between the devices. Unfortunately, however, the local oscillators of the devices may not be sufficiently synchronized with each other. In particular, there may be some carrier frequency offset (CFO) defining a difference in frequency, i.e., a carrier mismatch, between the local oscillators of the two devices. And unfortunately, this CFO is likely to decrease signal -to-noise ratio (SNR) and to adversely impact the ranging process and the ultimate distance determination and / or may cause other issues.
[0008] One way to address this CFO problem is to have the devices engage in a synchronization process with each other before they engage in substantive ranging communication with each other. For instance, in an arrangement where the devices will hop through a sequence of frequencies and engage in signaling with each other on those frequencies to facilitate computing their distance, the devices may first engage in a preliminary synchronization process with each other on a small set of those frequencies, such as two or three randomly selected test frequencies (e.g., center frequencies of randomly selected test channels).
[0009] An example of this synchronization process as between a pair of devices referred to as “initiator” and “reflector” may involve the reflector using its local oscillator to generate a constant tone as a sync signal of a given test frequency and transmitting that sync signal to the initiator, and the initiator receiving that transmitted sync signal, determining a CFO of the received sync signal based on the intended test frequency and then setting itself to use that determined CFO as a compensation value to bias its subsequent ranging signaling with the reflector. Further, carrying out this process on, say, two or three test frequencies, the2PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOinitiator may average the determined CFO values, or possibly select one of the determined CFO values as a representative CFO value, to use for the subsequent ranging signaling.
[0010] The devices may usefully engage in this preliminary synchronization process with each other on just a small set of test frequencies so that the synchronization process would happen quickly enough to not create an unreasonable delay before the devices start their substantive ranging signaling with each other.
[0011] Unfortunately, however, a technical problem with this synchronization process is that, if there is a high level of noise on a test frequency used for the synchronization process, the synchronization process may fail. For instance, although the reflector may transmit a constant tone sync signal on a given test frequency, sufficient noise on that test frequency may prevent the initiator from successfully receiving that transmitted sync signal and determining CFO. Furthermore, in some implementations, this failure of the synchronization process on any of one or more test frequencies used for the synchronization process may constitute a failure of the synchronization process generally, which may delay or prevent the ranging process and therefore create user-experience issues.
[0012] The present disclosure provides a technical mechanism to help address this problem.
[0013] In accordance with the disclosure, when devices are going to engage in a wireless ranging process with each other and will engage in a synchronization process as a precursor to the ranging process, the devices will use a different channel map for the synchronization process than for the ranging process. In particular, the devices will use a first channel map as a source of channels for the synchronization process, and the devices will use a second channel map different from the first channel map as a source of channels for the ranging process. For instance, for the synchronization process, the devices may use a channel map consisting of channels deemed to be reasonably high quality, to help ensure success of the synchronization process. Whereas, for the ranging process, the devices may use a channel map consisting of potentially a greater number of channels, to help ensure frequency diversity in the ranging process.
[0014] By way of example, the devices may conduct the synchronization process on one or more channels selected from an adaptive-frequency-hopping (AFH) channel map that the devices are set to use for wireless data communication (e.g., user-plane communication such as application-layer communication) with each other. The AFH channel map may be configured based on a determination that the channels of the AFH channel map have at least a3PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOpredefined threshold level of wireless channel quality suitable for the wireless data communication. Therefore, conducting the pre-ranging synchronization process on one or more channels selected from the AFH channel map in particular may help to ensure success of the synchronization process, which may in turn help to facilitate the ranging process.
[0015] Accordingly, in one respect, disclosed is an example method for controlling a pre-ranging synchronization process between a first device and a second device, the preranging synchronization process working to synchronize wireless communication between the first device and the second device. The method includes the first device selecting, from an AFH channel map that the first device is set to use for wireless data communication with the second device, at least one wireless channel on which to engage in the pre-ranging synchronization process with the second device. Further, the method includes, based on the selecting of the at least one wireless channel from the AFH channel map, the first device then engaging in the pre-ranging synchronization process with the second device on the at least one wireless channel. The first device may then use the synchronized wireless communication in a ranging process with the second device.
[0016] Further, in another respect, disclosed is an example method that involves using different channel maps for synchronization signaling and ranging signaling. In particular, the method involves a first device using a first channel map as a source of channels on which to engage in a pre-ranging synchronization process with a second device, the pre-ranging synchronization process being for synchronizing wireless communication between the first device and the second device. Further, the method involves the first device using a second channel map different from the first channel map as a source of channels on which to engage in a ranging process with the second device, the ranging process being for determining distance between the first device and the second device.
[0017] In yet another respect, disclosed is a device including at least one processor, non-transitory data storage, and program instructions stored in the non-transitory data storage and executable by the at least one processor to cause the device to carry out operations such as those in the example method for instance.
[0018] Still further, in another respect, disclosed is non-transitory data storage (e.g., one or more instances of computer-readable storage) having stored program instructions executable by at least one processor of a device to cause the device to carry out operations such as those in the example method for instance.4PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WO
[0019] Yet further, in still another respect, disclosed is a computer program comprising program instructions executable by at least one processor of a device to carry out operations such as those in the example method for instance.
[0020] In addition, in another respect, disclosed is a system including various means for carrying out operations such as those in the example method for instance.
[0021] These, as well as other aspects, advantages, and alternatives, will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings. Further, it should be understood that the disclosure provided here and elsewhere in this document is provided by way of example only and that numerous variations and other examples may be possible as well.BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 is a simplified diagram illustrating an example of how an AFH channel map can form a basis for selecting channels to be used in pre-ranging synchronization signaling between a first device and a second device.
[0023] Figure 2 is a timing diagram illustrating signaling in example Bluetooth Channel Sounding.
[0024] Figure 3 is a flow chart depicting an example method.
[0025] Figure 4 is another flow chart depicting an example method.
[0026] Figure 5 is a simplified block diagram of an example device.DETAILED DESCRIPTION
[0027] This description will discuss example ranging using Bluetooth technology. It should be understood, however, that the arrangements and processes described can take various other forms. For instance, the disclosed principles can extend to apply with respect to other wireless technologies and / or other forms of ranging. Further, disclosed elements and operations can be re-ordered, distributed, replicated, combined, omitted, added, or otherwise modified. Still further, elements described as functional entities can be implemented as discrete or distributed components or in conjunction with other components / modules, and in any suitable combination and location. In addition, various operations described as being carried out by one or more components or other entities can be implemented by and / or on behalf of those entities, through hardware, firmware, and / or software, such as by one or more processing units executing program instructions stored in memory, among other possibilities.5PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOOverview
[0028] Figure l is a simplified diagram illustrating by way of example how an AFH channel map can form a basis for selecting channels to be used in pre-ranging synchronization signaling between a first device and a second device.
[0029] In particular, Figure 1 illustrates several example stages of processing, namely: (A) establishing a data communication link between the devices, (B) configuring an AFH channel map to use for data communication between the devices on the established link, (C) configuring a ranging session between the devices, and (D) in the configured ranging session, (i) engaging in synchronization signaling on channels selected from the AFH channel map and (ii) then engaging in ranging signaling to determine distance between the first device and the second device.
[0030] Establishing a data communication link between the devices may involve establishing an asynchronous connection-less (ACL) logical transport (also referred to as an ACL connection) between the devices, through which the devices may then engage in data communication with each other. For instance, this may involve one device broadcasting an inquiry message and receiving a response from the other device and the devices then engaging in further signaling with each other to create the ACL transport. Or this may involve one device broadcasting advertisement packets, the other device receiving the advertisement packets, and the devices then engaging in further signaling with each other to create the ACL transport. Other forms of data links and other processes to establish the links are possible as well.
[0031] When establishing their data link, the devices may agree on an initial channel map, defining a set of channels through which they will hop when engaged in data communication with each other. For instance, a connection request between the devices may convey this initial channel map, perhaps as a bit-string representing a set of channels selected from an available set of channels (e.g., selected from all channels defined in a relevant frequency band).
[0032] Further, the devices may agree on a randomizing seed to use in a randomizing algorithm (e.g., a deterministic random-bit generator (DRBG)) and can both apply the randomizing algorithm based on that agreed seed in order to establish an agreed hopping sequence (hopping pattern) defining a sequence through which they will hop among the channels in the channel map when engaged in data communication with each other on their ACL transport. This way, both devices would apply the same hopping sequence among the6PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOsame set of channels as each other, to facilitate successful data communication with each other on those channels.
[0033] Thereafter, one of the devices in an example implementation may then adaptively update the channel map based on current channel conditions, as an AFH channel map.
[0034] For example, the device may sweep through all available channels, measuring one or more air-interface quality metrics per channel, such as a noise floor of the channel (i.e., baseline level of noise present on the channel) for instance, and based on one or more such metrics, the device may classify each channel as being either “good” or “bad” (not limited to these terms). For instance, if the device finds that the noise floor of a given channel is higher than a predefined threshold level deemed to be poor quality, then the device may classify that channel as being “bad,” whereas if the device finds that the noise floor of the channel is not higher than that threshold, then the device may classify the channel as being “good.” Further, the device may base its per-channel classification on one or more other channel-quality metrics as well, such as packet error rate (PER), receive signal strength indicator (RSSI), signal-to-noise ratio (SINR), load, etc. In addition, the device can classify certain channels as “bad” based on known or detected interference, such as a determination that a channel is also used for other wireless communication, or detected interference with local microwave or light sources, among other possibilities.
[0035] Based on the device classifying each of various available channels, the device can generate an updated AFH channel map that specifies, as frequency channels through which the devices will hop in their data communication with each other, a proper subset of the channels, namely, channels deemed to be “good,” i.e., deemed to have sufficiently high level of determined channel quality. According to one example, the channels of the updated AFH channel may have a threshold channel quality. According to another example, the updated AFH channel map may be limited to a maximum quantity (e.g., eight, ten, twenty, etc.) of channels. According to another example, the updated AFH channel map may be selected based on relative quality, ranking the “good” channels based on their determined channel quality metrics. The updated AFH channel map may be generated using any one or a combination of these criteria, such as by selecting the maximum quantity of the highest ranked channels (e.g., best-quality channels).
[0036] The device may apply the randomizing algorithm to establish an associated hopping sequence of the channels in the updated AFH channel map.7PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WO
[0037] The device may then set itself to use this updated AFH channel map (with the associated hopping sequence) for its data communication with the other device. Further, the device may also may transmit to the other device (e.g., though their established data link) a channel-map update message specifying the updated AFH channel map, and the other device may likewise apply the randomizing algorithm to establish the same associated hopping sequence and may set itself to use the updated AFH channel map (with the associated hopping sequence) for the data communication.
[0038] The device may also repeat this AFH channel -map updating process periodically, such as every 500 milliseconds or per another defined interval, to account for possible changes in channel conditions over time. With each repetition, the device may thus newly sweep the available channels and update the AFH channel map. Each time the AFH channel map changes, the device may then set itself to use the newly updated AFH channel map and may send an channel -map update message to the other device to cause the other device to likewise set itself to use the updated AFH channel map.
[0039] Continuing with reference to Figure 1, the devices may further configure a ranging session with each other, through which the devices may then determine their distance and / or other ranging metrics. Configuring this ranging session may involve the devices exchanging configuration information with each other through their established data link. This configuration information may include information about the channels that the devices will use for their ranging signaling with each other.
[0040] For instance, the configuration information may specify (e.g., if not implicit) that the devices will use all available channels for ranging, such as that the devices will sweep through signaling with each other on all available channels to facilitate determining and tracking their distance. If the wireless ranging protocol at issue defines a total of, say, 72 channels that can possibly be used for wireless ranging, for example, then this may mean that the devices would sweep through all 72 of those channels, possibly one group of those channels at a time. Further, this configuration information may specify a randomizing seed that the devices may each use in a randomizing algorithm (e.g., a DRBG), to establish the same hopping sequence as each other, so that the devices can hop among the channels in the same sequence as each other when engaged in ranging signaling with each other.
[0041] As next shown in Figure 1, the devices may then engage in the ranging session with each other. In an example the ranging session may facilitate determining distance (and possibly direction) between the devices over time, for purposes of tracking movement and8PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOproximity for instance. This ranging session may define a series of ranging subevents, each including synchronization signaling followed by ranging signaling.
[0042] In an example implementation with an initiator and reflector, the synchronization signaling in each ranging subevent may include the reflector transmitting to the initiator a synchronization signal respectively on the center frequency of each of a few randomly selected synchronization channels, to facilitate determination of CFO, and the initiator adjusting its local oscillator as appropriate to compensate for the CFO. The ranging signaling in each ranging subevent may then include ping-pong signaling (i.e., back and forth signaling) between the devices on the agreed set of channels or subset of those channels, to facilitate determination of distance between the devices.
[0043] In each ranging subevent of their ranging session in the example implementation, the devices may conduct their ranging ping-pong signaling on a defined-size subset of the channels that the devices agreed to use for their ranging signaling. For instance, if the ranging session is configured with a channel map of all 72 available channels in an agreed but random hopping sequence, then the devices may conduct their ranging ping-pong signaling on successive ten-channel segments of that sequence. Thus, in one ranging subevent, the devices may conduct their ranging ping-pong signaling on the first ten channels in the sequence of 72 channels, in a next ranging subevent, the devices may conduct their ping-pong signaling on the next ten channels in the sequence of the 72 channels, and so forth, cycling back to the start of the sequence upon reaching the end of the sequence.
[0044] Further, the devices may use that same channel map with the same channel sequence, as a source for selecting channels to be used for their synchronization signaling respectively in each ranging subevent. For instance, if the ranging session is configured with the channel map of all 72 BLE channels in the agreed but random hopping sequence, then the devices may conduct their synchronization signaling on successive three-channel segments of that sequence. Thus, in one ranging subevent, the devices may conduct their synchronization signaling on the first three channels in the sequence, in a next ranging subevent, the devices may conduct their synchronization signaling on the next three channels of that sequence, and so forth, likewise cycling back to the start of the sequence upon reaching and end of the sequence.
[0045] Conducting ranging ping-pong signaling on a group of channels such as all of the available BLE channels may work especially well, as doing so may provide good frequency diversity for the ranging process. Further, even if one or more of those channels has9PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOpoor channel quality, the ranging process may still work well on one or more other channels through which the devices may sweep.
[0046] Unfortunately, however, as noted above, conducting the synchronization signaling on any channels that have especially poor channel quality may cause technical issues. In an example ranging process, for instance, the devices may be configured to abandon a ranging subevent altogether if and when their synchronization signaling fails on any one of the synchronization channels used in that subevent. Furthermore, even in a process where synchronization-signaling failure on any given channel would not result in abandonment of the associated ranging subevent, such a failure would still be technically problematic if the subevent supports synchronization signaling on up to just a few synchronization channels, as failure on any given channel may then constitute failure of a large portion of the synchronization process in the subevent.
[0047] A technical solution to this problem as noted above, is to have the devices instead use a different channel map for their synchronization signaling than for their ranging signaling. In particular, to help increase the likelihood of success of the synchronization process in an example solution, the devices can use their agreed AFH channel map as a source of channels on which the devices would engage in their synchronization signaling with each other, and the devices can use a different channel map (such as all available channels) as a source of channels on which the devices would engage in their ranging signaling with each other.
[0048] The devices can be preconfigured to operate in this manner. Or the devices can agree, as part of their ranging-session configuration or otherwise, to operate in this manner.
[0049] Accordingly, as shown in Figure 1, in a given subevent of the devices’ ranging session for instance, the devices may each (i) select a set of synchronization channels from the AFH channel map on which the devices are set to engage in data communication, (ii) engage in synchronization signaling with each other on the selected set of synchronization channels, (iii) select a set of ranging channels from a channel map that is different than the AFH channel map, possibly from a channel map that encompasses all available channels, and (iv) engage in ranging signaling with each other on the selected set of ranging channels.
[0050] In the manner described above, the devices would thereby operate on the same channels as each other. For instance, if the AFH channel map is defined as a set of 15 channels deemed to be of “good” quality, in an agreed but random AFH channel-map hopping sequence, then the devices may conduct their synchronization signaling per ranging subevent on successive three-channel segments of that AFH channel-map hopping sequence. Further, if10PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOthe channel map set to be used for the devices’ ranging ping-pong signaling is all 72 available channels in an agreed but random ranging-hopping sequence, then the devices may conduct their ranging ping-pong signaling on successive ten-channel segments of that ranging-hopping sequence.
[0051] By conducting their synchronization signaling on one or more channels selected specifically from the devices’ AFH channel map, the devices may increase their chances of successful synchronization signaling, which may help to improve success and speed of their ranging session overall. Further, by conducting their ranging signaling on channels selected from a different channel map, such as all available channels for instance, the devices may benefit from frequency diversity in the ranging process.Bluetooth Channel Sounding
[0052] One type of ranging technology that is of particular interest makes use of the Bluetooth radio found in many devices today, specifically the Bluetooth Low Energy (BLE) protocol, an example of which is defined by the Bluetooth Core Specification v. 6.0, adopted by the Bluetooth Special Interest Group (BT SIG) in August 2024. Namely, based on BLE signaling between an initiator and a reflector, the initiator may determine (i.e., estimate) a distance between the initiator and the reflector, which may facilitate various distance-based services such as those noted above.
[0053] BLE signaling can support highly accurate determination of distance between the first device and second device, using a procedure known as Bluetooth Channel Sounding (BCS) also referred to as High Accuracy Distance Measurement (HADM).
[0054] BCS itself makes use of a procedure called Multi-Carrier Phase Difference (MCPD), which involves measuring the phase shift respectively of each of multiple predefined Bluetooth tones transmitted between “initiator” and “reflector” devices (e.g., the first and second devices) and determining the distance between the devices based on a difference between those phase shifts.
[0055] For instance, sequentially as to each of multiple Bluetooth channels (i.e., predefined Bluetooth frequency channels) in an agreed hopping sequence, (i) the initiator may generate and transmit to the reflector a constant tone signal at the center frequency of the channel, (ii) the reflector may responsively generate and transmit to the initiator a constant tone signal also at the center frequency of the channel, and (iii) the initiator may determine a phase shift (or phase rotation) of the channel based on a mathematical combination of the initiator’s receive phase of the reflector-transmitted constant tone signal and the reflector’s receive phase11PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOof the initiator-transmitted constant tone signal. Using a mathematical relationship between distance and difference in phase shifts computed at various frequencies, the initiator may then compute the distance between it and the reflector with a high degree of accuracy based on a comparison of its determined phase shifts at various Bluetooth channels.
[0056] To facilitate BCS, the devices may first engage in a discovery process to learn that they are in close enough proximity to each other, and the devices may then establish and maintain a BLE connection with each other through which they can configure the ranging process and share information related to the ranging process.
[0057] For instance, the reflector may advertise its presence by repeatedly broadcasting a BLE advertisement message on certain predefined BLE channels, and the initiator may scan those channels and thereby determine based on the received strength of the advertisement message (e.g., received signal strength indicator (RSSI)) that the reflector is close enough to facilitate ranging. Upon determining that the reflector is close enough to facilitate ranging, the initiator and reflector may then exchange directed advertisement messaging with each other to establish a BLE connection such as an ACL connection. Further, the devices may be set to engage in data communication on this BLE connection using an AFH, which the initiator may configure and update as noted above for instance.
[0058] With this BLE connection established, the initiator and reflector may then engage in the BCS process, using their BLE connection as a basis to configure the BCS process and perhaps to share measurements and possible results of the BCS process.
[0059] In terms of configuring the BCS process, the initiator and reflector may first agree with each other on a Long Term Key (LTK) that they will use as a basis to secure their associated communications with each other. For instance, the initiator may generate this LTK and may transmit the LTK to the reflector through their established BLE connection. The initiator and reflector may then each use that same LTK as a basis to facilitate encryption and decryption of their communications with each other related to the BCS process. For instance, they may each generate an encryption key based on the LTK and other data, so that one of them may then use the generated encryption key to encrypt data destined to the other, and the other may use the same encryption key as a basis to decrypt and uncover the encrypted data. Alternatively, asymmetric encryption and / or other procedures can be used.
[0060] Further, the initiator and reflector may work with each other to agree on various operational parameters of the BCS process. Among other possible examples, for12PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOinstance, the initiator and reflector may agree on a pseudo-random hopping sequence of the BLE channels that they will use for the BCS process.
[0061] There may be 72 possible BLE channels (e.g., spaced apart by 1 Megahertz (MHz)) available for use in BCS, and the initiator and reflector may be set with a channel map of all 72 of these channels, among other possibilities, for use in their BCS ranging signaling with each other. (As an example alternative implementation, there may be 37 possible BLE channels spaced apart by 2 MHz, and the devices may be set to use those 37 channels for their BCS ranging signaling with each other.) The devices may thus agree on a pseudo-random hopping sequence of these possible BLE channels to use for their BCS signaling with each other.
[0062] To do so in an example implementation, as suggested above, the initiator and reflector may agree on a seed value that they will each feed into a common randomizing algorithm (e.g., DRBG) to establish an agreed pseudo-random hopping sequence of the possible BLE channels. For instance, the initiator may generate the seed value, encrypt the seed value with a key based on the LTK, and transmit the encrypted seed value through the established BLE connection to the reflector. The reflector may then receive the encrypted seed value and decrypt the encrypted seed value with a key based on the LTK to uncover the seed value. The initiator and reflector may thus both apply the same seed value as each other and the same algorithm as each other, to generate the same pseudo-random hopping sequence of BLE channels as each other, which they may then use accordingly in the BCS process.
[0063] As noted above, the BCS process may involve generating and transmitting constant tone signals between the devices at various BLE channels and using the difference in phase shift of those signals on those various channels as a basis to determine distance. The specifics of this process may vary from implementation to implementation.
[0064] Further, the devices may conduct the BCS process across the entire set of possible BLE channels. In particular, the devices may divide those channels into groups and conduct the BCS process separately per group to compute a respective distance determination per group, and the initiator may combine (e.g., average) those distance determinations to establish a statistically representative distance determination, or may treat them as sequential distance determinations. Each instance of performing the BCS process as to a group of channels may be a separate ranging subevent.
[0065] In each ranging subevent, the initiator may cycle through the group of channels designated for that subevent, engaging in ping-pong signaling with the reflector and13PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOcomputing associated phase shifts. For instance, successively on each BLE channel of the group, (i) the initiator may use its local oscillator to generate a constant tone signal at the center frequency of the channel and may transmit that constant tone signal in a ping message to the reflector, (ii) the reflector may report to the initiator the reflector’s receive phase of that ping signal, (iii) the reflector may further use its own local oscillator to generate a constant tone signal at the same center frequency and may transmit that constant tone signal in a “pong” message to the initiator, (iv) the initiator may determine the initiator’s receive phase of that pong message, and (v) the initiator may compute a phase shift of the BLE channel based on the reflector’s receive phase of the ping signal and the initiator’s receive phase of the pong signal.
[0066] As noted above, in the BCS process, the reflector can report to the initiator the reflector’s receive phase per BLE channel (i.e., the phase at which the reflector receives the initiator’s constant tone signal), to enable the initiator to compute the phase offset of that channel. The reflector can do so in various ways.
[0067] In an example implementation, for instance, after the devices complete their ping-pong messaging on the BLE channels of a given group, the reflector can then transmit to the initiator a message that specifies the reflector’s receive phase respectively for each of the initiator’s transmitted ping messages. Further, as to each group of BLE channels, the initiator can keep track of its own receive phase respectively for each of the reflector’ s transmitted pong messages. Thus, once the initiator receives the reflector’s reported phase information for the various BLE channels of the group, the initiator can proceed with the analysis noted above to compute distance between the initiator and the reflector.
[0068] Alternatively, the reflector may include within each pong message that it sends to the initiator an indication of the reflector’s receive phase for the associated ping message that the reflector received from the initiator. Other examples may be possible as well.
[0069] This BCS ping-pong messaging process assumes tight synchronization of frequency and timing between the initiator and the reflector. Unfortunately, however, the local oscillators and clocks of the initiator and reflector may not be sufficiently synchronized with each other. Therefore, in line with the discussion above, it may be best for the devices to engage in a synchronization process (e.g., a calibration process) with each other before they engage in their ping-pong signaling exchange and the associated distance determination. In particular, it may be best for the devices to engage in this synchronization process as an initial step respectively as part of each respective ranging subevent.14PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WO
[0070] This synchronization process may involve the devices engaging in an exchange of sync signaling with each other on a small set of one or more randomly selected sync channels. Each such sync channel may be a particular one of the BLE channels that is randomly selected for use as the sync channel. For instance, given a channel map of BLE channels in a random or pseudo-random hopping sequence, the initiator and reflector may each select an agreed group of three of those BLE channels to be used as sync channels for their synchronization process.
[0071] On each such sync channel, the reflector may use its local oscillator to generate a constant tone signal as a sync signal on the center frequency of the sync channel and may transmit that sync signal to the initiator. The initiator may then receive this transmitted sync signal but may determine that the frequency of the signal as received is offset from what it perceives, based on its own local oscillator, to be the center frequency of the sync channel. The initiator may therefore determine a fractional frequency offset as a CFO value defining a difference between received frequency of the sync signal and expected frequency of the sync signal, and the initiator may then set itself to apply that determined CFO to bias its subsequent ping-pong signal exchanges with the reflector.
[0072] Further, each such sync signal may also carry a bit pattern that the initiator can use as a basis to calculate a clock / timing offset for use to compensate timing between the two devices as well. In addition, this process can be repeated with sync signaling in the other direction between the devices as well and / or the devices may engage in further signaling with each other to share the results of the synchronization process.
[0073] Accordingly, in an example implementation of the BCS process, for each ranging subevent, the devices may first engage in this synchronization process to establish CFO respectively on a small set of sync channels, the devices may then engage in the core BCS ping-ping exchange on their established pseudo-random sequence of BLE channels, and the reflector may then report its phase information per channel to the initiator.
[0074] These steps may be referred to as “Mode-0” (the synchronization process), “Mode-2” (the core ping-pong exchange), and “Mode-3” (the reporting of phase information). (There may also be a “Mode-1” step, which can involve measuring round trip time (RTT) of signaling between the devices.) And as noted above, the initiator may then roll up the distance determinations made for the various groups, to establish an overall representative distance measure.15PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WO
[0075] Figure 2 is a timing diagram illustrating how this process may operate in an example implementation, across an example set of BLE channels, as an example ranging subevent in a sequence of ranging subevents.
[0076] As shown in this figure, on three example BLE channels as sync channels, the devices may first engage in the Mode-0 synchronization process. For simplicity, the figure illustrates these three sync channels as being CH 0, CH 1, and CH 2. In more likely practice, these sync channels would be a group selected from a random (e.g., pseudo-random) hopping sequence of a map, with a next group from that sequence being selected for each successive ranging subevent. Further, the small set of sync channels used for this purpose may be a number of channels other than three, but it will likely be no more than three to help avoid excess delay.
[0077] In the example synchronization process shown, on each sync channel, the initiator transmits a sync signal to the reflector that the reflector may use as a basis to establish CFO and timing offset, and the reflector transmits a sync signal to the initiator that the initiator may likewise use as a basis to establish CFO and timing offset. In practice, this synchronization process may alternatively be just one-way, such as from the reflector to the initiator, to allow the initiator to determine CFO per sync channel.
[0078] Given CFO thereby estimated respectively on each of these sync channels, the initiator may establish an overall representative CFO, such as an average of CFO over those three channels, or may select the CFO from the channel that had the highest receive sync-signal receive signal strength and that may therefore be most reliable. The initiator may then apply that representative CFO as a bias to compensate for the frequency offset between the initiator and reflector when they engage in their ping-pong exchange in this ranging subevent.
[0079] And as shown next, sequentially on each of multiple BLE channels selected from a pseudo-random hopping sequence of the available BLE channels as noted above, the devices may then engage in the Mode-2 core BCS ping-pong exchange, with the initiator transmitting to the reflector a ping message including an initiator-generated constant tone signal, and the reflector responding by transmitting to the initiator a pong message including a reflector-generated constant tone signal. For simplicity, the figure shows this ping-pong ranging signaling occurring on ten BLE channels. In practice, the actual number of BLE channels used as a basis to compute distance can vary from that shown. Further, for simplicity, the figure illustrates these ten sync channels as being CH 0 through CH 9. In more likely practice, these channels would be a group selected from a random (e.g., pseudo-random)16PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOhopping sequence of a channel map, with a next group from that sequence being selected for each successive ranging subevent.
[0080] This figure does not expressly illustrate the Mode-3 reporting of receivephase information from the reflector to the initiator. That step can occur after the Mode-2 core BCS ping-pong exchanges on the channels of the sequence as noted above, or perhaps on the fly within the pong messages transmitted by the reflector.
[0081] Based on their ping-pong signaling exchange on the various BLE channels, the initiator may thereby determine with relatively high accuracy as noted above a distance between it and the reflector. The initiator may then use that determined distance as a basis to facilitate applications such as those noted above, among other possibilities. Further or alternatively, the initiator may report this determined distance to the reflector, and the reflector may use the determined / reported distance as a basis to facilitate such applications. For instance, the initiator may report its BCS-determined distance through the devices’ established BLE connection. The reflector may then use the determined distance likewise to determine whether the initiator is close enough to the reflector to justify action, such as unlocking a secure system, among other possibilities.
[0082] Note that some of the processing described in this document as being carried out by the initiator can be carried out alternatively by the reflector. Without limitation, for instance, based on the ping-ping constant-tone signal transmissions between the initiator and reflector, and based on measured and reported phase information, the reflector rather than the initiator may compute the distance between the devices. The reflector may then report that distance to the initiator for use, and / or the reflector may itself use the distance as a basis to facilitate a service. Other examples may be possible as well.Use of AFH Channel Map for BCS Synchronization Signaling
[0083] In line with the discussion above, the BCS process can make use of a different channel map as a source of channels for the synchronization process of Mode-0 than as a source of channels for the ranging signaling of Mode-2. For example, the Mode-2 ranging signaling can make use of channels sourced from a channel map of all possible BLE channels, such as the 72 channels noted above, and the Mode-0 synchronization signaling can make use of channels sourced from the devices’ ACH channel map.
[0084] Thus, in a given BCS ranging subevent, the initiator and reflector may each select as their set of sync channels for Mode-0 a set of channels from the devices’ most current ACH channel map, and the initiator and reflector may each select as their set of channels for17PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOMode-2 a set of channels from among the full set of possible BLE channels. The devices may thus conduct the Mode-0 synchronization process on the channels that the devices have selected from their most current AFH channel map, which may thereby help to ensure success of the Mode-0 synchronization process, and the devices may then conduct the Mode-2 ranging process on the channels that the devices have selected from the full set of possible BLE channels, which may help provide frequency diversity for the ranging process.
[0085] In an example implementation where the devices would conduct Mode-0 on three channels and Mode-2 on ten channels, for instance, both devices can select from their latest ACH channel map the same set of three channels as each other for use as sync channels and can engage in the Mode-0 synchronization process on those selected channels, and both devices can select from the full set of BLE channels the same set of ten channels as each other for use as ranging channels and can engage in the Mode-2 ranging process on those channels.
[0086] In some implementations, the channels in the channel map from which the devices will select channels for use in the synchronization process (e.g., Mode-0) may also be defined differently than the channels in the channel map from which the devices will select channels for use in the ranging process (e.g., Mode-2). For instance, the channel map from which the devices will select channels for use in the synchronization process can be BLE channels defined with 2 MHz carrier spacing, namely, channels selected from the set of possible 2-MHz-spaced BLE channels. Whereas, the channel map from which the devices will select channels for use in the ranging process can be BLE channels defined with 1 MHz carrier spacing, namely, channels selected from the set of possible 1-MHz-spaced BLE channels.
[0087] Further or alternatively, there can be other differences between the channel map that the devices use as a source of channels for their synchronization signaling and the channel map that the devices use as a source of channels for their ranging ping-pong signaling. For instance, the channel map that the devices uses as a source of channels for their synchronization signaling can be configured to be a set of channels that are deemed to each have at least a predefined threshold level of quality, so as to help ensure success of the synchronization process. Whereas, the channel map that the devices use as a source of channels for their ranging ping-pong signaling can be a set of available channels that have not been deemed to have at least the predefined threshold level of quality.
[0088] This process may thus improve technically over a process that would use the same channel map as a source of channels for both the devices’ synchronization signaling and the devices’ ranging ping-pong signaling in a given ranging subevent for instance.18PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOExample Methods
[0089] Figure 3 is a flow chart illustrating an example method that can be carried out in line with the present disclosure to control a pre-ranging synchronization process between a first device and a second device, the pre-ranging synchronization process being for synchronizing wireless communication between the first device and the second device.
[0090] As shown in Figure 3, at block 300, the method includes the first device selecting from an AFH channel map that the first device is set to use for wireless data communication with the second device, at least one channel on which to engage in the preranging synchronization process with the second device. Further, at block 302 the method includes, based on the selecting of the at least one channel from the AFH channel map, the first device then engaging in the pre-ranging synchronization process with the second device on the at least one channel. At block 304, as discussed above, the first device may then use the synchronized wireless communication in a ranging process between the first device and the second device, the ranging process being conducted on channels selected from a channel map different than the AFH channel map.
[0091] In line with the discussion above, the AFH channel map in this method may define a proper subset of channels that are selected based on each channel of the proper subset having at least predefined threshold high channel quality. Further, the act of selecting the at least one wireless channel from the AFH channel map can involve selecting the at least one channel from a randomized sequence of the channels of the proper subset.
[0092] As further noted above for example, the channels of the proper subset of channels can be 2-MHz BLE channels. Further, the AFH channel map can be considered a first channel map, and the method can additionally include the first device selecting, from a second channel map different than the first channel map, a plurality of channels on which to engage in the ranging process between the first device and the second device. For instance, the second channel map can define a set of available channels, such as all possible 1-MHz BLE channels. And the act of selecting the plurality of channels from the second channel map can involve selecting the plurality of channels from a randomized sequence of the available channels.
[0093] As additionally discussed above for example, the ranging process can involve High Accuracy Distance Measurement (HADM). Further, the synchronization process can involve Mode-0 of BCS, and the ranging process can involve Mode-2 of BCS. Still further, the synchronization process and ranging process can be respective steps of a BCS ranging subevent.19PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WO
[0094] Figure 4 is another flow chart illustrating an example method that can be carried out in line with the present disclosure. As shown in Figure 4, at block 400, a first device uses a first channel map as a source of channels on which to engage in a pre-ranging synchronization process with a second device, the pre-ranging synchronization process being for synchronizing wireless communication between the first device and the second device. Further, at block 402, the first device uses a second channel map different from the first channel map as a source of channels on which to engage in a ranging process with the second device, the ranging process being for determining distance between the first device and the second device.
[0095] In line with the discussion above, in an example implementation of this method, the synchronization process can comprise Mode-0 of BCS, and the ranging process can comprise Mode-2 of BCS. Further, the first channel map can be an AFH channel map that the first device is set to use for wireless data communication with the second device.Example Device Configuration
[0096] Figure 5 is a simplified block diagram of an example device, showing some of the components that the device may include. This device may be a first device in a wireless ranging process. For instance, the device may be an initiator or reflector in the wireless ranging process.
[0097] As shown, the device may include a wireless communication interface 500, a host processor 502, and non-transitory data storage 504. These components can be integrated together and / or communicatively linked together in various ways. For instance, the components can be linked together through a system bus, network, or other connection mechanism 506 and / or can be integrated together in various ways.
[0098] The wireless communication interface 500, which can be provided on a dedicated chipset among other possibilities, can include components that enable the device to engage in wireless communication through an antenna structure 508 of the device. To facilitate this, the wireless communication interface 500 can include a baseband processor 510 and non-transitory data storage 512.
[0099] The baseband processor 510 can include one or more general purpose processing units (e.g., microprocessors) and / or one or more specialized processing units (e.g., digital signal processors (DSPs), graphics processing units (GPUs), neural processing units (NPUs), etc.) And the non-transitory data storage 512 can comprise one or more volatile and / or non-volatile storage components (e.g., optical, magnetic, or flash storage, RAM, ROM,20PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOEPROM, EEPROM, cache memory, and / or other computer-readable media, etc.), possibly integrated in whole or in part with the baseband processor 510.
[0100] The non-transitory data storage 514 of the wireless communication interface 500 can hold program instructions 514 that may be executable by the baseband processor 512 to carry out various operations described herein.
[0101] Further, the wireless communication interface 500 can include a radio frequency front end (RFFE) 516 including amplifiers and possibly other circuitry, to interface between the baseband processor 510 and the antenna structure 508. As further shown, the RFFE 516 can include a local oscillator 518, which may be dynamically controllable by the baseband processor 510, e.g., to tune to and thus facilitate communication on various frequencies.
[0102] The host processor 502 of the example device can likewise comprise one or more general purpose processors and / or one or more special-purpose processors. And the non-transitory data storage 504 can likewise comprise one or more volatile and / or non-volatile storage components, possibly integrated in whole or in part with the host processor 502. Further, the non-transitory data storage 504 may store program instructions 520 that may be executable by the host processor 502 to carry out various operations described herein. With this arrangement, some operations of the device can be carried out by the wireless communication interface 500, while other operations of the device can be carried out by the host processor 502.
[0103] In addition, the present disclosure also contemplates non-transitory data storage (e.g., one or more non-transitory computer-readable medium components (e.g., optical, magnetic, or flash storage, RAM, ROM, EPROM, EEPROM, cache memory, and / or other computer-readable media, etc.)) holding program instructions executable by at least one processor of a device to cause the device to carry out various operations described herein.
[0104] Further, the present disclosure also contemplates a computer program comprising a set of program instructions executable by at least one processor of a device to carry out (e.g., to cause the device to carry out) various operations described herein, such as to perform the various operations of the example methods and variations discussed above. In an example implementation, the computer program can further be stored in non-transitory data storage such as that noted above, among other possibilities.
[0105] Example embodiments have been described above. Those skilled in the art will understand, however, that changes and modifications may be made to these embodiments without departing from the true scope and spirit of the invention.21
Claims
PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOCLAIMSWhat is claimed is:
1. A method to control a pre-ranging synchronization process between a first device and a second device, the pre-ranging synchronization process being for synchronizing wireless communication between the first device and the second device, the method comprising:selecting, by the first device, from an adaptive-frequency-hopping (AFH) channel map that the first device is set to use for wireless data communication with the second device, at least one channel on which to engage in the pre-ranging synchronization process with the second device; andbased on the selecting of the at least one channel from the AFH channel map, engaging, by the first device, in the pre-ranging synchronization process with the second device on the at least one channel,whereby the first device then uses the synchronized wireless communication in a ranging process between the first device and the second device.
2. The method of claim 1, wherein the AFH channel map defines a proper subset of channels that are selected based on each channel of the proper subset having at least predefined threshold channel quality.
3. The method of claim 2, wherein selecting the at least one channel from the AFH channel map comprises selecting the at least one channel from a randomized sequence of the channels of the proper subset.
4. The method of claim 2, wherein the channels of the proper subset of channels are 2-Megahertz Bluetooth Low Energy (BLE) channels.
5. The method of claim 2, wherein the AFH channel map is a first channel map, the method further comprising:selecting, by the first device, from a second channel map different than the first channel map, a plurality of channels on which to engage in the ranging process between the first device and the second device,22PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOwherein the first device then engages in the ranging process with the second device on the selected plurality of channels.
6. The method of claim 5, wherein the second channel map defines a set of available channels, and wherein selecting the plurality of channels from the second channel map comprises selecting the plurality of channels from a randomized sequence of the available channels.
7. The method of claim 6, wherein the available channels of the set of available channels are 1 -Megahertz Bluetooth Low Energy (BLE) channels.
8. The method of claim 1, wherein the ranging process comprises High Accuracy Distance Measurement (HADM).
9. The method of claim 1, wherein the synchronization process comprises Mode-0 of Bluetooth Channel Sounding (BCS), and wherein the ranging process comprises Mode-2 ofBCS.
10. The method of claim 9, wherein the synchronization process and ranging process are steps of a BCS ranging subevent.
11. A first device comprising:a wireless communication interface;at least one processor;at least one non-transitory data storage; andprogram instructions stored in the at least one non-transitory data storage and executable by the at least one processor to cause the first device to carry out operations for controlling a pre-ranging synchronization process between the first device and a second device, the pre-ranging synchronization process being for synchronizing wireless communication between the first device and the second device, the operations including:selecting from an adaptive-frequency -hopping (AFH) channel map that the first device is set to use for wireless data communication with the second device, at least23PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WOone channel on which to engage in the pre-ranging synchronization process with the second device, andbased on the selecting of the at least one channel from the AFH channel map, engaging in the pre-ranging synchronization process with the second device on the at least one channel,whereby, after the selecting and the engaging, the first device then uses the synchronized wireless communication in a ranging process between the first device and the second device.
12. The first device of claim 11, wherein the at least one processor is part of the wireless communication interface.
13. The first device of claim 11, wherein the AFH channel map defines a proper subset of channels that are selected based on each channel of the proper subset having at least predefined threshold high channel quality.
14. The first device of claim 13, wherein the AFH channel map is a first channel map, the operations further including:selecting from a second channel map different than the first channel map, a plurality of channels on which to engage in the ranging process between the first device and the second device,whereby, after selecting the plurality of channels, the first device engages in the ranging process with the second device on the selected plurality of channels.
15. The first device of claim 14,wherein the channels of the proper subset of channels are 2-Megahertz Bluetooth Low Energy (BLE) channels,wherein the second channel map defines a set of available channels, and wherein selecting the plurality of channels from the second channel map comprises selecting the plurality of channels from a randomized sequence of the available channels, and wherein the available channels of the set of available channels are 1 -Megahertz Bluetooth Low Energy (BLE) channels.24PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WO16. The first device of claim 11, wherein the ranging process comprises High Accuracy Distance Measurement (HADM).
17. The first device of claim 11, wherein the synchronization process comprises Mode-0 of a Bluetooth Channel Sounding (BCS) ranging subevent, and wherein the ranging process comprises Mode-2 of the BCS ranging subevent.
18. At least one non-transitory computer-readable medium having stored thereon program instructions executable by at least one processor of a first device to cause the first device to carry out operations for controlling a pre-ranging synchronization process between the first device and a second device, the pre-ranging synchronization process being for synchronizing wireless communication between the first device and the second device, the operations comprising:selecting from an adaptive-frequency-hopping (AFH) channel map that the first device is set to use for wireless data communication with the second device, at least one channel on which to engage in the pre-ranging synchronization process with the second device; and based on the selecting of the at least one channel from the AFH channel map, engaging in the pre-ranging synchronization process with the second device on the at least one channel, whereby, after the selecting and engaging, the first device then uses the synchronized wireless communication in a ranging process between the first device and the second device.
19. The at least one non-transitory computer-readable medium of claim 18, wherein the AFH channel map defines a proper subset of channels that are selected based on each channel of the proper subset having at least predefined threshold high channel quality.
20. The at least one non-transitory computer-readable medium of claim 18, wherein the AFH channel map is a first channel map, the operations further comprising:selecting from a second channel map different than the first channel map, a plurality of channels on which to engage in the ranging process between the first device and the second device,whereby, after selecting the plurality of channels, the first device engages in the ranging process with the second device on the selected plurality of channels.25PCT / US25 / 13938 31 January 2025 (31.01.2025)Attorney Docket No. 24-1726-WO21. A method compri sing :using, by a first device, a first channel map as a source of channels on which to engage in a pre-ranging synchronization process with a second device, the pre-ranging synchronization process being for synchronizing wireless communication between the first device and the second device; andusing, by the first device, a second channel map different from the first channel map as a source of channels on which to engage in a ranging process with the second device, the ranging process being for determining distance between the first device and the second device.
22. The method of claim 21,wherein using the first channel map as the source of channels on which to engage in the pre-ranging synchronization process comprises using the first channel map as a source of channels on which to engage in synchronization in Mode-0 of Bluetooth Channel Sounding (BCS), andwherein using the second channel map as the source of channels on which to engage in the ranging process comprises using the second channel map as a source of channels on which to engage in ranging in Mode-2 of BCS.
23. The method of claim 21, wherein using the first channel map comprises using, as the first channel map, an adaptive-frequency-hopping (AFH) channel map that the first device is set to use for wireless data communication with the second device.
24. A computer program comprising program instructions executable by a processor of the first device to perform a method according to any of claims 1-10.26