Multi-anchor bluetooth channel sounding

The Multi-Anchor Bluetooth Channel Sounding process addresses the challenge of determining distance from multiple anchors concurrently by interleaving BCS processes, allowing efficient and accurate positioning without the need for multiple dedicated connections.

WO2025023959A1PCT designated stage expired Publication Date: 2025-01-30GOOGLE LLC

Patent Information

Application Number
PCT/US2023/070748
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-21
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

Existing Bluetooth Channel Sounding (BCS) processes assume a dedicated Bluetooth connection between the initiator and reflector, which becomes impractical when trying to determine distance from multiple anchors concurrently, as it overburdens the Bluetooth controller and impacts other functions.

Method used

The Multi-Anchor Bluetooth Channel Sounding (MABCS) process allows a device to concurrently determine its distance from multiple anchors by interleaving BCS processes, where one anchor functions as a primary anchor, and others as secondary anchors, enabling distance determination without the need for multiple dedicated BLE connections.

Benefits of technology

MABCS enables efficient concurrent distance determination from multiple anchors, reducing the burden on the Bluetooth controller and allowing for accurate positioning and secure unlocking of multiple locks without overloading the device's Bluetooth resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000033_0000
    Figure 00000033_0000
  • Figure 00000034_0000
    Figure 00000034_0000
  • Figure 00000035_0000
    Figure 00000035_0000
Patent Text Reader

Abstract

A device provides through a Bluetooth connection with a primary anchor a Long Term Key (LTK) for use in a multi-anchor Bluetooth channel sounding (MABCS) process with the primary anchor and one or more secondary anchors, and the device then engages in the MABCS process. The MABCS process includes (a) sequentially at to each of multiple Bluetooth Low Energy (BLE) channels (i) transmitting a ping message, (ii) receiving sequentially from each of the anchors of the plurality, responsive to the ping message, a respective pong message, and (iii) using phase shift as a basis to determine, respectively for each anchor, a phase shift on the BLE channel, and (b) determining the distance of the device respectively from each anchor based at least on the phase shifts determined for respectively for the anchor on at least a first one of the BLE channels and a second one of the BLE channels.
Need to check novelty before this filing date? Find Prior Art

Description

Multi-Anchor Bluetooth Channel SoundingBACKGROUND

[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.SUMMARY

[0006] Disclosed is a mechanism for ranging with multiple devices concurrently, to determine all at once how far a given device is respectively from each of multiple other devices. The given device in this arrangement may be referred to as a device or initiator, and the other devices may be referred to as anchors or reflectors, one of which may be considered a primary anchor and each other of which may be considered a secondary anchor.

[0007] In accordance with the disclosure, the device may establish a Bluetooth connection between the device and the primary anchor, the device may configure through the established Bluetooth connection a Multi-Anchor Bluetooth Channel Sounding (MABCS) process, and the device may then engage in the configured MABCS cooperatively with the anchors of the plurality.

[0008] The configuring of the MABCS process could include the device receiving from the primary anchor, through the established Bluetooth connection, an indication of how many anchors there are in the plurality of anchors, and, based on the received indication, the device scheduling for each BLE channel the device’s sequential receipt of respective messages from the anchors of the plurality, including the device setting a receive window respectively per BLE channel for the device to receive the messages in sequence, configuring the receive window to be a duration suitable to facilitate receiving the pong messages in sequence.

[0009] Further, the configuring of the MABCS process could include communicating to the anchors of the plurality, through the established Bluetooth connection between the device and the primary anchor, a Long Term Key (LTK) useable by each anchor as a basis for encrypted communication with the device in the MABCS process. (This LTK, like a Bluetooth link key, could serve as a basis to generate an encryption / decryption key for Bluetooth communication.) In particular, communicating the LTK through the Bluetooth connection to the anchors of the plurality could involve transmitting the LTK through the Bluetooth connection to the primary anchor (i) for use by the primary anchor and (ii) for forwarding by the primary anchor to the one or more secondary anchors for use by each secondary anchor.

[0010] In an example implementation, the MABCS process may then include, sequentially on each Bluetooth Low Energy (BLE) channel of multiple BLE channels in a hopping sequence, (i) the device transmitting a respective ping message that includes a constant tone signal generated by the device, (ii) the device receiving sequentially from each of theanchors of the plurality, responsive to the ping message, a respective pong message that includes a constant tone signal generated by the anchor, and (iii) the device determining, respectively for each anchor, a phase shift on the BLE channel based on receive phase at the anchor of the constant tone signal generated by the device and receive phase at the device of the constant tone signal generated by the anchor.

[0011] Further, in the example implementation, the MABCS process may include the device determining the distance of the device respectively from each anchor based at least on a difference in (i) the phase shift determined respectively for the anchor on a first one of the BLE channels and (ii) the phase shift determined respectively for the anchor on a second one of the BLE channels.

[0012] 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

[0013] Figure 1 is a timing diagram illustrating signaling in example Bluetooth Channel Sounding.

[0014] Figure 2 is an illustration of an angle of arrival method according to the Bluetooth specification.

[0015] Figure 3 is an illustration of measuring angle of arrival according to the Bluetooth specification.

[0016] Figure 4 is an illustration of an example motor vehicle that could be subject to an MABCS process.

[0017] Figure 5 is a timing diagram illustrating ping-pong messaging in an example MABCS process.

[0018] Figure 6 is a flow chart depicting an example method.

[0019] Figure 7 is another flow chart depicting an example method.

[0020] Figure 8 is a simplified block diagram of an example device.

[0021] Figure 9 is a simplified block diagram of an example computing system.DETAILED DESCRIPTION

[0022] This description will discuss example ranging using Bluetooth technology. It should be understood, however, that the arrangements and processes described could take various other forms.

[0023] For instance, the disclosed principles could extend to apply with respect to other wireless technologies and / or other forms of ranging. Further, disclosed elements and operations could be re-ordered, distributed, replicated, combined, omitted, added, or otherwise modified. Still further, elements described as functional entities could 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 could 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. a. Bluetooth Channel Sounding

[0024] One type of ranging technology that is of particular interest makes use of the Bluetooth radio found in many devices today, specifically the BLE protocol, an example of which is defined by the Bluetooth Core Specification v. 5.1, published by the Bluetooth Special Interest Group (BT SIG) in January 2019. Namely, based on BLE signaling between a first device and a second device, the first device may determine (i.e., estimate) a distance between the first device and the second device, which may facilitate various distance-based services such as those noted above.

[0025] 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).

[0026] 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.

[0027] 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 tonesignal 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 phase of 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.

[0028] 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.

[0029] 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.

[0030] 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.

[0031] In terms of configuring of the BCS process, the initiator and reflector may first agree with each other on an 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 could be used.

[0032] Further, the initiator and reflector may work with each other to agree on various operational parameters of the BCS process. Among other possible examples, forinstance, the initiator and reflector may agree on a pseudo-random hopping sequence of the BLE channels that they will use for the BCS process. To do so in an example implementation, the initiator and reflector may agree on a seed value that they will each feed into a common algorithm to establish an agreed pseudo-random hopping sequence of the available 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.

[0033] 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.

[0034] Without limitation, in one example implementation, the devices may conduct this process across the entire set of available BLE channels. For instance, this may include 37 available BLE channels spaced apart by 2 MHz or 72 available BLE channels spaced apart by 1 MHz. Further, 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.

[0035] As to each group of BLE channels, the initiator may cycle through the channels, engaging in ping-pong signaling with the reflector and computing an associated phase shift. For instance, on each BLE channel, (i) the initiator may use a 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 a 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.

[0036] In this process, the devices could include with their constant tone signals to each other one or more access codes or the like, to help limit the signals to be read by just the desired recipient device. Further, the devices could use the LTK as a basis to encrypt these access codes.

[0037] For instance, each ping message that the initiator sends to the reflector could be a BLE packet carrying both the constant tone signal generated by the initiator and also one or more access codes identifying the reflector as the intended recipient, with the one or more access codes being encrypted with a key based on the LTK. The reflector may thus uncover the one or more access codes likewise with a key based on the LTK and thereby determine that the ping message including its constant tone signal is intended for receipt by the reflector.

[0038] Similarly, each pong message that the reflector sends to the initiator could be a BLE packet carrying both the constant tone signal generated by the reflector and also one or more access codes identifying the initiator as the intended recipient, with the one or more access codes being encrypted with a key based on the LTK. The initiator may thus uncover the one or more access codes likewise with a key based on the LTK and thereby determine that the pong message including its constant tone signal is intended for receipt by the reflector.

[0039] As noted above, in the BCS process, the reflector could 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.

[0040] In an example implementation, for instance, after the devices complete their ping-pong messaging on the BLE channels of a given group, the reflector could then transmit to the initiator a message that specifies the reflector’s receive phase respectively for each of the initiator’s transmitted ping messages, possibly also encrypting this information based on the LTK. Further, as to each group of BLE channels, the initiator could 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 could proceed with the analysis noted above to compute distance between the initiator and the reflector.

[0041] 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, likewise encrypting this receive phase information based on the LTK. Other examples may be possible as well.

[0042] 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, 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. For instance, it may be best for the devices to engage in this synchronization process as an initial step respectively for each group of BLE channels on which they will engage in ranging.

[0043] This synchronization process may involve the devices engaging in an exchange of sync signaling with each other on a designated sync channel. This sync channel may be a particular one of the BLE channels that is designated for use as the sync channel (possibly one of the BLE channels that the devices will also use for ranging in the BCS process), among other possibilities.

[0044] For instance, one device 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 other device. The other device as recipient device may then receive this transmitted sync signal but may determine that the frequency of the signal as received is offset from what it perceives to be the center frequency of the sync channel. The recipient device may therefore determine a fractional frequency offset as a difference between received frequency of the sync signal and expected frequency of the sync signal, and the recipient device may then set itself to apply that determined frequency offset to bias its subsequent ping-pong signal exchanges with the first device. Further, the sync signal may also carry a bit pattern that the recipient device could 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 could 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.

[0045] In some implementations, for security and / or other reasons, the devices may alternatively spread their sync signaling over multiple sync channels, e.g., multiple particular BLE channels designated as sync channels. For instance, the devices may spread their sync signaling over two or three sync channels. With this arrangement, for example, the devices may engage in signaling on one sync channel to establish the fractional frequency offset, and the devices may engage in signaling on another sync channel to synchronize their timing, among other possibilities.

[0046] In addition, as with their ping-pong messaging in the core of the BCS process that may follow this synchronization process, the devices may use one or more encrypted access codes in this sync signaling to help limit the sync signaling to be read by just the desired recipient device. For instance, the initiator could include with its sync signal to the reflector one or more access codes specific to the reflector and encrypted based on the LTK, to help ensure that just the reflector processes that sync signal. And if applicable, the reflector could include with its sync signal to the initiator one or more access codes specific to the initiator and encrypted based on the LTK, to help ensure that just the initiator processes that sync signal.

[0047] Accordingly, in an example implementation of the BCS process, for each group of BLE channels, the devices may first engage in this synchronization process, the devices may then engage in the core BCS ping-ping exchange on their established pseudorandom sequence of BLE channels, and the reflector may then report its phase information per channel to the initiator. 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 could involve measuring round trip time (RTT) of signaling between the devices, and Mode-3 could also include reporting RTT measurements.) 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.

[0048] Figure l is a timing diagram illustrating how this process may operate in an example implementation, across an example set of BLE channels.

[0049] As shown in this figure, on three example BLE channels (CH 0, CH 1, and CH 2), the devices may first engage in the Mode-0 synchronization process, with the initiator transmitting a sync signal to the reflector that the reflector may use as a basis to establish a frequency bias and timing offset, and with the reflector transmitting a sync signal to the initiator that the initiator may likewise use as a basis to establish a frequency bias and timing offset. And as shown next, sequentially on each of multiple BLE channels established as a pseudorandom hopping sequence 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.

[0050] This figure does not expressly illustrate the Mode-3 reporting of receivephase information from the reflector to the initiator. As noted above, that step could occur afterthe Mode-2 core BCS ping-pong exchanges on the channels of the sequence or perhaps on the fly within the pong messages transmitted by the reflector.

[0051] Through this process, the initiator may thereby determine with relatively high accuracy a distance between it and the reflector. And the initiator may 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, encrypting the distance report based on the LTK as well. 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.

[0052] Note that some of the processing described as being carried out by the initiator could be carried out alternatively by the reflector instead. 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. b. Angle-of-Arrival Estimation

[0053] In addition to using Bluetooth or another wireless technology as a basis to determine distance between devices, an example ranging process may also involve using Bluetooth or another wireless technology as a basis to determine direction of one device from the other. In particular, direction could be determined based on one device’s analysis of angle- of-arrival of signaling from the other device and / or one device’s analysis of angle-of-departure of signaling to the other device.

[0054] The Bluetooth Core Specification noted above, for instance, states that a BLE-enabled device can make its direction available to a peer device by transmitting direction- finding-enabled packets that enable the peer device to estimate an angle of arrival (AoA) of those packets and thus a direction of the BLE-enabled device from the peer device. These direction-finding enabled packets may be BLE packets that carry a constant tone signal like that the peer device could evaluate in order to estimate AoA.

[0055] In particular, as shown in Figure 2, the Bluetooth specification provides that a transmitting device could transmit direction-finding-enabled packets using a single transmit antenna 200, and that a receiving device could use a radio frequency (RF) switch 202 to selectively receive those packets at different antennas of an antenna array 204. With this arrangement, as the receiving device switches from antenna to antenna, the receiving device could determine the receive phase of the CTE respectively per antenna. The receiving device could then calculate a difference in phase of the CTE as received at its different receive antennas and could use that calculated phase difference as a basis to estimate AoA, representing the angular orientation of the transmitting device (e.g., in relation to an antenna plane of the receiving device). Specifically, as shown in Figure 3, the Bluetooth specification explains that, if the signal wavelength is X, the distance between the two antennas is d, and the determined phase difference of the signal arriving at the two antennas is y, then the angle of arrival 0 of the signal at the receiving device can be estimated as 9 = arccos((\| ) / (27td)).

[0056] In practice, a BLE-enabled device may use this or another form of AoA determination as a basis to enhance its ranging as to another BLE-enabled device. For instance, an initiator may not only engage in the BCS process to determine its distance from a reflector but may also evaluate AoA of signaling from the reflector (possibly some of the BCS signaling and / or other signaling from the reflector) in order to determine direction from the reflector. This distance and direction information in combination could thereby establish an estimate of where the reflector is located in relation to the initiator, which the initiator may use as a basis to support not only distance-based services but also location-based services such as tag-finding applications for instance. c. Multi-Anchor Bluetooth Channel Sounding

[0057] While the BCS process may work well to facilitate determining distance between an initiator and a given reflector, there may be some situations where it would be useful for the initiator to determine its distance not just from one reflector but respectively from each of multiple reflectors.

[0058] Without limitation, an example of this situation is where a motor vehicle such as a car has multiple locks each having an associated reflector module or “anchor” (e.g., collocated with the lock), and where, as a user of an authorized phone or other device approaches the vehicle, it would be useful to unlock just the one or more of the locks that are closest to the user. For instance, a vehicle may have separate locks and associated anchors for a driver’s door, a front passenger’s door, a rear left door, a rear right door, a trunk, and a hood,and it may be useful to unlock just the driver’s door lock as the user approaches that door in particular. Unlocking one or more of these locks based on their being closest to the user, and possibly avoiding unlocking other locks based on their not being closest to the user, may help provide safety for the user.

[0059] In this example situation, it would be useful for the user’s device to determine its distance respectively from each of the anchors in the vehicle, so that the user’s device could then arrange to unlock just the lock closest to the device and not one or more other locks of the vehicle. For instance, once the device determines which lock it is closest to, the device may then engage in secure digital-key communication with a processing system of the vehicle in order to unlock that lock in particular, possibly avoiding unlocking other locks of the vehicle in the process.

[0060] Further, it may be useful to determine the distance respectively between the device and each of multiple anchors in the vehicle, and for the device or the vehicle processing system to use those multiple determined distances as a basis to triangulate the device’s relative position in a coordinate system defined with respect to the vehicle. In this coordinate system, the anchors in the vehicle are at fixed positions. Triangulating could thus involve (i) for at least three of the anchors in the vehicle, determining the distance respectively between the device and the anchor, and establishing a circle centered on the anchor’s position and having that determined distance as a radius and (ii) deeming a location of intersection of these circles as being the position of the device in relation to the fixed positions of the anchors in the vehicle. This process could establish with a high degree of accuracy the device’s position in relation to the multiple anchors in the vehicle, which the device and / or vehicle processing system may then use as a further basis to unlock just the one or more closest locks or for one or more other purposes.

[0061] This processing could be extended as well to other arrangements, not limited to a motor vehicle. For instance, if a house has multiple doors each having an associated lock, this process may facilitate determining which door the user’s device is closest to, and responsively unlocking that door in particular without unlocking one or more other doors. Likewise, if a building has many rooms, each having an associated door with an associated lock, this process may facilitate determining which room’s door the user’s device is closest to, and responsively unlocking that room’s door in particular without unlocking one or more other room’s doors. Other examples are possible as well.

[0062] Unfortunately, however, a technical problem with the BCS process noted above is that the process may assume the existence of a dedicated Bluetooth connection between the initiator and reflector, and the process may further assume dedicated, secure signaling between the initiator and reflector.

[0063] As noted above, for instance, the initiator and reflector may first establish a Bluetooth connection between each other and may share an LTK with each other to facilitate their secure communication with each other. Further, the initiator and reflector may then engage in secure sharing of a seed with each other so as to establish the BLE-channel hopping sequence that they will use in the BCS process, the initiator and reflector may engage in secure synchronization-signaling with each other on designated BLE channels, and the initiator and reflector may then engage in secure BCS ping-pong signaling with each other with tight timing coordination hopping from channel to channel and with reporting of phase information. Further, the initiator and reflector may engage in secure reporting of their distancedetermination results to each other over their established BLE connection, among other possibilities.

[0064] In order for a device to carry out this or another such process concurrently with multiple anchors, it may therefore be necessary for the device to establish and maintain multiple BLE connections at once. For instance, with six anchors in a motor vehicle, it may be necessary for the user’s device to establish and maintain six BLE connections concurrently. Yet handling multiple BLE connections at once may overburden a Bluetooth controller in the user’s device and may impact other Bluetooth functions such as audio streaming, among other issues.

[0065] The present disclosure provides a mechanism that may help address this technical problem. In particular the disclosure provides for a Multi-Anchor BCS (MABCS) process, through which a device could concurrently determine its distance respectively from multiple anchors while maintaining possibly just a single BLE connection with one of the anchors. The MABCS process works in part by interleaving BCS processes for the multiple anchors.

[0066] In accordance with the disclosure, one anchor of the multiple anchors could function as a primary anchor with which the device will connect, and each other anchor of the multiple anchors could function as a secondary anchor that will benefit from the primary anchor’s connection with the device. As the device and primary anchor engage in the BCS process with each other, each secondary anchor may effectively snoop on the associatedwireless communications between the device and the primary anchor and may use that snooping as a basis for a respectively interleaved BCS process.

[0067] For instance, each time the device sends a BCS ping message to the primary anchor (e.g., including one or more access codes designating the primary anchor as a recipient), not only will the primary anchor responsively transmit to the device a respective pong message as noted above to ultimately facilitate determining the distance between the device and the primary anchor, but each secondary anchor will also responsively transmit to the device a respective pong message to ultimately facilitate determining the distance between the device and that secondary anchor.

[0068] An example implementation of this process provides an interesting technical advance, at least by having each of one or more secondary anchors (i) detect a ping message that is sent from the device to the primary anchor (e.g., per one or more access codes in the ping message indicating that the primary anchor is the intended recipient) rather than to the secondary anchor and (ii) respond to that ping message by sending a pong message to the device, to facilitate determining distance between the device and the secondary anchor. (Further, an alternative example implementation could provide an interesting technical advance by having the device’s ping message more generally include one or more access codes designating the group of anchors as recipients, and having all of the anchors respond in sequence to that ping message.

[0069] To facilitate this interleaved MABCS process, given the tightly coordinated timing of the BCS process as discussed above, the device could extend its receive time window for each BLE channel to allow sufficient time for the device to receive pong messages from all of the anchors, one after another in sequence, rather than just from the primary anchor. For instance, through its established BLE connection with the primary anchor, the device could learn how many anchors there are (e.g., the total number of anchors including the primary anchor), and the device could set its receive time window per BLE channel to allow for the device to sequentially receive that many pong messages in response to the device’s ping message on the channel. Further, the device could effectively schedule its receipt of the pong messages in this extended time window from the multiple anchors, e.g., by planning to receive and process the anchors’ respective pong messages in sequence, one after another.

[0070] In addition, a computing system on the anchor side of this MABCS process could help to coordinate processing among the anchors, and between the anchors and the device, to facilitate timing of the anchors’ respective pong messages per BLE channel, amongother functions. This computing system could be provided at the primary anchor or in a CPU or other processing unit interconnected with the various anchors, among other possibilities. In a motor vehicle, for instance, this computing system could be provided at a CPU or other controller of the vehicle.

[0071] To begin with, this anchor-side computing system could transmit to the device, through the established BLE connection between the primary anchor and the device, an indication of how many anchors there are, so as to allow the device to extend or otherwise set the device’s receive window and schedule the device’s receiving of the anchors’ pong messages accordingly. This indication of how many anchors there are could be a total count of the anchors or perhaps a count of the one or more secondary anchors in addition to the primary anchor.

[0072] Given this indication of how many anchors there are, the device could plan accordingly to receive that number of pong messages from the anchors following each ping message that the device sends. The device could base this plan on how long the transmission of each anchor’s pong message would take. For instance, if it would take a duration of T for each pong message transmission (possibly also including associated processing of the pong transmission on each end), and if there are N anchors, then the device could set its receive window following each ping message to be a duration of T*N and could plan to receive the anchors’ pong messages sequentially in time segments of duration T.

[0073] Further, the anchor-side computing system could schedule and coordinate the sequence in which the anchors will send their respective pong messages in response to each ping message from the device. For instance, given six anchors, the computing system may establish a sequential order of the anchors and may engage in signaling respectively with the anchors to direct and thus cause the anchors to transmit their pong messages to the device in that established sequence. In an example implementation, the computing system may assign the anchors ordinal positions in this sequence to facilitate their sequential pong transmissions.

[0074] The computing system could coordinate this sequential timing likewise based on how long the transmission of each pong message would take. For instance, if it would take a duration T for each pong message transmission (possibly also including associated processing of the pong transmission on each end), and if there are N anchors, then the processing system could coordinate a pong-transmission sequence including (i) a first anchor in the sequence transmitting its pong message to the device at time zero following receipt of the device’s ping message, (ii) a second anchor in the sequence transmitting its pong messageto the device at time T following receipt of the device’s ping message, (iii) a third anchor in the sequence transmitting its pong message to the device at time 2T following receipt of the device’s ping message, and so forth through the last anchor in the sequence transmitting its pong message to the device at time (N-l)T following the device’s ping message. In an alternative implementation, this sequencing could be predefined and pre-configured among the anchors, to facilitate the MABCS process when applicable.

[0075] Note that the device may not need to know which anchors are which in this sequence, as long as the device has a basis to map each anchor’s pong transmission on each BLE channel to the same anchor’s pong transmission on each other BLE channel. One way to accomplish this is by applying the same anchor sequence on each BLE channel. With that arrangement, the device could conveniently map the ordinal position of a given anchor’s pong transmission to the device on one channel with the ordinal position of same anchor’s pong transmission to the device on another channel, so that the device could determining the device’ s distance to that anchor, without knowing which anchor the anchor is among the multiple anchors. Another way to accomplish this, for added security, may be to change the anchor sequence from channel to channel, with the computing system coordinating the per channel change among the anchors and sharing with the device associated mapping data to enable the device to map each anchor’s pong transmission per BLE channel to the same anchor’s pong transmission on each other BLE channel.

[0076] Note also that similar scheduled processing could be used for various other interleaved communications between the anchors and the device related to the MABCS process, in addition to their Mode-2 ping-pong communications with each other.

[0077] For example, similar processing could be applied to facilitate interleaved synchronization signaling between the anchors and the device, at Mode-0. As noted above, the BCS synchronization process may involve one device transmitting to the other device a synchronization signal, and the other device using that synchronization signal as a basis to set a frequency bias and timing offset. In practice, the device could carry out this process concurrently with the multiple anchors, by transmitting a synchronization signal that the multiple anchors would all detect and use as a basis for synchronization, and / or with the anchors sequentially transmitting such synchronization signals to the device in an assigned sequence.

[0078] As another example, similar processing could be applied to facilitate interleaved reporting of phase information to the device at Mode-3, and / or interleaved reportingof resulting distance determinations or other information. As noted above, at Mode-3, a reflector may report to an initiator the reflector’s receive phase respectively for each channel of a group, to enable the initiator to compute distance between the initiator and the reflector based on the MCPD process. In practice, the multiple anchors could carry out this reporting to the device in their assigned sequential order, and the device could thus receive the anchors’ reported phase information in that sequential order, to facilitate then computing the device’s distance respectively from each anchor. Likewise, once the multiple distances are determined, the device and anchors could exchange the distance determinations in sequential order as well.

[0079] To further facilitate this interleaved MABCS process, given that communications between the device and the primary anchor may be secured using a shared LTK as noted above, the anchors may also share that LTK with each other over. For instance, once the primary anchor receives the LTK from the device in an example implementation, the primary anchor or associated computing system (e.g., CPU) may transmit that received LTK over the anchors’ private, secure network, to each secondary anchor. Each secondary anchor may thus receive the LTK and, like the primary anchor, may use the LTK as a basis to secure its communications with the device.

[0080] Alternatively, the various anchors may otherwise be provisioned with this shared LTK in advance. For instance, an anchor could be provisioned with the LTK, possibly through earlier communication with the device, and may share the LTK with each other anchor. Further, it may be possible for an anchor that is not involved in the MABCS process to be provisioned with the LTK, perhaps through earlier communication with the device, and to share that LTK with multiple anchors, including primary anchor and one or more secondary anchors, that will engage in the MABCS process with the device.

[0081] Given this LTK, each anchor could then engage in secured communication respectively with the device as part of the MABCS process. For instance, when the device transmits a Bluetooth communication to the primary anchor and includes in or with the communication an access code that designates the primary anchor as a recipient and is encrypted based on the LTK, each anchor of the multiple anchors could detect that communication and use the LTK as a basis to decrypt and read the access code so as to determine that the communication is destined to the primary anchor. Having determined that the communication is destined to the primary anchor, each anchor could thus process the communication accordingly, to facilitate the MABCS process.

[0082] Through this process, for example, when the device transmits to the primary anchor an encrypted hopping-sequence seed, not only could the primary anchor receive, decrypt, and read that communication, but each secondary anchor could also receive, decrypt, and read that communication. As a result, all of the anchors could receive the hopping-sequence seed and, in the manner noted above, could each thereby learn what the hopping sequence will be so as to facilitate their respective BCS process with the device. (Alternatively, upon reading this communication, the primary anchor could forward the hopping-sequence seed along to the secondary anchors through their private, secure network.)

[0083] As another example, when the device transmits to the primary anchor each ping message for a BCS process with the primary anchor, not only could the primary anchor receive and decrypt that ping message and, seeing that the ping message is destined to the primary anchor, evaluate the primary anchor’s receive phase of the included constant tone signal to facilitate the primary anchor’s BCS process with the device, but each secondary anchor could also receive and decrypt that ping message and, seeing that the ping message is destined to the primary anchor, also evaluate the secondary anchor’s receive phase of the included constant tone signal to facilitate the secondary anchor’s BCS process with the device.

[0084] Further, each secondary anchor could use the LTK as a basis to secure the secondary anchor’s transmissions to the device as well. For instance, each secondary anchor could use the LTK as a basis to secure its pong message transmissions to the device, as well as other signaling such as a Mode-3 transmission to the device to report receive phase information, among other possibilities.

[0085] Figure 4 is an illustration of an example motor vehicle 400 that could be a subject of the MABCS process. Figure 4 shows the vehicle 400 including multiple example anchors 402-412 associated with respective locks of the vehicle, and showing an example user’s phone 414 that may be approaching the vehicle 400. Further, the figure shows the vehicle 400 having a CPU 416, which may sit on a private vehicle network (not shown) together with the various anchors and may control various vehicle operations. At issue in the arrangement of Figure 4 may be the distances of the phone 414 from these multiple anchors 402-412, i.e., the distance of the phone 414 respectively from each anchor.

[0086] Applying the MABCS process in this example arrangement, possibly in response to the phone 414 detecting a Bluetooth advertisement of sufficient signal strength from at least one of the anchors 402, the phone 414 may first establish a BLE connection with that anchor 402 functioning as a primary anchor as shown, and, through that establishedconnection, the phone 414 may transmit an LTK to that primary anchor 402. Further, the primary anchor 402 and / or the CPU 416 may then share that LTK as shown with the other anchors 404-412 functioning as secondary anchors. Optimally, the phone 414 could then engage in BCS in an interleaved fashion with all of the anchors 402-412, without a need for the phone 414 to also establish and maintain a separate BLE connection with each secondary anchor 404-412.

[0087] In line with the discussion above, for instance, the CPU 416 could transmit through the primary anchor’s BLE connection to the phone 414 an indication of the count of anchors (here, six), the CPU 416 could schedule a sequence of the anchors 402-412, and the phone 414 could schedule its receipt of pong messages sequentially from the anchors 402-404. Further, through the established BLE connection, the phone 414 could convey the hopping sequence seed, which each anchor 402-412 could receive and use as a basis to determine the applicable hopping sequence, and the phone 414 could likewise use as a basis to determine the hopping sequence.

[0088] The phone 414 and anchors 402-412 could then engage in interleaved Mode-2 ping-pong messaging with each other as discussed above on each BLE channel in the hopping sequence. Namely, on each channel, the phone 414 could transmit a ping message with constant tone signal to the primary anchor 402, and the anchors 402-412 could receive and respond sequentially with pong messages to the device. (In this process as shown, the secondary anchors 414-412 could effectively snoop on the ping message that the phone 414 sent to the primary anchor 402, through what the figure illustrates as snoop links between the secondary anchors 404-412 and then phone 414. However, this would optimally occur without any established connection between the secondary anchors 404-412 and the phone 414.) Further, in Mode-3, the anchors 402-412 could sequentially report their receive-phase information to the phone 414, to enable the phone 414 to compute its distance respectively to each anchor 402-412.

[0089] Through this process, the phone 414 may thereby concurrently determine its distance respectively to each anchor 402-412, which the phone 414 may then use as a basis to support a useful application.

[0090] For instance, given its distances to the various anchors 402-412 in the vehicle 400, the phone 414 may determine that the phone 414 is closest to anchors 402 and 404. Given this determination, the phone 414 may therefore engage in secure communication with anchors 402 and 404, with the associated locks of the vehicle 400, and / or with the CPU416, to unlock those locks in particular without unlocking the other locks of the vehicle 400. Alternatively, the phone 414 may securely communicate the phone’s distance determinations to the CPU 416, through the phone’s established BLE connection with the primary anchor, and on the same basis the CPU 416 may coordinate the unlocking of those two locks in particular based on the phone 414 being closest to the associated anchors 402 and 404.

[0091] Still further, in line with the discussion above, the phone 414, the CPU 416, and / or another processing system may conduct triangulation based on these multiple distance determinations, to more particularly determine the position of the phone 414 in relation to the positions of the anchors 402-412 in the vehicle 400, and may then use that more particular determination as a basis to selectively unlock one or more of the locks and / or to take other useful action.

[0092] Figure 5 is a variation of the illustration of Figure 1, showing how some of this signaling could work in practice, in an example scenario with a phone or other device and with four example anchors, one of which functions as the primary anchor and the others of which function as secondary anchors. In particular, Figure 5 illustrates ping-pong signaling respectively on a hopping sequence of three example BLE channels, CH 0, CH 1, CH 2.

[0093] In the arrangement of Figure 5, on each channel, the device transmits a ping message D, which may include access code data specific to the primary anchor and encrypted based on the shared LTK and may further include a constant tone signal generated by the device. In response to this ping message, the various anchors then respond with pong messages to the device in their assigned sequence, which the device accommodates by setting its receive window to a suitable duration.

[0094] Namely, as shown on each channel, in response to ping message D that the device transmits to the primary anchor providing a constant tone signal generated the device, (i) a first anchor in the sequence transmits to the device a respective pong message Al providing a constant tone signal generated by the first anchor, (ii) a second anchor in the sequence then transmits to the device a pong message A2 providing a constant tone signal generated by the second anchor, (iii) a third anchor in the sequence then transmits to the device a pong message A3 providing a constant tone signal generated by the third anchor, and (iv) a fourth anchor in the sequence then transmits to the device a pong message A4 providing a constant tone signal generated by the fourth anchor.

[0095] Within these pong messages or subsequently in sequential Mode-3 messages from the anchors to the device, the anchors may also report to the device theirrespective receive-phase information for the device’s transmitted ping message D. Further, per channel, the device may determine its own receive phase respectively per anchor’s pong message, and the device may use the device’s receive phase information and the anchor’s receive phase information as a basis to compute per anchor a phase shift for the channel. Then for each anchor, based on a comparison of the phase shifts so computed on at least two of the channels, the device may compute the distance between the device and the anchor.

[0096] As a result, by interleaving the BCS processes with the multiple anchors, the device could concurrently compute the device’s distances respectively to each anchor, which the device and or another processing system could use as a basis to facilitate various applications as noted above.

[0097] While the motor-vehicle example discussed above is a good example implementation of this process, numerous examples are possible as well, not limited to a vehicle.

[0098] As one of many examples, the MABCS process could be applied as well to facilitate determining a device’s position within a building, based on the device’s communication with multiple fixed-position Bluetooth anchors within the building. Here too, the device may establish a BLE connection with one of the anchors as a primary anchor. After the device then shares an LTK with the primary anchor, a central controller (e.g., the primary anchor or a separate CPU) could inform the device how many anchors there are, the device could set its receive window and schedule its pong-reception accordingly, the controller could coordinate sequential processing by the anchors, and the device could then engage in the interleaved BCS ping-pong messaging with the anchors, to concurrently determine distance from each anchor respectively. Further, the device and / or the controller could then engage in triangulation based on the determined distances, to further determine the position of the device within the building. This location could then be used as a basis to facilitate various applications, such as authorizing user access to part of the building, among other possibilities.

[0099] Note also that the MABCS process could also be enhanced with added determinations of AoA as to each anchor. For instance, as the device engages in the MABCS process with the group of anchors to determine the device’s distance concurrently from each anchor, the device could also use multiple receive antennas and associated processing logic to determine the AoA of signaling respectively from each anchor so as to determine direction per anchor. The combination of distance and direction of each anchor, respectively, could then serve as an enhanced basis for various applications. For instance, the device and or otherprocessing system may trigger unlocking of one associated lock based both on the device being closest to that lock and also based on the direction between the device and the lock.

[0100] Further, as noted above, the various disclosed principles could extend to apply with respect to other wireless technologies, i.e., other than Bluetooth and / or other than BLE. For instance, the principles could extend to apply through use of ultra-wideband, WiFi, or other wireless technologies, among other possibilities.

[0101] Figure 6 is a flow chart illustrating a method that could be carried out by a device in accordance with the present disclosure, to concurrently determine distance of the device respectively from each of a plurality of anchors, including a primary anchor and one or more secondary anchors.

[0102] As shown in Figure 6, at block 600, the method includes the device establishing a Bluetooth connection between the device and the primary anchor. Further, at block 602, the method includes the device configuring, through the established Bluetooth connection, a MABCS process.

[0103] At blocks 604-606, the method then includes the device engaging in the configured MABCS process cooperatively with the anchors of the plurality.

[0104] In particular, as shown at block 604, this MABCS process includes, sequentially as to each BLE channel of multiple BLE channels in a hopping sequence, (i) the device transmitting on the BLE channel a respective ping message that includes a constant tone signal generated by the device, (ii) the device receiving sequentially from each of the anchors of the plurality on the BLE channel, responsive to the ping message, a respective pong message that includes a constant tone signal generated by the anchor, and (iii) the device determining, respectively for each anchor, a phase shift on the BLE channel based on receive phase at the anchor of the constant tone signal generated by the device and receive phase at the device of the constant tone signal generated by the anchor.

[0105] Further, as shown at block 606, the MABCS process includes the device determining the distance of the device respectively from each anchor based at least on a difference in (i) the phase shift determined respectively for the anchor on a first one of the BLE channels and (ii) the phase shift determined respectively for the anchor on a second one of the BLE channels.

[0106] In line with the discussion above, the act of the device configuring, through the established Bluetooth connection, the MABCS process could involve conveying from the device to the primary anchor, through the established Bluetooth connection, seed data usableby each anchor of the plurality of anchors as a basis to establish the hopping sequence of BLE channels.

[0107] Further, as discussed above, the act of the device configuring, through the established Bluetooth connection, the MABCS process could involve (i) the device receiving from the primary anchor, through the established Bluetooth connection, an indication of how many anchors there are in the plurality of anchors and (ii) based on the received indication, the device scheduling for each BLE channel, the receiving sequentially from each of the anchors of the plurality of the respective pong message that includes the constant tone signal generated by the anchor. For instance, this scheduling could include the device setting a receive window respectively per BLE channel, with the receive window being of a duration suitable to facilitate the device receiving sequentially from each of the anchors of the plurality of the respective pong message that includes the constant tone signal generated by the anchor.

[0108] In addition, as discussed above, the act of the configuring, through the established Bluetooth connection, the MABCS process could involve the device communicating from the device to the anchors of the plurality, through the established Bluetooth connection between the device and the primary anchor, an LTK useable by each anchor as a basis for encrypted communication with the device in the MABCS process. As discussed above, for instance, communicating the LTK through the Bluetooth connection to the anchors of the plurality could involve transmitting the LTK through the Bluetooth connection to the primary anchor (i) for use by the primary anchor and (ii) for forwarding by the primary anchor to the one or more secondary anchors for use by each secondary anchor.

[0109] As noted above, the anchors could be nodes on a private network, in which case the forwarding of the LTK from the primary anchor to the one or roe secondary anchors could be through that private network. Further, as noted above, the anchors could be disposed at respective points in a motor vehicle, in which case the private network could be a wired network within the motor vehicle.

[0110] In addition, as noted above, the respective ping message on each BLE channel could also include ping-message data encrypted based on the LTK, and the encrypted ping-message data could be decryptable respectively by each anchor based on the LTK as well. Further, the respective pong message received on the BLE channel from each anchor could also include respective pong-message data encrypted based on the LTK, and that encrypted pong-message data could be decryptable by the device based on the LTK as well.

[0111] Still further, as discussed above, the ping-message data could also include access code data designating the primary anchor as a recipient and may not include access code data designating any of the one or more secondary anchors as a recipient even though each secondary anchor will also receive and process the ping message. Further, the pong-message data of each pong message could include access code data designating the device.

[0112] In addition, as discussed above, while the device engages in the MABCS process cooperatively with the anchors of the plurality, the device may maintain the established Bluetooth connection with the primary anchor and may not have a Bluetooth connection with any of the one or more secondary anchors.

[0113] Figure 7 is another flow chart illustrating a method that can be carried out in accordance with the present disclosure, to facilitate MABCS from the perspective of a system comprising multiple anchors including a primary anchor and one or more secondary anchors.

[0114] As shown in Figure 7, at block 700, the method includes the primary anchor in this system could establish a Bluetooth connection between the primary anchor and a device functioning as an initiator. Further, at block 702, the method includes the primary anchor engaging in communication with the device through this connection to configure the MABCS process. This configuring can involve an LTK exchange, a hopping-sequence seed exchange, and the primary anchor informing the device how many anchors are in the system, to enable the device to schedule its sequential receipt of associated messaging from the anchors. Still further, at block 704, the method includes establishing a sequential order of the anchors to facilitate their interleaved signaling with the device. And at block 706, the method includes the anchors engaging in the MABCS process cooperatively with the device, in the manner discussed above for instance.

[0115] Figure 8 is a simplified block diagram of an example electronic device, which could function as the device (e.g., initiator) or as any of the anchors in an MABCS process like that described above. As shown in Figure 8, the example electronic device includes a Bluetooth communication interface 800, at least one processor 802, and non-transitory data storage 804, all of which may be communicatively linked together by a system bus or other connection mechanism 806 and / or may be integrated with each other wholly or partly. As an example integration of these components, for instance, the at least one processor 802 and data storage 804 may be part of the Bluetooth communication interface 800.

[0116] Depending on other context, the example device may also include other components and / or take other forms. For instance, as the initiator in an example implementation, the device may also include a cellular communication interface and a display. Further, as an anchor in an example implementation, the device may also include a local communication interface through which the device is configured to communicate with other anchors and / or with a CPU or other central controller on the anchor side of the MABCS process.

[0117] As shown, the Bluetooth communication interface 800 of the example device may include a Bluetooth radio 808 and an associated antenna structure 810. The Bluetooth radio 808 may facilitate short-range wireless communication in accordance with the Bluetooth specification noted above, including BLE communications such as Bluetooth Channel sounding and Bluetooth AoA determination for instance. Further, the antenna structure 810 may be an antenna array supporting air-interface transmission and reception of such Bluetooth communications, possibly also including at least two spaced apart antennas to facilitate AoA determination if applicable.

[0118] The at least one processor 802 may comprise one or more general purpose processors (e.g., microprocessors, central processing units, application processors, and / or one or more other processors) and / or one or more special purpose processors (e.g., digital signal processors, application specific integrated circuits, etc.) Further, the non-transitory data storage 804 may comprise one or more volatile and / or non-volatile, removable and / or permanently situated storage components (such as magnetic, optical, flash, RAM, ROM, EPROM, EEPROM, etc.) and may be integrated in whole or in part with the at least one processor 802. Further, as shown, the data storage 804 may embody, encode, hold, or otherwise store program instructions 812, which could be executable by the at least one processor 802 to carry out various device operations such as those described above for instance.

[0119] Figure 9 is a simplified block diagram of an example anchor-side computing system. This computing system could be included in one or more of the anchors and / or provided as a separate processing system such as a CPU communicatively linked with the anchors through a private network as discussed above for instance. As shown in Figure 9, the example computing system could include at least one communication interface 900, at least one processor 902, and at least one non-transitory data storage 904, which could integrated together or communicatively linked together by a system bus, network, or one or more other connection mechanisms 906.

[0120] The at least one communication interface 900 may comprise one or more interfaces to facilitate wired and / or wireless communication with one or more other entities such as with one or more anchors. Optimally, this would be a wired interface to help facilitate secure private networking. However, other examples may include wireless interfaces such as WiFi interfaces for instance.

[0121] The at least one processor 902 may comprise one or more general purpose processors (e.g., microprocessors, central processing units, application processors, and / or one or more other processors) and / or one or more special purpose processors (e.g., digital signal processors, application specific integrated circuits, etc.) Further, the non-transitory data storage 904 may comprise one or more volatile and / or non-volatile, removable and / or permanently situated storage components (such as magnetic, optical, flash, RAM, ROM, EPROM, EEPROM, etc.) and may be integrated in whole or in part with the at least one processor 902. Further, as shown, the data storage 904 may embody, encode, hold, or otherwise store program instructions 908, which could be executable by the at least one processor 902 to carry out various device operations such as those described above for instance.

[0122] The present disclosure contemplates at least one non-transitory computer- readable medium (e.g., one or more volatile and / or non-volatile storage components, such as magnetic, optical, flash, RAM, ROM, EPROM, EEPROM, etc.) having stored thereon program instructions executable by at least one processor of a device to cause the device to carry out operations such as those discussed above.

[0123] 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.

Claims

CLAIMSWhat is claimed is:

1. A method to concurrently determine distance of a device respectively from each of a plurality of anchors, including a primary anchor and one or more secondary anchors, the method comprising: establishing by the device a Bluetooth connection between the device and the primary anchor; configuring by the device, through the established Bluetooth connection, a multi -anchor Bluetooth Channel Sounding (CS) process; and engaging by the device in the configured multi-anchor Bluetooth CS process cooperatively with the anchors of the plurality, wherein the multi-anchor Bluetooth CS process includes:(a) sequentially as to each Bluetooth Low Energy (BLE) channel of multiple BLE channels in a hopping sequence, (i) transmitting by the device, on the BLE channel a respective ping message that includes a constant tone signal generated by the device, (ii) receiving by the device sequentially from each of the anchors of the plurality, on the BLE channel, responsive to the ping message, a respective pong message that includes a constant tone signal generated by the anchor, and (iii) determining by the device, respectively for each anchor, a phase shift on the BLE channel based on receive phase at the anchor of the constant tone signal generated by the device and receive phase at the device of the constant tone signal generated by the anchor, and(b) determining by the device the distance of the device respectively from each anchor based at least on a difference in (i) the phase shift determined respectively for the anchor on a first one of the BLE channels and (ii) the phase shift determined respectively for the anchor on a second one of the BLE channels.

2. The method of claim 1, wherein configuring by the device, through the established Bluetooth connection, the multi-anchor Bluetooth CS process comprises: conveying from the device to the primary anchor, through the established Bluetooth connection, seed data usable by each anchor of the plurality of anchors as a basis to establish the hopping sequence of BLE channels.

3. The method of claim 1, wherein configuring by the device, through the established Bluetooth connection, the multi-anchor Bluetooth CS process comprises: receiving by the device from the primary anchor, through the established Bluetooth connection, an indication of how many anchors there are in the plurality of anchors; and based on the received indication, scheduling by the device for each BLE channel, the receiving sequentially from each of the anchors of the plurality of the respective pong message that includes the constant tone signal generated by the anchor.

4. The method of claim 3, wherein scheduling by the device for each BLE channel, the receiving sequentially from each of the anchors of the plurality of the respective pong message that includes the constant tone signal generated by the anchor comprises: setting by the device a receive window respectively per BLE channel, with the receive window being of a duration suitable to facilitate the receiving sequentially from each of the anchors of the plurality of the respective pong message that includes the constant tone signal generated by the anchor.

5. The method of claim 1, wherein configuring by the device, through the established Bluetooth connection, the multi-anchor Bluetooth CS process comprises: communicating from the device to the anchors of the plurality, through the established Bluetooth connection between the device and the primary anchor, a Long Term Key (LTK) useable by each anchor as a basis for encrypted communication with the device in the multianchor Bluetooth CS process.

6. The method of claim 5, wherein communicating the LTK through the Bluetooth connection to the anchors of the plurality comprises transmitting the LTK through the Bluetooth connection to the primary anchor (i) for use by the primary anchor and (ii) for forwarding by the primary anchor to the one or more secondary anchors for use by each secondary anchor.

7. The method of claim 6, wherein the anchors are nodes on a private network, wherein the forwarding is through the private network.

8. The method of claim 7, wherein the anchors are disposed at respective points in a motor vehicle, wherein the private network is a wired network within the motor vehicle.

9. The method of claim 6, wherein the respective ping message on each BLE channel additionally includes pingmessage data encrypted based on the LTK, wherein the encrypted ping-message data is decryptable respectively by each anchor based on the LTK as well, and wherein the respective pong message received on the BLE channel from each anchor additionally includes respective pong-message data encrypted based on the LTK, wherein the encrypted pong-message data is decryptable by the device based on the LTK as well.

10. The method of claim 9, wherein the ping-message data includes access code data designating the primary anchor, and wherein the pong-message data of each pong message includes access code data designating the device.

11. The method of claim 1, wherein, while engaging in the multi-anchor Bluetooth CS process cooperatively with the anchors of the plurality, the device maintains the Bluetooth connection with the primary anchor and does not have a Bluetooth connection with any of the one or more secondary anchors.

12. A device comprising: a Bluetooth communication interface; at least one processor; at least one non-transitory data storage; and program 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 concurrently determining distance of the device respectively from each of a plurality of anchors, including a primary anchor and one or more secondary anchors, wherein the operations include (a) establishing a Bluetooth connection between the device and the primary anchor, (b) configuring, through the established Bluetooth connection, a multi-anchor Bluetooth Channel Sounding (CS) process, and (c) engaging in the configured multi-anchor Bluetooth CS process cooperatively with the anchors of the plurality,wherein the multi-anchor Bluetooth CS process includes, sequentially as to each Bluetooth Low Energy (BLE) channel of multiple BLE channels in a hopping sequence, (i) transmitting, on the BLE channel, a respective ping message that includes a constant tone signal generated by the device, (ii) receiving sequentially from each of the anchors of the plurality, on the BLE channel, responsive to the ping message, a respective pong message that includes a constant tone signal generated by the anchor, and (iii) determining, respectively for each anchor, a phase shift on the BLE channel based on receive phase at the anchor of the constant tone signal generated by the device and receive phase at the device of the constant tone signal generated by the anchor, and wherein the multi-anchor Bluetooth CS process further includes determining the distance of the device respectively from each anchor based at least on a difference in (i) the phase shift determined respectively for the anchor on a first one of the BLE channels and (ii) the phase shift determined respectively for the anchor on a second one of the BLE channels.

13. The device of claim 12, wherein configuring, through the established Bluetooth connection, the multi-anchor Bluetooth CS process comprises: receiving from the primary anchor, through the established Bluetooth connection, an indication of how many anchors there are in the plurality of anchors; and based on the received indication, scheduling for each BLE channel the receiving sequentially from each of the anchors of the plurality of the respective pong message that includes the constant tone signal generated by the anchor wherein scheduling for each BLE channel the receiving sequentially from each of the anchors of the plurality of the respective pong message that includes the constant tone signal generated by the anchor comprises setting a receive window respectively per BLE channel, with the receive window being of a duration suitable to facilitate the receiving sequentially from each of the anchors of the plurality of the respective pong message that includes the constant tone signal generated by the anchor.

14. The device of claim 12, wherein configuring, through the established Bluetooth connection, the multi-anchor Bluetooth CS process comprises: communicating to the anchors of the plurality, through the established Bluetooth connection between the device and the primary anchor, a Long Term Key (LTK) useable byeach anchor as a basis for encrypted communication with the device in the multi-anchor Bluetooth CS process.

15. The device of claim 14, wherein communicating the LTK through the Bluetooth connection to the anchors of the plurality comprises transmitting the LTK through the Bluetooth connection to the primary anchor (i) for use by the primary anchor and (ii) for forwarding by the primary anchor to the one or more secondary anchors for use by each secondary anchor.

16. The device of claim 15, wherein the anchors are nodes on a private network, wherein the forwarding is through the private network.

17. The device of claim 16, wherein the anchors are disposed at respective points in a motor vehicle, wherein the private network is a wired network within the motor vehicle.

18. The device of claim 15, wherein the respective ping message on each BLE channel additionally includes pingmessage data encrypted based on the LTK, wherein the encrypted ping-message data is decryptable respectively by each anchor based on the LTK as well, and wherein the respective pong message received on the BLE channel from each anchor additionally includes respective pong-message data encrypted based on the LTK, wherein the encrypted pong-message data is decryptable by the device based on the LTK as well.

19. The device of claim 12, wherein, while engaging in the multi-anchor Bluetooth CS process cooperatively with the anchors of the plurality, the device maintains the Bluetooth connection with the primary anchor and does not have a Bluetooth connection with any of the one or more secondary anchors.

20. At least one non-transitory computer-readable medium having stored thereon program instructions executable by at least one processor of a device to cause the device to carry out operations for concurrently determining distance of the device respectively from each of a plurality of anchors, including a primary anchor and one or more secondary anchors,wherein the operations include (a) establishing a Bluetooth connection between the device and the primary anchor, (b) configuring, through the established Bluetooth connection, a multi-anchor Bluetooth Channel Sounding (CS) process, and (c) engaging in the configured multi-anchor Bluetooth CS process cooperatively with the anchors of the plurality, wherein the multi-anchor Bluetooth CS process includes, sequentially as to each Bluetooth Low Energy (BLE) channel of multiple BLE channels in a hopping sequence, (i) transmitting, on the BLE channel, a respective ping message that includes a constant tone signal generated by the device, (ii) receiving sequentially from each of the anchors of the plurality, on the BLE channel, responsive to the ping message, a respective pong message that includes a constant tone signal generated by the anchor, and (iii) determining, respectively for each anchor, a phase shift on the BLE channel based on receive phase at the anchor of the constant tone signal generated by the device and receive phase at the device of the constant tone signal generated by the anchor, and wherein the multi-anchor Bluetooth CS process further includes determining the distance of the device respectively from each anchor based at least on a difference in (i) the phase shift determined respectively for the anchor on a first one of the BLE channels and (ii) the phase shift determined respectively for the anchor on a second one of the BLE channels.

21. The at least one non-transitory computer-readable medium of claim 20, wherein configuring, through the established Bluetooth connection between the device and the primary anchor, the multi-anchor Bluetooth CS process comprises: communicating to the anchors of the plurality, through the established Bluetooth connection between the device and the primary anchor, a Long Term Key (LTK) useable by each anchor as a basis for encrypted communication with the device in the multi-anchor Bluetooth CS process.

Citation Information

Patent Citations

  • System and method for distance and velocity estimation in phase-based ranging

    EP3751303A1

  • Phase-based ranging

    EP3859384A1

  • Method and technique of power-efficient two-way phase based distance estimation using packet synchronized data capture

    EP3998496A1

  • Efficient secure phase-based ranging using loopback calibration

    US20220394424A1

  • Up-sampling and cross-correlation for time of arrival determinations in passive entry / passive start systems

    WO2020198335A1

Cited By

  • Positioning method, Bluetooth node and positioning system

    CN120769359A

  • Use of adaptive-frequency-hopping channel map for channel-sounding synchronization

    WO2026164611A1

  • Scalable ranging and positioning method for passive device based on BLE channel sounding

    WO2026169050A1