Optimized new algorithm for Bluetooth low energy (BLE) high precision distance measurement (HADM) for indoor applications

By selecting the appropriate antenna polarization and phase calibration network device core in the Bluetooth Low Energy network, combining HADM and AoA/AoD methods, and dynamically adjusting the positioning algorithm, the positioning problem of BLE devices under unfavorable network configurations is solved, achieving fast and accurate device positioning and communication connection.

CN120659141APending Publication Date: 2025-09-16HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510110695.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-14
Filing Date
2025-01-23
Publication Date
2025-09-16

AI Technical Summary

Technical Problem

In existing technologies, the Bluetooth Low Energy (BLE) High Accuracy Distance Measurement Method (HADM) has difficulty accurately locating enabled devices when the network configuration and environment are not suitable, resulting in communication connection difficulties.

Method used

By selecting the network device core with appropriate antenna polarization and phase calibration, combined with HADM and AoA/AoD methods, the positioning algorithm is dynamically adjusted to adapt to different network configurations and environments to determine the device location.

Benefits of technology

It enables fast and accurate positioning of enabled devices in any network configuration and environment, simplifying communication connections between devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120659141A_ABST
    Figure CN120659141A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to optimized innovative algorithms for Bluetooth Low Energy (BLE) High Accuracy Distance Measurement (HADM) for indoor applications. Systems and methods for locating client devices in a network using low power consumption # imgabs0 # (BLE) are described herein. Upon determining that an access point (AP) is connected to a client device, an antenna of a network device may be selected based on an antenna polarization of the client device. A first channel frequency and a second channel frequency for the client device may be selected. A first phase measurement and a second phase measurement may be determined based on the first channel frequency and the second channel frequency. A distance of the client device from the AP may be determined based on a frequency difference between the first channel frequency and the second channel frequency and a phase difference between the first phase measurement and the second phase measurement. A direction angle of the client device to the AP may be determined. A location of the client device may be determined from the distance and the direction angle.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] An access point (AP) is a networking device that allows devices to use radio waves to interface with the Internet or other nearby devices. An AP forms a wireless local area network (WLAN) and acts as a central transmitter and receiver for wireless radio signals between wireless devices. Multiple APs may be available in a given area, and each AP may be located in a different location within the given area.

[0002] It is a technology useful for transferring data between devices. (BLE) is a wireless personal area network technology designed to provide Many of the same features, but with reduced power consumption and cost, while still maintaining a similar communication range. Various measurement methods can be used in BLE to measure the enabled The distance between devices is measured using a received signal strength indicator (RSSI) method (with an accuracy of approximately 3 to 5 meters), an angle of arrival (AoA) / angle of departure (AoD) method, and a high-accuracy distance measurement (HADM) method. These measurement methods each have a resolution (i.e., a margin of error) in terms of the accuracy of the distance measurement (RSSI has a resolution of approximately 3 to 5 meters, AoA / AoD has a resolution of approximately 50 cm, and HADM has a resolution of approximately 10 cm).

[0003] Currently, when positioning is enabled The use of this measurement method in devices is limited based on the network configuration and environment, so that a minimum number of APs must be available in the network to perform measurements. When the network configuration and environment are not suitable, this may cause problems in which the device cannot locate other devices in the network to establish a communication connection. It is necessary to perform one or more measurement methods (such as HADM) to enable positioning regardless of the network configuration and environment. devices to enable users to locate other devices and to enable communication connections to be established more easily. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The present disclosure is described in detail with reference to the following figures, according to one or more various examples. The figures are provided for illustrative purposes only and depict only typical or exemplary examples. These illustrative examples are not intended to limit or define the present disclosure, but rather to provide examples to aid understanding thereof. Additional examples are discussed in the detailed description, and further description is provided there.

[0005] Figure 1 is a method for using low power consumption according to various examples described in this disclosure Illustration of an example computing system using Bluetooth Low Energy (BLE) to locate a client device.

[0006] Figure 2 is an illustration of an example computing system for locating a network of client devices using BLE according to various examples described in this disclosure.

[0007] Figure 3A is an illustration of an example network device for communicating with a client device using two sets of antennas according to various examples of the present disclosure.

[0008] Figure 3B is a graph showing an example of the relationship between the difference in channel frequency and the allowable distance range between a client device and an AP.

[0009] Figure 3C is another graph illustrating an example of the relationship between the difference in channel frequency and the resolution range in determining the position of a client device relative to an AP.

[0010] Figure 4 is an illustration of an example diagram for locating a client device by performing high accuracy distance measurement (HADM) according to various examples of the present disclosure.

[0011] Figure 5 is an illustration of an example diagram for locating a client device by performing HADM according to various examples of the present disclosure.

[0012] Figure 6 is an illustration of example computing components including one or more hardware processors and a machine-readable storage medium storing a set of machine-readable / machine-executable instructions according to various examples of the present disclosure, which, when executed, causes the one or more hardware processors to perform an illustrative method for locating a client device by executing HADM.

[0013] Figure 7 A block diagram is shown of an example computer system in which various examples of the present disclosure may be implemented.

[0014] These drawings are not intended to be exhaustive and do not limit the disclosure to the precise forms disclosed. DETAILED DESCRIPTION

[0015] High Accuracy Distance Measurement (HADM) can be used to enable The distance of the device relative to one or more access points (AP) to enable positioning HADM uses channel detection technology, which uses the enabled The device's two low-power (BLE) channel frequencies. HADM also correlates the frequency difference and phase difference between BLE channel frequencies, which can give the AP and enabled The result will be a circular distance with a radius (R) around the AP, which represents the distance of the enabled The possible location of the device relative to the AP. Select Enable The frequencies of the two BLE channels of the device are important in optimizing the maximum range and resolution (i.e., margin of error) for HADM measurements. The difference (i.e., the difference) between the two channel frequencies of the device increases, and the AP is enabled The maximum achievable range between devices also decreases with decreasing resolution (i.e., increases with smaller error percentages). The difference between the two channel frequencies of the device is reduced, and the AP is enabled The maximum achievable range between devices also increases with increasing resolution (i.e., gets worse with a larger percentage error).

[0016] Currently, when enabling When there are at least two adjacent APs around the device, HADM can be used to locate the enabled The device is located in the enabled The devices are within the line of sight (LoS) of the primary AP to which they are connected. This particular approach of using HADM on the primary AP and two surrounding APs is known as AP trilateration. Unfortunately, the use of AP trilateration is limited because it requires a specific AP to be connected to an enabled AP. The two surrounding LoS APs of the primary AP of the device. Being able to apply HADM in any network configuration and setting may be beneficial for locating the device faster and more accurately. In addition, being able to apply HADM regardless of the network configuration and setting may enable users to more easily identify and establish communication connections with other nearby devices.

[0017] Being able to apply HADM to various device positioning methods can allow the positioning system to select the best device positioning method to use HADM to locate the device based on the network configuration and the surrounding environment. The examples of the present disclosure provide a solution in which an algorithm can be used to locate the device from an application or using HADM to enable These methods include AP trilateration and only require the use of devices connected to the enabled In this way, you can use positioning to enable The best positioning method for the device, allowing the determination of the enabled The location of the device is determined regardless of the mapping of APs in the enterprise.

[0018] Examples of the present disclosure may provide systems and methods configured to locate client devices in a network. Such client devices may include, for example, low power consumption (BLE) Feature Enabling device. To locate the client device, the positioning system may use a network device (such as a radio chip) to perform an optimal positioning method to locate the client device. The network device may include at least two cores, each core having at least two separate antennas. The first core may be used for HADM applications, while the second core may be used for Internet of Things (IoT) applications or for angle of arrival / angle of departure (AoA / AoD) methods, depending on the mapping of APs in the enterprise. The two cores may have the same phase length at their respective antenna connectors, or at least each core may be phase calibrated to have the same initial phase at its respective antenna. The positioning system may use an algorithm to determine the optimal positioning method based on the network configuration, and use the network device to perform the optimal positioning method to locate the client device.

[0019] In one example, if it is determined that a primary positioning AP has two or more surrounding APs in its line of sight (LoS), the positioning system can select the antenna(s) of the first core of the network device to be used for the HADM application based on the antenna polarization of the client device (i.e., the vertical antenna of the first core can be selected for the vertical antenna of the client device, and the horizontal antenna of the first core can be selected for the horizontal antenna of the client device). The second core of the network device can be used for the IoT application. The positioning system can then use HADM to implement an AP trilateration positioning method to determine the location of the client device based on the determined distance of the client device from the primary AP and each of the surrounding LoS APs. For example, the client device can be located at any location around the primary positioning AP, with the determined distance between the client device and the primary positioning AP (i.e., the result can be a circular distance of a radius (R) around the primary positioning AP, where the radius is the determined distance and the circular distance represents a possible location of the client device relative to the primary positioning AP). The client device can also be located at any location around the first LoS AP in the LoS AP, with the determined distance between the client device and the first LoS AP in the LoS AP. The client device may also be located at any location around a second one of the LoS APs having a determined distance from the client device to the second one of the LoS APs. Using the circular distances for each AP (i.e., the primary AP and the two LoS ​​APs), the location of the client device may be determined as the intersection of the three circular distances.

[0020] In another example, if it is determined that the primary positioning AP does not have two or more surrounding APs in LoS, the positioning system may select a first core of the network device to determine the distance of the client device from the primary positioning AP using HADM. The antenna(s) of the first core of the network device may be selected based on the antenna polarization of the client device (i.e., the vertical antenna of the first core may be selected for the vertical antenna of the client device, and the horizontal antenna of the first core may be selected for the horizontal antenna of the client device). The client device may be located at any location around the primary positioning AP that has the determined distance of the client device from the primary AP (i.e., the result may be a circular distance around the primary positioning AP with a radius of the determined distance, which represents a possible location of the client device relative to the primary positioning AP). When determining the distance of the client device and generating the circular distance, the positioning system may use the network device to apply at least one of an AoA method on at least one core having at least two antennas or an AoD method on at least one core having at least two antennas to determine the direction in which the client device sends a signal to the primary positioning AP (i.e., the AoD direction) and the direction in which the client device receives a signal from the primary positioning AP (i.e., the AoA direction), respectively. The antenna(s) of the first and second cores of the network device can be selected based on the antenna polarization of the client device (i.e., the vertical antennas of the first and second cores can be selected for the vertical antennas of the client device, and the horizontal antennas of the first and second cores can be selected for the horizontal antennas of the client device). In this example, the two cores of the network device can be phase-calibrated, and the antenna polarization on the cores of the network device can be selected to be the same as the antenna polarization of the client device. Using the circular distance of the client device and at least one of the AoA direction or the AoD direction, the positioning system can determine the location of the client device. In this way, the location of the client device can be determined regardless of the surrounding environment of the AP in the enterprise, and the positioning system can determine the best positioning method for locating the client device based on the network configuration.

[0021] The present disclosure provides a solution to a technical problem rooted in computer technology regarding the limited ability of a network to locate a device, particularly when the network has unfavorable configurations and properties. The present disclosure can enable a network to locate any client device regardless of the network configuration and properties, including the lack of internet or The present disclosure may simultaneously use various computer algorithms, programs, and applications to process and implement computationally intensive and complex data, thereby providing faster and more accurate determinations in locating devices in a network.

[0022] Figure 1is an illustration of an example computing system 100 that includes one or more computing components, which may include any of a server 111, a router 120, a switch 122, a network controller 124, an access point (AP) 126, and a DHCP server 128. In some examples, router 120 may be associated with firewall 121. Server 111 may also include or be associated with a database or cache 112 (hereinafter referred to as "database") that stores attributes of particular client devices and accesses control lists or policies associated with particular client devices, such as client devices 151-157 connected to the network via access point 126. In some examples, any or all of client devices 151-157 may include plug-and-play devices. Although in Figure 1 Only seven client devices are shown, but any number of client devices may be connected via access point 126. Database 112 may be integrated or embedded within server 111, or spatially separated from server 111. Access control lists may be stored as files and / or indexed. In some examples, the access control list or policy may include specific access levels and / or access rights assigned to each client device based on the group or classification to which the client device belongs. For example, the access rights may indicate a subset (e.g., partial or complete) of data resources, such as specific data servers, databases, platforms, objects, file directories, or files that each client device is authorized to access, a specific protocol (e.g., Hypertext Transfer Protocol (HTTP) or File Transfer Protocol (FTP)) that each client device may utilize to access the data resources, a transmission speed or rate to be provided to each of the client devices, one or more vendor-specific attributes (VSAs), and / or a specific VLAN to be assigned to each client device. In some examples, the VSAs may include bandwidth for incoming and / or outgoing traffic, as well as download and / or upload speeds. Access control lists or policies may be stored in database 112 of server 111 rather than at other computing components such as router 120 , so that server 111 can centrally update access control lists or policies and propagate any updates to other computing components in the network.

[0023] In some examples, client devices 151 to 157 may be (e.g., IEEE 802.11), (e.g., IEEE 802.15.1) or cellular connection (e.g., long term evolution, fifth generation cellular network, etc.) to wirelessly access the Internet through access point 126 to wirelessly access server 111. Server 111 can implement software and / or hardware such as a web server, application server, communication server, database server, etc. Server 111 can be implemented by In other examples, access point 126 may be a corporate intranet (e.g., a private network), and client devices 151 to 157 may wirelessly access the corporate intranet through access point 126 to access data files or other corporate data. In some cases, access point 126 may be a network link (e.g., a private network) that allows multiple computing components to communicate with each other. , Ethernet ports, routers, switches, etc.). Network controller 124 and access point 126 can be configured to allow computing components in the network, such as client devices 151-157 and server 111, to connect. In some examples, access point 126 can establish client-client communications between client devices 151-157.

[0024] Each of the computing components may include one or more hardware processors and logic implementing instructions to perform the functions of the computing components. Server 111 may include or be associated with one or more hardware processors and logic 113 implementing instructions or protocols to perform the functions of server 111. Logic 113 may execute instructions to retrieve identification information and attributes of a client device. Logic 113 may execute instructions to select a first channel frequency and a second channel frequency. Logic 113 may execute instructions to determine a first phase measurement and a second phase measurement. Logic 113 may execute instructions to determine a distance between the client device and access point 126. Logic 113 may execute instructions to determine the angle of arrival (AoA) of the client device to access point 126. Logic 113 may execute instructions to determine the angle of departure (AoD) of the client device to access point 126. Logic 113 may execute instructions to determine the location of the client device.

[0025] Logic 113 may be associated with AP 126. Logic 113 may instruct AP 126 to execute instructions to select a first channel frequency and a second channel frequency. AP 126 may execute instructions to determine a first phase measurement and a second phase measurement. AP 126 may execute instructions to determine a distance of a client device from AP 126. AP 126 may execute instructions to determine an AoA direction from the client device to AP 126. AP 126 may execute instructions to determine an AoD direction from the client device to AP 126. AP 126 may execute instructions to determine a location of the client device.

[0026] Figure 2 2 is an illustration of an example computing system of a network 200 through which positioning of client devices using high accuracy distance measurement (HADM) is implemented according to various examples of the present disclosure. In some examples, network 200 may include or comprise one or more computing components, which may include any of server 211, network device 220, network controller 222, access points 224, 250, 252, and 254, and client device 230. Figure 2 Detailed description Figure 1 The client device 230 can be any computing device such as a computer, mobile phone, tablet device, etc. The network device 220 can be implemented as Figure 1 The router 120 or switch 122 of the network device 220 can be a router or a switch configured to connect various computing components in the network, such as client devices 230, network controller 222, access points (APs) 224, and servers 211. Server 211 can also include or be associated with a database or cache 212 (hereinafter referred to as "database") that stores attributes of specific client devices, servers, and access control lists or policies associated with client devices 230 that are connected to the network via access points 224. In some examples, client devices 230 can access the network via (e.g., IEEE 802.11), (e.g., IEEE 802.15,1) or cellular connection (e.g., long term evolution, 5th generation cellular network, etc.) to wirelessly access the Internet to access the server 211 through the network device 220. The server 211 can implement software and / or hardware such as a web server, application server, communication server, database server, etc. The server 211 can be In other examples, network device 220 may be a corporate intranet (e.g., a private network), and client device 230 may wirelessly access the corporate intranet through network device 220 to access data files or other corporate data. In some cases, network device 220 may be a network link (e.g., a server) that allows multiple computing components to communicate with each other. Ethernet ports, routers, switches, etc.). Network controller 222 and access point 224 can be configured to allow computing components in the network, such as client device 230 and server 211, to connect through network device 220. In this example, network device 220 can establish client-client communication connections between client device 230 and other client devices.

[0027] In some examples, client device 230 can establish a communication connection with network device 220, access point 224, and one or more other client devices. Client device 230 can receive and send transmission packets, such as packets 240 and 242, to network device 220. Packet 242 can include identification information and attributes of client device 230. Network device 220 can use server 211 to implement one or more operations. Network device 220 can determine whether there are at least two surrounding APs, such as APs 250, 252, and 254, surrounding AP 224. Network device 220 can determine whether there are at least two surrounding APs in line of sight (LoS) with respect to AP 224. If it is determined that there are fewer than two surrounding APs or fewer than two surrounding APs in LoS with respect to AP 224, network device 220 can select at least one core having at least two antennas to determine the distance of client device 230 from AP 224 using HADM. The antennas of the core of network device 220 may be selected based on the antenna polarization of client device 230 (i.e., the vertical antennas of the core of network device 220 may be selected for the vertical antennas of client device 230, and the horizontal antennas of the core of network device 220 may be selected for the horizontal antennas of client device 230).

[0028] Network device 220 may select a first channel frequency and a second channel frequency for client device 230. Network device 220 may send an instruction to AP 224 to perform HADM to determine the location of client device 230. Based on the instruction received from network device 220, AP 224 may determine a first phase measurement and a second phase measurement using the first channel frequency and the second channel frequency. AP 224 may determine a frequency difference between the first channel frequency and the second channel frequency and a phase difference between the first phase measurement and the second phase measurement. AP 224 may use the frequency difference and the phase difference to determine a distance between client device 230 and AP 224. AP 224 may determine at least one of an angle of arrival (AoA) direction or an angle of departure (AoD) direction from client device 230 to AP 224. The AoA direction or AoD direction of client device 230 may be determined based on messages received or transmitted to client device 230 using at least two independent antennas of AP 224. AP 224 may use the distance and at least one of the AoA direction or AoD direction of client device 230 to determine the location of client device 230. AP 224 can determine the location of client device 230 by generating a location circle around AP 224 with a radius equal to the distance of client device 230, where the location circle indicates potential locations of client device 230 relative to AP 224. AP 224 can also determine an AoA position on the location circle based on the AoA direction from client device 230 to AP 224, or determine an AoD position on the location circle based on the AoD direction from client device 230 to AP 224. The location of client device 230 can be either the AoA position or the AoD position on the location circle. Server 211 can store identification information and attributes of client device 230 in a database, such as database 212. Server 211 can store the distance, AoA direction, AoD direction, and location of client device 230 in database 212.

[0029] If it is determined that there are at least two APs surrounding AP 224, and at least two surrounding APs are in LoS relative to AP 224, network device 220 may select two surrounding LoS APs, such as APs 250 and 254. Network device 220 may select a first channel frequency and a second channel frequency for client device 230. Network device 220 may instruct each of the LoS APs and APs 224 to perform HADM to determine the location of client device 230. Each of the LoS APs and APs 224 may use the first channel frequency and the second channel frequency to determine its respective first phase measurement and second phase measurement. Each of the LoS APs and APs 224 may determine its respective frequency difference between the first channel frequency and the second channel frequency, and its respective phase difference between the first phase measurement and the second phase measurement. AP 224 may use its respective frequency difference and its respective phase difference to determine the distance between client device 230 and AP 224. LoS AP 250 may use its respective frequency difference and its respective phase difference to determine the distance between client device 230 and AP 250. LoS AP 254 may use its respective frequency difference and its respective phase difference to determine the distance between client device 230 and AP 254. Network device 220 may use the distances of client device 230 from APs 224, 250, and 254 to determine the location of client device 230. The location of client device 230 may be determined by using the distance from each AP to client device 230 to create location circles around each AP, where the radius of each location circle is the respective distance of each AP, and the intersection of the location circles of the three APs may indicate the location of client device 230.

[0030] In this way, network device 220 can determine the location of a client device (such as client device 230) regardless of the number of access points surrounding and in LoS to an access point (such as AP 224) connected to the client device.

[0031] Figure 3AAn example of a network 300 is shown, through which high-accuracy distance measurement (HADM) of a client device can be performed according to various examples of the present disclosure. In some examples, network 300 can include a network device 310 and a client device 360. Client device 360 ​​can be any computing device, such as a computer, a mobile phone, a tablet device, etc. Network device 310 can be implemented as an access point, a router, or a switch. Network device 310 can also be implemented as an access point (AP) multi-link device (MLD). In some examples, network device 310 can be involved in multiple different client-server communications (including communications with client device 360) over which multiple sessions can occur simultaneously. Network device 310 can include processing resources 320 and machine-readable media 330. Machine-readable media 330 can include (i.e., be encoded with) instructions 332 that are executable by processing resources 320 of network device 310 to implement the functionality described herein with respect to instructions 332.

[0032] Although not in Figure 3A , but network device 310 can be configured to connect various computing components in the network, such as one or more client devices, including client devices (e.g., client devices 360, 151 to 157, and 230), network controllers (e.g., network controllers 124, 222), access points (e.g., access points 126, 224), and servers (e.g., servers 111, 211). The server can include or be associated with a database or cache (hereinafter referred to as a "database") that stores attributes of specific client devices, servers, and access control lists or policies associated with client devices 360 that are connected to network 300 via access points. In some examples, client devices 360 can access the network 300 via (e.g., IEEE 802.11), (e.g., IEEE 802.15,1) or cellular connection (e.g., long term evolution, fifth generation cellular network, etc.) to wirelessly access the Internet to access the server through the network device 310. The server can implement software and / or hardware, such as a web server, application server, communication server, database server, etc. The server can be In other examples, network device 310 may be a corporate intranet (e.g., a private network), and client device 360 ​​may wirelessly access the corporate intranet through network device 310 to access data files or other corporate data. In some cases, network device 310 may be a low-power, network-connected device that allows multiple computing components to communicate with each other. (BLE) radio chip. In other cases, the network device 310 can be a network link that allows multiple computing components to communicate with each other (e.g., Ethernet ports, routers, switches, etc.). Network controllers and access points can be configured to allow computing components in the network, such as client devices 360 and servers, to connect through network device 310. In some examples, network device 310 can be used to locate other devices in network 300, such as client device 360. In other examples, network device 310 can establish client-client communications between client device 360 ​​and other client devices.

[0033] exist Figure 3A In the examples of the present invention, the network device 310 can participate in any network data transmission operation, including but not limited to switching, routing, bridging, or a combination thereof. In some examples, the network device 310 may include a wireless access point (WAP). In the examples described herein, "WAP" generally refers to a receiving point for any known or convenient wireless access technology that may become known later. In particular, the term WAP is not intended to be limited to WAPs that comply with the IEEE 802.11 standard. A WAP is generally used as an electronic device that is suitable for allowing wireless devices to connect to a wired network via various communication standards. The WAP may include any necessary hardware components to perform one or more examples of the technology disclosed herein, including but not limited to: a processor, memory, a display device, an input device, communication facilities, etc. It should be understood by those of ordinary skill in the art that the network device 310 can be any (multiple) suitable type of network device manufactured by any (multiple) suitable manufacturer.

[0034] exist Figure 3AIn an example, network device 310 may include a first switching device 340, a first horizontal antenna 342, a first vertical antenna 344, a second switching device 350, a second horizontal antenna 352, and a second vertical antenna 354. In some examples, first switching device 340 may be connected to first horizontal antenna 342 and first vertical antenna 344, and second switching device 350 may be connected to second horizontal antenna 352 and second vertical antenna 354. In some examples, first switching device 340 may include one or more switches connected to one or more of first horizontal antenna 342 and first vertical antenna 344, and second switching device 350 may include one or more switches connected to one or more of second horizontal antenna 352 and second vertical antenna 354. In some examples, first switching device 340 may include one or more filters connected to one or more of first horizontal antenna 342 and first vertical antenna 344, and second switching device 350 may include one or more filters connected to one or more of second horizontal antenna 352 and second vertical antenna 354.

[0035] In some examples, each of the first vertical antenna 344, the second switching device 350, the second horizontal antenna 352, and the second vertical antenna 354 can operate at one or more frequency bands that comply with one or more IEEE standards (e.g., 802.11ax). In some examples, the first vertical antenna 344, the second switching device 350, the second horizontal antenna 352, and the second vertical antenna 354 can operate at one or more channels in the 2.4 GHz frequency band. In some examples, the first vertical antenna 344, the second switching device 350, the second horizontal antenna 352, and the second vertical antenna 354 can operate at one or more channels in the 5 GHz frequency band. In some examples, the first vertical antenna 344, the second switching device 350, the second horizontal antenna 352, and the second vertical antenna 354 can operate at one or more channels in the 6 GHz frequency band. It will be understood by those skilled in the art that the first vertical antenna 344, the second switching device 350, the second horizontal antenna 352, and the second vertical antenna 354 can operate on any (multiple) suitable frequency bands and comply with any (multiple) suitable types of wireless communication standards now known and later developed. In addition, although Figure 3A The network device 310 is shown as including two switching devices and four antennas (two horizontal and two vertical), but it will be understood by those skilled in the art that the network device 310 may include any suitable number of switching devices and antennas.

[0036] In some examples, each of the first vertical antenna 344, the second switching device 350, the second horizontal antenna 352, and the second vertical antenna 354 can send and / or receive directional signals, omnidirectional signals, or a combination thereof. In the examples described herein, a "directional" signal refers to a signal that radiates more strongly in one or more directions than in one or more other directions along the azimuth plane (i.e., the horizontal plane), while an "omnidirectional" signal refers to a signal that radiates equally in all directions along the azimuth plane. In some examples, each antenna may include a phased array antenna. In the examples described herein, a "phased array antenna" refers to an antenna array that can create a directional signal that can be electronically manipulated to point in different directions without moving the antenna. In such an example, a phased array antenna may include a directional and / or omnidirectional antenna array that can focus RF energy toward a specific spatial direction. It will be understood by those skilled in the art that the antenna may include any (multiple) suitable types of antennas now known and later developed. In addition, although Figure 3A Network device 310 is shown as including four antennas, but it will be appreciated by those skilled in the art that network device 310 may include any suitable number of antennas.

[0037] In some examples, network device 310 can be used to locate client devices such as, for example, client device 360 ​​in network 300 using high accuracy distance measurement (HADM). Client device 360 ​​can be a device that includes a low power (BLE) Feature Enabling device. In order to locate the client device 360, the network device 310 can be used to select and execute the best positioning method to locate the client device 360. The network device 310 may include at least two cores (e.g., a first switching device 340 and a second switching device 350), each core having at least two separate antennas (e.g., a first horizontal antenna 342 and a first vertical antenna 344 for the first switching device 340, and a second horizontal antenna 352 and a second vertical antenna 354 for the second switching device 350). The first core can be used for HADM applications, while the second core can be used for Internet of Things (IoT) applications or for angle of arrival / angle of departure (AoA / AoD) methods, depending on the mapping of APs in the enterprise. The two cores can have the same phase length at their corresponding antenna connectors, or at least each core can be phase-calibrated to have the same initial phase at its corresponding antenna. In one example, if a primary positioning AP has two or more surrounding APs in its line of sight (LoS), the HADM antenna(s) of the first core (i.e., the first horizontal antenna 342 and the first vertical antenna 344 of the first switching device 340) may be selected based on the antenna polarization of the client device 360 ​​(i.e., the first vertical antenna 344 of the first switching device 340 will be selected for the vertical antenna of the client device 360, and the first horizontal antenna 342 of the first switching device 340 will be selected for the horizontal antenna of the client device 360). The second core of the network device 310 may be used for IoT applications. The positioning system may then implement an AP trilateration positioning method to determine the location of the client device based on the determined distance of the client device 360 ​​from the primary AP and each of the surrounding LoS APs.

[0038] In another example, if the primary positioning AP does not have two or more surrounding APs in LoS, network device 310 can be used to implement HADM on the first or second core to determine the distance of client device 360 ​​from the primary positioning AP. Client device 360 ​​can be located at any location around the primary positioning AP with the determined distance (i.e., the result can be a circular distance with a radius (R) around the primary positioning AP, where the radius is the determined distance, which represents a possible location of client device 360 ​​relative to the primary positioning AP). When determining the distance of client device 360, network device 310 can be used to apply at least one of an AoA method or an AoD method on at least one core having at least two antennas to determine the direction of a signal received from or transmitted from client device 360 ​​to the primary positioning AP, respectively. In this example, the two cores of network device 310 can be phase-calibrated, and the antenna polarization on the core of network device 310 can be selected to be the same as the antenna polarization of client device 360. Using the circular distance of client device 360 ​​and at least one of the AoA direction or the AoD direction, the location of client device 360 ​​can be determined. In this way, network device 310 can be used to determine the location of client device 360 ​​regardless of the surrounding environment of the APs in network 300. Network device 310 uses an algorithm to determine and use the best positioning method to locate client device 360, depending on the configuration of network 300.

[0039] Client device 360 ​​may be connected to a first access point (AP) in network 300. The network may include one or more APs, including a first AP. A first channel frequency and a second channel frequency may be selected to locate client device 360 ​​relative to the first AP. The first channel frequency and the second channel frequency may be used to transmit messages or signals between client device 360 ​​and the first AP. Network device 310 may be used to transmit messages or signals between client device 360 ​​and the first AP. Network device 310 may use first switching device 340 and at least one of first horizontal antenna 342 and first vertical antenna 344 to transmit messages or signals between client device 360 ​​and the first AP at the first channel frequency. Network device 310 may use second switching device 350 and at least one of second horizontal antenna 352 and second vertical antenna 354 to transmit messages or signals between client device 360 ​​and the first AP at the second channel frequency.

[0040] When selecting a first channel frequency (which can be any frequency number that can be used by both the client device 360 ​​and the first AP), the second channel frequency can be selected based on the first channel frequency and a frequency difference threshold between the first channel frequency and the second channel frequency. The frequency difference threshold can be between 2 MHz and 78 MHz. The frequency difference threshold can be preset. The frequency difference threshold can be based on one or more attributes of the client device 360, the first AP, the network 300, or any combination thereof. The frequency difference between the BLE channels can be in steps of 2 MHz. The actual frequency difference between the first channel frequency and the second channel frequency (i.e., the difference in channel frequencies) can be any value between 2 MHz and 78 MHz.

[0041] The second channel frequency may also be selected based on a resolution threshold. The resolution threshold may be the maximum margin of error allowed when determining the distance of a device. If the resolution threshold is 5 cm, the actual resolution may be any value up to 5 cm. As an example, the resolution threshold may be 5 cm, indicating that the determined distance of client device 360 ​​from the first AP may have a margin of error of up to 5 cm. If the determined distance of client device 360 ​​from the first AP is 40 cm, the actual distance of client device 360 ​​may be between 35 cm and 45 cm, where the resolution threshold is 5 cm. The actual frequency difference between the first channel frequency and the second channel frequency may determine the actual resolution to be used in determining the distance of client device 360 ​​from the first AP. A resolution threshold may exist. The resolution threshold may be based on one or more attributes of client device 360, the first AP, network 300, or any combination thereof. A resolution threshold may exist. Many variations are possible.

[0042] The difference in channel frequency between the first channel frequency and the second channel frequency can affect the range of distances allowed between the client device 360 ​​and the first AP so that the exact location of the client device 360 ​​relative to the first AP can be determined. For example, the lower the difference in channel frequency (i.e., the closer the first channel frequency and the second channel frequency are numerically), the greater the distance allowed between the client device 360 ​​and the first AP in order to locate the position of the client device 360 ​​relative to the first AP. In addition, the greater the difference in channel frequency (i.e., the farther the first channel frequency and the second channel frequency are numerically), the smaller the distance allowed between the client device 360 ​​and the first AP in order to locate the position of the client device 360 ​​relative to the first AP. If the client device 360 ​​is not at a distance that is within the distance allowed based on the difference in channel frequency, it may be necessary to reduce the difference in channel frequency (i.e., by adjusting at least one of the first channel frequency and the second channel frequency) until the distance of the client device 360 ​​is within the allocated allowed distance. Wherein, Figure 3Bis a graph illustrating an example of the relationship between the difference in channel frequency and the allowable distance range between a client device and an AP.

[0043] The difference in channel frequency between the first channel frequency and the second channel frequency can affect the resolution range (e.g., the margin of error) that will be used to determine the exact location of the client device 360 ​​relative to the first AP. For example, the lower the difference in channel frequency (i.e., the closer the first channel frequency and the second channel frequency are numerically), the greater the resolution range of the distance between the client device 360 ​​and the first AP. This means that the lower the difference in channel frequency, the less accurate the determination of the location of the client device 360 ​​relative to the first AP may be. In addition, the greater the difference in channel frequency (i.e., the farther the first channel frequency and the second channel frequency are numerically), the lower the resolution range of the distance between the client device 360 ​​and the first AP. This means that the greater the difference in channel frequency, the more accurate the determination of the location of the client device 360 ​​relative to the first AP may be. Among them, Figure 3C is another graph illustrating an example of the relationship between the difference in channel frequency and the resolution range in determining the position of a client device relative to an AP.

[0044] Figure 4 An example diagram 400 of performing high-accuracy distance measurement (HADM) to determine the location of a client device in a network is shown. A client device may be connected to a first access point (AP) in the network, such as AP 410. The network may include one or more APs, including AP 410. A first channel frequency and a second channel frequency may be selected to locate the client device relative to AP 410. The first channel frequency and the second channel frequency may be used to send messages or signals between the client device and AP 410. The location of the client device relative to AP 410 may be determined regardless of the number of APs in the network, the number of APs surrounding AP 410, and the number of APs in line of sight (LoS) to AP 410.

[0045] exist Figure 4 In the example of FIG. 4 , a single AP (such as AP 410) may be used to perform a method for locating a client device. The method may apply HADM to determine the location of the client device based on a single AP. Figure 3A), a first phase measurement and a second phase measurement may be determined. In an example, the first phase measurement may be determined based on a first channel frequency, and the second phase measurement may be determined based on a second channel frequency. The first phase measurement may indicate a difference between a phase of a signal being received by the AP 410 having the client device and a phase of a signal being transmitted at the first channel frequency. The second phase measurement may indicate a difference between a phase of a signal being received by the AP 410 having the client device and a phase of a signal being transmitted at the second channel frequency. Using the first channel frequency and the second channel frequency, a difference in channel frequencies (i.e., a frequency difference) may be determined, and the distance (or estimated distance) between the client device and the AP 410 may be calculated using the difference. Using the first phase measurement and the second phase measurement, a difference in phase measurements (i.e., a phase measurement difference) may be determined, and the distance (or estimated distance) between the client device and the AP 410 may be calculated using the difference. The distance between the client device and the AP 410 (such as distance 420) may be estimated based on a resolution (i.e., a magnitude of error) that is taken into account based on the difference in channel frequencies (e.g., a magnitude of error). Figure 3A and Figure 3C Detailed description in the graph in ).

[0046] Use the difference in channel frequency (Δf) and phase measurement A distance 420 of the client device from the AP 410 may be determined. The distance 420 of the client device from the AP 410 may indicate the amount of space between the client device and the AP 410. The determined distance 420 may be an estimate of the actual distance between the client device and the AP 410 based on the resolution to be considered according to the difference in channel frequencies. The distance 420(d) may be determined by Equation 1, where c is the speed of light 3*10 8 m / s:

[0047]

[0048] Upon determining distance 420, a location circle 422 may be generated around AP 410. The radius of location circle 422 may have the radius of the determined distance 420 of the client device, with AP 410 located at the center of location circle 422. Location circle 422 may indicate all potential locations of the client device relative to the location of AP 410 based on the determined distance 420 between the client device and AP 410.

[0049] In one example, an angle of arrival (AoA) direction 430 of a client device to an AP 410 may be determined and used to determine the location of the client device. The AoA direction 430 of the client device to the AP 410 may indicate a direction or angle from which the AP 410 is receiving a message or signal from the client device. The AoA direction 430 may be determined using one of a first channel frequency or a second channel frequency to receive a message or signal sent by the AP 410 from the client device. The AP 410 may receive the message or signal from the client device using at least one antenna (such as a first antenna) tuned to one of the first channel frequency or the second channel frequency (such as a first antenna). Figure 3A Detailed description in ).

[0050] AoA directions 430 may be used with location circle 422 to determine an AoA position 432 on location circle 422. AoA position 432 may be the intersection of AoA directions 430 on location circle 422. AoA position 432 may indicate a potential location of a source of a message or signal received by AP 410 from a client device. AoA position 432 may be an estimate of the location of the client device.

[0051] In another example, an angle of departure (AoD) direction 440 of the client device to the AP 410 may be determined and used to determine the location of the client device. The AoD direction 440 of the client device to the AP 410 may indicate a direction or angle from which the AP 410 is transmitting a message or signal to the client device. The AoD direction 440 may be determined using one of a first channel frequency or a second channel frequency to transmit a message or signal from the client device by the AP 410. The AP 410 may transmit a message or signal to the client device using at least one antenna, such as a second antenna, that is tuned to one of the first channel frequency or the second channel frequency. Figure 3A ). The second antenna of AP 410 may be tuned to the same channel frequency as the first antenna of AP 410. The second antenna of AP 410 may be tuned to a channel frequency that is different from the channel frequency tuned for the first antenna of AP 410. For example, if the first antenna of AP 410 is tuned to a first channel frequency to receive messages or signals from a client device, the second antenna of AP 410 may be tuned to a second channel frequency to transmit messages or signals to the client device. Many variations are possible.

[0052] AoD directions 440 can be used with location circle 422 to determine an AoD location 442 on location circle 422. AoD location 442 can be an intersection of AoD directions 440 on location circle 422. AoD location 442 can indicate a potential location where a message or signal sent by AP 410 to a client device may end. AoD location 442 can be an estimate of the location of the client device.

[0053] Using the position circle 422 and at least one of the AoA position 432 or the AoD position 442, the position of the client device (or the estimated position of the client device) may be determined. Figure 4 As shown in FIG, if the AoA method is performed, the AoA direction 430 may intersect the location circle 422 at an AoA location 432. The AoA location 432 may represent a location where a client device on the location circle 422 receives a message or signal from the AP 410. The AoA location 432 may indicate the location (or estimated location) of the client device. In another example, as shown in FIG. Figure 4 As shown in FIG, if the AoD method is performed, the AoD direction 440 may intersect the location circle 422 at an AoD location 442. The AoD location 442 may represent the location at which the client device on the location circle 422 transmits a message or signal to the AP 410. The AoD location 442 may indicate the location (or estimated location) of the client device.

[0054] The size of the position circle portion 450 can vary (ie, be smaller or larger). Figure 4 4. Although not shown in FIG. 4, AoA direction 430 may be located on the same axis as AoD direction 440, resulting in AoA position 432 and AoD position 442 being located at the same location on position circle 422. If AoA position 432 and AoD position 442 are located at the same location on position circle 422, the AoA / AoD position may be the actual location of the client device. In an ideal situation, AoA direction 430 and AoD direction 440 may be located on the same axis, and the AoA / AoD position on position circle 422 may be the exact location of the client device.

[0055] Table 1 shows examples of various phase measurement differences and their corresponding distance measurements for a channel frequency difference of 8 MHz. Table 1 demonstrates that the distance measurement of a client device from the primary AP varies depending on the phase measurement difference. Even if the channel frequency difference remains constant at 8 MHz, the phase measurement difference can vary depending on the channel frequency selection. In general, as the phase measurement difference increases, the distance measurement of the client device from the primary AP can also increase.

[0056]

[0057]

[0058] Table 1

[0059] This positioning method can be performed regardless of the surrounding environment and network configuration of AP 410. This positioning method can be performed when it is determined that the number of APs surrounding AP 410 is less than two. This positioning method can be performed when it is determined that the number of APs surrounding AP 410 is at least two and less than two of the surrounding APs are in line of sight (LoS) to AP 410. This positioning method can be performed regardless of whether it is determined that the number of APs surrounding AP 410 is at least two and at least two of the surrounding APs are in LoS to AP 410. Many variations are possible.

[0060] Figure 5 An example diagram 500 is shown of performing high-accuracy distance measurement (HADM) to determine the location of a client device in a network. A client device may connect to a first access point (AP) in the network, such as AP 510. The network may include one or more APs, including APs 510, 512, 514, 516, and 518. A first channel frequency and a second channel frequency may be selected to locate the client device relative to AP 510. The first channel frequency and the second channel frequency may be used to send messages or signals between the client device and AP 510. The location of the client device relative to AP 510 may be determined using multiple APs in the network, such that there are at least two APs surrounding AP 510 and at least two of the surrounding APs are in line of sight (LoS) to AP 510.

[0061] In the example Figure 5In the present invention, a method for locating a client device may be performed using three APs (such as APs 510, 512, and 514). This positioning method may apply HADM to determine the location of the client device based on the three APs. After determining that the client device is connected to AP 510, the network may be analyzed to determine whether any APs, such as APs 512, 514, 516, and 518, are located around AP 510. When an AP in the network is within a distance threshold from AP 510, such an AP may be determined to be located around AP 510. After determining that at least two APs are located around AP 510, such surrounding APs, such as APs 512, 514, 516, and 518, may be analyzed to determine whether any APs are located in LoS with respect to AP 510. When an AP is located within the LoS distance threshold relative to AP 510, the AP may be located in LoS with respect to AP 510. An AP may be located in LoS with respect to AP 510 when the line of sight between the AP and AP 510 is not physically blocked by another network device. An AP may be in LoS to AP 510 when the communication line of the straight path between the AP and AP 510 is not blocked by a signal or message from another network device. Many variations are possible.

[0062] It may be determined that AP 512 has LoS 522 to AP 510. It may be determined that AP 514 has LoS 524 to AP 510. It may be determined that APs 516 and 518 do not have LoS to AP 510. Assuming that at least two surrounding APs of AP 510 are in LoS to AP 510, this positioning method may proceed to determine a plurality of distances of the client device from the primary AP (i.e., AP 510) to which the client device is connected and from each of the LoS APs to the primary AP (i.e., APs 512 and 514).

[0063] After determining at least two LoS ​​APs to AP 510, a network device, such as a radio chip, may be used to perform a positioning method to locate the client device. The network device may include at least two cores, each core having at least two separate antennas. At least one core may be selected to perform HADM to determine the distance of the client device from each of LoS APs 512 and 514 and AP 510. The antenna of the core of the network device may be selected based on the antenna polarization of the client device. In one example, a vertical antenna of the core of the network device may be selected for the vertical antenna of the client device. In another example, a horizontal antenna of the core of the network device may be selected for the horizontal antenna of the client device.

[0064] By selecting an antenna to communicate with the client device, a first channel frequency and a second channel frequency (eg Figure 3A), and a first phase measurement and a second phase measurement of AP 510 may be determined. In an example, the first phase measurement of AP 510 may be determined based on a first channel frequency, and the second phase measurement of AP 510 may be determined based on a second channel frequency. The first phase measurement of AP 510 may indicate a difference between a phase of a signal being received by AP 510 with a client device at the first channel frequency and a phase of a signal being transmitted. The second phase measurement of AP 510 may indicate a difference between a phase of a signal being received by AP 510 with a client device at the second channel frequency and a phase of a signal being transmitted. Using the first channel frequency and the second channel frequency, a difference in channel frequencies (i.e., a frequency difference) may be determined, and the distance (or estimated distance) between the client device and AP 510 may be calculated using this difference. Using the first phase measurement of AP 510 and the second phase measurement of AP 510, a difference in phase measurements of AP 510 (i.e., a phase measurement difference) may be determined, and the distance (or estimated distance) between the client device and AP 510 may be calculated using this difference. The distance between the client device and the AP 510, such as distance 530 (e.g., Figure 3A and Figure 3C Detailed description of the curve diagram in ).

[0065] The difference in channel frequency difference (Δf) and phase measurement using AP 510 A distance 530 of the client device from the AP 510 may be determined. The distance 530 of the client device from the AP 510 may indicate the amount of space between the client device and the AP 510. The determined distance 530 may be an estimate of the actual distance between the client device and the AP 510 based on the resolution to be considered according to the difference in channel frequencies. The distance 530(d) may be determined by Equation 1 (shown above), where c is the speed of light 3*10 8 m / s.

[0066] After determining the distance 530 of the client device relative to the AP 510, a location circle 532 may be generated around the AP 510. The location circle 532 may have a radius of the determined distance 530 of the client device, with the AP 510 located at the center of the location circle 532. The location circle 532 may indicate all potential locations of the client device relative to the location of the AP 510 based on the determined distance 530 between the client device and the AP 510.

[0067] The same steps of determining phase measurements, range, and generating position circles may be applied to LoS ​​APs 512 and 514 .

[0068] Using the previously selected first and second channel frequencies, a third phase measurement and a fourth phase measurement of AP 512 may be determined. In an example, the third phase measurement of AP 512 may be determined based on the first channel frequency, and the fourth phase measurement of AP 512 may be determined based on the second channel frequency. The third phase measurement of AP 512 may indicate a difference between the phase of a signal being received by AP 512 with a client device at the first channel frequency and the phase of a signal being transmitted. The fourth phase measurement of AP 512 may indicate a difference between the phase of a signal being received by AP 512 with a client device at the second channel frequency and the phase of a signal being transmitted. Using the first and second channel frequencies, a difference in channel frequencies (i.e., a frequency difference) may be determined and used to calculate a distance (or estimated distance) between the client device and AP 510. Using the third and fourth phase measurements of AP 512, a second difference in phase measurements of AP 512 (i.e., a phase measurement difference) may be determined and used to calculate a distance (or estimated distance) between the client device and AP 512. The distance between the client device and the AP 512, such as distance 540 (e.g., Figure 3A and Figure 3C Detailed description of the curve diagram in ).

[0069] The second difference in channel frequency (Δf) and phase measurement using AP 512 A distance 540 of the client device from the AP 512 may be determined. The distance 540 of the client device from the AP 512 may indicate the amount of space between the client device and the AP 512. The determined distance 540 may be an estimate of the actual distance between the client device and the AP 512 based on a resolution that will be taken into account based on the channel frequency difference. The distance 540(d) may be determined by Equation 1 (shown above), where c is the speed of light 3*10 8 m / s.

[0070] After determining the distance 540 of the client device relative to the AP 512, a location circle 542 may be generated around the AP 512. The location circle 542 may have a radius of the determined distance 540 of the client device, with the AP 512 located at the center of the location circle 542. The location circle 542 may indicate all potential locations of the client device 1 relative to the location of the AP 512 based on the determined distance 540 between the client device and the AP 512.

[0071] Using the previously selected first and second channel frequencies, a fifth phase measurement and a sixth phase measurement of AP 514 may be determined. In an example, the fifth phase measurement of AP 514 may be determined based on the first channel frequency, and the sixth phase measurement of AP 514 may be determined based on the second channel frequency. The fifth phase measurement of AP 514 may indicate a difference between the phase of a signal being received by AP 514 with the client device at the first channel frequency and the phase of a signal being transmitted. The sixth phase measurement of AP 514 may indicate a difference between the phase of a signal being received by AP 514 with the client device at the second channel frequency and the phase of a signal being transmitted. Using the first and second channel frequencies, a difference in channel frequencies (i.e., a frequency difference) may be determined and used to calculate a distance (or estimated distance) between the client device and AP 514. Using the fifth and sixth phase measurements of AP 514, a third difference in phase measurements of AP 514 (i.e., a phase measurement difference) may be determined and used to calculate a distance (or estimated distance) between the client device and AP 514. The distance between the client device and the AP 514, such as distance 550 (e.g., Figure 3A and Figure 3C Detailed description of the curve diagram in ).

[0072] The difference in channel frequency (Δf) and the third difference in phase measurement using AP 514 A distance 550 of the client device from the AP 514 may be determined. The distance 550 of the client device from the AP 514 may indicate the amount of space between the client device and the AP 514. The determined distance 550 may be an estimate of the actual distance between the client device and the AP 514 based on the resolution to be considered based on the channel frequency difference. The distance 550(d) may be determined by Equation 1 (shown above), where c is the speed of light 3*10 8 m / s.

[0073] After determining the distance 550 of the client device relative to the AP 514, a location circle 552 may be generated around the AP 514. The location circle 552 may have a radius of the determined distance 550 of the client device, with the AP 514 located at the center of the location circle 552. The location circle 552 may indicate all potential locations of the client device 1 relative to the location of the AP 514 based on the determined distance 550 between the client device and the AP 514.

[0074] The location circle 532 of AP 510, the location circle 542 of AP 512, and the location circle 552 of AP 514 can be used to determine the location of the client device. The location of the client device can be one or more intersections of the location circles 532, 542, and 552 (i.e., one or more intersections between the location circle of the primary AP, the location circle of the first one in the set of LoS APs, and the location circle of the second one in the set of LoS APs). The location circles 532, 542, and 552 can have respective intersections at various locations. Each intersection can be used to determine an estimated location of the client device, where the estimated location is within a spatial region within each intersection. The location circles 532, 542, and 552 can have one intersection at a location, such as location position 560. This single intersection of location position 560 can be the exact location of the client device. Many variations are possible.

[0075] Table 2 shows examples of various phase measurement differences and their corresponding distance measurements for a 10 MHz difference in channel frequency. Table 2 demonstrates that the distance measurement of a client device from the primary AP varies depending on the phase measurement difference. Even if the channel frequency difference remains constant at 10 MHz, the phase measurement difference can vary depending on the channel frequency. In general, as the phase measurement difference increases, the distance measurement of the client device from the primary AP also increases.

[0076]

[0077] Table 2

[0078] This positioning method can be performed according to the surrounding environment and network configuration of AP 410. When it is determined that there are at least two APs around the main AP (such as AP 510) connected to the client device and at least two of the surrounding APs are in the LoS of the main AP, this positioning method can be performed. Figure 3A network device 310) to execute according to Figure 4 Positioning method or based on Figure 5 In this way, the best positioning method can be used to determine the location of the client device based on the network configuration.

[0079] Figure 6 A computing component 600 is shown that includes one or more hardware processors 602 and a machine-readable storage medium 604 storing a set of machine-readable / machine-executable instructions that, when executed, cause the hardware processor(s) 602 to operate by using (BLE) performs high accuracy distance measurement (HADM) to perform an illustrative method for locating a client device. It should be appreciated that, unless otherwise stated, additional, fewer, or alternative steps may be performed in a similar or alternative order or in parallel within the scope of the various examples discussed herein. The computing component 600 may be implemented as Figure 1 Server 111, Figure 2 Server 211 and Figure 3A network device 310. Figure 6 Some aspects described previously are summarized and further detailed.

[0080] At step 606, the hardware processor(s) 602 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 604 to select an antenna element based on the client antenna of the client device. To locate the client device, a network device, such as a radio chip, may be used to perform a positioning method to locate the client device. The network device may include at least two cores, each core having at least two separate antennas. The first core may be used for HADM applications, while the second core may be used for Internet of Things (IoT) applications or for angle of arrival / angle of departure (AoA / AoD) methods, depending on the mapping of APs in the enterprise. The two cores may have the same phase length at their respective antenna connectors, or at least each core may be phase-calibrated to have the same initial phase at its respective antenna. An algorithm may be used to determine a positioning method based on the network configuration and to perform the positioning method using the network device to locate the client device.

[0081] The antenna(s), i.e., antenna units, of the first and second cores of the network device may be selected based on the antenna polarization of the client device, i.e., the client antenna of the client device. For each core of the network device, the antenna unit may include one or more vertical antennas and one or more horizontal antennas. For example, the vertical antennas of the first and second cores of the network device may be selected for the vertical antennas of the client device, and the horizontal antennas of the first and second cores of the network device may be selected for the horizontal antennas of the client device. The two cores of the network device may be phase-calibrated, and the antenna polarization on the cores of the network device may be selected to be the same as the antenna polarization of the client device.

[0082] At step 608, the hardware processor(s) 602 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 604 to select a first channel frequency and a second channel frequency for the client device. The client device may be connected to a first access point (AP) in a network. The network may include one or more APs, including a first AP. The first channel frequency and the second channel frequency may be selected to locate the client device relative to the first AP. The first channel frequency and the second channel frequency may be used to send messages or signals between the client device and the first AP. After selecting the first channel frequency (which may be any frequency number that both the client device and the first AP can use), the second channel frequency may be selected based on the first channel frequency and a frequency difference threshold between the first channel frequency and the second channel frequency. The frequency difference threshold may be between 2 MHz and 78 MHz. The frequency difference threshold may exist. The frequency difference threshold may be based on one or more properties of the client device, the first AP, the network, or any combination thereof. The frequency difference between the BLE channels may be in steps of 2 MHz. The actual frequency difference between the first channel frequency and the second channel frequency may be any value between 2 MHz and 78 MHz.

[0083] The second channel frequency may also be selected based on a resolution threshold. The resolution threshold may be the maximum margin of error allowed when determining the distance of a device. If the resolution threshold is 5 cm, the actual resolution may be any value up to 5 cm. For example, the resolution threshold may be 5 cm, indicating that the determined distance of the client device from the AP may have a margin of error of up to 5 cm. If the determined distance of the client device from the AP is 40 cm, the actual distance of the client device may be between 35 cm and 45 cm, where the resolution threshold is 5 cm. The actual frequency difference between the first channel frequency and the second channel frequency may determine the actual resolution to be used in determining the distance of the client device from the first AP. A resolution threshold may exist. The resolution threshold may be based on one or more attributes of the client device, the first AP, the network, or any combination thereof. A resolution threshold may exist. Many variations are possible.

[0084] The second channel frequency may also be selected based on a range threshold. The range threshold may be the minimum distance range allowed when determining the distance of a device. If the range threshold is 40 cm, the actual distance range between the client device and the AP may be any value up to 40 cm. For example, the range threshold may be 50 cm, indicating that the distance between the client device and the AP is at most 50 cm in order to determine the location of the client device. If the actual distance range between the client device and the AP is greater than 50 cm, the client device is outside the range of the range threshold of 50 cm and the range threshold may need to be adjusted to locate the client device. The actual frequency difference between the first channel frequency and the second channel frequency may determine the actual resolution to be used in determining the distance of the client device from the first AP. A range threshold may exist. The range threshold may be based on one or more attributes of the client device, the first AP, the network, or any combination thereof. Many variations are possible.

[0085] At step 610, the hardware processor(s) 602 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 604 to determine a first phase measurement and a second phase measurement based on a first channel frequency and a second channel frequency. After selecting the first channel frequency and the second channel frequency, the first phase measurement and the second phase measurement may be determined. The first phase measurement may be determined based on the first channel frequency. The second phase measurement may be determined based on the second channel frequency. Many variations are possible.

[0086] The first phase measurement may indicate the difference between the phase of a signal being received by the first AP at a first channel frequency and the phase of a signal being transmitted. The second phase measurement may indicate the difference between the phase of a signal being received by the first AP at a second channel frequency and the phase of a signal being transmitted. The difference between the first phase measurement and the second phase measurement (i.e., the phase measurement difference) may be used to determine the distance (or estimated distance) between the client device and the first AP.

[0087] At step 612, hardware processor(s) 602 may execute machine-readable / machine-executable instructions stored in machine-readable storage medium 604 to determine a distance of the client device from a first access point (AP) based on a frequency difference and a phase difference. Using the frequency difference between the first channel frequency and the second channel frequency and the phase difference between the first phase measurement and the second phase measurement, the distance of the client device from the first AP may be determined. The distance of the client device from the first AP may indicate an amount of space between the client device and the first AP. The determined distance may be an estimate of the actual distance between the client device and the first AP.

[0088] Using the determined distance of the client device, a location circle can be generated around the first AP. The radius of the location circle can be the determined distance of the client device, with the first AP at the center of the location circle. The location circle can indicate all potential locations of the client device relative to the location of the first AP.

[0089] At step 614, hardware processor(s) 602 may execute machine-readable / machine-executable instructions stored in machine-readable storage medium 604 to determine a bearing angle from the client device to the first AP. The bearing angle may be determined. The bearing angle may be at least one of an angle of arrival (AoA) or an angle of departure (AoD) from the client device to the first AP.

[0090] The AoA direction from the client device to the first AP may be a direction or angle indicating that the first AP is receiving a message or signal from the client device. The AoA direction may be determined using one of a first channel frequency or a second channel frequency for the first AP to receive the message or signal from the client device. The first AP may receive the message or signal from the client device using a first antenna tuned to one of the first channel frequency or the second channel frequency.

[0091] The AoD direction from the client device to the first AP may indicate the direction or angle from which the first AP is transmitting a message or signal to the client device. The AoD direction may be determined using one of a first channel frequency or a second channel frequency to transmit the message or signal from the first AP to the client device. The first AP may transmit the message or signal to the client device using a second antenna tuned to one of the first channel frequency or the second channel frequency.

[0092] The second antenna of the first AP may be tuned to the same channel frequency as the first antenna of the first AP. The second antenna of the first AP may be tuned to a channel frequency different from the channel frequency tuned for the first antenna of the first AP. For example, if the first antenna of the first AP is tuned to a first channel frequency to receive a message or signal from a client device, the second antenna of the first AP may be tuned to a second channel frequency to transmit a message or signal to the client device.

[0093] At step 616, hardware processor(s) 602 may execute machine-readable / machine-executable instructions stored in machine-readable storage medium 604 to determine the location of the client device based on the distance and bearing angle. Using the distance and bearing angle from the client device to the first AP, the location of the client device may be determined. As previously explained, the distance may be used to generate a location circle around the first AP. The location circle may have a radius of the distance and indicate all potential locations of the client device relative to the location of the first AP.

[0094] The bearing angle may be used for the location circle to determine an angular position on the location circle. As previously described, the bearing angle may be at least one of an AoA direction or an AoD direction from the client device to the first AP. If the bearing angle is the AoA direction from the client device to the first AP, the AoA direction may be used for the location circle to determine an AoA position on the location circle. The AoA position may be an intersection of the AoA directions on the location circle. The AoA position may indicate a potential location of a source of a message or signal received by the first AP from the client device. The AoA position may be an estimate of the location of the client device. The AoA position may be an angular position.

[0095] If the bearing angle is the AoD bearing from the client device to the first AP, the AoD bearing can be used with respect to the location circle to determine an AoD position on the location circle. The AoD position may be the intersection of the AoD bearings on the location circle. The AoD position may indicate a potential location where a message or signal sent by the first AP to the client device ends. The AoD position may be an estimate of the client device's location. The AoD position may be a bearing angle position.

[0096] When the AoA direction and the AoD direction are the same, the AoA position and the AoD position may be the same position on the location circle. If the AoA position and the AoD position are the same, the AoA / AoD position is the actual location of the client device. When the AoA direction and the AoD direction are different, the AoA position and the AoD position may be different positions on the location circle. If the AoA position and the AoD position are different, the client device may be located at a position on the location circle between the AoA position and the AoD position.

[0097] This positioning method can be performed regardless of the surrounding environment and network configuration of the first AP. This positioning method can be performed when it is determined that the number of APs surrounding the first AP is less than two. This positioning method can be performed when it is determined that the number of APs surrounding the first AP is at least two and less than two of the surrounding APs are in line of sight (LoS) of the first AP. This positioning method can be performed when it is determined that the number of APs surrounding the first AP is at least two and at least two of the surrounding APs are in LoS of the first AP. Many variations are possible.

[0098] When it is determined that the number of APs surrounding the first AP is at least two and at least two of the surrounding APs are in LoS with respect to the first AP, an alternative positioning method may be performed to determine the location of the client device. The alternative positioning method may select at least two LoS ​​AP sets. The first channel frequency and the second channel frequency may be selected to locate the position of the client device relative to the first AP and the LoS AP set. Using the first channel frequency and the second channel frequency, a first phase measurement and a second phase measurement may be determined for the first AP. Using the first channel frequency and the second channel frequency, a third phase measurement and a fourth phase measurement may be determined for the first one in the LoS AP set. Using the first channel frequency and the second channel frequency, a fifth phase measurement and a sixth phase measurement may be determined for the second one in the LoS AP set. The phase difference of each AP may be determined based on the phase measurement of the corresponding AP.

[0099] A first distance of the client device from the first AP can be determined using a frequency difference between the first channel frequency and the second channel frequency and a phase difference of a phase measurement of the first AP. The first distance can be used to generate a location circle around the first AP. The location circle can have a radius of the first distance and indicate all potential locations of the client device relative to the location of the first AP.

[0100] The frequency difference between the first channel frequency and the second channel frequency and the phase difference of the phase measurement of the first one of the set of LoS APs can be used to determine a second distance of the client device from the first one of the set of LoS APs. The second distance can be used to generate a location circle around the first one of the set of LoS APs. The location circle can have a radius of the second distance and indicate all potential locations of the client device relative to the location of the first one of the set of LoS APs.

[0101] The frequency difference between the first channel frequency and the second channel frequency and the phase difference of the phase measurement of the second one of the set of LoS APs can be used to determine a third distance of the client device from the second one of the set of LoS APs. The third distance can be used to generate a location circle around the second one of the set of LoS APs. The location circle can have a radius of the third distance and indicate all potential locations of the client device relative to the location of the second one of the set of LoS APs.

[0102] The location circle of each AP (i.e., the location circles of the first AP and the set of LoS APs) can be used to determine the location of the client device. The location of the client device can be one or more intersection points of the location circles of each AP (i.e., one or more intersection points between the location circle of the first AP, the location circle of the first AP in the set of LoS APs, and the location circle of the second AP in the set of LoS APs). Each AP's location circle can have one intersection point at a location. This single intersection point can be the exact location of the client device. Each AP's location circle can have multiple intersection points at different locations. Each intersection point can be used to determine an estimated location of the client device, where the estimated location is within the spatial region within each intersection point. Many variations are possible.

[0103] As described above, examples of the present disclosure are intended to address technical issues in computer technology regarding limitations in locating device locations on a network. In particular, various methods of locating client devices in a network can be performed under any network configuration and attributes. Various client device locating methods can utilize HADM to locate devices faster and more accurately. While conventional systems and methods are limited to locating devices under certain network configurations and attributes, examples of the present disclosure allow client devices to be located in a network regardless of the network configuration and settings, thereby allowing client devices to be more easily identified and communication connections to be established between devices more easily. Examples of the present disclosure are also capable of determining the best or preferred device locating method to apply based on the network configuration and attributes.

[0104] Figure 7 1 shows a block diagram of an example computer system 700 in which various examples described herein may be implemented. For example, Figures 1 to 6The functions of one or more of the elements shown in any of the embodiments, network functions, etc., may be implemented or executed by computer system 700. Computer system 700 may include a bus 702 or other communication mechanism for transmitting information, and one or more hardware processors 704 coupled to bus 702 for processing information. The hardware processor(s) 704 may be, for example, one or more general-purpose microprocessors. Computer system 700 may be an example of a network device, access point (AP), or similar device. Computer system 700 may use bus 702 and hardware processor(s) 704 to perform operations or transmit instructions. For example, processor 704 may send a request via bus 702 to access instructions stored in memory 706 or ROM 708 to select a first channel frequency and a second channel frequency for a client device, determine a first phase measurement and a second phase measurement, determine a distance to the client device, determine an angle of arrival (AoA) of the client device, determine an angle of departure (AoD) of the client device, and determine a location of the client device. In another example, the processor 704 can send a request via the bus 702 to access instructions stored in the memory 706 or the ROM 708 to determine a set of line-of-sight (LoS) APs to a first AP, select a first channel frequency and a second channel frequency for a client device, determine a plurality of distances between the client device and each of the APs, and determine the location of the client device. Various operations can be sent via the bus 702 without departing from the essence of the present disclosure.

[0105] The computer system 700 may also include a main memory 706, such as a random access memory (RAM), a cache, and / or other dynamic storage device, coupled to the bus 702 for storing information and instructions to be executed by the hardware processor(s) 704. The main memory 706 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the hardware processor(s) 704. Such instructions, when stored in a storage medium accessible to the hardware processor(s) 704, present the computer system 700 as a special-purpose machine customized to perform the operations specified in the instructions. The instructions may include, for example, selecting a first channel frequency and a second channel frequency for a client device, determining a first phase measurement and a second phase measurement, determining a distance to the client device, determining an AoA direction to the client device, determining an AoD direction to the client device, and determining a location of the client device.

[0106] The computer system 700 may also include a read-only memory (ROM) 708 or other static storage device coupled to the bus 702 for storing static information and instructions for the hardware processor(s) 704. A storage device 710, such as a magnetic disk, an optical disk, or a USB thumb drive (flash drive), may be provided and coupled to the bus 702 for storing information and instructions. The ROM 708 and storage device 710 may store information such as, for example, attributes of a client device, a resolution threshold, a range threshold, a connectivity list of client devices, the location of the client device, etc. The ROM 708 and storage device 710 may store information and instructions for performing operations. The operations may include, for example, selecting a first channel frequency and a second channel frequency for a client device, determining a first phase measurement and a second phase measurement, determining a distance to the client device, determining an AoA direction to the client device, determining an AoD direction to the client device, and determining the location of the client device.

[0107] The computing system 700 may include a user interface module to implement a GUI, which may be stored in a mass storage device as executable software code executed by the computing device(s). This module and other modules may include, for example, software, such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.

[0108] Generally speaking, the terms "component", "module", "engine", "system", "database", etc. as used herein may refer to logic embodied in hardware or firmware, or to a collection of software instructions, which may have entry points and exit points, such as The software components can be compiled and linked into an executable program, installed in a dynamic link library, or can be written in a language such as BASIC, Perl or 7. The software components may be written in an interpreted programming language. It will be appreciated that software components may be callable from other components or from themselves, and / or may be called in response to detected events or interrupts. Software components configured to execute on a computing device (such as computing system 700) may be provided on a computer-readable medium such as a compact disc, digital video disc, flash drive, disk, or any other tangible medium, or as a digital download (and may be initially stored in a compressed or installable format that requires installation, decompression, or decryption prior to execution). Such software code may be stored partially or completely on a memory device of the executing computing device for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. It will also be appreciated that hardware components may be composed of connected logic units such as gates and flip-flops, and / or may be composed of programmable units such as a programmable gate array or a processor.

[0109] The computer system 700 can implement the techniques or technologies described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic in conjunction with the computer system 700, which enables or programs the computer system 700 to function as a special-purpose machine. According to one example, the techniques herein can be performed by the computer system 700 in response to the hardware processor(s) 704 executing one or more sequences of one or more instructions contained in the main memory 706. Such instructions can be read into the main memory 706 from another storage medium, such as the storage device 710. Executing the sequences of instructions contained in the main memory 706 can cause the hardware processor(s) 704 to perform the process steps described herein. In alternative examples, hardwired circuitry can be used in place of or in combination with software instructions.

[0110] As used herein, the term "non-transient media" and similar terms refer to any medium that stores data and / or instructions that cause a machine to operate in a particular manner. Such non-transient media may include non-volatile media and / or volatile media. Non-volatile media may include, for example, optical or magnetic disks, such as storage device 710. Volatile media may include dynamic memory, such as main memory 706. Common forms of non-transient media include, for example, floppy disks, flexible disks, hard disks, solid-state drives, magnetic tape, or any other magnetic data storage medium, CD-ROMs, any other optical data storage medium, any physical medium with a pattern of holes, RAM, PROMs and EPROMs, FLASH-EPROMs, NVRAMs, any other memory chips or cassettes, and networked versions thereof.

[0111] Non-transient media are distinct from transmission media, but can be used in conjunction with transmission media. Transmission media can participate in the transmission of information between non-transient media. For example, transmission media can include coaxial cables, copper wires, and optical fibers, including the wires that comprise bus 702. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

[0112] The computer system 700 may also include at least one network interface 712, such as a network interface controller module (NIC), a network adapter, or a combination thereof, coupled to the bus 702 for connecting the computer system 700 to at least one network. The network interface 712 may provide bidirectional data communication coupled to one or more network links, which are connected to one or more local networks. For example, the network interface 712 may be an integrated services digital network (ISDN) card, a cable modem, a satellite modem, or a modem to provide a data communication connection with a corresponding type of telephone line. As another example, the network interface 712 may be a local area network (LAN) card to provide a data communication connection with a compatible LAN (or a WAN component for communicating with a WAN). Wireless links may also be implemented. In any such implementation, the network interface 712 sends and receives electrical, electromagnetic, or optical signals carrying digital data streams representing various types of information.

[0113] A network link typically provides data communication through one or more networks to other data devices. For example, a network link can provide a connection to a host computer or data equipment operated by an Internet Service Provider (ISP) through a local network. The ISP, in turn, provides data communication services through the global packet data communication network now commonly referred to as the "Internet." Both the local network and the Internet use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link and through the network interface 712, which carry the digital data to and from the computer system 700, are example forms of transmission media.

[0114] The computer system 700 can send messages and receive data (including program code) through the network(s), network links, and network interface 712. In the Internet example, a server can send the requested code for an application through the Internet, an ISP, a local network, and network interface 712. The received code can be executed by the processor 704 as it is received and / or stored in the storage device 710 or other non-volatile memory for later execution. The network interface 712 can be used to receive and send messages to one or more client devices to determine the location of each client device using HADM. Various communications are described throughout this disclosure.

[0115] Each of the processes, methods, and algorithms described in the preceding sections can be embodied in code components executed by one or more computer systems or computer processors comprising computer hardware, and fully or partially automated by these code components. One or more computer systems or computer processors can also operate to support the execution of related operations in a "cloud computing" environment or as "software as a service" (SaaS). The processes and algorithms can be implemented in part or in whole in dedicated circuits. The various features and processes described above can be used independently of each other, or can be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks can be omitted in some implementations. The methods and processes described herein are also not limited to any particular order, and the blocks or states associated therewith can be executed in other appropriate orders, or can be executed in parallel, or in some other manner. Blocks or states can be added or removed from the disclosed examples. The execution of certain operations or processes can be distributed among computer systems or computer processors, not only residing within a single machine, but also deployed across multiple machines.

[0116] As used herein, circuit can be realized using any form of hardware, software or their combination. For example, one or more processors, controllers, ASIC, PLA, PAL, CPLD, FPGA, logic components, software routines or other mechanisms can be realized to form circuit. In implementation, the various circuits described herein can be realized as discrete circuits, or the described functions and features can be shared in part or in whole between one or more circuits. Although various features or functional elements can be described or declared as separate circuits separately, these features and functions can be shared between one or more common circuits, and this description should not require or imply that separate circuits are needed to realize this feature or function. When circuit is realized in whole or in part using software, this software can be realized as running together with a computing or processing system (such as computer system 700) that can perform the function described about it.

[0117] These and other various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to a processing device for execution. Such instructions embodied on the media are generally referred to as "instructions" or "code." The instructions may be grouped in the form of a computer program or other groupings. When executed, such instructions may enable the processing device to perform the features or functions of the present application as discussed herein.

[0118] As used herein, the term "or" may be interpreted in an inclusive or exclusive sense. Furthermore, descriptions of resources, operations, or structures in the singular should not be construed as excluding the plural. Conditional language, such as "may," "might," "perhaps," or "might," unless expressly stated otherwise or otherwise understood in the context of use, is generally intended to convey that certain examples include certain features, elements, and / or steps while other examples do not.

[0119] Unless expressly stated otherwise, the terms and phrases used in this document and variations thereof should be interpreted as open-ended, not restrictive. Adjectives such as "conventional," "traditional," "normal," "standard," "known," and terms of similar meaning should not be interpreted as limiting the items described to items available in a given time period or as of a given time, but should be understood to cover conventional, traditional, normal, or standard technologies available or known at any time now or in the future. As an example above, the term "including" should be understood to mean "including but not limited to." The term "example" is used to provide an illustrative example of the item being discussed, rather than an exhaustive or restrictive list thereof. The term "one" or "an" should be understood to mean "at least one," "one or more," and the like. In some cases, the presence of expanded words and phrases such as "one or more," "at least," "but not limited to," and the like should not be understood to mean that a narrower context is intended or required where such expanded words may not be present.

Claims

1. A method for using low-power Bluetooth A computer-implemented method for locating a client device in a network, the method comprising: selecting an antenna element based on a client antenna of the client device, wherein the antenna element comprises a vertical antenna and a horizontal antenna; selecting a first channel frequency and a second channel frequency for the client device; determining a first phase measurement and a second phase measurement based on the first channel frequency and the second channel frequency; Determining a distance between the client device and the first access point AP based on the frequency difference and the phase difference; Determine a direction angle from the client device to the first AP, where the direction angle includes: Angle of arrival (AoA) direction from the client device to the first AP; or Writer Angle of departure (AoD) direction from the client device to the first AP; and The location of the client device is determined based on the distance and the direction angle.

2. The computer-implemented method of claim 1 , further comprising: Before selecting the first channel frequency and the second channel frequency for the client device, it is determined that the number of surrounding APs of the first AP is less than two.

3. The computer-implemented method of claim 1 , further comprising: Before selecting the first channel frequency and the second channel frequency for the client device: Determining that the number of APs surrounding the first AP is at least two; as well as A determination is made that a second number of line-of-sight LoS APs from the number of surrounding APs is less than two. The computer-implemented method of claim 1 , wherein the client device is connected to the first AP. The computer-implemented method of claim 1 , wherein the frequency difference is a difference between the first channel frequency and the second channel frequency. The computer-implemented method of claim 1 , wherein the frequency difference is at least 2 MHz and at most 78 MHz.

7. The computer-implemented method of claim 1, wherein the phase difference is a difference between the first phase measurement and the second phase measurement.

8. The computer-implemented method of claim 1, wherein the second channel frequency is selected as a function of the first channel frequency, a resolution threshold, and a range threshold. 9 . The computer-implemented method of claim 8 , wherein the resolution threshold is a maximum margin of error permitted to determine the distance of the client device and is based on one or more properties of the client device.

10. The computer-implemented method of claim 8, wherein the range threshold is a minimum distance range permitted to determine the distance of the client device and is based on one or more attributes of the client device.

11. The computer-implemented method of claim 1 , wherein the antenna element comprises a first antenna and the AoA direction is based on a message received by the first antenna of the first AP from the client device.

12. The computer-implemented method of claim 1, wherein the antenna element comprises a second antenna and the AoD direction is based on a message sent by the second antenna of the first AP to the client device.

13. The computer-implemented method of claim 1 , wherein determining the location of the client device based on the distance and the direction angle comprises: generating a location circle having a radius of the distance of the client device around the first AP, wherein the location circle indicates potential locations of the client device relative to the first AP; as well as Determine the azimuth position on the position circle, where: The azimuth position is an AoA position on the position circle based on the AoA direction from the client device to the first AP; or The azimuth position is an AoD position on the position circle based on the AoD direction from the client device to the first AP.

14. A method for using low-power Bluetooth Computing systems used to locate client devices on a network, including: one or more processors; as well as A non-transitory computer-readable medium comprising instructions that, when executed by the one or more processors, cause the one or more processors to: selecting an antenna element based on a client antenna of the client device, wherein the antenna element comprises a vertical antenna and a horizontal antenna; selecting a first channel frequency and a second channel frequency for the client device; determining a first phase measurement and a second phase measurement based on the first channel frequency and the second channel frequency; Determining a distance between the client device and the first access point AP based on the frequency difference and the phase difference; Determine a direction angle from the client device to the first AP, where the direction angle includes: Angle of arrival (AoA) direction from the client device to the first AP; or Angle of departure (AoD) direction from the client device to the first AP; and Determine the location of the client device according to the distance and the direction angle by performing the following operations: generating a location circle having a radius of the distance of the client device around the first AP, wherein the location circle indicates potential locations of the client device relative to the first AP; and Determine the azimuth position on the position circle, where: The azimuth position is an AoA position on the position circle based on the AoA direction from the client device to the first AP; or The azimuth position is an AoD position on the position circle based on the AoD direction from the client device to the first AP.

15. The computing system of claim 14, wherein the instructions further cause the one or more processors to perform operations comprising: Before selecting the first channel frequency and the second channel frequency for the client device, it is determined that the number of surrounding APs of the first AP is less than two.

16. The computing system of claim 14, wherein the instructions further cause the one or more processors to perform operations comprising: Before selecting the first channel frequency and the second channel frequency for the client device: Determining that the number of APs surrounding the first AP is at least two; as well as A determination is made that a second number of line-of-sight LoS APs from the number of surrounding APs is less than two.

17. The computing system of claim 14, wherein: The antenna element includes a first antenna and a second antenna; The AoA direction is based on a message received by the first antenna of the first AP from the client device; as well as The AoD direction is based on a message sent by the second antenna of the first AP to the client device.

18. A non-transitory storage medium storing instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising: determining a set of line-of-sight LoS access points (APs) closest to a first AP connected to the client device; selecting a first channel frequency and a second channel frequency for the client device; determining a plurality of distances between the client device and the first AP and each AP in the set of LoS APs based on the first channel frequency and the second channel frequency; as well as A location of the client device is determined based on the plurality of distances.

19. The non-transitory storage medium of claim 18, wherein the operations further comprise: Prior to determining a set of LoS APs closest to the first AP connected to the client device: Determining that the number of APs surrounding the first AP is at least two; as well as A second number of LoS APs from the number of surrounding APs is determined to be at least two.

20. The non-transitory storage medium of claim 18, wherein determining the plurality of distances comprises: determining a first phase measurement and a second phase measurement for the first AP and each AP in the set of LoS APs based on the first channel frequency and the second channel frequency; as well as Each of the plurality of distances for the first AP and each AP in the set of LoS APs is determined based on a frequency difference and a corresponding phase difference for each AP, wherein the frequency difference is a difference between the first channel frequency and the second channel frequency, and the corresponding phase difference is a difference between the first phase measurement and the second phase measurement for the corresponding AP.