Correction of wireless signals for distance measurement

By analyzing the polynomial relationship between diffusion and error of RTT measurement and correcting the measurement, and determining the multipath quantity with channel state information, the distance measurement error problem caused by the multipath effect in wireless network is solved, and more accurate AP position determination and Wireless network performance improvement.

CN119497827APending Publication Date: 2025-02-21HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 25 Cites 0 Cited by

Patent Information

Application Number
CN202380050738.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-27
Filing Date
2023-06-30
Publication Date
2025-02-21

AI Technical Summary

Technical Problem

In wireless networks, the multipath effect causes errors in distance measurements of wireless signals (such as RTT and RSSI), which in turn affects the accurate determination of the access point (AP) location.

Method used

By analyzing the polynomial relationship between the diffusion and the associated error of the RTT measurement, the coefficients of the polynomial function are determined to correct the RTT measurement, and the multipath quantity in the wireless signal is determined using channel state information (CSI) to select the multipath quantity satisfies the threshold value. distance measurement to determine the position of the AP.

Benefits of technology

It improves the accuracy of AP position determination in wireless networks, reduces errors in distance measurement, reduces dependence on on-site technicians, and improves the operational performance and position service accuracy of wireless networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119497827A_ABST
    Figure CN119497827A_ABST
Patent Text Reader

Abstract

In an example, a method includes obtaining a plurality of first distance measurements for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device, where a distance between the first wireless device and the second wireless device is known; determining coefficients of a polynomial function describing a relationship between an estimated error introduced by the multi-path signal to the obtained plurality of first distance measurements and a statistical diffusion of the obtained plurality of first distance measurements; obtaining a plurality of second distance measurements for each of the plurality of wireless signals transmitted between the third wireless device and the fourth wireless device, where the distance between the third wireless device and the fourth wireless device is known; and correcting each of the plurality of second distance measurements based on the determined coefficients of the polynomial function.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 492,403 filed on March 27, 2023 and U.S. Provisional Patent Application No. 63 / 367,377 filed on June 30, 2022, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The present disclosure relates generally to computer networks and, more particularly, to correction of wireless signals used for distance measurement. Background Art

[0003] Commercial venues, such as offices, hospitals, airports, stadiums, or retail stores, typically include a network of wireless access points (APs) installed throughout the venue to provide wireless network services to one or more wireless client devices. The APs enable client devices to connect wirelessly to a wired network using a variety of wireless network protocols and technologies, such as wireless local area network protocols that conform to one or more IEEE 802.11 standards (i.e., "Wi-Fi"), Bluetooth / Bluetooth Low Energy (BLE), mesh network protocols such as ZigBee, or other wireless network technologies. Many different types of wireless client devices, such as laptops, smartphones, tablets, wearable devices, appliances, Bluetooth beacons, and Internet of Things (IoT) devices, incorporate wireless communication technology and can be configured to connect to a wireless access point when the device is within range of a compatible wireless access point in order to access the wired network. Location services that can be provided in conjunction with wireless networks include wayfinding, location-based proximity notifications, asset tracking, and location-based analytics that derive insights from customers' movement through the venue. Summary of the invention

[0004] In general, the present disclosure describes one or more techniques for using measured information to correct wireless signals used for distance determination of devices in a wireless network. For example, multiple devices (e.g., access points (APs)) can be deployed throughout a venue to establish a wireless network at a customer site. However, when the wireless signal between two APs experiences multipath, the distance measurement between the two APs (e.g., round-trip time (RTT) measurement, received signal strength indicator (RSSI) measurement, etc.) may provide an erroneous indication of the distance between the two APs. According to one or more techniques of the present disclosure, the wireless signal is corrected, which makes the distance determination of the APs in the wireless network more accurate.

[0005] In one example, a polynomial relationship between the spread of an obtained RTT measurement and an associated error in the obtained RTT measurement can be used to correct the obtained RTT measurement. For example, an RTT measurement (or in some examples, an RSSI measurement) is used to determine the location of an AP in a wireless network, but may be biased by the presence of multipath in the wireless signal. In some examples, the system determines coefficients of a polynomial function that describes the relationship between the estimated error introduced by the multipath signal to the obtained multiple first RTT measurements and the statistical spread of the obtained multiple first RTT measurements. The determined coefficients are used to determine the error associated with each RTT measurement, and the determined error is used to correct the obtained RTT measurement.

[0006] In another example, channel state information (CSI) is used to determine the amount of multipath present in a wireless signal. In some examples, the amount of multipath in a wireless signal is determined based on amplitude and / or phase information in the CSI information of the wireless signal obtained over a period of time. In some examples, the amount of multipath in a wireless signal sent between two APs is used as an indication of the relative accuracy of a corresponding distance measurement (e.g., RTT, RSSI, etc.) based on a wireless signal indicating the distance between the two APs. In other examples, the amount of multipath in a wireless signal sent between two APs indicates whether the AP is an "outlier" AP, such as an AP that is relatively isolated relative to other APs. An AP can be considered an outlier in terms of its geographic deployment and / or ability to communicate with other APs in a wireless network. In other examples, the amount of multipath can be used for radio resource management (RRM) purposes in order to understand and optimize the radio frequency (RF) environment at a site. In other examples, the determination of the amount of multipath in a wireless signal according to the techniques of the present disclosure is applicable to other use cases for the purpose of monitoring and management of wireless networks, and the present disclosure is not limited in this respect.

[0007] In some examples, distance measurements based on wireless signals that satisfy a threshold amount of multipath based on CSI phase information are selected for the purpose of determining the location of an AP in a wireless network. In this way, distance measurements that are affected by multipath (e.g., where there are too many measurement errors due to multipath) are not used / considered for the purpose of determining the location of an AP in a wireless network. In some examples, a correction corresponding to the amount of multipath in the wireless signal is applied to distance measurements that are determined to have more than the threshold amount of multipath. These corrected distance measurements are considered for the purpose of determining the location of an AP in a wireless network. The techniques described herein may also be applied to determining the location of any type of computing device in a wireless network.

[0008] The technology of the present disclosure can provide one or more technical advantages and practical applications. These technologies enable the system to reduce errors in determining the distance between devices of a wireless network, and thus provide a more accurate determination of the location of the device in the wireless network. For example, by correcting the error from the determined coefficients of the polynomial function describing the relationship between the estimated error introduced by the multipath signal to the obtained multiple first RTT measurement values ​​and the statistical diffusion of the obtained multiple first RTT measurement values, the location of the device in the wireless network can be more accurately determined using only RTT or RSSI measurements, and the need for field technicians to determine the location of the device in the wireless network can be eliminated. In addition, by selecting the measurement to be used in the AP location determination process based on the amount of multipath present in the wireless signal communicated between the wireless devices associated with the wireless network, only the distance measurement (such as RTT and / or RSSI measurement) with a multipath less than a threshold amount is considered for determining the location of the deployed AP, thereby increasing the accuracy of the determined AP location. In addition, in an example where a correction corresponding to the amount of multipath is applied to the distance measurement associated with the wireless signal, a greater number of RTT / RSSI distance measurements can be used when determining the location of the deployed AP. In general, the more distance measurements between two APs available, the more accurate the distance between the determined two APs and the positions of the determined two APs. In addition, having more available distance measurements means that there are fewer APs for which there are not enough distance measurements to determine the AP position. The ability to automatically and accurately determine the position of deployed APs can greatly reduce the cost of deploying wireless networks because there is no need to send technicians to survey the entire site. Compared with the error-prone and time-consuming process of manually measuring hundreds or even thousands of AP positions, the determination of AP positions using channel state information improves the accuracy of the determined AP positions. In addition, these techniques can be used to detect when to move an AP or when to install a new AP, for example, as a replacement for a faulty AP in a slightly different location. Another benefit is that these techniques facilitate automation and remote verification of AP deployment locations without the need to send technicians for on-site surveys. These techniques also provide the ability to identify APs that are experiencing a relatively large amount of multipath and generate notifications including suggestions for moving APs to new / different locations where they will experience a smaller amount of multipath. In other examples, these techniques provide identification of outlier APs in wireless networks. In such examples, the system can automatically generate a notification that includes an identification of one or more stray APs and / or a suggestion to move the stray AP to a new or different location that includes relatively less multipath, or to adjust the environment around the AP so that wireless signals communicating to and / or from the AP experience less multipath. This can also improve the operational performance of the wireless network because there will be fewer signals associated with high multipath in the wireless network.These techniques support the provision of highly accurate location-based services at the site, which depends on knowing the location of each AP with a high degree of accuracy. In addition, the CSI information and / or multipath amounts present in wireless signals transmitted between multiple APs in a wireless network as determined herein can also be used for RF coverage optimization and radio resource management (RRM) of the APs at the site, such as channel and transmit power level selection.

[0009] In one example, the present disclosure describes a system comprising: one or more processors; and a memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to: obtain multiple first distance measurements for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device, wherein the distance between the first wireless device and the second wireless device is known; determine coefficients of a polynomial function that describes a relationship between an estimation error introduced by a multipath signal pair for the plurality of first distance measurements obtained and a statistical spread of the plurality of first distance measurements obtained; obtain multiple second distance measurements for each of a plurality of wireless signals transmitted between a third wireless device and a fourth wireless device, wherein the distance between the third wireless device and the fourth wireless device is known; and correct each of the plurality of second distance measurements based on the determined coefficients of the polynomial function.

[0010] In another example, the present disclosure describes a system comprising: one or more processors; and a memory comprising instructions, which, when executed by the one or more processors, cause the one or more processors to: obtain channel state information (CSI) information for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device; for each of the plurality of wireless signals, determine a multipath amount of the wireless signal based on the CSI information; for each of the plurality of wireless signals, compare the multipath amount of the wireless signal with a threshold; select a distance measurement between the first wireless device and the second wireless device corresponding to the wireless signal whose multipath amount satisfies the threshold; and determine a distance between the first wireless device and the second wireless device based on the selected distance measurement.

[0011] In one example, the present disclosure describes a method including: obtaining a plurality of first distance measurements for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device, wherein the distance between the first wireless device and the second wireless device is known; determining coefficients of a polynomial function describing a relationship between an estimation error introduced by a multipath signal pair for the plurality of first distance measurements obtained and a statistical spread of the plurality of first distance measurements obtained; obtaining a plurality of second distance measurements for each of a plurality of wireless signals transmitted between a third wireless device and a fourth wireless device, wherein the distance between the third wireless device and the fourth wireless device is known; and correcting each of the plurality of second distance measurements based on the determined coefficients of the polynomial function.

[0012] In another example, the present disclosure describes a method including: obtaining channel state information (CSI) information for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device; determining, for each of the plurality of wireless signals, a multipath amount of the wireless signal based on the CSI information; for each of the plurality of wireless signals, comparing the multipath amount of the wireless signal with a threshold; selecting a distance measurement between the first wireless device and the second wireless device corresponding to the wireless signal whose multipath amount satisfies the threshold; and determining a distance between the first wireless device and the second wireless device based on the selected distance measurement.

[0013] In one example, the present disclosure describes a non-transitory computer-readable medium including instructions that, when executed by one or more processors, cause the one or more processors to: obtain multiple first distance measurements for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device, wherein the distance between the first wireless device and the second wireless device is known; determine coefficients of a polynomial function that describes a relationship between an estimation error introduced by a multipath signal pair for the obtained plurality of first distance measurements and a statistical spread of the obtained plurality of first distance measurements; obtain multiple second distance measurements for each of a plurality of wireless signals transmitted between a third wireless device and a fourth wireless device, wherein the distance between the third wireless device and the fourth wireless device is known; and correct each of the plurality of second distance measurements based on the determined coefficients of the polynomial function.

[0014] In another example, the present disclosure describes a non-transitory computer-readable medium including instructions that, when executed by one or more processors, cause the one or more processors to: obtain channel state information (CSI) information for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device; determine, for each of the plurality of wireless signals, a multipath amount of the wireless signal based on the CSI information; for each of the plurality of wireless signals, compare the multipath amount of the wireless signal with a threshold; select a distance measurement between the first wireless device and the second wireless device corresponding to the wireless signal whose multipath amount satisfies the threshold; and determine a distance between the first wireless device and the second wireless device based on the selected distance measurement.

[0015] In one example, the present disclosure describes a system comprising: a plurality of access point devices (APs) deployed to provide a wireless network at a site; and a computing device comprising: one or more processors; and a memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to: obtain a plurality of first distance measurements for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device, wherein the distance between the first wireless device and the second wireless device is known; determine coefficients of a polynomial function describing a relationship between an estimation error introduced by a multipath signal pair for the plurality of first distance measurements obtained and a statistical spread of the plurality of first distance measurements obtained; obtain a plurality of second distance measurements for each of a plurality of wireless signals transmitted between a third wireless device and a fourth wireless device, wherein the distance between the third wireless device and the fourth wireless device is known; and correct each of the plurality of second distance measurements based on the determined coefficients of the polynomial function.

[0016] In another example, the present disclosure describes a system comprising: a plurality of access point devices (APs) deployed to provide a wireless network at a site; and a computing device comprising: one or more processors; and a memory comprising instructions which, when executed by the one or more processors, cause the one or more processors to: obtain channel state information (CSI) information for each of a plurality of wireless signals transmitted between a first AP and a second AP; for each of the plurality of wireless signals, determine a multipath amount of the wireless signal based on the CSI information; for each of the plurality of wireless signals, compare the multipath amount of the wireless signal with a threshold; select a distance measurement between the first AP and the second AP corresponding to the wireless signal whose multipath amount satisfies the threshold; and determine the distance between the first AP and the second AP based on the selected distance measurement.

[0017] The details of one or more examples of the technology of the present disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of these technologies will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1A is a schematic diagram of an example network system in which locations of deployed access points (APs) are determined based on corrected wireless signals, in accordance with one or more techniques of this disclosure.

[0019] Figure 1B It shows Figure 1A A block diagram of a network system with other example details.

[0020] Figure 2 is a block diagram of an example access point device in accordance with one or more techniques of this disclosure.

[0021] Figure 3 is a block diagram of an example network management system configured to use RTT information and / or channel state information to determine locations of deployed APs in accordance with one or more techniques of this disclosure.

[0022] Figure 4 is a block diagram of an example user equipment device in accordance with one or more techniques of this disclosure.

[0023] Figure 5 is a block diagram of an example network node, such as a router or a switch, in accordance with one or more techniques of this disclosure.

[0024] Figure 6 is a schematic diagram of an example multipath wireless environment including LOS and NLOS signal paths.

[0025] Fig. 7A and Figure 7B An example of RTT estimation in a specific environment in accordance with one or more techniques of this disclosure is shown.

[0026] Figure 8 is a graph illustrating RTT error as a function of spread, in accordance with one or more techniques of this disclosure.

[0027] Fig. 9 is a flow chart of an example process by which a computing device uses dispersion in distance measurements to correct measured RTT / RSSI values, in accordance with one or more techniques of this disclosure.

[0028] Fig.10 is a flow chart of an example process by which a computing device determines coefficients of a polynomial function for a correction of a measured RTT value, in accordance with one or more techniques of this disclosure.

[0029] Fig.11 is a flow chart of an example process by which a computing device reduces errors introduced by multipath in RTT measurements, in accordance with one or more techniques of this disclosure.

[0030] Fig.12 is a flow diagram of an example process by which a computing device uses estimated RTT errors to determine which RTT measurements provide a reliable means for determining distances between transmit and receive antennas, in accordance with one or more techniques of this disclosure.

[0031] Fig.13 is a flow chart of an example process by which a computing device uses estimated RTT errors to determine which APs may serve as anchor APs.

[0032] Fig.14A is a schematic diagram of an example multipath wireless environment including LOS and NLOS signal paths.

[0033] Fig. 14B is a diagram of example channel state information (CSI) vector samples.

[0034] FIG. 15A to FIG. 15D is a histogram of variance in CSI phase bins (eg, LOS and NLOS environments) in accordance with one or more techniques of this disclosure.

[0035] Fig.16A is a variance plot in CSI phase bins for LOS and NLOS environments, in accordance with one or more techniques of this disclosure.

[0036] Fig. 16B is a table of multipath amounts and corresponding factors in NLOS signals according to one or more techniques of the present disclosure.

[0037] Fig.17 is a flow diagram of an example process by which a network management system uses channel state information to determine locations of deployed APs, in accordance with one or more techniques of this disclosure.

[0038] Fig.18 is a flow chart of an example process by which a computing device identifies one or more outlier APs in a wireless network based on CSI information, in accordance with one or more techniques of this disclosure. DETAILED DESCRIPTION

[0039] Figure 1A1 is a schematic diagram of an example network system according to one or more techniques of the present disclosure, in which the location of a deployed access point (AP) is determined based on a corrected wireless signal. In one example, such a location is determined using a round trip time (RTT) measurement corrected by a polynomial relationship between the spread of the obtained RTT measurement and the associated error in the obtained RTT measurement. More specifically, the polynomial relationship between the spread of the obtained RTT measurement and the associated error in the obtained RTT measurement can be used to correct the RTT measurement obtained between wireless devices (such as the deployed AP 142). In another example, channel state information (CSI) is used to determine the amount of multipath present in a wireless signal communicated between wireless devices (such as the deployed AP 142). Although some examples are described herein with respect to APs, the techniques of the present disclosure can be used to determine the amount of multipath in a wireless signal communicated between any type of wireless devices, including but not limited to APs, routers, adapters, wireless client devices (such as smartphones, tablet computers, user equipment (UE) devices and other mobile devices), IoT and other connected devices, wireless sensors, tags for objects or equipment, etc.

[0040] The example network system 100 includes a network management system (NMS) 130 and a plurality of sites 102A-102N where a network service provider manages one or more wireless networks 106A-106N, respectively. Figure 1A In the drawings, each site 102A-102N is shown as including a single wireless network 106A-106N, respectively, but in some examples each site 102A-102N may include multiple wireless networks, and the present disclosure is not limited in this regard.

[0041] Each site 102A-102N includes a plurality of network access server (NAS) devices, such as access points (APs) 142, switches 146, and routers (not shown). For example, site 102A includes a plurality of APs 142A-1 through 142A-M. Similarly, site 102N includes a plurality of APs 142N-1 through 142N-M. Each AP 142 may be any type of wireless access point, including but not limited to a commercial or enterprise AP, a router, or any other device that is connected to a wired network and is capable of providing wireless network access to client devices within the site.

[0042] Each site 102A-102N also includes a plurality of client devices, which are otherwise referred to as user equipment devices (UEs), generally referred to as UEs or client devices 148, representing various wireless enabled devices within each site. For example, a plurality of UEs 148A-1 to 148A-N are currently located at site 102A. Similarly, a plurality of UEs 148N-1 to 148N-K are currently located at site 102N. Each UE 148 can be any type of wireless client device, including but not limited to a mobile device such as a smart phone, a tablet or laptop computer, a personal digital assistant (PDA), a wireless terminal, a smart watch, a smart ring, or other wearable devices. UE 148 can also include a wired client-side device, for example, an IoT device (such as a printer), a security device, an environmental sensor, or any other device connected to a wired network and configured to communicate via one or more wireless networks 106.

[0043] To provide wireless network services to UE 148 and / or communicate over wireless network 106, AP 142 and other wired client-side devices at site 102 are directly or indirectly connected to one or more network devices (e.g., switches, routers, etc.) via physical cables (e.g., Ethernet cables). Figure 1A In the example of , site 102A includes switch 146A to which each of APs 142A-1 through 142A-M at site 102A is connected. Similarly, site 102N includes switch 146N to which each of APs 142N-1 through 142N-M at site 102N is connected. Figure 1A 146, but in other examples, each site 102 may include more or fewer switches and / or routers. In addition, the APs and other wired client devices at a given site may be connected to two or more switches and / or routers. In addition, two or more switches at a site may be connected to each other and / or to two or more routers, for example, via a mesh or partially meshed topology in a hub and spoke architecture. In some examples, the interconnected switches and routers include a wired local area network (LAN) at the site 102 that hosts the wireless network 106.

[0044] The example network system 100 also includes various network components for providing network services within the wired network, including, by way of example, an authentication, authorization, and accounting (AAA) server 110 for authenticating users and / or UEs 148, a dynamic host configuration protocol (DHCP) server 116 for dynamically allocating a network address (e.g., an IP address) to the UE 148 upon authentication, a domain name system (DNS) server 122 for resolving domain names into network addresses, a plurality of servers 128A-128X (collectively referred to as “servers 128”) (e.g., network servers, database servers, file servers, etc.), and a network management system (NMS) 130. Figure 1A As shown, the various devices and systems of network 100 are coupled together via one or more networks 134 (eg, the Internet and / or an intranet).

[0045] exist Figure 1A In an example of the present invention, NMS 130 is a cloud-based computing platform that manages wireless networks 106A-106N at one or more of sites 102A-102N. As further described herein, NMS 130 provides a set of integrated management tools and implements various technologies of the present disclosure. Generally, NMS 130 can provide a cloud-based platform for wireless network data acquisition, monitoring, activity logging, reporting, predictive analysis, network anomaly identification, and alarm generation. In some examples, NMS 130 outputs notifications (such as alarms, warnings, graphical indicators on dashboards, log messages, text / SMS messages, email messages, etc.), and / or suggestions about wireless network problems to site or network administrators ("administrators") who interact with and / or operate administrator devices 111. In addition, in some examples, NMS 130 operates in response to configuration inputs received from administrators who interact with and / or operate administrator devices 111.

[0046] The administrator and administrator device 111 may include IT personnel and administrator computing devices associated with one or more of the sites 102, respectively. The administrator device 111 may be implemented as any suitable device for presenting output and / or accepting user input. For example, the administrator device 111 may include a display. The administrator device 111 may be a computing system, such as a mobile or non-mobile computing device operated by a user and / or by an administrator. According to one or more aspects of the present disclosure, the administrator device 111 may, for example, represent a workstation, a laptop or notebook computer, a desktop computer, a tablet computer, or any other computing device that can be operated by a user and / or present a user interface. The administrator device 111 may be physically separated from the NMS 130 and / or located at a different location from it, so that the administrator device 111 can communicate with the NMS 130 via a network 134 or other communication means.

[0047] In some examples, one or more NAS devices, such as AP 142, switch 146, or router, can be connected to edge devices 150A-150N via physical cables (e.g., Ethernet cables). Edge devices 150 include cloud-managed wireless local area network (LAN) controllers. Each of edge devices 150 can include a local deployment device at site 102 that communicates with NMS 130 to extend certain microservices from NMS 130 to the local deployment NAS device, while using NMS 130 and its distributed software architecture for scalable and resilient operations, management, troubleshooting, and analysis.

[0048] Each of the network devices of the network system 100 (e.g., servers 110, 116, 122, and / or 128, AP 142, UE 148, switch 146, and any other server or device attached to or forming part of the network system 100) may include a system log or error log module, wherein each of these network devices records the state of the network device, including the correct operating state and error conditions. Throughout the present disclosure, one or more of the network devices of the network system 100 (e.g., servers 110, 116, 122, and / or 128, AP 142, UE 148, and switch 146) may be considered a "third party" network device when owned and / or associated with an entity different from the NMS 130, such that the NMS 130 does not directly receive, collect, or otherwise access the recorded state and other data of the third party network device. In some examples, the edge device 150 may provide an agent through which the recorded state and other data of the third party network device can be reported to the NMS 130.

[0049] In some examples, the NMS 130 monitors network data 137 (e.g., one or more service level expectation (SLE) metrics) received from the wireless networks 106A-106N at each site 102A-102N, respectively, and manages network resources (such as the AP 142 at each site) to deliver a high-quality wireless experience to end users, IoT devices, and clients at the site. For example, the NMS 130 may include a virtual network assistant (VNA) 133 that implements an event processing platform for providing real-time insights and simplified troubleshooting for IT operations, and automatically takes corrective actions or provides recommendations to proactively resolve wireless network problems. For example, the VNA 133 may include an event processing platform configured to process hundreds or thousands of concurrent streams of network data 137 from sensors and / or agents associated with the AP 142 and / or nodes within the network 134. For example, the VNA 133 of the NMS 130 may include an underlying analysis and network error identification engine and alarm system according to various examples described herein. The underlying analysis engine of the VNA 133 can apply historical data and models to the inbound event stream to calculate assertions, such as identified anomalies or predicted occurrences of events that constitute network error conditions. In addition, the VNA 133 can provide real-time alarms and reports to notify the site or network administrator of any predicted events, anomalies, trends via the administrator device 111, and can perform root cause analysis and automatic or assisted error remediation. In some examples, the VNA 133 of the NMS 130 can apply machine learning techniques to identify the root cause of the error condition detected or predicted from the stream of network data 137. If the root cause can be automatically resolved, the VNA 133 can call one or more corrective measures to correct the root cause of the error condition, thereby automatically improving the underlying SLE metrics and also automatically improving the user experience.

[0050] Other example details of operations implemented by the VNA 133 of the NMS 130 are described in U.S. Patent No. 9,832,082, issued on November 28, 2017, and entitled “Monitoring Wireless Access Point Events”; U.S. Publication No. US 2021 / 0306201, issued on September 30, 2021, and entitled “Network System Fault Resolution Using a Machine Learning Model”; U.S. Patent No. 10,985,969, issued on April 20, 2021, and entitled “Systems and Methods for a Virtual Network Assistant”; U.S. Patent No. 10,958,585, issued on March 23, 2021, and entitled “Methods and Apparatus for Facilitating Fault Detection and / or Predictive Fault Detection”; U.S. Patent No. 10,958,585, issued on March 23, 2021, and entitled “Method for Spatio-Temporal No. 10,958,537, entitled “Modeling” and U.S. Patent No. 10,862,742, issued on December 8, 2020 and entitled “Method for Conveying AP Error Codes Over BLE Advertisements,” all of which are incorporated herein by reference in their entirety.

[0051] In operation, NMS 130 observes, collects and / or receives network data 137, which may, for example, take the form of data extracted from messages, counters and statistics. According to one particular implementation, the computing device is part of NMS 130. According to other implementations, NMS 130 may include one or more computing devices, dedicated servers, virtual machines, containers, services, or other forms of environments for executing the techniques described herein. Similarly, the computing resources and components that implement VNA 133 may be part of NMS 130, may be executed on other servers or execution environments, or may be distributed to nodes within network 134 (e.g., routers, switches, controllers, gateways, etc.).

[0052] According to the techniques described in this disclosure, NMS 130 includes an AP positioning module 135 that, when executed by one or more processors of NMS 130, determines the location of deployed APs in a wireless network based on corrected wireless signals. In one example, the location of deployed APs is determined using corrected measurements that are corrected using a polynomial relationship between a spread of the obtained measurements and an associated error in the obtained measurements. In another example, the location of deployed APs is determined using channel state information.

[0053] The deployed AP positioning module 135, when executed by one or more processors of the NMS 130 or any other computing device, determines the location of one or more APs 142 in the wireless network relative to the site. For example, the deployed AP positioning module 135 can determine the coordinate location of one or more APs associated with the wireless network 106 relative to the global coordinate system of the associated site 102. For example, the coordinate location of the AP 142 is determined based on the distance measurement between the APs (e.g., RSSI and / or RTT measurement stored in the RTT / RSSI data 143). According to one or more techniques of the present disclosure, the distance between the APs and / or the coordinate location of the APs are determined using the corrected RTT / RSSI data 143 and / or CSI data.

[0054] The RTT / RSSI data 143 includes multiple distance measurements indicating the distance between two APs. The RTT / RSSI data is measured by a receiving device, such as an AP (or UE 148). The distance measurement may include an RTT measurement and / or an RSSI measurement of a wireless signal communicated between two APs. An example Wi-Fi RTT technology is described in the IEEE 802.11mc (i.e., IEEE 802.11-2016) standard, which defines a fine time measurement (FTM) protocol that can be used to measure the RTT of a Wi-Fi signal between two wireless devices.

[0055] CSI data 139 includes information from multiple receiving APs such as Figure 2 The CSI is a complex vector (EQ data) containing amplitude and phase information about the propagation of a wireless signal through a communication channel at a specific subcarrier frequency. Therefore, the CSI can be represented as a vector of amplitude and phase information at each subcarrier frequency.

[0056] As further described below (e.g., in Figures 6 to 13In the example of FIG. 1 , the NMS 130 may determine coefficients of a polynomial function describing a relationship between an estimation error introduced by a plurality of first RTT / RSSI measurements obtained for a multipath signal pair and a statistical spread of the plurality of first RTT / RSSI measurements obtained. The determined coefficients are used to determine an error associated with each RTT measurement, and the error is used to correct the obtained RTT measurement. The corrected RTT measurement is then used to determine the location of one or more APs associated with the wireless network 106. Although the examples described herein are described with respect to RTT measurements, these techniques may alternatively or additionally be applied to RSSI measurements.

[0057] Alternatively or additionally, as further described below (e.g., in FIGS. 14 to 15 ), Fig.18 ), NMS 130 may use CSI to determine the amount of multipath present in a wireless signal and select a distance measurement based on such a wireless signal for the purpose of determining the location of an AP in the wireless network, where the wireless signal satisfies a threshold amount of multipath based on CSI phase information.

[0058] Although the AP location technology is described herein as being performed by a cloud-based NMS 130, the AP location technology may be implemented by any computing device, regardless of the specific deployment location, configured to monitor or control one or more aspects of wireless network performance at the site 102. For example, a local (e.g., server) or edge computing device 150 deployed at each site (or other edge computing devices deployed relative to a group of sites), a switch 146, or any other computing device may include and execute an AP location module 135 to determine the location of APs deployed at the associated one or more sites. Therefore, the present disclosure is not limited to the location of a computing device (e.g., cloud-based computing, edge computing, local computing, or any combination thereof) or a computing technology configured to perform the AP location technology described herein.

[0059] Figure 1B It shows Figure 1A A block diagram of other example details of a network system. In this example, Figure 1B NMS 130 is shown, which is configured to operate according to an artificial intelligence and / or machine learning based computing platform that provides a cross-connection from the "client" (e.g., connecting to the wireless network 106 and the wired LAN 175 at the network edge) Figure 1B to the "cloud" (eg, which may be provided by a data center 179 ( Figure 1B Comprehensive automation, insight and assurance (Wi-Fi Assurance, Wired Assurance and WAN Assurance) for cloud-based application services 181) hosted on computing resources within the far right side of the network.

[0060] As described herein, NMS 130 provides a set of integrated management tools and implements various technologies of the present disclosure. Typically, NMS 130 can provide a cloud-based platform for wireless network data acquisition, monitoring, activity logging, reporting, predictive analysis, network anomaly identification, and alarm generation. For example, the network management system 130 can be configured to actively monitor and adaptively configure the network 100 to provide automatic driving capabilities. In addition, VNA 133 includes a natural language processing engine to provide AI-driven support and troubleshooting, anomaly detection, AI-driven location services, and AI-driven radio frequency (RF) optimization with reinforcement learning.

[0061] like Figure 1B As shown in the example of , the AI-driven NMS 130 also provides configuration management, monitoring, and automated supervision of a software-defined wide area network (SD-WAN) 177, which operates as an intermediate network that communicatively couples the wireless network 106 and the wired LAN 175 to the data center 179 and the application services 181. Typically, the SD-WAN 177 provides seamless, secure, traffic-engineered connectivity between a "spoke" router 187A of a wired network 175 (such as a branch or campus network) hosting the wireless network 106 to a "hub" router 187B further up toward the cloud-based application services 181. The SD-WAN 177 typically operates and manages an overlay network on an underlying physical wide area network (WAN) that provides connectivity to geographically separated customer networks. In other words, the SD-WAN 177 extends software-defined networking (SDN) capabilities to the WAN and allows the network to decouple the underlying physical network infrastructure from the virtualized network infrastructure and applications so that the network can be configured and managed in a flexible and scalable manner.

[0062] In some examples, the underlying routers of the SD-WAN 177 can implement a stateful, session-based routing scheme in which the routers 187A, 187B dynamically modify the contents of the original packet header originating from the client device 148 to direct the traffic along a selected path (e.g., path 189) to the application service 181 without the need to use tunnels and / or additional labels. In this way, the routers 187A, 187B can be more efficient and scalable for large networks because the use of tunnel-free, session-based routing can enable the routers 187A, 187B to implement a large amount of network resources by eliminating the need to perform encapsulation and decapsulation at the tunnel endpoints. In addition, in some examples, each router 187A, 187B can independently perform path selection and traffic engineering to control the packet flow associated with each session without the need to use a centralized SDN controller for path selection and label distribution. In some examples, the routers 187A, 187B implement session-based routing as Security Vector Routing (SVR) provided by Juniper Networks.

[0063] Additional information about session-based routing and SVR is provided in U.S. Patent No. 9,729,439, entitled “COMPUTER NETWORK PACKET FLOW CONTROLLER” and issued on August 8, 2017; U.S. Patent No. 9,729,682, entitled “NETWORK DEVICE AND METHOD FOR PROCESSING A SESSION USING A PACKET SIGNATURE” and issued on August 8, 2017; U.S. Patent No. 9,762,485, entitled “NETWORK PACKET FLOW CONTROLLER WITH EXTENDED SESSION MANAGEMENT” and issued on September 12, 2017; U.S. Patent No. 9,871,748, entitled “ROUTER WITH OPTIMIZED STATISTICAL FUNCTIONALITY” and issued on January 16, 2018; U.S. Patent No. 9,871,748, entitled “NAME-BASED ROUTING SYSTEM AND No. 9,985,883, issued on May 29, 2018, entitled “LINK STATUS MONITORING BASED ON PACKETLOSS DETECTION”; No. 10,200,264, issued on February 5, 2019, entitled “LINK STATUS MONITORING BASED ON PACKETLOSS DETECTION”; No. 10,277,506, issued on April 30, 2019, entitled “STATEFUL LOAD BALANCING IN ASTATELESS NETWORK”; No. 10,432,522, issued on October 1, 2019, entitled “NETWORK PACKET FLOW CONTROLLER WITH EXTENDED SESSION MANAGEMENT”; and No. 10,432,522, issued on October 1, 2019, entitled “NETWORK PACKET FLOW CONTROLLER WITH EXTENDED SESSION MANAGEMENT”; and No. 10,432,522, issued on July 27, 2021, entitled “IN-LINE PERFORMANCE 11,075,824, the entire contents of each of which are incorporated herein by reference in their entirety.

[0064] In some examples, the AI-driven NMS 130 can implement intent-based configuration and management of the network system 100, including the construction, presentation, and execution of intent-driven workflows for configuring and managing devices associated with the wireless network 106, the wired LAN network 175, and / or the SD-WAN 177. For example, declarative requirements represent the desired configuration of network components without specifying the exact local device configuration and control flow. By utilizing declarative requirements, it is possible to specify what should be done, rather than how it should be done. Declarative requirements can be contrasted with imperative instructions, which describe the exact device configuration syntax and control flow to achieve the configuration. By utilizing declarative requirements rather than imperative instructions, users and / or user systems are relieved of the burden of determining the exact device configuration required to achieve the desired results of the user / system. For example, when utilizing a variety of different types of devices from different vendors, it is often difficult and cumbersome to specify and manage the exact imperative instructions for configuring each device of the network. The types and categories of devices of a network can change dynamically as new devices are added and device failures occur. Managing a variety of different types of devices from different vendors with different configuration protocols, syntaxes, and software versions to configure a cohesive network of devices is often difficult to achieve. Therefore, by requiring only the user / system to specify declarative requirements that specify desired results applicable to the various different types of devices, management and configuration of network devices becomes more efficient. Other example details and techniques of intent-based network management systems are described in U.S. Patent No. 10,756,983, entitled “Intent-based Analytics,” and U.S. Patent No. 10,992,543, entitled “Automatically generating an intent-based network model of an existing computer network,” which are incorporated herein by reference in their entirety.

[0065] According to one or more techniques of the present disclosure, the NMS 130 executes the deployed AP positioning module 135 to determine the location of the deployed APs in the wireless network based on the distance measurements obtained from the multiple APs. In one example, such location determination is based on the distance measurements (e.g., RTT, RSSI) corrected using a polynomial relationship between the diffusion of the obtained distance measurements and the associated errors in the obtained distance measurements. Alternatively or additionally, the NMS 130 executes the deployed AP positioning module 135 to select the distance measurements obtained from the multiple APs that satisfy the threshold multipath amount based on the CSI.

[0066] Figure 2 is a block diagram of an example access point (AP) device 200 configured in accordance with one or more techniques of this disclosure. Figure 2The example access point 200 shown in FIG. 1 may be used to implement the Figure 1A Any of the APs 142 shown and described. Access point 200 may include, for example, a Wi-Fi, Bluetooth, and / or Bluetooth Low Energy (BLE) base station or any other type of wireless access point.

[0067] exist Figure 2 In the example of FIG. 1 , the access point device 200 includes a wired interface 230, wireless interfaces 220A-220B, one or more processors 206, memory 212, and a user interface 210 coupled together via a bus 214, through which the various elements can exchange data and information. The wired interface 230 represents a physical network interface and includes a receiver 232 and a transmitter 234 for sending and receiving network communications (e.g., packets). The wired interface 230 couples the access point device 200 directly or indirectly to Figure 1A The first wireless interface 220A and the second wireless interface 220B represent wireless network interfaces and include receivers 222A and 222B, respectively, each of which includes a receiving antenna, via which the access point 200 can receive data from a wireless communication device such as a wireless communication device. Figure 1A The first wireless interface 220A and the second wireless interface 220B further include transmitters 224A and 224B, respectively, each of which includes a transmitting antenna, and the access point 200 can transmit wireless signals to a wireless communication device (such as a wireless communication device) via the transmitting antenna. Figure 1A In some examples, the first wireless interface 220A may include a Wi-Fi 802.11 interface (e.g., 2.4 GHz and / or 5 GHz), and the second wireless interface 220B may include a Bluetooth interface and / or a Bluetooth low energy (BLE) interface. However, these are only given for example purposes, and the present disclosure is not limited in this regard.

[0068] The processor 206 is a programmable hardware-based processor that is configured to execute software instructions (such as those used to define software or a computer program) stored to a computer-readable storage medium (such as the memory 212), such as a non-transitory computer-readable medium including a storage device (e.g., a disk drive or an optical drive) or a memory (such as flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause the one or more processors 206 to perform the techniques described herein.

[0069] The memory 212 includes one or more devices configured to store programming modules and / or data associated with the operation of the access point device 200. For example, the memory 212 may include a computer-readable storage medium (such as a non-transitory computer-readable medium) including a storage device (e.g., a magnetic disk drive or an optical disk drive) or a memory (such as flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause the one or more processors 206 to perform one or more techniques described herein.

[0070] In this example, the memory 212 stores executable software, including an application programming interface (API) 240, a communication manager 242, configuration settings 250, RTT / RSSI data 252, CSI data 254, and a data store 256. The data store 256 can store network data specific to the AP device 200 and / or a client device currently or previously associated with the AP device 200, such as network parameters and / or network events. The network data may include, for example, any network parameters and / or network data indicating one or more aspects of the performance of the wireless network or the AP device 200 itself. In some examples, the network data may include a plurality of states measured periodically as time series data. The network data may be measured by the UE device 148 and sent to the AP device 200, and the network data may be measured by the AP device 200 itself or by any other device associated with the wireless network and sent to the AP device 200.

[0071] The network data 256 may include, for example, AP events and / or UE events. In some examples, network events are classified as positive network events, neutral network events, and / or negative network events. Network events may include, for example, memory status, reboot events, crash events, Ethernet port status, upgrade failure events, firmware upgrade events, configuration changes, authentication events, DNS events, DHCP events, one or more types of roaming events, one or more types of proximity events, etc., as well as time and date stamps for each event. Data 256 may also store any data used and / or generated by the access point device 200, including data collected from the UE 148.

[0072] RTT / RSSI data 252 includes data indicating the distance between AP 200 and one or more other APs in the wireless network. The data may include, for example, RSSI measurements determined by AP 200 of wireless signals transmitted by one or more other APs and received by AP 200, RTT measurements determined by AP 200 of wireless signals traveling from AP 200 to and reverberating by one or more other APs, etc. In some examples, the wireless signals on which the RSSI and / or RTT measurements are based are transmitted from or between one or more neighbor APs in the wireless network.

[0073] In accordance with one or more techniques of this disclosure, NMS 130 or any other computing device may utilize a polynomial relationship between the spread of obtained RTT measurements (e.g., from AP 200 and other APs in a wireless network managed by NMS 130) and the associated errors in the obtained RTT measurements. The computing device may estimate coefficients of the polynomial and may use the estimated coefficients to determine the associated errors. The computing device may use the associated errors to correct RTT / RSSI data 252. In accordance with one or more techniques of this disclosure, a computing device (such as NMS 130 or any other computing device) selects distance measurements for the purpose of determining the locations of deployed APs in a wireless network based on the corrected RTT / RSSI data 252 of corresponding wireless signals sent between APs.

[0074] CSI data 254 includes a set of channel frequency responses estimated by a receiving AP (e.g., AP 200) from a signal sent by a transmitting AP. CSI is a complex vector (I / Q data) that contains amplitude and phase information about the propagation of a signal through a communication channel at a specific subcarrier frequency. Therefore, CSI can be represented as a vector of amplitude and phase information at each subcarrier frequency. In accordance with one or more techniques of the present disclosure, a computing device (such as NMS 130 or any other computing device) selects a distance measurement based on CSI data of corresponding wireless signals sent between APs for the purpose of determining the location of deployed APs in a wireless network.

[0075] The communication manager 242 includes program code that, when executed by the processor 206, allows the access point 200 to communicate with the UE 148 and / or the network 134 via the interface 230 and / or any of 220A-220B. The configuration settings 250 include any device settings of the access point 200, such as the radio settings of each of the wireless interfaces 220A-220B. These settings can be manually configured, or can be remotely monitored and / or automatically managed or configured by the NMS 130 to optimize wireless network performance on a periodic basis (e.g., hourly or daily).

[0076] Input / output (I / O) 210 represents physical hardware components that enable interaction with a user, such as buttons, a touch screen, a display, etc. Although not shown, memory 212 typically stores executable software for controlling the user interface with respect to input received via I / O 210 .

[0077] In some examples, instead of the NMS 130 using channel state information to determine the locations of deployed APs, or to determine the coefficients of a polynomial relationship between the spread of obtained RTT measurements and the associated errors in the obtained RTT measurements, one or more APs 142 / 200 themselves, the edge computing device 150, and / or any other computing device may be configured to use the channel state information to determine the locations of one or more deployed APs 142 / 200 and / or automatically perform other functions based on the determined locations.

[0078] Figure 3 is a block diagram of an example network management system (NMS) 300 configured to use RTT information and / or channel state information to determine the location of deployed APs in accordance with one or more techniques of the present disclosure. NMS 300 may be used to implement, for example Figure 1A to Figure 1B In such examples, NMS 300 is responsible for monitoring and management of one or more wireless networks 106A-106N at sites 102A-102N, respectively, including using RTT information to determine the location of AP 142 / 200. In some examples, NMS 300 receives network data collected by AP devices 142 / 200 and analyzes the data for cloud-based management of wireless networks 106A-106N. In some examples, NMS 300 may be Figure 1A or part of another server shown in FIG. 1 , or part of any other server.

[0079] NMS 300 includes a communication interface 330, one or more processors 306, a user interface 310, a memory 312, and a database 318. The various elements are coupled together via a bus 314, through which the various elements can exchange data and information.

[0080] The processor 306 executes software instructions (such as those used to define software or a computer program) stored to a computer-readable storage medium (such as memory 312), which is a non-transitory computer-readable medium including a storage device (e.g., a disk drive or an optical drive) or a memory (such as flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause the one or more processors 306 to perform the techniques described herein.

[0081] The communication interface 330 may include, for example, an Ethernet interface. The communication interface 330 couples the NMS 300 to a network and / or the Internet, such as Figure 1A The communication interface 330 includes a receiver 332 and a transmitter 334, through which the NMS 300 receives data from the AP device 142, the server 110, 116, 122, 128, and / or any local area network. Figure 1A to Figure 1B The NMS 300 may receive data and information from / to any of the other devices or systems that are part of the network 100 shown in FIG. 1 . The data and information received by the NMS 300 may include, for example, network data and / or event log data received from the AP 142 that is used by the NMS 300 to remotely monitor and / or control the performance of the wireless networks 106A-106N and to determine the location of the AP 142. The NMS may also send data to any network device (such as the AP 142 of any of the network sites 102A-102N) via the communication interface 330 to remotely manage the wireless networks 106A-106N.

[0082] The memory 312 includes one or more devices configured to store programming modules and / or data associated with the operation of the NMS 300. For example, the memory 312 may include a computer-readable storage medium (such as a non-transitory computer-readable medium) including a storage device (e.g., a magnetic disk drive or an optical disk drive) or a memory (such as flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause the one or more processors 306 to perform the techniques described herein.

[0083] In this example, memory 312 includes API 320, SLE module 322, radio resource management (RRM) engine 338, virtual network assistant (VNA) / AI engine 350, positioning engine 370, AP positioning module 372, and one or more machine learning models 380. NMS 300 may also include any other programming modules, software engines, and / or interfaces configured for remote monitoring and management of wireless networks 106A-106N (including remote monitoring and management of any of AP devices 142 / 200).

[0084] The RRM engine 360 ​​monitors one or more metrics of each site 106A-106N in order to understand and optimize the power and / or radio frequency (RF) environment at each site. For example, the RRM engine 360 ​​can monitor the coverage and capacity SLE metrics of the wireless network 106 at the site 102 (e.g., managed by the SLE module 322) to identify potential problems with SLE coverage and / or capacity in the wireless network 106 and adjust the radio settings of the access points at each site to solve the identified problems. The RRM engine 360 ​​can determine the channel and transmit power distribution across all AP devices 142 in each network 106A-106N. The RRM engine 360 ​​can monitor events, power, channels, bandwidth, and the number of clients connected to each AP device. The RRM engine 360 ​​can measure the strength of the radio signal of the client device, such as an RSSI value. The RRM engine 360 ​​can further automatically change or update the configuration of one or more AP devices 142 at the site 106 in order to improve the coverage and / or capacity SLE metrics, thereby providing an improved wireless experience for users. In some examples, the RRM engine 360 ​​may use RTT information and / or the amount of multipath in one or more wireless signals sent between wireless devices (such as APs) in a wireless network determined based on the corrected RTT information as described herein to learn and optimize the radio frequency environment provided by the wireless network (e.g., adjust the transmit power of one or more APs, adjust the operating frequency or channel of one or more APs, etc.). For example, the RRM engine 360 ​​may use RTT information and / or the amount of multipath in one or more wireless signals sent between wireless devices (such as APs) in a wireless network determined based on the corrected RTT information as described herein in combination with RSSI information as described in U.S. patent application No. 17 / 804,780, entitled “Automatic Upgrade Planning,” filed on May 31, 2022, which is incorporated herein by reference in its entirety.

[0085] The VNA / AI engine 350 analyzes the network data received from the AP device 142 and its own data to monitor the performance of the wireless network 106A-106N. For example, the VNA engine 350 can identify when an abnormal or abnormal state is encountered in one of the wireless networks 106A-106N. The VNA / AI engine 350 can use a root cause analysis module (not shown) to identify the root cause of any abnormal or abnormal state. In some examples, the root cause analysis module uses artificial intelligence-based technology to help identify the root cause of any bad SLE measurement at one or more of the wireless networks 106A-106N. In addition, the VNA / AI engine 350 can automatically call one or more remedial measures intended to solve the identified root cause of one or more bad SLE metrics. Examples of remedial measures that can be automatically called by the VNA / AI engine 350 may include, but are not limited to, calling RRM360 to restart one or more AP devices and / or adjust / modify the transmit power of a specific radio in a specific AP device, adjust the operating power or channel for a specific AP, add a service set identifier (SSID) configuration to a specific AP device, change the channel on an AP device or a group of AP devices, etc. Remedial actions may also include restarting switches and / or routers, invoking downloads of new software to AP devices, switches or routers, etc. These remedial actions are given for exemplary purposes only, and the present disclosure is not limited in this regard. If automatic remedial actions are not available or are insufficient to address the root cause, the VNA / AI engine 350 may proactively and automatically provide a notification including recommended remedial actions for IT personnel to take to resolve the anomalous or abnormal wireless network operation.

[0086] The SLE module 322 enables establishing and tracking thresholds for one or more SLE metrics for each of the wireless networks 106A-106N. The SLE module 322 further analyzes network data (e.g., stored as network data 316) collected by AP devices and / or UEs associated with the wireless networks 106A-106N (such as any AP device 142 from UE 148 in each wireless network 106A-106N). For example, the AP devices 142A-1 to 142A-N collect network data (e.g., named assets, connected / unconnected Wi-Fi clients) from UEs 148A-1 to 148A-N currently associated with the wireless network 106A. In addition to any network data collected by one or more APs 142A-1 to 142A-N in the wireless network 106A, this data is sent to the NMS 300 and stored as, for example, network data 315.

[0087] The NMS 300 executes the SLE module 322 to determine one or more SLE metrics for each UE 148 associated with the wireless network 106. The one or more SLE metrics can be further aggregated to each AP device at the site to understand the contribution of each AP device to the wireless network performance at the site. The SLE metrics track whether the service level of each specific SLE metric meets the configured threshold. In some examples, each SLE metric can also include one or more classifiers. If the metric does not meet the SLE threshold configured for the site, the failure can be attributed to a classifier to further understand how and / or why the failure occurred.

[0088] According to the techniques described in this disclosure, the NMS 300 includes an AP location module 372. The AP location module 372, when executed by one or more processors of the NMS 300, determines the locations of deployed APs in the wireless network based on distance measurements obtained from a plurality of APs, the distance measurements being corrected using channel state information and / or determined coefficients of a polynomial relationship between the spread of the obtained RTT / RSSI measurements and the associated errors in the obtained RTT / RSSI measurements.

[0089] For example, a computing device such as NMS 130 / 300 or other computing device executing deployed AP location module 372 automatically determines the location of one or more APs in a wireless network based on distance measurements between APs. The distance measurement can be determined using RTT measurements and / or RSSI measurements of wireless signals communicated between two APs. An example Wi-Fi RTT technology is described in the IEEE 802.11mc (i.e., IEEE 802.11-2016) standard, which defines an FTM protocol that can be used to measure the RTT of Wi-Fi signals.

[0090] Example techniques for automatically determining the locations (e.g., coordinates) of deployed APs based on distance measurements between APs are described in U.S. Provisional Patent Application No. 63 / 243,616, filed on September 13, 2021, entitled “Determining Locations of Deployed Access Points,” U.S. Patent Application No. 17 / 811,784, filed on July 11, 2022, entitled “Determining Locations of Deployed Access Points,” and claim the benefit of U.S. Provisional Patent Application No. 63 / 243,616, filed on September 13, 2021, and U.S. Provisional Patent Application No. 63 / 363,353, filed on April 21, 2022, entitled “Systems and Methods of Determining Floor Locations of Deployed Access Points,” each of which is incorporated herein by reference in its entirety.

[0091] NMS 300 also includes positioning engine 370. In some examples, a computing device (such as NMS 130 / 300 or other computing device executing positioning engine 370) automatically determines the location of one or more wireless client devices associated with the wireless network based on the determined locations of one or more APs. Example techniques for automatically determining the location of a wireless client device are described in U.S. patent application Ser. No. 16 / 147,327, filed on Sep. 28, 2018, entitled “Methods and Apparatus for Using Received Signal Strength Information in a Wireless System,” U.S. patent application Ser. No. 16 / 676,812, filed on Nov. 7, 2019, entitled “Wireless Signals for Location Determination,” U.S. patent application Ser. No. 16 / 915,381, filed on Jun. 29, 2020, entitled “Multi-Wireless Device Location Determination,” U.S. patent application Ser. No. 16 / 915,447, filed on Jun. 29, 2020, entitled “Determining Location Determination Based on Phase Differences,” U.S. patent application Ser. No. 16 / 915,447, filed on Nov. 5, 2021, entitled “Determining Location Based on Dynamic Path Loss Exponent (PLE) and No. 17 / 453,752, entitled “Wi-Fi Location Enhancement,” filed on December 13, 2021, each of which is incorporated herein by reference in its entirety.

[0092] Figure 4 An example user equipment (UE) apparatus 400 is shown. Figure 4The example UE device 400 shown in the figure can be used to implement any of the UEs 148 shown and described herein with respect to FIG. 1. The UE device 400 may include any type of wireless client device, and the present disclosure is not limited in this regard. For example, the UE 400 may include a mobile device such as a smart phone, a tablet or laptop computer, a personal digital assistant (PDA), a wireless terminal, a Bluetooth beacon, a smart watch, a smart ring, or any other type of mobile or wearable device. The UE 400 may also include any type of IoT client device, such as a printer, a security sensor or device, an environmental sensor, or any other connected device configured to communicate via one or more wireless networks.

[0093] According to one or more techniques of this disclosure, NMS 130 continuously (e.g., every 2 seconds or other suitable time period) receives relevant network data from UE 148. Network data 454 may include, for example, RTT and / or RSSI measurements of one or more wireless signals received by UE 400 from one or more AP devices as measured by the AP devices.

[0094] UE device 400 includes a wired interface 430, wireless interfaces 420A-420C, one or more processors 406, a memory 412, and a user interface 410. The various components are coupled together via a bus 414, and the various components can exchange data and information through the bus. The wired interface 430 includes a receiver 432 and a transmitter 434. If necessary, the wired interface 430 can be used to couple UE 400 to the network 134 of Figure 1. The first wireless interface 420A, the second wireless interface 420B, and the third wireless interface 420C include receivers 422A, 422B, and 422C, respectively, each of which includes a receiving antenna, and the UE 400 can receive signals from a wireless communication device (such as the AP device 142, ... Figure 2 The first wireless interface 420A, the second wireless interface 420B and the third wireless interface 420C further include transmitters 424A, 424B and 424C, respectively, each of which includes a transmitting antenna, and the UE 400 can send wireless signals to a wireless communication device (such as the AP device 142, other UE 148, or other device configured for wireless communication) via the transmitting antenna. Figure 2The first wireless interface 420A may include a Wi-Fi 802.11 interface (e.g., 2.4 GHz and / or 5 GHz), and the second wireless interface 420B may include a Bluetooth interface and / or a Bluetooth low energy interface. The third wireless interface 420C may include, for example, a cellular interface, through which the UE device 400 can connect to a cellular network.

[0095] The processor 406 executes software instructions (such as those used to define software or a computer program) stored to a computer-readable storage medium (such as the memory 412), which is a non-transitory computer-readable medium including a storage device (e.g., a disk drive or an optical drive) or a memory (such as flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause the one or more processors 406 to perform the techniques described herein.

[0096] Memory 412 includes one or more devices configured to store programming modules and / or data associated with the operation of UE 400. For example, memory 412 may include a computer-readable storage medium (such as a non-transitory computer-readable medium) including a storage device (e.g., a magnetic disk drive or an optical disk drive) or a memory (such as flash memory or RAM) or any other type of volatile or non-volatile memory that stores instructions to cause one or more processors 406 to perform the techniques described herein.

[0097] In this example, the memory 412 includes an operating system 440, an application 442, a communication module 444, a configuration setting 450, and a data store for network data 454. The data store for network data 454 may include, for example, a status / error log that includes network data specific to the UE 400. As described above, the network data 454 may include any network data, events, and / or states that may be relevant to the determination of one or more roaming quality assessments. The network data may include event data, such as a log of normal events and error events recorded according to a log level based on instructions from a network management system (e.g., NMS 150 / 300). The data store for network data 454 may store any data used and / or generated by the UE 400, such as network data used to determine proximity to a proximity area, which is collected by the UE 400 and sent to any AP device 142 in the wireless network 106 for further transmission to the NMS 150.

[0098] The communication module 444 includes program code that, when executed by the processor 406, enables the UE 400 to communicate using any of the wired interface 430, the wireless interfaces 420A-420B, and / or the cellular interface 450C. The configuration settings 450 include radio settings that the UE 400 sets for each of the wireless interfaces 420A-420C and / or the cellular interface 420C.

[0099] Figure 5 1 is a block diagram illustrating an example network node 500 configured according to the techniques described herein. In one or more examples, the network node 500 implements a device or server attached to the network 134 of FIG. 1 , such as a router, a switch, an AAA server 110, a DHCP server 116, a DNS server 122, a VNA 133, an AP location module 135, a Web server 128A-128X, etc., or any other network device (such as, for example, a router, a switch, etc.).

[0100] In this example, network node 500 includes a communication interface 502 (e.g., an Ethernet interface), a processor 506, an input / output 508 (e.g., a display, buttons, a keyboard, a keypad, a touch screen, a mouse, etc.), a memory 512, and a collection of components 516 (e.g., a collection of hardware modules, e.g., a collection of circuits, etc.) coupled together via a bus 509, through which the various elements can exchange data and information. Communication interface 502 couples network node 500 to a network, such as an enterprise network.

[0101] Although only one interface is shown by way of example, those skilled in the art will recognize that a network node may have multiple communication interfaces. Communication interface 502 includes a receiver 520, and network node 500 may receive data and information (e.g., data indicating the distance between APs and / or operation-related information, such as registration requests, AAA services, DHCP requests, simple notification service (SNS) lookups, and web page requests) via the receiver. Communication interface 502 includes a transmitter 522, and network node 500 may send data and information (e.g., including location information, configuration information, authentication information, web page data, etc.) via the transmitter.

[0102] Memory 512 stores executable software applications 532, operating system 540, and data / information 530. Data 530 includes system logs and / or error logs that store network data and / or proximity information of node 500 and / or other devices (such as wireless access points) based on log levels according to instructions from a network management system. In some examples, network node 500 can forward network data to a network management system (e.g., NMS 130 of FIG. 1) for analysis as described herein.

[0103] Figure 6 is a schematic diagram of an example multipath wireless environment including line-of-sight (LOS) and non-line-of-sight (NLOS) signal paths. Multipath occurs when a transmitted signal is reflected, scattered, or otherwise diverted from a direct LOS path to one or more NLOS paths between a transmitter and a receiver. An NLOS path is longer than a LOS path, and therefore the propagation time is also longer. Due to the different path lengths, LOS and NLOS signals travel different and exact paths and arrive at the receiver at different times. The distance along the NLOS path is longer than the actual distance / path between the transmitter and the receiver. Therefore, if an incorrect (i.e., longer) path length is used to estimate the location of one or more devices in a wireless network, the location estimate may be incorrect.

[0104] In an environment where a signal travels from a transmit antenna 602A of a first access point (AP) 620A to a receive antenna 602B of a second AP 620B, a portion of the signal 610 travels in a straight line (i.e., a straight line of sight or LOS), and some signals (such as signal 612) are reflected by objects (such as a wall 608, floor, or other object) and bounce back toward the receive antenna 602B. Since these latter signals do not travel directly from the transmitter to the receiver, these paths are referred to as non-line of sight or NLOS. In most environments, the received signal is a combination of a LOS signal and one or more NLOS signals. For purposes of the present disclosure, NLOS signals are described as being reflected by objects in the environment, however, in some examples, NLOS signals are also affected by scattering, diffraction, refraction, and / or other interactions with objects in the environment, and the present disclosure is not limited in this regard.

[0105] In some wireless networking applications, the distance between two APs in a wireless network can be determined using RTT measurements and / or RSSI measurements of signals communicated between the two APs. The RTT and / or RSSI measurements indicate the distance between the two APs.

[0106] While the LOS signal is a good indicator of the distance between two APs (the LOS signal path is a straight line between the two APs), the NLOS portion of the multipath signal corrupts the distance measurement (e.g., RTT and / or RSSI measurements) by including the timing and / or power of the NLOS signal in the RTT and / or RSSI measurements. In other words, because the NLOS signal takes a longer path from the transmitting AP to the receiving AP, the contribution of the NLOS signal to the received signal can cause inaccuracies in the distance measurement based on the RTT and / or RSSI of the received signal.

[0107] exist Figure 6In the example shown, since some of the received signals also include signals 612 reflected by the wall 608, the measured RTT may be slightly greater than the actual LOS RTT, resulting in an overestimation of the distance d. For example, the distance may be determined as d+δ 616 instead of the actual distance d 614. Similarly, the RSSI along the LOS path 610 corresponds to the distance d between the transmit antenna 602A and the receive antenna 602B. However, since some of the received signals also include signals 612 reflected by the wall 608, the measured RSSI may be slightly greater than the actual LOS RSSI, resulting in an underestimation of the distance d 614. For example, the distance may be determined as d-△ 618.

[0108] According to one or more techniques of the present disclosure, RTT / RSSI information alone may be used to determine the amount of multipath present in a received wireless signal. In some examples, as further described below, the amount of multipath in a wireless signal is determined by collecting samples of the RTT / RSSI signal and averaging all samples to obtain a better estimate.

[0109] Fig. 7A An example of RTT estimation in a specific environment is shown, where the signal is transmitted via Figure 6 610 and NLOS path 612. In this example, the signal traveling via LOS is the strongest received signal 702. Typically, the RTT is estimated based on the strongest signal peak. Although the received signal also exhibits some power due to multipath, the peak 704 corresponding to the multipath is not as strong and is unlikely to be selected for the purpose of distance estimation. In other words, in this example, the system is able to determine the correct LOS component and correctly estimate the RTT of the signal traveling along the LOS path 610.

[0110] Figure 7B Another example of RTT estimation in a specific environment is shown, where the signal travels via a LOS path 610 and a NLOS path 612. Figure 7B In the example shown, the signal traveling via NLOS path 612 is the strongest signal 712. Due to noise and multipath, this signal 712 may have a significant power peak. On the other hand, the signal 714 traveling along LOS path 610 may be greatly attenuated and therefore may exhibit a lower power peak compared to the strongest signal 712. In this case, the system may perform an erroneous estimate of the distance d based on the strongest signal 712.

[0111] Typically, the RTT calculation can be carried by the hardware and firmware of the WiFi access point (usually at the MAC layer). The raw RTT can be estimated based on the time it takes for the signal to travel from the transmit antenna 602A to the receive antenna 602B and back. According to one or more techniques of the present disclosure, the raw RTT estimate can be processed to produce a better (e.g., less noisy) estimate. For example, a given number (N) of RTT samples can be averaged to produce an estimate of the RTT.

[0112] In addition, according to one or more techniques of the present disclosure, the spread of the RTT estimate can be calculated. In a non-limiting example, the spread of the RTT estimate can be calculated as the root mean square (RMS) deviation of the RTT measurement. It should be noted that the calculation of the spread of the RTT estimate is not limited to calculating the RMS deviation of the RTT measurement. In other aspects, other statistical measurements can be used to determine the spread of the RTT estimate, such as but not limited to variance, standard deviation, average Euclidean distance between RTT measurements, range, entropy, etc.

[0113] According to aspects of the present disclosure, there is a polynomial relationship between the estimation error introduced by multipath signals into the RTT measurement and the statistical spread of the RTT. This relationship is represented by equation (1):

[0114] E=a×S^4+b, (1)

[0115] in:

[0116] E represents the prediction error in RTT estimation;

[0117] S represents the spread of RTT values ​​(eg, the RMS deviation of the RTT measurements); and

[0118] a and b are coefficients.

[0119] Equation 1 can be used, for example, to determine a prediction of the RTT error represented by coefficients a, b based on an input of the statistical spread S.

[0120] The polynomial equation provided above is only one example, and other polynomial equations may be used, such as polynomials of different degrees based on the spread function used (e.g., variance, standard deviation, etc.). For example, if the spread function is the variance, a polynomial of degree two may be used, or if the spread function is the standard deviation, a polynomial of degree four may be used. It should be understood that a polynomial equation may refer to any type of polynomial.

[0121] According to one or more techniques of the present disclosure, first, measurements may be performed in a controlled environment. Table 1 below shows RTT measurements performed in a controlled environment, in which the distance between the transmitting antenna 602A and the receiving antenna 602B is known:

[0122]

[0123]

[0124] Table 1.

[0125] Multiple measurements can be performed at each known distance d between the transmit antenna 602A and the receive antenna 602B. In one aspect, these multiple measurements can be performed using different multipath modes for each distance. For example, the three measurements shown in Table 1 are performed for the known distance dl, and the corresponding calculated round-trip measurement can be RTT1. In the example shown in Table 1, the actual measured RTTs for three different multipath modes are RTT'1,1; RTT'1,2; and RTT'1,3. These actual measured RTT values ​​can be used to calculate the RTT spread S1. It is worth noting that although only three measurements are shown in Table 1, the technology of the present disclosure can cover a larger number of samples to obtain better results. Any interpolation filter described herein can have various sizes.

[0126] In addition, the technology of the present disclosure includes determining the RTT error between the calculated RTT and the measured RTT. Such RTT error can be calculated using equation (2):

[0127] E k =RTT' k,n -RTT k , (2)

[0128] in:

[0129] RTT' k,n represents the measured RTT value; and

[0130] RTT k Indicates the calculated RTT value.

[0131] The last column in Table 1 shows the calculated RTT error for each measurement performed (eg, E'1,1; E'1,2; and E'1,3).

[0132] Figure 8 is a graph of an example of RTT error as a function of spread. The corresponding points 802 (each with corresponding E and S values) are taken from Table 1. According to one or more techniques of the present disclosure, a curve fitting algorithm may be used to fit a polynomial curve 804 (such as the curve provided by equation (1)) to Figure 8802 shown in . For example, a curve fitting algorithm may attempt to fit a curve corresponding to equation (2). It should be noted that the polynomial equations presented here are for illustrative purposes only. The technology of the present disclosure contemplates the use of other polynomial equations. The curve fitting algorithm may include, but is not limited to, polynomial regression, hyperelliptic curve fitting, generalized Hough transform, or other curve fitting methods.

[0133] More specifically, a curve fitting algorithm may be used to determine coefficients a and b, such as to minimize the sum of the errors between the polynomial curve and the actual measured RTT numbers presented in Table 1. For example, the curve fitting algorithm may utilize equations (3)-(5) shown below:

[0134]

[0135] Next, the derivative of equation (3) may be taken with respect to a and may be equal to zero, which yields equation (4).

[0136]

[0137] Similarly, the derivative of equation (3) can be taken with respect to b and can be equal to zero, which yields equation (5).

[0138]

[0139] According to the technology in the present disclosure, the curve fitting algorithm can determine the coefficients a and b by solving equations (4) and (5). Once the coefficients a and b are determined, these coefficients can be used to correct the measured RTT value. In order to correct the measured RTT value, the same spread of the RTT value used to determine the coefficients a and b can be calculated. This value is then used together with a and b to predict the error in the RTT value. Next, the predicted error can be subtracted from the RTT distance estimate.

[0140] Fig. 9 is a flow chart of an example process (900) by which a computing device uses dispersion in distance measurements to correct measured RTT / RSSI values, in accordance with one or more techniques of this disclosure. The computing device may include one or more processors of a network management system, such as Figure 1A , Figure 1B and / or Figure 3 The processor 306 of the NMS 130 / 300 or other computing device executing the deployed AP positioning module 135 / 372 shown in FIG. In such an example, the wireless device may include multiple APs (such as Figure 1A and / or Figure 2 AP 142 / 200 shown in ) or a wireless network such as Figure 1A and Figure 1BIn addition, although the process (900) is described as being performed by NMS 130 / 300, any computing device or group of computing devices (such as any one or more of AP 142 / 200, server 128, edge computing device 150, network node 500, etc.) can perform the functions described herein, and the present disclosure is not limited in this regard.

[0141] The computing device may obtain measurements in a known environment (902). For example, the computing device may obtain measurements in an environment where the distance d between the transmit antenna 602A of the first AP device 620A and the receive antenna 602B of the second AP device 620B is known. The computing device may obtain distance measurements, such as RTT measurements and / or RSSI measurements. At 904, the computing device may then determine coefficients a and b of the polynomial using, for example, a polynomial fitting algorithm described above in conjunction with equations (3), (4), and (5). Once the coefficients a and b are determined, the described system may use the determined coefficients to correct distance measurements for an unknown environment.

[0142] At 906, the computing device may obtain RTT / RSSI measurements in an unknown environment. For example, the computing device may obtain distance measurements in an environment where a distance d between a transmit antenna of a third AP device and a receive antenna of a fourth AP device is unknown.

[0143] At 908, the computing device uses the coefficients determined at 904 to correct the RTT / RSSI measurements obtained at 906. In order to correct the measured RTT value, the same spread of the RTT value used to determine the coefficients a and b can be calculated. This value is then used together with a and b to predict the error in the RTT value. Next, the predicted error can be subtracted from the RTT distance estimate. At 910, the computing device uses the corrected RTT measurement to determine a more accurate distance between the transmit antenna 602A and the receive antenna 602B. In a non-limiting example, the corrected RTT measurement can be used to estimate the location of the Wi-Fi device. Example techniques for automatically determining the location (e.g., coordinates) of deployed APs based on distance measurements between APs are described in U.S. Provisional Patent Application No. 63 / 243,616, entitled “Determining Locations of Deployed Access Points,” filed on September 13, 2021, which is incorporated herein by reference in its entirety.

[0144] Fig.10is a flow chart of an example process (1000) by which a computing device determines coefficients of a polynomial function in accordance with one or more techniques of this disclosure. The computing device may include one or more processors of a network management system, such as Figure 1A , Figure 1B and / or Figure 3 The processor 306 of the NMS 130 / 300 or other computing device executing the deployed AP positioning module 135 / 372 shown in FIG. In such an example, the wireless device may include multiple APs (such as Figure 1A and / or Figure 2 AP 142 / 200 shown in ) or a wireless network such as Figure 1A and Figure 1B In addition, although the process (1000) is described as being performed by the NMS 130 / 300, any computing device or group of computing devices (such as any one or more of the AP 142 / 200, the server 128, the edge computing device 150, the network node 500, etc.) can perform the functions described herein, and the present disclosure is not limited in this regard. As an example, Fig.10 Process 1000 may provide more details of steps 902 and 904 of process 900 .

[0145] The computing device may obtain distance (RTT / RSSI) measurements (1002) in a known environment. For example, the computing device may obtain measurements in an environment where the distance d between the transmit antenna 602A of the first AP device 620 and the receive antenna 602B of the second AP device 620B is known. In some examples, the computing device may obtain RTT measurements collected over a selected time period (e.g., one hour). In some examples, the computing device may obtain RTT measurements and / or RSSI measurements.

[0146] At 1004, the computing device may determine the spread of the obtained RTT / RSSI measurements. In one non-limiting example, the spread of the RTT estimate may be calculated as the root mean square (RMS) deviation of the RTT measurements. It should be noted that the calculation of the spread of the RTT / RSSI estimate is not limited to calculating the RMS deviation of the RTT / RSSI measurements. In other aspects, other statistical measurements may be used to determine the spread of the RTT / RSSI estimate, such as but not limited to variance, standard deviation, average Euclidean distance between RTT / RSSI measurements, range, entropy, etc.

[0147] At 1006, the computing device may determine the error between the calculated RTT / RSSI value (based on the known distance) and the obtained RTT / RSSI measurement. Such RTT / RSSI error may be calculated using, for example, equation (2) as shown above. As described above, there is a polynomial relationship between the error introduced into the RTT measurement by the multipath signal and the statistical spread of the RTT. As an example, such a polynomial relationship is described by equation (1). Therefore, at 1006, the computing device may roughly estimate the measured RTT / RSSI value and the spread of the determined RTT / RSSI error by a polynomial.

[0148] At 1008, the computing device may determine the coefficients of the polynomial (eg, coefficients a and b), for example, by executing the curve fitting algorithm described by equations (3), (4), and (5) above.

[0149] Fig.11 is a flow chart of an example process (1100) by which a computing device reduces errors introduced by multipath in RTT measurements, in accordance with one or more techniques of the present disclosure. The computing device may include one or more processors of a network management system, such as Figure 1A , Figure 1B and / or Figure 3 The processor 306 of the NMS 130 / 300 or other computing device executing the deployed AP positioning module 135 / 372 shown in FIG. In such an example, the wireless device may include multiple APs (such as Figure 1A and / or Figure 2 AP 142 / 200 shown in ) or a wireless network such as Figure 1A and Figure 1B In addition, although the process (1100) is described as being performed by NMS 130 / 300, any computing device or group of computing devices (such as any one or more of AP 142 / 200, server 128, edge computing device 150, network node 500, etc.) can perform the functions described herein, and the present disclosure is not limited in this regard. As an example, Fig.11 Process 1100 may provide more details of steps 906 , 908 , and 910 of process 900 .

[0150] The computing device may obtain RTT measurements 1102 in an unknown environment. For example, the computing device may obtain measurements in an environment where the distance d between the transmit antenna 602A and the receive antenna 602B is unknown. The computing device may obtain RTT measurements collected over a selected time period (e.g., one hour).

[0151] At 1104, the computing device may determine the spread of the obtained RTT measurements. In one non-limiting example, the spread of the RTT measurements may be calculated as a root mean square (RMS) deviation of the RTT measurements. It should be noted that the calculation of the spread of the RTT measurements is not limited to calculating the RMS deviation of the RTT measurements. In other aspects, other statistical measures may be used to determine the spread of the RTT measurements, such as, but not limited to, variance, standard deviation, average Euclidean distance between RTT measurements, range, entropy, etc.

[0152] At 1106, the computing device can estimate the error in the RTT measurement by roughly estimating the spread of the obtained RTT measurement using a polynomial and determining the coefficients of the polynomial (e.g., coefficients a and b of equation (1)) by executing the curve fitting algorithm described in equations (3), (4), and (5) above.

[0153] At 1108, the computing device may use the estimated RTT error to correct the obtained RTT measurement. According to the techniques in the present disclosure, the computing device may use equation (6) as shown below to calculate the corrected RTT measurement:

[0154] Corrected RTT measurement = measured RTT - estimated RTT error (6)

[0155] As mentioned above, there is a polynomial relationship between the error introduced by multipath into the RTT measurement and the spread of the RTT statistics defined by equation (1).

[0156] At 1110, for example, the computing device may use the corrected RTT measurement to determine the location of one or more devices in the wireless network. In one non-limiting example, the corrected RTT measurement may be used to determine the distance between a transmit antenna of the device and a receive antenna of another device.

[0157] Although the process (1100) is described with respect to correcting RTT measurements, the same process can be used to correct other Wi-Fi related measurements, such as but not limited to RSSI. In one aspect, the computing device can use the corrected RTT measurements to improve the accuracy of determining the location of one or more devices in the wireless network. In another aspect, the computing device can use the estimated RTT error to identify isolated APs (IAPS) for which there is no set of LOS RTT measurements between these IAPs and their neighbors. Since there is no set of LOS RTT measurements between the IAPs and their neighbors, determining the location of the IAPs based on the locations of their neighbors may be prone to errors. Similarly, determining the location of the IAP's neighbors based on the RTT measurements between the IAP and its neighbors may also be prone to errors.

[0158] Fig.12is a flow chart of an example process (1200) by which a computing device uses an estimated RTT error to determine which RTT measurements provide a reliable means for determining the distance between a transmit antenna of a device and a receive antenna of another device, in accordance with one or more techniques of this disclosure. Additionally, process 1200 may be used by a computing device to determine whether a measured RTT measurement provides a reliable means for determining the distance between two neighbor APs. The computing device may include one or more processors of a network management system, such as Figure 1A , Figure 1B and / or Figure 3 The processor 306 of the NMS 130 / 300 or other computing device executing the deployed AP positioning module 135 / 372 shown in FIG. In such an example, the wireless device may include multiple APs (such as Figure 1A and / or Figure 2 AP 142 / 200 shown in ) or a wireless network such as Figure 1A and Figure 1B In addition, although the process (1200) is described as being performed by NMS130 / 300, any computing device or group of computing devices (such as any one or more of AP 142 / 200, server 128, edge computing device 150, network node 500, etc.) can perform the functions described herein, and the present disclosure is not limited in this regard.

[0159] At 1202, the computing device may obtain RTT measurements between all APs and their neighbors. For simplicity, process 1200 is described with respect to only one AP.

[0160] At 1204, the computing device may determine the spread of the obtained RTT measurements. In one non-limiting example, the spread of the RTT measurements may be calculated as a root mean square (RMS) deviation of the RTT measurements. It should be noted that the calculation of the spread of the RTT measurements is not limited to calculating the RMS deviation of the RTT measurements. In other aspects, other statistical measurements may be used to determine the spread of the RTT measurements, such as but not limited to variance, standard deviation, average Euclidean distance between RTT measurements, range, entropy, etc. In addition, at 1204, the computing device may estimate the error in the RTT measurements by roughly estimating the spread of the obtained RTT measurements with a polynomial and determining the coefficients of the polynomial (e.g., coefficients a and b) by performing the above-mentioned curve fitting algorithm.

[0161] At 1206, the computing device may determine whether the estimated error in the RTT measurement is greater than a predetermined threshold. If the estimated error is greater than the predetermined threshold (YES branch), the computing device may mark the corresponding RTT measurement as unreliable (1208). At 1210, the computing device may store the estimated error with the corresponding RTT measurement.

[0162] According to one or more disclosed techniques, the computing device may use the estimated error to correct the measurement (e.g., using equation (6)) instead of marking the RTT measurement as unreliable at 1208. The computing device may use the corrected measurement to determine the distance between transmit antenna 602A and receive antenna 602B.

[0163] However, if the estimated error is not greater than the predetermined threshold (NO branch), the computing device may mark the corresponding RTT measurement as reliable (1212). It should be noted that the computing device may store the estimated error together with the corresponding RTT measurement. For simplicity, this step is Fig.12 At 1214, for example, the computing device may determine the distance between the transmit antenna 602A and the receive antenna 602B using accurate and reliable RTT measurements. According to one or more techniques of this disclosure, the computing device may determine the distance between two neighbor APs using accurate and reliable RTT measurements.

[0164] Fig.13 1 is a flow chart of an example process (1300) by which a computing device uses an estimated RTT error to determine which APs can serve as anchor APs, in accordance with one or more techniques of this disclosure. The computing device may include one or more processors of a network management system, such as Figure 1A , Figure 1B and / or Figure 3 The processor 306 of the NMS 130 / 300 or other computing device executing the deployed AP positioning module 135 / 372 shown in FIG. In such an example, the wireless device may include multiple APs (such as Figure 1A and / or Figure 2 AP 142 / 200 shown in ) or a wireless network such as Figure 1A and Figure 1B In addition, although the process (1300) is described as being performed by NMS130 / 300, any computing device or group of computing devices (such as any one or more of AP 142 / 200, server 128, edge computing device 150, network node 500, etc.) can perform the functions described herein, and the present disclosure is not limited in this regard.

[0165] At 1302 , a computing device may determine a plurality of reliable RTT measurements between an AP and its neighbors, as described above in conjunction with process 1200 .

[0166] At 1304, the computing device may determine whether the number of reliable RTT measurements is less than a predetermined threshold. In one non-limiting example, the predetermined threshold may be equal to 3. In response to determining that the number of reliable RTT measurements is less than the predetermined threshold (YES branch), the computing device may mark the corresponding AP as unsuitable to serve as an anchor AP (1306). Additionally, at 1308, the computing device may tag the corresponding AP for potential manual position determination by a technician, as automatic position estimates may become inaccurate due to inaccurate measurement data.

[0167] However, in response to determining that the number of reliable RTT measurements is not less than the predetermined threshold (NO branch), the computing device may mark the corresponding AP as suitable for serving as an anchor AP from which to determine the location of the neighbor AP (1310). Additionally, at 1312, if the location of the AP is determined based on the locations of its neighbors, the computing device may tag the corresponding AP as having a small location error. It should be noted that the computing device may tag the corresponding AP with its corresponding location error.

[0168] Fig.14A is a schematic diagram of an example multipath wireless environment including line-of-sight (LOS) and non-line-of-sight (NLOS) signal paths. Multipath occurs when a transmitted signal is reflected, scattered, or otherwise diverted from a direct line-of-sight (LOS) path to one or more non-line-of-sight (NLOS) paths between a transmitter and a receiver. An NLOS path is longer than a LOS path and therefore has a longer propagation time. Due to the different path lengths, LOS and NLOS signals travel different and exact paths and arrive at the receiver at different times. The distance along an NLOS path is longer than the actual distance / path between a transmitter and a receiver. Therefore, if an incorrect (i.e., longer) path length is used to estimate the location of one or more devices in a wireless network, the location estimate may be incorrect.

[0169] In a real environment where a signal travels from a transmit antenna 1402A of a first access point (AP) 1420A to a receive antenna 1402B of a second AP 1420B, a portion of the signal 1410 travels in a straight line (i.e., a straight line of sight or LOS), and some signals (such as signals 1412A, 1412B, and 1412C) are reflected by objects (such as walls 1408, floors, or other objects 1406A, 1406B) and bounce back toward the receive antenna 1402B. Since these latter signals do not travel directly from the transmitter to the receiver, these paths are referred to as non-line of sight or NLOS. In most real environments, the received signal is a combination of a LOS signal and one or more NLOS signals. For purposes of this disclosure, NLOS signals are described as being reflected by objects in the environment, however, in some examples, NLOS signals are also affected by scattering, diffraction, refraction, and / or other interactions with objects in the environment, and the disclosure is not limited in this regard.

[0170] In some wireless networking applications, the distance between two APs in a wireless network can be determined using round trip time (RTT) measurements and / or received signal strength indicator (RSSI) measurements of signals communicated between the two APs. The RTT and / or RSSI measurements indicate the distance between the two APs.

[0171] While the LOS signal is a good indicator of the distance between two APs (the LOS signal path is a straight line between the two APs), the NLOS portion of the multipath signal corrupts distance measurements (e.g., RTT and / or RSSI measurements) by including the timing and / or power of the NLOS signal in the RTT and / or RSSI measurements. In other words, because the NLOS signal takes a longer path from the transmitting to the receiving AP, the contribution of the NLOS signal to the received signal can cause inaccuracies in distance measurements based on the RTT and / or RSSI of the received signal.

[0172] According to one or more techniques of the present disclosure, channel state information (CSI) may be used to determine the amount of multipath present in a received wireless signal. In some examples, the amount of multipath in a wireless signal is determined based on amplitude and / or phase information in CSI information of the wireless signal obtained over a period of time. For example, the amount of multipath in a wireless signal sent between two APs may be used as an indication of the relative accuracy of a corresponding distance measurement (e.g., RTT and / or RSSI measurement) based on a wireless signal indicating the distance between the two APs. The amount of multipath in the wireless signal is compared with a threshold. In some examples, a distance measurement based on a signal having a multipath less than a threshold amount sent between the two APs is used to calculate the distance between the two APs, while a distance measurement based on a signal having a multipath greater than a threshold amount is not used in the distance calculation. In other examples, a distance measurement based on a signal having a multipath greater than a threshold amount sent between the two APs is corrected based on one or more error correction factors corresponding to the amount of multipath present in the signal. The corrected distance measurement may then be used to calculate the distance between the two APs. In some examples, the determination of the amount of multipath present in the signal is expressed as a percentage of the signal affected by multipath and / or one or more error correction factors corresponding to the amount of multipath.

[0173] CSI is a complex vector (I / Q data) that contains amplitude and phase information about the propagation channel at a specific subcarrier frequency for each pair of transmit and receive antennas. Fig. 14B 1430 is a schematic diagram of an example time series of CSI vector samples. i,j (where i is a transmitting AP and j is a receiving AP) can be represented as a set of vectors 1432 of 2×n values, where the first column represents the amplitude (A), the second column represents the phase (a) corresponding to the amplitude measurement, and n is the number of channels for which CSI measurements are obtained. The CSI vectors 1432 are periodically measured (sampled) at times t1, t2, ..., etc. Each AP 142 / 200 samples the CSI vectors of the signals received from one or more transmitting APs and stores the CSI vectors as, for example, as shown in FIG. Figure 2 and Figure 3 The CSI data 139, 254, 319 shown in FIG. 142 / 200 can also determine a distance measurement indicating the distance between the AP and one or more other APs in the wireless network based on the wireless signals communicated between the two APs. The distance measurement can include, for example, RTT and / or RSSI measurements indicating the distance between the two APs. The distance measurement value can be stored, for example, as shown in FIG. 1, Figure 2 and Figure 3Each AP periodically sends the RTT / RSSI data 143, 252, 325 to a computing device (such as Figure 1A , Figure 1B and Figure 3 The NMS 130 / 300 shown in the figure or other computing device configured to process CSI and / or RTT / RSSI data sends CSI and / or RTT / RSSI data. The NMS 130 / 300 or other computing device stores the CSI data received from the AP as CSI data 139 / 319, and stores the RTT / RSSI data received from the AP as RTT / RSSI data 143 / 325. In some examples, CSI samples are collected and analyzed within one or more sampling periods. In some examples, the CSI data is relatively stable within intervals of 10 to 100 milliseconds, so averaging the CSI samples over these intervals can help reduce noise.

[0174] In some examples, the amount of multipath in the received signal is determined based on a distribution of phases of CSI samples over a period of time. For example, a computing device such as NMS 130 / 300 or other computing device executing deployed AP location module 372 determines a portion, such as a "percentage," of the received signal due to multipath based on a histogram of phase values ​​of CSI vectors acquired over a period of time.

[0175] In general, the amount of energy in a signal due to multipath (e.g., the percentage of multipath) does not necessarily indicate the absolute number of NLOS signals. Rather, the contribution to the amount of energy in a signal due to multipath can come from (1) a large number of NLOS signals that each contribute a relatively small amount to the determined percentage of multipath, or (2) a smaller number of NLOS signals that each contribute a relatively large amount to the determined percentage of multipath. Both of these situations can cause the RTT / RSSI measurement to have a large degree of error in the associated distance determination.

[0176] According to one or more techniques of the present disclosure, it has been determined that LOS conditions (i.e., relatively less multipath amount) are associated with relatively larger changes in phase histogram offsets, and NLOS (relatively more multipath amount) conditions are associated with relatively smaller changes in phase histogram offsets. Therefore, in some examples, the RTT / RSSI measurement used to determine the distance between APs in a wireless network is selected based on the multipath amount or phase histogram variance of the underlying wireless signal. In other examples, the multipath amount or phase histogram variance of wireless signals sent between APs in the wireless network indicates whether the AP is an "outlier" AP. In other examples, the multipath amount or phase histogram variance of wireless signals sent between wireless devices (such as APs) in the wireless network determined based on CSI information as described herein can be used for the purpose of radio resource management (RRM) in order to learn and optimize the RF environment provided by the wireless network. Determining the amount of multipath in a wireless signal based on phase histogram variance according to the techniques of the present disclosure can also be applied to other use cases for the purpose of monitoring and management of wireless networks, and the present disclosure is not limited in this regard.

[0177] FIG. 15A to FIG. 15D is a histogram of counts (y-axis) of specific phase values ​​(or bins of phase values ​​in this example) over a predetermined time period (e.g., 30 minutes, 1 hour, etc.) compared to the phase values ​​themselves (x-axis). The number of times a particular phase value is measured (experienced) is indicated by the y-axis, and the particular phase value is indicated on the x-axis. The measurements indicated in the figure correspond to measurements from different locations; each line corresponds to a histogram of phase measurements in a particular location.

[0178] Since the AP receives new packets at a fixed frequency when sampling CSI data, the CSI phase has a periodic pattern. Due to the larger variation of phase offset, the phase histogram ( Fig. 15B and Fig. 15C ) show a relatively small amount of variation because the peaks are relatively low and the troughs are relatively shallow, and the total number of counts for each phase value is more concentrated around the mean value of each bin. When most of the signal travels on the LOS path, the phase histogram ( Fig.15A and Fig. 15C ) will show relatively large changes in the values ​​of the measured phase histogram.

[0179] Fig.16A1550B). This variation in values ​​in the phase histogram is referred to herein as "phase histogram variance".

[0180] In accordance with one or more techniques of the present disclosure, CSI data may be collected in conjunction with RTT / RSSI, etc. and the determined relationship therebetween. For example, CSI data may be collected using a controlled experiment or using estimates from historical CSI data. The CSI vector for each of a plurality of multipath signals is sampled, and a histogram of the CSI phase is generated. The variance of each CSI phase value (or bin of phase values) (i.e., a "phase histogram variance") is determined. In some examples, the RTT / RSSI distance determined based on the multipath signal is compared to the corresponding known (i.e., measured) distance to determine an error relationship associated with the amount of multipath in the NLOS signal. The resulting information may be stored in a storage device such as a Fig. 16B In the data structure shown in FIG. 1 , the phase histogram variance has an inverse relationship with the amount of multipath present in the wireless signal. In other words, a relatively small phase histogram variance indicates a large amount of multipath in the wireless signal, while a relatively large phase histogram variance indicates a relatively small amount of multipath in the wireless signal. Therefore, in Fig. 16B 1650, as the amount of multipath shown in the first column increases from the lower rows to the higher rows of table 1650, the phase histogram variance decreases from the lower rows to the higher rows of table 1650.

[0181] In some examples, the determination of the amount of multipath present in the signal is expressed as a percentage of the signal affected by multipath and / or an error correction factor corresponding to the amount of multipath. Fig. 16B , the amount of multipath in the NLOS signal is expressed as a percentage (shown in the first column 1658A of the table). The percentage is also associated with the phase histogram variance (the variance of the values ​​of each CSI phase histogram bin) (second column 1658B) and / or one or more error correction factors (third and fourth columns 1658C and 1658D).

[0182] Although the examples herein describe using CSI phase information to determine the amount of multipath, examples are also contemplated that include using CSI amplitude or a combination of CSI amplitude and phase information to determine the amount of multipath in a wireless signal, and the present disclosure is not limited in this respect.

[0183] In some examples, machine learning techniques may be applied to determine the amount of multipath present in a wireless signal based on the CSI information of the signal. For example, one or more classifier features may be applied as input to a machine learning model to classify the amount of multipath present in a wireless signal based on the CSI information. Example features may include, but are not limited to, frequency domain data, such as amplitude data (e.g., mean, variance, skewness, kurtosis, Euclidean similarity, Pearson correlation, entropy, etc.), phase data (e.g., variance, amplitude weighted variance, etc.); and time domain data, such as channel impulse response (CIR) (e.g., mean, variance, skewness, kurtosis, Euclidean similarity, entropy, etc.). One or more channel models (including, but not limited to, Rayleigh, Rician, Nakagami, etc.) may be used to model the channel.

[0184] The labeled data set can be split into training feature data and test feature data. The test feature data can be taken from an environment different from but similar to the training feature data. The data can also be generated synthetically. The classifier may include, for example, a support vector machine (SVM) or other supervised machine learning model that is trained to classify whether there are obstacles in the LOS path using the training feature data. This can be used to roughly estimate whether the dominant path is a LOS or NLOS path. The test feature data set can then be used to test the accuracy of the classifier. Other examples may include estimating the degree of multipath or time correction for RSSI / RTT measurements.

[0185] Reference again Fig. 16B According to one or more techniques of the present disclosure, a configurable threshold indicates the amount of multipath present in a wireless signal. In some examples, the amount of multipath in the wireless signal corresponds to the variance of the values ​​in each CSI phase histogram bin ("phase histogram variance"). In some examples, a computing device such as NMS130 / 300 or other computing device executing the deployed AP positioning module 372 determines the amount of multipath for the wireless signal based on a histogram of CSI information of the wireless signal obtained over a period of time. The amount of multipath for the wireless signal is compared with a threshold. Measurements (e.g., RTT, RSSI, etc.) of wireless signals having an amount of multipath less than a threshold can be considered "low multipath". Measurements (e.g., RTT, RSSI, etc.) of such "low multipath" wireless signals can be determined to be sufficiently accurate for the purpose of determining the distance between two APs (or any other combination of two wireless devices) between which the wireless signal is sent. Wireless signals having an amount of multipath greater than a threshold can be considered "high multipath", and therefore, distance measurements based on such high multipath wireless signals may not be accurate enough for the purpose of determining the distance between two APs.

[0186] For example, suppose in Fig. 16B , the threshold multipath amount is set to correspond to the phase histogram variance "V3". A wireless signal having a multipath amount less than (or equal to) the phase histogram variance threshold V3 (e.g., the phase histogram variance values ​​V1, V2, and V3 indicated by reference numeral 1652) will be deemed acceptable for the purpose of determining the distance based on the RTT / RSSI measurement corresponding to the wireless signal. Conversely, a wireless signal having a multipath amount greater than the phase histogram variance threshold V3 (e.g., the phase histogram variance value 1654) will be deemed less than ideal or unacceptable for the purpose of determining the distance between two APs based on the RTT / RSSI measurement corresponding to the signal. In some examples, the distance between the two APs is calculated using RTT / RSSI measurements based on signals having a phase histogram variance less than the threshold sent between the two APs, while RTT / RSSI measurements based on signals having a phase histogram variance greater than the threshold are not used in the distance calculation (e.g., they are ignored or discarded).

[0187] In some examples, RTT / RSSI measurements based on signals transmitted between two APs having a multipath greater than a threshold amount are corrected based on one or more error correction factors corresponding to the amount of multipath associated with the wireless signal. Example error correction factors E1 through Ei are shown in FIG. Fig. 16B The corrected RTT / RSSI measurement can then be used to determine the distance between the two APs. In some examples, the corrected ("actual") distance can be determined according to the following equation:

[0188] Actual distance = (measured distance) i ×E i -e j (7)

[0189] where e j is an additional error correction factor associated with the amount of multipath in the signal, and E i is a proportional correction factor associated with the amount of multipath in the signal.

[0190] Measuring distance is based on measurements of RTT and / or RSSI, which indicate the distance between the transmitting and receiving APs.

[0191] Although equation (7) is one example of determining the corrected distance, other equations or suitable error correction techniques may be used and the present disclosure is not limited in this regard.

[0192] Typically, the error applied correction factor reduces the distance obtained from the measured RTT (based on the NLOS distance) because the error introduced in the RTT distance measurement based on including multipath signals is additive due to the increased path length introduced by the NLOS signal path.

[0193] According to one or more techniques of the present disclosure, in an example where distance measurements are selected based on CSI data of wireless signals used for communication between APs, when one or more distance measurements are ignored based on CSI information as described herein, one or more AP islands may be created for which there are not enough distance measurements to other APs having a multipath amount less than a threshold to be able to accurately determine the locations of these other APs. In some examples, at least three distance measurements to other APs are required, and sometimes more than four distance measurements are required to accurately determine the location of the AP through trilateration without the possibility of flip ambiguity or other positioning errors. In some examples, when there are not enough distance measurements having a multipath amount less than a threshold, a computing device may generate a notification including an indication of one or more identified AP islands, the notification including an identification of a particular AP, and / or a suggestion to perform manual measurements on one or more of the identified APs that do not have sufficient distance estimates to one or more APs in the main AP group.

[0194] In other examples, according to one or more techniques of this disclosure, the amount of multipath in a wireless signal sent between two APs indicates whether the AP is a "stray" AP, i.e., an AP that is relatively isolated relative to other APs. This can be related to its geographical deployment and / or to its ability to communicate with other APs in the wireless network. In other examples, the amount of multipath or phase histogram variance of wireless signals sent between wireless devices (such as APs) in a wireless network determined based on CSI information as described herein can be used for the purpose of radio resource management (RRM) in order to learn and optimize the RF environment provided by the wireless network.

[0195] According to one or more techniques of the present disclosure, in some examples, if it is determined that one or more APs have been installed in a location associated with a large amount of multipath, the computing device may automatically generate a notification including a recommendation to move the one or more APs to a different location associated with a relatively lesser amount of multipath. In some examples, the computing device may automatically adjust the transmit power, channel, and / or operating frequency of the one or more APs based on the amount of multipath determined for the one or more APs.

[0196] According to yet another example implementation, when necessary, RTT / RSSI measurements taken on paths with a relatively large amount of multipath are used to determine the location of a particular AP, and the user is notified of the fact that the location of that AP may be considered less accurate.

[0197] Fig.17 1700 is a flow chart of an example process (1700) by which a computing device selects a distance measurement between APs based on CSI information and determines the location of the APs based on the selected distance measurement, in accordance with one or more techniques of this disclosure. The computing device may include one or more processors of a network management system, such as Figure 1A , Figure 1B and / or Figure 3 The processor 306 of the NMS 130 / 300 or other computing device executing the deployed AP positioning module 135 / 372 shown in FIG. In such an example, the wireless device may include multiple APs (such as Figure 1A and / or Figure 2 AP 142 / 200 shown in ) or a wireless network such as Figure 1A and Figure 1B In addition, although the process (1700) is described as being performed by NMS130 / 300, any computing device or group of computing devices (such as any one or more of AP 142 / 200, server 128, edge computing device 150, network node 500, etc.) can perform the functions described herein, and the present disclosure is not limited in this regard.

[0198] For each selected pair of two APs including a first AP and a second AP, the computing device obtains CSI data including amplitude and phase information associated with a wireless signal transmitted between the first AP and the second AP (1702). For example, the computing device may obtain phase information from CSI samples collected over a selected time period (e.g., one hour). In some examples, the samples may be averaged over a shorter time period (e.g., 10 to 100 milliseconds) to filter noise present in the CSI samples. The measured phases are then assigned to phase bins, such as described above with reference to FIG. 15A to FIG. 15D as described.

[0199] The computing device determines the amount of multipath for the wireless signal based on the CSI information of the wireless signal (1704). For example, the computing device may determine the amount of multipath based on the CSI amplitude and / or phase information of the wireless signal. In some examples, the computing device determines the amount of multipath based on a histogram of the CSI phase information for a selected time period.

[0200] The computing device compares the amount of multipath in the wireless signal to a threshold value (1706). In some examples, the threshold value is a configurable value indicating an acceptable amount of multipath in a wireless signal to be used to determine the distance between APs in the wireless network.

[0201] If the amount of multipath satisfies the threshold (YES branch of 1710), the computing device selects those RTT / RSSI distance measurements associated with the wireless signal for the purpose of determining the location of the first AP or the second AP (1714). For example, RTT / RSSI measurements based on signals sent between the first AP and the second AP having less than a threshold amount of multipath are selected for the purpose of determining the location of the first AP or the second AP. For such signals, the effect of any multipath on the RTT / RSSI measurements can be low enough so as not to result in an inaccurate distance determination between the two APs (or less than an acceptable amount of error in the distance determination). Therefore, the determined location of one of the two APs based on those distance measurements can similarly be accurate to within an acceptable amount of error.

[0202] In some examples, if the amount of multipath does not satisfy a threshold (NO branch of 1710), the computing device does not select those RTT / RSSI distance measurements associated with the wireless signal for the purpose of determining the distance between the first AP and the second AP. For example, RTT / RSSI measurements based on wireless signals having a multipath greater than a threshold amount are not selected for use in determining the distance between the first AP and the second AP. For these signals, the impact of any multipath on the RTT / RSSI measurements may be so high that their use will result in inaccurate distance measurements between the two APs (or exceed an acceptable amount of error in the distance measurements). Therefore, the position of one of the two APs determined based on those erroneous distance measurements is similarly unlikely to be accurate to within an acceptable amount of error.

[0203] In some examples, an RTT / RSSI measurement based on a signal transmitted between two APs having a multipath greater than a threshold amount (NO branch of 1710) is corrected based on one or more error correction factors corresponding to the amount of multipath present in the signal (1712). The corrected RTT / RSSI distance measurement associated with the wireless signal is then selected for purposes of determining a location of the first AP or the second AP (1714). In some examples, rather than correcting the distance measurement associated with such wireless signal, the distance measurement associated with such wireless signal is not used when determining the location of the first AP and the second AP (1714).

[0204] The computing device determines whether there are more AP pairs that have distance measurements based on wireless signals for which CSI information is to be analyzed (1716). If there are more AP pairs (the YES branch of 1716), the computing device selects the next AP pair (918) and repeats steps (1702) to (1714) for wireless signals sent between the first AP and the second AP in the next AP pair. If there are no more AP pairs (the NO branch of 1716), the computing device determines the location of each of the multiple APs based on the distance measurement selected for the AP (1720). In this way, only those RTT / RSSI distance measurements based on wireless signals with multipaths less than a threshold amount are used to determine the location of APs in the wireless network.

[0205] Fig.18 1 is a flow chart of an example process (1800) by which a computing device identifies one or more outlier APs in a wireless network based on CSI information, in accordance with one or more techniques of this disclosure. The computing device may include one or more processors of a network management system, such as Figure 1A , Figure 1B and / or Figure 3 The processor 306 of the NMS 130 / 300 or other computing device executing the deployed AP positioning module 135 / 372 shown in FIG. In such an example, the wireless device may include multiple APs (such as Figure 1A and / or Figure 2 AP 142 / 200 shown in ) or a wireless network such as Figure 1A and Figure 1B In addition, although the process (1800) is described as being performed by NMS130 / 300, any computing device or group of computing devices (such as any one or more of AP 142 / 200, server 128, edge computing device 150, network node 500, etc.) can perform the functions described herein, and the present disclosure is not limited in this regard.

[0206] A computing device generates a network graph of multiple APs in a wireless network (1802). The nodes in the network graph represent APs, and the edges in the network graph represent wireless connections between adjacent APs. For each edge in the network graph, the computing device assigns a weight based on the amount of multipath present in the wireless signal communicated between the adjacent APs (1804). The amount of multipath can be determined based on CSI information of the wireless signal. For example, for an adjacent AP pair including a first AP and a second AP, the computing device obtains CSI data (including, for example, amplitude and phase information) associated with the wireless signal sent between the first AP and the second AP. For example, the computing device can obtain phase information from CSI samples collected over a selected time period (e.g., fifteen minutes, one hour, one day, etc.). In some examples, the samples can be averaged over a shorter time period (e.g., 10 to 100 milliseconds) to filter the noise present in the CSI samples. The measured phase is then assigned to a phase bin, such as the one described above with reference to FIG. FIG. 15A to FIG. 15D The computing device determines the amount of multipath of the wireless signal based on the CSI information of the wireless signal. For example, the computing device may determine the amount of multipath based on the CSI amplitude and / or phase information of the wireless signal. In some examples, the computing device determines the amount of multipath based on the variance of the phase diagram for a selected time period.

[0207] For each AP, the computing device determines a multipath score based on the weight of each edge incident on the AP (1806). For example, the multipath score of a single AP can be determined based on the following equation:

[0208]

[0209] in:

[0210] n = the total number of incident edges of the AP, and

[0211] Edge Weight i =The weight assigned to the ith incident edge of the AP (based on the amount of multipath).

[0212] The computing device compares the multipath score of each AP in the wireless network to an outlier threshold (1808). In some examples, the outlier threshold is a configurable value indicating the amount of multipath in a wireless signal for the purpose of identifying outlier APs in a wireless network.

[0213] For each AP having a multipath score that meets the outlier threshold (YES branch of 1810), the computing device adds the AP to the outlier AP list 1812. For example, if the multipath score of a particular AP determined according to Equation 8 above exceeds the outlier threshold (i.e., the multipath score of the AP indicates a relatively high level of multipath that may indicate an outlier AP), the computing device adds the AP to the outlier AP list.

[0214] For each AP having a multipath score that does not meet the outlier threshold (NO branch of 1810), the computing device does not add the AP to the outlier AP list. For example, if the multipath score of a particular AP determined according to Equation 8 above does not exceed the outlier threshold (i.e., the multipath score of the AP indicates a relatively low level of multipath that may indicate that the AP is not an outlier AP), the computing device does not add the AP to the outlier AP list.

[0215] In some examples, the computing device generates a notification (1814) including a list of stray APs and / or non-stray APs. The notification may also include a suggestion to move the stray AP to a new / different location where the stray AP will experience less multipath. The process (1800) may be repeated periodically, on a schedule, or on demand, and the stray AP list updated over time to ensure that the stray AP information remains up to date.

[0216] The technology of the present disclosure may provide one or more technical advantages and practical applications. These technologies enable a system to determine the amount of multipath present in a wireless signal communicated between wireless devices associated with a wireless network. In some examples, the amount of multipath present in the wireless signal is a consideration when selecting a measurement to be used in the AP location determination process. In this way, only distance measurements (such as RTT and / or RSSI measurements) with multipaths less than a threshold amount are considered for determining the location of a deployed AP, thereby increasing the accuracy of the determined AP location. In addition, in an example in which a correction corresponding to the amount of multipath is applied to a distance measurement associated with a wireless signal, a greater number of RTT / RSSI distance measurements may be used when determining the location of a deployed AP. In general, the more distance measurements between two APs available, the more accurate the distance between the determined two APs and the locations of the determined two APs. In addition, having more available distance measurements means fewer APs for which there are not enough distance measurements to determine the location of the AP. The ability to automatically and accurately determine the location of deployed APs can greatly reduce the cost of deploying wireless networks because there is no need to send technicians to survey the entire site. Compared to the error-prone and time-consuming process of manually measuring hundreds or even thousands of AP locations, the determination of AP locations using channel state information improves the accuracy of the determined AP locations. In addition, these techniques can be used to detect when an AP is moved or when a new AP is installed, for example, as a replacement for a faulty AP in a slightly different location. Another benefit is that these techniques facilitate automation and remote verification of AP deployment locations without the need to send a technician for an on-site survey. These techniques also provide the ability to identify APs that are experiencing a relatively large amount of multipath and generate notifications including suggestions for moving the APs to new / different locations where they will experience a smaller amount of multipath. In other examples, these techniques provide identification of outlier APs in a wireless network. In such examples, the system can automatically generate a notification including the identification of one or more outlier APs and / or moving the outlier AP to a new or different location that includes relatively fewer multipaths, or adjusting the environment around the AP so that the wireless signal communicating to and / or communicating from the AP experiences fewer multipaths. This can also improve the operational performance of the wireless network because there will be fewer signals associated with high multipaths in the wireless network. These techniques support the provision of highly accurate location-based services at the site, which depends on knowing the location of each AP with a high degree of accuracy. In addition, the CSI information and / or multipath amounts present in wireless signals transmitted between multiple APs in a wireless network as determined herein can also be used for RF coverage optimization and radio resource management (RRM) of the APs at the site, such as channel and transmit power level selection.

[0217] The techniques described herein may be implemented using software, hardware, and / or a combination of software and hardware. Various examples relate to devices, such as mobile nodes, mobile wireless terminals, base stations, such as access points, communication systems. Various examples also relate to methods, such as methods of controlling and / or operating communication devices, such as wireless terminals (UEs), base stations, control nodes, access points, and / or communication systems. Various examples also relate to non-transitory machines, such as computers, readable media, such as ROM, RAM, CDs, hard disks, etc., which include machine-readable instructions for controlling the machine to implement one or more steps of the method.

[0218] In view of the above description, a variety of additional variations of the methods and devices of the various examples described above will be apparent to those skilled in the art. Such variations are considered to be within the scope of the present disclosure. These methods and devices can and do in various examples be used with BLE, LTE, CDMA, orthogonal frequency division multiplexing (OFDM) and / or various other types of communication technologies that can be used to provide a wireless communication link between an access node and a mobile node. In some examples, the access node is implemented as a base station, which uses OFDM and / or CDMA to establish a communication link with a user equipment device (e.g., a mobile node). In various examples, the mobile node is implemented as a notebook computer, a personal data assistant (PDA), or other portable devices including a receiver / transmitter circuit and logic and / or routines for implementing the method.

[0219] In the detailed description, numerous specific details are set forth to provide a thorough understanding of some examples. However, one of ordinary skill in the art will appreciate that some examples may be implemented without these specific details. In other instances, well-known methods, procedures, components, units, and / or circuits are not described in detail to avoid obscuring the discussion.

[0220] Some examples may be used in conjunction with various devices and systems, such as a user device (UE), a mobile device (MD), a wireless station (STA), a wireless terminal (WT), a personal computer (PC), a desktop computer, a mobile computer, a laptop computer, a notebook computer, a tablet computer, a server computer, a handheld computer, a handheld device, a personal digital assistant (PDA) device, a handheld PDA device, an airborne device, a non-airborne device, a hybrid device, a vehicle-mounted device, a non-vehicle device, a mobile or portable device, a consumer device, a non-mobile or non-portable device, a wireless communication station, a wireless communication device, a wireless access point (AP), a wired or wireless router, a wired or wireless modem, a video device, an audio device, an audio-video (A / V) device, a wired or wireless network, a wireless area network, a wireless video area network (WVAN), a local area network (LAN), a wireless LAN (WLAN), a personal area network (PAN), a wireless PAN (WPAN), etc.

[0221] Some examples may operate with the following devices and / or networks: devices and / or networks operating in accordance with the existing Wireless Gigabit Alliance (WGA) specification (Wireless Gigabit Alliance, Inc., WiGig MAC and PHY Specification Version 1.1, April 2011, Final Specification) and / or future versions and / or derivatives thereof; devices and / or networks operating in accordance with the existing IEEE 802.11 standard (IEEE 802.11-2012, IEEE Standard for Information Technology - Telecommunications and Information Exchange between Local and Metropolitan Area Networks - Specific Requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification, March 29, 2012; IEEE 802.11ac-2013 ("IEEE Standard for Information Technology - Telecommunications and Information Exchange between Local and Metropolitan Area Networks - Specific Requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification, March 29, 2012); ... P802.11ac-2013, IEEE Standard for Information Technology - Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specifications - Amendment 4: Very High Throughput Enhancements for Operation in the Sub-6 GHz Band, December 2013); IEEE 802.11ad (“IEEE P802.11ad-2012, IEEE Standard for Information Technology - Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specifications - Amendment 3: Very High Throughput Enhancements for Operation in the Sub-6 GHz Band,” December 28, 2012); IEEE-802.11REVmc (“IEEE 802.11-REVmcTM / D3.0, June 2014 Draft Standard for Information Technology - Telecommunications and Information Exchange between Local and Metropolitan Area Networks - Specific Requirements; Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specifications"); IEEE 802.11-ay (P802.11ay Information Technology Standard - Telecommunications and Information Exchange between Local and Metropolitan Area Networks - Specific Requirements Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specifications - Amendment: Enhanced Throughput for Operation in Unlicensed Bands Above 45 GHz)) Devices and / or networks operating in accordance with existing Wireless Fidelity (Wi-Fi) Alliance (WFA) Peer-to-Peer (P2P) specifications (Wi-Fi Devices and / or networks operating in accordance with the P2P Technical Specification, Version 1.5, August 2014) and / or future versions and / or derivatives thereof; devices and / or networks operating in accordance with existing cellular specifications and / or protocols (e.g., Third Generation Partnership Project (3GPP), 3GPP Long Term Evolution (LTE)) and / or future versions and / or derivatives thereof; units and / or devices operating as part of the above-mentioned networks or using any one or more of the above-mentioned protocols, etc.

[0222] Some examples may be used with one-way and / or two-way wireless communication systems, cellular wireless telephone communication systems, mobile phones, cellular phones, cordless phones, personal communication system (PCS) devices, PDA devices including wireless communication devices, mobile or portable global positioning system (GPS) devices, devices including GPS receivers or transceivers or chips, devices including RFID elements or chips, multiple-input multiple-output (MIMO) transceivers or devices, single-input multiple-output (SIMO) transceivers or devices, multiple-input single-output (MISO) transceivers or devices, devices with one or more internal antennas and / or external antennas, digital video broadcasting (DVB) devices or systems, multi-standard wireless devices or systems, wired or wireless handheld devices (e.g., smart phones), wireless application protocol (WAP) devices, etc.

[0223] Some examples may be used in conjunction with one or more types of wireless communication signals and / or systems, such as radio frequency (RF), infrared (IR), frequency division multiplexing (FDM), orthogonal FDM (OFDM), orthogonal frequency division multiple access (OFDMA), FDM time division multiplexing (TDM), time division multiple access (TDMA), multi-user MIMO (MU-MIMO), space division multiple access (SDMA), extended TDMA (E-TDMA), general packet radio traffic (GPRS), extended GPRS, code division multiple access (CDMA), wideband CDMA (WCDMA), CDMA 2000, single carrier CDMA, multi-carrier CDMA, multi-carrier modulation (MDM), discrete multi-tone (DMT), Bluetooth, Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBeeTM, Ultra-Wideband (UWB), Global System for Mobile Communications (GSM), 2G, 2.5G, 3G, 3.5G, 4G, fifth generation (5G) or sixth generation (6G) mobile networks, 3GPP, Long Term Evolution (LTE), Advanced LTE, Enhanced Data Rates for GSM Evolution (EDGE), etc. Other examples can be used in various other devices, systems and / or networks.

[0224] Some exemplary examples may be used in conjunction with a WLAN (wireless local area network), such as a Wi-Fi network. Other examples may be used in conjunction with any other suitable wireless communication network, such as a wireless area network, a "piconet", a WPAN, a WVAN, etc.

[0225] Some examples may be used in conjunction with wireless communication networks communicating on 2.4 GHz, 5 GHz, and / or 60 GHz frequency bands. However, other examples may be implemented using any other suitable wireless communication frequency bands, such as extremely high frequency (EHF) bands (millimeter wave (mmWave) bands), for example, bands within the frequency band between 20 GHz and 300 GHz, WLAN bands, WPAN bands, bands according to WGA specifications, etc.

[0226] Although only some simple examples of various device configurations are provided above, it should be understood that many variations and permutations are possible. In addition, the technology is not limited to any particular channel, but is generally applicable to any frequency range / channel. In addition, as discussed, the technology may be useful in unlicensed spectrum.

[0227] Although examples are not limited in this regard, discussions utilizing terms such as "process," "compute," "calculate," "determine," "create," "analyze," "examine," and the like may refer to operations and / or processes on a computer, computing platform, computing system, communication system or subsystem, or other electronic computing device that manipulate and / or transform data represented as physical (e.g., electronic) quantities within computer registers and / or memories into other data similarly represented as physical quantities within computer registers and / or memories or other information storage media that may store instructions for performing the operations and / or processes.

[0228] Although examples are not limited thereto, the terms "plurality" and "several" used herein may include, for example, "multiple" or "two or more". The terms "plurality" or "several" may be used throughout the specification to describe two or more components, devices, elements, units, parameters, circuits, etc. For example, "multiple stations" may include more than two stations.

[0229] It may be helpful to set forth definitions of certain words and phrases used in this document: the terms "include" and "comprising" and their derivatives mean inclusion without limitation; the term "or" is inclusive, meaning and / or; the phrases "associated with" and "associated with" and their derivatives may mean including, included, interconnected, interconnected, containing, contained within, connected to or connected with, coupled to or coupled with, communicable, cooperating, interlaced, juxtaposed, proximate, bound to or bound with, having, having a characteristic, and the like; the term "controller" means any device, system, or portion thereof that controls at least one operation, such device being implemented in hardware, circuitry, firmware, or software, or some combination of at least the two. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether local or remote. Definitions of certain words and phrases are provided in this document, and those of ordinary skill in the art should understand that in many, if not most, cases, such definitions apply to prior and future uses of such defined words and phrases.

[0230] Examples have been described for communication systems and protocols, techniques, means and methods for performing communications, for example, in wireless networks, or generally in any communication network operating using any communication protocol. Such examples are home or access networks, wireless home networks, wireless corporate networks, etc. However, it should be understood that in general, the systems, methods and techniques disclosed herein will be equally applicable to other types of communication environments, networks and / or protocols.

[0231] For explanation purposes, many details are set forth to provide a thorough understanding of the present technology. However, it should be understood that, except for the specific details set forth herein, the present disclosure can be implemented in a variety of ways. In addition, although the examples shown herein show the various components of the juxtaposed system, it should be understood that the various components of the system can be located in the remote portion of a distributed network, such as a communication network, a node, in a domain host and / or the Internet, or in a dedicated safety, unsafe and / or encryption system, and / or in a network operation or management device located inside or outside the network. As an example, a domain host can also be used to refer to any one or more aspects of the network or communication environment and / or transceiver and / or station and / or access point described herein or any device, system or module communicating therewith.

[0232] Therefore, it should be understood that the components of the system can be combined into one or more devices, or split between devices, such as transceivers, access points, stations, domain hosts, network operation or management devices, nodes, or collocated on specific nodes of a distributed network (such as a communication network). It can be understood from the following description, and for reasons of computing efficiency, the components of the system can be arranged at any location within the distributed network without affecting its operation. For example, various components can be located in a domain host, a node, a domain management device such as a MIB, a network operation or management device, a transceiver, a station, an access point, or some combination thereof. Similarly, one or more functional parts of the system can be distributed between a transceiver and an associated computing device / system.

[0233] In addition, it should be understood that various links (including any communication channels / elements / lines connecting elements) can be wired or wireless links or any combination thereof or any other known or later developed elements that can provide data to the connected elements and / or transmit data from the connected elements. The term module as used herein can refer to any known or later developed hardware, circuit system, software, firmware or a combination thereof that can perform the function associated with the element. The terms "determine", "calculate" and "calculate" and variations thereof as used herein can be used interchangeably and include any type of method, process, technology, mathematical operation or protocol.

[0234] Furthermore, while some examples described herein relate to a transmitter portion of a transceiver performing particular functions or a receiver portion of a transceiver performing particular functions, the present disclosure is intended to include corresponding and complementary transmitter-side or receiver-side functions, respectively, in the same transceiver and / or another transceiver, and vice versa.

[0235] Examples are described with respect to enhanced communications. However, it should be understood that, in general, the systems and methods herein will be equally applicable to any type of communication system in any environment utilizing any one or more protocols, including wired communications, wireless communications, power line communications, coaxial cable communications, fiber optic communications, etc.

[0236] About IEEE 802.11 and / or and / or The low energy transceiver and associated communication hardware, software, and communication channels describe example systems and methods. However, to avoid unnecessarily obscuring the present disclosure, the following description omits well-known structures and devices that may be shown in block diagram form or otherwise summarized.

[0237] Although the above flow chart has been discussed with respect to a specific sequence of events, it should be understood that the sequence may be changed without materially affecting the operation of the examples. In addition, the example techniques shown herein are not limited to the specific examples shown, but may also be used with other examples, and each described feature is claimed individually and separately.

[0238] The above-mentioned system can be implemented on a wireless communication device / system, for example, an IEEE 802.11 transceiver, etc. Examples of wireless protocols that can be used with the technology include IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE802.11n, IEEE 802.11ac, IEEE 802.11ad, IEEE 802.11af, IEEE 802.11ah, IEEE802.11ai, IEEE 802.11aj, IEEE 802.11aq, IEEE 802.11ax, Wi-Fi, LTE, 4G, WirelessHD, WiGig, WiGi, 3GPP, Wireless LAN, WiMAX, DensiFi SIG, Unifi SIG, 3GPP LAA (Licensed Assisted Access), etc.

[0239] Additionally, the systems, methods, and protocols may be implemented to improve one or more of a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit components, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit (such as a discrete component circuit), a programmable logic device (such as a PLD, PLA, FPGA, PAL), a modem, a transmitter / receiver, any similar device, etc. In general, any device capable of implementing a state machine may benefit from the various communication methods, protocols, and techniques according to the disclosure provided herein, and the state machine, in turn, may be capable of implementing the methods shown herein.

[0240] Examples of processors described herein may include, but are not limited to, processors with 4G LTE integration and 64-bit computing. 800 and 801, 610 and 615, with 64-bit architecture A7 processor, M7 motion coprocessor, series, Core TM Series processors, Series processors, Atom TM Series processors, Intel Series processors, i5-4670K and i7-4770K 22nm Haswell, i5-3570K 22nm Ivy Bridge, FX TM Series processors, FX-4300, FX-6300 and FX-8350 32nm Vishera, Kaveri processor, Texas Jacinto C6000TM automotive infotainment processor, Texas OMAP TM Automotive-grade mobile processors, Cortex TM -M processor, Cortex-A and ARM926EJ-S TM processor, At least one of the AirForce BCM4704 / BCM4703 wireless network processor, AR7100 wireless network processing unit, or other industrial equivalent processors may perform computing functions using any known or future developed standard, instruction set, library, and / or architecture.

[0241] In addition, the disclosed method can be easily implemented in software using an object or object-oriented software development environment that provides portable source code that can be used on a variety of computer or workstation platforms. Alternatively, the disclosed system can be implemented in hardware in part or in whole using standard logic circuits or VLSI designs. Whether software or hardware is used to implement the system according to the example depends on the speed and / or efficiency requirements of the system, the specific functions, and the specific software or hardware system or microprocessor or microcomputer system used. Based on the functional description provided herein and the general basic knowledge of the computer and telecommunications fields, ordinary technicians in the application field can use any known or later developed system or structure, device and / or software to easily implement the communication system, method and protocol described herein in hardware and / or software.

[0242] In addition, the disclosed technology can be easily implemented in software and / or firmware, which can be stored in a storage medium to improve the performance of a programmed general-purpose computer in cooperation with a controller and memory, a special-purpose computer, a microprocessor, etc. In these cases, the system and method can be implemented as a program embedded on a personal computer (such as an applet, JAVA.RTM. or CGI script), a resource resident on a server or computer workstation, a routine embedded in a special-purpose communication system or system component, etc. The system can also be implemented by physically incorporating the system and / or method into a software and / or hardware system, such as a hardware and software system of a communication transceiver.

[0243] Therefore, it is apparent that at least systems and methods for enhancing and improving conversational user interfaces are provided. Many alternatives, modifications and variations will be apparent to those of ordinary skill in the applicable arts.

[0244] Accordingly, the present disclosure is intended to embrace all such alternatives, modifications, equivalents and variations that are within the spirit and scope of the present disclosure.

Claims

1. A system comprising: one or more processors; as well as a memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to: obtaining a plurality of first distance measurements for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device, wherein the distance between the first wireless device and the second wireless device is known; determining coefficients of a polynomial function describing a relationship between an estimation error introduced by a multipath signal for a plurality of first distance measurements obtained and a statistical spread of the plurality of first distance measurements obtained; obtaining a plurality of second distance measurements for each of a plurality of wireless signals transmitted between a third wireless device and a fourth wireless device, wherein the distance between the third wireless device and the fourth wireless device is known; and Each of the plurality of second distance measurements is corrected based on the determined coefficients of the polynomial function.

2. The system according to claim 1, wherein: To determine the coefficients of the polynomial function, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: The coefficients of the polynomial function are determined using a polynomial fitting algorithm.

3. The system according to claim 1, wherein: The statistical spread is calculated using one of: a mean squared (RMS) deviation, a variance, a standard deviation, a range, and an entropy of the plurality of first distance measurements.

4. The system of claims 1 to 3, wherein the memory further comprises instructions that, when executed by the one or more processors, cause the one or more processors to: A distance between the third wireless device and the fourth wireless device is determined based on the corrected plurality of second distance measurements.

5. The system according to claims 1 to 3, wherein: The memory includes the instructions that, when executed by the one or more processors, cause the one or more processors to determine coefficients of the polynomial function further include instructions that, when executed by the one or more processors, cause the one or more processors to: determining the statistical spread of the obtained plurality of first distance measurements; and An estimated distance measurement error for each of the plurality of first distance measurements is determined based on the determined statistical spread of the obtained plurality of first distance measurements.

6. The system according to claims 1 to 3, wherein: The memory includes instructions that, when executed by the one or more processors, cause the one or more processors to correct each of the plurality of second distance measurements further including instructions that, when executed by the one or more processors, cause the one or more processors to: determining a statistical spread of the obtained plurality of second distance measurements; determining an estimated distance measurement error for each of the plurality of second distance measurements based on the determined statistical spread of the obtained plurality of second distance measurements; and Each of the plurality of second distance measurements is corrected based on the determined distance measurement error.

7. The system of claim 6, wherein the memory further comprises instructions that, when executed by the one or more processors, cause the one or more processors to: Each of the plurality of second distance measurements is corrected by subtracting the determined distance measurement error from a corresponding distance measurement of the plurality of second distance measurements.

8. The system according to claims 1 to 3, wherein: The multiple first distance measurements include one of a round-trip time (RTT) measurement between the first wireless device and the second wireless device or a received signal strength indicator (RSSI) measurement of the wireless signal sent between the first wireless device and the second wireless device, and wherein the multiple second distance measurements include one of a RTT measurement between the third wireless device and the fourth wireless device or a RSSI measurement of the wireless signal sent between the third wireless device and the fourth wireless device.

9. A system comprising: one or more processors; as well as a memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to: Obtaining channel state information (CSI) information of each of a plurality of wireless signals transmitted between the first wireless device and the second wireless device; For each of the plurality of wireless signals, determining a multipath amount of the wireless signal based on the CSI information; For each of the plurality of wireless signals, comparing the multipath amount of the wireless signal to a threshold; selecting a distance measurement between the first wireless device and the second wireless device corresponding to the wireless signal for which the multipath amount satisfies the threshold; and A distance between the first wireless device and the second wireless device is determined based on the selected distance measurement.

10. The system according to claim 9, wherein: To determine the multipath amount for each of the plurality of wireless signals, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: For the multiple wireless signals, generate a histogram of CSI phase information acquired within a period of time; and A phase histogram variance indicating the multipath amount of the plurality of wireless signals is determined based on the histogram of the CSI phase information.

11. The system according to claim 10, wherein: A relatively small phase histogram variance indicates a relatively large amount of multipath in the associated wireless signal, and wherein a relatively large phase histogram variance indicates a relatively small amount of multipath in the associated wireless signal.

12. The system of claim 9, the memory further comprising instructions that, when executed by the one or more processors, cause the one or more processors to: For each of the plurality of wireless signals, comparing the multipath amount of the wireless signal to a threshold; For distance measurements corresponding to the wireless signal for which the amount of multipath does not satisfy a threshold, a distance correction corresponding to the amount of multipath for the wireless signal is applied to the distance measurement.

13. The system of claim 12, the memory further comprising instructions that, when executed by the one or more processors, cause the one or more processors to: selecting a corrected distance measurement between the first wireless device and the second wireless device corresponding to the wireless signal for which the multipath amount does not satisfy the threshold; and The distance between the first wireless device and the second wireless device is determined based on the selected distance measurement and the selected corrected distance measurement.

14. A system according to claims 9 to 13, wherein: The distance measurement between the first wireless device and the second wireless device includes one of a round trip time (RTT) measurement between the first wireless device and the second wireless device or a received signal strength indicator (RSSI) measurement of the wireless signal sent between the first wireless device and the second wireless device.

15. The system according to claims 9 to 13, wherein: The multipath amount in the wireless signal is based on at least one of CSI amplitude information of the wireless signal or CSI phase information of the wireless signal.

16. A system according to claims 9 to 13, wherein: The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: Coordinate positions of the first wireless device and the second wireless device in a global coordinate system associated with a site are determined based on the determined distance between the first wireless device and the second wireless device.

17. The system of claim 16, the memory further comprising instructions that, when executed by the one or more processors, cause the one or more processors to: Data representing a user interface (UI) for display on a display device is generated, the user interface including user interface elements representing the first wireless device and the second wireless device at the determined coordinate locations of the first wireless device and the second wireless device at the site.

18. The system according to claims 9 to 13, further comprising: Multiple access points (APs) are configured to provide wireless networks at the sites. The first wireless device includes a first AP among a plurality of APs, and the second wireless device includes a second AP among the plurality of APs.

19. The system of claim 18, the memory further comprising instructions that, when executed by the one or more processors, cause the one or more processors to: determining coordinate positions of the first AP and the second AP in a global coordinate system of the site based on the determined distance between the first AP and the second AP; and Location services are provided to one or more wireless client devices associated with the wireless network based on the determined coordinate locations of the first AP and the second AP.

20. The system of claims 9 to 13, the memory further comprising instructions that when executed by the one or more processors cause the one or more processors to: For each of the plurality of wireless signals, comparing the multipath amount of the wireless signal to a threshold; identifying a distance measurement between a first AP and a second AP corresponding to the wireless signal for which the multipath quantity satisfies the threshold; determining whether the number of identified distance measurements that satisfy the threshold is greater than a minimum number of distance measurements; The level of the threshold is varied until the number of identified distance measurements that satisfy the threshold is greater than a minimum number of distance measurements.

21. The system of claims 9 to 13, the memory further comprising instructions that when executed by the one or more processors cause the one or more processors to: determining an error introduced into the position determination of each AP based on the amount of multipath that contributes to determining the distance between the first AP and the second AP; and Data representing a user interface (UI) for display on a display device is generated, the user interface including user interface elements representing one or more APs among a plurality of APs at a site and corresponding position determination errors at corresponding positions of the one or more APs.

22. A method comprising: obtaining a plurality of first distance measurements for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device, wherein the distance between the first wireless device and the second wireless device is known; determining coefficients of a polynomial function describing a relationship between an estimation error introduced by a multipath signal for a plurality of first distance measurements obtained and a statistical spread of the plurality of first distance measurements obtained; obtaining a plurality of second distance measurements for each of a plurality of wireless signals transmitted between a third wireless device and a fourth wireless device, wherein the distance between the third wireless device and the fourth wireless device is known; and Each of the plurality of second distance measurements is corrected based on the determined coefficients of the polynomial function.

23. The method according to claim 22, wherein: Determining the coefficients of the polynomial function further comprises: The coefficients of the polynomial function are determined using a polynomial fitting algorithm.

24. The method according to claim 22, wherein: The statistical spread is calculated using one of: a mean squared (RMS) deviation, a variance, a standard deviation, a range, and an entropy of the plurality of first distance measurements.

25. The method of claim 22, further comprising: A distance between the third wireless device and the fourth wireless device is determined based on the corrected plurality of second distance measurements.

26. The method according to claims 22 to 24, wherein: Correcting each of the plurality of second distance measurements further comprises: determining the statistical spread of the obtained plurality of first distance measurements; and An estimated distance measurement error for each of the plurality of first distance measurements is determined based on the determined statistical spread of the obtained plurality of first distance measurements.

27. The method according to claims 22 to 24, wherein: Determining the coefficients of the polynomial function further comprises: determining a statistical spread of the obtained plurality of second distance measurements; determining an estimated distance measurement error for each of the plurality of second distance measurements based on the determined statistical spread of the obtained plurality of second distance measurements; and Each of the plurality of second distance measurements is corrected based on the determined distance measurement error.

28. The method of claim 27, further comprising correcting each of the plurality of second distance measurements by subtracting the determined distance measurement error from a corresponding distance measurement of the plurality of second distance measurements.

29. The method according to claims 22 to 24, wherein: The multiple first distance measurements include one of a round-trip time (RTT) measurement between the first wireless device and the second wireless device or a received signal strength indicator (RSSI) measurement of the wireless signal sent between the first wireless device and the second wireless device, and wherein the multiple second distance measurements include one of a RTT measurement between the third wireless device and the fourth wireless device or a RSSI measurement of the wireless signal sent between the third wireless device and the fourth wireless device.

30. A method comprising: Obtaining channel state information (CSI) information of each of a plurality of wireless signals transmitted between the first wireless device and the second wireless device; For each of the plurality of wireless signals, determining a multipath amount of the wireless signal based on the CSI information; For each of the plurality of wireless signals, comparing the multipath amount of the wireless signal to a threshold; selecting a distance measurement between the first wireless device and the second wireless device corresponding to the wireless signal for which the multipath amount satisfies the threshold; and A distance between the first wireless device and the second wireless device is determined based on the selected distance measurement.

31. The method according to claim 30, wherein: To determine the multipath amount for each of the plurality of wireless signals, the memory further includes instructions that, when executed by one or more processors, cause the one or more processors to: For the multiple wireless signals, generate a histogram of CSI phase information acquired within a period of time; and Phase histogram variances of the plurality of wireless signals are determined based on the histogram of the CSI phase information.

32. The method according to claim 31, wherein: A relatively small phase histogram variance indicates a relatively large amount of multipath in the associated wireless signal, and wherein a relatively large phase histogram variance indicates a relatively small amount of multipath in the associated wireless signal.

33. The method of claim 30, the memory further comprising instructions that when executed by one or more processors cause the one or more processors to: For each of the plurality of wireless signals, comparing the multipath amount of the wireless signal to a threshold; For distance measurements corresponding to the wireless signal for which the amount of multipath does not satisfy a threshold, a distance correction corresponding to the amount of multipath for the wireless signal is applied to the distance measurement.

34. The method of claim 33, the memory further comprising instructions that, when executed by the one or more processors, cause the one or more processors to: selecting a corrected distance measurement between the first wireless device and the second wireless device corresponding to the wireless signal for which the multipath amount does not satisfy the threshold; and The distance between the first wireless device and the second wireless device is determined based on the selected distance measurement and the selected corrected distance measurement.

35. The method according to claims 30 to 34, wherein: The distance measurement between the first wireless device and the second wireless device includes one of a round trip time (RTT) measurement between the first wireless device and the second wireless device or a received signal strength indicator (RSSI) measurement of the wireless signal sent between the first wireless device and the second wireless device.

36. The method according to claims 30 to 34, wherein: The multipath amount of the wireless signal is based on at least one of CSI amplitude information of the wireless signal or CSI phase information of the wireless signal.

37. The method according to claims 30 to 34, wherein: The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: Coordinate positions of the first wireless device and the second wireless device in a global coordinate system associated with a site are determined based on the determined distance between the first wireless device and the second wireless device.

38. The method of claim 37, the memory further comprising instructions that, when executed by the one or more processors, cause the one or more processors to: Data representing a user interface (UI) for display on a display device is generated, the user interface including user interface elements representing the first wireless device and the second wireless device at the determined coordinate locations of the first wireless device and the second wireless device at the site.

39. The method according to claims 30 to 34, further comprising: Multiple access points (APs) are configured to provide wireless networks at the sites. The first wireless device includes a first AP among a plurality of APs, and the second wireless device includes a second AP among the plurality of APs.

40. The method of claim 39, the memory further comprising instructions that when executed by one or more processors cause the one or more processors to: determining coordinate positions of the first AP and the second AP in a global coordinate system of the site based on the determined distance between the first AP and the second AP; and Location services are provided to one or more wireless client devices associated with the wireless network based on the determined coordinate locations of the first AP and the second AP.

41. The method of claims 30 to 34, the memory further comprising instructions that when executed by one or more processors cause the one or more processors to: For each of the plurality of wireless signals, comparing the multipath amount of the wireless signal to a threshold; identifying a distance measurement between a first AP and a second AP corresponding to the wireless signal for which the multipath quantity satisfies the threshold; determining whether the number of identified distance measurements that satisfy the threshold is greater than a minimum number of distance measurements; The level of the threshold is varied until the number of identified distance measurements that satisfy the threshold is greater than a minimum number of distance measurements.

42. The method of claims 30 to 34, the memory further comprising instructions that when executed by one or more processors cause the one or more processors to: determining an error introduced into the position determination of each AP based on the amount of multipath that contributes to determining the distance between the first AP and the second AP; and Data representing a user interface (UI) for display on a display device is generated, the user interface including user interface elements representing one or more APs among a plurality of APs at a site and corresponding position determination errors at corresponding positions of the one or more APs.

43. A non-transitory computer readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to: A plurality of first distance measurements are obtained for each of a plurality of wireless signals transmitted between the first wireless device and the second wireless device, wherein: The distance between the first wireless device and the second wireless device is known; determining coefficients of a polynomial function describing a relationship between an estimation error introduced by a multipath signal for a plurality of first distance measurements obtained and a statistical spread of the plurality of first distance measurements obtained; obtaining a plurality of second distance measurements for each of a plurality of wireless signals transmitted between a third wireless device and a fourth wireless device, wherein the distance between the third wireless device and the fourth wireless device is known; as well as Each of the plurality of second distance measurements is corrected based on the determined coefficients of the polynomial function.

44. A non-transitory computer readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to: Obtaining channel state information (CSI) information of each of a plurality of wireless signals transmitted between the first wireless device and the second wireless device; For each of the plurality of wireless signals, determining a multipath amount of the wireless signal based on the CSI information; For each of the plurality of wireless signals, comparing the multipath amount of the wireless signal to a threshold; selecting a distance measurement between the first wireless device and the second wireless device corresponding to the wireless signal for which the multipath amount satisfies the threshold; as well as A distance between the first wireless device and the second wireless device is determined based on the selected distance measurement.

45. A system comprising: A plurality of access point devices AP are deployed to provide a wireless network at the site; as well as A computing device comprising: one or more processors; and a memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to: obtaining a plurality of first distance measurements for each of a plurality of wireless signals transmitted between a first wireless device and a second wireless device, wherein the distance between the first wireless device and the second wireless device is known; determining coefficients of a polynomial function describing a relationship between an estimation error introduced by a multipath signal for a plurality of first distance measurements obtained and a statistical spread of the plurality of first distance measurements obtained; obtaining a plurality of second distance measurements for each of a plurality of wireless signals transmitted between a third wireless device and a fourth wireless device, wherein the distance between the third wireless device and the fourth wireless device is known; and Each of the plurality of second distance measurements is corrected based on the determined coefficients of the polynomial function.

46. ​​A system comprising: A plurality of access point devices AP are deployed to provide a wireless network at the site; as well as A computing device comprising: one or more processors; and a memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to: Obtaining channel state information (CSI) information of each of a plurality of wireless signals transmitted between the first AP and the second AP; For each of the plurality of wireless signals, determining a multipath amount of the wireless signal based on the CSI information; For each of the plurality of wireless signals, comparing the multipath amount of the wireless signal to a threshold; selecting a distance measurement between the first AP and the second AP corresponding to the wireless signal for which the multipath amount satisfies the threshold; and A distance between the first AP and the second AP is determined based on the selected distance measurement.

47. A system comprising: one or more processors; as well as a memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to: generating a network graph of a plurality of access points (APs) configured to provide a wireless network, wherein each node in the network graph represents one of the plurality of APs, and each edge in the network graph represents a wireless signal communicated between adjacent APs; For each edge in the network graph, assigning a weight based on an amount of multipath present in the wireless signal communicated between the neighboring APs, wherein the amount of multipath is determined based on channel state information (CSI) associated with the wireless signal communicated between the neighboring APs; for each of the plurality of APs, determining a multipath score based on a weight assigned to each edge incident on the AP; In response to determining that the multipath score of at least one AP of the plurality of APs satisfies an outlier threshold, adding the at least one AP to an outlier AP list; and A notification is generated that includes the list of stray APs.

48. A system comprising: one or more processors; as well as a memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to: Obtaining channel state information (CSI) information of each of a plurality of wireless signals transmitted between the first wireless device and the second wireless device; For the multiple wireless signals, generate a histogram of CSI phase information acquired within a period of time; as well as A phase histogram variance indicating a multipath amount of the plurality of wireless signals is determined based on the histogram of the CSI phase information, and the multipath amount in the wireless signal transmitted between the first wireless device and the second wireless device is determined based on the phase histogram variance.

49. The system of claim 48, wherein: The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: In response to determining that the amount of multipath for the plurality of wireless signals satisfies a threshold, a notification is generated that includes an indication that a communication path between the first wireless device and the second wireless device includes a relatively high amount of multipath.

50. A method or a combination of methods of the present disclosure.

51. A computing system comprising means for performing a method or combination of methods of the present disclosure.

52. A computing system comprising processing circuitry coupled to a memory device, the memory device and processing circuitry being configured to perform a method or combination of methods of the present disclosure.

53. A computer-readable storage medium comprising instructions which, when executed by a processing circuit system, cause the processing circuit system to perform a method or combination of methods of the present disclosure.

Citation Information

Patent Citations

  • Link status monitoring based on packet loss detection

    US10200264B2

  • Stateful load balancing in a stateless network

    US10277506B2

  • Network packet flow controller with extended session management

    US10432522B2

  • Intent-based analytics

    US10756983B2

  • Method for conveying AP error codes over BLE advertisements

    US10862742B2