Guided alignment of wireless device orientation
By exchanging the phase difference of signals between wireless devices and utilizing information on the layout of multiple receiving elements and devices, the problem of determining the location and orientation of wireless transmitters was solved, enabling efficient and accurate positioning in complex environments.
Patent Information
- Application Number
- CN202511357103.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-29
- Filing Date
- 2020-09-18
- Publication Date
- 2025-11-07
AI Technical Summary
Existing technologies struggle to efficiently determine the location and orientation of wireless transmitters in complex environments, especially when the location and orientation are unknown, and maintaining a stable reference signal is difficult.
By exchanging the phase difference of signals between wireless devices, the location and orientation of the wireless transmitter can be determined in two-dimensional or three-dimensional space using multiple receiving elements. A desired phase difference is generated to match the measured phase difference, and the device orientation is adjusted for alignment. Precise positioning is achieved using channel state information and device layout information.
It enables efficient and accurate location and orientation of wireless transmitters in complex environments without the need for stable reference signals, improving the accuracy and consistency of location estimation.
Smart Images

Figure CN120916167A_ABST
Abstract
Description
[0001] DIVISION This application is a continuation-in-part of the patent application entitled “Guided Alignment of Wireless Device Orientation” having application number 16 / 915,336, filed on June 29, 2020, which claims priority to U.S. Provisional Application No. 62 / 968,754, entitled “Location Determination Based on Phase Differences” and filed on January 31, 2020. This application also claims priority to U.S. Provisional Application No. 63 / 011,851, entitled “Channel State Information Based Deployment” and filed on April 17, 2020. The contents of these prior applications are considered part of this application and are incorporated by reference herein in their entirety. CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Provisional Application No. 62 / 968,754, entitled “Location Determination Based on Phase Differences” and filed on January 31, 2020. This application also claims priority to U.S. Provisional Application No. 63 / 011,851, entitled “Channel State Information Based Deployment” and filed on April 17, 2020. This application also claims priority to U.S. Application No. 16 / 915,336 patent application entitled “Guided Alignment of Wireless Device Orientation” and filed on June 29, 2020. The contents of these prior applications are considered part of this application and are incorporated by reference herein in their entirety. TECHNICAL FIELD
[0003] The present application relates to wireless communications, and more specifically to methods and / or apparatus for deploying wireless access points (APs) used to determine a location of an object associated with a wireless network. BACKGROUND
[0004] Estimation of the location of a wireless transmitter is used to provide many functions. For example, location based services include navigation, location specific content delivery, and many other applications. There are many known methods of determining the location of a wireless transmitter, including RSSI based methods, time of arrival methods, and angle of arrival methods. SUMMARY
[0005] According to some embodiments, a method of aligning orientations of two wireless devices is disclosed, comprising: determining a first orientation and a first position of a first wireless device; determining a second orientation and a second position of a second wireless device based on first signals exchanged between the first wireless device and the second wireless device; generating instructions that reduce or eliminate a difference between the first orientation and the second orientation; causing execution of the instructions; in response to the causing, determining an updated orientation of the second wireless device based on second signals exchanged between the first wireless device and the second wireless device; obtaining a first location estimate of a third wireless device, the first location estimate determined by the first wireless device at the first orientation; obtaining a second location estimate of the third wireless device, the second location estimate determined by the second wireless device at the updated orientation; and generating a third location estimate of the third wireless device based on the first location estimate and the second location estimate.
[0006] According to some embodiments, a system is disclosed, comprising: hardware processing circuitry; one or more hardware memories storing instructions that, when executed, configure the hardware processing circuitry to perform operations of aligning orientations of two wireless devices, the operations comprising: determining a first orientation and a first position of a first wireless device; determining a second orientation and a second position of a second wireless device based on first signals exchanged between the first wireless device and the second wireless device; generating instructions that reduce or eliminate a difference between the first orientation and the second orientation; causing execution of the instructions; in response to the causing, determining an updated orientation of the second wireless device based on second signals exchanged between the first wireless device and the second wireless device; obtaining a first location estimate of a third wireless device, the first location estimate determined by the first wireless device at the first orientation; obtaining a second location estimate of the third wireless device, the second location estimate determined by the second wireless device at the updated orientation; and generating a third location estimate of the third wireless device based on the first location estimate and the second location estimate.
[0007] According to some embodiments, a non-transitory computer-readable storage medium comprising instructions that, when executed, configure hardware processing circuitry to perform operations to align an orientation of two wireless devices, the operations comprising: determining a first orientation and a first position of a first wireless device; determining a second orientation and a second position of a second wireless device based on first signals exchanged between the first wireless device and the second wireless device; generating instructions to reduce or eliminate a difference between the first orientation and the second orientation; causing execution of the instructions; in response to the causing, determining an updated orientation of the second wireless device based on second signals exchanged between the first wireless device and the second wireless device; obtaining a first location estimate of a third wireless device, the first location estimate determined by the first wireless device at the first orientation; obtaining a second location estimate of the third wireless device, the second location estimate determined by the second wireless device at the updated orientation; and generating a third location estimate of the third wireless device based on the first location estimate and the second location estimate. BRIEF DESCRIPTION OF DRAWINGS
[0008] FIG. 1 An example system implemented in one or more of the disclosed embodiments is shown.
[0009] FIG. 2A A plurality of geographic areas, each of which can include a wireless transmitter, is shown.
[0010] FIG. 2B A schematic diagram of an example system including two access points implementing at least one of the disclosed embodiments is shown.
[0011] FIG. 2C Transmitting and receiving devices within a plurality of areas are shown.
[0012] FIG. 2D An example data structure implemented in one or more of the disclosed embodiments is shown.
[0013] FIG. 3 An access point and relative positions of antennas of the access point are shown.
[0014] FIG. 4 Misalignment between orientations of two devices is shown.
[0015] FIG. 5 A first wireless device alignment process is shown.
[0016] FIG. 6 A second wireless device alignment process is shown.
[0017] FIG. 7 A third wireless device alignment process is shown.
[0018] FIG. 8 is a block diagram of an example access point according to one or more of the disclosed embodiments.
[0019] FIG. 9 An example of a wireless interface is shown, such as FIG. 8 any one or more of the interfaces in
[0020] FIG. 10 An example top physical view of an example AP is shown.
[0021] FIG. 11 is a block diagram of an example of a site determination and site provisioning manager (SPM) device.
[0022] FIG. 12 is a block diagram of an example of a network node.
[0023] FIG. 13 is a block diagram of an example communication device.
[0024] FIG. 14 An example misalignment between the orientations of two wireless devices is shown.
[0025] FIG. 15A An example topology including a first wireless device and a wireless interface is shown.
[0026] FIG. 15B is a timing diagram illustrating a waveform received via receive elements spaced apart by a distance greater than λ / 2.
[0027] FIG. 16A Two access points are shown.
[0028] FIG. 16B Results of minimizing a function of the distance between two access points are shown.
[0029] FIG. 17 is a two-dimensional example map illustrating a method of determining a site of a wireless transmitter based on a phase difference between two receive elements.
[0030] FIG. 18 is a two-dimensional map determination of a site of a wireless transmitter based on phase differences at three receive elements.
[0031] FIG. 19 is a map showing possible sites of an access point and two receive elements.
[0032] FIG. 20 is a map 2000 similar to FIG. 19 , except that two additional receivers are shown.
[0033] FIG. 21 The locations of the antennas of two access points in two-dimensional space are shown.
[0034] FIG. 22 The antenna locations of two access points within two-dimensional space are shown.
[0035] FIG. 23 is a graph illustrating a method for determining expected phase differences at a region and determining whether received phase differences match those expected phase differences.
[0036] FIG. 24 is a graph illustrating how a transmitter in three-dimensional space is positioned by one or more of the disclosed embodiments.
[0037] FIG. 25 is a flowchart of an example process for determining expected phase differences for a plurality of geographic regions.
[0038] FIG. 26 is a flowchart of an example process for determining a location of a wireless transmitter using phase differences experienced at a plurality of receivers.
[0039] FIG. 27 is a flowchart of an example method for determining expected phase differences.
[0040] FIG. 28A-FIG. 28B is an example flowchart describing a method for determining and utilizing a location and orientation of a second AP.
[0041] FIG. 29 is a flowchart describing an example method for determining a location of a wireless terminal based on expected phase differences for signals from a plurality of devices.
[0042] FIG. 30 is a flowchart of an example method for estimating a location of a wireless terminal.
[0043] FIG. 31 is a flowchart of an example method for estimating a location of a wireless terminal.
[0044] FIG. 32 is a flowchart of an example method for estimating a location of a transmission antenna.
[0045] FIG. 33 is a flowchart of an example method for estimating a location and orientation of a wireless device.
[0046] FIG. 34 is a flowchart of an example method for generating alignment instructions for a wireless device.
[0047] FIG. 35 is a flowchart of an example method for determining a location of a wireless terminal.
[0048] FIG. 36 is a flowchart of an example method for determining a location of a wireless device. DETAILED DESCRIPTION
[0049] The present disclosure describes example embodiments for determining a location of a first wireless device based on a phase difference of waveforms exchanged between the first wireless device and a second wireless device. In some embodiments, the location of the device that transmitted the waveforms is determined based on the phase difference. In some other embodiments, the location of the device that received the waveforms is determined based on the phase difference. In some embodiments, the phase difference observed from signals transmitted by a device and signals received by the device are used to determine the location of the device.
[0050] At least one of the first wireless device and the second wireless device includes multiple receive elements. Unlike some existing methods, the disclosed embodiments do not require a stable reference signal, which can be difficult to maintain in different environments. Instead, the disclosed embodiments utilize multiple receive elements (e.g., antennas) distributed in two or three dimensions.
[0051] Some disclosed embodiments define multiple geographic regions proximate to a wireless device, and then identify a desired phase difference for each of the multiple geographic regions (a phase difference signature (PDS)). In some embodiments, the location of the device that receives the signals and determines the phase difference is unknown. In some embodiments, the location of the device that transmits the signals is unknown. For each of these scenarios, the desired phase difference is determined for signals received from a transmitter located in the multiple geographic regions.
[0052] The desired phase differences are generated to assist in determining the location of a wireless transmitter in an unknown location. Each of the desired phase differences describes the phase difference experienced by the receive elements of a receiving device at a given location. Since the desired phase difference will vary depending on the location of the wireless transmitter, a different desired phase difference is determined / generated for each of the multiple geographic regions. An estimate of the location of the wireless transmitter is then determined by comparing the measured phase difference of a signal received at the receive elements of the receiver from the transmitter to the desired phase difference for one or more of the multiple regions. The difference between the desired phase difference for each region and the measured phase difference provides an indication of the location of the wireless transmitter.
[0053] The above-described exchange of signals can be used not only to determine the location of a device, but also to determine its orientation. As described above, while the phase differences of the received signals can be used to estimate the location of a wireless transmitter, these received signals can also be used to determine the location of a particular transmission element (e.g., antenna). Thus, two wireless devices exchange signals, where the phase differences of the exchanged signals determine the distances between pairs of transmission / reception elements of the two devices. Thus, for example, if each device includes four antennas, there are six pairs of transmission / reception elements between the two devices. The location of each transmission element of the first wireless device can be determined based at least on the phase difference information collected from the four reception elements of the second device. If the device receives signals via four reception elements labeled Al, A2, A3, and A4, then in some example embodiments, the expected phase differences are computed based on the differences in received signals between Al and A2, Al and A3, Al and A4, A2 and A3, A2 and A4, and A3 and A4. These combinations can hold for signals transmitted by each transmission element of the transmitting device. Thus, for example, if the transmitting device includes four transmission elements, then some embodiments generate 4 6 = 24 different expected phase differences. Note that in various embodiments, the expected phase differences are computed for one or more frequencies, as signals at different frequencies will result in different phase differences experienced at the receiver. Thus, if the above-described expected phase differences are generated for two frequencies, then in some embodiments, 24 2 or 48 expected phase differences are computed.
[0054] Once the location of each transmission element has been determined, the locations of the transmission elements can be compared to a known layout of the transmission elements of the device. For example, some embodiments maintain a library of device transmission element layout information. This transmission element layout information defines the relative orientation and position of the transmission elements of a particular type of device. This known layout can be moved and / or rotated in three-dimensional space until a correspondence between the layout and the determined transmission element locations is found. The moved and / or rotated layout that matches the determined transmission element locations corresponds to the location and orientation of the device.
[0055] In some cases, it can be desirable to align the orientation of multiple wireless devices. Accordingly, some disclosed embodiments generate instructions describing how to align a first orientation of a first wireless device with a second orientation of a second wireless device. For example, once the relative orientation of the first wireless device relative to the second wireless device is determined, instructions are generated in these embodiments to adjust the first wireless device relative to a rotation about one or more of a horizontal (e.g., X) axis, a vertical (e.g., Y) axis, or a rotational (e.g., Z) axis. By updating the orientation of the first wireless device to align with the orientation of the second wireless device, and by determining the relative distance between the two devices, the location estimates generated by the first wireless device for the other wireless device are more easily aggregated with the location estimates generated by the second wireless device.
[0056] In some embodiments, location estimates are performed by multiple wireless devices using a single coordinate system and thus a unified plurality of geographic regions defined based on the single coordinate system. For example, in some embodiments, once the relative position and relative orientation between two wireless devices is known, a first set of expected phase differences produced by transmitters in each of a plurality of regions is determined based on a first location and a first orientation of a first wireless device. A second set of expected phase differences produced by transmitters in each of the plurality of regions is determined based on a second location and a second orientation of a second wireless device. Using these two different sets of expected phase differences, the location of a wireless transmitter within any of the unified plurality of geographic regions can be determined using signals experienced by the first wireless device and / or the second wireless device. Since both the first wireless device and the second wireless device are using a unified coordinate system and a unified plurality of regions to estimate location, there is no need to convert the location estimates made by one device to a different coordinate system / plurality of regions used by the second wireless device.
[0057] In other embodiments, each wireless device defines or is assigned a separate plurality of geographic regions, where each plurality of geographic regions is based on an independent coordinate system. In these embodiments, the location estimates generated by each of the wireless devices are relative to the respective coordinate system and / or plurality of regions of that wireless device. Accordingly, in these embodiments, expected phase differences are generated for a particular wireless device and for each of the plurality of regions of that particular wireless device. In embodiments that utilize separate independent coordinate systems / regions for each device, to the extent that location estimates from multiple wireless devices are to be combined, they must first be converted to a common coordinate system.
[0058] FIG. 1An example system 100a implemented in one or more of the disclosed embodiments is shown. The system 100a includes a plurality of access points (APs) 142a-d. In various embodiments, an AP is an access point, router, switch, or any other device capable of providing network access. The system 100a also includes authentication, authorization, and accounting (AAA) server(s) 110, dynamic host configuration protocol (DHCP) server(s) 116, domain name system (DNS) server(s) 122, web server(s) 128, and a network management system (NMS) 136. These servers are coupled together via a network 134 (e.g., the Internet and / or an enterprise intranet). Location and position server(s) 165 include a site provisioning manager (SPM) module. The network 134 includes a plurality of routers 185 and a plurality of switches 180. A network communication link 111 couples the AAA server(s) 110 to the network 134. A network communication link 117 couples the DHCP server(s) to the network 134. A network communication link 123 couples the DNS server(s) to the network 134. A network communication link 129 couples the web server(s) to the network 134. A network communication link 137 couples the network management server(s) 136 to the network 134. A network communication link 166 couples the location and position server(s) 165 to the network 134.
[0059] The system 100a also includes a plurality of user equipment (UE 1 138,..., UE Z 140, UE 1' 146,..., UE Z' 148). User equipment is any wired, wireless, or optical device that provides network access to a communication device used by a user, such as a human, or an automated device, such as an IoT device. Some of the UEs (138, 140, 146, and 148) are wireless transmitters and receivers and move throughout the system 100a.
[0060] In the example system 100a, the set of access points are located at different customer premises sites. Customer premises site 1 102 (e.g., a shopping mall) includes access point 142a and access point 142b. The customer premises site 1 102 is connected to the network 134 via a network communication link 153.
[0061] A second customer premises site 104 (e.g., a sports stadium) includes access point 142c and access point 142d. As FIG. 1As shown, UEs (UE 1 138,..., UE Z 140) are currently located at the first customer premises site 102; UEs (UE 1' 146,..., UE Z' 148) are currently located at the second customer premises site 104. The second customer premises site 104 is coupled to the network 134 via a network communication link 145. In some embodiments, each of the servers, routers, switches, APs, UE NMS, and other servers attached to the network includes a system log or error log module in which each of these devices records the status of that device, including normal operating status and error conditions.
[0062] As discussed above, at least some of the disclosed embodiments determine a first location of a first wireless device relative to a second wireless device based at least on a phase difference of a signal exchanged between the two wireless devices. For example, in some embodiments, the first location and / or orientation of a first AP 142c is determined based on a second location and a second orientation of a second AP (e.g., AP 142d). Or stated differently, in some embodiments, the first location and / or first orientation of a first AP 142c is determined with reference to a second location and a second orientation of a second AP (e.g., AP 142d). In these embodiments, the second location and the second orientation of one AP (in this case, the second AP) is typically known. Specifically, in some embodiments, the location and orientation of the second wireless device is known via a location (e.g., via a global position system receiver) and / or orientation sensor included in the second wireless device, or via an external measurement tool (e.g., a compass, a level, a laser, etc.). Based on the known second location and second orientation of the second AP, the first location and first orientation of the first wireless device is derived. In at least some embodiments, the first location and first orientation is derived based on a phase difference of one or more signals transmitted by the first AP and received by the second AP.
[0063] FIG. 1 An example wireless device includes multiple radio transmitters and receivers (not shown) capable of transmitting and receiving signals at multiple frequencies on, for example, 2.4 GHz, 5 GHz, and / or other frequency bands. One or more of the APs use multiple transmission elements and / or reception elements (e.g., antennas) to transmit signals to and receive signals from other wireless receivers and transmitters.
[0064] The deployment of APs can be a complex and time-consuming process. Some APs are deployed so that their location and orientation are precisely aligned with desired coordinates, or alternatively, are known in a precise manner.
[0065] The SPM module 190 of the location and position server 165 uses the network communication link 166 to communicate with one or more of the APs 142a-d. Via the network communication link 166, the SPM can control the transmitters of the APs 142a-d and command them to transmit at any of their operating frequencies. The SPM is also able to obtain information related to signals received from any one or more of the APs 142a-d via the network communication link 166. For example, in some embodiments, the SPM commands a first AP of the APs 142a-d to transmit a signal via a particular antenna, and then can obtain, from at least another of the APs 142a-d, a phase difference between signals received by any pair of antennas of a receiving device. In at least some embodiments, obtaining this phase difference information is accomplished via channel state information (CSI) and / or capabilities built into device drivers firmware of Wi-Fi receivers integrated with the receiving APs.
[0066] According to one example, the SPM 190 uses the network communication link 166 to command the AP 142c to transmit a signal at a particular frequency fl. In this example, the location and position of the AP 142d is known. As described below at least with respect to FIG. 14-FIG. 27 AP 142d measures a phase difference between signals received by pairs of receiving elements of the AP 142d. The AP 142d then forwards the measured phase difference to the SPM 190 by way of the network communication link 166.
[0067] In some embodiments, this process is performed iteratively using different transmitting elements of the AP 142c and / or using different frequencies. For example, each of the transmitting elements of some APs can transmit signals in each of the 2.4 GHz bands and each of the 5 GHz bands. Other frequency bands are utilized by other embodiments. For each of these transmissions (a signal at a particular frequency transmitted on a particular transmitting element), the SPM 190 collects a phase difference between signals received at any one (or more) of the receiving elements of the receiving APs.
[0068] In some embodiments, once the receiving AP (e.g., the AP 142d) has measured the phase difference information, this information is provided to the SPM 190. In some embodiments, for a pair of two wireless devices, the SPM issues commands for a first set of signal transmissions, where a first of the two wireless devices transmits signals on one or more transmitting elements (e.g., antennas), and these signals are received by multiple receiving elements of a second wireless device. Phase difference information is then determined for this set of signal exchanges.
[0069] As referenced below, the SPM 190 can use the phase difference information to determine a location and / or position of the receiving AP 142d. In some embodiments, the SPM 190 uses the phase difference information to determine a location and / or position of the transmitting AP 142c. In some embodiments, the SPM 190 uses the phase difference information to determine a location and / or position of the receiving wireless device. FIG. 3In more detail, some embodiments maintain an information base that defines transmission element and / or reception element layout information for particular types of wireless devices. The layout defines the location of the transmission element and / or reception element relative to their wireless device (e.g., housing) and the relative distance between the antennas of each wireless device. Some embodiments utilize the information included in the layout and the estimated distance between the transmission element / reception element of two wireless devices to determine the location and bearing of one of the two wireless devices based on the known location and bearing of the other of the two wireless devices.
[0070] FIG. 2A A plurality of geographic areas are shown, each of which can include a wireless transmitter. FIG. 2A A geographic area 205 that is divided into a plurality of geographic areas is shown. An example geographic area 210 is shown. While FIG. 2B A two-dimensional view of the geographic area 205 and a geographic area such as geographic area 230 is shown, at least some disclosed embodiments operate on three-dimensional geographic areas and areas. Each area is labeled as including a hypothetical transmitter, labeled T 1..36 , each area has a hypothetical transmitter.
[0071] A wireless receiver 215 is also shown. The wireless receiver 215 receives a signal from one of the geographic areas within the geographic area 205, the signal is detectable by a plurality of reception elements of the wireless receiver 215. Note that while FIG. 2A The wireless receiver 215 is shown as being located outside of the geographic area 205, in some embodiments, the wireless receiver is located inside the geographic area 205.
[0072] Some disclosed embodiments determine the expected phase difference that the wireless receiver 215 will experience when receiving a signal transmitted from each of a plurality of geographic areas T 1..36 . FIG. 2A The illustration of the graph of FIG. 1 1 illustrates that, in some embodiments, the location of a transmitting device is determined by matching the phase difference of a signal transmitted by the transmitting device (such as a transmitting device located in any one of the areas labeled T 1..36 . Note that in some embodiments, the expected phase difference for each area includes a plurality of phase differences. The plurality of phase differences represents the phase difference of a signal received by two reception elements (e.g., a reference reception element and a second reception element). In at least some embodiments, the phase difference of a signal at a plurality of frequencies is also included in the expected phase difference.
[0073] FIG. 2B is a schematic diagram of an example system that includes two wireless devices that implement at least one of the disclosed embodiments. FIG. 2BTwo wireless devices, access point 191A and access point 191B are shown. Each of access points 191A and 191B has defined a corresponding plurality of zones. Access point 191A has defined a first plurality of zones 192A. Access point 191B has defined a second plurality of zones 192B. Figure 2 illustrates that the first plurality of zones 192A and the second plurality of zones 192B are misaligned. For example, in some cases, one zone within the first plurality of zones 192A spans a portion of more than one zone within the second plurality of zones 192B. Similarly, one zone within the second plurality of zones 192B spans a portion of more than one zone within the first plurality of zones 192A. Furthermore, the boundaries of the first plurality of zones 192A and the second plurality of zones 192B are not parallel or aligned. While FIG. 2B The first plurality of zones 192A and the second plurality of zones 192B are shown as two-dimensional zones, but at least some disclosed embodiments contemplate that access points 191A and / or 191B define a plurality of zones in three-dimensional space.
[0074] Each of the first plurality of zones 192A and the second plurality of zones 192B is used by its respective access point to estimate the location of another device, such as another access point or a wireless terminal. For example, in some embodiments, access point 191A estimates the location and / or position of access point 191B within the plurality of zones 192A. When performing this estimation, access point 191A estimates that the location of access point 191B is in zone 193A, which is included in the first plurality of zones 192A. In some embodiments, access point 191B estimates that the location of access point 191A is in zone 193B, which is included in the second plurality of zones 192B.
[0075] In some embodiments, each of access points 191A and 191B also estimates the location of wireless terminal 194. Thus, for example, access point 191A estimates that the location of wireless terminal 194 is in zone 195A, which is included in the first plurality of zones 192A. Access point 191B estimates that the location of wireless terminal 194 is in zone 195B, which is included in the second plurality of zones 192B.
[0076] Some disclosed embodiments map a location determination by access point 191A within a region in a first plurality of regions to a second region within a second plurality of regions. Thus, for example, while access point 191A estimates the location of wireless terminal 194 to be region 195A, these embodiments convert or map this region 195A to a region used or defined by access point 191B of the reference device, and in particular to region 195B in the second plurality of regions 192B. By mapping from the first plurality of regions 192A to the second plurality of regions 192B, some disclosed embodiments allow multiple location determinations by multiple access points to be aggregated, providing a more accurate location determination of wireless terminal 194 that would not be possible if only a single access point were used to estimate the location of wireless terminal 194.
[0077] FIG. 2C A transmitting device and a receiving device within a plurality of regions are shown. FIG. 2C A geographic area 220 divided into a plurality of regions 235 is shown. FIG. 2C Two devices are also shown: a transmitting device 222 and a receiving device 224. The transmitting device includes a plurality of transmitting elements. In FIG. 2C In the illustrated embodiment, the transmitting device 222 includes four transmitting elements: transmitting element 230a, transmitting element 230b, transmitting element 230c, and transmitting element 230d. The receiving device 224 includes a plurality of receiving elements. In the illustrated embodiment, the receiving device includes four receiving elements: receiving element 230e, receiving element 230f, receiving element 230g, and receiving element 230h. Each of the plurality of transmitting elements is located in a different region of the plurality of regions. For example, FIG. 2C Transmitting element 230a is shown located in region 232a. Transmitting element 230b is located in region 232b. Transmitting element 230c is located in region 232c. Transmitting element 230d is located in region 232d. Similarly, each of the plurality of receiving elements is located in a separate region of the plurality of regions 235. Receiving element 230e is located in region 232e. Receiving element 230f is located in region 232f. Receiving element 230g is located in region 232g. Receiving element 230h is located in region 232h.
[0078] FIG. 2CEach of the transmitting device 222 and the receiving device 224 are also shown as having a corresponding reference point, shown as reference point 226 for the transmitting device 222 and reference point 228 for the receiving device 224. Some disclosed embodiments maintain layout information for each of the devices 222 and 224. The layout information for the transmitting device 222 defines the relative location of each of the transmitting elements 230a-d and the reference point 226. The layout information for the receiving device 224 defines the relative location of each of the receiving elements 230e-h and the reference point 228.
[0079] As discussed above, in at least some embodiments, the transmitting device 222 transmits one or more signals to the receiving device 224. The signal is received at each of the receiving elements 230e-h. Because the receiving elements are located at different distances from any of the transmitting elements 230a-d, the signal is received at each of the receiving elements 230e-h at a different phase. Thus, in some embodiments, phase difference information is generated that describes the phase difference of the signal received by the receiving elements 230e-h from one or more of the transmitting elements 230a-d.
[0080] In at least some embodiments, the location of each of the receiving elements 230e-h is known. In other words, some embodiments store data indicating that the receiving element 230e is located in area 232e, the receiving element 230f is located in area 232f, the receiving element 230g is located in area 232g, and the receiving element 230h is located in area 232h. In another example embodiment, data indicating the x, y, and z coordinates and orientation of the receiving wireless device is stored. Based on these known locations of each of the receiving elements 230e-h, some embodiments generate, for each of the plurality of areas 235, the expected phase difference that the receiving device 224 would experience from a signal transmitted from each of the plurality of areas 235. Thus, in some embodiments, the transmitting device transmits at least one signal from each of the transmitting elements 232a-d that is received by at least two of the receiving elements 230e-h. By comparing the phase difference of the received signals to the expected phase difference generated for each of the plurality of areas 235, the disclosed embodiments are able to identify which area each of the transmitting elements 232a-d is located in.
[0081] Once the location of each of the transmitting elements 230a-d is known (e.g., areas 232a-d, respectively), some disclosed embodiments determine the orientation of the transmitting device 222 based on the known locations of the transmitting elements 230a-d.
[0082] FIG. 2DExample data structures implemented in one or more of the disclosed embodiments are shown. While FIG. 2D These example data structures are described as relational database tables, but other embodiments utilize other data architectures. For example, some embodiments use arrays, linked lists, trees, unstructured data stores, or other data structure architectures. FIG. 2D A device type table 250, a transmission element table 260, and a receiving element table 270 are shown. The device type table 250 stores attributes of a particular device type. The device type table 250 includes a device type identifier field 252, a device model field 254, a transmission element quantity field 256, a receiving element quantity field 258, and a reference point location field 259. The device type identifier field 252 uniquely identifies a particular device type. In some embodiments, each device supported by the disclosed embodiments that differs in the number and / or relative location of transmission elements or receiving elements is assigned a unique device type identifier. The device model field 254 stores a model assigned to the device type (identified via field 252). The transmission element quantity field 256 defines a quantity of transmission elements supported by the indicated device type (e.g., field 252). The receiving element quantity field 258 defines a quantity of receiving elements supported by the indicated device type (e.g., field 252). The reference point location field 259 defines a location of a reference point of the device type. For example, the reference point location field 259 indicates whether the reference point is a center of mass of the wireless device, a particular corner of the wireless device, or whether the reference point is at a particular location on the device.
[0083] The transmission element table 260 includes a device identifier field 262, a transmission element identifier field 264, an x offset field 266, a y offset field 268, and a z offset field 269. The device identifier field 262 uniquely identifies a particular device type and is cross-referencable with the device type identifier field 252. The transmission element identifier field 264 identifies a particular transmission element. For example, some embodiments identify transmission elements via a numerical identifier (e.g., one (1), two (2), three (3), four (4), etc.). The x offset field 266 identifies an x coordinate of the identified transmission element. In some embodiments, the x offset field 266 identifies a center of mass of the identified transmission element or an x offset of a tip of the identified transmission element. The y offset field 268 identifies a y offset of a reference point of the identified transmission element (e.g., via field 264). In some embodiments, the y offset field 268 identifies a center of mass of the identified transmission element or a y offset of a tip of the identified transmission element. The z offset field 269 identifies a z offset of a reference point of the identified transmission element. In some embodiments, the z offset field 269 identifies a center of mass of the identified transmission element or a z offset of a tip of the identified transmission element.
[0084] The receiving element table 270 includes a device identifier field 272, a receiving element identifier field 274, an x offset field 276, a y offset field 278, and a z offset field 279. The device identifier field 272 uniquely identifies a particular device type and is cross-referencable with the device type identifier field 252. The receiving element identifier field 274 identifies a particular receiving element. For example, some embodiments identify receiving elements via a numerical identifier (e.g., one (1), two (2), three (3), four (4), etc.). The x offset field 276 identifies an x coordinate of the identified receiving element. In some embodiments, the x offset field 276 identifies an x offset of a centroid of the identified receiving element or a tip of the identified receiving element. The y offset field 278 identifies a y offset of a reference point of the identified receiving element (e.g., via field 274). In some embodiments, the y offset field 278 identifies a y offset of a centroid of the identified receiving element or a tip of the identified receiving element. The z offset field 279 identifies a z offset of a reference point of the identified receiving element. In some embodiments, the z offset field 279 identifies a z offset of a centroid of the identified receiving element or a tip of the identified receiving element.
[0085] FIG. 3 A wireless device and the relative positions of the antennas 390A-E of the wireless device are shown. The wireless device 380 is shown within a three-dimensional space, which is demarcated by three axes (X axis 392A, Y axis 392B, and Z axis 392C). Some disclosed embodiments utilize predefined spatial positions of antennas of a device, such as the wireless device 380. Examples of these predefined spatial positions are relative to FIG. 2D As illustrated, in some embodiments, a data structure that uses these predefined spatial positions is used to define a position of a wireless device relative to a reference point of the device or a transmitting element and / or a receiving element. In some embodiments, the predefined spatial positions of the antennas are relative positions. As described above, in some embodiments, the positions of the antennas are relative to a reference point on the device. In some embodiments, the reference point is one of the transmitting elements or one of the receiving elements of the device.
[0086] FIG. 3 An example reference point 393 is shown. In some embodiments, the relative positions of the antennas 390A-E are determined relative to an origin of the three-dimensional axes, such as the three-dimensional axes represented by the X axis 392A, the Y axis 392B, and the Z axis 392C. Thus, some embodiments take the origin point of the three-dimensional axes (as shown by the origin 394 above the reference point 393). The coordinates of each of the antennas 390A-E are then determined relative to the origin and / or the reference point 394 / 393. These relative coordinates are shown in the receiving element table 270. FIG. 3 FIG. 3 The relative coordinates 395A-E are shown as coordinates 395A-E. Some disclosed embodiments utilize the relative coordinates 395A-E of each antenna 390A-E to help determine the location and / or orientation of the wireless device 380, as discussed below. For example, some embodiments determine the location of each antenna 390A-E of the wireless device 380. Based on the determined locations and the relative coordinates 395A-E of the antennas, some disclosed embodiments determine the orientation of the wireless device 380.
[0087] FIG. 3 The direction of rotation is also shown in three dimensions. Rotation angle 396A shows the magnitude of rotation about the X axis 392A. Rotation angle 396B shows the magnitude of rotation about the Y axis 392B. Rotation angle 396C shows the magnitude of rotation about the Z axis 392C. Some embodiments move the relative positions of the antennas represented by coordinates 395A-E in each dimension and rotate them by a rotation magnitude, as shown by rotation angles 396A-C. As described further below, this rotation is managed to determine the orientation of the device.
[0088] FIG. 4 The misalignment between the orientations of the two devices is shown. FIG. 4 Two wireless devices are shown: wireless device 480 and wireless device 481. The two wireless devices are shown within a three-dimensional space defined by three axes, shown as X axis 492A, Y axis 492B, and Z axis 492C. The three axes intersect at origin 494. In some disclosed embodiments, one or more of the wireless devices is an access point. In some disclosed embodiments, one or more of the devices is a wireless terminal. Wireless device 480 is shown in a first orientation 480O, and wireless device 481 is shown in a second orientation 481O. The second orientation 481O has rotated wireless device 481 about the Z axis 492C relative to wireless device 480. FIG. 4 The difference in angle between the first orientation 480O and the second orientation 481O is shown as angle 497. Angle 497 shows that the first orientation 480O has rotated wireless device 481 about the Z axis in the direction indicated by angle 498 relative to the first orientation 480O of wireless device 480. Some disclosed embodiments generate instructions to align the orientations of the two devices. For example, these embodiments generate instructions to rotate wireless device 481 in the direction indicated by arrow 499 to eliminate the misalignment represented by angle 497. Although FIG. 4 The misalignment based on rotation about the Z axis 492C is shown in the three-dimensional space represented by FIG. 4 Some embodiments align the two devices between three axes of rotation. To maintain FIG. 4 This misalignment is not illustrated here for clarity.
[0089] FIG. 5A first wireless device alignment procedure is shown. FIG. 5 Two wireless devices are shown: a first wireless device 552a and a second wireless device 552b. In various embodiments, one or both of the wireless devices 552a-b are similar to or identical to any of the APs discussed above. FIG. 5 Signals 554a exchanged between the first wireless device 552a and the second wireless device 552b are shown. Based on the exchanged signals, at least some disclosed embodiments determine an orientation of the first wireless device 552a relative to the second wireless device 552b. Details of this orientation determination are explained further below. Some embodiments of the disclosure generate instructions to align the orientation of the first wireless device 552a with the orientation of the second wireless device 552b. To illustrate, FIG. 5 An alignment dialog 556a is shown displaying instructions for aligning the orientation of the wireless device 552a with the orientation of the wireless device 552b. In FIG. 5 In the example shown, the instructions indicate that the first wireless device 552a should be rotated 20 degrees to the right to better align with the second wireless device 552b. After the instructions 558a are displayed, a person 560 can rotate the first wireless device 552a according to the instructions. In some embodiments, after the orientation of the first wireless device is manually adjusted, an updated orientation of the first wireless device is determined based on (in some embodiments) a phase difference of signals received by the second wireless device from the first wireless device. Then, in some embodiments, updated instructions are generated based on the updated alignment of the first wireless device with the second wireless device.
[0090] FIG. 6 A second wireless device alignment procedure is shown. FIG. 6 The same two wireless devices are shown: the first wireless device 552a and the second wireless device 552b after the alignment procedure has been performed FIG. 5 Signals 554b are exchanged between the first wireless device 552a and the second wireless device 552b in order to determine the orientation of the first wireless device 552a relative to the second wireless device 552b after the alignment procedure described has been performed. FIG. 5 The orientation of the first wireless device 552a relative to the second wireless device 552b is determined. FIG. 6 If the person 560 rotates the first wireless device 552a more than the 20 degrees specified by the first alignment procedure of FIG. 5 In at least some embodiments, via an additional alignment dialog 556b (or, in other embodiments, via the alignment dialog 556a), a request is provided to make further alignment in the same (e.g., X) dimension (but opposite in direction or magnitude) as the alignment performed relative to FIG. 5 the additional instructions 558b.
[0091] FIG. 7The alignment process of the third wireless device is shown. FIG. 7 A first wireless device 552a and a second wireless device 552b are also shown. Signals 554c are exchanged between the first wireless device 552a and the second wireless device 552b to determine the orientation of the first wireless device 552a relative to the orientation of the second wireless device 552b. An alignment dialog box 556c displays instructions 558c that request the user to adjust the first wireless device 552a relative to a second dimension, which is different from the orientation relative to... FIG. 5-FIG. 6 The first dimension of adjustment. Specifically, instruction 558c requests adjustment of the first wireless device such that the left side of the first wireless device 552a is higher than the right side of the first wireless device 552a. Some disclosed wireless devices provide adjustable feet (e.g., foot 562) to facilitate alignment of the wireless device around each of the yaw (Y), pitch (X), and roll (Z) axes. FIG. 7 This demonstrates that the envisioned alignment process can generate instructions to align wireless devices in at least three dimensions and verify those alignments.
[0092] Although FIG. 5-FIG. 7 A manual alignment process for wireless devices is described, where manual alignment is driven by instructions generated by the disclosed embodiments; however, other embodiments provide alignment of the wireless devices' orientation without manual intervention. For example, some embodiments of the wireless devices are configured with motors capable of changing the orientation of the wireless devices about each of the X, Y, and Z axes. In these embodiments, the orientation difference between the two devices is provided to an orientation controller included in one of the devices. This orientation controller is configured to adjust the orientation of the motor as needed to position the first wireless device in an orientation consistent with that of the second wireless device. In some embodiments, the first and / or second wireless devices are configured to be ceiling-mountable. In these embodiments, the orientation controller is configured to control the orientation of the first wireless device relative to the orientation of the second wireless device and the ceiling, such that the orientations of the first and second wireless devices are aligned.
[0093] FIG. 8 This is a block diagram of an example access point 800 (e.g., any one or more access points AP 142a-d) according to one or more of the disclosed embodiments. Access point 800 includes a wired interface 830, wireless interfaces 836, 842, a hardware processor 806 (e.g., a CPU), one or more hardware memories 812, and an assembly 808 of components (e.g., an assembly of hardware components, such as an assembly of circuitry), coupled together via a bus 809 through which various components exchange data and information. The wired interface 830 includes a receiver 832 and a transmitter 834. The wired interface 830 couples access point 800 to... FIG. 1network 134 (e.g., the Internet). The first wireless interface 836 (e.g., a Wi-Fi interface or an 802.11 interface) includes a receiver 838 coupled to a receive antenna 839 via which the access point can receive wireless signals from a communication device (e.g., a wireless terminal) and a transmitter 840 coupled to a transmit antenna 841 via which the access point can transmit wireless signals to a communication device (e.g., a wireless terminal). The second wireless interface 842 (e.g., a Bluetooth interface) includes a receiver 844 coupled to an antenna 845 via which the access point can receive wireless signals from a communication device (e.g., a wireless terminal) and a transmitter 846 coupled to a transmit antenna 847 via which the access point can transmit wireless signals to a communication device (e.g., a wireless terminal). For simplicity of illustration, only a single antenna (e.g., antenna 845) is shown as connected to the receiver 844. In some contemplated deployments, the system utilizes multiple receive antennas and processes the received signals to obtain phase differences between the signals received on any pair of antennas. FIG. 9 More details of this phase processing are provided. The wireless interface (e.g., 836 and / or 842) can and typically does include a phase difference determination component, as described below with reference to FIG. 9 More details of this phase processing are provided. The wireless interface (e.g., 836 and / or 842) can and typically does include a phase difference determination component, as described below with reference to
[0094] The one or more hardware memories 812 include routines 814 and data / information 816. The routines 814 include assemblies of components 818 (e.g., assemblies of software components) and application programming interfaces (APIs) 820. The data / information 816 includes configuration information 822, device state logs (including error events and normal events captured as messages in system logs or error logs 824), and a dynamic list of measured arrival phases 826 that identifies relative arrival phases of signals transmitted from a second AP at different antennas of one AP. According to another example embodiment, the memory stores phase differences between signals arriving at any pair of antennas (not shown).
[0095] FIG. 9 is a view 900 that illustrates an example of a wireless interface 950, such as any one or more of the interfaces 836 or 842 of FIG. 8 In this illustrative example, an interface is shown having four receivers 954a, 954b, 954c, and 954d connected to four receiver antennas 955a, 955b, 955c, and 955d, respectively. Similarly, four transmitters 956a, 956b, 956c, and 956d are connected to four transmitter antennas 957a, 957b, 957c, and 957d.
[0096] Those skilled in the art will recognize that the disclosed embodiments can have any number of receivers (and their associated antennas) and any number of transmitters (and their associated antennas), and the number of transmitters and receivers need not be the same. In some embodiments, the waveform received by antenna 955a and receiver 954a is used as a reference. Various embodiments may select any antenna of the receiving device as the reference. This reference is fed into phase differentiators 960, 962, and 964. The other inputs of the phase differentiators are connected to the outputs of receivers 954b, 954c, and 954d, respectively. The phase differentiators detect the difference between the phase of the reference signal and the waveform received via antennas 955b, 955c, and 955d and their corresponding receivers 954b, 954c, and 954d.
[0097] The outputs of phase differentiators 960, 962, and 964, and 970, 972, and 974, provide the phase difference: PD i = Phase (Ref)) - Phase(Signal i Equation 1 in: PDi – The phase difference between the reference waveform and the waveform from the i-th receiving element. Phase (Sig(Ref) – Phase of the reference signal Phase (Signal) i – The phase of the i-th waveform arriving at the i-th receiving element.
[0098] Since it is uncertain whether the waveform from the transmitter arrives at the reference receiving element first or at the i-th receiving element, the differentiator also produces a 360-degree supplementary phase difference at its outputs 971, 973, and 975. Specifically: CPD i = 360 - PD i Equation 2 in: CPD i The 360-degree supplementary angle of the i-th phase difference, PD i Reference waveform and from the receiving element i The phase difference between the waveforms.
[0099] In some embodiments with n receiver element pairs, n independent phase differences are generated. In some embodiments, these phase differences are represented by an n-dimensional vector, such as: PDV = [p1, p2, p3, ... p n Equation 3 in: the phase difference vector received by the PDV, and pi - the phase difference between the reference waveform and the i-th signal.
[0100] Thus, the complementary received phase difference vector is given by: CPDV = [360 - pi, 360 - p2, 360 - p3,... 360 - pn] n Equation 4
[0101] While Equations 3 and 4 illustrate the generation of phase differences for a single frequency waveform, some embodiments include expected phase differences from signals at different frequencies. Thus, a first set of p i (where i < n) defines the expected phase difference of the waveform at a first frequency, and a second set of p i (where n < i < m) defines the expected phase difference of the waveform at a second frequency. The above process can be repeated for more than two frequencies, as this is used as an example only.
[0102] Thus, the expected phase differences generated by various embodiments include those generated according to Equations 2 and / or 3. As explained in more detail below, the location of a wireless transmitter is determined by comparing the components of the expected phase difference with the measured phase difference. If the expected phase difference includes both the phase difference and its complement, then the wireless receiver need only produce the measured phase difference (and not the complement of the measured difference). However, if the signature does not include the complementary phase difference, then the differentiator needs to produce both the measured phase difference and its complement.
[0103] FIG. 10An example top physical view 1000 of an example AP 1050 is shown. The example AP 1050 includes multiple antennas labeled as antenna 1060a, antenna 1060b, antenna 1065a, antenna 1065b, and antennas 1070a-f. In example embodiments, the antennas 1060a and 1060b are used for monitoring and control radios, such as Wi-Fi networks. In example embodiments, the antennas 1065a and 1065b are used for communications in the 5.4 GHz band between the AP and user equipment UEs, such as WTs. In example embodiments, the antennas 1070a-f are used for communications in the 2.4 GHz or 5.4 GHz band between the AP and user equipment UEs, such as WTs. Some embodiments use these antennas to determine the distance between any transmitting antenna on a first AP and a receiving antenna on a second AP, and the distance between any transmitting antenna on the second AP and a receiving antenna on the first AP. The distances are determined based on the difference in the arrival phase values of the signals in one or more pairs of antennas that communicate on one or more frequency bands. A detailed explanation of how the distances between pairs of transmitter / receiver antennas are calculated is provided in the phase difference application.
[0104] Any one of the antennas is used to transmit and receive signals that help estimate the location and orientation of one AP relative to another.
[0105] FIG. 11 is a block diagram of an example location determination and SPM device 1100. In some embodiments, the location determination and SPM device 1100 is a network node, for example, a location and orientation server such as an automated device location determination server. In some embodiments, the location determination and SPM device 1100 is a part of a location and orientation server 165 of FIG. 11 The location determination and SPM device 1100 in FIG. 1 is a location and orientation server 165. In some embodiments, the location determination and SPM device 1100 is located in the cloud or is a part of an access point, such as any of the access points or devices shown in FIG. 1
[0106] The location determination and SPM device 1100 includes a communications interface 1130, a hardware processor 1106, an output device 1108 (e.g., a display, a printer, etc.), an input device 1110 (e.g., a keyboard, a keypad, a touch screen, a mouse, etc.), one or more hardware memories 1112, and an assembly of components 1140 (e.g., an assembly of hardware components, such as an assembly of circuits), which are coupled together via a bus 1109 over which the various elements can interchange data and information. In some embodiments, the communications interface 1130 includes an Ethernet interface. The communications interface 1130 couples the location determination and SPM device 1100 to a network and / or the Internet. The communications interface 1130 includes a receiver 1132 via which the location and position server device can receive signals from wireless transmitters and a transmitter 1134 via which the location determination and SPM device 1100 can transmit data and information, e.g., information about the locations of various wireless transmitters to the transmitter itself, to the location of any other network attached server, such as a network management server, and so forth.
[0107] The one or more hardware memories 1112 include routines 1114 and location signature data / information 1120. The routines 1114 include an assembly of components 1118 (e.g., an assembly of software components) and an application programming interface (API) 1117. In some embodiments, the routines 1114 define software that implements a method for generating instructions that direct the positioning and orientation of APs to defined locations and positions that align with the location and position of a reference AP. In some embodiments, the routines determine the location and position of each AP by referencing a reference AP and using that information to determine the location of other mobile devices, such as the UE or other WT shown. The location signature data / information 1120 includes area coordinates 1124. Depending on the particular application, the coordinates can have a single dimension (for positioning wireless transmitters along a particular straight path), two dimensions (for positioning devices in a two-dimensional planar map, such as positioning devices on a floor of a business), or three dimensions (for positioning wireless devices within a three-dimensional volume, such as devices located on a particular shelf in a storage room). FIG. 1 The location signature data / information 1120 includes area coordinates 1124. Depending on the particular application, the coordinates can have a single dimension (for positioning wireless transmitters along a particular straight path), two dimensions (for positioning devices in a two-dimensional planar map, such as positioning devices on a floor of a business), or three dimensions (for positioning wireless devices within a three-dimensional volume, such as devices located on a particular shelf in a storage room).
[0108] As explained in more detail below, the location signature data / information 1120 also includes columns 1125, 1126, 1127, 1128, and 1129, each column indicating the relative phase of the waveform expected to be received from a particular area by a particular receiving element (e.g., Al, A2, A2', A3, and A3'). In this illustrative example, receiving element Al is selected as the reference receiving element, and is assigned a phase difference of 0 (relative to itself). The phase of the signals received by the other receiving elements is measured relative to the waveform received by receiving element Al (e.g., the reference phase). Although this example illustrates phase differences for signals received by receiving elements Al, A2, and A3, those skilled in the art will recognize that various embodiments will utilize any number (smaller or larger) of receiving element pairs. In some embodiments, antenna element A2 can be selected as another reference antenna, resulting in additional phase differences between signals received by antennas A2-A3, A2-A4, etc. Thus, the number of columns in the location signature data / information will increase or decrease accordingly. Columns 1126 and 1128 provide the phase difference assuming the waveform from a wireless transmitter located in the particular area arrives at the reference receiving element first, and then at the corresponding ith receiving element. Columns 1127 and 1129 provide the 360 degree complementary phase difference assuming the waveform from a wireless transmitter located in the particular area arrives at the corresponding ith receiving element first, and then at the reference receiving element.
[0109] As explained above, when the location signature does not include a column with a 360 degree complementary phase difference signature, FIG. 9 The wireless interface 950 generates the 360 degree complementary phase difference.
[0110] The one or more hardware memories 1112 also include configuration information 1122, which includes operational parameters programmed into the system or entered by a system administrator.
[0111] The one or more hardware memories 1112 also include example phase delta tables 1150, 1155, and 1160 containing phase difference information. In some embodiments, these tables include 360 degree complementary phase difference information. In some embodiments, the information in the tables is refreshed periodically (e.g., once per second) to reflect updated locations of wireless devices (e.g., transmitters).
[0112] The phase delta tables 1150, 1155, and 1160 include the ID of the wireless transmitter from which the received waveform was transmitted and for which the phase delta was measured 1151, 1156, through 1161. The tables also include the phase delta information measured between the signals arriving at any antenna pair 1152, 1157, through 1162.
[0113] Some embodiments account for phase increment measurement error, which can vary from embodiment to embodiment. In some embodiments, the phase increment measurement error is configurable, or dynamically determined. An example phase increment measurement error is ± ten (10) degrees. The measurement error can be fixed (e.g., hard-coded), or configured via a user interface as one of the configuration information 1122. In operation, the measured phase difference information is compared to the expected phase difference information (or its 360 complement) for a particular region (the expected phase difference for each region). In some embodiments, the measured phase differences are considered to match the expected phase difference if they fall within a pre-defined error tolerance level. If the phase differences match the phase differences expected in a region, some embodiments determine that the wireless antenna can be located in that region. In some cases, multiple regions are identified as possible locations for the antenna. These one or more identified regions are denoted by regions 1165. In some embodiments, a location signature vector is generated to store the expected phase differences for a region. Such a vector is given by the following equation: LSIV(x, y, z) = [s1, s2, s3, …, sn] Equation 5 n ] Equation 5 where: LSIV(x, y, z) is a location signature vector containing expected phase differences based on signals from transmitters located at x, y, z; and s i is the i-th element of the location signature vector. Each element of the vector represents the phase difference of signals at two different antennas.
[0114] Some embodiments determine whether a measured set of phase differences "match" an expected set of phase differences for a particular region based on the following equation 6: abs(si - pi) < threshold Equation 6 where: abs is the absolute value function, si is the i-th component of the expected phase difference vector, pi is the i-th component of the example measured phase difference vector, and i is an index starting from 0 < i < n, where n is the dimension of the phase difference vector, which depends on the number of antenna pairs and the number of frequencies employed.
[0115] FIG. 12 is a block diagram of an example of a network node 1200. In some embodiments, the network node 1200 is a device or server attached to the network 134. In some embodiments, FIG. 12 the network node 1200 of FIG. 1any one or more of servers 110, 116, 122, 128, 136, and / or one or more of routers 185, and / or FIG. 1 Switch 180. Network node 1200 includes a communication interface 1202 (e.g., an Ethernet interface), a hardware processor 1206, an output device 1208 (e.g., a display, a printer, etc.), an input device 1210 (e.g., a keyboard, a keypad, a touch screen, a mouse), one or more hardware memories 1212, and an assembly of components 1216 (e.g., one or more of an assembly of hardware modules, an assembly of circuits), which are coupled together via a bus 1209 over which the various elements can interchange data and information. Communication interface 1202 couples network node 1200 to a network and / or the Internet. Although only one interface is shown, those skilled in the art will appreciate that routers and switches can and often do have multiple communication interfaces. Communication interface 1202 includes a receiver 1220 via which the network node 1200 (e.g., server) can receive data and information (e.g., including information related to operations, such as registration requests, AAA services, DHCP requests, simple notification service (SNS) lookups, and Web page requests), and a transmitter 1222 via which the network node 1200 (e.g., server) can send data and information (e.g., including configuration information, authentication information, Web page data, etc.).
[0116] Memory 1212 includes routines 1214 and data information 1230. Routines 1214 include an assembly of components 1232, such as an assembly of software components. Data information 1230 includes system logs and / or error logs.
[0117] FIG. 13 is a block diagram of an example communication device. In some embodiments, communication device 1300 is a user equipment (UE), such as any of devices UE 1 138,..., UE Z 140, UE 1’ 146,..., UE Z’ 148 discussed in greater detail above. Communication device 1300 includes a wired interface 1302, a wireless interface 1304, a hardware processor 1306 (e.g., a CPU), an electronic display 1308, an input device 1310, one or more hardware memories 1312, and an assembly of components 1316 (e.g., an assembly of hardware modules, such as an assembly of circuits), which are coupled together via a bus 1309 over which the various elements can interchange data and information. Wired interface 1302 includes a receiver 1320 and a transmitter 1322. Wired interface 1302 couples communication device 1300 (e.g., UE) to FIG. 1 network 134 (e.g., the Internet).
[0118] Wireless interface 1304 includes cellular interface 1324, first wireless interface 1326 (e.g., an 802.11 Wi-Fi interface), and second wireless interface 1328 (e.g., a Bluetooth interface). Cellular interface 1324 includes receiver 1332 coupled to receiver antenna 1333 via which the communication device 1300 (e.g., a UE) can receive wireless signals from wireless devices such as any of access points 142a-d and transmitter 1334 coupled to transmission antenna 1335 via which the communication device 1300 (e.g., a UE) can transmit wireless signals to wireless devices such as any of access points 142a-d. First wireless interface 1326 (e.g., a Wi-Fi interface, e.g., an 802.11 interface) includes receiver 1336 coupled to receive antenna 1337 via which the communication device 1300 (e.g., a UE) can receive wireless signals from communication devices (e.g., APs) and transmitter 1338 coupled to transmission antenna 1339 via which the communication device 1300 (e.g., a UE) can transmit wireless signals to communication devices (e.g., APs). Second wireless interface 1328 (e.g., a Bluetooth interface) includes receiver 1340 coupled to receive antenna 1341 via which the communication device 1300 (e.g., a UE) can receive wireless signals from communication devices (e.g., APs) and transmitter 1342 coupled to transmission antenna 1343 via which the communication device 1300 (e.g., a UE) can transmit wireless signals to communication devices (e.g., APs).
[0119] Memory 1312 includes routines 1314 and data / information 1317. Routines 1314 include assembly of components 1315, e.g., assembly of software components. Data / information 1317 can include configuration information as well as any additional information needed for normal operation of the communication device 1300. Data / information also includes system logs or error logs.
[0120] FIG. 14An example misalignment 1400 between the orientation of two wireless devices is shown. The two wireless devices include a first wireless device 1405 and a second wireless device 1445. In some embodiments, each of the two wireless devices is an access point. The location and orientation of wireless device 1405 is known. In addition, the location and orientation of wireless device AP 1405 is known, or aligned with respect to a first coordinate system represented by X-axis 1402 and Y-axis 1404. The first wireless device 1405 is aligned with the first coordinate system because a predefined fixed location or feature of the first wireless device 1405 (e.g., one or more corners of the second wireless device 1445, one or more antenna locations of the second wireless device 1445, etc.) has a particular coordinate within the first coordinate system. In some embodiments, the wireless device 1405 defines a first plurality of regions (e.g., the plurality of regions shown in any of FIGS. 1-3) based on its orientation to the first coordinate system. FIG. 2A-FIG. 2C
[0121] The first wireless device 1405 includes a plurality of radio receivers, including RX1 1410, RX2 1415, and their associated antennas Al 1412 and A2 1417. The reference AP 1405 also includes transmitters TX1 1420 and TX2 1425 and their associated antennas A3 1422 and A4 1427. The second AP 1445 has a plurality of radio receivers RX3 1460, RX4 1465, and their associated antennas A5 1462 and A6 1467. The second wireless device 1445 also includes transmitters TX3 1450 and TX4 1455 and their associated antennas A7 1452 and A8 1457. FIG. 14 The orientation of the second wireless device 1445 is aligned with a second coordinate system including X'-axis 1406 and Y'-axis 1408 is shown. The second AP 1445 is aligned with the second coordinate system because a predefined fixed location or feature of the second wireless device 1405 (e.g., a corner of the second AP 1445, one or more antenna locations of the second AP 1445, etc.) has a particular coordinate within the second coordinate system.
[0122] While FIG. 14 While the wireless devices shown have different and separate transmit and receive antennas, some embodiments utilize a single antenna for both transmission and reception of signals. In such embodiments, antennas 1412 and 1422 are the same physical antenna. Similarly, in these embodiments, antennas 1417 and 1427 are the same, antennas 1452 and 1462 are the same, and antennas 1457 and 1467 are the same.
[0123] FIG. 14 Exchanged signals 1480a between antennas 1452 and 1412, exchanged signals 1480b between antennas 1457 and 1417, exchanged signals 1480c between antennas 1462 and 1422, and exchanged signals 1480d between antennas 1467 and 1427 are shown. In various embodiments, these signals can be any waveform, including but not limited to a cellular waveform, a sonic waveform, a Wi-Fi waveform, an optical waveform, or a Bluetooth waveform. In some embodiments, the signals are transmitted by the first wireless device 1405 and received by the second wireless device 1445. In some embodiments, the signals are transmitted by the second wireless device 1445 and received by the first wireless device 1405. FIG. 14 The distance between each of these pairs of antennas is also represented as distances D1-D4. For simplicity of this explanation, not shown in this figure (and associated explanation) is that using the same methodology, the system also determines the distance between transmitting antenna A7 and receiving antenna A2, the distance between transmitting antenna A8 and receiving antenna Al, and the distance between transmitting antenna A3 and receiving antenna A6 and the distance between transmitting antenna A4 and receiving antenna A5.
[0124] The disclosed embodiments determine the phase difference between signals received via different pairs of antennas originating from a particular transmitting antenna. For example, some embodiments can transmit a signal from antenna 1452 and measure the phase difference between the signals received by each of antennas 1412 and 1417. A second signal is transmitted from antenna 1457 and the phase difference between the second signals as received by the pair of antennas 1412 and 1417 is determined. A third signal is transmitted from antenna 1422 and the phase difference of this signal as received by antennas 1462 and 1467 is determined, or, a fourth signal is transmitted from the fourth antenna 1427 and the difference between the fourth signals as received by each of antennas 1462 and 1467 is determined.
[0125] When the signals are received, the phase difference of the received signals is measured and, in some embodiments, used to determine the region (location) of the transmitting antenna and estimate the distance between the pair of transmitting and receiving antennas. Some embodiments determine multiple location / region estimates for each transmitting antenna, where each of the multiple location / region estimates based on different signal frequencies is used to estimate a respective distance. Some embodiments determine multiple distance estimates for each antenna pair, where each of the multiple distances based on different signal frequencies is used to estimate a respective distance.
[0126] Some disclosed embodiments determine an expected phase difference for each region. In some embodiments, the phase difference is stored as a vector or signature of phase differences between signals received by multiple antenna pairs, and for signals at one or more frequencies. In some embodiments, the expected phase difference is determined according to Equation 1. In some embodiments, each individual expected phase difference corresponds to a particular transmitting antenna, a particular receiving antenna pair, and a particular signal frequency.
[0127] The difference between the arrival phases of the signals originating from each transmitter (and at each signal frequency) is measured and compared to the expected phase difference associated with transmission in the multiple regions. In one example embodiment, it is assumed that the difference between the measured phase difference and the expected phase difference has a Gaussian distribution. Based on this assumption, a probability is assigned to each determined difference. Then, by aggregating the probabilities associated with each phase difference measurement of all signals received by the antenna pair and all signals at different frequencies, a composite probability of the transmitting antenna being within a particular region is determined. In other embodiments, probabilities are generated based on distributions other than Gaussian distributions.
[0128] Some disclosed embodiments rely on the physical locations of the antennas on a particular access point to determine the orientation of a wireless device relative to another wireless device. For example, some embodiments can define the center position of a wireless device as the center of a coordinate system (e.g., coordinate (0,0,0)). Then, based on the well-known locations of each antenna of the wireless device, their positions are located within the coordinate system. For example, if a particular antenna is 3 centimeters in the X-dimension direction from the center position of the wireless device, then the antenna is assigned a position in the coordinate system that is consistent with its offset from the center position of the wireless device. Thus, in some embodiments, each wireless device is associated with the coordinates of each antenna of the wireless device within their respective coordinate systems. When determining the orientation of a wireless device, the physical location information of its antennas is used to determine the orientation of the wireless device based on the estimated positions of its antennas.
[0129] FIG. 15AAn example topology 1500 is shown that includes a first wireless device 1502a and a wireless interface 1502b. The first wireless device 1502a is in communication with a receive element 1504a and a second receive element 1504b of the wireless interface 1502b. The receive element 1504a and the receive element 1504b are integrated into the wireless interface 1502b. The wireless device 1502a includes a transmitter 1505 operably connected to a transmission receive element 1508. A waveform transmitted from the antenna 1508 is received by the wireless interface 1502b (specifically, by the receivers 1520a and 1520b) via the receive element 1504a and the receive element 1504b. The waveform travels a distance 1522a from 1508 to 1504a, while the waveform travels a distance 1522b from 1508 to 1504b. The difference between the times of arrival of the waveform at the respective receive elements of the receivers is given by the following equation: At = ti - t2 = (D1 - D2) / S wave = AD / S wave Equation 7 where: At the difference in times of arrival of the waveform at the receive elements 1504a and 1504b, AD the difference between the distances traveled by the signal / wave, ti the travel time of the waveform from 1508 to 1504a, t2 the travel time of the waveform from 1508 to 1504b, D1 the distance from 1508 to 1504a, D2 the distance from 1508 to 1504b, S wave the speed of the waveform via the medium.
[0130] The speed of a wave through any medium is related to the frequency of the wave, given by the following equation: S wave = f wave Equation 8 where: S wave the speed of the waveform via the medium, f wave the frequency of the wave, l the wavelength of the wave.
[0131] The duration of a wave is related to its frequency, given by the following equation: T = 1 / f wave Equation 9 where: The duration of a wave can also be expressed in terms of 360 degrees or 2p radians.
[0132] Substituting equation 8 into equation 7 gives: Δt = t1 - t2 = ΔD / S wave = ΔD / (f wave λ) equation 10
[0133] And using the relationship of equation 8 gives: Δt = ΔD T / λ = ΔD 2 π / λ equation 11
[0134] Or ΔD = λ Δt / T = λ / 2π equation 12a Or = 2π ΔD / λ equation 12b Where: The difference in arrival phase of the waveforms reaching the two receiving elements.
[0135] Equation 12 defines a hyperbola for a particular wavelength and known difference distance between the two receiving elements and for waveforms that maintain a constant phase difference, where a mobile device transmitting a waveform from any point on the hyperbola will transmit a signal that will arrive at the two receiving elements with the same phase difference.
[0136] When the receiving elements are located at a distance less than λ / 2, the receiver provides information that can be processed to determine which receiving element received the waveform first. However, when the receivers are located at a distance greater than λ / 2, it is more challenging to determine which receiving element received the waveform first, and therefore, we need to examine the assumption that the waveform arrived at either receiving element first, as explained with reference to FIG. 15B .
[0137] FIG. 15B is a timing diagram illustrating waveforms received via receiving elements spaced apart at a distance greater than λ / 2. The waveform 1510 is transmitted from a reference time t0, and is received at a first receiving element, such as the receiving element 1504a of FIG. 15A . The waveform 1530 of the same transmission is received at a second receiving element, such as the receiving element 1504b of FIG. 15A . The transmitted waveform travels a shorter path to reach the second receiving element, and therefore, it arrives at the second receiving element earlier. At time 1515, for example, using a phase differentiator, such asFIG. 9 The phase difference between the two received signals is measured 1510 (e.g., using phase differentiators (such as the phase differentiators 960, 962, and 964 of FIG. 9) to measure the phase difference between the two received signals. The phase difference is determined to be 1535.
[0138] Since the receiving elements are spaced apart by a distance greater than λ / 2, the receiver cannot determine which receiving element received the waveform first. The path of the same waveform to the first receiving element can be shorter than the path to the second receiving element, and the same phase difference is exhibited between the signals received at the second receiving element. Specifically, the same transmitted waveform 1540 (originating from the same start time t0) is received at the second receiving element. The transmitted waveform travels a longer path to reach the second receiving element, so it arrives later at the second receiving element. At time 1515, the phase difference 1535 between the two received signals is measured, for example, using phase differentiators (such as the phase differentiators 960, 962, and 964 of FIG. 9). When the actual phase difference is 360- FIG. 9 , the phase difference 1535 is determined to be Due to the ambiguity of the system, it is not possible to distinguish whether the phase difference should be 360- , as shown by the phase difference 1535, or 1560- , as shown by the phase difference 1545. The disclosed embodiments account for both possibilities. We represent the term 360- as : = 360 - Equation 13 where: - the arrival phase difference is less than 360 degrees.
[0139] FIG. 16A Two access points are shown: a first AP 1610 and a second AP 1620. The access points are in a first orientation with respect to each other. For simplicity, in FIG. 16A , both the reference AP 1610 and the second AP 1620 are depicted as each having only two antennas. The AP 1610 has antennas 1612 and 1614, and the AP 1620 has antennas 1622 and 1624. Each of these antennas is configured to receive and / or transmit signals of multiple different frequencies. As described above, the SPM commands the individual transmitters on one AP to transmit signals of different frequencies to the other AP, determines the phase difference between the received signals of any antenna pair, and estimates the area / location in which the antennas of the second AP are located.
[0140] FIG. 16A The antenna locations of the second AP are shown to be estimated to lie within the areas described by estimated antenna location 1623 and estimated antenna location 1625, respectively. The position and orientation of the second AP are then estimated based on estimated antenna location 1623 and estimated antenna location 1625. For example, some embodiments determine the position and orientation of the second AP that best fits between estimated antenna location 1623 and estimated antenna location 1625. In some embodiments, the position and orientation of the second AP is estimated by minimizing a cumulative measure of distance dl 1630 and distance d2 1632. Distance dl is the distance between first antenna location 1622 and estimated antenna location 1623, and distance d2 is the distance between second antenna location 1624 and estimated antenna location 1625. As discussed above, the relative locations of the antennas of AP 1620 are known based on layout information that defines the physical dimensions of AP 1620 and the locations of the antennas of AP 1620 relative to the physical dimensions. FIG. 2D Some embodiments provide examples of data structures used to store layout information for wireless devices, such as access points. The above discussion with respect to FIG. 3 Another example of using layout information is described.
[0141] Some embodiments rely on the following Equation 14 to determine the position of a wireless device: Equation 14 where: Position a description of the location of a device antenna, Position Min () the position of the antenna that minimizes the term in (). f(d i ) a function of the distance between the estimated positions of the antennas and the physical distance of the antennas.
[0142] In some embodiments, the function f(d i ) is a function of the mean square of the distance. In another embodiment, the function f(d i ) is the absolute value. Other functions are contemplated by the disclosed embodiments.
[0143] FIG. 16B The result of minimizing a function of the distance between the estimated positions of the antennas while taking into account the physical structure of the AP, including the well-known relative locations of the antennas, is shown. FIG. 16B A second location and orientation between reference AP 1610 and second AP 1620 is shown. Second location and orientation 1600b minimizes the measure of distances dl and d2, which is illustrated in FIG. 16A . For clarity, in FIG. 16BThe distances di and d2 are omitted, but the first distance between the first antenna site 1622 and the estimated antenna site 1623, and the second distance between the second antenna site 1624 and the estimated antenna site 1625 are shown, respectively. The locations of the antennas of the second AP 1620 are determined to be location 1626 and location 1628, respectively. This determination is the result of these locations minimizing the cumulative function of the distances di of equation 14. FIG. 16B The position and orientation of the second access point are shown modified to provide a relative FIG. 16A The distances di and d2 shown in the middle are reduced distances.
[0144] Once the locations of the antennas of the second AP are determined, the distance and relative orientation between the reference AP and the second AP are determined.
[0145] FIG. 17 is a two-dimensional example map 1700 illustrating a method of determining the location of a wireless transmitter based on the phase difference between two receiving elements. In this example, receiving element 1710 and receiving element 1715 are located at a distance of 3.5λ. Example transmitter Tl 1720 is located at the midpoint between these two receiving elements 1710 and 1715. Since the wireless transmitter is equidistant from these two receiving elements, the waveforms at these two receiving elements arrive with a phase difference of zero (0) degrees. Similarly, waveforms from any transmitter located on the straight line 1730 travel the same distance to reach these two receiving elements, and therefore, the phase difference between the signals received at these two receiving elements is also zero degrees.
[0146] In example map 1700, transmitters T4 1723 and T5 1724 are located at a distance of λ from transmitter Tl. These transmitters are located at a distance of 0.75λ and 2.75λ from receiving elements Al and A2. The signals from these transmitters need to travel a distance that is one wavelength more than the distance that the waveforms from Tl 1720 need to travel to reach the receiving elements. In other words, the arrival phase difference at receiving element 1710 or receiving element 1715 for a transmitter in these locations is two wavelengths. Therefore, the arrival phase difference in receiving elements Al and A2 is zero degrees. Similarly, waveforms from any transmitter located on the hyperbolas 1732 or 1734 travel the same distance to reach both receiving elements, and therefore, the phase difference between the signals received at these two receiving elements is also zero degrees. Those skilled in the art will recognize that straight line 1730 is actually a special case of the hyperbola of equation 12 where ΔX = 0.
[0147] Transmitters T2 1721 and T3 1722 are located at a distance of λ / 2 from transmitter Tl. These transmitters are located at a distance of 1.25λ and 2.25λ from receiver receiving elements Al and A2, so the signals from these two transmitters arrive at one of the receiving elements Al and A2 with a delay of 1.25λ, a phase difference of one wavelength. Also, these transmitters are located at the same distance from receiving elements Al 1710 and A2 1715, so the signals from these transmitters arrive at these two receiving elements with the same phase, and so the phase difference between the signals received at these two receiving elements is zero degrees. Similarly, for the same reason, the waveforms from any transmitters located on the hyperbola passing through T2 and T3 will exhibit the same zero degree phase difference.
[0148] Transmitters T6 1725 and T7 1726 are located at a distance of 0.25λ and 3.25λ from receiver receiving elements Al and A2. Since the difference in distance from either transmitter 1725 or transmitter 1726 to either receiving element is a multiple of the wavelength, the signals will arrive at the two receiving elements with the same phase, so the phase difference is zero (0) degrees. Similarly, the waveforms from any transmitters located on the hyperbola passing through T6 and T7 will exhibit the same zero degree phase difference.
[0149] Thus, relying only on the phase differences of the waveforms received at two receiving elements results in an infinite number of possible locations for the transmitters. Each of these infinite number of possible locations results in an equal phase difference at the two receiving elements. Thus, in these cases, there is still uncertainty in the location of the transmitters based only on these phase differences.
[0150] Thus, some embodiments rely on more than two receiving elements to increase the certainty of the location estimate. By adding additional receiving elements located at different distances from the two original receiving elements Al and A2, additional phase differences provide additional independent information that can help to more accurately determine the location of the wireless transmitters.
[0151] FIG. 18 is a receiver topology 1800 that illustrates determining the location of a wireless transmitter based on phase differences at three receiving elements. FIG. 18 A third receiving element 1817 (labeled A3) is shown. In FIG. 18 , receiving elements Al and A2 and the transmissions from locations Tl to T7 are similar to those previously discussed with respect to FIG. 17 . Similarly, hyperbolas 1831, 1832, 1833, 1834, and 1835 describe locations from which transmissions to receiving elements Al and A2 arrive with equal phase (e.g., a phase difference of zero degrees). As mentioned above, hyperbola 1835 represents a special hyperbola where ΔX = 0 (a straight line).
[0152] A receiving element 1817 is added to the receiver topology 1800 and the phase difference between the arrival phase at Al and at receiving element A3 1817 is measured. For the reasons explained above, when the transmitter is at T8 location 1840, T9 location 1841, T10 location 1842, T11 location 1843, T12 location 1844, location T13 1845 and T14 location 1846, which are spaced apart by 0.5λ and T8 location 1840 is at 0.25λ from receiving element Al, the signals arriving from the locations on hyperbolas 1861, 1862, 1863, 1864 and 1865 have the same arrival phase. As such, the difference between the arrival phase of the signals at Al and A3 is zero.
[0153] FIG. 18 It is shown that for any given phase increment, with two receiving elements and a single transmission frequency, there are many hyperbolas that exist at the same distance from the two receiving elements. Waveforms transmitted from any of these hyperbolas will result in signals received at antennas Al and A2 having the same phase difference. By adding a third receiving element and measuring the phase difference between the waveforms received at antennas Al and A3 and the phase difference at antennas A2 and A3 (not shown in the figure for simplicity), the location of the wireless transmitter is further restricted to locations that also lie on a new hyperbola that represents the locations that match the phase difference with receiving elements Al and A3.
[0154] The phase difference at antennas Al and A2 is shown to be zero and the phase difference at antennas Al and A3 is also zero. Therefore, the only locations that waveforms can be transmitted from must lie at the intersection of hyperbolas 1831, 1832, 1833, 1834 and 1835 (which are straight lines) and hyperbolas 1861, 1862, 1863, 1864 and 1865 (which are straight lines). The intersection between these hyperbolas corresponds to line 1870.
[0155] Line 1870 is at 45 degrees because this example is a special case where the phase difference of the signals at antennas Al and A2 is zero and the phase difference of the signals at Al and A3 is also zero. For any other non-identical , the hyperbolas will intersect on different lines, indicating possible locations of the transmitter that are different from this example. So far, this illustration has only considered a single frequency. Repeating the measurements with different transmission frequencies provides additional possible locations for each antenna. The system then determines the location and orientation of the second device by aggregating the estimated regions / locations based on the phase difference between any two antenna pairs and using one or more transmission frequencies.
[0156] FIG. 18 It is shown that by adding another receiving element and collecting additional independent information about the phase difference of the signals, and specifically calculating the phase difference, we further limit the possible locations from which the wireless transmitter can have been located (and transmitted from) to those that result in the conforming to the measured .
[0157] Extending this idea and adding another receiving element, the system generates additional received signals with independent additional information about the location from which the wireless transmitter transmitted. In other words, the arrival phase difference of the signals received in Al, A2, A3,..., Ak is measured and the locations that satisfy all the hyperbolas are determined, resulting in the determination of the location of the wireless transmitter. In some embodiments, the above method is performed using different signal frequencies. Each frequency results in additional measured phase differences and additional limiting conditions that help narrow down the specific location at which the transmitter operates.
[0158] FIG. 19 is a map 1900 showing the possible locations of two receiving elements and an access point. FIG. 19 Two wireless receivers 1902a and 1902b are shown. FIG. 19 Three possible locations of a wireless transmitter (e.g., included in a wireless terminal, an access point, etc.) are also shown at 1904a, 1904b, and 1904c. FIG. 19 A line 1905 is also shown, each point on which is equidistant from both receivers 1902a-b. Thus, a signal from a wireless transmitter (such as any access point at locations 1904a-1904b and 1904c) will experience a similar phase difference (e.g., zero) when received at multiple receiving elements of each of the two receivers 1902a-b.
[0159] FIG. 20 is a map 2000 similar to FIG. 19 that of FIG. 19, except that in addition to the two receivers 1902a-b, two additional receivers 1902c-d are also shown. FIG. 20The receivers 1902a and 1902b are shown equidistant from a transmitter (e.g., an access point) located at location 1904b. These equal distances are shown as distances 1912a and 1912b. The location 1904b is a distance 1912c from receiver 1902c and a distance 1912d from receiver 1902d. Thus, because of these additional distances, distance 1912c and distance 1912d are different from distances 1912a-b, and thus, the waveform generated at location 1904c experiences a different phase difference at receivers 1902c and 1902d when compared to the phase difference of the waveform received at receivers 1902a and 1902b. These differences in distance and resulting phase differences with respect to receivers 1902a-b help some disclosed embodiments identify the location of the wireless transmitter located at location 1904b.
[0160] Thus, in some embodiments, a set of expected phase differences for a signal transmitted by a wireless transmitter at location 1904a (e.g., a region centroid) is generated when received at each pair of receiving elements of receivers 1902a-d. The set of expected phase differences for a particular transmitter location and a particular receiver location is different from a second set of expected phase differences for a different transmitter location (such as location 1904a and 1904c), but the same particular receiving location. In other words, when determining the expected phase difference at a particular region or region centroid, some disclosed embodiments determine expected phase differences for multiple receivers or receiving antennas. For example, in the example of FIG. 20 each expected phase difference for a region or region centroid will include at least four sets of expected phase differences, one for each receiver. Thus, in these embodiments, the number of expected phase differences for a region or region centroid will be at least the number of pairs of receiving elements used in one embodiment multiplied by the number of frequencies used.
[0161] FIG. 21 Example locations of antennas for two access points in a two-dimensional space 2100 are shown. Although disclosed embodiments are capable of determining differences in access point orientation in each of up to three dimensions, for simplicity, FIG. 21 only a two-dimensional space is illustrated. The Z-axis is not shown.
[0162] With respect to FIG. 21 Locations are described within an X-axis 2102 and a Y-axis 2104. The reference AP includes two antennas at locations 2112 and 2114. The second AP also has two antennas at locations 2126 and 2128. Based on the relative locations of locations 2112 / 2114 and locations 2126 / 2128, it can be inferred that the orientation of the second AP is different from the orientation of the reference AP.
[0163] This difference in orientation is reflected in the angle between the Y' axis 2106 of the second AP and the Y axis 2104 aligned with the reference AP is determined in two-dimensional space. FIG. 21 In some embodiments, the angle is determined based on the triangle inequality: tangent = (X2-X1) / (Y2-Y1) Equation 15 where: X1, Y1 are the location of the first antenna of the second AP, and X2, Y2 are the location of the second antenna of the second AP.
[0164] The above example illustrates that the second AP has a different roll (no pitch or yaw relative to the reference AP). Some embodiments use similar calculations to determine any pitch difference and / or yaw difference between the second AP and the reference AP. To calculate any pitch difference and / or roll difference of the second AP, the location of each of the two antennas is determined in the reference three-dimensional space. In particular, the first antenna location is estimated to be at location [X1, Y1, Z1] in the reference three-dimensional space, and the second antenna is estimated to be at location [X2, Y2, Z2] in the reference three-dimensional space. The pitch angle a of the second AP relative to the reference AP three-dimensional space can be calculated by the following equation: Tangent a = (X2-X1) / (Z2-Z1) Equation 16
[0165] And the roll angle b of the second AP relative to the reference AP can be calculated by the following equation: Tangent b = (Y2-Y1) / (Z2-Z1) Equation 17 where: X1, Y1, Z1 - the location of the first antenna of the second AP in the reference three-dimensional space, and X2, Y2, Z2 - the location of the second antenna of the second AP in the reference three-dimensional space.
[0166] According to embodiments, when the location and orientation of the second AP in the reference three-dimensional space have been calculated, directions are generated that indicate how to change the orientation (pitch, yaw, and roll) of the second AP to align its orientation with the orientation of the reference AP. For example, some embodiments determine directions to rotate the Y' axis 2106 of the second AP, which passes through the two locations of the two second antennas, so that the Y' axis 2106 is parallel to the Y axis 2104.
[0167] In some embodiments, the guidance is provided via an LED mounted on the second AP. In some embodiments, the LED emits a signal via different colors of light whether the technician should push a particular corner to lift or rotate the AP in a particular direction. The instruction to push a particular corner of the AP can be interpreted as an instruction to pull an opposite corner. In some embodiments, the intensity of the light or the number of LEDs is used to indicate the amount of rotation that should be applied to the second AP.
[0168] After modifying the orientation of the second AP, the orientation of the second AP is recalculated relative to the reference AP. This continues until the orientation of the second AP is aligned with the reference AP. In some embodiments, the second AP is aligned with the reference AP when each of the differences in pitch, roll, and yaw angles between the second AP and the reference AP is below a predefined corresponding threshold.
[0169] In some embodiments, visual guidance is provided using a screen of a mobile device or some other device (e.g., a computer, a tablet, etc.) that can be associated with a site provisioning manager (SPM).
[0170] Some embodiments use a mobile device (e.g., a mobile phone) or other device (e.g., a computer, a tablet, etc.) that is associated with a site provisioning manager (SPM) to provide audible guidance.
[0171] FIG. 22 Example antenna locations of two access points within a two-dimensional space 2200 are shown. Instead of ensuring alignment between a reference access point and a second access point, some embodiments instead store information that defines the relative distance and orientation difference between the reference AP and the second AP. This information is then used to adjust the location determination that relies on the location information of the second AP. For example, in some embodiments, an estimate of a WT location can be performed by the second AP relative to the orientation of the second AP. Then, based on the stored information, the location is adjusted (mapped) to a location that is consistent with the orientation and location of the reference AP using the location and orientation of the second AP.
[0172] Reference FIG. 22 The reference AP has antennas located at antenna location 2212 and second antenna location 2214. The antenna locations 2212 and second antenna location 2214 are shown relative to X-axis 2202 and Y-axis 2204. The antenna locations 2212 and second antenna location 2214 are aligned with the Y-axis 2204. The second AP has two antennas located at antenna locations 2226 and 2228. Y'-axis 2206 illustrates that the antenna locations 2226 and 2228 are not aligned with the Y-axis, nor are they aligned with the antenna locations 2212 and second antenna location 2214, but instead are aligned with a different set of reference axes X' 2208 and Y' 2206. This difference in alignment between the two sets of axes is by an angle The antenna locations 2226 and 2228 are instead aligned with a different axis (Y' axis 2206).
[0173] Based on measurements of the phase difference of arrival of signals at the different antennas, some disclosed embodiments determine that the location of the second antenna is at [X1, Y1] and [X2, Y2].
[0174] During operation, both the reference AP and the second AP estimate the location of the WT 2230. In some embodiments, each AP determines the location of the WT relative to its own orientation, and then the system aggregates the estimated locations, e.g., by taking an average of the two estimated locations. As explained in more detail in the phase difference application, in example embodiments, the system uses a weighted average based on the probability estimates of the WT being in each of the locations. In some embodiments, the system uses a weighted average based on the probability estimates of the WT being in each of the locations.
[0175] For simplicity, we assume that the reference AP is located at: Reference AP location = [X3, (Y3+Y4) / 2] Equation 18
[0176] And, the location of the second AP is: Second AP location = [(X1+X2) / 2, (Y1+Y2) / 2] Equation 19
[0177] For practical reasons, it can be assumed that the distance between the coordinates of the two antennas in an AP is negligible compared to the distance between the AP and the WT.
[0178] In operation, the information from the reference AP indicates that the location of the WT 2230 is located at a region at location [X5, Y5] relative to the orientation of the reference AP. Similarly, the information from the second AP indicates that the location of the WT 2230 is located at location [X'5, Y'5] relative to the Y' axis 2206 and the X' axis 2208, which is aligned with the second orientation of the second AP. To facilitate the aggregation of the information from the two APs, the location information from the second AP is converted or mapped to be relative to the orientation of the reference AP.
[0179] In the illustrated example, the origin of the coordinates of the second AP is at [X0, Y0] in the reference coordinates. Thus, converting to the reference coordinates, the location of the WT is: X5 = (X1+X2) / 2 + X'5 Cos ( ) Equation 20 And Y5 = (Y1+Y2) / 2 + X'5 Sin ( ) Equation 21
[0180] According to yet another embodiment, rather than estimating the location of the WT relative to the position of the second AP and then converting that location to a position relative to the reference AP, some embodiments use the position of the second AP to determine a region signature of the phase difference to the antennas of the second AP from a region defined by the position of the reference AP. Thus, the second AP directly determines the location of the WT in the reference coordinates (axes) of the reference AP, which facilitates more easily aggregating the estimated location of the WT by the second AP with the location estimate of the WT performed by the reference AP.
[0181] FIG. 23 is a graph 2300 illustrating a physical configuration of a plurality of antennas relative to a two-dimensional plane. The two-dimensional plane 2305 is defined by an X-axis 2310 and a Y-axis 2315, respectively. The two-dimensional plane 2305 is divided into a plurality of regions, one of which is labeled 2320. In some embodiments, each of the plurality of regions is a size of, for example, 1.3 the wavelength (λ) of the waveforms being analyzed. The two-dimensional plane 2305 represents a surface over which a wireless transmitter (e.g., a wireless transmitter included in a wireless terminal such as a smartphone) can travel and from which it transmits and / or receives wireless communications.
[0182] The physical configuration of the antennas can be used in a method of determining expected phase differences within a region of the two-dimensional plane. Those expected phase differences can then be compared to the actual received phase differences to determine whether the transmitter is located in the region.
[0183] FIG. 23 A transmitter "T" is shown located in the region 2320. The transmitter "T" transmits a signal that is received by each of the four receiver antennas 2330a-d. In some embodiments, the receiving elements are co-located on or within a single wireless device (e.g., an AP). In some other embodiments, the receiving elements are distributed across multiple wireless devices.
[0184] In the example of FIG. 23 the locations of the receiver antennas 2330a-d are known. These locations have been determined during installation and entered manually by an administrator. In some embodiments, once the location and position of the AP are determined, the specific locations of the antennas are determined by the physical configuration (e.g., physical properties) of the AP. Alternatively, the locations can be known via a satellite positioning system receiver included within one or more of the wireless devices. Alternatively, in some embodiments, the locations of the receiver antennas 2330a-d are known via the techniques described in this disclosure. For example, in some embodiments, the locations of the receivers are determined a priori based on the phase differences of signals exchanged with another wireless device at a known location.
[0185] For each region in the two-dimensional plane 2305, the disclosed embodiments determine the distance (such as distance 2340a-d) between the centroid of the two-dimensional region 2320 and the corresponding receiving element 2330a-d. A reference receiving element is selected from the available receiving elements 2330a-d (e.g., receiving element 2330), and the distance from the transmitter to the other receiving elements is evaluated. For each receiving element i: ΔX i = D ref – D i Equation 22 in: ΔX i = From transmitter T to reference receiving element and to receiving element i The difference in distance traveled. D ref The distance traveled from transmitter T to reference receiving element D i From transmitter T to receiver element i The distance traveled.
[0186] Some embodiments utilize Equation 22 to determine the difference in travel distance. For example, the difference in travel distance is converted into the difference in the waveform arrival phase from the transmitter T in a given region (x, y) to the respective receiving elements. = ΔX i Equation 23: 2π / λ
[0187] For a system with n antennas, there exists For the antenna, the desired phase difference in each region can be expressed as the phase difference signature by the following equation: Equation 24
[0188] Equation 24 assumes a single frequency. When more than one frequency is used, the number of phase differences increases accordingly, and the dimension of the signature vector in Equation 24 increases proportionally. For example, in a simplified system with four receiving elements, in an example embodiment, the desired phase difference for a particular region may have the following values: [10, 65, 185, 15, 33, 235, 350, 295, 175, 345, 327, 125] Equation 25
[0189] Some embodiments periodically (e.g., every second) measure data from a wireless transmitter (such as...). FIG. 23the phase difference of the signals received by the wireless receiver. These embodiments then compare the actual received phase difference for each region to the expected phase difference. The regions for which the expected phase difference matches the actual received phase difference are determined to be the likely locations of the wireless transmitter.
[0190] As explained with reference to Equation 5, some embodiments compensate for errors in the measurement of the phase difference by comparing the received phase difference to the expected phase difference while accounting for a predetermined error tolerance or margin. To facilitate this comparison, the expected phase difference for a particular region (e.g., Equation 23) is replaced with a difference that includes the error tolerance (e.g., a range of acceptable values). For example, when using a vector to represent the received phase difference and the expected phase difference, the vector of the adjusted expected phase difference will be described below: [s1, s2, s3, … s k , s’1, s’2, s3, … s’ k ,] Equation 26 where: s i - the i-th element of the phase difference segment location signature si = [ ,+ δ, ,- δ ] Equation 27 where: δ - an estimated error in the arrival waveform phase measurement.
[0191] Using the example phase difference of Equation 25 and an estimated error δ of plus or minus ten (10) degrees, an example of the location signature for the regions of Equation 25 is given by the following Equation 28, which defines a range of phase differences rather than a single degree value: [0-20, 55-75, 175-195,, 5-25, 23-43, 225-245, 340-360, 285-305, 165-185, 335-355, 317-337, 115-135] Equation 28.
[0192] Some embodiments determine whether the expected phase differences (signatures) across the regions overlap and to what extent they overlap. For example, in some embodiments, if the number of overlapping regions is above a predetermined threshold, a notification is generated indicating that additional APs / receiving elements should be added or that additional frequencies should be used, thereby increasing the dimensionality of the phase differences across multiple frequencies and the ability to distinguish between regions. The notification is provided via any known messaging technique or annotation in an error log. Adding additional receiving elements or increasing the number of frequencies used increases the probability that a location determination can be made more accurately and will reduce the amount of overlap between the expected phase differences in different regions relative to a solution that employs fewer receiving elements or uses fewer transmission frequencies. The above explanation also applies when determining a location in three-dimensional space, as described below with respect to FIG. 24
[0193] FIG. 24 is a graph 2400 illustrating how a transmitter in a three-dimensional space is positioned by one or more disclosed embodiments. FIG. 24 A three-dimensional geographic volume 2405 is shown, which is demarcated by an X-axis 2410, a Y-axis 2412, and a Z-axis 2414. The three-dimensional geographic volume 2405 is composed of multiple three-dimensional regions, one example of which is shown by a three-dimensional region 2420. FIG. 24 A transmitter "T" located within the three-dimensional region 2420 is shown at a different distance from each of four receiving elements 2430a-d. These distances are shown as 2440a-d, respectively. As discussed above, if a wireless transmitter is located within the three-dimensional region 2420, at least some disclosed embodiments determine the expected phase differences for the receiving elements 2430a-d. If the expected phase differences match the phase differences actually experienced by the receiving elements 2430a-d when a signal from the transmitter "T" is received, at least some disclosed embodiments determine that the three-dimensional region 2420 is a possible location for the wireless transmitter that generated the signal.
[0194] FIG. 25 is a flowchart of an example process for determining expected phase differences for a plurality of geographic regions. Each of the plurality of geographic regions can have a corresponding phase difference that includes a plurality of expected phase differences. The respective phase difference for each region is based on a difference in distance between the respective region and receiving elements that would receive a waveform from a wireless transmitter if the wireless transmitter were located in the respective region. In some embodiments, the following is described with respect to the method 2500 and FIG. 25 One or more of the functions discussed are performed by a hardware processing circuit (e.g., 806, 1106, 1206, 1306). In some embodiments, instructions (228, 314, 428, 529) stored in a memory (e.g., 812, 1112, 1212, 1312) configure the hardware processing circuit to perform one or more of the functions discussed below.
[0195] After starting operation 2505, the method 2500 moves to operation 2510, which identifies a geographic region. Identifying a geographic region can include determining the boundaries of a geographic region in which the wireless transmitter is located. For example, in embodiments defining a two-dimensional region, operation 2510 includes determining a geographic region analogous to the two-dimensional plane 2305. In embodiments defining a three-dimensional region, operation 2510 includes determining a geographic volume analogous to the three-dimensional geographic volume 2405. In some embodiments, the region or volume is represented by a centroid or other similar location within the region or volume.
[0196] In operation 2512, the locations of the plurality of receiving elements are determined in space relative to the geographic region. In some embodiments, the plurality of receiving elements are a plurality of antennas. For example, relative to the above discussion of FIG. 23, operation 2512 includes determining the locations of two or more antennas (e.g., such as 955a, 955b, 955c, or 955d) relative to the geographic region. FIG. 9 Some embodiments of operation 2512 include determining the locations of two or more antennas (e.g., such as 955a, 955b, 955c, or 955d) relative to the geographic region, discussed in relation to wireless interface 950.
[0197] In operation 2514, a distance to each region is determined for each receiving element. For example, since each receiving element is located at a different location, its respective distance to the centroid of each region in the three-dimensional geographic space (in some embodiments) is different. Thus, for each region, some disclosed embodiments calculate the distance to each receiving element. In some embodiments, the differences determined in operation 2514 vary depending on the type of device transmitting the signal and / or the type of device receiving the signal. As discussed above, some embodiments maintain information defining the relative locations of the transmitting elements and / or receiving elements of a device. Depending on how the receiving elements and / or transmitting elements are placed, the distance between the transmitting elements and the receiving elements will vary.
[0198] In operation 2516, a difference in distance from each region to a receiving element is then determined. Some embodiments of operation 2516 define a pair of receiving elements, one element of the pair serving as a reference receiving element. The phase difference is then defined as the difference between the signal received at the reference receiving element and the phase received at the non-reference receiving element. In at least some embodiments, this process is repeated for multiple pairs of receiving elements.
[0199] In operation 2520, the distance differences are converted to expected phase differences. In some embodiments, operation 2520 determines the expected phase differences based on the distances, the frequency of the waveforms, and the wavelength of the waveforms. Thus, for example, to determine the number of wavelengths between the first receiving element and the centroid of the region, the distance is divided by the wavelength to obtain the number of wavelengths. A similar calculation is made for the second receiving element. Once the centroid of the region and the number of wavelengths between each receiving element are known, the phase difference can be determined via subtracting the fractional part of the number of wavelengths and multiplying that fractional part by 360° (or 2π). Some embodiments of operation 2520 determine the expected phase differences based on Equations 7-12b discussed above.
[0200] Thus, for example, in one example, the first distance between the centroid of the region and the first receiving element is 100.12 meters. The second distance between the centroid of the region and the second receiving element is 100.3 meters. The frequency is 5.4 Ghz or 5.4 109. Using Equations 8 and 12 above and taking the modulus of the result by 360, we obtain a phase difference of 87.207 degrees.
[0201] In operation 2526, the expected phase differences for the region are constructed. (The expected phase differences are sometimes referred to as a location signature in this disclosure.) As described above, some embodiments represent these expected phase differences via a location signature vector. Vectors are described here for notational convenience only, and not all embodiments generate vectors.
[0202] Decision operation 2528 determines whether expected phase differences for other regions need to be calculated. If more regions need to be processed, method 2500 moves from decision operation 2528 to operation 2514, which selects another region in the geographic area and continues processing. Otherwise, method 2500 moves from decision operation 2528 to operation 2530.
[0203] In operation 2530, the expected phase differences (location signatures) are compared to obtain overlaps. In some embodiments, the comparison of overlaps takes into account errors associated with the phase determinations / measurements across multiple regions. For example, the error in a phase difference measurement can be ±10 degrees, as one example. When this variation is added to each of the expected phase differences for each region (yielding an acceptable phase difference range), some regions can share some portion of the phase difference range. In such a case, embodiments that experience a received waveform with a phase difference that is within the range of two or more regions will not be able to determine which of the overlapping regions the transmission originated from.
[0204] Determination operation 2532 determines whether the number of regions with overlapping expected phase differences is too large or whether a criterion (e.g., greater than a predetermined threshold) is met. If there is too much overlap, method 2500 moves to operation 2534, which in some embodiments generates an alert or notification. In some embodiments, the notification indicates that there is too much overlap, and thus the location of the wireless transmitter cannot be determined with sufficient accuracy. Alternatively, the notification suggests that additional receiving elements (e.g., antennas) and / or steps of accessing the point can be included to increase the number of antennas used to determine the phase differences, and thus increase the accuracy of the location determination.
[0205] In some embodiments, operation 2534 generates a notification that suggests adding more frequencies to the process. The additional frequencies or additional antenna elements increase the size (dimensionality) of the phase difference signature vector. Processing then returns to operation 2512 in at least some respects. If the overlap between the predicted phase differences is not too large (or does not exist) such that sufficient location determination accuracy can be achieved, processing moves from determination operation 2532 to end operation 2550.
[0206] FIG. 26 is a flowchart of an example process for determining a location of a wireless transmitter using phase differences measured between signals received by multiple receiving elements. In some embodiments, one or more of the functions discussed below with respect to method 2600 and FIG. 26 are performed by a hardware processing circuit (e.g., 806, 1106, 1206, 1306). In some embodiments, instructions (228, 314, 428, 529) stored in a memory (e.g., any of memories 812, 1112, 1212, 1312) configure the hardware processing circuit to perform one or more of the functions discussed below.
[0207] After start operation 2605, method 2600 moves to operation 2610, which receives a waveform from a wireless transmitter via multiple receiving elements. In some embodiments, the receiving elements are antennas. In operation 2612, a reference receiving element is determined. In some embodiments, the reference receiving element is determined at design time, and thus there is no dynamic determination of the reference receiving element. According to another example embodiment, rather than determining a reference receiving element, this operation determines a pair of antenna elements (not shown) for which the measured phase difference of received signals / waves is to be measured.
[0208] In operation 2613, a phase difference between the arriving waveform at a second receiving element and the reference receiving element is determined. For example, as discussed above with respect to FIG. 9Some embodiments of operation 2613 determine, for example, the phase difference between receive antenna 955a and receive antenna 955b, receive antenna 955a and receive antenna 955c, and receive antenna 955a and receive antenna 955d. In this example, receive antenna 955a is the reference receive element. In some embodiments, rather than using only a single reference antenna, multiple pairs of antennas with different reference antennas are utilized. For example, receive antennas 955b and 955c, antennas 955b and 955d, and antennas 955c and 955d. In some embodiments, the phase differences are obtained from channel state information (CSI). In some embodiments, operation 2613 is repeated for additional frequencies. This results in a set of phase differences across multiple frequencies.
[0209] In operation 2615, one of the multiple geographic regions is selected. An example region is a three-dimensional region 2420 of the three-dimensional geographic space 2405 shown in FIG. 24B. The three-dimensional geographic space (or volume) 2405 includes multiple regions, such as the three-dimensional region 2420. FIG. 24
[0210] In operation 2616, the determined receive phase differences of operation 2613 are compared to the expected phase differences if the wireless transmitter were located in the selected region (e.g., in some embodiments, these are computed by the method 2300 discussed above with respect to FIG. 23). The comparison performed in operation 2616 takes into account a phase difference error tolerance, which can vary depending on the embodiment. For example, as discussed above with respect to equations 26 and 28, in some embodiments, the expected phase differences are modified to an expected phase difference range based on an acceptable error tolerance. FIG. 23
[0211] Decision operation 2620 determines whether the expected phase differences of the selected region match the measured phase differences (including any consideration of error tolerance). If the phase differences do match, the method 2600 moves to operation 2622, which labels the selected region as a possible location of the wireless transmitter. In some embodiments, labeling a region includes writing a value to a memory location that indicates the label. Thus, regions are conditionally labeled as possible locations based on whether the expected phase differences for the geographic region match the measured phase differences (determined in operation 2613).
[0212] Note that, at least in some aspects, the phase difference does not necessarily represent an exact value, but has an error margin associated with it. For a particular technology, and even for a particular measurement, a probability density function can be used based on the error from the average location. For example, the average phase difference can be 20 degrees, with a maximum error range of + / - 3 degrees. Thus, potential locations that match the phase difference will be a distance away from the average offset, such that in this case, the error is an element of [-3 degrees, +3 degrees].
[0213] In some embodiments, the probability density function is defined as Pdf(x), where x is the distance to the average phase difference. Pdf(x) has a probability value from [0, 1]. These values can be applied to the operation of matching potential locations. To generate a final surface, some embodiments aggregate all of the probabilities in the map, represented by a probability Paggr. Depending on the particular implementation, each location's probability Pdf(x) in the map is divided by the probability Paggr to generate a surface probability that totals to "1", assuming that the aggregation is not zero ("0").
[0214] Decision operation 2624 determines whether the currently selected region is the last region, or whether additional regions of the plurality of regions remain to be checked. If additional regions remain, the method 2600 moves from decision operation 2624 to operation 2615, in which another region of the plurality of regions is selected. If no other regions need to be evaluated, the method 2600 moves from decision operation 2624 to operation 2626, which reports the marked region as a possible location of the wireless transmitter. In some embodiments, reporting the marked region in operation 2626 includes outputting data indicative of the marked region. In some embodiments, the data is output to an electronic display, a data store, or a network interface (e.g., in some embodiments, an indication of the marked region is provided to a network management device). According to example embodiments, the output data includes a probability associated with each region that the wave / signal of the transmission originated from the region. After operation 2626, the method 2600 moves to end operation 2630.
[0215] Some embodiments of the method 2600 determine a geographic location of the apparatus or device performing the method 2600. In various embodiments, the geographic location is determined via various positioning techniques. For example, in some embodiments, the apparatus or device includes a satellite positioning receiver, and the geographic location is determined based on the satellite positioning receiver. In other embodiments, the geographic location is determined via a configuration parameter, which is at least in some embodiments manually entered.
[0216] Although the description of the method 2600 above describes the use of at least two receive elements, embodiments are contemplated that include at least a third receive element and can include a fourth receive element, a fifth receive element, and / or a sixth receive element. In embodiments that include at least a third receive element, an additional phase difference is generated by the third receive element. For each of the plurality of geographic regions, a corresponding plurality of expected phase differences between waveforms transmitted from the respective region and received by the plurality of antenna pairs is generated. These phase differences are measured as they would be received by the antennas of any pair of receive elements. Then, when determining whether it is possible that a signal has been transmitted from any of the plurality of regions, the conditional flag takes into account the additional expected phase differences between the received signals.
[0217] FIG. 27 is a flowchart of an example method for determining expected phase differences. In at least some disclosed embodiments, one or more of the functions discussed below with respect to FIG. 27 and method 2700 are performed by a hardware processing circuitry (e.g., any one or more of the hardware processors (e.g., 806, 1106, 1206, or 1306)). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic storage (e.g., any one or more of hardware memories 812, 1112, 1212, or 1312) configure the hardware processing circuitry to perform one or more of the functions discussed below with respect to FIG. 27 and method 2700.
[0218] In at least some embodiments, phase differences are utilized to estimate the location (area) of a transmitting antenna. In a first pass, the method is used to establish expected phase differences associated with a plurality of areas based on a second device located in known locations of the plurality of areas for transmissions from an antenna of a first wireless device. The location and orientation of the first wireless device within the plurality of areas is then determined based on the expected phase differences. In a second pass, some embodiments then rely on the determined location and orientation of the first wireless device to estimate the location and orientation of a third wireless device. For example, in these embodiments, a second set of expected phase differences is determined for transmissions of the third wireless device as received at the location and orientation of the first wireless device as determined. In some embodiments, the location of the third wireless device is first determined in the coordinate system of the first device (e.g., using the area definitions defined by the first device) and then mapped into the coordinate system defined by the second device (relying on the area definitions defined by the second device). In other embodiments, the first device obtains information related to the coordinate system defined by the second device and / or the definitions of the areas defined by the second device. With this information, the first device is able to determine the location of the third device relative to the coordinate system of the second device. In either case, the estimated location of the third device is generated by aggregating the estimated locations of the third device obtained by the first and second devices.
[0219] The method 2700 begins in operation 2705 and proceeds to operation 2710 where a region of interest is defined and divided into areas. The method proceeds to operation 2712 where the location (area) of a reference AP antenna is determined. For example, the specific area or X and Y coordinates of each reference antenna are determined. In operation 2714, the orientation of the receiving element or antenna of the AP is determined. In some embodiments, the orientation of the AP is determined based on an orientation sensor integrated with the AP. In other embodiments, the orientation of the AP is determined relative to a second AP as discussed above. In some embodiments, the orientation of the AP is based on configuration information. For example, some embodiments provide a configuration file or other user interface that allows an operator to manually configure the orientation information of the AP. In operation 2716, the frequency of operation is determined. In operation 2718, a particular area of the plurality of areas is selected.
[0220] In operation 2720, a receive element pair of the AP is selected. In operation 2722, a difference in distance between the selected region and the two antennas is determined and converted to a difference in signal arrival phase based on the transmission frequency and the speed of wave propagation. Note that in at least some embodiments, the distance between the selected region and the two antennas is based on the layout information of the receiving device and the orientation of the receiving device. For example, as discussed above with respect to Equations 7-12b, the phase difference experienced at the antenna pair is a function of the difference in distance between the transmission antenna and the two antennas. This difference in distance is a function of the total distance between the transmission antenna and the device receiving the signal, the orientation of the receiving device, and the relative position of the two receiving antennas to each other. In at least some embodiments, this relative position is defined by the layout information. For example, above with respect to Equations 7-12b, the relative position of the two receiving antennas to each other is defined by the layout information. FIG. 2D The data structure described is illustrative of one embodiment of layout information maintained by one or more disclosed embodiments.
[0221] In operation 2724, the difference in arrival phase is stored (e.g., in a phase difference vector to establish a phase difference signature for the selected region). Operation 2726 determines whether there are other receive element pairs for which a difference in arrival phase should be calculated. If there are other receive element pairs, a new pair of antennas is selected in operation 2728, and the method loops back to operation 2720.
[0222] However, if it is determined that a phase difference has been calculated for all pairs of antennas, the method continues to operation 2730, in which the method determines whether there are any other operational frequencies for which a difference in arrival phase of a signal should be calculated.
[0223] If operation 2730 determines that there are additional operational frequencies for which a difference in arrival phase of a signal should be determined, the method proceeds to operation 2732, in which another operational frequency is selected, and the method loops back to operation 2722.
[0224] However, if it is determined that a phase difference has been calculated for all operational frequencies, the method continues to operation 2734, in which the method determines whether there are any other regions for which a difference in arrival phase of a signal should be calculated.
[0225] If operation 2734 determines that there are additional regions for which a difference in arrival phase of a signal should be determined, the method proceeds to operation 2736, in which a new region is selected, and the method loops back to operation 2722.
[0226] However, if it is determined that a phase difference has been calculated for all regions, the method ends at operation 2750.
[0227] The above with respect to FIG. 27The described methods describe embodiments in which a desired phase difference vector (phase difference signature) and the location of the WT are computed in a reference coordinate. According to another embodiment, each AP can use its own phase difference vector to estimate the area in its own coordinates in which the WT is located. To facilitate aggregation of WT location estimates from multiple APs, the area is then mapped (transformed) into the reference coordinates based on the first AP's estimated location and orientation in the second AP's coordinates.
[0228] FIG. 28A-FIG. 28B is an example flowchart that describes a method for determining and utilizing a location and orientation of a first wireless device. In at least some disclosed embodiments, one or more of the functions discussed below with respect to FIG. 28A-FIG. 28B and method 2800A - method 2800B are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic memory (e.g., any one or more of hardware memories 812, 1112, 1212, or 1312) configure a hardware processing circuit to perform one or more of the functions discussed below with respect to FIG. 28A-FIG. 28B and method 2800A - method 2800B. Methods 2800A and 2800B illustrate how at least some disclosed embodiments iteratively determine distances between antennas in a pair of antennas, and utilize these determined distances to estimate a location of a first wireless device and an orientation of the first wireless device relative to a second wireless device.
[0229] The method starts at operation 2805, and proceeds to operation 2810 in which an initial transmission antenna is selected. The method proceeds to operation 2812, which selects an initial transmission frequency. The method proceeds to operation 2814, which instructs the selected transmitter to transmit a signal using the antenna at the frequency.
[0230] The method proceeds to operation 2816, in which the signal is received by one or more pairs of antennas, and associated phase differences of the received signals over the multiple pairs of antennas are determined. In operation 2820, the phase differences are stored (e.g., in a phase difference vector).
[0231] The method proceeds to operation 2822, which determines whether additional signals using different frequencies should be transmitted. If the operation determines that other frequencies should be used, the method 2800A returns to operation 2812, in which a different transmission frequency is selected. If operation 2822 determines that there are no further operating frequencies, the method proceeds to operation 2826, in which the location of the transmission antenna is estimated. As discussed above, operation 2826 estimates the location of the transmission antenna by comparing the determined phase difference to expected phase difference signatures in a plurality of regions.
[0232] The method proceeds to operation 2828, in which the operation determines whether there are additional antennas (of the AP whose location and orientation the system is estimating) that should be estimated. If the operation determines that there are other antennas whose location should be estimated, the method 2800A returns to operation 2810, in which a different transmission antenna is selected.
[0233] If operation 2828 determines that there are no more transmission antennas whose location is needed, the method proceeds to operation 2832, in which the location of the first wireless device is determined relative to the location of the second wireless device. In some embodiments, operation 2832 compares the estimated locations of the transmission antennas to a known layout of antennas on the first wireless device and uses the operations of Equation 14 to determine the location at which the antennas are located that provides the best fit to the known layout of antennas. At least in some embodiments, the centroid of those selected transmission antenna locations is selected as the first wireless device location.
[0234] In operation 2834, the orientation of the first wireless device relative to the second wireless device is determined. In some embodiments, the best fit between the known antenna layout of the first wireless device and the transmission antenna locations determined by the operations of method 2800A described above is used to identify the location and orientation of the first wireless device. Thus, the orientation is determined to be the orientation defined by the best fit of the estimated transmission antenna locations and the known first wireless device antenna layout. Operation 2836 stores the determined location and orientation. In some embodiments, the stored location and orientation information is used for further location determinations performed by the first wireless device. For example, when determining the expected phase difference experienced by the first wireless device, the location and orientation of the first wireless device is relevant because it will affect the distance between the receiving elements of the first wireless device and the one or more regions in the plurality of regions from which the expected phase difference is determined.
[0235] In some embodiments, the method 2800A then proceeds to a connecting operation 2840.
[0236] Via connecting operation 2840, the method 2800A moves to FIG. 28BOperation 2850 determines whether the first wireless device is aligned with the second wireless device. For example, the method determines the difference between the roll, yaw, and pitch of the first wireless device and the corresponding roll, yaw, and pitch of the second wireless device. According to example embodiments, the second set of coordinates is assumed to be the reference coordinates, and thus its roll, yaw, and pitch are considered to be zero. Thus, when the roll, yaw, and pitch of the first device are determined to be equal to zero or below a predetermined small threshold in the reference coordinates, then this alignment is considered to be achieved. If any of these angle differences exceeds the predefined threshold, then the method proceeds to operation 2852 in which instructions are generated for manually aligning the first wireless device so as to minimize the angle(s) difference. The instructions are output as audible or visual instructions. For example, in some embodiments, the visual instructions are provided through the screen of an associated mobile phone, iPad, or computer, via an LED installed with the AP.
[0237] Method 2800A proceeds to operation 2854 in which the method loops until an input is received according to the generated instructions indicating that the manual alignment process has been completed. Upon detecting that the manual alignment is completed, the method loops back to operation 2805 via connector operation C 2844 in which the new location of the antenna and the orientation of the AP are estimated.
[0238] However, if operation 2850 determines that the first wireless device is aligned with the second wireless device, then method 2800B ends in operation 2856.
[0239] The following embodiments describe how to utilize two examples of the location and orientation of the first wireless device.
[0240] FIG. 29 is a flowchart that describes an example method for determining a location of a WT based on a desired phase difference of at least two other wireless devices. In at least some disclosed embodiments, the following is discussed with respect to FIG. 29 One or more of the functions discussed with respect to method 2900 and method 2900 are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic storage (e.g., any one or more of hardware storage 812, 1112, 1212, or 1312) configure the hardware processing circuit to perform one or more of the functions discussed with respect to method 2900 and method 2900. FIG. 29 One or more of the functions discussed with respect to method 2900 and method 2900 are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic storage (e.g., any one or more of hardware storage 812, 1112, 1212, or 1312) configure the hardware processing circuit to perform one or more of the functions discussed with respect to method 2900 and method 2900.
[0241] Method 2900 begins, at operation 2905, and proceeds to operation 2910, where a signal(s) from a WT is received by multiple antennas. The method proceeds to operation 2912, where a pair of antennas is selected, and, in operation 2914, the difference in arrival phase of the signal at the two antennas is determined and stored.
[0242] Method 2900 proceeds to operation 2916, where a determination is made as to whether there are additional pairs of antennas to process. If the operation determines that there are additional pairs of antennas to process, method 2900 returns to operation 2912 and selects the next pair of antennas. However, if operation 2916 determines that all phase differences from all pairs of antennas have been determined, the method proceeds to operation 2920, where a region is selected.
[0243] In some embodiments, method 2900 performs operation 2922 to determine the location of the WT by ending operation 2940. Operation 2922 compares the phase differences of the received signals at the different antennas to the expected phase differences for the selected region. As discussed above, the expected phase differences are determined according to one or more of Equations 7-12b. In at least some embodiments, the expected phase differences are also a function of the layout information of the transmitting device and / or the receiving device, as the layout of the transmitting elements and / or receiving elements affects the distances between the elements.
[0244] Decision operation 2930 determines whether the comparison indicates that the measured phase differences and the expected phase differences for the selected region match. As described above, the reasons for determining whether a match occurs can vary according to embodiments. If a match is detected, method 2900 moves from decision operation 2930 to operation 2932, where the region is flagged as a potential location of the WT. In some embodiments, in addition to storing an indication that the region is a possible match, the associated probability is also stored. The probability indicates the likelihood that the region is a match. After all of the "matching" regions are identified, some embodiments use these stored probabilities to weight or select a location estimate from among multiple stored location estimates. Returning to the discussion of decision operation 2930, if the measured phase differences do not match the expected phase differences for the region, method 2900 moves from decision operation 2930 to decision operation 2934.
[0245] In either case, the method 2900 proceeds to a decision operation 2934 which checks whether there are other areas of potential location of the WT that need to be evaluated. If this operation determines that there are other areas, the method 2900 returns to operation 2920 and selects the next area. However, if the decision operation 2934 determines that all areas have been processed, the method 2900 moves from the decision operation 2934 to an operation 2938 in which the location of the WT is determined and reported. In one example embodiment, the location of the WT is determined based on a weighted average of the areas marked in operation 2932. In some embodiments, the weighting is based on the respective probabilities that the WT is located in the corresponding areas. According to yet another example embodiment, the method determines that the WT is located in the area with the highest probability.
[0246] According to another embodiment, the location of the WT is computed in the coordinates of each WT, and then the respective locations are mapped / transformed based on the orientation of each AP relative to the reference coordinates. In either case, the location of the WT is determined and reported. After operation 2938, the method 2900 moves to an end operation 2940.
[0247] FIG. 30 is a flowchart of an example method for estimating a location of a wireless terminal. In at least some disclosed embodiments, one or more of the functions discussed below with respect to FIG. 30 and method 3000 are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic memory (e.g., any one or more of hardware memory 812, 1112, 1212, or 1312) configure the hardware processing circuit to perform one or more of the functions discussed below.
[0248] After start operation 3005, the method 3000 moves to operation 3008 in which a first position and a first orientation of a first wireless device are determined. In some embodiments, the first wireless device is a reference access point. In some embodiments, the first position and the first orientation are determined based on configuration information provided by an operator. In other embodiments, the first position and the first orientation are determined based on integrated orientation and / or positioning sensors of the first wireless device itself.
[0249] In operation 3015, a first expected phase difference of signals received at the reference AP is determined. The first expected phase difference is computed for each of a plurality of areas. In some embodiments, the plurality of areas are defined by the first wireless device and / or based on the first position and / or the first orientation of the first wireless device. In some embodiments, the plurality of areas are computed according to the above with respect to FIG. 27The method 2700 discussed above is used to perform operation 3015. In some embodiments, operation 3015 is performed for each region according to one or more of equations 7 - 12b discussed above.
[0250] In operation 3018, a second position and a second orientation of the second wireless device are determined. In some embodiments, the second position and the second orientation are based on the first position and the orientation. The determination is also based on the first expected phase difference. In some embodiments, the determined second position and the second orientation are relative to the first wireless device. For example, as discussed above, in some embodiments, the location of the second wireless device is determined by at least some of the disclosed embodiments by comparing the phase difference of a signal received at the first wireless device (where the signal was transmitted by the second wireless device) to the expected phase differences defined for a plurality of regions (such as the plurality of regions discussed above with respect to operation 3015) and the first expected phase difference. In some embodiments, operation 3018 is consistent with the discussion above with respect to FIG. 14 operation 3200 of the method 3200 discussed below with respect to FIG. 32 For example, in some embodiments, operation 3018 is repeated for a plurality of antennas of the second wireless device. In some embodiments, operation 3018 includes receiving, by the first wireless device, a plurality of signals from the second wireless device. The plurality of signals are transmitted at different frequencies and / or by a plurality of different transmission elements of the second wireless device. Accordingly, some embodiments of operation 3015 discussed above generate expected phase differences for a plurality of signals transmitted from a plurality of antennas and / or at a plurality of different frequencies.
[0251] As also discussed above, some of the disclosed embodiments compare the expected phase differences to the phase differences of signals received from a device to determine the location of the device.
[0252] As discussed below with respect to FIG. 33 some embodiments obtain a predefined layout that defines the relative physical locations of the transmission elements of the second wireless device. The relative physical locations are shifted and / or rotated in three-dimensional space until an optimal fit between the relative locations defined by the layout and the estimated positions of the transmission elements of the second wireless device is obtained.
[0253] In operation 3020, a second expected phase difference for signals received at the second wireless device is determined. This uses the second location and the second orientation of the second wireless device determined in operation 3018 to determine the expected phase difference for the second wireless device in the plurality of regions. In other words, in method 3000, both the first wireless device and the second wireless device use a common coordinate space and / or a common plurality of regions to determine a location estimate. Because the first wireless device and the second wireless device are at different locations relative to the common plurality of regions, the expected phase difference used by each device for location determination will be different. However, both sets of expected phase differences reference the same set of regions for the location estimate. As discussed further below, this facilitates combining the location estimates generated by the two wireless devices.
[0254] In some embodiments, operation 3020 includes determining a location of the second wireless device relative to each of the plurality of regions. In some embodiments, this includes determining a position and an orientation of the second wireless device relative to the first position and the first orientation of the first wireless device. Once the relative position and orientation of the second wireless device are known, because the relative orientations of the plurality of regions and the first location and first position are known, the relative position of each of the plurality of regions relative to a receiving element of the second wireless device can also be understood. From this information, the second expected phase difference can be determined. The above is described with respect to method 2700 and FIG. 27 An example of one embodiment of operation 3020 is described.
[0255] In operation 3030, a third location of a third wireless device is estimated based on signals received by the first wireless device from the third wireless device. The third location is further determined based on the first expected phase difference. In some embodiments, operation 3030 operates in accordance with method 3200 discussed below with respect to FIG. 32 In some embodiments of operation 3030, method 3200 is performed once for each transmitting element (or at least a plurality of transmitting elements) of the third wireless device. Thus, in some embodiments, operation 3030 estimates a third location for each transmitting antenna (or transmitting element) of the third wireless device.
[0256] In operation 3035, a fourth location of the third wireless device is estimated based on signals received by the second wireless device from the third wireless device. The fourth location is further determined based on the second expected phase difference. Because the second expected phase difference is determined relative to the plurality of regions common to the first location estimate of operation 3030, the fourth location of the third wireless device determined by the second wireless device is also relative to the common plurality of regions. In some embodiments, operation 3035 operates in accordance with the discussion of FIG. 14 above and / or in accordance with method 3300 discussed below with respect to FIG. 32The method 3200 under discussion operates to generate a second estimate of the location of the third wireless device. In some embodiments of operation 3035, the method 3200 is performed once for each transmission element of the third wireless device. Thus, in some embodiments, operation 3035 estimates the location of each transmission element or antenna of the third wireless device.
[0257] In operation 3040, the first and second location estimates (e.g., the location estimates derived from the signals exchanged between the third wireless device and the first wireless device, and the location estimates derived from the signals exchanged between the third wireless device and the second wireless device) are aggregated. In some embodiments, the aggregation includes averaging some or all of the location estimates. In some embodiments, before averaging, outlier location estimates are discarded. In some embodiments, a centroid of the location estimates is determined and used as the location estimate for the third wireless device.
[0258] Some embodiments aggregate the third location estimate and the fourth location estimate by determining a midpoint of the location estimates. In some embodiments, a centroid of the location estimates is determined. In some embodiments, each of operation 3030 and operation 3035 obtains multiple location estimates for the third wireless device. Operation 3040 then aggregates the two multiple estimates. The aggregated location estimate is then determined based on the aggregated probabilities. For example, the regions are weighted based on their probabilities to determine the aggregated location estimate. In some embodiments, operation 3040 discards outlier location estimates, and identifies a subset of the two multiple estimates that are within a threshold distance of a centroid of the subset. The subset of location estimates is then averaged or aggregated.
[0259] In some embodiments, each of the third and fourth location estimates has an associated probability. In some embodiments of these embodiments, the aggregation is based on the associated probabilities. For example, some embodiments weight each of the third and fourth location estimates based on its corresponding probability (a high confidence estimate receives more weight than a low confidence estimate).
[0260] Some embodiments of the method 3000 determine an aggregated location estimate based on the aggregated first and second location estimates. In some embodiments, the first and second location estimates are averaged, or a weighted average is determined based on the probabilities associated with each of the first and second location estimates.
[0261] In some embodiments, the location estimate for the third wireless device is based on the aggregated estimate, but is also augmented by motion information received from the third wireless device itself and previous location estimates.
[0262] Some embodiments of the method 3000 transmit the aggregated location estimate to another device over a network. For example, in some embodiments, the location estimate is sent to a backend and / or backhaul server. The backend or backhaul server then distributes the location estimate to one or more services. In some embodiments, the location estimate is transmitted to another device along with information that identifies the third wireless device, such as the station address, mobile identification number (MIN), or other unique identifier of the wireless terminal of the third wireless device. In some embodiments, the determined and / or collected information is transmitted to an advertising network that uses the information to select an advertisement to display on the screen of the third wireless device.
[0263] After operation 3040 is completed, the method 3000 moves to an end operation 3045.
[0264] FIG. 31 is a flowchart of an example method for estimating a location of a wireless terminal. In at least some disclosed embodiments, one or more of the functions discussed below with respect to FIG. 31 and method 3150 are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic memory (e.g., any one or more of hardware memory 812, 1112, 1212, or 1312) configure the hardware processing circuit to perform one or more of the functions discussed below.
[0265] After start operation 3155, the method 3150 moves to operation 3160, which determines a first position and a first orientation of the first AP. In some embodiments, operation 3160 operates according to the method 3200 discussed below to determine the first position and the first orientation of the first wireless device.
[0266] In operation 3165, a first expected phase difference is determined. The first expected phase difference is determined for the transmitter in each of a first plurality of regions. The first plurality of regions is assigned to and / or defined by the first wireless device. In other words, the first wireless device performs its location estimate with reference to the first plurality of regions. The first expected phase difference is those phase differences that the two or more receive elements will experience at the first wireless device location and orientation when the transmitter transmits from each of the plurality of regions. In some embodiments, the first expected phase difference is determined according to the method 2700 discussed above with respect to FIG. 27
[0267] In operation 3166, a second position and a second location of the second wireless device are determined. In some embodiments, the second position and the second location are relative to the first position and the first location of operation 3160. Some embodiments of operation 3166 operate in a manner similar to operation 3018. For example, the second position and the second location are determined based on the first expected phase difference, and signals transmitted by the second wireless device and received by the first wireless device. By comparing the phase difference of the transmitted signals to the first expected phase difference of operation 3015, the location(s) of one or more of the transmitting elements of the second wireless device within the first plurality of regions are determined.
[0268] In operation 3170, a second expected phase difference is determined. The second expected phase difference is determined for a transmitter in each of a second plurality of regions defined by and / or assigned to the second wireless device. In other words, the second wireless device performs location estimation with reference to the second plurality of regions. Moreover, the expected phase differences for those location estimations are relative to the second plurality of regions.
[0269] The second expected phase difference is those phase differences that a receiver would experience at the second wireless device location and position when the transmitter transmits from each of the plurality of second wireless device regions. In some embodiments, the second expected phase difference is determined in the coordinates of the second wireless device according to the method 2700 discussed above with respect to FIG. 27
[0270] Operation 3175 estimates first location(s) of a third wireless device based on signals received by the first wireless device from the third wireless device. The first location(s) are further estimated based on the first expected phase difference and relative to the first plurality of regions.
[0271] Operation 3180 generates a second estimate of second location(s) of a third wireless device in the coordinates of the second wireless device based on signals received by the second wireless device from the third wireless device. The second location(s) are further estimated based on the second expected phase difference and relative to the second plurality of regions.
[0272] Alternatively, operation 3185 maps the estimate(s) of the second location(s) relative to the second plurality of regions to relative to the first plurality of regions. The mapping is based at least on the second position / location and the second orientation of the second wireless device relative to the first location / position and the first orientation of the first wireless device. The relative position defines a shift operation that transforms the second position of the second wireless device to be equal to the first position of the first wireless device, as discussed above with respect to operation 3160. The shift operation is then applied to the second location estimate to shift the second location estimate to an equivalent position within the first plurality of regions. Thus, in some embodiments, the mapping converts the second location estimate from an estimate relative to the second plurality of regions to a third location estimate relative to the first plurality of regions.
[0273] In operation 3190, the first and third location estimates (e.g., the location estimates derived from the signals exchanged between the third wireless device and the first wireless device, and the location estimates derived from the signals exchanged between the third wireless device and the second wireless device) are aggregated. In some embodiments, the aggregation includes averaging some or all of the location estimates. In some embodiments, prior to averaging, outlier location estimates are discarded. In some embodiments, a centroid of the location estimates is determined and used as the location estimate for the third wireless device. After operation 3190 is completed, method 3150 moves to end operation 3195.
[0274] FIG. 32 is a flowchart of an example method for estimating a location of a transmission antenna. In at least some disclosed embodiments, the following is discussed with respect to FIG. 32 One or more of the functions discussed below with respect to method 3200 are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic storage (e.g., any one or more of hardware storage 812, 1112, 1212, or 1312) configure the hardware processing circuit to perform one or more of the functions discussed below.
[0275] After start operation 3205, method 3200 moves to operation 3210 where a signal from a transmission antenna is received by a plurality of receive antennas. For example, as discussed above, a wireless terminal or access point transmits a signal via a transmission antenna. The signal is received by another device, such as an access point. In some embodiments, the receiving device is a reference access point. The plurality of receive antennas includes a reference antenna and one or more non-reference antennas. The reference antenna is used to generate a relative phase difference between the signal received by the reference antenna and each of the non-reference antennas, as discussed further below.
[0276] Operation 3215 determines the relative phase difference between the signal received at the reference receive antenna and the signal received at each non-reference receive antenna.
[0277] In operation 3220, a region is selected. The selected region is one of a plurality of regions defined by a location relative to the access point. For example, in some embodiments, the selected region is one of the regions in the first plurality of regions 192A or the second plurality of regions 192B, as discussed above with respect to FIG. 2. In operation 3225, the phase difference measured / determined in operation 3215 is compared to an expected phase difference for the selected region. For example, as discussed above with respect to FIG. 27 As discussed above with respect to method 2700, some embodiments compute the expected phase difference to be experienced by a particular antenna pair of a receiving device at a particular location from a device located in a particular region of a plurality of regions. For example, in example embodiments, the expected phase difference of a signal generated by WT 194 of FIG. 2 as received by a pair of receive antennas of access point 191A or access point 191B is determined.
[0278] Decision operation 3230 evaluates the result of the comparison performed by operation 3225. If the expected phase difference from the selected region matches the phase difference determined in operation 3215, method 3200 moves from decision operation 3230 to operation 3235, which marks, records, or stores an indication that the selected region is one possible location of the device. After operation 3235 is completed, method 3200 moves to decision operation 3240.
[0279] If the expected phase difference for the region is substantially different (e.g., greater than a predefined threshold) from the phase difference determined in operation 3215, method 3200 moves from decision operation 3230 to decision operation 3240 (and operation 3235 is not performed). Decision operation 3240 evaluates whether to evaluate an additional region of the plurality of regions. If more regions are available for evaluation, method 3200 moves from decision operation 3240 to operation 3220, in which an additional region is selected. If no other regions are available for evaluation, method 3200 moves from decision operation 3240 to end operation 3245.
[0280] FIG. 33 is a flowchart of an example method for estimating a location and orientation of a wireless device. In some embodiments, the wireless device is an access point. In at least some disclosed embodiments, the following discussion is with respect to FIG. 33One or more of the functions discussed with respect to method 3300 are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic storage (e.g., any one or more of hardware storage 812, 1112, 1212, or 1312) configure the hardware processing circuit to perform one or more of the functions discussed below.
[0281] After starting operation 3305, method 3300 moves to operation 3310, which determines a transmission element layout for the device. The transmission element layout defines the relative locations of the plurality of device transmission elements. For example, as discussed above with respect to FIG. 3 In some embodiments, the layout includes relative antenna coordinates 395A-E, which represent the locations of the transmission elements relative to a reference point (e.g., reference point 393) of the device (e.g., wireless device 480). As discussed above with respect to FIG. 2D An example data structure is provided for storing antenna (e.g., transmission element, receiving element) location information in some embodiments.
[0282] Operation 3315 selects location estimates for the device transmission elements from the stored transmission element location determinations. For example, as discussed above with respect to FIG. 32 Operation 3235 stores the locations of the transmission elements that exhibit a relative match to the expected phase difference of the signals received from the transmission elements. In some embodiments, method 3200 iteratively operates to store the locations for multiple transmission elements of a single device. Further, in some embodiments, multiple possible or candidate location estimates for a single transmission element are stored by operation 3235. Accordingly, operation 3315 selects a single set of location estimates for a set of device transmission elements.
[0283] In operation 3320, initial candidate locations for the transmission elements are determined. In some embodiments, these initial candidate locations are based on a centroid of the location estimates for the transmission elements and the relative locations of the transmission elements defined by the layout. For example, in some embodiments, a reference point defined by the layout is aligned with the centroid of the location estimates, and then candidate locations are determined based on the relative locations of the antennas relative to the reference point defined by the layout.
[0284] In operation 3330, an aggregate function of the differences between the candidate locations and the location estimates is determined. For example, a different distance is determined between each transmission element location defined by the candidate locations and the location estimate for that transmission element obtained in operation 3315. (See Equation 14).
[0285] Operation 3330 compares a function of the aggregate difference in the transmission element positions determined by operation 3330 to the previously obtained aggregate difference. For example, if the layout defines the positions of five different transmission elements of the device, operation 3330 generates at least five differences between the candidate transmission element positions of those five transmission elements and the location estimate obtained in operation 3315. Operation 3330 then aggregates those differences.
[0286] Decision operation 3340 determines whether the function of the aggregate difference determined in operation 3330 is the smallest of those evaluated so far (the initial evaluation of operation 3340 assumes that the first aggregate difference is the smallest). If the smallest aggregate difference is identified, method 3300 moves from decision operation 3340 to operation 3355, which stores the candidate position of the transmission element. Decision operation 3345 determines whether additional displacements and / or positions of the candidate transmission element position are to be evaluated. For example, some embodiments of method 3300 displace the candidate transmission element position from the initial position based on the centroid by a plurality of x, y, and z coordinates (in both the positive and negative directions), as discussed above. These embodiments also rotate the candidate transmission element position defined by the layout by rotations about each of the x, y, and z axes. If all of these displacement and rotation operations have been completed, method 3300 moves from decision operation 3345 to operation 3365, which determines the location and orientation of the device based on the stored candidate transmission position (representing the smallest aggregate difference determined by decision operation 3340). In some embodiments, operations 3340-3360 determine the location of the transmission element as described above based on equation 14.
[0287] If additional displacements and / or rotations of the candidate transmission element position are to be evaluated, process 3300 moves from decision operation 3345 to operation 3350, which occurs the displacement and / or rotation. Processing then returns to operation 3330.
[0288] FIG. 34 is a flowchart of an example method for generating alignment instructions for a wireless device. In some embodiments, the wireless device is an access point. In some embodiments, the wireless device is an access point (e.g., a "second access point") whose orientation is to be aligned with a reference access point orientation. In at least some disclosed embodiments, the following is described with respect to a reference access point and a second access point. FIG. 34One or more of the functions discussed with respect to the method 3400 are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic storage (e.g., any one or more of hardware storage 812, 1112, 1212, or 1312) configure the hardware processing circuit to perform one or more of the functions discussed below.
[0289] After the start operation 3405, the method 3400 moves to an operation 3410 to select a dimension. Possible dimensions selected in operation 3410 include a horizontal dimension or yaw, a vertical dimension or pitch, and a rotational dimension or roll. These dimensions can also be viewed as X, Y, and Z axes that demarcate a three-dimensional space.
[0290] In operation 3420, a difference between the reference device orientation and the second device orientation is determined. For example, in some embodiments, after determining the orientation of the reference AP and determining the second orientation of the second AP, a relative difference between the first orientation and the second orientation is determined. Some embodiments of operation 3420 determine a relative difference in each of the three dimensions discussed above with respect to operation 3410, namely pitch, roll, and yaw. For example, as discussed above with respect to FIG. 4 the difference in orientation between two devices is shown by angles 497 and 498. In some embodiments, operation 3420 determines angle 497, as well as similar angles of rotation about the other axes, such as the X and Y axes of FIG. 4
[0291] In operation 3430, a sign of the difference between the device orientation and the second device orientation is determined. In other words, some embodiments represent a direction on one dimension as positive, while representing the opposite direction on that dimension as negative. Thus, if two devices differ in their orientation with respect to a particular dimension, the difference is represented as either a positive or negative value, depending on the direction in which the non-reference device needs to be rotated in order to align with the reference device on that dimension. For example, as shown in FIG. 4 the sign of the difference is related to the direction of misalignment between the two devices. As shown in FIG. 4 the sign of the misalignment of device 481 with respect to wireless device 480 is shown by angle 498. A rotation having an opposite sign (e.g., arrow 499) is needed to align the orientations of the two devices (wireless device 480 and wireless device 481). FIG. 4
[0292] In operation 3440, instructions are generated to cause the non-reference device to rotate about the selected axis based on the magnitude of the difference between the non-reference device and the reference device in that dimension and the sign of the difference. For example, in some embodiments, instructions are generated to rotate the non-reference device in a direction opposite the determined difference. At least in some embodiments, the magnitude of the indicated rotation is equal to the magnitude of the difference determined in operation 3420. For example, while FIG. 4 The angle 498 of the device 481 relative to the wireless device 480 shows the direction of misalignment, and the arrow 499 shows the direction of rotation needed to realign the two devices about at least the Z axis 492C.
[0293] The decision operation 3450 determines whether alignment along additional dimensions needs to be evaluated (in some embodiments, the method 3400 is repeated three times, once for each of three axes). If more dimensions need to be evaluated, the method 3400 moves from the decision operation 3450 to the operation 3410, in which a different dimension is selected. Otherwise, the method 3400 moves from the decision operation 3450 to the end operation 3460. According to another example embodiment, alignment is accomplished in an iterative manner, in which in each iteration, alignment is only partially accomplished and repeated until the misalignment is driven to be less than a predetermined threshold.
[0294] FIG. 35 is a flowchart of an example method for determining a location of a wireless terminal. In some embodiments, one or more of the functions discussed below are performed by an access point. In at least some disclosed embodiments, one or more of the functions discussed below with respect to FIG. 35 One or more of the functions discussed below with respect to the method 3500 are performed by a hardware processing circuit (e.g., any one or more of the 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of the routines 814, 1114, 1214, 1314) stored in electronic memory (e.g., any one or more of the hardware memories 812, 1112, 1212, or 1312) configure the hardware processing circuit to perform one or more of the functions discussed below.
[0295] After starting operation 3505, the method 3500 moves to operation 3510, in which a first position of the first wireless device is determined. Some embodiments obtain the first position via a position sensor integrated into the first wireless device. According to another example embodiment, the location and position of the wireless device is obtained by using tools external to the wireless device. Some embodiments set the position of the first wireless device as a reference pre-defined position, e.g., some embodiments use the position of the first wireless device as the reference position, and in some of these embodiments the location of the first wireless device is set to coordinates (0, 0, 0) and the position (pitch, roll, yaw) is also set to (0, 0, 0).
[0296] In operation 3515, a signal is exchanged between the first wireless device and the second wireless device. In some embodiments, exchanging the signal includes receiving a signal at the first wireless device, where the signal is transmitted by the second wireless device. In some other embodiments, exchanging the signal includes receiving a signal at the second wireless device, where the signal is transmitted by the first wireless device. The disclosed embodiments can operate with any waveform as the signal. In various embodiments, the signal is a Wi-Fi signal / waveform, a Bluetooth signal / waveform, a cellular signal / waveform, an optical signal / waveform, or a sound waveform.
[0297] In operation 3520, phase differences are determined as the signal is received at the plurality of antenna pairs. As discussed above, in some embodiments, operation 3520 receives the signal from the first wireless device at the plurality of antenna pairs of the second device. The phase differences between the signal received at the reference antenna of the second device and each of the plurality of antennas are determined. According to another example embodiment, instead of defining a reference antenna, the phase difference between any pair of receiver antennas is measured.
[0298] In operation 3525, a second location and position of the second wireless device are determined based on the determined phase differences. For example, as discussed above with respect to FIG. 15B some embodiments estimate the locations of the plurality of antennas of the second wireless device. In some embodiments, these location estimates are made by comparing the phase differences determined in operation 3520 to expected phase differences in a plurality of regions. The region having an expected phase difference that matches the phase difference determined in operation 3520 is an indication that the antenna generating the signal is located in that region.
[0299] Once the antenna locations are determined, some embodiments obtain a predefined layout of the relative antenna locations on the second wireless device (e.g., as discussed above with respect to FIG. 3 some embodiments maintain a library or data store of antenna layouts for various wireless devices. In some embodiments, a particular layout is identified based on a model number or other description of the wireless device.
[0300] Some embodiments then move and rotate the layout of the plurality of antennas of the second device within the three-dimensional space and compare the moved and rotated layout to the estimated antenna locations of the second device. The orientation of the second device is then based on the rotation (pitch, yaw, and roll) of the layout that provides the best fit to the estimated antenna locations. As discussed above, in some embodiments, an orientation, such as the second orientation, is defined by three angular spaces (e.g., pitch, yaw, roll). In some embodiments, the orientation is relative to another orientation. For example, in some embodiments, the second orientation is determined relative to the first orientation of the reference device. In some other embodiments, the second orientation is defined relative to a predefined reference orientation.
[0301] In operation 3530, a difference between the first orientation and the second orientation is determined. In some embodiments, operation 3530 determines a number of between one and three differences between the first orientation and the second orientation. A first difference is relative to a rotation about a first axis of the three-dimensional space (e.g., pitch about the X-axis). A second difference is relative to a rotation about a second axis of the three-dimensional space (roll about the Y-axis). A third difference is relative to a rotation about a third axis of the three-dimensional space (e.g., yaw about the Z-axis).
[0302] In operation 3535, instructions are generated that reduce or eliminate the difference. In some embodiments, as discussed above, operation 3535 includes generating one or more instructions for each of the pitch, roll, and yaw rotations depending on the difference determined in operation 3530. Some embodiments of operation 3535 include the above relative to FIG. 34 and method 3400.
[0303] Operation 3540 causes display of the instructions generated in operation 3535. As discussed above, in various embodiments, the instructions for aligning the wireless device take different forms. In some embodiments, the instructions are displayed by illuminating one or more lights (e.g., LEDs) that are physically attached to the wireless device. In some embodiments, the instructions are displayed via an electronic display, such as on a mobile device or a management console. In some embodiments, the instructions are displayed via audio (e.g., an audio signal is generated and provided to a speaker). For example, some wireless devices generate verbal instructions to align the second wireless device with the first wireless device. After operation 3540 is complete, method 3500 moves to end operation 3545. The above relative to FIG. 5-FIG. 7 Examples of the instructions generated and displayed in operations 3535 and 3540 are provided above relative to any one or more of
[0304] Some embodiments of the method 3500 iteratively perform the alignment process described above. Thus, these embodiments iteratively determine the position of the second wireless device, compute the difference between that position and the position of the first wireless device, and generate instructions that correct for any misalignment between the two positions. The instructions are caused to be displayed, and then additional position determinations are made until an input is received that ends the alignment process or the alignment between the two devices satisfies a criterion (e.g., one or more dimensions of the alignment fall within an alignment tolerance).
[0305] FIG. 36 is a flowchart of an example method for determining a location of a wireless device. In some embodiments, one or more of the functions discussed below are performed by an access point. According to yet another example embodiment, one or more of the functions discussed below are performed by a location engine (e.g., 165 of FIG. 1 In at least some disclosed embodiments, one or more of the functions discussed below with respect to FIG. 36 and the method 3600 are performed by a hardware processing circuit (e.g., any one or more of 806, 1106, 1206, or 1306). For example, in some embodiments, instructions (e.g., any one or more of routines 814, 1114, 1214, 1314) stored in electronic storage (e.g., any one or more of hardware storage 812, 1112, 1212, or 1312) configure the hardware processing circuitry to perform one or more of the functions discussed below.
[0306] After the start operation 3605, the method 3600 moves to operation 3610, where a frequency is selected. As discussed above, in at least some embodiments, a wireless device is capable of transmitting and / or receiving at multiple radio frequencies. Thus, operation 3610 selects one of the multiple radio frequencies. As discussed below, in at least some embodiments, the method 3600 iterates such that operation 3610 selects a different frequency in each iteration.
[0307] Operation 3615 determines one or more phase differences between signals exchanged with the wireless device at the selected frequency. In some embodiments, operation 3615 includes transmitting a signal at the selected frequency and receiving information from the wireless device indicating the phase difference between any pair of antennas of that device that received the signal. In some other embodiments, operation 3615 includes receiving a signal at the selected frequency and measuring the phase difference at multiple pairs of antennas.
[0308] In operation 3620, the phase differences determined in operation 3615 are compared to the expected phase differences for each of a plurality of regions. A difference between the measured phase differences and the expected phase differences is determined at each of the plurality of regions.
[0309] In operation 3625, probabilities that the wireless device is in each of the respective regions is determined based on the differences associated with each region. In various embodiments, the probabilities are also based on a probability distribution, such as a Gaussian distribution. Other types of distributions can also be envisioned.
[0310] Decision operation 3630 determines whether there are additional frequencies to process. For example, if the wireless device supports multiple frequencies, decision operation 3630 determines whether all of the multiple frequencies have been processed via method 3600. If there are additional frequencies, method 3600 returns to operation 3610 in which a difference frequency is selected and processing continues as described above.
[0311] If no additional frequencies need to be processed, method 3600 moves from decision operation 3630 to operation 3635, which aggregates the probabilities associated with each region. Thus, for example, the probabilities associated with the first region are aggregated into a first aggregated probability, while the probabilities associated with the second region are aggregated into a second aggregated probability. In some embodiments, aggregating the probabilities includes multiplying the probabilities.
[0312] In operation 3640, the location of the wireless device is estimated based on the aggregated probabilities. In some embodiments, operation 3640 selects the region with the highest aggregated probability as the estimated location of the wireless device. In other embodiments, multiple regions with the highest probabilities are selected, and the centroid of the selected regions is used as the estimated location. Other embodiments differ from these two examples. After operation 3640 is complete, method 3600 moves to end operation 3650.
[0313] The techniques of various embodiments can be implemented using software, hardware, and / or a combination of software and hardware. Various embodiments relate to apparatuses, such as management entities (e.g., network monitoring nodes), routers, gateways, switches, access points, DHCP servers, DNS servers, AAA servers, user devices (e.g., wireless nodes such as mobile wireless terminals), base stations, communication networks, and communication systems. Various embodiments also relate to methods, such as methods of controlling and / or operating one or more communication devices (e.g., network management nodes, access points, wireless terminals (UEs), base stations, control nodes, DHCP nodes, DNS servers, AAA nodes, mobility management entities (MMEs), networks, and / or communication systems). Various embodiments also relate to non-transitory machines, such as computers, readable media (e.g., ROM, RAM, CDs, hard disks, etc.), that include machine-readable instructions for controlling a machine to implement one or more steps of a method.
[0314] It is to be understood that the particular order or hierarchy of steps in the processes disclosed is merely an example. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes can be rearranged while still falling within the scope of the present disclosure. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
[0315] In various embodiments, steps corresponding to one or more methods, e.g., waveform generation, transmission, emission, processing, analysis, and / or reception steps, are performed using one or more modules to implement the apparatuses and nodes described herein. Thus, in some embodiments, various features are implemented using modules. Such modules can be implemented in software, hardware, or a combination of software and hardware. In some embodiments, various modules are implemented as separate circuits, with the apparatus or system including separate circuits for implementing functionality corresponding to each of the various described modules. Many of the above-described methods or method steps can be implemented using machine executable instructions, such as software, included in a machine readable medium such as a memory device, e.g., RAM, floppy disks, etc. to control a machine, e.g., a general purpose computer with or without additional hardware, to implement all or part of the above-described methods in, for example, one or more nodes. Accordingly, among other things, various embodiments are directed to a machine-readable medium, e.g., a non-transitory computer readable medium, including machine executable instructions for causing a machine, e.g., a processor and associated hardware, to perform one or more steps of the above-described methods. Some embodiments are directed to a device, e.g., a hardware processor, configured to perform one, more or all of the steps of a method disclosed.
[0316] In some embodiments, one or more processors (e.g., CPUs) of one or more devices, e.g., communication devices such as routers, switches, network-connected servers, network management nodes, wireless terminals (UEs), and / or access nodes, etc., are configured to perform steps of methods described as being performed by the device. The configuration of the processor(s) can be controlled using one or more modules, e.g., software modules, and / or by including hardware, e.g., hardware modules, in the processor(s) to perform the recited steps and / or control the configuration of the processor(s). Thus, some but not all embodiments involve communication devices, e.g., user equipment, having a processor that includes modules corresponding to each of the steps of the various described methods performed by the device that includes the processor. In some but not all embodiments, the communication device includes modules corresponding to each of the steps of the various described methods performed by the device that includes the processor. The modules can be implemented purely in hardware, e.g., as an electrical circuitry, or mechanical devices, or can be implemented using software and / or hardware or a combination of software and hardware.
[0317] Some embodiments relate to a computer program product that includes a computer- readable medium that includes code for causing a computer or computers to implement various functions, steps, acts and / or operations (e.g., one or more of the steps described above). According to embodiments, the computer program product can, and sometimes does, include a different code for each step to be performed. Thus, the computer program product can, and sometimes does, include code for each individual step of a method, e.g., of operating a communication device (e.g., a network management node, an access point, a base station, a wireless terminal or node). The code can be in the form of machine (e.g., computer) executable instructions. In addition to relating to a computer program product, some embodiments relate to a processor that is configured to implement one or more of the various functions, steps, acts and / or operations of one or more methods described above. Thus, some embodiments relate to a processor (e.g., a CPU) that is configured to implement some or all of the steps of the methods described herein. This processor can be used in, for example, a communication device or other device as described in the present application.
[0318] Although described in the context of communication systems including wired, optical, cellular, Wi-Fi, Bluetooth, and BLE, at least some of the methods and apparatus of various embodiments are applicable to a variety of communication systems including IP-based and non-IP based OFDM and non-OFDM and / or non-cellular systems. Some embodiments are applicable to passive detection systems that detect natural events such as earthquakes, solar flares, and other natural events.
[0319] In view of the above description, many other variations of the method and apparatus of the various embodiments will be apparent to those of skill in the art in view of the above description. Such variations are to be considered within the scope. The method and apparatus can and sometimes are used with IP and non-IP, wired and wireless (such as CDMA), orthogonal frequency division multiplexing (OFDM), Wi-Fi, Bluetooth, BLE, optical, and / or various other types of communication techniques that can be used to provide a communication link between network attached or associated devices or other devices (including receiver / transmitter circuitry as well as logic and / or routines) for implementing the methods.
[0320] Example 1 is a method of aligning orientations of two wireless devices, comprising: determining a first orientation and a first position of a first wireless device; determining a second orientation and a second position of a second wireless device based on first signals exchanged between the first wireless device and the second wireless device; generating instructions that reduce or eliminate a difference between the first orientation and the second orientation; causing execution of the instructions; in response to the causing, determining an updated orientation of the second wireless device based on second signals exchanged between the first wireless device and the second wireless device; obtaining a first location estimate of a third wireless device, the first location estimate determined by the first wireless device at the first orientation; obtaining a second location estimate of the third wireless device, the second location estimate determined by the second wireless device at the updated orientation; and generating a third location estimate of the third wireless device based on the first location estimate and the second estimate.
[0321] In Example 2, the subject matter of Example 1 optionally includes wherein the determining of the second orientation of the second wireless device comprises: determining a phase difference of the signals when the signals are received at a plurality of receiving elements of the first wireless device, the signals transmitted from a plurality of transmitting elements of the second wireless device, and determining the second orientation of the second wireless device based on the phase difference.
[0322] In Example 3, the subject matter of Example 2 optionally includes: iteratively performing until a difference between the first orientation and the second orientation satisfies a criterion: exchanging signals between the first wireless device and the second wireless device, determining phase differences between signals received at the plurality of receiving elements, determining an updated second orientation based on the determined phase differences, determining an updated difference between the first orientation and the updated second orientation; generating update instructions that reduce or eliminate the updated difference, and causing execution of the update instructions.
[0323] In Example 4, the subject matter of Example 3 optionally includes: wherein the criterion is satisfied when at least one of: a difference between the first orientation and the second orientation relative to a first axis of a three-dimensional space is below a first threshold, a second difference between the first orientation and the second orientation relative to a second axis of the three-dimensional space is below a second predefined threshold, or a third difference between the first orientation and the second orientation relative to a third axis of the three-dimensional space is below a third predefined threshold.
[0324] In Example 5, the subject matter of any one or more of Examples 2-4 optionally includes: receiving the signals at the plurality of receiving elements, and comparing a phase of the signals as received at each receiving element to a reference phase of the signals as received at a reference receiving element, wherein the determining of the phase difference is based on the comparison.
[0325] In Example 6, the subject matter of any one or more of Examples 1-5 optionally include wherein determining the first orientation of the first wireless device comprises initializing the first orientation to a predefined orientation relative to at least one dimension of a three-dimensional space.
[0326] In Example 7, the subject matter of any one or more of Examples 1-6 optionally include wherein causing execution of the instructions comprises one or more of illuminating a light physically attached to the second wireless device, displaying the instructions on an electronic display, or outputting an audio signal to a speaker.
[0327] In Example 8, the subject matter of any one or more of Examples 1-7 optionally include wherein determining the second orientation comprises estimating a location of each of a plurality of transmission elements of the second wireless device; identifying a respective layout of the second plurality of transmission elements; rotating and / or shifting the layout within a three-dimensional space; and identifying a best fit between the estimated locations and the rotated and / or shifted layout, wherein the second orientation is based on the best fit.
[0328] In Example 9, the subject matter of any one or more of Examples 1-8 optionally include wherein the generation of the instructions comprises one or more of generating a first instruction that reduces or eliminates a difference in orientation relative to a first three-dimensional axis, generating a second instruction that reduces or eliminates a second difference between the first orientation and the second orientation relative to a second three-dimensional axis, or generating a third instruction that reduces or eliminates a third difference between the first orientation and the second orientation relative to a third three-dimensional axis.
[0329] In Example 10, the subject matter of any one or more of Examples 1-9 optionally include determining a difference between the first location and the second location; and shifting the second location estimate based on the determined difference, wherein the determination of the third location estimate is based on the shifted second location estimate.
[0330] In Example 11, the subject matter of any one or more of Examples 1-10 optionally include obtaining a plurality of probabilities that the third device is located within each of a corresponding plurality of regions, wherein the first location estimate of the third device is based on the plurality of probabilities.
[0331] In Example 12, the subject matter of Example 11 optionally include weighting each of the plurality of regions based on a respective probability of the region, wherein the first location estimate is based on the weighting.
[0332] In Example 13, the subject matter of any one or more of Examples 1-12 optionally include receiving, via a user interface, an input indicative of a change in alignment of the second wireless device, and determining an updated orientation of the second wireless device in response to the input.
[0333] In Example 14, the subject matter of any one or more of Examples 1-13 optionally include determining a difference between the first orientation and the second orientation, determining the instructions based on the difference and commanding the motor configured to change the orientation of the second wireless device to execute the instructions.
[0334] Example 15 is a system comprising: hardware processing circuitry; one or more hardware memories storing instructions that when executed by the hardware processing circuitry configure the hardware processing circuitry to perform operations to align orientations of two wireless devices, the operations comprising: determining a first orientation and a first position of a first wireless device; determining a second orientation and a second position of a second wireless device based on first signals exchanged between the first wireless device and the second wireless device; generating instructions to reduce or eliminate a difference between the first orientation and the second orientation; causing execution of the instructions; in response to the causing, determining an updated orientation of the second wireless device based on second signals exchanged between the first wireless device and the second wireless device; obtaining a first position estimate of a third wireless device, the first position estimate determined by the first wireless device at the first orientation; obtaining a second position estimate of the third wireless device, the second position estimate determined by the second wireless device at the updated orientation; and generating a third position estimate of the third wireless device based on the first position estimate and the second position estimate.
[0335] In Example 16, the subject matter of Example 15 optionally includes wherein the determining of the second orientation of the second wireless device comprises: determining a phase difference of the signals as the signals are received at a plurality of receiving elements of the first wireless device, the signals transmitted from a plurality of transmitting elements of the second wireless device, and determining the second orientation of the second wireless device based on the phase difference.
[0336] In Example 17, the subject matter of Example 16 optionally includes the operations further comprising: iteratively performing until a difference between the first orientation and the second orientation satisfies a criterion: exchanging signals between the first wireless device and the second wireless device, determining a phase difference between the signals received at the plurality of receiving elements, determining an updated second orientation based on the determined phase difference, determining an updated difference between the first orientation and the updated second orientation; generating update instructions to reduce or eliminate the updated difference, and causing execution of the update instructions.
[0337] In Example 18, the subject matter of Example 17 optionally includes wherein the criterion is satisfied when at least one of: a difference between the first orientation and the second orientation relative to a first axis of a three-dimensional space is below a first threshold value, a second difference between the first orientation and the second orientation relative to a second axis of the three-dimensional space is below a second predefined threshold value, or a third difference between the first orientation and the second orientation relative to a third axis of the three-dimensional space is below a third predefined threshold value.
[0338] In Example 19, the subject matter of any one or more of Examples 16-18 can optionally include that the operations further include receiving the signal at a plurality of receiving elements and comparing a phase of the signal as received at each receiving element to a reference phase of the signal as received at a reference receiving element, wherein the determination of the phase difference is based on the comparison.
[0339] In Example 20, the subject matter of any one or more of Examples 15-19 can optionally include that wherein determining the first position of the first wireless device includes initializing the first position to a predefined position relative to at least one dimension of a three-dimensional space.
[0340] In Example 21, the subject matter of any one or more of Examples 15-20 can optionally include that wherein causing execution of the instructions includes one or more of illuminating a light physically attached to the second wireless device, displaying the instructions on an electronic display, or outputting an audio signal to a speaker.
[0341] In Example 22, the subject matter of any one or more of Examples 15-21 can optionally include that wherein determining the second position includes estimating a location of each of a plurality of transmitting elements of the second wireless device, identifying a respective layout of the second plurality of transmitting elements, rotating and / or shifting the layout within a three-dimensional space, and identifying a best fit between the estimated locations and the rotated and / or shifted layout, wherein the second position is based on the best fit.
[0342] In Example 23, the subject matter of any one or more of Examples 15-22 can optionally include that wherein the generation of the instructions includes one or more of generating a first instruction that reduces or eliminates a difference in position relative to a first three-dimensional axis, generating a second instruction that reduces or eliminates a second difference between the first position and the second position relative to a second three-dimensional axis, or generating a third instruction that reduces or eliminates a third difference between the first position and the second position relative to a third three-dimensional axis.
[0343] In Example 24, the subject matter of any one or more of Examples 15-23 can optionally include that the operations further include determining a difference between the first location and the second location, and shifting the second location estimate based on the determined difference, wherein the determination of the third location estimate is based on the shifted second location estimate.
[0344] In Example 25, the subject matter of any one or more of Examples 15-24 can optionally include that the operations further include obtaining a plurality of probabilities that the third device is located within each of a corresponding plurality of regions, wherein the first location estimate of the third device is based on the plurality of probabilities.
[0345] In Example 26, the subject matter of Example 25 optionally includes, wherein the operations further comprise weighting each of the plurality of regions based on respective probabilities of the regions, wherein the first position estimate is based on the weighting.
[0346] In Example 27, the subject matter of any one or more of Examples 15-26 optionally include, wherein the operations further comprise receiving, via the user interface, an input indicative of an alignment change of the second wireless device, and determining an updated orientation of the second wireless device in response to the input.
[0347] In Example 28, the subject matter of any one or more of Examples 15-27 optionally include, wherein the operations further comprise determining a difference between the first orientation and the second orientation, determining an instruction based on the difference and causing the motor configured to change the orientation of the second wireless device to execute the instruction.
[0348] Example 29 is a non-transitory computer-readable storage medium comprising instructions that, when executed, configure hardware processing circuitry to perform operations to align orientations of two wireless devices, the operations comprising: determining a first orientation and a first position of a first wireless device; determining a second orientation and a second position of a second wireless device based on first signals exchanged between the first wireless device and the second wireless device; generating an instruction to reduce or eliminate a difference between the first orientation and the second orientation; causing execution of the instruction; in response to the causing, determining an updated orientation of the second wireless device based on second signals exchanged between the first wireless device and the second wireless device; obtaining a first position estimate of a third wireless device, the first position estimate determined by the first wireless device at the first orientation; obtaining a second position estimate of the third wireless device, the second position estimate determined by the second wireless device at the updated orientation; and generating a third position estimate of the third wireless device based on the first position estimate and the second estimate.
[0349] In Example 30, the subject matter of Example 29 optionally includes, wherein the determination of the second orientation of the second wireless device comprises: determining a phase difference of the signals as the signals are received at a plurality of receiving elements of the first wireless device, the signals transmitted from a plurality of transmitting elements of the second wireless device, and determining the second orientation of the second wireless device based on the phase difference.
[0350] In Example 31, the subject matter of Example 30 optionally includes, wherein the operations further comprise: iteratively performing until a difference between the first orientation and the second orientation satisfies a criterion: exchanging signals between the first wireless device and the second wireless device, determining a phase difference between the signals received at the plurality of receiving elements, determining an updated second orientation based on the determined phase difference, determining an updated difference between the first orientation and the updated second orientation; generating an update instruction to reduce or eliminate the updated difference, and causing execution of the update instruction.
[0351] In Example 32, the subject matter of Example 31 optionally includes, wherein the criterion is satisfied when at least one of: a first difference between the first orientation and the second orientation with respect to a first axis of the three-dimensional space is below a first threshold, a second difference between the first orientation and the second orientation with respect to a second axis of the three-dimensional space is below a second predefined threshold, or a third difference between the first orientation and the second orientation with respect to a third axis of the three-dimensional space is below a third predefined threshold.
[0352] In Example 33, the subject matter of any one or more of Examples 30-32 optionally includes, the operations further comprising: receiving the signal at a plurality of receiving elements, and comparing a phase of the signal as received at each receiving element to a reference phase of the signal as received at a reference receiving element, wherein the determination of the phase difference is based on the comparison.
[0353] In Example 34, the subject matter of any one or more of Examples 30-33 optionally includes, wherein determining the first orientation of the first wireless device comprises: initializing the first orientation to a predefined orientation with respect to at least one dimension of the three-dimensional space.
[0354] In Example 35, the subject matter of any one or more of Examples 30-34 optionally includes, wherein causing the execution of the instructions comprises one or more of: illuminating a light physically attached to the second wireless device, displaying the instructions on an electronic display, or outputting an audio signal to a speaker.
[0355] In Example 36, the subject matter of any one or more of Examples 30-35 optionally includes, wherein determining the second orientation comprises: estimating a location of each of a plurality of transmitting elements of the second wireless device; identifying a respective layout of the second plurality of transmitting elements; rotating and / or shifting the layout within the three-dimensional space; and identifying a best fit between the estimated locations and the rotated and / or shifted layout, wherein the second orientation is based on the best fit.
[0356] In Example 37, the subject matter of any one or more of Examples 30-36 optionally includes, wherein the generation of the instructions comprises one or more of: generating a first instruction that reduces or eliminates a difference in orientation with respect to a first three-dimensional axis, generating a second instruction that reduces or eliminates a second difference between the first orientation and the second orientation with respect to a second three-dimensional axis, or generating a third instruction that reduces or eliminates a third difference between the first orientation and the second orientation with respect to a third three-dimensional axis.
[0357] In Example 38, the subject matter of any one or more of Examples 30-37 optionally include that the operations further comprise determining a difference between the first position and the second position; and causing the second position estimate to be shifted based on the determined difference, wherein the determination of the third position estimate is based on the shifted second position estimate.
[0358] In Example 39, the subject matter of any one or more of Examples 30-38 optionally include that the operations further comprise obtaining a plurality of probabilities that the third device is located within each of a corresponding plurality of regions, wherein the first position estimate of the third device is based on the plurality of probabilities.
[0359] In Example 40, the subject matter of Example 39 optionally include that each of the plurality of regions is weighted based on a respective probability of the region, wherein the first position estimate is based on the weighting.
[0360] In Example 41, the subject matter of any one or more of Examples 30-40 optionally include that an input indicative of an alignment change of the second wireless device is received via the user interface, and an updated orientation of the second wireless device is determined in response to the input.
[0361] In Example 42, the subject matter of any one or more of Examples 30-41 optionally include that a difference between the first orientation and the second orientation is determined, an instruction is determined based on the difference, and the electric motor configured to change the orientation of the second wireless device is commanded to execute the instruction.
Claims
1. A method for aligning a wireless device orientation, comprising: determining a phase difference of signals exchanged between a first wireless device and a second wireless device; determining a second orientation of a first orientation of the second wireless device relative to the first wireless device based on the phase difference; and generating one or more instructions to adjust the second orientation of the second wireless device based on the phase difference.
2. The method of claim 1, wherein the first wireless device and the second wireless device are access points.
3. The method of claim 1, wherein determining the orientation of the second wireless device further comprises: comparing the determined phase difference to an expected phase difference of the signals exchanged between the first wireless device and the second wireless device; determining a position of a plurality of transmission elements of the second wireless device based on the comparison; and determining the orientation of the second wireless device based on the determined position of the plurality of transmission elements of the second wireless device and layout information defining relative positions of the plurality of transmission elements of the second wireless device.
4. The method of claim 1, wherein determining a phase difference of signals exchanged between the first wireless device and the second wireless device further comprises: determining a phase difference of signals transmitted from at least one transmission element of the second wireless device and received by at least one pair of reception elements of the first wireless device.
5. The method of any one of claims 1-4, wherein generating one or more instructions to adjust the second orientation of the second wireless device further comprises: automatically instructing the second wireless device to control one or more motors to adjust the orientation of the second wireless device about one or more of an X-axis, a Y-axis, or a Z-axis.
6. The method of any one of claims 1-4, wherein generating one or more instructions to adjust the second orientation of the second wireless device further comprises: generating one or more instructions to manually adjust the orientation of the second wireless device about one or more of an X-axis, a Y-axis, or a Z-axis for display on one or more of a computing device or a mobile device.
7. The method of any one of claims 1-4, wherein generating one or more instructions to adjust the second orientation of the second wireless device further comprises: providing audible directions using one or more of a computing device or a mobile device.
8. The method of any one of claims 1-4, wherein generating one or more instructions to adjust the second orientation of the second wireless device further comprises: controlling one or more light emitting elements mounted on the second wireless device to indicate an amount of rotation to be applied to the second wireless device in a particular direction.
9. The method of any one of claims 1 to 4, wherein generating one or more instructions to adjust the second orientation of the second wireless device further comprises controlling one or more light emitting elements mounted on the second wireless device to indicate that at least one corner of the second wireless device should be adjusted in a particular direction.
10. The method of any one of claims 1 to 4, further comprising: updating the second orientation of the second wireless device based on a phase difference of signals exchanged between the first wireless device and the second wireless device after adjusting the orientation of the second wireless device.
11. A system for aligning a wireless device orientation, comprising: a memory; and processing circuitry coupled to the memory and configured to: determine a phase difference of signals exchanged between a first wireless device and a second wireless device; determine a second orientation of a first orientation of the second wireless device relative to the first wireless device based on the phase difference; and generate one or more instructions to adjust the second orientation of the second wireless device based on the phase difference.
12. The system of claim 11, wherein the first wireless device and the second wireless device are access points. 13. The system of claim 11, wherein to determine the orientation of the second wireless device, the processing circuit is further configured to: compare the determined phase difference to an expected phase difference of the signals exchanged between the first wireless device and the second wireless device; determine a position of a plurality of transmission elements of the second wireless device based on the comparison; and determine the orientation of the second wireless device based on the determined position of the plurality of transmission elements of the second wireless device and layout information defining relative positions of the plurality of transmission elements of the second wireless device.
14. The system of claim 11, wherein to determine a phase difference of signals exchanged between the first wireless device and the second wireless device, the processing circuit is further configured to determine a phase difference of signals transmitted from at least one transmission element of the second wireless device and received by at least one pair of reception elements of the first wireless device.
15. The system of any one of claims 11 to 14, wherein to generate one or more instructions to adjust the second orientation of the second wireless device, the processing circuit is further configured to automatically instruct the second wireless device to control one or more motors to adjust the orientation of the second wireless device about one or more of an X-axis, a Y-axis, or a Z-axis.
16. The system of any one of claims 11 to 14, wherein to generate one or more instructions to adjust the second orientation of the second wireless device, the processing circuit is further configured to generate one or more instructions to manually adjust the orientation of the second wireless device about one or more of an X-axis, a Y-axis, or a Z-axis for display on a computing device.
17. The system of any one of claims 11 to 14, wherein to generate one or more instructions to adjust the second orientation of the second wireless device, the processing circuit is further configured to provide audible directions using a mobile device.
18. The system of any one of claims 11 to 14, wherein to generate one or more instructions to adjust the second orientation of the second wireless device, the processing circuit is further configured to control one or more light emitting elements mounted on the second wireless device to indicate an amount of rotation to be applied to a particular direction of the second wireless device.
19. The system of any one of claims 11 to 14, wherein to generate one or more instructions to adjust the second orientation of the second wireless device, the processing circuit is further configured to control one or more light emitting elements mounted on the second wireless device to indicate that at least one corner of the second wireless device should be adjusted in a particular direction.
20. A computer readable storage medium encoded with instructions for causing one or more programmable processors to perform the method of any one of claims 1-10 or to configure the system of any one of claims 11-19.