SYSTEM AND METHOD USING RANGING AND TRIANGULATION TO IDENTIFY THE LOCATION OF WIRELESS SENSOR NODES BASED ON RADIO FREQUENCY COMMUNICATIONS BETWEEN THE NODES AND VARIOUS RF-ENABLED DEVICES - Patent application

The system addresses indoor wireless sensor node localization issues by combining time-of-arrival methods with triangulation and maximum likelihood estimation, enhancing accuracy and reducing costs through a hybrid network architecture, effectively overcoming multipath and signal attenuation challenges.

JP7606458B2Active Publication Date: 2024-12-25DRAGONFLY TECH INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021537165
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-02-22
Filing Date
2019-12-24
Publication Date
2024-12-25
Estimated Expiration
2039-12-24

AI Technical Summary

Technical Problem

Traditional approaches to locating wireless sensor nodes in indoor environments suffer from reliability issues, deployment challenges, and high costs due to multipath effects and signal attenuation, leading to inaccurate positioning and increased infrastructure requirements.

Method used

A system and method that combines time-of-arrival methods with techniques to mitigate multipath problems and improve sampling accuracy, using triangulation algorithms with maximum likelihood estimation to enhance location precision in indoor environments, employing a hybrid tree and mesh network architecture for efficient energy use and accurate positioning.

Benefits of technology

Achieves high-precision ranging and accurate triangulation, reducing errors and infrastructure costs while maintaining long battery life for wireless sensor nodes, particularly in indoor settings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007606458000011
    Figure 0007606458000011
  • Figure 0007606458000012
    Figure 0007606458000012
  • Figure 0007606458000013
    Figure 0007606458000013
Patent Text Reader

Abstract

Systems, apparatuses, and methods for locating wireless nodes within a network architecture are disclosed herein. In one example, a system for locating nodes within a wireless network architecture includes a plurality of wireless anchor nodes, each having a known location and each having one or more processing units and a wireless device with RF circuitry for transmitting and receiving communications within the wireless network architecture, and wireless nodes within the wireless network architecture, each having a wireless device with a transmitter and a receiver that enables two-way communication with the plurality of wireless anchor nodes. One or more processing units in at least one of the plurality of wireless anchor nodes are configured to execute instructions for determining a set of estimated ranges between each anchor node and wireless nodes whose locations are unknown, and for implementing a triangulation algorithm that uses maximum likelihood estimation (MLE) of ranging measurements from the anchor nodes.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application No. 62 / 785,094, filed December 26, 2018, which claims the benefit of U.S. Provisional Patent Application No. 16 / 283,474, filed February 22, 2019, the entire contents of which are incorporated herein by reference.

[0002] This application is a continuation of application Ser. No. 16 / 283,470, filed February 22, 2019, and entitled "SYSTEMS AND METHODS FOR USING RANGING TO DETERMINE WIRELESS SENSOR NODES BASED ON RADIO FREQUENCY COMMUNICATIONS BETWEEN THE NODES AND VARIOUS RF-ENABLED DEVICES," Ser. No. 16 / 283,465, filed February 22, 2019, and entitled "SYSTEMS AND METHODS FOR DETERMINING LOCATIONS OF WIRELESS SENSOR NODES BASED ON RADIO FREQUENCY COMMUNICATIONS BETWEEN NODES AND VARIOUS RF-ENABLED DEVICES," and Ser. No. 16 / 283,475, filed February 22, 2019, and entitled "SYSTEMS AND METHODS FOR DETERMINING LOCATIONS OF WIRELESS SENSOR NODES BASED ON ANCHORLESS No. 16 / 283,478, entitled "METHOD AND KNOWN ENVIRONMENT INFORMATION," which are incorporated herein by reference.

[0003] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention relate to systems and methods for locating a wireless sensor node based on radio frequency communications between the node and various RF enabled devices. [Background technology]

[0004] Wireless sensor networks have been studied for many years in the consumer electronics and computer industries. A typical wireless sensor network is implemented with one or more sensors along with a radio to enable wireless collection of data from one or more sensor nodes deployed in the network. Each sensor node may contain one or more sensors and also includes a radio and a power source to power the operation of the sensor node. Locating nodes in an indoor wireless network is useful and important in many applications. Summary of the Invention [Problem to be solved by the invention]

[0005] However, conventional approaches to node location suffer from reliability challenges, deployment challenges, and cost challenges. [Means for solving the problem]

[0006] In accordance with an embodiment of the present invention, a system and method for locating a wireless sensor node in a network architecture is disclosed herein. In one example, a system for locating a node in a wireless network architecture includes a first wireless node having one or more processing units and a radio device with RF circuitry for transmitting and receiving communications in the wireless network architecture, the first RF signal having a first packet. The system further includes a second wireless node having a radio device with a transmitter and a receiver enabling bidirectional communication with the first wireless node in the wireless network architecture, the second RF signal having a second packet. The one or more processing units, machines, or remote devices (e.g., cloud-based devices) of the first wireless node are configured to execute instructions to determine round trip time estimates of the first and second packets, thereby measuring channel state information (CSI) of the first and second wireless nodes, and then calibrate hardware to measure hardware delays of the first and second wireless nodes.

[0007] In one example, the first wireless node and the second wireless node have the same reference clock signal.

[0008] In another example, a system for locating nodes in a wireless network architecture includes a plurality of wireless anchor nodes, each having a known location and each having one or more processing units and a wireless device having RF circuitry for transmitting and receiving communications in the wireless network architecture, and a wireless node in the wireless network architecture having a wireless device with a transmitter and a receiver that enables bidirectional communication with the plurality of wireless anchor nodes, wherein the one or more processing units in at least one of the plurality of wireless anchor nodes are configured to execute instructions for determining a set of estimated distance ranges between each anchor node and a wireless node whose location is unknown, and performing a triangulation algorithm that is iterated over the estimated locations of the wireless nodes to minimize errors.

[0009] In another example, a system for locating nodes in a wireless network architecture includes a plurality of wireless anchor nodes, each having a known location and each having one or more processing units and a wireless device with RF circuitry for transmitting and receiving communications in the wireless network architecture, and a wireless node in the wireless network architecture having a wireless device with a transmitter and a receiver enabling two-way communication with the plurality of wireless anchor nodes, wherein the one or more processing units in at least one of the plurality of wireless anchor nodes are configured to execute instructions to determine a set of estimated distance ranges between each anchor node and a wireless node whose location is unknown, and to implement a triangulation algorithm using maximum likelihood estimation (MLE) of ranging measurements from the anchor nodes.

[0010] In another example, an apparatus for locating a node in a wireless network architecture includes a memory for storing instructions, one or more processing units for executing instructions for controlling and locating a plurality of wireless sensor nodes in the wireless network architecture, and a radio frequency (RF) circuit for transmitting and receiving communications with a plurality of wireless sensor nodes in the wireless network architecture, each having a wireless device with a transmitter and a receiver enabling bidirectional communication with the apparatus, wherein the one or more processing units of the apparatus are configured to execute instructions for determining ranging data including a set of estimated distance ranges between the apparatus and a plurality of wireless sensor nodes whose locations are unknown, and for associating the apparatus or the wireless sensor nodes, respectively, with a unique known location in an environment of the wireless network architecture.

[0011] In another embodiment, a system for locating a node in a wireless network architecture includes a wireless node having a radio device with one or more processing units and RF circuitry for transmitting and receiving communications in the wireless network architecture, and a plurality of wireless sensor nodes in the wireless network architecture having radio devices with transmitters and receivers enabling bidirectional communication with the wireless nodes, the one or more processing units of the wireless node configured to execute instructions to determine ranging data including a set of estimated distance ranges between the wireless node and a plurality of wireless sensor nodes whose locations are unknown, and to associate a set of relative positions with the wireless node and the plurality of wireless sensor nodes in an environment of the wireless network architecture.

[0012] Other features and advantages of embodiments of the present invention will become apparent from the accompanying drawings and the detailed description that follows.

[0013] Embodiments of the present invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which: [Brief description of the drawings]

[0014] [Figure 1A] FIG. 1A illustrates location determination using signal strength. [Figure 1B] FIG. 1B illustrates position measurement using angle of arrival. [Figure 1C] FIG. 1C illustrates position measurement using time of arrival. [Diagram 2] FIG. 2 shows the RSSI used in estimating the distance between two nodes 510 and 511. [Diagram 3] FIG. 3 illustrates an exemplary system of wireless nodes, according to one embodiment. [Figure 4] FIG. 4 illustrates a system with an asymmetric tree and mesh network architecture having multiple communicating hubs, according to one embodiment. [Diagram 5] FIG. 5 illustrates a time-of-flight measurement system according to one embodiment. [Figure 6] FIG. 6 illustrates a block diagram of a time-of-flight measurement system, according to one embodiment. [Figure 7] FIG. 7 illustrates an asynchronous system used for time-of-flight estimation according to another embodiment. [Figure 8A] FIG. 8A illustrates multiple reflections from walls 882, 884, ceiling 880, and furniture 830, 832 in an indoor environment 890 that can affect signals transmitted from an access point to various Wi-Fi enabled devices, according to one embodiment. [Figure 8B] FIG. 8B illustrates the addition of a direct signal to a reflected signal according to one embodiment. [Figure 9A] FIG. 9A illustrates a method for wireless device location using precise timing measurements of TOAs in a wireless sensor network, according to one embodiment. [Figure 9B] FIG. 9B illustrates a method for wireless device location using precise timing measurements of TOAs in a wireless sensor network, according to one embodiment. [Figure 10]FIG. 10 illustrates a method of maximum likelihood estimation (MLE) used to improve triangulation accuracy during location determination, according to one embodiment. [Figure 11] FIG. 11 illustrates a calibration system with automatic gain control, according to one embodiment. [Figure 12] FIG. 12 illustrates a method for removing hardware delays and non-ideal characteristics using loopback calibration, according to one embodiment. [Figure 13A] FIG. 13A illustrates an exemplary embodiment of a hub implemented as an overlay 1500 for a power outlet, according to one embodiment. [Figure 13B] FIG. 13B illustrates an example embodiment of an exploded view of a block diagram of a hub implemented as an overlay for a power outlet, according to one embodiment. [Figure 14A] FIG. 14A illustrates an exemplary embodiment of a hub implemented as a card for deployment within a computer system, appliance, or communications hub, according to one embodiment. [Figure 14B] FIG. 14B illustrates an example embodiment of a block diagram of a hub 964 implemented as a card for deployment within a computer system, appliance, or communications hub, according to one embodiment. [Figure 14C] FIG. 14C illustrates an exemplary embodiment of a hub implemented within an appliance (eg, a smart washer, a smart refrigerator, a smart thermostat, other smart home appliances, etc.) according to one embodiment. [Figure 14D] FIG. 14D illustrates an example embodiment of an exploded view of a block diagram of a hub 1684 implemented within an appliance (e.g., a smart washer, a smart refrigerator, a smart thermostat, other smart home appliances, etc.) according to one embodiment. [Figure 15] FIG. 15 illustrates a block diagram of a sensor node according to one embodiment. [Figure 16] FIG. 16 illustrates a block diagram of a system or appliance 1800 having a hub, according to one embodiment. [Figure 17]FIG. 17 illustrates a method for locating a wireless device using configuration information of a wireless sensor network, according to one embodiment. [Figure 18] FIG. 18 illustrates a method for locating a wireless device without using configuration information of a wireless sensor network, according to one embodiment. [Figure 19] FIG. 19 illustrates an exemplary building 1900 (e.g., residential, industrial environment) with nodes distributed in various rooms and a centrally located hub with a predefined search space, according to one embodiment. [Figure 20] FIG. 20 illustrates an exemplary building 2000 (e.g., residential, industrial environment) with nodes distributed in various rooms and a centrally located hub with a search space bounded by the exterior walls of the building, according to one embodiment. [Figure 21] FIG. 21 illustrates an exemplary building 2100 (e.g., residential, industrial environment) with nodes distributed in various rooms and a centrally located hub, with a search space partially enclosed by one wall of the building and extending beyond the other three walls, according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] Described herein are systems and methods for locating wireless sensor nodes using radio frequency communications between the nodes and various RF-enabled devices. Time-of-arrival techniques are combined with techniques that mitigate the effects of multipath problems and overcome sampling limitations to facilitate highly accurate ranging. This highly accurate ranging is then combined with techniques that facilitate accurate triangulation to improve the accuracy of location even in indoor environments.

[0016] In various applications of wireless sensor networks, it may be desirable to locate sensor nodes within the network. For example, in wireless sensor networks, location awareness can add context to the sensing data. In one embodiment, location awareness in a temperature sensing network can allow mapping of temperature variations. Thus, systems and methods that enable location detection of nodes within a wireless network are desirable. Location can be used to facilitate applications such as asset tracking, location context-based marketing and information, indoor navigation, and improved connectivity provisioning and configuration. While GPS provides adequate location services in unobstructed outdoor environments, indoor location services currently remain inadequate.

[0017] RF-enabled location services typically utilize one or more RF-enabled transceivers at known locations (often called "anchors") and a target object whose location is unknown to be located. RF communications are performed between the anchors and the target object, and the location is determined based on these communications. The overall process is typically described in two operations: ranging and triangulation. In ranging, RF communications are performed between the anchors and the object to determine the distance between the anchors and the object. This operation is repeated for multiple anchors to obtain a set of range ranges. These range ranges are then used in a triangulation operation to determine the location of the object in three-dimensional space. Typically, sufficient anchors are used to allow redundancy in the triangulation process to reduce some of the errors.

[0018] However, in an alternative implementation, the angle of arrival may be used rather than the distance calculation, where the triangulation process considers the individual angles between the anchors and the target object to determine the estimated location of the object. In both approaches, the need for RF communication between the anchors and the object, the need for one or more anchors, and the characteristics of the RF communication determine the performance and marginal cost of the location service.

[0019] The accuracy of a location service is usually provided as a numerical measurement of the location determined by the service relative to the actual physical location. Specifically, location services in indoor environments are often prone to outliers, as a small number of location determinations may be significantly in error, despite the fact that many measurements show good accuracy. As a result, while the quoted numerical accuracy may appear sufficient for a given application, in reality the outliers may make the effective confidence in the location unacceptably low.

[0020] Depending on the application, the time to provide a location estimate can also be an important parameter: for example, a real-time indoor navigation service may require a responsiveness of one second or less to enable accurate navigation guidance, whereas an asset tracking or context-based service may be provided with slower location services.

[0021] Range in location services describes the maximum distance over which the location can be located. In RF-based location systems, this also characterizes the maximum separation between the minimum number of anchors that can perform the location service function, and the separation between these anchors and the target object to be located. Of course, the wider the range, the lower the location infrastructure requirements and the lower the deployment costs.

[0022] All location services ultimately require the deployment of an infrastructure that is used to facilitate the location of the objects to be located. In a typical RF-based location service of the type described herein, the service involves the deployment of anchors whose locations are known and the implementation of the necessary RF communication capabilities for both these anchors and the target objects to be located. Thus, there is a cost associated with the implementation of any location service that addresses all of this. This cost depends on the density of the anchors deployed (related to distance range), the need for dedicated infrastructure, the proprietary value of the technology used, etc. U.S. Patent Application No. 15 / 789,603, entitled "SYSTEMS AND METHODS FOR USING RADIO FREQUENCY SIGNALS AND SENSORS TO MONITOR ENVIRONMENTS," discloses the use of moving anchors (e.g., via robots) to reduce the need for multiple separate anchors. This technology may be used herein. U.S. Patent Application No. 15 / 789,603 is incorporated by reference.

[0023] Indoor environments are typically challenging for RF-based location services. Specifically, the ranging or angle measurement process used as the first task in location is generally susceptible to reflections that appear in indoor environments. These reflections result in multiple paths for the RF signal to propagate between the communication radio on the anchor(s) and the object. This so-called multipath problem can lead to misjudgment of the range or angle. For example, if a path that includes reflections is misjudged as the range between the anchor and the object, it will cause an overestimation of the range for the direct path. As a result, triangulation may be erroneous. Indoor location services are highly susceptible to these multipath effects, which will result in outliers and very large errors in some location determinations. Any robust indoor location service needs to properly address these multipath effects to minimize outliers and provide good accuracy.

[0024] In addition to the multipath effect, signal attenuation can also be a serious problem. RF signals are usually more attenuated in indoor environments due to signal absorption by walls, etc. This can directly lead to errors in the measurements on the one hand, or at least reduce the effective range of the method, requiring the use of more anchors. This can have a significant impact on the deployment cost if the anchor cost is high.

[0025] Finally, the overall cost of deployment can be a significant challenge. Given range and multipath concerns in indoor environments, multiple anchors are typically required to provide sufficient indoor coverage with sufficient error correction and given increased attenuation. If these anchors were to require dedicated and expensive hardware to provide location services, this could make the solution unfeasible due to deployment costs alone.

[0026] Exemplary conventional indoor positioning technologies can be subdivided into several main categories based on frequency or protocol selection. These include those based on 2.4GHz ZigBee solutions, those based on 2.4GHz Bluetooth solutions, those based on Wi-Fi (both 2.4GHz and 5GHz) solutions, and those based on >5GHz Ultra-wide band (UWB) solutions. In addition to frequency or protocol based classification, such technologies can also be characterized based on their position measurement method. Position measurement is typically performed using one or more of, for example, signal strength as shown in FIG. 1A, angle of arrival as shown in FIG. 1B, or time of arrival as shown in FIG. 1C.

[0027] Signal strength based methods estimate the distance based on the attenuation of the RF signal, which increases as the separation between the transmitter and receiver increases. A receiving signal strength indication (RSSI) can be quantified to attempt to relate it to the distance between the objects based on assumptions about attenuation. These distances can then be measured to several anchors and triangulated to estimate the location, or can be used in combination with a single or few anchors to indicate general proximity to a particular anchor. However, RSSI is highly variable due to factors such as walls, people in the environment, and so RSSI based methods typically result in poor location accuracy. This is discussed in U.S. Patent Application Serial No. 14 / 988,617, which is incorporated herein by reference. For example, if RSSI is used to estimate the distance between two nodes 510 and 511 in FIG. 2, a person walking in the RF propagation area can dramatically reduce the RSSI value due to absorption and reflection induced by the person. If a distance estimation algorithm assumes that distance varies inversely with signal strength, the algorithm will erroneously conclude that the distance between two nodes is much greater than it actually is.

[0028] In angle of arrival (AOA) based schemes, a direction vector of the angle of the incoming signal is estimated, typically using a multi-antenna system. Using multiple such measurements for each anchor, a location can be estimated as the intersection of the vectors for each anchor. In practice, AOA schemes require a highly sophisticated antenna system and are therefore typically expensive to implement.

[0029] Time of arrival (TOA) methods use the time it takes for a signal to travel from a transmitter to a receiver to estimate the distance between them. Because the speed of this propagation is relatively constant, such methods are much more robust than RSSI-based methods and do not require the antenna elevation of AOA methods. Such TOA methods have been deployed with varying degrees of success in 2.4 GHz, 5 GHz, and UWB implementations. However, such methods are susceptible to multipath effects, which can lead to significant errors in the location calculation if selected as the distance, since the dominant reflected signal is slower than the less powerful direct path, and therefore the TOA. Furthermore, because time is the measurement parameter, such methods are heavily affected by the sampling clock accuracy of the time measurement system and also show a strong dependency on the signal bandwidth, which means that at wider bandwidths, the methods usually show much better multipath resistance, reduced outliers, and improved overall accuracy.

[0030] The location information may be used to estimate relative positions of sensors such as surveillance cameras, motion sensors, temperature sensors, and other such sensors that would be apparent to one skilled in the art. This information may then be used to generate augmented information such as temperature maps, motion paths, and multi-view image capture. Thus, a location system and method is desired that enables accurate, low-power, and context-aware location of nodes in wireless networks, particularly in indoor environments. To this end, indoor environments are also assumed to include environments proximate to indoors, such as areas around buildings and other structures, where similar problems (e.g., nearby walls, etc.) may occur.

[0031] A wireless sensor network is described for use in indoor environments, including homes, apartments, offices, and commercial buildings, as well as nearby outdoor locations such as parking lots, sidewalks, and parks. The wireless sensor network may be used in any type of building, structure, enclosure, vehicle, boat, etc. that has a power source as well. The sensor system provides good battery life for the sensor nodes while maintaining a long communication range.

[0032] The present invention provides a system, device, and method for localization detection in an indoor environment. U.S. Patent Application No. 14 / 830,668, filed August 19, 2015, which is incorporated herein by reference, discloses a technique for RF-based localization. Specifically, the system, device, and method perform localization in a wireless sensor network that primarily uses a tree network structure that communicates with a periodic mesh-based mechanism to estimate path length when localization is required. The wireless sensor network uses high frequencies for localization and low frequencies for communication, thereby providing good indoor communication while simultaneously improving the accuracy of localization.

[0033] Tree-like wireless sensor networks are attractive for many applications due to the reduced power requirements associated with wireless signal reception functions. Exemplary tree-like network architectures are described in U.S. Patent Application No. 14 / 607,045, filed January 29, 2015, U.S. Patent Application No. 14 / 607,047, filed January 29, 2015, U.S. Patent Application No. 14 / 607,048, filed January 29, 2015, and U.S. Patent Application No. 14 / 607,050, filed January 29, 2015, which are incorporated herein by reference in their entireties.

[0034] Another type of wireless network that is commonly used is the mesh network, where communication occurs with one or more neighboring nodes, and then a multi-hop architecture can be used to pass information along the network. This architecture can be used to reduce transmit power requirements, since information is transmitted over shorter distances. However, the power requirements of the receiving radio may increase, since the receiving radio must be turned on more frequently to enable the multi-hop communication scheme.

[0035] Based on using the time of flight of signals between nodes in a wireless network, distances between individual node pairs in the wireless network can be estimated by taking advantage of the fact that signal propagation speeds are relatively constant. Embodiments of the present network architecture can measure multiple path length pairs, perform triangulation, and then estimate the relative positions of individual nodes in three-dimensional space.

[0036] FIG. 3 illustrates an exemplary system of wireless nodes, according to one embodiment. The exemplary system 100 includes wireless nodes 110-116. These nodes are in bidirectional communication with communications 120-130 (e.g., node identification information, sensor data, node status information, synchronization information, location information, other such information for wireless sensor networks, time of flight (TOF) information, etc.). Based on using time of flight measurements, path lengths between individual node pairs can be estimated. For example, individual time of flight measurements between nodes 110 and 111 can be achieved by transmitting a signal from node 110 to node 111 at a known time. Node 111 can receive the signal, record a timestamp of signal reception for communication 120, and then transmit the return signal back to A, for example, along with a timestamp of transmission of the return signal. Node 110 receives the signal and records a timestamp of reception. Based on these two transmission and reception timestamps, an average time of flight between nodes 110 and 111 can be estimated. This process can be repeated multiple times at multiple frequencies to increase accuracy while eliminating or reducing degradation due to poor channel quality at certain frequencies. A series of path lengths can be estimated by repeating this process for various node pairs. For example, in FIG. 3, the path lengths are TOF 150-160. A geometric model can then be used to estimate the relative positions of the individual nodes based on a triangulation-like process.

[0037] In one embodiment, mobile anchor nodes (e.g., via robots) are used to reduce the need for separate anchor nodes. For example, nodes 111 and 112 may be replaced with mobile anchor node 190 having a first location at node 112 and a second location at node 111.

[0038] This triangulation process cannot be performed in a tree network because only the path length between any node and the hub can be measured. This limits the location capabilities of the tree network. To preserve the energy benefits of the tree network while still allowing location, in one embodiment of the present invention, the tree network for communication is combined with a mesh network function for location. Once location is completed using the mesh network function, the network reverts to tree communication and only the flight times between the nodes and the hub are measured periodically. If these flight times remain relatively constant, the network assumes that the nodes are not moving and does not waste energy trying to re-perform the mesh-based location. On the other hand, if a change in the path length in the tree network is detected, the network switches to a mesh-based system and re-triangulates to locate each node in the network.

[0039] FIG. 4 illustrates a system with an asymmetric tree and mesh network architecture with multiple hubs communicating, according to one embodiment. The system 700 includes a central hub 710 with a wireless control device 711, a hub 720 with a wireless control device 721, a hub 782 with a wireless control device 783, and additional hubs including hub n with wireless control device n. The additional hubs not shown may communicate with the central hub 710, other hubs, or may be additional central hubs. Each hub communicates bidirectionally with the other hubs and one or more sensor nodes. The hubs are also designed to communicate bidirectionally with other devices including devices 780 (e.g., client devices, mobile devices, tablet devices, computing devices, smart appliances, smart TVs, etc.).

[0040] Sensor nodes 730, 740, 750, 760, 770, 788, 792, n, and n+1 (or end nodes) each include a wireless device 731, 741, 751, 761, 771, 789, 793, 758, and 753, respectively. A sensor node is an end node if it only has upstream communication with a higher level hub or node and no downstream communication with another hub or node. Each wireless device includes RF circuitry with a transmitter and receiver (or transceiver) that allows bidirectional communication with a hub or other sensor node.

[0041] In one embodiment, central hub 710 communicates with hubs 720, 782, hub n, device 780, and nodes 760 and 770. These communications include communications 722, 724, 774, 772, 764, 762, 781, 784, 786, 714, and 712 within the wireless asymmetric network architecture. The central hub with wireless control device 711 is configured to send communications to and receive communications from the other hubs to control and monitor the wireless asymmetric network architecture, including assigning groups of nodes and guaranteed time signals to each group.

[0042] Hub 720 also communicates with central hub 710 and sensor nodes 730, 740, and 750. Communications with these sensor nodes include communications 732, 734, 742, 744, 752, and 754. For example, from the perspective of hub 720, it receives communication 732 and sends communication 734 to the sensor nodes. From the perspective of sensor node 730, it sends communication 732 to hub 720 and receives communication 734 from the hub 720.

[0043] In one embodiment, a central hub (or other hub) assigns nodes 760 and 770 to group 716, nodes 730, 740, and 750 to group 715, nodes 788 and 792 to group 717, and nodes n and n+1 to group n. In another embodiment, groups 716 and 715 are combined into one group.

[0044] 3-4, nodes requiring long battery life minimize the energy spent on communication, while higher level nodes in the tree hierarchy may be implemented using available energy sources or may use batteries offering higher capacity or with shorter battery life. To promote longer battery life in battery operated end nodes, communication between those nodes and their higher level counterparts (hereafter referred to as lowest level hubs) may be established such that minimal transmit and receive traffic occurs between the lowest level hubs and the end nodes.

[0045] In one embodiment, these nodes spend most of their time (e.g., more than 90% of the time, more than 95% of the time, or approximately 98% or 99% of the time) in a low-energy, non-communicating state. When nodes wake up and enter a communicating state, they become operative to transmit data to the lowest level hub. This data may include node identification information, sensor data, node status information, synchronization information, location information, and other such information for wireless sensor networks.

[0046] Ranging measurements are performed to determine the distance between two objects based on RF (i.e., RF communication is used to estimate the distance between a pair of objects). To achieve this, an RF signal is transmitted from one device to another. FIG. 5 illustrates a time-of-flight measurement system according to one embodiment. As shown in FIG. 5, a transmitting device 310 transmits an RF signal 312, and a receiving device 320 receives the RF signal 312. Here, in an exemplary wireless network, the device 310 may be a hub or a node, and the device 320 may also be a hub or a node.

[0047] FIG. 6 shows a block diagram of a time-of-flight measurement system according to one embodiment. A receiving device (e.g., device 320) receives a transmission from a transmitting device (e.g., device 310) and processes the RF signal 412 to generate at least one coarse estimate 442 using a coarse resolution estimator 440 and at least one fine estimate 452 of the propagation delay between the two devices over the air using a fine resolution estimator 450. These estimators may be implemented in software or hardware. The system 400 then combines the coarse time estimate 442 and the fine time estimate 452 using a combiner 460 to generate an accurate time-of-flight measurement 470. Again, this combination may be performed in software or hardware. This time-of-flight measurement 470 may then be multiplied by the propagation speed to calculate the distance, as shown in FIG. 6. In one embodiment, this measurement only works if the receiving device and the transmitting device are synchronized.

[0048] Time-of-arrival systems require measuring the time it takes for a signal to travel from a transmitter to a receiver. This measured time can then be converted into a distance estimate by multiplying it by the propagation speed. To estimate the transmission time of a signal from a transmitter to a receiver, the "starting pistol" clock and the "finishing line" clock usually need to be synchronized so that the actual transmission time can be estimated. Any errors in the synchronization will result in errors in the time and distance estimates. In a realistic indoor location system, this is not feasible since the location estimate only works on captive members of the network, which are carefully time-limited.

[0049] In one embodiment of the present invention, round-trip signals are used with appropriate time stamps, as disclosed in U.S. Pat. No. 9,763,054 and U.S. Patent Application Serial No. 15 / 173,531, which are incorporated herein by reference. Specifically, signal 612 may be time-stamped by device 610 (the transmitter) at "start time" T1 in FIG. 7, received by device 620 (e.g., receiver) at time T2 in FIG. 7, and then turned around and sent back to device 610 (the original transmitter) as signal 622 at "turn-around time" T3 in FIG. 7. The original transmitter now receives the return signal 622 and stamps it with "end time" T4 in FIG. 7. Because these signals 612 and 622 have made a round trip, the actual transmission time in one direction that can be used for distance estimation is therefore only half the total time (i.e., end time minus start time) minus the turn-around time. In one embodiment, the actual transmission time in one direction is equal to 0.5*(T4-T3+T2-T1).

[0050] To improve accuracy, the internal delays of the transmitter and receiver signal paths that cause an offset between the stamped time and the actual transmission and reception time may be measured, estimated, or calculated and may also be used as a correction factor for the measured time of flight. In one embodiment, this internal delay may be measured using loopback measurements performed on one or more RF-enabled devices. In another embodiment, this internal delay may be measured using calibration measurements between pairs of RF-enabled devices, for example during manufacturing or testing. The measurements may then be compiled and stored to make corrections. The correction factors may be stored locally on the RF-enabled devices or in some external device.

[0051] The accuracy of the time and distance determination is limited by the time resolution of the sampling clock. Thus, the accuracy of the distance estimation can be improved by increasing the sampling clock frequency. However, such a change requires hardware modifications that may increase the overall implementation cost, and may also increase power consumption, etc. Therefore, it is desirable to obtain a finer time resolution than that obtained by clock sampling purely in the time domain. Various ways of achieving this are described in U.S. patent application Ser. No. 15 / 173,531.

[0052] In one embodiment, frequency domain techniques can be used to build a model of the received signal and use this model to extract the delay with a finer resolution than that provided by the sampling clock. This delay extraction can be performed provided that adequate channel state information (CSI) is available, which is possible, for example, in Wi-Fi, LTE, or 5G, because this CSI is collected periodically as part of the overall OFDM or SC-FDMA implementation.

[0053] One of the biggest challenges in implementing indoor location services is related to handling multipath. In a typical indoor environment, the direct line-of-sight path is not the only path along which information is transmitted from the transmitter to the receiver. For example, in FIG. 8A, note that multiple reflections from walls 882, 884, ceiling 880, and furniture 830, 832 of the indoor environment 890 can affect the signals transmitted from the access point to various Wi-Fi-enabled devices.

[0054] The receiver will potentially use the delayed path (associated with one or more reflections) as the start of reception indication. This can occur, for example, if the delayed path amplitude is significantly stronger than the line-of-sight path, resulting in a later arrival time and an erroneous range estimate. Similarly, adding the direct signal to the reflected signal can cause a shift (i.e., delay) in the net signal amplitude that exceeds the receive detection threshold, again resulting in an erroneous TOA. FIG. 8B illustrates the addition of a direct signal to a reflected signal according to one embodiment. Signal diagram 800 plots amplitude 810 on the vertical axis and time 820 on the horizontal axis. Direct pulse signal 802 and reflected pulse signal 804 are combined to form sum signal 806, which has an effective phase shift 855 (i.e., delay) at threshold 860, as seen in exploded view 852 of time window 850.

[0055] Techniques to address this issue are also described in U.S. Patent Application Serial No. 15 / 173,531. In one embodiment, the CSI data is used to build a model of the transmission channel that allows for multiple paths, each with associated amplitude and delay. By fitting the CSI data to the model, the shortest valid path is identified, resulting in a dramatic reduction in multipath induced errors and outliers.

[0056] In a typical indoor environment, there are often situations where no line-of-sight paths exist, and in such cases, even if CSI data is used as described above, erroneous distance estimates will be obtained. As a result, significant outliers may occur. This situation can be solved by using triangulation, where multiple redundant anchors are used. In this case, even if some of the distance measurements are erroneous, this error can be minimized or eliminated by techniques such as least squares applied during triangulation. Techniques and methods for selecting and eliminating anchors are disclosed in U.S. Patent Application No. 15 / 684,891, which is incorporated herein by reference.

[0057] In one embodiment, the key to obtaining an accurate TOA is accurate timing measurement, which in one embodiment is performed using a CSI-based frequency domain technique with some refinements to achieve accuracy in realistic multipath environments.

[0058] 9A-9B illustrate a method for locating a wireless device using precise timing measurements of TOAs in a wireless sensor network, according to one embodiment. The operations of the method may be performed by a wireless device, a wireless control device of a hub (e.g., an apparatus), a system, or a remote device, computer, or cloud service that includes processing circuitry or logic. The processing logic may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine or device), or a combination of both. In one embodiment, an anchor node, a hub, a wireless device, or a remote device, computer, or cloud service performs the operations of the method. Algorithms associated with the various calculations may be executed on a remote computer to which relevant data associated with timing and distance measurements are transmitted. The remote device or computer may be in a different location (e.g., a different network in a cloud) than a wireless network architecture having multiple wireless nodes. The remote device or computer may be in a different location in the wireless network architecture than a particular node that transmits and receives communications in the architecture.

[0059] At initialization of the wireless network architecture, in operation 901, processing logic calibrates at least one component having a delay (e.g., an automatic gain control (AGC) stage of the RF circuitry, a filter stage of the RF circuitry, etc.). The calibration of the at least one component may include measuring a delay of the at least one component (e.g., the AGC stage as a function of gain, the filter stage), determining whether there is a deviation between the measured delay and a baseline delay of the at least one component identified by the calibration, and correcting the timing of the determined time-of-flight estimate if there is a deviation. The calibration is typically performed during initialization of the wireless network architecture. Alternatively, the calibration may be performed after performing method 900. In yet another alternative embodiment, the calibration may be performed beforehand during manufacturing or testing.

[0060] At operation 902, a hub (or anchor node, wireless device, remote device, or computer) having radio frequency (RF) circuitry and at least one antenna transmits a communication to a plurality of sensor nodes in a wireless network architecture (e.g., a wireless asymmetric network architecture). At operation 903, the RF circuitry and at least one antenna of the hub (or anchor node, wireless device, remote device, or computer) receives a communication from a plurality of sensor nodes in the wireless network architecture, each having a wireless device with a transmitter and a receiver that allows bidirectional communication with the RF circuitry of the hub. At operation 905, processing logic of the hub (or anchor node, wireless device, remote device, or computer) having a wireless control device first configures a wireless network of sensor nodes as a mesh-based network architecture for a period of time (e.g., a predetermined period of time, a period of time sufficient to perform location determination, etc.) to locate at least one wireless device (wireless node).

[0061] In operation 906, the wireless devices obtain CSI data from RF signals (e.g., signals 612 and 622) transmitted and received between the wireless devices. The transmission and arrival times of the signals are typically recorded. Automatic gain control (AGC) delays are removed to correct the coarse estimates of the time of flight of a first packet transmitted on a first RF signal from a first wireless device to a second wireless device and a second packet transmitted on a second RF signal from the second wireless device to the first wireless device. This operation is performed for both the forward and reverse directions. Filter delays are similarly removed based on the RC calibration.

[0062] In one embodiment, a first wireless device transmits a first RF signal to a second wireless device, and the second wireless device measures first channel state information comprising a channel frequency response measurement of the first RF signal, and the first wireless device measures second channel state information comprising a channel frequency response measurement of a second RF signal transmitted from the second wireless device to the first wireless device.

[0063] In operation 908, the edges of the frequency spectrum, i.e., the most significant and least significant subcarriers of the RF signal, may be removed or deleted. These most significant and least significant subcarriers in the RF signal typically either do not carry any data or exhibit significant signal degradation due to filter roll-off that would cause errors in the method. It is common in real communications to have steep filter roll-offs due to interference, etc., resulting in subcarriers that have no data or reliable CSI measurements.

[0064] At operation 910, an interpolation is performed on the direct current (DC) component and nearby subcarriers of the RF signal that do not have CSI measurements. In the physical layer of OFDM and OFDMA, the DC subcarrier has a frequency equal to the RF center frequency of the transmitting wireless device. Methods and techniques for handling non-contiguous channels are disclosed in U.S. Patent Application Serial No. 15 / 684,895, which is incorporated herein by reference.

[0065] In operation 911, a wireless device (e.g., an anchor node, a hub, a wireless node, or a remote device or computer) measures a delay due to a phase offset or phase drift between wireless devices (e.g., a first and a second wireless device, a first and a second node) by dividing a forward CSI (e.g., a first CSI) by a reverse CSI (e.g., a second CSI). In one embodiment, a linear fit of the forward CSI divided by the reverse CSI results in a phase difference between a first reference clock signal of the first wireless device and a second reference clock signal of the second wireless device. This phase difference may be twice the clock-induced delay.

[0066] At operation 912, the wireless device measures the sample-level RTT delay. In one embodiment, this RTT delay is calculated as T4-T1-(T3-T2), where T1 is the transmission time of the forward packet of the first RF signal from the first wireless device and T2 is the arrival time at the second wireless device. T3 is the transmission time of the acknowledgement packet of the second RF signal from the second wireless device and T4 is the arrival time at the first wireless device. This can be considered the "coarse" timing of the round-trip communication.

[0067] At operation 914, pre-measured internal delays, including, for example, AGC delays and low-noise amplifier (LNA) delays, are obtained or looked up, and corrections for phase drift, AGC gain, and RTT are summed together. At operation 916, these corrections are applied to the CSI data as linear phase shifts.

[0068] The above operations may be performed for multiple packets, in which case, in operation 918, an average value of the corrected CSI over all packets may be calculated.

[0069] Also, during hardware calibration in operation 901, the hardware delay and filter response may have been collected in advance using various methods. In this case, in operation 920, the corrected CSI may be divided by the calibration CSI to remove the hardware delay and filter response.

[0070] In one embodiment, the calibration CSI is based on point-to-point short-distance transmit and receive measurements using pairs of nodes and cables connecting the pairs of nodes together, thus measuring the internal delays of the hardware components of each node using the cables.

[0071] In another embodiment, loopback testing is performed during initialization of the wireless sensor network in an indoor environment or for individual nodes in a manufacturing environment. Each node has the ability to loopback from the transmit path to the receive path of the same node to correct for the node's internal delay and frequency and amplitude issues of the filter response. In this way, the calibration performs loopback by transmitting and receiving the RF signal of each node. This loopback is described in more detail in conjunction with the description of FIG. 12.

[0072] At operation 922, an algorithm (eg, matrix pencil, MUSIC, optimization technique) is then used to extract the delays and complex amplitudes of the paths that are combined to generate the averaged CSI.

[0073] In operation 924, the amplitude, distance, RSSI, and other relevant data of the paths may be used as filter criteria to filter out non-physical paths. The remaining shortest paths are assumed to be line-of-sight paths. Note that information about other paths may also be shared with the triangulation algorithm to improve overall accuracy.

[0074] At operation 926, a set of distance ranges between the target object to be located and various anchor nodes whose locations are known is determined. At operation 928, the location of the target object is calculated using a triangulation algorithm. A subset of anchor nodes may be selected for localization using triangulation if an error criterion associated with each distance estimate between an anchor node whose location is known and a wireless sensor node whose location is unknown is less than or equal to an error threshold. At least one anchor node is excluded for localization if the error criterion is greater than or equal to an error threshold.

[0075] In one embodiment, in operation 926, a ranging algorithm is performed on the 'A' selected anchors, each with a pre-specified location, to generate a number 'A' of ranging results 'r'.

[0076] In one embodiment, in operation 928, a triangulation algorithm is iterated over multiple estimated positions (X,y) of the target object, a set of estimated ranges between each anchor node and the wireless node corresponding to the multiple estimated positions of the target object is evaluated, and low likelihood paths are eliminated to reduce triangulation iterations and minimize overall error. In another embodiment, the position solution can be obtained directly without iterations using a linearized least squares method or other similar method, which is usually less accurate due to linearization but is faster compared to iterations. In operation 930, a final position of the target object with reduced iterations and minimized error is then identified. In operation 932, the processing logic of the hub (or anchor node, wireless device, remote device, or computer) configures the wireless network in a tree-based or tree-like network architecture (or a tree architecture without a mesh-based mechanism) once the position determination is completed.

[0077] In one embodiment, the hub and sensor nodes have similar RF components that can be switched between mesh and tree architectures.

[0078] In another embodiment, the hub and sensor nodes each have multiple radios capable of operating mesh and tree architectures simultaneously, where the tree network is always or normally available and the mesh network can be enabled or disabled.

[0079] In a typical triangulation-based location scheme, the target location is estimated based on minimizing the mean squared error in distance estimation from available reference nodes. However, this minimization problem does not consider the probability distribution of measurement errors, which may limit the accuracy of the triangulation. Measurement errors in different signal mechanisms may have different probability distributions. In addition, the variance of measurement errors may be large in a complex signal propagation environment as described above. As a result, minimizing the mean squared error in distance measurements may not result in an optimal target location estimate without considering the error probability model. Therefore, in one embodiment, a method of maximum likelihood estimation (MLE) is used to improve the accuracy of the triangulation, as shown in FIG. 10. Other estimation laws may be used as well. The operations of the method may be performed by a wireless device, a wireless control device of a hub (e.g., an apparatus), a system, or a remote device or computer that includes processing circuitry or processing logic. The processing logic may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine or device), or a combination of both. In one embodiment, an anchor node, a hub, a wireless device, or a remote device or computer performs the operations of the method. Algorithms associated with the various calculations may be executed on a remote computer to which relevant data associated with timing and distance measurements are transmitted. The remote device or computer may be in a different location (e.g., a different network in the cloud) from the wireless network architecture having multiple wireless nodes. The remote device or computer may be in a different location within the wireless network architecture from a particular node that transmits and receives communications within the architecture.

[0080] The method uses multiple wireless anchor nodes, each with a known location, to transmit communications to the wireless nodes. The anchor nodes receive communications from the wireless nodes. At operation 1004, the method determines a set of estimated distance ranges between each anchor node and the wireless nodes with unknown locations. At operation 1006, the method sums weighted range distributions when multiple distance range values ​​occur for each anchor node.

[0081] In one embodiment, unknown parameters in a statistical model are estimated by maximizing the joint probability of having a set of independent and identically distributed observations according to the following operations:

[0082] If ri is a distance measurement from anchor I and theta is a location hypothesis, then the conditional probability of seeing distance measurement ri from anchor i given location hypothesis theta is given by the probability distribution p(ri|theta). Given the range distributions from each anchor, the likelihood of the distance range and location hypothesis may be calculated in operation 1008 as the product of all of these from the individual distance measurements.

number

[0083] The triangulation is optimized by maximizing this likelihood. In one embodiment, products of the above form may be converted to sums by using logarithms in operation 1010. In operation 1012, the method performs a triangulation algorithm using maximum likelihood estimation (MLE) by selecting the hypothesis with the highest probability (e.g., the location hypothesis for a wireless node whose location is unknown).

[0084] One embodiment of the logarithm in operation 1010 follows.

number

[0085] In one embodiment, this equation may be nullified and the problem defined as a minimization problem rather than a maximization problem.

number

[0086] This formula is p(r i Considering the parameterized form of |theta), has the advantage of being numerically stable and computable. If a single distance range value is passed from the ranging algorithm to each anchor and the ranging error is normally distributed, the maximum likelihood estimate may be measured as follows:

number

[0087] where r and theta are as defined above, and σ i is the uncertainty of the distance measurement from the target node to anchor i, as determined by the ranging measurement, and d(a i , theta) are anchors i, a i is the distance from to the current position hypothesis. When the uncertainties from all anchors are the same, the MLE method gives the following equation:

number

[0088] This formula is the same as the formula for a classic least squares triangulation method, but when some anchors are more reliable than others, which is often the case in realistic environments, the MLE method gives the following formula:

number

[0089] This formula has the advantage of reducing the importance of measurements with high uncertainty (i.e., high values ​​of σ) to the overall triangulation estimate. This formula is useful over the standard least squares formula because very uncertain ranging measurements are effectively weighted less in determining the final position by triangulation than certain measurements that are weighted more heavily. As mentioned above, the ranging algorithm allows for multiple distance ranges per anchor. In one embodiment, this may be modeled as a multivariate Gaussian (GM) distribution with two components.

number

[0090] Here, p ij is the probability of that distance range hypothesis, i.e., the degree to which each distance range estimate from anchor i and route j is trusted relative to the other. In this embodiment, d(a i , theta) can be the straight line distance from anchor i to the current position hypothesis theta, but one of them can also be the distance through known reflectors such as the ground, floor, walls, ceiling, etc. Note that in this embodiment, since we provide two values, their sum still equals 1. In one embodiment, r ij is the relevant distance range, and if there are two distance ranges per anchor, this is r i0 and r i1 and similarly for sigma. In this case, the MLE method gives the equation

number

[0091] In these exemplary embodiments, two ranging paths and normally distributed ranging errors were used. In practice, there can be any number of paths and the distribution of errors can be of any type. To obtain the most accurate position estimate, the actual statistics of the path probabilities and the distribution of ranging errors can be used. Then, N iThe most likely locations of K anchors with paths in distance ranges are

number

[0092] where k, n and σ are parameters describing the path and error statistics. In practical implementations, a numerically more efficient but otherwise identical form

number

[0093] is used here as well.

[0094] A solution to any of these problems may be determined using an iterative method in operation 1012, as will be apparent to one of ordinary skill in the art. This may be a brute force approach involving iterating through the entire search space, or may involve using techniques such as Kalman filtering, optimization techniques, or similar techniques known to those of ordinary skill in the art to increase the efficiency of the iterations.

[0095] The range of values ​​over which iterations may be performed may be determined in various ways. In a first embodiment as shown in FIG. 19, a full search of estimates over a predefined search space may be performed. FIG. 19 illustrates an exemplary building 1900 (e.g., residential, industrial environment) with nodes distributed in various rooms and a centrally located hub, according to one embodiment. In one embodiment, the locations of the nodes are known by predefined user input or by automatic location determination by the nodes themselves. Location determination systems and methods are disclosed in U.S. Patent Application No. 14 / 830,668, which is incorporated by reference. In this embodiment, the nodes 1921-1928 may communicate with the hub 1920 and with each other in various rooms including rooms 1921-1923 (e.g., bedrooms, work rooms, storerooms, etc.), area 1913, common area 1914, and room 1915 (e.g., living room, open space).

[0096] The search space boundary may be set, for example, by the maximum transmission range of the system or some multiple or fraction thereof. For example, Wi-Fi systems often have a maximum indoor range of tens of meters. This may then be used to define a maximum search space boundary 1950 of tens to hundreds of meters depending on the range, number of nodes in the network, etc.

[0097] In another embodiment shown in Figure 20, the boundaries of the search space 2050 may be defined by the physical dimensions of the environment in which the location system is deployed. For example, any values ​​outside the walls of the property may be assumed to be unmeasurable results and therefore may be excluded from the search space. In this embodiment, the nodes 2021-2028 may communicate with the hub 2020 and with each other within various rooms including rooms 2021-2023 (e.g., bedrooms, work rooms, storerooms, etc.), area 2013, common area 2014, and room 2015 (e.g., living room, open space).

[0098] In another embodiment shown in FIG. 21, the boundaries of the search space may be defined by the locations of a particular set of anchor nodes with which the wireless node communicates during a location operation. The search space 2150 may be extended by the transmission range of the anchor nodes used, or may be set using a combination of the anchor transmission range and known physical boundaries in the space. The building includes walls 2101-2104. In one embodiment, the user attempts to identify node 2122, which can only range to 2121, 2123, 2120, 2124, and 2127. In this case, the search space 2150 may extend beyond the vicinity of 2124 and 2127 on the right side of the exemplary floor plan (but not to nodes 2128 and 2126). If the system includes many anchor nodes, but a node is not within range of all of the anchor nodes, the search space may be limited to a subset of the anchor nodes and the area near these anchors to which the node with the unknown location can range.

[0099] In this embodiment, nodes 2121-2128 may communicate with hub 2120 and with each other within various rooms, including rooms 2121-2123 (e.g., bedrooms, work rooms, storerooms, etc.), area 2113, common area 2114, and room 2115 (e.g., living room, open space).

[0100] As is evident from the above embodiments, timing measurements are important for establishing distance estimation. Timing errors can degrade the accuracy of distance estimation. These timing errors are likely to occur in wireless systems. For example, automatic gain control (AGC) is commonly used to ensure robust receiver operation for signals of various signal strengths. During operation, the AGC stage may have delays that vary based on its gain. These delay variations may therefore increase the uncertainty of the TOF estimation. In one embodiment, this error may be minimized by calibration. The delay as a function of the gain of the AGC stage may be pre-measured and used to correct the timing during the actual TOF measurement by subtracting such deviations from the baseline delay. FIG. 11 illustrates an RF circuit with automatic gain control according to one embodiment. The RF circuit 1100 (e.g., 1550, 1670, 1692, 1770, 1870, etc.) may be included in any wireless node (e.g., hub, sensor node) as described in the embodiments of the present disclosure. The RF circuit 1100 includes a low noise amplifier 1110 that receives an RF signal and generates an amplified signal that is sent to an in-phase quadrature (I / Q) downconversion unit 1120 to downconvert the RF signal to a desired intermediate frequency. A variable gain amplifier 1130 amplifies the intermediate frequency signal, and then an analog-to-digital converter (ADC) converts the amplified signal to a baseband signal. The AGC 1150 is a closed-loop feedback regulation circuit that provides a controlled signal amplitude at its output 1152 despite amplitude variations at its input 1142. As mentioned above, the delay as a function of the gain of the AGC stage (e.g., AGC 1150) may be pre-measured and used to correct the timing during the actual TOF measurement by subtracting such deviations from the baseline delay. Similarly, other system configurations such as calibrated filter delays may be pre-measured and subtracted as well.

[0101] FIG. 12 illustrates a method for removing hardware delays and non-ideal characteristics using loopback calibration, according to one embodiment. The operations of the method may be performed by a wireless device, a wireless control device of a hub (e.g., an apparatus), a system, or a remote device or computer that includes processing circuitry or logic. The processing logic may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine or device), or a combination of both. In one embodiment, an anchor node, a hub, a wireless device, or a remote device or computer performs the operations of the method. Algorithms associated with the various calculations may be executed on a remote computer to which relevant data associated with distance measurements are transmitted. The remote device or computer may be in a different location (e.g., a different network in a cloud) than a wireless network architecture having multiple wireless nodes. The remote device or computer may be in a different location in the wireless network architecture than a particular node that transmits and receives communications in the architecture.

[0102] During the manufacturing process of the components of the wireless network architecture or upon initialization of the wireless network architecture, in operation 980, the processing logic calibrates at least one component in the RF circuitry (e.g., transmit chain, receive chain, etc.) of the wireless device or sensor node with delay. Calibrating the at least one component may include generating a first loopback calibration signal in operation 981 and then passing the signal through the RF transmit chain of the first node (e.g., wireless device or sensor node). The first loopback calibration signal does not necessarily have to be transmitted over the air. The transmit chain is connected to the receive chain of the wireless device or sensor node explicitly or through an on-chip leak. This connection may be made at any point in the RF chain. In one embodiment, the RF transmit chain and receive chain are configured to be active at the same time. The block of the RF transmit chain through which the first loopback calibration signal passes before looping back the RF receive chain may be characterized and calibrated for subsequent measurements. At operation 982, processing logic measures at least one of a time delay or channel state information for passing the first calibration signal through the transmit chain and the receive chain. The processing logic measures only a time delay, only channel state information, or both a time delay and channel state information. In one embodiment, a first transmission time delay T tx1 and a first receive time delay T for passing the first loopback calibration signal through a receive chain of a first node (e.g., a wireless device, a sensor node). rx1In one embodiment, the first transmit channel condition information and the first receive channel condition information are measured for passing a first loopback calibration signal through a transmit chain and a receive chain of the first wireless node to measure a hardware delay of the first wireless node. It may not be possible to measure the transmit time delay and the receive time delay separately. Therefore, in some cases, only the sum may be measured. In another embodiment, the first transmit channel condition information and the first receive channel condition information are measured for passing a first loopback calibration signal through a transmit chain and a receive chain of the first wireless node to measure a hardware delay of the first wireless node.

[0103] At operation 984, processing logic generates a second loopback calibration signal, passes the second signal through the transmit and receive chains of the second node, and then measures at least one of a time delay or channel state information for passing the second calibration signal through the transmit and receive chains. In one embodiment, a second transmission time delay T tx2 and a second receive time delay T for passing the second loopback calibration signal through a receive chain of a second node (e.g., a wireless device, a sensor node). rx2 In another embodiment, a second transmit channel condition information and a second receive channel condition information are measured together for passing a second loopback calibration signal through a transmit chain and a receive chain of a second wireless node to measure a hardware delay of the second wireless node.

[0104] At operation 986, processing logic may calculate a time delay for the first loopback calibration signal based on the first transmit time delay and the first receive time delay (e.g., for the first node, T lb1 =T tx1 +T rx1 ), and a time delay for the second calibration signal is calculated based on the second transmit time delay and the second receive time delay (e.g., for the second node, T lb2 =T tx2 +T rx2Then, in operation 988, the measured RTTs of the communications sent between the first node and the second node are calculated based on these Ts. lb1 and T lb2 (e.g., RTT ota =RTT meas -T lb1 -T lb2 (It becomes.)

[0105] At operation 989, processing logic receives a first transmit channel condition information H tx1 and the first reception channel state information H rx1 Based on the loopback channel state information H of the first loopback calibration signal lb1 and calculates the second transmission channel state information H tx2 and second reception channel state information H rx2 The loopback channel state information H of the second calibration signal is calculated based on lb2 , and then channel state information (CSI) of any wireless data packets received from the first wireless node and the second wireless node and loopback channel state information (H lb1 *H lb2 In one embodiment, the over-the-air multipath delay profile correction is calculated based on a product of channel state information (CSI) of any wireless data packets received from the first wireless node and the second wireless node, and loopback channel state information (H) from loopback measurements of the first wireless device and the second wireless device. lb1 *H lb2 ) divided by the product of

[0106] At operation 990, processing logic calibrates the frequency response of the hardware (e.g., transmit chain, receive chain) of the first node and the second node. In one embodiment, this loopback calibration is performed by using H lb1 =Htx1 *H rx1 and for the second node H lb2 =H tx2 *H rx2 In the one-way case, loopback calibration from the receiver only, loopback calibration from the sender only, or some combination of the two (average, etc.) may be used. For example, H ota (f)=H meas (f) / H lb2 When loopback is applied to a standard one-way correction measurement, it is implicitly assumed that the nodes have equal transmit and receive delays and filter profiles. Full loopback correction requires a slightly different algorithm where the channel is derived from a combination of the two measured CSIs. This correction requires multiplying the CSIs and taking the square root so that the correct phase is maintained. Full loopback calibration requires H ota 2 (f)=H meas1 (f)*H meas2 (f) / (H lb1 *H lb2 ) can be determined.

[0107] This loopback may be performed as part of manufacturing or factory testing, with the results stored in memory. Alternatively, this loopback may be performed periodically during normal operation, allowing hardware delays and non-ideal characteristics changes over time, temperature, etc. to be automatically calibrated and compensated for. The manufacturing or factory test methodology requires that temperature variations be characterized. An on-chip or on-board temperature sensor may be used to adjust the calibration corrections in response to the characterized temperature profile.

[0108] In one embodiment, the baseband hardware allows full-duplex communication, where a signal can be transmitted and then immediately received after passing through the transmit and receive chains. The CSI, transmit, and receive timestamps are combined to generate a calibration profile for the hardware. The delay can be directly extracted and removed, or the frequency response of the hardware itself can be removed from subsequent measurements.

[0109] In another embodiment, the baseband is not full duplex. In this case, the transmit packets can be generated separately from the baseband. The raw data of the packets can be stored in memory and read directly to a digital-to-analog converter (DAC). This data passes through the transmit (TX) and receive (RX) RF chains as described above. The baseband can be set to receive mode and capture the CSI and timestamp of the received packets. The CSI, transmit, and receive timestamps can be used in the same way as described above. The transmit timestamp needs to be captured at the time the memory read to the DAC is triggered.

[0110] The implementation of radio frequency communications between the end nodes and the hub may be implemented in a variety of ways, including narrowband, channel overlapping, channel stepping, multi-channel wideband, and ultra-wideband communications.

[0111] Communications (e.g., ranging, location, etc.) between the hubs, nodes, and wireless devices described herein may be achieved using a variety of means, including, but not limited to, direct wireless communication using radio frequencies; power line communication achieved by modulating a signal onto electrical wiring in a home, apartment, commercial building, etc.; WiFi communication using standard WiFi communication protocols such as 802.11a, 802.11b, 802.11n, 802.11ac, and other such WiFi communication protocols apparent to one of ordinary skill in the art; cellular communication such as GPRS, EDGE, 3G, HSPDA, LTE, 5G, and other cellular communication protocols apparent to one of ordinary skill in the art; Bluetooth communication, communication using well-known wireless sensor network protocols such as Zigbee, and other wire-based or wireless communication methods apparent to one of ordinary skill in the art.

[0112] In an embodiment, any of the RF circuits described herein may include at least one of LAN RF circuits, WAN RF circuits, and / or cellular RF circuits. Any of the wireless network architectures described herein may include wireless local area networks (LANs), wireless wide area networks (WANs), and / or wireless cellular networks.

[0113] A hub may be physically implemented in a variety of ways according to embodiments of the present invention. Figure 13A illustrates an exemplary embodiment of a hub implemented as an overlay 1500 for a power outlet, according to one embodiment. The overlay 1500 (e.g., a faceplate) includes a hub 1510 and connections 1512 (e.g., communication links, signal lines, electrical connections, etc.) that couple the hub to a power outlet 1502. Alternatively (or additionally), the hub is coupled to an outlet 1504. The overlay 1500 covers or encloses the power outlets 1502 and 1504 for safety and / or aesthetic purposes.

[0114] 13B illustrates an exemplary embodiment of an exploded view of a block diagram of a hub 1520 implemented as an overlay for a power outlet, according to one embodiment. The hub 1520 includes a power rectifier 1530 that converts alternating current (AC), which flows in a cyclically reverse direction, into direct current (DC), which flows in only one direction. The power rectifier 1530 receives AC from the outlet 1502 via connection 1512 (e.g., a communication link, signal line, electrical connection, etc.) and converts the AC to DC to power the controller circuitry 1540 via connection 1532 (e.g., a communication link, signal line, electrical connection, etc.) and to power the RF circuitry 1550 via connection 1534 (e.g., a communication link, signal line, electrical connection, etc.). The controller circuit 1540 includes a memory 1542 or is coupled to a memory that stores instructions executed by the processing logic 1544 (e.g., one or more processing units) of the controller circuit 1540 to control the operation of the hub to form, monitor, and perform wireless asymmetric network location as described herein. The RF circuit 1550 may include a transceiver or separate transmitter 1554 and receiver 1556 functionality for sending and receiving bidirectional communications with wireless sensor nodes via antenna(s) 1552. The RF circuit 1550 communicates bidirectionally with the controller circuit 1540 via a connection 1534 (e.g., a communication link, signal line, electrical connection, etc.). The hub 1520 may be a wireless control device 1520, or the controller circuit 1540, RF circuit 1550, and antenna(s) 1552 may combine to form a wireless control device as described herein.

[0115] 14A illustrates an exemplary embodiment of a hub implemented as a card for deployment within a computer system, appliance, or communications hub, according to one embodiment. Card 1662 can be inserted into system 1660 (e.g., a computer system, appliance, or communications hub), as indicated by arrow 1663.

[0116] 14B illustrates an exemplary embodiment of a block diagram of a hub 1664 implemented as a card for deployment within a computer system, appliance, or communications hub, according to one embodiment. The hub 1664 includes a power supply 1666 that provides power (e.g., DC power) to a controller circuit 1668 via connection 1674 (e.g., a communications link, signal line, electrical connection, etc.) and provides power to the RF circuit 1670 via connection 1676 (e.g., a communications link, signal line, electrical connection, etc.). The controller circuit 1668 includes a memory 1661 or is coupled to a memory that stores instructions executed by processing logic 1663 (e.g., one or more processing units) of the controller circuit 1668 to control operation of the hub to form, monitor, and perform wireless asymmetric network location as described herein. The RF circuitry 1670 may include a transceiver or separate transmitter 1675 and receiver 1677 functionality for transmitting and receiving bidirectional communications with the wireless sensor nodes via antenna(s) 1678. The RF circuitry 1670 communicates bidirectionally with a controller circuitry 1668 via a connection 1672 (e.g., a communication link, a signal line, an electrical connection, etc.). The hub 1664 may be a wireless control device 1664, or the controller circuitry 1668, RF circuitry 1670, and antenna(s) 1678 may combine to form a wireless control device as described herein.

[0117] 14C illustrates an example embodiment of a hub implemented within an appliance (e.g., a smart washer, a smart refrigerator, a smart thermostat, other smart home appliances, etc.) according to one embodiment. The appliance 1680 (e.g., a smart washer) includes a hub 1682.

[0118] 14D illustrates an exemplary embodiment of an exploded view of a block diagram of a hub 1684 implemented within an appliance (e.g., a smart washer, a smart refrigerator, a smart thermostat, other smart home appliances, etc.), according to one embodiment. The hub includes a power supply 1686 that provides power (e.g., DC power) to a controller circuit 1690 via a connection 1696 (e.g., a communication link, signal line, electrical connection, etc.) and provides power to an RF circuit 1692 via a connection 1698 (e.g., a communication link, signal line, electrical connection, etc.). The controller circuit 1690 includes a memory 1691 or is coupled to a memory that stores instructions executed by a processing logic 1688 (e.g., one or more processing units) of the controller circuit 1690 that controls operation of the hub to form, monitor, and perform wireless asymmetric network location as described herein. The RF circuitry 1692 may include a transceiver or separate transmitter 1694 and receiver 1695 functionality for transmitting and receiving bidirectional communications with the wireless sensor nodes via antenna(s) 1699. The RF circuitry 1692 communicates bidirectionally with the controller circuitry 1690 via a connection 1689 (e.g., a communication link, signal line, electrical connection, etc.). The hub 1684 may be a wireless control device 1684, or the controller circuitry 1690, RF circuitry 1692, and antenna(s) 1699 may combine to form a wireless control device as described herein.

[0119] In one embodiment, an apparatus (e.g., a hub) for providing a wireless asymmetric network architecture includes memory for storing instructions, processing logic (e.g., one or more processing units, processing logic 1544, processing logic 1663, processing logic 1688, processing logic 1763, processing logic 1888) in the hub for executing instructions for establishing and controlling communications within the wireless asymmetric network architecture, and radio frequency (RF) circuitry (e.g., RF circuitry 1550, RF circuitry 1670, RF circuitry 1692, RF circuitry 1890) including multiple antennas (e.g., antenna(s) 1552, antenna(s) 1678, antenna(s) 1699, antennas 1311, 1312, and 1313, etc.) for transmitting and receiving communications within the wireless asymmetric network architecture. The RF circuitry and multiple antennas transmit communications to multiple sensor nodes (e.g., node 1, node 2) in a wireless asymmetric network architecture, each having a wireless device with a transmitter and receiver (or the transmitter and receiver functions of a transceiver) that allows bidirectional communication with the RF circuitry of the apparatus.

[0120] In one embodiment, the first wireless node includes a wireless device with one or more processing units and RF circuitry for transmitting and receiving communications in a wireless network architecture including a first RF signal having a first packet. The second wireless node includes a wireless device with a transmitter and a receiver enabling bidirectional communication with the first wireless node in the wireless network architecture including a second RF signal having a second packet. The one or more processing units of the first wireless node are configured to execute instructions to determine round trip time estimates for the first packet and the second packet, thereby measuring channel state information (CSI) of the first wireless node and the second wireless node, and then calibrate hardware to measure hardware delays of the first wireless node and the second wireless node.

[0121] In one embodiment, the apparatus is powered by a mains power source and each of the multiple sensor nodes is powered by a battery power source to form a wireless network architecture.

[0122] A variety of batteries can be used in wireless sensor nodes, including lithium-based chemistries such as lithium-ion, lithium polymer, lithium phosphate, and other such chemistries as would be apparent to one of skill in the art. Additional chemistries that can be used include nickel-metal hydride, standard alkaline battery chemistries, silver-zinc and zinc-air battery chemistries, standard carbon-zinc battery chemistries, lead-acid battery chemistries, or any other chemistries as would be apparent to one of skill in the art.

[0123] The present invention further relates to an apparatus for performing the operations described herein. The apparatus may be specially constructed for the required purposes, or may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer-readable storage medium, such as, but not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs, and magneto-optical disks, read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical cards, or any type of medium suitable for storing electronic instructions.

[0124] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method acts.

[0125] 15 illustrates a block diagram of a sensor node, according to one embodiment. The sensor node 1700 includes a power source 1710 (e.g., energy source, battery power, primary cell, rechargeable cell, etc.) that provides power (e.g., DC power) to the controller circuit 1720 via connection 1774 (e.g., communication link, signal line, electrical connection, etc.), provides power to the RF circuit 1770 via connection 1776 (e.g., communication link, signal line, electrical connection, etc.), and provides power to the sensing circuit 1740 via connection 1746 (e.g., communication link, signal line, electrical connection, etc.). The controller circuit 1720 includes a memory 1761 or is coupled to a memory that stores instructions executed by the processing logic 1763 (e.g., one or more processing units) of the controller circuit 1720 to control the operation of the sensor node to form and monitor a wireless asymmetric network as described herein. The RF circuitry 1770 (e.g., communications circuitry) may include a transceiver or separate transmitter 1775 and receiver 1777 functionality for sending and receiving bidirectional communications with the hub(s) and wireless sensor nodes via antenna(s) 1778. This RF circuitry 1770 communicates bidirectionally with the controller circuitry 1720 via connections 1772 (e.g., electrical wires). The sensing circuitry 1740 includes various types of sensing circuitry and sensor(s), including image sensor(s) and circuitry 1742, moisture sensor(s) and circuitry 1743, temperature sensor(s) and circuitry, humidity sensor(s) and circuitry, air quality sensor(s) and circuitry, light sensor(s) and circuitry, motion sensor(s) and circuitry 1744, audio sensor(s) and circuitry 1745, magnetic sensor(s) and circuitry 1746, and sensor(s) and circuitry n.

[0126] The wireless location techniques disclosed herein may be combined with other sensing information to improve location accuracy across the network. For example, in wireless sensors where one or more of the nodes include a camera, captured images can be used with image processing and machine learning techniques to determine whether the monitored sensor nodes are looking at the same scene and therefore are likely to be in the same room. Similar benefits can be realized by using periodic lighting and photodetectors. By strobing the lighting and detecting with a photodetector, the presence of a light path can be detected, increasing the likelihood of indicating that there is no opaque wall between the strobe and the detector. In other embodiments, a magnetic sensor can be built into the sensor node and used as a compass to detect the direction of the monitored sensor node. This information can then be used along with the location information to determine whether the sensor is on a wall, floor, ceiling, or other location.

[0127] In one embodiment, each sensor node may include an image sensor, and each exterior wall of the house includes one or more sensor nodes. The hub analyzes the sensor data, including image data and optionally orientation data, along with the location information to determine the absolute location of each sensor node. The hub can then create a three-dimensional image representing each room of the user's building. A floor plan may be generated with the locations of walls, windows, doors, etc. The image sensor may capture images that show changes in reflections, which may indicate a problem with the integrity of the house (e.g., water, leaks, etc.).

[0128] 16 illustrates a block diagram of a system 1800 having a hub, according to one embodiment. The system 1800 includes or is integrated with a hub 1882 or central hub of a wireless asymmetric network architecture. The system 1800 (e.g., computing devices, smart TVs, smart appliances, communication systems, etc.) may communicate with any type of wireless device (e.g., mobile phones, wireless telephones, tablets, computing devices, smart TVs, smart appliances, etc.) to send and receive wireless communications. The system 1800 includes a processing system 1810 including a controller 1820 and a processing unit 1814. The processing system 1810 communicates with a hub 1882, an input / output (I / O) unit 1830, radio frequency (RF) circuitry 1870, audio circuitry 1860, an optical device 1880 for capturing one or more images or videos, an optional motion unit 1844 (e.g., accelerometer, gyroscope, etc.) for measuring motion data (e.g., in three dimensions) of the system 1800, a power management system 1840, and a machine-accessible non-transitory medium 1850 via one or more bidirectional communication links or signal lines 1898, 1818, 1815, 1816, 1817, 1813, 1819, 1811, respectively.

[0129] The hub 1882 includes a power supply 1891 that provides power (e.g., DC power) to the controller circuitry 1884 via connection 1885 (e.g., communication link, signal line, electrical connection, etc.) and provides power to the RF circuitry 1890 via connection 1887 (e.g., communication link, signal line, electrical connection, etc.). The controller circuitry 1884 includes a memory 1886 or is coupled to a memory that stores instructions executed by the processing logic 1888 (e.g., one or more processing units) of the controller circuitry 1884 to control the operation of the hub to form and monitor a wireless asymmetric network as described herein. The RF circuitry 1890 may include a transceiver or separate transmitter (TX) 1892 and receiver (RX) 1894 functionality for transmitting and receiving bidirectional communications with wireless sensor nodes or other hubs via antenna(s) 1896. The RF circuitry 1890 communicates bidirectionally with the controller circuitry 1884 via a connection 1889 (e.g., a communication link, a signal line, an electrical connection, etc.). The hub 1882 may be a wireless control device 1884, or the controller circuitry 1884, the RF circuitry 1890, and the antenna(s) 1896 may combine to form a wireless control device as described herein.

[0130] The RF circuitry 1870 and antenna(s) 1871 of the system, or the RF circuitry 1890 and antenna(s) 1896 of the hub 1882, are used to transmit and receive information to and from one or more other wireless devices of the hub or sensor node described herein over a wireless link or network. The audio circuitry 1860 is coupled to an audio speaker 1862 and a microphone 1864 and includes known circuitry for processing audio signals. The one or more processing units 1814 communicate with one or more machine-accessible non-transitory media 1850 (e.g., computer-readable media) via the controller 1820. The media 1850 may be any device or medium (e.g., storage device, storage medium) capable of storing code and / or data used by the one or more processing units 1814. The media 1850 may include a memory hierarchy, including but not limited to a cache, a main memory, and a secondary memory.

[0131] The medium 1850 or memory 1886 stores one or more sets of instructions (or software) that embody any one or more of the methods or functions described herein. The software may include an operating system 1852, network services software 1856 for establishing, monitoring, and controlling a wireless asymmetric network architecture, a communication module 1854, and applications 1858 (e.g., home or building security applications, home or building maintenance applications, developer applications, etc.). The software may also reside, completely or at least partially, in the medium 1850, memory 1886, processing logic 1888, or within the processing unit 1814 during its execution by the device 1800. The components illustrated in FIG. 18 may be implemented in hardware, software, firmware, or any combination thereof, including one or more signal processing circuits and / or application specific integrated circuits.

[0132] A communications module 1854 enables communication with other devices. The I / O unit 1830 communicates with various types of input / output (I / O) devices 1834 (e.g., a display, liquid crystal display (LCD), plasma display, cathode ray tube (CRT), or touch display device or touch screen for receiving user input and displaying output, any alphanumeric input device).

[0133] FIG. 17 illustrates a method for locating a wireless device using configuration information of a wireless sensor network, according to one embodiment. The operations of the method may be performed by a wireless device, a wireless control device of a hub (e.g., an apparatus), a system, or a remote device, computer, or cloud service that includes processing circuitry or processing logic. The processing logic may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine or device), or a combination of both. In one embodiment, an anchor node, a hub, a wireless device, or a remote device, computer, or cloud service performs the operations of the method. Algorithms associated with the various calculations may be executed on a remote computer to which relevant data associated with timing and distance measurements are transmitted. The remote device or computer may be in a different location (e.g., a different network in a cloud) than a wireless network architecture having multiple wireless nodes. The remote device or computer may be in a different location within the wireless network architecture than a particular node that transmits and receives communications within the architecture.

[0134] The devices may be arbitrarily placed at known and fixed locations, typically within a building. At initialization of the wireless network architecture, in operation 1701, a wireless node (e.g., anchor node, wireless device, hub) having a radio frequency (RF) circuit and at least one antenna transmits a communication to a plurality of sensor nodes in the wireless network architecture (e.g., wireless asymmetric network architecture). In operation 1702, the RF circuit and at least one antenna of the wireless node receive a communication from a plurality of sensor nodes in the wireless network architecture, each having a wireless device with a transmitter and a receiver that allows bidirectional communication with the RF circuit of the wireless node. In operation 1704, processing logic of the wireless node having a wireless control device first configures the wireless network of the sensor nodes as a mesh-based network architecture for a period of time (e.g., a predetermined period of time, a period of time sufficient to perform a location determination, etc.) for performing a location determination of at least one wireless device (wireless node).

[0135] In operation 1706, the wireless nodes may then perform ranging with the sensor nodes (any or all pairwise combinations of wireless nodes and wireless sensor nodes) to determine ranging data including distance estimates between the nodes. In operation 1708, a set of known locations (e.g., WiFi router 892, air conditioning unit, corner area 894, etc., in FIG. 8B) in an environment (e.g., indoor environment, building, exterior area adjacent to a building) and the device-to-device ranging data are used to associate each wireless node or wireless sensor node with a unique known location. In operation 1710, a number of methods may be used to determine the location of the anchor node (e.g., wireless node, wireless sensor node) that corresponds to the measured ranging data, including at least one of brute force calculation, triangulation, or mathematical optimization. Probabilistic methods such as those described in this patent application may be used as well.

[0136] Given the information of the candidate subset of anchor locations, the known subset of anchor locations may be used to fit or snap to a map of the known environment in operation 1712. For example, a user may adjust the rotation, translation, and mirroring of the subset of anchor locations to align the anchor locations with a physical description of the space or environment (e.g., a floor plan, a map, etc.). Based on operation 1712, additional anchor locations may be determined.

[0137] Once these anchor locations are determined, in operation 1714, these anchor nodes and associated anchor locations are used for ranging measurements between the anchor nodes and any node whose location is unknown (e.g., fixed location or moving). These anchor nodes may be used for ToA ranging measurements or TDoA ranging measurements. In operation 1716, the unknown location of the node (e.g., wireless node, wireless sensor node) corresponding to the measured ranging data may be identified using a number of methods including at least one of brute force calculation, triangulation, or mathematical optimization. In operation 1718, the processing logic of the wireless node (e.g., hub, anchor node, wireless device, remote device, or computer) configures the wireless network in a tree-based or tree-like network architecture (or a tree architecture without a mesh-based mechanism) once the location determination is completed.

[0138] In an alternative embodiment, the building information is not known. FIG. 18 illustrates a method for locating a wireless device without using configuration information of a wireless sensor network, according to an embodiment. The operations of the method may be performed by a wireless device, a wireless control device of a hub (e.g., an apparatus), a system, or a remote device, computer, or cloud service that includes processing circuitry or logic. The processing logic may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine or device), or a combination of both. In an embodiment, an anchor node, a hub, a wireless device, or a remote device, computer, or cloud service performs the operations of the method. Algorithms associated with the various calculations may be executed on a remote computer to which the relevant data associated with timing and distance measurements are transmitted. The remote device or computer may be in a different location (e.g., a different network in a cloud) than a wireless network architecture having multiple wireless nodes. The remote device or computer may be in a different location in the wireless network architecture than a particular node that transmits and receives communications in the architecture.

[0139] The devices may be arbitrarily placed at unknown and fixed locations, typically within a building. At initialization of the wireless network architecture, in operation 1801, a wireless node (e.g., anchor node, wireless device, hub) having a radio frequency (RF) circuit and at least one antenna transmits a communication to a plurality of sensor nodes in the wireless network architecture (e.g., wireless asymmetric network architecture). These sensor nodes may typically be fixed, and may be moved or repositioned within the wireless network architecture. In operation 1802, the RF circuit and at least one antenna of the wireless node receive communication from a plurality of sensor nodes, each having a wireless device with a transmitter and a receiver that allows bidirectional communication with the RF circuit of the wireless node, in the wireless network architecture. In operation 1804, processing logic of the wireless node having a wireless control device first configures the wireless network of the sensor nodes as a mesh-based network architecture for a period of time (e.g., a predetermined period of time, a period of time sufficient to perform location determination, etc.) for performing location determination of at least one wireless device (wireless node).

[0140] At operation 1806, the wireless nodes may then perform ranging with the sensor nodes (any or all pairwise combinations of wireless nodes and wireless sensor nodes) to determine ranging data including distance estimates between the nodes. At operation 1808, the device-to-device ranging data is then used to associate at least one wireless node or wireless sensor node with a relative location. The relative locations of all anchor nodes or at least a subset of anchor nodes are determined using at least one of optimization techniques, brute force methods, probabilistic methods, etc. Multiple path estimates for each distance range may be fed into an algorithm to calculate the relative location.

[0141] At operation 1810, the rotation, translation and mirroring of the entire set of relative positions are adjusted to align the relative positions with a physical description of the space or environment (e.g., a floor plan, a map, etc.). These adjustments may be made by machine learning, artificial intelligence, or a user. In one embodiment, machine learning generates a set of likely orientations of the relative positions relative to the space or environment, and then the user selects one of those orientations. These adjustments position the anchor positions in the coordinate system of the space or environment. At operation 1812, the anchor nodes and their calculated positions in the space or environment are determined.

[0142] Once these anchor locations are determined, in operation 1814, these anchor nodes and associated anchor locations are used for ranging measurements between the anchor nodes and any node whose location is unknown (e.g., fixed location or moving). These anchor nodes may be used for ToA ranging measurements or TDoA ranging measurements. In operation 1816, the unknown location of the node (e.g., wireless node, wireless sensor node) corresponding to the measured ranging data may be identified using a number of methods including at least one of brute force calculation, triangulation, or mathematical optimization. In operation 1818, the processing logic of the wireless node (e.g., hub, anchor node, wireless device, remote device, or computer) configures the wireless network in a tree-based or tree-like network architecture (or a tree architecture without a mesh-based mechanism) once the location determination is completed.

[0143] Any of the following embodiments may be combined into a single embodiment or may be separate embodiments. In one embodiment of the first embodiment, a system for locating a node in a wireless network architecture includes a first wireless node having a radio device with one or more processing units and RF circuitry for transmitting and receiving communications in the wireless network architecture, including a first RF signal having a first packet, and a second wireless node having a radio device with a transmitter and a receiver enabling bidirectional communication with the first wireless node in the wireless network architecture, including a second RF signal having a second packet. The one or more processing units of the first wireless node are configured to execute instructions for determining round trip time estimates of the first packet and the second packet, thereby measuring channel state information (CSI) of the first wireless node and the second wireless node, and then calibrating hardware to measure hardware delays of the first wireless node and the second wireless node.

[0144] In another embodiment of the first embodiment, the first wireless node has a first reference clock signal and the second wireless node has a second reference clock signal.

[0145] In another embodiment of the first embodiment, the round trip time estimates for the first packet and the second packet are based on a first time when the first wireless node transmits the first packet, a second time when the second wireless node receives the first packet, a third time when the second wireless node transmits the second packet, and a fourth time when the first wireless node receives the second packet.

[0146] In another embodiment of the first embodiment, the channel state information of the first wireless node includes a first measurement of a channel response for the second packet, and the channel state information of the second wireless node includes a second measurement of the channel response for the first packet.

[0147] In another embodiment of the first embodiment, the system further includes a remote device enabling bidirectional communication with the first wireless node and the second wireless node, and at least one of the remote device, the first wireless node, or the second wireless node measures a delay due to phase drift between reference clocks of the first wireless node and the second wireless node based on the CSI of the first wireless node and the second wireless node.

[0148] In another embodiment of the first embodiment, the hardware delays of the first radio node and the second radio node include an automatic gain control (AGC) delay and a low noise amplifier delay.

[0149] In another embodiment of the first embodiment, the AGC delay and low noise amplifier delay are removed to correct the round trip time estimates of the first packet and the second packet, and at least one of the remote device, the first wireless node, or the second wireless node applies the phase drift delay and the hardware delay as a linear phase shift to the CSI to generate the corrected CSI.

[0150] In another embodiment of the first embodiment, at least one of the remote device, the first wireless node, or the second wireless node calculates an average value of the corrected CSI for a number of packets.

[0151] In another embodiment of the first embodiment, at least one of the remote device, the first wireless node, or the second wireless node divides the corrected CSI by the calibration CSI to remove hardware delay.

[0152] In another embodiment of the first embodiment, at least one of the remote device, the first wireless node, or the second wireless node executes an algorithm to extract delays and complex amplitudes of paths that combine to generate an averaged CSI, where path amplitudes, distances, RSSI, and other relevant data may be used as filter criteria to exclude non-physical paths.

[0153] In another embodiment of the first embodiment, nodes in the wireless network architecture include an anchor node that is selected for location determination if an error metric associated with each distance estimate between an anchor node, whose location is known, and a wireless sensor node, whose location is unknown, is less than or equal to an error threshold.

[0154] In another embodiment of the first embodiment, if the error metric is greater than or equal to an error threshold, then at least one anchor node is excluded for location determination.

[0155] In another embodiment of the first embodiment, at least one of the first wireless node and the second wireless node comprises a mobile robot that changes position during location determination.

[0156] In one embodiment of the second embodiment, an apparatus includes a memory for storing instructions, one or more processing units for executing instructions for controlling and locating a plurality of sensor nodes in a wireless network architecture, and a radio frequency (RF) circuit for transmitting and receiving communications with a plurality of sensor nodes in the wireless network architecture, each having a wireless device with a transmitter and a receiver enabling bidirectional communication with the apparatus. The one or more processing units of the apparatus are configured to execute instructions for transmitting a first RF signal having a first packet to the sensor node and receiving a second RF signal having a second packet from the sensor node, determining a round trip time estimate for the first packet and the second packet, thereby measuring channel state information (CSI), and then calibrating hardware to measure a hardware delay of at least one of the apparatus or the sensor node.

[0157] In another embodiment of the second embodiment, the apparatus has a first reference clock signal and the sensor node has a second reference clock signal.

[0158] In another embodiment of the second embodiment, the round trip time estimates for the first packet and the second packet are based on a first time when the device transmits the first packet, a second time when the sensor node receives the first packet, a third time when the sensor node transmits the second packet, and a fourth time when the device receives the second packet.

[0159] In another embodiment of the second embodiment, measuring the CSI includes a first measurement of a channel response of the second packet and a second measurement of a channel response of the first packet.

[0160] In another embodiment of the second embodiment, the hardware delay of at least one of the device or the sensor node includes an automatic gain control (AGC) delay and a low noise amplifier delay.

[0161] In another embodiment of the second embodiment, the AGC delay and the low noise amplifier delay are removed to correct the round trip time estimates of the first packet and the second packet.

[0162] In another embodiment of the second embodiment, the apparatus applies the phase drift delay and the hardware delay as a linear phase shift to the CSI to generate the corrected CSI.

[0163] In another embodiment of the second embodiment, the one or more processing units of the apparatus are configured to execute instructions to measure first channel state information of a first frequency channel of a first RF signal, measure second channel state information of a second frequency channel of the first RF signal, the first frequency channel and the second frequency channel being non-contiguous channels or being discontinuous channels, and then determine a delay profile estimate between the apparatus and the sensor node based on the first channel state information and the second channel state information without phase alignment.

[0164] In another embodiment of the second embodiment, the delay profile estimate is determined without channel state information regarding the frequency bandgap between the first and second frequency channels.

[0165] In one embodiment of the third embodiment, a method for locating a wireless node includes transmitting a first RF signal from a first wireless node to a second wireless node, receiving a second RF signal from the second wireless node using the first wireless node, acquiring channel state information (CSI) for the first wireless node and the second wireless node, and removing an automatic gain control (AGC) delay to correct a coarse estimate of time of flight of a first packet transmitted on the first RF signal and a second packet transmitted on the second RF signal.

[0166] In another embodiment of the third embodiment, the method further includes removing edges of the frequency spectrum that include the most significant subcarriers and the least significant subcarriers of the first RF signal and the second RF signal.

[0167] In another embodiment of the third embodiment, the method further includes measuring a delay due to phase drift between the first wireless node and the second wireless node by dividing the forward CSI by the reverse CSI.

[0168] In another embodiment of the third embodiment, the method further includes obtaining internal delays including AGC delays and low noise amplifier (LNA) delays of the first wireless node and the second wireless node, summing correction values ​​for phase drift, AGC gain, and coarse estimates of time of flight, and applying these correction values ​​as linear phase shifts to the CSI.

[0169] In one embodiment of the fourth embodiment, a computer-implemented method includes generating, using a first wireless node, a first loopback calibration signal; passing the first loopback calibration signal through an RF transmit chain of the first wireless node and an RF receive chain of the first wireless node; and passing the first calibration signal through the transmit chain and receive chain of the first wireless node to measure at least one selected from the group consisting of a first transmit time delay, a first receive time delay, a first transmit channel condition information, and a first receive channel condition information to measure a hardware delay of the first wireless node.

[0170] In another embodiment of the fourth embodiment, measuring at least one of the first transmit time delay, the first receive time delay, the first transmit channel state information, or the first receive channel state information includes determining a sum of the first transmit time delay and the first receive time delay, and wherein measuring the first transmit channel state information and the first receive channel state information includes determining a product of the first transmit channel state information and the first receive channel state information.

[0171] In another embodiment of the fourth embodiment, the method further includes generating, using the second radio node, a second loopback calibration signal; passing the second loopback calibration signal through an RF transmit chain of the second radio node and an RF receive chain of the second radio node; and passing the second loopback calibration signal through the transmit chain and receive chain of the second radio node to measure at least one of a second transmit time delay, a second receive time delay, the first transmit channel condition information, or the first receive channel condition information to measure a hardware delay of the second radio node.

[0172] In another embodiment of the fourth embodiment, the method further comprises: tx1 and the first reception time delay T rx1Based on this, the time delay T of the first loopback calibration signal is lb1 and calculating a second transmission time delay T tx2 and a second reception time delay T rx2 The time delay T of the second calibration signal is calculated based on lb2 Calculate these T lb1 and T lb2 and correcting a measured round trip time (RTT) of a communication transmitted between the first wireless node and the second wireless node based on the measured round trip time (RTT).

[0173] In another embodiment of the fourth embodiment, the method further comprises: tx1 and the first reception channel state information H rx1 Based on the loopback channel state information H of the first loopback calibration signal lb1 and calculating second transmission channel state information H tx2 and second reception channel state information H rx2 The loopback channel state information H of the second calibration signal is calculated based on lb2 , and calculating channel state information (CSI) of any data packets received from the first wireless node and the second wireless node, and loopback channel state information (H) from loopback measurements of the first wireless device and the second wireless device. lb1 *H lb2 ) estimating a correction value for the multipath delay profile, the correction value being calculated based on

[0174] In another embodiment of the fourth embodiment, the method further comprises: tx1 Frequency response of the receive chain H rx1 Based on the frequency response of lb1 and calibrating the transmit chain H of the second wireless node. tx2 Frequency response of the receive chain Hrx2 Based on the frequency response of lb2 and calibrating the

[0175] In one embodiment of the fifth embodiment, a system for locating a node in a wireless network architecture includes a plurality of wireless anchor nodes, each having a known location and each having one or more processing units and a wireless device having RF circuitry for transmitting and receiving communications in the wireless network architecture, and a wireless node in the wireless network architecture having a wireless device having a transmitter and a receiver enabling two-way communication with the plurality of wireless anchor nodes, wherein the one or more processing units in at least one of the plurality of wireless anchor nodes are configured to execute instructions for determining a set of estimated distance ranges between each anchor node and a wireless node whose location is unknown, and performing a triangulation algorithm that is iterated over the estimated locations of the wireless nodes to minimize errors.

[0176] In another embodiment of the fifth embodiment, the triangulation algorithm evaluates a set of estimated distance ranges between each anchor node and the wireless node and eliminates low-likelihood distance ranges between each anchor node and the wireless node.

[0177] In another embodiment of the fifth embodiment, the triangulation algorithm determines the final position of the wireless node based on eliminating low-likelihood distance ranges between each anchor node and the wireless node, with reduced iterations.

[0178] In another embodiment of the fifth embodiment, at least one anchor node is selected for location determination if an error metric associated with each distance estimate between an anchor node whose location is known and a wireless sensor node whose location is unknown is less than or equal to an error threshold.

[0179] In another embodiment of the fifth embodiment, if the error metric is greater than or equal to an error threshold, then at least one anchor node is excluded for location determination.

[0180] In another embodiment of the fifth embodiment, at least one of the anchor nodes comprises a mobile robot that changes position from a first anchor node position to a second anchor node position during localization.

[0181] In one embodiment of the sixth embodiment, an apparatus for locating a node in a wireless network architecture comprises a memory for storing instructions, one or more processing units for executing instructions for controlling and locating a plurality of wireless sensor nodes in the wireless network architecture, and a radio frequency (RF) circuit for transmitting and receiving communications with a plurality of wireless sensor nodes in the wireless network architecture, each having a wireless device with a transmitter and a receiver enabling bidirectional communication with the apparatus, wherein the one or more processing units of the apparatus are configured to execute instructions for determining a set of estimated distance ranges between the apparatus and wireless sensor nodes whose locations are unknown, and performing a triangulation algorithm that is iterated over the estimated locations of the wireless sensor nodes to minimize errors.

[0182] In another embodiment of the sixth embodiment, the triangulation algorithm evaluates a set of estimated distance ranges between the device and the wireless sensor node and eliminates low likelihood distance ranges between the device and the wireless sensor node.

[0183] In another embodiment of the sixth embodiment, the triangulation algorithm determines the final position of the wireless sensor node based on eliminating low-likelihood distance ranges between the device and the wireless sensor node in a manner that reduces repetitions.

[0184] In another embodiment of the sixth embodiment, the one or more processing units of the apparatus are configured to execute instructions to measure first channel state information of a first frequency channel of an RF signal received from a wireless sensor node, where the first frequency channel and the second frequency channel are non-contiguous channels, and then determine a delay profile estimate between the apparatus and the wireless sensor node based on the first channel state information and the second channel state information without phase alignment.

[0185] In another embodiment of the sixth embodiment, the delay profile estimate is determined without channel state information regarding the frequency bandgap between the first and second frequency channels.

[0186] In another embodiment of the sixth embodiment, the apparatus comprises a mobile robot that changes position within the indoor environment from a first anchor node position to a second anchor node position during localization.

[0187] In one embodiment of the seventh embodiment, a method for locating a node in a wireless network architecture includes sending communications to and receiving communications from a wireless node using a plurality of wireless anchor nodes, each having a known location, determining a set of estimated distance ranges between each anchor node and a wireless node whose location is unknown, and implementing a triangulation algorithm that is iterated over the estimated locations of the wireless nodes to minimize errors.

[0188] In another embodiment of the seventh embodiment, the method further includes evaluating a set of estimated distance ranges between each anchor node and the wireless node, and eliminating low-likelihood distance ranges between each anchor node and the wireless node.

[0189] In another embodiment of the seventh embodiment, the method further includes determining a final position of the wireless node based on eliminating low-likelihood distance ranges between each anchor node and the wireless node, such that iterations are reduced.

[0190] In another embodiment of the seventh embodiment, at least one anchor node is selected for location determination if an error metric associated with each distance estimate between an anchor node whose location is known and a wireless sensor node whose location is unknown is less than or equal to an error threshold.

[0191] In another embodiment of the seventh embodiment, if the error metric is greater than or equal to an error threshold, then at least one anchor node is excluded for location determination.

[0192] In another embodiment of the seventh embodiment, at least one of the anchor nodes comprises a mobile robot that changes position from a first anchor node position to a second anchor node position during localization.

[0193] In one embodiment of the eighth embodiment, a system for locating a node in a wireless network architecture includes a plurality of wireless anchor nodes, each having a known location and each having one or more processing units and a wireless device having RF circuitry for transmitting and receiving communications in the wireless network architecture, and a wireless node in the wireless network architecture having a wireless device having a transmitter and a receiver enabling two-way communication with the plurality of wireless anchor nodes, wherein the one or more processing units in at least one of the plurality of wireless anchor nodes are configured to execute instructions for determining a set of estimated distance ranges between each anchor node and a wireless node whose location is unknown, and for implementing a triangulation algorithm using maximum likelihood estimation (MLE) of ranging measurements from the anchor nodes.

[0194] In another embodiment of the eighth embodiment, the MLE of the ranging measurements from the anchor nodes is based on the probability distribution of the ranging measurements and location hypotheses of each anchor node.

[0195] In another embodiment of the eighth embodiment, the MLE of the ranging measurement from the anchor node is based on the uncertainty of the ranging measurement from the wireless node to the anchor node as measured in the ranging measurement and the distance from the anchor node to the current position hypothesis.

[0196] In another embodiment of the eighth embodiment, the MLE reduces the importance of highly uncertain measurements to the overall triangulation estimate by effectively weighting these highly uncertain measurements less than other measurements for determining the final location of the wireless node.

[0197] In another embodiment of the eighth embodiment, at least one anchor node is selected for location determination if an error metric associated with each distance estimate between an anchor node whose location is known and a wireless sensor node whose location is unknown is less than or equal to an error threshold.

[0198] In another embodiment of the eighth embodiment, if the error metric is greater than or equal to an error threshold, then at least one anchor node is excluded for location purposes.

[0199] In another embodiment of the eighth embodiment, at least one of the anchor nodes comprises a mobile robot that changes position from a first anchor node position to a second anchor node position during localization.

[0200] In one embodiment of the ninth embodiment, an apparatus for locating a node in a wireless network architecture comprises a memory for storing instructions, one or more processing units for executing instructions for controlling and locating a plurality of wireless sensor nodes in the wireless network architecture, and a radio frequency (RF) circuit for transmitting and receiving communications with a plurality of wireless sensor nodes in the wireless network architecture, each having a wireless device with a transmitter and a receiver enabling bidirectional communication with the apparatus, wherein the one or more processing units of the apparatus are configured to execute instructions for determining a set of estimated distance ranges between the apparatus and wireless sensor nodes whose locations are unknown, and implementing a triangulation algorithm using maximum likelihood estimation (MLE) of ranging measurements from anchor nodes including the apparatus.

[0201] In another embodiment of the ninth embodiment, the MLE of the ranging measurements from the anchor nodes is based on the probability distribution of the ranging measurements and position hypotheses of each anchor node.

[0202] In another embodiment of the ninth embodiment, the MLE of the ranging measurement from the anchor node is based on the uncertainty of the ranging measurement from the wireless node to the anchor node as measured in the ranging measurement and the distance from the anchor node to the current position hypothesis.

[0203] In another embodiment of the ninth embodiment, the MLE reduces the importance of highly uncertain measurements in the overall triangulation estimate by effectively weighting these highly uncertain measurements less than other measurements for determining the final location of the wireless node.

[0204] In another embodiment of the ninth embodiment, the one or more processing units of the apparatus are configured to execute instructions to measure first channel state information of a first frequency channel of an RF signal received from a wireless sensor node, where the first frequency channel and the second frequency channel are non-contiguous channels, and then determine a delay profile estimate between the apparatus and the wireless sensor node based on the first channel state information and the second channel state information without phase alignment.

[0205] In another embodiment of the ninth embodiment, the delay profile estimate is determined without channel state information regarding the frequency bandgap between the first and second frequency channels.

[0206] In another embodiment of the ninth embodiment, the apparatus comprises a mobile robot that changes position within the indoor environment from a first anchor node position to a second anchor node position during localization.

[0207] In one embodiment of the tenth embodiment, a method for locating a node in a wireless network architecture includes sending communications to a wireless node using a plurality of wireless anchor nodes, each having a known location, receiving communications from the wireless nodes, determining a set of estimated distance ranges between each anchor node and a wireless node having an unknown location, and implementing a triangulation algorithm using maximum likelihood estimation (MLE) of ranging measurements from anchor nodes including the apparatus.

[0208] In another embodiment of the tenth embodiment, the MLE of the range measurements from the anchor nodes is based on the probability distribution of the range measurements and location hypotheses of each anchor node.

[0209] In another embodiment of the tenth embodiment, the MLE of the ranging measurement from the anchor node is based on the uncertainty of the ranging measurement from the wireless node to the anchor node as measured in the ranging measurement and the distance from the anchor node to the current position hypothesis.

[0210] In another embodiment of the tenth embodiment, the MLE reduces the importance of highly uncertain measurements to the overall triangulation estimate by effectively weighting these highly uncertain measurements less than other measurements for determining the final location of the wireless node.

[0211] In another embodiment of the tenth embodiment, the method further includes selecting at least one anchor node for location determination if an error metric associated with each distance estimate between an anchor node whose location is known and a wireless sensor node whose location is unknown is less than or equal to an error threshold.

[0212] In another embodiment of the tenth embodiment, the method further includes excluding at least one anchor node for location determination if the error metric is greater than or equal to an error threshold.

[0213] In another embodiment of the tenth embodiment, the method further includes at least one of the anchor nodes comprising a mobile robot that changes position from a first anchor node position to a second anchor node position during localization.

[0214] In one embodiment of the eleventh embodiment, a system for locating a node in a wireless network architecture includes a wireless node having one or more processing units and a wireless device with RF circuitry for transmitting and receiving communications in the wireless network architecture; and a plurality of wireless sensor nodes in a wireless network architecture, the wireless sensor nodes having wireless devices with transmitters and receivers enabling two-way communication with the wireless nodes, wherein one or more processing units of the wireless nodes are configured to execute instructions to determine ranging data including a set of estimated distance ranges between the wireless nodes and a plurality of wireless sensor nodes whose locations are unknown, and to associate each of the wireless nodes or wireless sensor nodes with a unique known location in an environment of the wireless network architecture.

[0215] In another embodiment of the eleventh embodiment, the system further comprises a remote device outside the environment of the wireless network architecture.

[0216] In another embodiment of the eleventh embodiment, one or more processing units of the remote device or wireless node are configured to perform a brute force calculation, triangulation, or mathematical optimization algorithm to determine locations of at least a subset of anchor nodes corresponding to the ranging data.

[0217] In another embodiment of the eleventh embodiment, the positions of at least a subset of the anchor nodes are used to adjust at least one of the rotation, translation, or mirroring of the anchor positions to align them with a physical description of the environment of the wireless network architecture.

[0218] In another embodiment of the eleventh embodiment, one or more processing units of the remote device or wireless node are configured to perform ranging measurements between at least a subset of the anchor nodes and any nodes whose locations are unknown, fixed or moving.

[0219] In another embodiment of the eleventh embodiment, these ranging measurements include time-of-arrival ranging measurements.

[0220] In another embodiment of the eleventh embodiment, these ranging measurements include time difference of arrival ranging measurements.

[0221] In another embodiment of the eleventh embodiment, one or more processing units of the remote device or wireless node are configured to perform brute force calculations, triangulation, or mathematical optimization algorithms to use these ranging measurements to identify the location of any nodes whose location is unknown and either fixed or moving.

[0222] In one embodiment of the twelfth embodiment, an apparatus for locating a node in a wireless network architecture comprises a memory for storing instructions, one or more processing units for executing instructions for controlling and locating a plurality of wireless sensor nodes in the wireless network architecture, and a radio frequency (RF) circuit for transmitting and receiving communications with a plurality of wireless sensor nodes in the wireless network architecture, each having a wireless device with a transmitter and a receiver enabling bidirectional communication with the apparatus, wherein the one or more processing units of the apparatus are configured to execute instructions for determining ranging data including a set of estimated distance ranges between the apparatus and a plurality of wireless sensor nodes whose locations are unknown, and for associating the apparatus or the wireless sensor nodes, respectively, with a unique known location in an environment of the wireless network architecture.

[0223] In another embodiment of the twelfth embodiment, one or more processing units of the device are configured to perform a brute force calculation, triangulation, or mathematical optimization algorithm to determine positions of at least a subset of anchor nodes corresponding to the ranging data.

[0224] In another embodiment of the twelfth embodiment, the positions of at least a subset of the anchor nodes are used to adjust at least one of the rotation, translation, or mirroring of the anchor positions to align the positions of the anchor nodes with a physical description of the environment of the wireless network architecture.

[0225] In another embodiment of the twelfth embodiment, the one or more processing units of the apparatus are configured to perform ranging measurements between at least a subset of the anchor nodes and any node whose position is unknown, fixed or moving.

[0226] In one embodiment of the thirteenth embodiment, a method for locating a node in a wireless network architecture includes using a wireless node to send communications to a plurality of wireless sensor nodes, receiving communications from the plurality of wireless sensor nodes, determining ranging data including a set of estimated distance ranges between the wireless node and a plurality of wireless sensor nodes whose locations are unknown, and associating each of the wireless node or wireless sensor nodes with a unique known location in an environment of the wireless network architecture.

[0227] In another embodiment of the thirteenth embodiment, the method further includes performing a brute force calculation, triangulation, or mathematical optimization algorithm using the wireless node or remote device to determine locations of at least a subset of anchor nodes corresponding to the ranging data.

[0228] In another embodiment of the thirteenth embodiment, the method further includes adjusting at least one of rotating, translating, or mirroring the anchor positions to align the positions of at least a subset of the anchor nodes with a physical description of the environment of the wireless network architecture.

[0229] In another embodiment of the thirteenth embodiment, the method further includes performing ranging measurements between at least a subset of the anchor nodes and any nodes whose positions are unknown and fixed or moving.

[0230] In another embodiment of the thirteenth embodiment, the method further includes performing a brute force calculation, triangulation, or mathematical optimization algorithm to use these ranging measurements to identify the location of any nodes whose location is unknown and either fixed or moving.

[0231] In one embodiment of the fourteenth embodiment, a system for locating a node in a wireless network architecture includes a wireless node having one or more processing units and a wireless device with RF circuitry for transmitting and receiving communications in the wireless network architecture, and a plurality of wireless sensor nodes in the wireless network architecture having wireless devices with transmitters and receivers enabling two-way communication with the wireless nodes, wherein the one or more processing units of the wireless node are configured to execute instructions to determine ranging data including a set of estimated distance ranges between the wireless node and a plurality of wireless sensor nodes whose locations are unknown, and to associate a set of relative positions with the wireless node and the plurality of wireless sensor nodes in an environment of the wireless network architecture.

[0232] In another embodiment of the fourteenth embodiment, the system further comprises a remote device outside the environment of the wireless network architecture.

[0233] In another embodiment of the fourteenth embodiment, a set of relative positions in an environment of a wireless network architecture is used to set an anchor position by adjusting at least one of rotating, translating, or mirroring the set of relative positions to align the set of relative positions with a physical description of the environment of the wireless network architecture.

[0234] In another embodiment of the fourteenth embodiment, one or more processing units of the remote device or wireless node are configured to perform ranging measurements between a wireless node or at least one wireless sensor node set as an anchor location and any node whose location is unknown, fixed or moving.

[0235] In another embodiment of the fourteenth embodiment, these ranging measurements include time of arrival ranging measurements or time difference of arrival ranging measurements.

[0236] In another embodiment of the fourteenth embodiment, one or more processing units of the remote device or wireless node are configured to perform brute force calculations, triangulation, or mathematical optimization algorithms to use these ranging measurements to identify the location of any nodes whose location is unknown and either fixed or moving.

[0237] In one embodiment of the fifteenth embodiment, an apparatus for locating a node in a wireless network architecture comprises a memory for storing instructions, one or more processing units for executing instructions for controlling and locating a plurality of wireless sensor nodes in the wireless network architecture, and a radio frequency (RF) circuit for transmitting and receiving communications with a plurality of wireless sensor nodes in the wireless network architecture, each having a wireless device with a transmitter and a receiver enabling bidirectional communication with the apparatus, wherein the one or more processing units of the apparatus are configured to execute instructions for determining ranging data including a set of estimated distance ranges between the apparatus and a plurality of wireless sensor nodes whose locations are unknown, and associating a set of relative positions with the wireless node and the plurality of wireless sensor nodes in an environment of the wireless network architecture.

[0238] In another embodiment of the fifteenth embodiment, a set of relative positions in an environment of a wireless network architecture is used to set an anchor position by adjusting at least one of rotating, translating, or mirroring the set of relative positions to align the set of relative positions with a physical description of the environment of the wireless network architecture.

[0239] In another embodiment of the fifteenth embodiment, the one or more processing units of the device are configured to perform ranging measurements between the device and any node whose location is unknown and fixed or moving.

[0240] In another embodiment of the fifteenth embodiment, one or more processing units of the device are configured to perform brute force calculations, triangulation, or mathematical optimization algorithms to use these ranging measurements to identify the location of any nodes whose location is unknown and either fixed or moving.

[0241] In one embodiment of the sixteenth embodiment, a method for locating a node in a wireless network architecture includes using a wireless node to send communications to a plurality of wireless sensor nodes, receiving communications from the plurality of wireless sensor nodes, determining ranging data including a set of estimated distance ranges between the wireless node and the plurality of wireless sensor nodes whose locations are unknown, and associating a set of relative positions with the wireless node and the plurality of wireless sensor nodes in an environment of the wireless network architecture.

[0242] In another embodiment of the sixteenth embodiment, the method further includes adjusting at least one of rotating, translating, or mirroring the series of relative positions to align the series of relative positions with a physical description of the environment of the wireless network architecture to set an anchor position.

[0243] In another embodiment of the sixteenth embodiment, the method further includes performing ranging measurements between the wireless node or at least one wireless sensor node set as an anchor location and any node whose location is unknown, fixed or moving.

[0244] In another embodiment of the sixteenth embodiment, the method further includes performing a brute force calculation, triangulation, or mathematical optimization algorithm to use these ranging measurements to identify the location of any nodes whose location is unknown and either fixed or moving.

[0245] The phrase "at least one of A or B" should be understood to mean "A only, B only, or both A and B." The phrase "at least one selected from the group consisting of A and B" should be understood to mean "A only, B only, or both A and B." "At least one of A, B, or C" should be understood to mean "A only, B only, C only, or any combination of A, B, or C."

[0246] In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will be apparent, however, that various modifications and changes can be made to these embodiments without departing from the broader spirit and scope of the invention. The specification and drawings are therefore to be regarded in an illustrative rather than a restrictive sense.

Claims

1. 1. A system for locating a plurality of nodes in a wireless network architecture, comprising: a wireless node located at an unknown location and equipped with a transmitter and a receiver for enabling two-way communication with a set of wireless anchor nodes in the wireless network architecture; a set of wireless anchor nodes, each wireless anchor node in the set of wireless anchor nodes being located at a known location and comprising a memory for storing instructions, a processing unit, and radio frequency circuitry for transmitting and receiving communications in the wireless network architecture; Equipped with The set of radio anchor nodes comprises a first radio anchor node, the first radio anchor node comprising: In the first time, Detecting first channel state information for a first frequency channel of a radio frequency signal received from the wireless node; Detecting second channel state information for a second frequency channel of the radio frequency signal that is non-contiguous with the first frequency channel; calculating a delay profile estimate between the first radio anchor node and the radio node based on the first channel state information and the second channel state information without phase alignment; In the second time, calculating a set of ranging measurements representative of distances between wireless anchor nodes and the wireless nodes in the set of wireless anchor nodes based on the delay profile estimates; A system configured to triangulate a position of the wireless node based on a maximum likelihood estimate of the set of ranging measurements.

2. The system of claim 1 , wherein the first wireless anchor node is configured to triangulate a position of the wireless node based on a probability distribution of ranging measurements in the set of ranging measurements and a position hypothesis for the wireless node.

3. 3. The system of claim 2, wherein the first radio anchor node is configured to triangulate a position of the wireless node based on an uncertainty of a ranging measurement in the set of ranging measurements associated with a wireless anchor node in the set of wireless anchor nodes and a distance from the wireless anchor node to the position hypothesis.

4. 4. The system of claim 3, wherein the first wireless anchor node is configured to triangulate a position of the wireless node by reducing the importance of a first subset of ranging measurements from the set of ranging measurements by weighting the first subset of ranging measurements less than a second subset of ranging measurements in the set of ranging measurements, characterized by a first uncertainty range for an overall triangulation estimate and characterized by a second uncertainty range for determining the position of the wireless node.

5. each wireless anchor node in the set of wireless anchor nodes includes a mobile robot that changes position from a first anchor node position to a second anchor node position during location determination; The system of claim 1 , wherein the first wireless anchor node is configured to calculate the set of ranging measurements based on the first anchor node position and the second anchor node position of each wireless anchor node in the set of wireless anchor nodes.

6. 1. A method for locating a plurality of nodes in a wireless network architecture, comprising: transmitting a communication to a wireless node located at an unknown location using a set of wireless anchor nodes, each wireless anchor node in the set of wireless anchor nodes located at a known location; receiving a communication from the wireless node; In the first time, accessing first channel condition information for a first frequency channel of a radio frequency signal received from the wireless node and second channel condition information for a second frequency channel of the radio frequency signal, the first frequency channel and the second frequency channel comprising non-contiguous channels; estimating a time delay associated with a radio frequency signal based on the first channel state information and the second channel state information without phasing; In the second time, calculating a set of ranging measurements between each wireless anchor node in the set of wireless anchor nodes and the wireless node based on a time delay; triangulating a position of the wireless node based on a maximum likelihood estimate of the set of ranging measurements; A method comprising:

7. 7. The method of claim 6, wherein triangulating the position of the wireless node includes triangulating the position of the wireless node based on a probability distribution of ranging measurements in the set of ranging measurements and a position hypothesis for the position of the wireless node.

8. 8. The method of claim 7, wherein triangulating the position of the wireless node includes triangulating the position of the wireless node based on uncertainty of ranging measurements in the set of ranging measurements associated with wireless anchor nodes in the set of wireless anchor nodes and distances from the wireless anchor nodes to the position hypotheses.

9. Triangulating the position of the wireless node includes triangulating the position of the wireless node by deemphasizing a first subset of ranging measurements of the set of ranging measurements; characterized by a first uncertainty by weighting a first subset of range measurements in the set of range measurements less than a second subset of range measurements in the set of range measurements; 9. The method of claim 8, characterized by a second uncertainty for determining the location of the wireless node, the second uncertainty being smaller than the first uncertainty.

10. transmitting a communication to the wireless nodes includes transmitting a communication to the set of wireless anchor nodes, each wireless anchor node in the set of wireless anchor nodes including a mobile robot that changes position from a first anchor node position to a second anchor node position during location determination; 7. The method of claim 6, wherein calculating the set of ranging measurements includes calculating the set of ranging measurements based on the first anchor node location and the second anchor node location of each wireless anchor node in the set of wireless anchor nodes.

Citation Information

Patent Citations

  • Wireless sensor network node locating method and device

    CN107040992A

  • Radio location detection system

    JP2005274363A

  • Method and system for locating position of transceiver

    JP2010160132A

  • Indoor position estimation using reception signal quality weight

    JP2017223645A

  • System and method for self-calibrating, self-organizing and localizing sensors in wireless sensor networks

    US20120036198A1