System and methods for untracked navigation using ultra-wideband devices
The system enhances UWB device location determination by switching to two-way ranging with randomized addresses when the number of visible anchors is low, addressing the limitations of existing DL-TDoA systems while ensuring anonymity and privacy.
Patent Information
- Application Number
- PCT/US2024/043975
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-25
- Filing Date
- 2024-08-27
- Publication Date
- 2025-03-20
AI Technical Summary
Existing downlink time difference of arrival (DL-TDoA) systems for ultra-wideband (UWB) devices require a sufficient number of visible anchors for accurate location determination, which can be inadequate in environments with limited anchor visibility.
The system employs a method where UWB devices receive an allocation of time periods for DL-TDoA and two-way ranging operations. If the number of visible anchors is less than a predetermined threshold, the device performs two-way ranging using a randomized address to estimate its location.
This approach allows UWB devices to accurately determine their location even with a low number of visible anchors, ensuring anonymity and privacy by using randomized addresses during two-way ranging.
Smart Images

Figure US2024043975_20032025_PF_FP_ABST
Abstract
Description
SYSTEM AND METHODS FOR UNTRACKED NAVIGATION USING ULTRA- WIDEBAND DEVICESCROSS REFERENCE
[0001] The present application claims the benefit of U.S. Provisional Application No. 63 / 582,205, filed September 12, 2023 and U.S. Provisional application no. 63 / 569,347, filed March 25, 2024, which are hereby expressly incorporated by reference herein in their entireties.FIELD OF THE DISCLOSURE
[0002] The present disclosure relates to ultra-wideband (UWB) enabled devices and systems for untracked navigation using UWB devices, in particular, to improve self-localization while maintaining anonymity based on anchor-tag UWB communication.BACKGROUND
[0003] Time difference of arrival (TDoA) is a positioning methodology that determines the difference between the time-of-arrival (ToA) of radio signals. In the ultra-wideband (UWB) communication, downlink TDoA (DL-TDoA) refers to a method of location estimation (e.g., an untracked navigation method) that involves a user device overhears message sent by UWB anchors to estimate its self-location without being tracked by the UWB anchors.
[0004] The DL-TDoA scheme often includes infrastructure DL-TDoA (DT) elements (DT-anchors), and mobile devices (DT-tags). DT-anchors in the scheme are permanently installed on the walls or ceiling and periodically transmit the UWB signal as per rules defined in FiRa DL-TDoA protocol. Upon reception of those UWB frames, a DT-tag can perform a multilateration algorithm to localize itself.
[0005] However, the existing DL-TDoA has limitations. For example, to accurately determine its location, a sufficient number of DT-anchors is needed. Thus, a method and a system for a DT-tag to localize itself with a low number of visible DT-anchors are desired.SUMMARY
[0006] Embodiments of the disclosure provide a method for localization. Themethod includes: receiving an allocation of a first number of time periods to a plurality of UWB devices in a logic group for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the first number of time periods for a two-way ranging operation, the second number being at least two (2); receiving a third number of messages from at least one of the plurality of UWB devices in the first number of time periods; comparing the third number and a predetermined number; and in response to the third number being less than the predetermined number, performing two-way ranging with one or more of the plurality of UWB device in the second number of time periods.
[0007] In some embodiments, the performing of the two-way ranging operation includes: generating a random identification number as an address, the random identification number being different from a unique identification number; switching to a contention mode; and transmitting a message containing the address to one or more of the plurality of UWB devices in a medium-access-control (MAC) header in a first one of second number of time periods.
[0008] In some embodiments, the transmitting of the address includes transmitting a poll message containing the address to each of the plurality of UWB device.
[0009] In some embodiments, the transmitting of the address comprises transmitting the message containing the address to the at least one of the plurality of UWB devices that transmit the third number of messages.
[0010] In some embodiments, the performing of the two-way ranging operation includes: receiving at least one response message from at least one of the one or more of the plurality of UWB devices in remaining ones of the second number of time periods, the at least one response message each containing a respective time of reply representing a time period between a reception of the message and a transmission of a respective third message; calculating a respective time of loop for the at least one of the one or more of the plurality of UWB devices, the respective time of loop representing a time period between a transmission time of the message and a reception of the respective third message; and calculating a distance to the at least one of the one or more of the plurality of UWB device based on times of reply and times of loop.
[0011] In some embodiments, the method further includes determining a selflocation using a trilateration algorithm.
[0012] In some embodiments, the at least one response message competes for a respective one of the remaining ones of the second number of time periods.
[0013] In some embodiments, the predetermined number is equal to or greater than 3.
[0014] In some embodiments, the third number of messages each includes a timestamp of a respective UWB device.
[0015] In some embodiments, the method further includes, in response to the third number being less than the predetermined number, determining a self-location using downlink time difference of arrival (DL-TDoA) and a multilateration algorithm.
[0016] Embodiments of the disclosure provide a method for locating an ultra- wideband (UWB) device. The method includes: receiving an allocation of a first number of time periods to a plurality of first UWB devices in a logic group for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the number of first periods for a two-way ranging operation, the second number being at least 2; transmitting a first message to the plurality of first UWB devices, the first message indicating an allocation of each of the first number of time periods to a respective first UWB device; receiving a plurality of first response messages, each in the respective time period, from the plurality of first UWB devices, the plurality of first response messages each indicating a location of the respective first UWB device; and switching to a receiver mode after the first number of time periods.
[0017] In some embodiments, the second number is at least three (3).
[0018] In some embodiments, the method further includes receiving a second message from a second UWB device in the at least one of the second number of time periods, the second message including an address associated with the second UWB device.
[0019] In some embodiments, the method further includes transmitting a second response message to the second UWB device based on the address, the second response message containing a time of reply representing a time period between a reception of the second message and a transmission of the second response message.
[0020] In some embodiments, the receiving of the first number and the second number is through an out-of-band (OOB) means.
[0021] In some embodiments, the method further includes transmitting the first number and the second number to the plurality of first UWB devices through an out-of-band (OOB) means.
[0022] In some embodiments, the method further includes transmitting the first number and the second number to the second UWB device through an out-of-band (OOB) means.
[0023] In some embodiments, the address contain a random identification number that stays unchanged during at least the time of reply.
[0024] Embodiments of the present disclosure provide a method for locating an ultra-wideband (UWB) device. The method includes: receiving an allocation of a first number of time periods for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the number of first periods for a two-way ranging operation, the second number being at least two (2); receiving a first message from a first UWB devices, the first message indicating an allocation of a respective one of the first number of time periods; transmitting a first response message in the respective time period to the first UWB device, the first response messages indicating a location; and switching to a receiver mode after the first number of time periods.
[0025] In some embodiments, the second number is at least three (3).
[0026] In some embodiments, the method further includes receiving a second message from a second UWB device in the at least one of the second number of time periods, the second message comprising an address associated with the second UWB device.
[0027] In some embodiments, the method further includes transmitting a second response message to the second UWB device based on the address, the second response message comprising a time of reply representing a time period between a reception of the second message and a transmission of the second response message.
[0028] In some embodiments, the receiving of the first number and the second number is through an out-of-band (OOB) means.
[0029] Embodiments of the disclosure provide an ultra-wideband (UWB) device. The UWB device includes: a transceiver operable to perform a UWB communication; a memory for storing program instructions, device information, device locations, timestamps, and distances from localization operations; and a processor coupled to the transceiver and to the memory. The processor is operable to execute the program instructions, which, when executed by the processor, cause the UWB device to perform the following to localize itself in a wireless localnetwork: receiving an allocation of a first number of time periods to a plurality of other UWB devices in a logic group for a downlink time difference of arrival (DL- TDoA) operation and a second number of time periods following the first number of time periods for a two-way ranging operation, the second number being at least 2; receiving a third number of messages from at least one of the plurality of other UWB devices in the first number of time periods; comparing the third number and a predetermined number; and in response to the third number being less than the predetermined number, performing two-way ranging with one or more of the plurality of other UWB device in the second number of time periods.
[0030] In some embodiments, the performing of the two-way ranging operation includes: generating a random identification number as an address, the random identification number being different from a unique identification number; switching to a contention mode; and transmitting a message containing the address to one or more of the plurality of other UWB devices in a medium-access-control (MAC) header in a first one of second number of time periods.
[0031] In some embodiments, the transmitting of the address includes transmitting a poll message containing the address to each of the plurality of other UWB device.
[0032] In some embodiments, the transmitting of the address includes transmitting the message containing the address to the at least one of the plurality of other UWB devices that transmit the third number of messages.
[0033] In some embodiments, the performing of the two-way ranging operation includes: receiving at least one response message from at least one of the one or more of the plurality of other UWB devices in remaining ones of the second number of time periods, the at least one response message each containing a respective time of reply representing a time period between a reception of the message and a transmission of a respective third message; calculating a respective time of loop for the at least one of the one or more of the plurality of other UWB devices, the respective time of loop representing a time period between a transmission time of the message and a reception of the respective third message; and calculating a distance to the at least one of the one or more of the plurality of other UWB device based on times of reply and times of loop.
[0034] In some embodiments, the UWB device further includes determining a self-location using a trilateration algorithm.
[0035] In some embodiments, the at least one response message competes for a respective one of the remaining ones of the second number of time periods.
[0036] In some embodiments, the predetermined number is equal to or greater than 3.
[0037] In some embodiments, the third number of messages each includes a timestamp of a respective other UWB device.
[0038] In some embodiments, the processor is further configured to perform, in response to the third number being less than the predetermined number, determining a self-location using downlink time difference of arrival (DL-TDoA) and a multilateration algorithm.
[0039] Embodiments of the disclosure provide an ultra-wideband (UWB) device. The UWB device includes: a transceiver operable to perform a UWB communication; a memory for storing program instructions, device information, device locations, and timestamps; and a processor coupled to the transceiver and to the memory. The processor is operable to execute the program instructions, which, when executed by the processor, cause the UWB device to perform the following to facilitate another UWB device to localize itself in a wireless local network: receiving an allocation of a first number of time periods to a plurality of first UWB devices in a logic group for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the number of first periods for a two-way ranging operation, the second number being at least 2; transmitting a first message to the plurality of first UWB devices, the first message indicating an allocation of each of the first number of time periods to a respective first UWB device; receiving a plurality of first response messages, each in the respective time period, from the plurality of first UWB devices, the plurality of first response messages each indicating a location of the respective first UWB device; and switching to a receiver mode after the first number of time periods.
[0040] In some embodiments, the second number is at least three (3).
[0041] In some embodiments, the UWB device further includes receiving a second message from a second UWB device in the at least one of the second number of time periods, the second message containing an address associated with the second UWB device.
[0042] In some embodiments, the processor is further configured to perform transmitting a second response message to the second UWB device based on theaddress, the second response message containing a time of reply representing a time period between a reception of the second message and a transmission of the second response message.
[0043] In some embodiments, the receiving of the first number and the second number is through an out-of-band (OOB) means.
[0044] In some embodiments, the processor is further configured to perform transmitting the first number and the second number to the plurality of first UWB devices through an out-of-band (OOB) means.
[0045] In some embodiments, the processor is further configured to perform transmitting the first number and the second number to the second UWB device through an out-of-band (OOB) means.
[0046] In some embodiments, the address contains a random identification number that stays unchanged during at least the time of reply; and the address is encrypted in a medium-access-control (MAC) header of the second message.
[0047] Embodiments of the present disclosure provide an ultra-wideband (UWB) device. The UWB device includes a transceiver operable to perform a UWB communication, a memory for storing program instructions, device information, device locations, and timestamps, and a processor coupled to the transceiver and to the memory. The processor is operable to execute the program instructions, which, when executed by the processor, cause the UWB device to perform the following to facilitate another UWB device to localize itself in a wireless local network: receiving an allocation of a first number of time periods for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the number of first periods for a two-way ranging operation, the second number being at least two (2); receiving a first message from a first UWB devices, the first message indicating an allocation of a respective one of the first number of time periods; transmitting a first response message in the respective time period to the first UWB device, the first response messages indicating a location; and switching to a receiver mode after the first number of time periods.
[0048] In some embodiments, the second number is at least three (3).
[0049] In some embodiments, the processor is further configured to perform receiving a second message from a second UWB device in the at least one of the second number of time periods, the second message comprising an address associated with the second UWB device.
[0050] In some embodiments, the processor is further configured to perform transmitting a second response message to the second UWB device based on the address, the second response message comprising a time of reply representing a time period between a reception of the second message and a transmission of the second response message.
[0051] In some embodiments, the receiving of the first number and the second number is through an out-of-band (OOB) means.
[0052] Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.BRIEF DESCRIPTION OF THE DRAWING FIGURES
[0053] The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description, serve to explain the principles of the disclosure.
[0054] FIG. 1A illustrates an exemplary wireless positioning system that includes a wireless local network, a network control device, a plurality of anchors, and a tag, according to some aspects of the present disclosure.
[0055] FIG. IB illustrates an exemplary anchor layout, according to some aspects of the present disclosure.
[0056] FIG. 2 illustrates an allocation of slots for the clusters shown in FIG. 2A in related art.
[0057] FIG. 3A illustrates an exemplary block diagram of a tag, according to some aspects of the present disclosure.
[0058] FIG. 3B illustrates an exemplary block diagram of an anchor, according to some aspects of the present disclosure.
[0059] FIG. 4A illustrates a scenario in which an insufficient number of anchor is visible to a tag, according to some aspects of the present disclosure.
[0060] FIG. 4B illustrates an allocation of slots for the clusters shown in FIG. 2A, according to some aspects of the present disclosure.
[0061] FIG. 4C illustrates a signaling diagram showing exemplary ranging rounds with fallback TWR, according to some aspects of the present disclosure.
[0062] FIG. 4D illustrates a signaling diagram of a single-sided (SS) TWR, according to some aspects of the present disclosure.
[0063] FIG. 4E illustrates an estimated location of a tag using (a) downlink time difference of arrival (DL-TDoA) of RF signals and (b) TWR of RF signals, according to some aspects of the present disclosure.
[0064] FIG. 5A illustrates an exemplary method for a tag localize itself in a positioning system, according to some aspects of the present disclosure.
[0065] FIG. 5B illustrates an exemplary method for an initiator anchor to facilitate localization of a tag in a positioning system, according to some aspects of the present disclosure.
[0066] FIG. 5C illustrates an exemplary method for a responder anchor to facilitate localization of a tag in a positioning system, according to some aspects of the present disclosure.DETAILED DESCRIPTION
[0067] The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
[0068] It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present disclosure. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0069] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and / or “including” when used herein specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one ormore other features, integers, steps, operations, elements, components, and / or groups thereof.
[0070] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. Additionally, like reference numerals denote like features throughout specification and drawings.
[0071] It should be appreciated that the blocks in each signaling diagram or flowchart and combinations of the signaling diagrams or flowcharts may be performed by computer program instructions. Since the computer program instructions may be equipped in a processor of a general-use computer, a special-use computer or other programmable data processing devices, the instructions executed through a processor of a computer or other programmable data processing devices generate means for performing the functions described in connection with a block(s) of each signaling diagram or flowchart. Since the computer program instructions may be stored in a computer-available or computer-readable memory that may be oriented to a computer or other programmable data processing devices to implement a function in a specified manner, the instructions stored in the computer-available or computer-readable memory may produce a product including an instruction for performing the functions described in connection with a block(s) in each signaling diagram or flowchart. Since the computer program instructions may be equipped in a computer or other programmable data processing devices, instructions that generate a process executed by a computer as a series of operational steps are performed by the computer or other programmable data processing devices and operate the computer or other programmable data processing devices may provide steps for executing the functions described in connection with a block(s) in each signaling diagram or flowchart.
[0072] Each block may represent a module, segment, or part of a code including one or more executable instructions for executing a specified logical function(s). Further, it should also be noted that in some replacement execution examples, the functions mentioned in the blocks may occur in different orders. For example, twoblocks that are consecutively shown may be performed substantially simultaneously or in a reverse order depending on corresponding functions.
[0073] Hereinafter, embodiments are described in detail with reference to the accompanying drawings. Further, although a communication system using ultra- wideband (UWB) is described in connection with embodiments, as an example, the embodiments may also apply to other communication systems with similar technical background or features. For example, a communication system using Bluetooth or ZigBee may be included therein. Further, embodiments may be modified in such a range as not to significantly depart from the scope of the present disclosure under the determination by one of ordinary skill in the art and such modifications may be applicable to other communication systems.
[0074] UWB may refer to a short-range high-rate wireless communication technology using a wide frequency band of several hundreds of MHz to several GHz or more, low spectral density, and short pulse width (e.g., 1 nsec to 4 nsec) in a baseband state. UWB may mean a band itself to which UWB communication is applied. UWB may enable secure and accurate ranging between devices. Thus, UWB enables relative position estimation based on the distance between two devices or accurate position estimation of a device based on the distance from fixed devices (whose positions are known, also referred to as anchors or anchor devices). The present disclosure assumes that the user is carrying a device capable of communicating through UWB (referred to as “UWB-enabled user device” or simply user device).
[0075] As used herein, a “slot,” a “ranging round,” a “period,” and a “block” each refers to a time period. A ranging round may include a plurality of slots or a plurality of periods, and a block may include one or more ranging rounds.
[0076] FiRa standard has an Untracked Navigation application which is served by the FiRa downlink (DL)-TDoA or DT scheme. The DL-TDoA scheme hardware includes infrastructure elements (DT-Anchors), and mobile devices (DT-Tags). DT- anchors are installed, e.g., often with unchanged locations, on the walls or ceiling, and periodically transmit UWB signals as per rules defined in FiRa DL-TDoA protocol. Upon reception of those UWB signals, a DT-Tag performs the multilateration algorithm to determine its own location. However, as previously described, the DL-TDoA scheme is vulnerable to the number of received signals / messages from the DT-anchors (e.g., visible anchors) and the DT-tag mayfail to produce the location output when there is not enough DT-anchors visible to the DT-tag. For example, a DT-tag needs to “see" a minimum of 3 to 4 DT-anchors to calculate its location.
[0077] On the other hand, the less vulnerable to the number of reception (a minimum 1 to 3 DT-anchors) schemes, such as a scheme based on two-way ranging (TWR) are not defined in FiRa due to both anonymity and privacy considerations. For example, TWR between a DT-tag and a DT-anchor may expose the location of the DT-tag, making the scheme undesirable for the Untracked Navigation application.
[0078] Embodiments of the present disclosure provide a system and methods for a tag to estimate its location, in an untracked positioning system, even when the number of anchors (e.g., anchor devices) visible to the tag (e.g., a tag device) is low. The present disclosure proposes an extension of the DL-TDoA scheme, which is backward compatible to the exiting DL-TDoA. The extension may improve the location experience for corner cases, in which the number of anchors visible to the tag is low (e.g., below 3), while addressing the anonymity and privacy concerns. Different from an existing untracked navigation application in which a tag still employs DL-TDoA and multilateration algorithms to determine its location when the number of visible anchors is low, the disclosed system employs DL-TDoA for the tag to localize itself when the number of visible anchors is sufficient (e.g., equal to or greater than 3), and “falls back” to TWR, using UWB communication, for the tag to localize itself when the number of visible anchors is low (e.g., fewer than 3). A randomized address is generated by the tag for the TWR such that the location of the tag is not exposed by the localization process to ensure the anonymity and privacy of the tag. The TWR performed in the localization is thus referred to as a “fallback” TWR.
[0079] The anchors and a tag may start performing a DL-TDoA period, in which the tag receives DL-TDoA messages (DTMs) each from an anchor and containing the location information (e.g., and timestamps of the locations) of the anchor. The tag, at the end of the DL-TDoA period, counts the number of DTMs and switches to TWR if the number of DTMs (e.g., representing the number of anchors visible to the tag or visible anchors) is less than a predetermined threshold number, such as 3. The tag may then generate a random address (e.g., a random identification number different from the actual unique identification number of the tag), and start acontention-based ranging (CRB) round to communicate with one or more anchors. The tag may transmit the random address to the one or more anchors in a poll message, while the anchors have switched to a receiver mode after the DL-TDoA period. The tag may perform TWR with any anchors that respond to the poll message, and estimate / calculate its location based on the TWR.
[0080] To enable the contention-based TWR between the tag and the anchors, at least two additional slot for the TWR are allocated for each cluster of slots after the slots allocated for the DL-TDoA. The tag may perform contention-based TWR in the additional slots. Compared to an existing DL-TDoA scheme, more slots are allocated for a cluster, with some allocated for DL-TDoA and some allocated for TWR, even if TWR is not performed. The proposed solution improves the untracked indoor navigation application when a mobile device cannot receive signals from the minimal number of visible anchors (e.g., DL-TDoA anchors), which is required to do the multilateration algorithm based on TDoA. The proposed method provides anonymous macro-knowledge to the infrastructure provider on the areas where the DL-TDoA of the installation does not work well, which gives provider an ability to improve the installation by putting more TDoA anchors to that area. Also, as the infrastructure installation of anchors is the same to both DL-TDoA and uplink(UL)- TDoA systems, the above macro- knowledge is also valuable for UL-TDoA applications, such as a real time location system (RTLS) asset tracking applications.
[0081] In some embodiments, the number of slots of each cluster is increased by a few additional slots, e.g., 3 or 4 slots in the ranging round for the cluster. The known number of slots in the cluster is distributed out-of-band (OOB) as a part of DL-TDoA configuration structure. When a sufficiently high number of anchors is visible to a tag, the tag navigates using DL-TDoA, and the additional slots are not used. When the tag does not receive enough receptions for DL-TDoA, the tag is switches to contention-based TWR mode, with randomized address / ID, but using parameters for key derivation function (KDF) from DL-TDoA. The tag then performs one contention-based TWR with anchors around in the ranging round. This can be a broadcast or a targeted to specific anchors transmission (e.g., to those anchors of which the TDoA was received by the tag as the tag already knows these specific anchors are in the range). Practically, if the infrastructure supports the fallback TWR, the anchors may respond, and the tag can do single-sided (SS) TWR. If the infrastructure does not support the fallback TWR, the tag’s transmissions doesnot affect DL-TDoA, because transmission from the tag (e.g., for the TWR) is in the “free” additional slot after the slots allocated for DL-TDoA.
[0082] FIG. 1A illustrates an exemplary wireless positioning system 100, according to some embodiments of the present disclosure. Positioning system 100 may be an example of an untracked navigation system. Positioning system 100 may include a network control device 102, a cloud network 110, a plurality of anchors (e.g., 104-1, 104-2, ..., 104-n, n being a positive integer greater than 1 ), a tag 106, and a local wireless network 108. In some embodiments, tag 106 is a mobile device that is carried by a user and can move from one point to another. In some embodiments, the anchors (e.g., 104-1, ..., 104-n) communicate with one another (via communication link 114), and tag 106 listens to the anchors to localize itself based on DL-TDoA. In some embodiments, tag 106 initiates TWR with anchors 104-1 , ..., 104-n (via communication link 116) to localize itself. In some embodiments, network control device 102, the anchors (e.g., 104-1, ..., 104-n), and tag 106 are wireless are connected to local wireless network 108, which can be any wireless area network that allows devices to connect and communicate with each other wireless within a limited geographic area. For example, local wireless network 108, as denoted by the dotted line, may be an automation network in a residential area, a hospital, a commercial building, a factory plant, a playground, a school, or the like. In various embodiments, local wireless network 108 may be built on one or more wireless communication protocols such as Wi-Fi, Bluetooth, near field communication (NFC), wireless local area network (LAN) Matter, Zigbee, IrDA, etc. It should be noted that, the number of anchors and the number of tags in positioning system 100 may vary, in different applications, and should not be limited by the embodiments of the present disclosure. For example, positioning system 100 may include more than one tag.
[0083] Anchors 104-1 , ..., 104-n may include a plurality of network devices that allow the controller (e.g., an engineer or management) of positioning system 100 to access, control, and / or configure. Anchors 104-1, ..., 104-n may each be a fixed point or a reference location used to enhance the accuracy and stability of positioning system 100. For example, anchors 104-1 , ..., 104-n may include beacons and / or access points placed in a designated area, e.g., covered by local wireless network 108. Anchors 104-1, ..., 104-n may each have built-in software and hardware that enable itself to emit / blink radio frequency (RF) signals (e.g., UWBsignals) that can be used by mobile devices (e.g., tag 106) or sensors to determine their positions relative to the known locations of anchors 104-1 , 104-n. In some embodiments, anchors 104-1, ..., 104-n transmit RF signals in one or more wireless communication protocols such as UWB, WiFi, BLE, NFC, or the like. In some embodiments, anchors 104-1, ..., 104-n may transmit device information, timestamps, and / or device status information (e.g., location information) to one another (e.g., via communication link 116). In some embodiments, anchors 104- 1, ..., 104-n may transmit device information, timestamps, and / or device status information (e.g., location information) to network control device 102 (e.g., via communication link 122). In some embodiments, each of anchors 104-1 , ..., 104-n includes a UWB transceiver configured for ranging and / or data transfer.
[0084] Tag 106 may be in the form of a mobile device capable of voice and / or data communication. Tag 106 may have built-in software and hardware that enable tag 106 to communicate with network control device 102, anchors 104-1, ..., 104-n, and / or cloud network 110 via RF signals, UWB signals. In some embodiments, tag 106 is configured to communicate with anchors 104- 1, ..., 104-n via RF signals in UWB, WiFi, BLE, NFC, or the like. In some embodiments, tag 106 includes a UWB transceiver configured for ranging and / or data transfer. Tag 106 may include a cellular telephone, a smartphone, a laptop computer, a tablet, a personal digital assistant (PDA), a computing device, wearable devices (e.g., a smart watch, or the like), or any other mobile device having wireless connection capability. Although only a single tag 106 is shown in FIG. 1A, one of ordinary skill in the art will appreciate that multiple tags may connect to the local wireless network 108. In some embodiments, tag 106 may listen to and / or range directly with anchors 104-1 , ..., 104-n (e.g., via communication link 116). In some embodiments, tag 106 may communicate with anchors 104-1, ..., 104-n via network control device 102 (e.g., via communication link 118) and / or the cloud network 110 (e.g., via communication link 120).
[0085] In some embodiments, anchors 104- 1, ..., 104-n may be divided into a plurality of clusters based on their geographic locations, and each cluster may include an initiator anchor and one or more responder anchors. For example, anchors within a predetermined radius are in the same cluster. In DL-TDoA, a cluster is allocated a plurality of slots for signal transmission. An initiator anchor synchronizes with the responder anchors, and transmits location information and atimestamp to the responder anchors in a slot. The responder anchors each responds to the initiator anchor its respective location information and respective timestamp in a respective slot. Tag 106 listens to the communication amongst the anchors, and calculates its location based on the location information and timestamps of the visible anchors (e.g., anchors of which the communication is received by tag 106). Typically, four visible anchors are needed for tag 106 to calculate its location using DL-TDoA. In “fallback” TWR, tag 106 initiates TWR by transmitting a random address / ID to one or more anchors (e.g., visible anchors). The anchors may respond to tag 106 by transmitting certain time information for tag 106 to perform distance calculation.
[0086] Network control device 102 has its radio communication range formed in a radio communication scheme. The communication range may cover a perimeter such as a house, a commercial building, a hospital, a playground, etc. For instance, network control device 102 may communicate data and signals with anchors 104-1, ..., 104-n located within the radio communication range such as local wireless network 108using one or more radio communication schemes. Network control device 102 may also be communicatively connected to a cloud network 110 through wired / wireless communication link 112, communicatively connected to anchors 104- 1, ..., 104-n through communication link 122, and communicatively connected to tag 106 through communication link 118. In some embodiments, network control device 102 may use a wired communication protocol and / or wireless communication protocols. Network control device 102 may acquire device information and device status information from anchors 104-1, ..., 104-n located in the radio communication range and provide to cloud network 110 with the acquired information. Network control device 102 may also provide cloud network 110 with network control device information and network control device status information. In some embodiments, network control device 102 has wireless communication functions, and may include, but not limited to, one or more of a gateway, a hub, a television, a router, a modem, a range extender, a set-top box, a smart speaker, a mobile device (e.g., tablet, mobile phone), and / or the like. For example, network control device 102 may include a gateway that allows data to flow from local wireless network 108 to cloud network 110, or vice versa. In some embodiments, network control device 102 communicates using more than one internet protocol (IP) to connect local wireless network 108 and cloud network 110. In various embodiments, the network control device 102communicates in wireless communication protocols such as Matter, Zigbee, Bluetooth (BLE), WiFi, IrDA, etc.
[0087] Network control device 102 may also provide tag 106 and anchors 104-1 , ..., 104-n with access to one or more external networks, such as cloud network 110, the Internet, and / or other wide area networks. Cloud network 110 may include a cloud infrastructure system that provides cloud services. In certain embodiments, services provided by cloud network 110 may include registration and access control of anchors 104-1 , ..., 104-n, and tag 106. Cloud network 1 10 may include one or more computers, servers, and / or systems. In some embodiments, cloud network 110 may include an application server that hosts an application, and a user may order and use the application via communication link 120. In some embodiments, communication links 114 and 1 16 may each include a UWB communication interface. Communication links 112, 114, 116, 118, 120, and 122 may also support other types of wireless connections, such as a Bluetooth communication interface, a Wi-Fi communication interface, a cellular network connection (e.g., 4G, 5G) interface, a near field communication (NFC) interface, a ZigBee communication interface, or a combination thereof.
[0088] Upon being powered on or reset, anchors 104-1, ..., 104-n may be registered with the cloud network 110 and associated with a logical network within local wireless network 108. It should be appreciated that the local wireless network 108 may include other components than those depicted, and the specific number of components and / or their arrangement is not limited by the description of FIG. 1A.
[0089] FIG. IB shows an example of a designated area 101 with anchors in positioning system 100, e.g., an indoor space, according to some embodiments of the present disclosure. Area 101 may be covered by local wireless network 108. As an example, area 101 has a squared shape in the x-y plane, but can have any arbitrary shape in various other examples. Anchors are labeled as 1, 2, ..., 17, and are examples of anchors 104- 1, ... , 104-n. As shown in FIG. IB, anchors 1, 2, ..., 17 are distributed in area 101, e.g., installed on the ceiling and / or walls of the indoor space. In some embodiments, anchors 1 , 2, ..., 17 are installed on the same height. As an example, anchors 1 , 2, ..., 17 are divided into 5 clusters, 103-1, 103-2, 103-3, 103-4, and 103-5, with anchors 1, 2, 4, 5, 7 being the initiator anchor of each cluster. Clusters 103- 1, ..., 103-5 are illustrated as the dotted circles. Each cluster may have a coverage (e.g., an area from the respective initiator anchor) of a radius. For easeof illustration, clusters 103-1 , ..., 103-5 have the same radius R. As shown in FIG. IB, the coverages of cluster 103-1 partially overlaps with the coverages of all other clusters (e.g., 103-2, ..., 103-5). Although not shown, tag 106 may move in area 101.
[0090] FIG. 2 illustrates the slot allocation 200 in a block 202 (or a block of slots) in related art. Block 202 includes a plurality of ranging rounds, each allocated to a respective one of clusters of 103-1, ... , 103-5, referring back to FIG. IB. In some embodiments, each anchor in a cluster is allocated a respective slot. Each ranging round may include a plurality of slots (or time slots) allocated for DL- TDoA. As shown in FIG. 2, block 202 includes 5 ranging rounds respectively allocated to clusters 103-1 , 103-2, 103-3, 103-4, and 103-5. Each ranging round includes 6 slots. In the 6 slots for each cluster, each anchor is allocated a respective slot. An anchor may blink its location information and timestamp in the respective slot. The number in each slot represents the anchor that is allocated with the slot. For example, for cluster 103-1, the first 5 slots are allocated to anchors and are used for DL-TDoA. One slot (e.g., the last slot) is a spare slot not used for signal transmission. For each of clusters 103-2, ..., 103-5, each last slot is an optional slot that can be used for signal / data transmission. In other words, 5 slots are needed to be allocated to cluster 103-1 , while 5 or 6 slots are needed to be allocated to each of clusters 103-2, ..., 103-5. For example, for cluster 103-1, initiator anchor 1 transmits a signal in the first slot, responder anchors 2, 4, 5, and 7 each responds to initiator anchor 1 in the respective slot. During this time, a tag (e.g., an example of tag 106) listens to anchors 1, 2, 4, 5, and 7. In some embodiments, the tag listens to all anchors 1 , ... , 17, and receives signals from any visible anchors. The tag then calculates its location based on the signals from the visible anchors. Typically, the tag needs at least three signals (from visible anchors) to calculate its location based on DL-TDoA and a multilateration algorithm.
[0091] As previously mentioned, depending on the location of the tag, some anchors may be too far to be visible to the tag. As a result, the tag may not receive sufficient signals for the localization. Referring back to FIG. IB, for example, the tag may be located at the lower left corner between anchors 14 and 15, and can receive signals from only anchors 14 and 15. Thus, the calculation of the location of the tag using DL-TDoA may not be accurate or available due to insufficient number of signals.
[0092] FIG. 3A illustrates an example of tag, e.g., tag 106. Tag 106 may be in the form of a cellular telephone, a smartphone, a laptop computer, a tablet, a personal digital assistant (PDA), a computing device, or any other mobile device having wireless connection capability. In some embodiments, tag 106 includes a processor 303, a digital signal processor (DSP) 305, a transceiver 307, an antenna 317, a memory 309, an input device 311, an output device 313, and a bus 315. The hardware components of tag 106 may be communicatively coupled to bus 315. In some embodiments, bus 315 can be used for processor 303 to communicate between cores and / or with memory 309. Processor 303 may include one or more general- purpose processors and / or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, and / or the like). Processor 303 may process wireless signals 319 received by transceiver 307, such as DL-TDoA signals, ranging signals, and / or data from UWB communication. Input device 311 may include a camera, a mouse, a keyboard, a touch sensitive screen / display, a touch pad, a keypad, and / or the like. An output device 313 may include a display, a printer, and / or the like. In some embodiments, a user may load a positioning application, which automatically computes the location of tag 106.
[0093] Tag 106 may include a transceiver 307 communicatively coupled to bus 315. Transceiver 307 may be operable to transmit and receive wireless signals 319 via antenna 317. Wireless signals 319 may be transmitted / received via a wireless network (e.g., local wireless network 108). In some embodiments, the wireless network may be any wireless network such as a local wireless network (e.g., local wireless network 108), such as WiFi, a Personal Access Network (PAN), such as Matter, Bluetooth® or Zigbee®, or a cellular network (e.g., 4G, 5G). Transceiver 307 may be configured to receive wireless signals 319 via antenna 317 from a network control device (e.g., 102), anchors (e.g., 104-1 , ..., 104-n), a cloud network (e.g., 110), and / or the like. Tag 106 may also be configured to decode and / or decrypt, via the DSP 305 and / or processor 303, various signals received from network control device 102, anchors 104- 1 , ..., 104-n, cloud network 110, and / or the like.
[0094] Memory 309 may include one or more non-transitory storage devices that can include local and / or network accessible storage, a disk drive, a drive array, an optical storage device, a solid-state storage device such as a random access memory (“RAM”) and / or a read-only memory (“ROM”), a programmable ROM, a flash-updateable ROM, and / or the like. Such storage devices may be configured to implement any appropriate data storage, including without limitation, various file systems, database structures, and / or the like. In some embodiments, memory 309 includes a device database, including device information (e.g., unique device identification (ID), device keys, vendor information, device type, etc.) of tag 106 and / or one or more of anchors 104-1, ..., 104-n. In some embodiments, memory 309 is also stored with key derivation function (KDF) and scrambled timestamp sequence (STS) used for DL-TDoA and TWR.
[0095] In various embodiments, functions / operations may be stored as one or more instructions or code in memory 309, such as on a computer-readable storage medium, such as RAM, ROM, FLASH, or disc drive, and executed by processor 303 or DSP 305. Tag 106 may also include software components (e.g., located within memory 309), including, for example, an operating system, device drivers, executable libraries, and / or other executable code, such as one or more application programs. The application programs may include computer programs, stored in memory 309, executed by processor 303 and / or DSP 305 to implement various functions under the control of the operating system. The computer programs may have been pre-packaged with tag 106 or may have been downloaded by a user into memory 309 of the tag 106. Some mobile applications may be more user-interactive applications, such as an application to localize tag 106 and display the location of tag 106, whereas some other mobile applications may be less user-interactive in nature.
[0096] In operation, each cluster is allocated a set of slots, arranged in sequence in a ranging round. In some embodiments, for each cluster, the set of slots includes slots allocated for DL-TDoA, followed by slots allocated for potential TWR. For example, at least three slots are allocated for SS TWR period. In various embodiments, any suitable numbers of slots (e.g., 2, 3, 4, 5, ...etc.) can be allocated for each cluster for the potential TWR. At the beginning of the ranging round, tag 106 may listen to all anchors (e.g., anchors in the nearest cluster) in slots allocated for DL-TDoA. Tag 106 may compute for its location using DL-TDoA and multilateration algorithms if the number of visible anchors is sufficiently high. For example, tag 106 may periodically receive RF signals from any anchors (e.g., visible anchors of which the RF signals can reach tag 106). At the end of DL-TDoA, tag 106 may count the number of received signals / messages (or visible anchors). Whenthe number of received signals is equal to or greater than a predetermined threshold number such as three, tag 106 may perform DL-TDoA computation to determine its location. Tag 106 may compare the timestamps of the received signals and calculate the time difference of arrival by comparing the signal arrival times from the visible anchors. The calculated TDoAs may be represented by hyperbolas and indicate possible tag location. For example, the intersection of three hyperbolas describes the location of tag 106. Tag 106 then uses multilateration algorithms, based on the locations of the visible anchors transmitted in the RF signals, to determine the distance between tag 106 and each of the visible anchor. Based on the distances, tag 106 determines its location using a trilateration approach.
[0097] When the number of received signals is less than the predetermined threshold number such as three, e.g., tag 106 being at a corner and does not have sufficient signal reception, tag 106 may start a contention-based single-sided (SS) two way ranging (TWR), referred to as a “fallback” TWR. Tag 106 may generate a random address (e.g., a random source address or a random identification (ID) number). The random address may be different from a source address (e.g., the unique identity of tag 106 or a tag ID of tag 106) and does not indicate the actual identity of tag 106. In an example, the random address includes a 16-digit random ID number. The infrastructure or positioning system 100 thus is not able to identify and associate sequential measures to the tag 106, so that tag 106 stays anonymous. In some embodiments, the random address is generated by a random number generator and stays unchanged during the TWR (e.g., stays unchanged in the slots allocated for TWR). The random number generator may generate the random address following a suitable probability distribution, such as a normal distribution. In some embodiments, the random number generator generates a different random address each time the fallback TWR is performed. Tag 106 may transmit the random address in a message to one or more anchors (e.g., all anchors or the anchors responded in the DL-TDoA) at the beginning of the slots allocated for TWR, and performs TWR with any anchor(s) of which a response message (e.g., to the message transmitted by tag 106) is received by tag 106 in the remaining slots allocated for TWR. A response message may contain timestamps reflecting the times a respective responding anchor receives the message and transmits the response messages. Tag 106 may record the timestamps when it receives the response message, and determine its distance to the responding anchor based on the timestamps. Thedistance obtained from TWR may be represented as a circle centered at the respective responding anchor with radius being the distance. When a plurality of anchors respond to tag 106, a plurality of circles may be determined, and the intersection(s) of the circles may describe the possible location of tag 106. Tag 106 may determine its location using a trilateration approach.
[0098] FIG. 3B illustrates an example of an anchor 104, which may represent any one of anchors 104-1 , ..., 104-n. Anchor 104 may include a transceiver 327 and an antenna 331 (communicatively coupled to transceiver 327) for wireless communication with another anchor, tag 106, and / or network control device 102. In some embodiments, anchor 104 also includes a processor 323, a memory 329, and a bus 325.
[0099] Transceiver 327 may be operable to transmit and receive wireless signals 339 via antenna 331. Wireless signals 339 may be transmitted / received via a wireless network (e.g., local wireless network 108). In some embodiments, the wireless network may be any wireless network such as a local wireless network (e.g., local wireless network 108), such as WiFi, a Personal Access Network (PAN), such as Matter, Bluetooth® or Zigbee®, or a cellular network (e.g., 4G, 5G). Transceiver 327 may be configured to or receive wireless signals 339 via antenna 127 from a network control device (e.g., 102), a tag (e.g., 106), another anchor, and / or the like. Optionally, anchor 104 may include a DSP (not show) for decoding and / or decrypting, various received signals 339.
[0100] In some embodiments, anchor 104 includes a processor 323 and a memory 329. Processor 323 may include one or more general-purpose processors and / or one or more special-purpose processors, similar to processor 303. Memory 329 may include one or more non-transitory storage devices, similar to memory 309. Bus 325 may communicatively couple processor 323, transceiver 327, and memory 329 such that processor 323 may execute instructions stored in memory 329 and may process signals 339 received by transceiver 327, such as DL-TDoA signals and / or ranging signal / data from UWB communication. In some embodiments, memory 329 may be stored with position information and timestamps of one or more other anchors. For example, memory 329 may be stored with relative position information of one or more other anchors, absolute position information for one or more other anchors, etc.
[0101] In operation, an initiator anchor of a cluster may start the communicationwith responder anchors with a poll-DTM (DL-TDoA message) at the beginning of the respective set of slots (e.g., at the beginning of slots allocated for DL-TDoA period). Each responder anchor may respond to the poll-DTM in a respective slot (e.g., a slot for DL-TDoA) by blinking its location information and a timestamp. Meanwhile, tag 106 may listen to the communication between the initiator anchor and the responder anchors, and determines whether to compute its location using DL-TDoA based on the received signals or start a TWR to determine its location. In some embodiments, the anchors may switch to a receiver mode after its transmission of signal in the respective slot for DL-TDoA. As described above, tag 106 may transmit a message to anchors if the number of received signals (or visible anchors) is less than a predetermined threshold number. An anchor (e.g., an initiator anchor or a responder anchor), in receiver mode, may receive the message in a slot allocated for TWR period and records the time of reception. The anchor may transmit a response message with the timestamps for reception and transmission of the response message to tag 106 in the remaining slots allocated for SS TWR period, such that tag 106 may perform TWR based on the received timestamps.
[0102] FIGS. 4A-4E illustrate scenarios in which the tag performs DL-TDoA when the number of visible anchors is equal to or greater than a predetermined threshold number, and performs a “fallback” TWR when the number of visible anchors is less than a predetermined threshold number, according to some embodiments. It should be noted that, although single-sided (SS) TWR is described as an example in this disclosure, double-sided (DS) TWR can also be used in other various embodiments. FIG. 4A and 4E are described in view of FIGS. 1 A an IB.
[0103] As shown in FIG. 4A, tag 106 may be located in an area covered by cluster 103-4, close to anchors 14 and 15, referring back to the description of FIG. IB. FIG. 4B shows a block 402 including the ranging rounds having the slots allocated for the clusters. A ranging round may be scheduled for each cluster. In a ranging round, slots for a TWR period are allocated after the slots allocated for a DL-TDoA period. In some embodiments, the total number of slots in each ranging round is the same. As shown in FIG. 4B, a plurality of first slots are allocated for a first period (e.g., a DL-TDoA period) 404-na of a ranging round 404-n scheduled for cluster 103-n (n=l, 2, 3, 4, 5), and a plurality of second slots are allocated for a second period (e.g., a TWR period) 404-nb (n=l, 2, 3, 4, 5) of ranging round 404-n scheduled for cluster 103-n (n=l, 2, 3, 4, 5). In some embodiments, the number offirst slots in each first period 404-na is the same, and the number of second slots in each second period 404-nb is the same. In some embodiments, the number of second slots is equal to or greater than three (e.g., 3, 4, 5, 6, 7, ..., etc.). For ease of illustration, ranging rounds in block 402 are separated in two parts.
[0104] In some embodiments, at initialization stage, e.g., before the UWB communication between the anchors and between the anchors and tags, an out-of- band (OOB) characterization may be performed amongst anchors and tags. For example, information for key derivation function (KDF) and scrambled timestamp sequence (STS) signals may be exchanged between two UWB devices (e.g., anchors and / or tags) for DL-TDoA and potential TWR. For example, a user controlling / configuring positioning system 100 may determine / configure the number of second plurality of slots in second period 404-nb. In some embodiments, the user also determines / configures the threshold number of responding anchors for the tag to perform DL-TDoA (or continue to switch to TWR). During the initialization, the anchors (e.g., 1, 2, ... , 17) or the initiator anchors (one or more of 1, 2, 4, 5, 7) may notify tag 106 with the allocation of slots for first period404-na and second period 404-nb in a ranging round.
[0105] FIG. 4C illustrates a signaling diagram 401 illustrating two exemplary ranging rounds 413 and 415, according to some embodiments. Ranging rounds 413 and 415 may each be an example of any ranging round 404-n (n=l, 2, 3, 4, 5), and may each include a plurality of first slots 409 in first period 404-na and a plurality second slots 411 in second period 404-nb (n=l, 2, 3, 4, 5). Ranging round 413 illustrates a scenario in which a sufficient number of signals from responding anchors are received by tag 106 to perform DL-TDoA, and no TWR (or “fallback” TWR) is performed. Ranging round 415 illustrates a scenario in which an insufficient number of signals from responding anchors are received by tag 106, and a TWR (or “fallback” TWR) is performed instead of DL-TDoA. Details are described below. It should be noted that, ranging rounds 413 and 415 are shown to merely illustrate two different ranging rounds, and do not indicate any order that ranging rounds 413 and 415 are scheduled. Ranging rounds 413 and 415 may be scheduled for the same cluster or different clusters. For ease of illustration, ranging rounds 413 and 415 are shown to be scheduled for cluster 103-4, and may be examples of ranging round 404-4. For ease of illustration, responder anchor 14 is not shown in FIG. 4C.
[0106] As shown in FIG. 4C, at the beginning of ranging round 413, initiator anchor 5 may transmit a poll-DTM 425 in one of first slots 409 (e.g., the first slot of first slots 409) to the responder anchors 15, 16, 6, 14 in cluster 103-4 (responder anchor 14 not shown). Poll-DTM 425 may include information such as the identification of initiator anchor 5, timestamp indicating the time poll-DTM 425 is sent, and the actual number of anchors (e.g., 5) in the current cluster (e.g., 103-4). In some embodiments, initiator anchor 5 blinks its location (e.g., as well as a timestamp) in poll-DTM 425. In some embodiments, poll-DTM 425 allocates a slot to a respective responder anchor (e.g., 15, 16, 6, 14). Tag 106 may listen to the communication between anchors, and may receive poll-DTM 425 as well.Responder anchors (e.g., 15, 16, 6, 14) and tag 106 may thus receive poll-DTM 425 and are notified of the actual number of anchors in the cluster and the number of second slots in the cluster (e.g., from OOB characterization).
[0107] Receiving poll-DTM 425, one or more (e.g., all) responder anchors may respond to initiator anchor 5 in the respective allocated slot by blinking its location and timestamp, and may then switch to a receiver mode, ready to receive messages. For example, anchor 15 may blink its location and timestamp by transmitting a response message 417-1, anchor 16 may blink its location and timestamp by transmitting a response message 417-2, and anchor 6 may blink its location and timestamp by transmitting a response message 417-3. In this example, as shown in FIG. 4C, tag 106 may receive signals containing the location information and timestamps from at least three responder anchors (e.g., 5, 15, 16, 6). Tag 106 may count the number of received signals (e.g., poll-DTM 425 and response messages 417-1 , 417-2, 417-3) at the end of first period 404-la and compare the counted number with the predetermined threshold number (e.g., 3). Tag 106 may then determine a sufficient number of signals are received for a DL-TDoA multilateration. Tag 106 may then localize itself using DL-TDoA and not perform any TWR in second slots 411.
[0108] In a different scenario, as shown in FIG. 4C, at the beginning of ranging round 415, initiator anchor 5 may transmit a poll-DTM 425 in one of first slots 409, and one or more (e.g., all) responder anchors may respond to initiator anchor 5 in the respective allocated slot by blinking their location information and timestamps, e.g., referring to the description for ranging round 413. In some embodiments, all anchors (e.g., 5, 15, 16, 6, 14) may switch to a receiver mode, ready to receivemessages. However, because of poor reception, tag 106 may receive signals from only initiator anchor 5 and responder anchor 15. Tag 106 may count the number of received signals and compare the counted number with the predetermined threshold number (e.g., 3). Tag 106 may determine that an insufficient number (e.g., 2) of signals are received and TWR will be performed to determine its location, instead of DL-TDoA. Tag 106 may then generate a random address (or random source address / random ID) which is generated by a random number generator and stays unchanged during the TWR (or second period 404-4b). In some embodiments, the source address includes a unique identification number of tag 106, and a random address is different from the source address such that positioning system 100 may not be able to identify and associate sequential measurements to tag 106 based on the random address.
[0109] Tag 106 may start a contention-based SS TWR by transmitting a RI-RCM 419 (UWB specific frame which combines ranging initialization and ranging control message in one message or a poll message) in one of second slots 411 (e.g., the first slot) in contention-based mode. In some embodiments, RI-RCM 419 includes the random address generated by tag 106. In some embodiments, tag 106 transmits the random address in the medium-access-control (MAC) header (MHR) in the frame structure. In some embodiments, tag 106 may re-use the KDF and STS information used for DL-TDoA for SS TWR.
[0110] In some embodiments, tag 106 transmits RI-RCM 419 to all anchors (e.g., 5, 15, 16, 6, 14). In some embodiments, tag 106 sends RI-RCM 419 to responding anchors (e.g., 5, 15) that responded in first slots 409. For example, tag 106 may transmit RI-RCM 419 only to those anchors responded, and the anchors that responded may reply in a non-colliding / non-competitive manner in a dedicated time slot. This period may be referred to as “Contention Free Period.” In another example, tag 106 may transmit RI-RCM 419 in a broadcast message, and any anchor (e.g., 403 and / or 405) that received the RI-RCM 419 may reply on a compete (potentially colliding) basis of a “Contention Access Period.” Tag 106 may perform SS TWR with a responding anchor. Any responding anchor may send a response message with timestamps indicating the time RI-RCM 419 is received and the time the response message is sent. Tag 106 may then calculate the distance based on the response message from a responding anchor. As shown in FIG. 4B, as an example, tag 106 may receive a response message 421 from initiator anchor 5 in one of theremaining slots of second slots 411 , and may receive another response message 423 in another one of the remaining slots of second slots 411. In various embodiments, each responding anchor may respond in one of second slots 411 , and tag 106 may receive only one response message in a single slot. In some embodiments, if the number of responding anchors is greater than the number of remaining slots in second slots 411, the responding anchors may compete for the slots in second slots 411.
[0111] FIG. 4D illustrates a signaling diagram 420 of SS TWR between tag 106 and a responding anchor, according to some embodiments. A responding anchor 414 may be any anchor that responds in second slots 411 (e.g., 5 and 15).
[0112] In some embodiments, as previously described, after tag 106 counts the number of received signals, determines to start TWR, and generates a random address 408, tag 106 may transmit RI-RCM 419 to one or more anchors in the first slot of second slots 411. Responding anchor 414 may switch to a receiver mode 410, ready to receive any message from tag 106. In some embodiments, RI-RCM 419 includes the random address generated by tag 106. Tag 106 may record the time RI- RCM 419 is transmitted as timestamp Tl. Responding anchor may receive RI-RCM 419 and record the time RI-RCM 419 is received as timestamp T2. Responding anchor may then transmit a response message 421 in one of second slots 411, and record the time of transmission as timestamp T3. Tag 106 may receive response message 421 and record the time response message 421 is received as timestamp T4. The time difference between T2 and T3 is referred as Trepiy, and the time difference between Tl and T4 is referred to as TiOOp. Tag 106 may compute a time of flight (TOF) to be (Tioop-Trepiy) / 2. Tag 106 may then compute a distance D between responding anchor 414 and tag 106 to be D=TOFxspeed of light. In some embodiments, alternatively or additionally, tag 106 also determines an angle-of- arrival (Ao A) based on the phase change between RI-RCM 419 and response message 421, detected from the antenna(s) of tag (e.g., antenna 317). Tag 106 may determine a relative position with respect to responding anchor 414 based on distance D and the AoA.
[0113] FIG. 4E illustrates a comparison of a localization result using DL-TDoA (e.g., (a)) and SS TWR (e.g., (b)), according to some embodiments. As previously described, when tag 106 receives signals from an insufficient number of responding anchors (e.g., 2 anchors), the possible location of tag 106 may be on a hyperbola 423if the location is computed using DL-TDoA. However, if computed using SS TWR, the possible location of tag 106 may be in the intersections of the two circles (e.g., centered around the two responding anchors with respective radius equal to the distance between tag 106 and the respective anchor). The localization accuracy of tag 106, using SS TWR, may be much higher. In some embodiments, tag 106 performs the “fallback” TWR no more than once per ten blocks.
[0114] It should be noted that, although SS TWR is illustrated as an example of the “fallback” TWR, in various embodiments, other TWR approaches may also be used as “fallback” TWR. For example, more slots may be allocated as second slots 411, and DS TWR may be used.
[0115] FIG. 5 A is a flowchart of a method 500 for a tag (e.g., a mobile device) to localize itself in a positioning system, according to some embodiments of the present disclosure. Method 500 is merely an example, and is not intended to limit the present disclosure beyond what is explicitly recited in the claims. Additional operations can be provided before, during, and after the method 500, and some operations described can be replaced, eliminated, or moved around for additional embodiments of method 500. For ease of illustration, FIG. 5A is described in connection with FIGS. 3A, 4B, and 4C.
[0116] At step 502, the tag receives a first number of time periods allocated to a plurality of UWB devices in a logic group for a DL-TDoA operation and a second number of time periods following the first number of time periods for a two-way ranging operation. The second number is at least 2. For example, tag 106 may be notified with the number of slots allocated for the first period 404-na (e.g., for DL- TDoA) and the second period 404-nb (e.g., for potential TWR) in a ranging round in OOB characterization.
[0117] At step 504, the tag receives a third number of messages from at least one of the plurality of UWB devices in the first number of time periods. For example, tag 106 may receive one or more response messages (e.g., 417-1, 417-2, ...etc.) from one or more anchors in the first period of a ranging round.
[0118] At step 506, the tag compares the third number and a predetermined threshold number. For example, tag 106 may count the number of received messages (e.g., the number of visible anchors) with a predetermined threshold number, e.g., 3.
[0119] At step 508, in response to the third number being less than thepredetermined threshold number, the tag performs two-way ranging with one or more of the plurality of UWB device in the second number of time periods. For example, tag 106 may perform SS TWR with one or more anchors if the number of visible anchors is less than the predetermined threshold number.
[0120] FIG. 5B is a flowchart of a method 501 for an initiator anchor to facilitate localization by a tag, according to some embodiments of the present disclosure.Method 501 is merely an example, and is not intended to limit the present disclosure beyond what is explicitly recited in the claims. Additional operations can he provided before, during, and after the method 501, and some operations described can be replaced, eliminated, or moved around for additional embodiments of method 501. For ease of illustration, FIG. 5B is described in connection with FIGS. 3 A, 4B, and 4C.
[0121] At step 503, the initiator anchor receives a first number of time periods allocated to a plurality of first UWB devices in a logic group for a DL-TDoA operation and a second number of time periods following the number of first periods for a two-way ranging operation. The second number is at least 2. For example, the initiator anchor may be characterized with the number of slots allocated for the first period 404-na (e.g., for DL-TDoA) and the second period 404-nb (e.g., for potential TWR) by a user / controller of the positioning system.
[0122] At step 505, the initiator anchor transmits a first message to the plurality of first UWB devices, the first message indicating an allocation of each of the first number of time periods to a respective first UWB device. For example, the initiator anchor (e.g., 1 , 2, 4, 5, 7) transmits a poll-DTM 425 to all responder anchors to indicate an allocation of slots for DL-TDoA.
[0123] At step 507, the initiator anchor receives a plurality of first response messages, each in the respective time period, from the plurality of first UWB devices. The plurality of response messages each indicates a location of the respective first UWB device. For example, the initiator anchor (e.g., 1, 2, 4, 5, 7) receives a response messages from the responder anchors, each in a respective slot. For example, the first response message may include the location information and timestamp of the respective responder anchor.
[0124] At step 509, the initiator anchor switches to a receiver mode after the first number of time periods. For example, the initiator anchor switches to a receiver mode after the slots used allocated for DL-TDoA, ready to receive a message from atag.
[0125] FIG. 5C is a flowchart of a method 510 for a responder anchor to facilitate localization by a tag, according to some embodiments of the present disclosure. Method 510 is merely an example, and is not intended to limit the present disclosure beyond what is explicitly recited in the claims. Additional operations can be provided before, during, and after the method 510, and some operations described can be replaced, eliminated, or moved around for additional embodiments of method 510. For ease of illustration, FIG. 5C is described in connection with FIGS. 3 A, 4B, and 4C.
[0126] At step 512, the anchor anchor receives a first number of time periods for a DL-TDoA operation and a second number of time periods following the number of first period for a two-way ranging operation. The second number is at least 2. For example, the responder anchor may be characterized with the number of slots allocated for the first period 404-na (e.g., for DL-TDoA) and the second period 404- nb (e.g., for potential TWR) by a user / controller of the positioning system.
[0127] At step 514, the responder anchor receives a first message from an initiator anchor, the first message indicating an allocation of the responder anchor in a respective one of the first number of time periods. For example, responder anchors (e.g., 15, 16, 6, 14) each receives a poll-DTM 425 indicate a respective allocation of slots for DL-TDoA, e.g., in slot 2, 3, 4, and 5 of ranging round 404-4, respectively.
[0128] At step 516, the responder anchor transmits a first response messages in the respective time period to the initiator anchor. The first response message indicates a location of the responder anchor. For example, the responder anchor 15 transmits a first response message 417-1 in slot 2. For example, the first response message 417- 1 may include the location information and timestamp of responder anchor 15.
[0129] At step 518, the responder anchor switches to a receiver mode after the first number of time periods. For example, the responder anchor switches to a receiver mode after the slots used allocated for DL-TDoA, ready to receive a message from a tag.
[0130] Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
Claims
WHAT IS CLAIMED IS:
1. A method for localization, comprising: receiving an allocation of a first number of time periods to a plurality of UWB devices in a logic group for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the first number of time periods for a two-way ranging operation, the second number being at least two (2); receiving a third number of messages from at least one of the plurality of UWB devices in the first number of time periods; comparing the third number and a predetermined number; and in response to the third number being less than the predetermined number, performing two-way ranging with one or more of the plurality of UWB device in the second number of time periods.
2. The method of claim 1, wherein the performing of the two-way ranging operation comprises: generating a random identification number as an address, the random identification number being different from a unique identification number; switching to a contention mode; and transmitting a message containing the address to one or more of the plurality of UWB devices in a medium-access-control (MAC) header in a first one of second number of time periods.
3. The method of claim 2, wherein the transmitting of the address comprises transmitting a poll message containing the address to each of the plurality of UWB device.
4. The method of claim 2, wherein the transmitting of the address comprises transmitting the message containing the address to the at least one of the plurality of UWB devices that transmit the third number of messages.
5. The method of claim 2, wherein the performing of the two-way ranging operation comprises: receiving at least one response message from at least one of the one or more of the plurality of UWB devices in remaining ones of the second number of time periods, the at leastone response message each containing a respective time of reply representing a time period between a reception of the message and a transmission of a respective third message; calculating a respective time of loop for the at least one of the one or more of the plurality of UWB devices, the respective time of loop representing a time period between a transmission time of the message and a reception of the respective third message; and calculating a distance to the at least one of the one or more of the plurality of UWB device based on times of reply and times of loop.
6. The method of claim 5, further comprising determining a self-location using a trilateration algorithm.
7. The method of claim 5, wherein the at least one response message competes for a respective one of the remaining ones of the second number of time periods.
8. The method of claim 1, wherein the predetermined number is equal to or greater than 3.
9. The method of claim 1, wherein the third number of messages each comprises a timestamp of a respective UWB device.
10. The method of claim 8, further comprising, in response to the third number being less than the predetermined number, determining a self- location using downlink time difference of arrival (DL-TDoA) and a multilateration algorithm.
11. A method for locating an ultra-wideband (UWB) device, comprising: receiving an allocation of a first number of time periods to a plurality of first UWB devices in a logic group for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the number of first periods for a two-way ranging operation, the second number being at least two (2); transmitting a first message to the plurality of first UWB devices, the first message indicating an allocation of each of the first number of time periods to a respective first UWB device;receiving a plurality of first response messages, each in the respective time period, from the plurality of first UWB devices, the plurality of first response messages each indicating a location of the respective first UWB device; and switching to a receiver mode after the first number of time periods.
12. The method of claim 11 , wherein the second number is at least three (3).
13. The method of claim 1 1 , further comprising receiving a second message from a second UWB device in the at least one of the second number of time periods, the second message comprising an address associated with the second UWB device.
14. The method of claim 13, further comprising transmitting a second response message to the second UWB device based on the address, the second response message comprising a time of reply representing a time period between a reception of the second message and a transmission of the second response message.
15. The method of claim 11, wherein the receiving of the first number and the second number is through an out-of-band (OOB) means.
16. The method of claim 11, further comprising transmitting the first number and the second number to the plurality of first UWB devices through an out-of-band (OOB) means.
17. The method of claim 13, further comprising transmitting the first number and the second number to the second UWB device through an out-of-band (OOB) means.
18. The method of claim 14, wherein: the address comprises a random identification number that stays unchanged during at least the time of reply.
19. A method for locating an ultra-wideband (UWB) device, comprising: receiving an allocation of a first number of time periods for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the number of first periods for a two-way ranging operation, the second number being at least two (2); receiving a first message from a first UWB devices, the first message indicating anallocation of a respective one of the first number of time periods; transmitting a first response message in the respective time period to the first UWB device, the first response messages indicating a location; and switching to a receiver mode after the first number of time periods.
20. The method of claim 19, wherein the second number is at least three (3).21 . The method of claim 19, further comprising receiving a second message from a second UWB device in the at least one of the second number of time periods, the second message comprising an address associated with the second UWB device.
22. The method of claim 22, further comprising transmitting a second response message to the second UWB device based on the address, the second response message comprising a time of reply representing a time period between a reception of the second message and a transmission of the second response message.
23. The method of claim 19, wherein the receiving of the first number and the second number is through an out-of-band (OOB) means.
24. An ultra-wideband (UWB) device, comprising: a transceiver operable to perform a UWB communication; a memory for storing program instructions, device information, device locations, timestamps, and distances from localization operations; and a processor coupled to the transceiver and to the memory, wherein the processor is operable to execute the program instructions, which, when executed by the processor, cause the UWB device to perform the following to localize itself in a wireless local network: receiving an allocation of a first number of time periods to a plurality of other UWB devices in a logic group for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the first number of time periods for a two-way ranging operation, the second number being at least two (2); receiving a third number of messages from at least one of the plurality of other UWB devices in the first number of time periods; comparing the third number and a predetermined number; and in response to the third number being less than the predetermined number, performingthe two-way ranging operation with one or more of the plurality of other UWB device in the second number of time periods.
25. The UWB device of claim 24, wherein the performing of the two-way ranging operation comprises: generating a random identification number as an address, the random identification number being different from a unique identification number; switching to a contention mode; and transmitting a message containing the address to one or more of the plurality of other UWB devices in a medium-access-control (MAC) header in a first one of second number of time periods.
26. The UWB device of claim 25, wherein the transmitting of the address comprises transmitting a poll message containing the address to each of the plurality of other UWB device.
27. The UWB device of claim 25, wherein the transmitting of the address comprises transmitting the message containing the address to the at least one of the plurality of other UWB devices that transmit the third number of messages.
28. The UWB device of claim 25 , wherein the performing of the two-way ranging operation comprises: receiving at least one response message from at least one of the one or more of the plurality of other UWB devices in remaining ones of the second number of time periods, the at least one response message each containing a respective time of reply representing a time period between a reception of the message and a transmission of a respective third message; calculating a respective time of loop for the at least one of the one or more of the plurality of other UWB devices, the respective time of loop representing a time period between a transmission time of the message and a reception of the respective third message; and calculating a distance to the at least one of the one or more of the plurality of other UWB device based on times of reply and times of loop.
29. The UWB device of claim 28, wherein the processor is further configured to perform determining a self-location using a trilateration algorithm.
30. The UWB device of claim 28, wherein the at least one response message competes for a respective one of the remaining ones of the second number of time periods.31 . The UWB device of claim 24, wherein the predetermined number is equal to or greater than 3.
32. The UWB device of claim 24, wherein the third number of messages each comprises a timestamp of a respective other UWB device.
33. The UWB device of claim 31 , wherein the processor is further configured to perform, in response to the third number being less than the predetermined number, determining a selflocation using downlink time difference of arrival (DL-TDoA) and a multilateration algorithm.
34. An ultra-wideband (UWB) device, comprising: a transceiver operable to perform a UWB communication; a memory for storing program instructions, device information, device locations, and timestamps; and a processor coupled to the transceiver and to the memory, wherein the processor is operable to execute the program instructions, which, when executed by the processor, cause the UWB device to perform the following to facilitate another UWB device to localize itself in a wireless local network: receiving an allocation of a first number of time periods to a plurality of first UWB devices in a logic group for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the number of first periods for a two-way ranging operation, the second number being at least two (2); transmitting a first message to the plurality of first UWB devices, the first message indicating an allocation of each of the first number of time periods to a respective first UWB device; receiving a plurality of first response messages, each in the respective time period, from the plurality of first UWB devices, the plurality of first response messages each indicating a location of the respective first UWB device; and switching to a receiver mode after the first number of time periods.
35. The UWB device of claim 34, wherein the second number is at least three (3).
36. The UWB device of claim 34, wherein the processor is further configured to perform receiving a second message from a second UWB device in the at least one of the second number of time periods, the second message comprising an address associated with the second UWB device.
37. The UWB device of claim 36, wherein the processor is further configured to perform transmitting a second response message to the second UWB device based on the address, the second response message comprising a time of reply representing a time period between a reception of the second message and a transmission of the second response message.
38. The UWB device of claim 34, wherein the receiving of the first number and the second number is through an out-of-band (OOB) means.
39. The UWB device of claim 34, wherein the processor is further configured to perform transmitting the first number and the second number to the plurality of first UWB devices through an out-of-band (OOB) means.
40. The UWB device of claim 36, wherein the processor is further configured to perform transmitting the first number and the second number to the second UWB device through an out-of-band (OOB) means.
41. The UWB device of claim 37, wherein: the address comprises a random identification number that stays unchanged during at least the time of reply; and the address is encrypted in a medium-access-control (MAC) header of the second message.
42. An ultra-wideband (UWB) device, comprising: a transceiver operable to perform a UWB communication; a memory for storing program instructions, device information, device locations, andtimestamps; and a processor coupled to the transceiver and to the memory, wherein the processor is operable to execute the program instructions, which, when executed by the processor, cause the UWB device to perform the following to facilitate another UWB device to localize itself in a wireless local network: receiving an allocation of a first number of time periods for a downlink time difference of arrival (DL-TDoA) operation and a second number of time periods following the number of first periods for a two-way ranging operation, the second number being at least two (2); receiving a first message from a first UWB devices, the first message indicating an allocation of a respective one of the first number of time periods; transmitting a first response message in the respective time period to the first UWB device, the first response messages indicating a location; and switching to a receiver mode after the first number of time periods.
43. The UWB device of claim 42, wherein the second number is at least three (3).
44. The UWB device of claim 42, wherein the processor is further configured to perform receiving a second message from a second UWB device in the at least one of the second number of time periods, the second message comprising an address associated with the second UWB device.
45. The UWB device of claim 44, wherein the processor is further configured to perform transmitting a second response message to the second UWB device based on the address, the second response message comprising a time of reply representing a time period between a reception of the second message and a transmission of the second response message.
46. The UWB device of claim 42, wherein the receiving of the first number and the second number is through an out-of-band (OOB) means.