AoX multipath detection

By creating a pseudo-spectrum based on azimuth and elevation angles in the AoX algorithm, and combining particle filters and neural networks to detect multipath environments, the problem of inaccurate calculations of AoX algorithm in multipath environments is solved, and the accuracy of device spatial position is improved.

CN115480208BActive Publication Date: 2025-08-08SILICON LABORATORIES INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210661506.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-06-14
Filing Date
2022-06-13
Publication Date
2025-08-08
Estimated Expiration
2042-06-13

AI Technical Summary

Technical Problem

The existing AoX algorithm cannot accurately detect the arrival angle of the signal in a multipath environment, resulting in inaccurate calculation of the spatial position of the device.

Method used

By creating a second pseudo-spectrum based on azimuth and elevation angles, combining particle filters and neural networks, the goodness value of the pseudo-spectrum is calculated to detect the multipath environment and ignore inaccurate calculation results.

Benefits of technology

It improves the accuracy of device spatial position calculation in multipath environments, reduces errors, and enhances the effectiveness of AoX algorithm in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115480208B_ABST
    Figure CN115480208B_ABST
Patent Text Reader

Abstract

AoX multipath detection. A system and method for detecting a multipath environment are disclosed. A first pseudo-spectrum based on azimuth and elevation is created. The results of this first pseudo-spectrum are used to create a second pseudo-spectrum based on polarization and field ratio. The sharpness of these two pseudo-spectral results is determined and used to detect the presence of a multipath environment. If a multipath environment is deemed to exist, the results from the device are ignored when determining the spatial position of the object.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This disclosure describes systems and methods for detecting that an AoX signal has been reflected from one or more objects. Background Art

[0002] Angle of arrival and angle of departure algorithms, collectively known as AoX algorithms, typically operate by determining the phase difference between different antenna elements in an antenna array. Because the distance between the antenna elements is known, this phase difference can be used to determine the angle from which the signal originated.

[0003] Specifically, assume that the distance between two adjacent antenna elements is d. The phase difference between the incoming signals detected at these two adjacent antennas can be given by Given. From the perspective of the signal source, the phase difference Divide by Multiply by the wavelength represents the distance between the two antenna elements. Knowing the difference in distances traveled by the incoming signals allows the angle of arrival to be calculated. Specifically, the angle of arrival can be given by the difference in distances traveled by the incoming signals divided by d, where d represents the cosine of the incoming signal. In other words, the angle of arrival is defined as The arc cosine of .

[0004] An algorithm commonly used to determine AoX is called MUSIC. This algorithm generates pseudospectra from the incoming data and estimates the most likely AoX from these pseudospectra.

[0005] However, these algorithms assume that all incoming signals are received directly from the transmitting device. Therefore, if the signal from one of these transmitting devices reflects off a surface such as a wall, the algorithm may calculate an incorrect angle. This phenomenon is known as non-line-of-sight. Furthermore, when a device receives the same signal via different paths (such as a direct path and a reflected path), this is referred to as multipath.

[0006] Therefore, it would be beneficial if there were a system and method for detecting the presence of a multipath environment. It would also be beneficial if a positioning system could use this knowledge to better calculate the spatial position of a device. Summary of the Invention

[0007] A system and method for detecting a multipath environment are disclosed. A first pseudo-spectrum is created based on azimuth and elevation. The results of this first pseudo-spectrum are used to create a second pseudo-spectrum based on polarization and field ratio. The sharpness of these two pseudo-spectral results is determined and used to detect the presence of a multipath environment. If a multipath environment is deemed to exist, the results from the device are ignored when determining the spatial position of the object.

[0008] According to one embodiment, a method for determining the spatial position of a device is disclosed. The method includes transmitting a signal from the device; receiving the signal by a plurality of locator devices, each of the locator devices being located at a known location; calculating an angle of arrival of the signal and at least one goodness value associated with the angle of arrival for each of the plurality of locator devices; and determining the spatial position of the device using at least two of the calculated angle of arrival and goodness value. In some embodiments, a first pseudo-spectrum is calculated for each of the plurality of locator devices based on the signal to determine the angle of arrival, and the angle of arrival is used to calculate a second pseudo-spectrum for each of the plurality of locator devices to determine the polarization ratio and polarization angle. In some embodiments, a first goodness value for the first pseudo-spectrum and a second goodness value for the second pseudo-spectrum are calculated for each locator device. In some embodiments, the first goodness value and the second goodness value are combined to create a combined goodness value, and the combined goodness value is used to determine the spatial position of the device. In some embodiments, the first goodness value and the second goodness value are used to determine the spatial position of the device. In some embodiments, a particle filter is applied to the first pseudo-spectrum to calculate the first goodness value, and a particle filter is applied to the second pseudo-spectrum to calculate the second goodness value. In some embodiments, all points within a predetermined percentage of the peak of the first pseudo-spectrum are considered part of a first peak region, where the area of the first peak region is used to calculate a first goodness value; and all points within a predetermined percentage of the peak of the second pseudo-spectrum are considered part of a second peak region, where the area of the second peak region is used to calculate a second goodness value. In some embodiments, if at least one goodness value of a first locator device is not within a predetermined range, the angle of arrival calculated for the first locator device is not used to determine the spatial position of the device. In some embodiments, an intersection point is calculated for each pair of locator devices based on the known position of each locator device and the angle of arrival calculated for each locator device; and the spatial position of the device is calculated as a weighted average of the intersection points. In some embodiments, the at least one goodness value of the first locator device is used to assign a weight to the intersection point associated with the first locator device. In other embodiments, if at least one goodness value of the first locator device is outside the predetermined range, the assigned weight is set to zero. In some embodiments, a subset of calculated angles of arrival that are less than a plurality of calculated angles of arrival are used to determine the spatial position of the device, where the subset is selected based on at least one goodness value such that only the calculated angles of arrival deemed most accurate are used to determine the spatial position of the device.

[0009] According to another embodiment, a system for determining a spatial position of a device is disclosed. The system includes a device including a network interface having an antenna that transmits a signal including a constant tone; a plurality of locator devices, each located at a known location, each locator device including the network interface and an antenna array; a processing unit and a memory device, wherein each locator device receives the signal and generates I and Q signals for each antenna element in the antenna array, and wherein the I and Q signals are used to calculate an angle of arrival and at least one goodness value; and a computing device that uses at least two of the calculated angle of arrival and goodness value to determine the spatial position of the device.

[0010] In some embodiments, each locator device calculates an angle of arrival and at least one goodness value. In some embodiments, the locator device transmits I and Q signals to a computing device, and the computing device calculates the angle of arrival and at least one goodness value for each locator device based on the I and Q signals. In some embodiments, the computing device comprises a gateway or cloud computer. In some embodiments, a first pseudo-spectrum is calculated for each of the plurality of locator devices based on the signals to determine an angle of arrival, and the angle of arrival is used to calculate a second pseudo-spectrum for each of the plurality of locator devices to determine a polarization ratio and a polarization angle; and a first goodness value for the first pseudo-spectrum and a second goodness value for the second pseudo-spectrum are calculated for each locator device. In some embodiments, if at least one goodness value for the first locator device is not within a predetermined range, the computing device does not use the angle of arrival calculated for the first locator device to determine the spatial position of the device. In some embodiments, the computing device calculates an intersection point for each pair of locator devices based on the known position of each locator device and the angle of arrival calculated for each locator device; and the computing device calculates the spatial position of the device as a weighted average of the intersection points. In some embodiments, a computing device determines a spatial position of the device using a subset of calculated angles of arrival that is less than a plurality of calculated angles of arrival, wherein the subset is selected based on at least one goodness value such that only the calculated angles of arrival that are deemed most accurate are used to determine the spatial position of the device. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] For a better understanding of the present disclosure, reference is made to the accompanying drawings, wherein like elements are referenced with like numerals, and wherein:

[0012] Figure 1 is a block diagram of a network device that may be used to perform the methods described herein;

[0013] Figure 2 yes Figure 1 A block diagram of a radio receiver of a network device;

[0014] Figures 3A-3C Shows the transmission to Figure 1The format of a representative direction detection message of the system;

[0015] Figure 4 A flow chart for determining whether a multipath environment exists is illustrated;

[0016] Figures 5A-5B The first pseudo-spectrum represented in two different ways is shown;

[0017] Figures 6A-6B A second pseudospectrum represented in two different ways is shown;

[0018] Figures 7A-7B shows an example of some locator devices receiving reflected signals; and

[0019] Figures 8A-8B Two examples are shown, along with the associated first and second pseudo-spectra. DETAILED DESCRIPTION

[0020] Figure 1 A network device that can be used to perform the multipath detection described herein is shown. Network device 10 has a processing unit 20 and an associated memory device 25. Processing unit 20 can be any suitable component, such as a microprocessor, an embedded processor, a dedicated circuit, a programmable circuit, a microcontroller, or another similar device. Memory device 25 contains instructions that, when executed by processing unit 20, enable network device 10 to perform the functions described herein. Memory device 25 can be a non-volatile memory, such as a flash ROM, an electrically erasable ROM, or other suitable device. In other embodiments, memory device 25 can be a volatile memory, such as RAM or DRAM. The instructions contained in memory device 25 can be referred to as a software program, which is stored on a non-transitory storage medium.

[0021] The network device 10 also includes a network interface 30, which may be a wireless network interface including an antenna array 38. The network interface 30 may support any wireless network protocol that supports AoX determination, such as Bluetooth. The network interface 30 is used to allow the network device 10 to communicate with other devices located on a network 39.

[0022] Disposed between the antenna array 38 and the network interface 30 may be a switching network 50 for selecting one of the antenna elements 37 of the antenna array 38 to communicate with the network interface.

[0023] The network interface 30 includes a radio circuit 31. The radio circuit 31 is used to process incoming signals and convert wireless signals into digital signals. The components within the radio circuit 31 will be described in more detail below.

[0024] The network interface 30 also includes a read channel 36. The read channel 36 is used to receive, synchronize, and decode digital signals received from the radio circuit 31. Specifically, the read channel 36 has a preamble detector for identifying the beginning of an incoming packet. The read channel 36 also has a synchronization detector for identifying a specific bit sequence known as a synchronization character. Additionally, the read channel 36 has a decoder for converting the digital signal into correctly aligned data bytes.

[0025] The network device 10 may include a second memory device 40. Data received from the network interface 30 or data to be sent via the network interface 30 may also be stored in the second memory device 40. The second memory device 40 is conventionally a volatile memory.

[0026] Although a memory device 25 is disclosed, any computer-readable medium may be used to store these instructions. For example, a read-only memory (ROM), a random access memory (RAM), a magnetic storage device such as a hard drive, or an optical storage device such as a CD or DVD may be used. In addition, these instructions may be downloaded to the memory device 25, such as, for example, over a network connection (not shown), via a CD ROM, or through another mechanism. These instructions may be written in any programming language, which is not limited by the present disclosure. Therefore, in some embodiments, there may be multiple computer-readable non-transitory media containing the instructions described herein. Figure 1 , the first computer-readable non-transitory medium may be in communication with processing unit 20. The second computer-readable non-transitory medium may be a CDROM or a different memory device that is remote from network device 10. The instructions contained on the second computer-readable non-transitory medium may be downloaded to memory device 25 to allow network device 10 to execute the instructions.

[0027] Although the processing unit 20, the memory device 25, the network interface 30 and the second memory device 40 are Figure 1 are shown as separate components, but it should be understood that some or all of these components may be integrated into a single electronic component. Figure 1 It is used to illustrate the functionality of the network device 10 rather than its physical configuration.

[0028] Although not shown, network device 10 also has a power source, which may be a battery or a connection to a permanent power source such as a wall outlet.

[0029] Figure 2A block diagram of the radio circuit 31 is shown. A wireless signal first enters the radio circuit 31 through one antenna element 37 of the antenna array 38. A switching network 50 may be used to select one antenna element 37 from the antenna array 38. Once selected, the antenna element 37 is in electrical communication with a low noise amplifier (LNA) 51. The LNA 51 receives the very weak signal from the antenna element 37 and amplifies the signal while maintaining the signal-to-noise ratio (SNR) of the incoming signal. The amplified signal is then passed to a mixer 52. The mixer 52 is also in communication with a local oscillator 53, which provides two phases to the mixer 52. The cosine of a frequency may be referred to as I o , and the sine of the frequency can be called Q o Then, I o The signal is multiplied by the incoming signal to create an in-phase signal I m Then, Q o The signal is multiplied by a 90° delayed version of the incoming signal to create a quadrature signal Q m The in-phase signal I from the mixer 52 m and the quadrature signal Q m It is then fed to a programmable gain amplifier (PGA) 54. The PGA 54 converts I m and Q m The signal is amplified by a programmable amount. These amplified signals are called I g and Q g . Amplified signal I g and Q g The analog signals are then fed from the PGA 54 to the analog-to-digital converter (ADC) 55. The ADC 55 converts these analog signals into digital signals I d and Q d These digital signals may pass through channel filter 56 before exiting radio circuitry 31 as I and Q. In some embodiments, the I and Q values may be considered complex numbers, where the I value is the real part and the Q value is the imaginary part.

[0030] The I and Q signals then go into a CORDIC (Coordinated Rotating Digital Computer) which determines the amplitude and phase of the signal. The amplitude is given as I 2 and Q 2 The square root of -1 The CORDIC may be provided in the radio circuit 31 or elsewhere within the network interface 30 .

[0031] In certain embodiments, the network interface 30 operates over a wireless network utilizing the Bluetooth network protocol. Figure 3AThe format of a special Bluetooth packet used for direction detection is shown. These packets typically begin with a preamble 300, an address field 310, a payload 320, and a checksum or CRC 330. However, the special packet also includes a constant tone extension (CTE) 340. Figure 3B and Figure 3C Two different formats of CTE 340 are shown. In both formats, CTE 340 includes a guard period 341, a reference period 342, and a plurality of switching slots 343 and sampling slots 344. The duration of each switching slot 343 and sampling slot 344 can be 1 seconds or 2 seconds, respectively Figure 3B and Figure 3C As shown in . CTE 340 is a special extension of the Bluetooth packet that transmits a constant frequency, such as a 250kHz tone. For example, CTE 340 can be a string of consecutive "1". CTE 340 can be used with 160 seconds, and is the same length as 16 In practice, network device 10 can use a single antenna element 37 of antenna array 38 to receive CTE 340 during guard period 341 and reference period 342. The device uses the signals received during guard period 341 and reference period 342 to set the gain (AGC) and frequency (AFC) of radio circuit 31. If circularly polarized signals from antenna element 37 are used during guard period 341 and reference period 342, the gain and frequency determination of radio circuit 31 may be more accurate.

[0032] The network device 10 then switches to another antenna element 37 during each switching time slot 343 by changing the selection of the switching network 50 in the radio circuitry 31. The network device 10 samples the tone again with the new antenna element 37 during the sampling time slot 344. The network device 10 continues to switch antenna elements 37 during each switching time slot 343 and samples the tone during the sampling time slot 344. If there are more switching time slots 343 than antenna elements, the network device 10 returns to the first antenna element 37 and repeats the sequence.

[0033] During the entire CTE 340, the transmitting device transmits a tone at a constant known frequency. As described above, the network device 10 can receive the tone using one antenna element 37 of the antenna array. Specifically, the same antenna element 37 can be used to receive the tone with 12 The guard period 341 and the reference period 342 have a combined duration of 1000 seconds.

[0034] In some embodiments, it has been found that the accuracy of the AoX algorithm is improved when the radio circuitry 31 utilizes both horizontally and vertically polarized signals from each antenna. Therefore, the radio circuitry 31 selects each antenna during at least two different sampling time slots 344; one to receive a horizontally polarized signal and one to receive a vertically polarized signal.

[0035] Therefore, in summary, to optimize the accuracy of the AoX algorithm, it may be beneficial to sample each antenna element 37 during at least two sampling time slots 344 so that both horizontally polarized and vertically polarized signals from each antenna are used as part of the AoX algorithm.

[0036] Thus, after receiving CTE 340 , network device 10 may have generated I and Q signals for each polarization of each antenna element 37 in antenna array 38 .

[0037] Using these I and Q signals, an indication of the elevation and azimuth of the incoming signal can be determined. Advantageously, a confidence level for this determination can also be calculated.

[0038] Figure 4 The process of performing these operations is shown in . First, as explained above and shown in block 400, I and Q values are generated.

[0039] These I and Q values can then be used to create a pseudo-spectrum using an AoA algorithm, such as MUSIC, as shown in block 410. As is well known, the MUSIC algorithm generates a pseudo-spectrum that includes values for each azimuth and elevation angle within a certain range of angles. The value associated with each combination of azimuth and elevation indicates the likelihood that the incoming signal arrived from that azimuth and elevation angle combination. Throughout this disclosure, this is referred to as the first pseudo-spectrum.

[0040] The antenna configuration is used to form a so-called The manifold matrix of the matrix is a matrix of dimension where X and Y are the number of antenna elements in each dimension of the antenna array. The a matrix is created by:

[0041] At each azimuth of interest ( ) calculates the gain (G a );

[0042] At each azimuth of interest ( ) calculated phase (P a );

[0043] At each elevation angle of interest ( ) calculates the gain (G e );and

[0044] At each elevation angle of interest ( ) calculated phase (P e ).

[0045] The covariance of the I and Q values is used to form the matrix (R). Specifically, the I and Q samples are used to form a matrix of dimension The matrix is called the x matrix, where Z is the number of snapshots per antenna element. Then, the x matrix and its Hermitian transpose (x H ) is used to create the R matrix. The eigenvalues R of this matrix are then calculated to create the matrix RN. In one embodiment, the eigenvalue deconstruction of R is performed to produce: R = VAV -1 , where A is a diagonal matrix containing the eigenvalues, V contains the corresponding eigenvectors, and V -1 is the inverse matrix of V. If there are N eigenvectors, then the (Nm) eigenvectors corresponding to the (Nm) smallest eigenvalues are selected, where m can be 1. This set of eigenvectors forming the (Nm) x N matrix can now be called Vm. RN is then calculated as follows: , where Vm H is the Hermitian transpose of Vm. The first pseudospectrum can be calculated as .

[0046] Figure 5A A representative 3-dimensional pseudospectrum created using the MUSIC algorithm is shown. Note that this first pseudospectrum indicates that the incoming signal arrives from an azimuth of -2° and an elevation of 26°. This set of angles represents Figure 5A The peak value in .

[0047] Next, as shown in block 420, a second pseudo-spectrum is generated. This second pseudo-spectrum utilizes the ratio of the electric field strength in the azimuth and elevation directions, as well as the angle between the two electric fields. For example, an angle of 0° indicates linear polarization, while an angle of 90° with a ratio of 1 indicates circular polarization. Any other ratio indicates elliptical polarization.

[0048] In fact, the angle of arrival is based on the elevation angle ( ), azimuth ( ), electric field strength ratio ( ) (then also called the polarization ratio) and the angle between these electric fields ( ) (also called the polarization angle). In other words, .

[0049] However, to simplify these calculations, the AoA can be approximated as follows: .

[0050] Therefore, by calculating the AoA using the first pseudospectrum above - this yields and , to approximate the actual arrival angle. These two angles are then used in the calculation of the second pseudospectrum.

[0051] First, to create the second pseudospectrum, the antenna manifold is calculated using the following parameters :

[0052] In calculating the azimuth ( ) calculated under the gain (G a );

[0053] In calculating the azimuth ( ) is calculated under the phase (P a );

[0054] In calculating the elevation angle ( ) calculated under the gain (G e );

[0055] In calculating the elevation angle ( ) is calculated under the phase (P e );

[0056] Polarization ratio ( );and

[0057] Polarization angle ( ).

[0058] The first four values are constant for a given azimuth and elevation combination and can be determined based on the output from the first pseudo-spectrum. The last two parameters are swept between a minimum and a maximum value. For example, the polarization ratio can be swept from 0.01 to 100.0, while the polarization angle can be between 0° and 360°. Thus, the antenna manifold (S) is represented as a matrix with a unique value for each polarization ratio and polarization angle.

[0059] As described above, the covariance of the I and Q values is used to form a matrix (R). The eigenvalues R of this matrix are then calculated to create a second matrix (RN). In some embodiments, the RN matrix calculated relative to the first pseudo spectrum can be used to create the second pseudo spectrum. This method reduces computation time, possibly at the expense of memory space. As described above, RN is calculated as RN = Vm x Vm H , where Vm H is the Hermitian transpose of Vm. Antenna manifold It is then combined with the Vm matrix to create the second pseudo spectrum. For example, the second pseudo spectrum, PS2 can be defined as , where a H yes Hermitian transpose of a matrix.

[0060] This process produces a second pseudo-spectrum, which is Figure 6A Representative illustrations are shown in .

[0061] Having calculated the first and second pseudo-spectra, a confidence level for the azimuth and elevation angle combination is then determined, as shown in block 430 .

[0062] Figure 5B Shown Figure 5A The pseudo-spectrum of is represented as a two-dimensional array, where each value in the array is Figure 5A The values associated with the azimuth and elevation combinations shown in . Note that in this array, a small area near the peak has a maximum value, and the values decrease rapidly as you move away from the peak. This can indicate an accurate AoA measurement because the peak is clearly visible and the values decrease sharply near the peak.

[0063] However, it is possible that the pseudo spectrum with azimuth and elevation angles has a small peak area and a multipath environment still exists. In other words, there is a situation where the first pseudo spectrum cannot provide enough information to determine whether a multipath environment exists.

[0064] Similarly, Figure 6B shows a representation of a two-dimensional array Figure 6A The pseudo-spectrum of Figure 6A The values associated with the combination of polarization ratio and polarization angle are shown in . Note that in this array, the area close to the peak has the maximum value, and the value decreases as you move away from the peak. Also, note that the peak area is larger than Figure 5B The peak area is shown in .

[0065] To determine the likelihood that the resulting azimuth and elevation angles are accurate, a measure of goodness may be calculated for each peak region, as shown in block 430 .

[0066] For example, a peak region may be a region where the values within the region are within a certain percentage of the maximum value. Figure 5B The peak region is shown, which has a peak width of about 4° in azimuth and about 21° in elevation. Since the pseudo spectrum includes 360° in azimuth and 90° in elevation, the peak region only occupies about 0.26% of the entire pseudo spectrum.

[0067] at the same time, Figure 6B The peak area in FIG shows a peak area with a peak width of 10 dB and a peak width of approximately 150°. Since the pseudo-spectrum includes a polarization angle of 360° and a polarization ratio of 40 dB, the peak area is approximately 10.5% of the entire pseudo-spectrum. Note that the certainty associated with the second pseudo-spectrum is much less than the certainty associated with the first pseudo-spectrum.

[0068] Thus, in certain embodiments, the confidence associated with the result of the pseudo-spectrum - also referred to as the "goodness of the pseudo-spectrum" - may be related to the area of the peak region.

[0069] In one embodiment, the peak area is calculated as all points having values within a predetermined percentage of the maximum value. Figure 5A In [ 1 ], the peak value can be normalized to 0 dB, and all values within 5 dB of this value can be considered as part of the peak area. Of course, other values can also be used. Alternatively, all values within a certain percentage of the peak value can be considered as part of the peak area. The area of the peak area as a percentage or fraction of the entire pseudo-spectrum can be used to calculate the goodness of the pseudo-spectrum.

[0070] Alternatively, other methods can be used to calculate the goodness of a pseudo-spectrum. For example, a particle filter can be applied to the pseudo-spectrum, and the standard deviation of the result can indicate the goodness. The particle filter can operate as follows. First, a finite number of "particles" are generated using a uniform distribution over the pseudo-spectrum. At this point, all particles have equal weight.

[0071] Next, the weight of each particle is updated based on the corresponding value of the pseudo-spectrum at the particle position. Therefore, particles at or near the peak area will have a larger weight than other particles.

[0072] Next, particles with lower weights are redistributed closer to particles with higher weights. The redistributed particles are then assigned new weights based on their new positions. All particles are then resampled by placing particles with lower weights closer to particles with higher weights.

[0073] This can be iterated. This process leads to a situation where all particles are located around the highest peak(s). Next, the standard deviation of this particle cloud is calculated, which is an estimate of the peak width. In the case of sharp peaks, the particle cloud will be denser and will result in a lower standard deviation.

[0074] Once the goodness values have been calculated for each pseudo-spectrum, these values can be combined as shown in block 440. In some embodiments, these goodness values can be added together. In other embodiments, the goodness values can be multiplied together. In another embodiment, the two goodness values and optionally other parameters such as RSSI and channel number can be fed into a neural network to create a combined goodness value. Of course, other functions can be used to combine the two goodness values. This combined goodness value can be used in many ways.

[0075] First, the combined goodness value can be compared to a threshold to determine whether the calculated combination of elevation and azimuth angles is likely to be accurate, as shown in block 450. The indication that the combination is accurate provides a degree of confidence that these values can be used in further calculations. In some embodiments, the threshold can be adaptive because it is trained as part of a neural network. In other embodiments, the threshold can be calculated in other ways or can be fixed. In some embodiments, weights can be assigned based on the goodness value. Thus, if the goodness value is unacceptable, a decision can be made to eliminate the combination from further calculations or to reduce the weight associated with the combination. In all embodiments, this decision is based on the goodness value.

[0076] An indication that the angle combination is incorrect may cause the combination to be ignored or may cause blocks 400-440 to be repeated. In other embodiments, an indication that the angle combination may be incorrect may cause the combination to be given less weight in calculating the spatial position of the tracked device.

[0077] In another embodiment, rather than combining the goodness values from the first and second pseudo-spectra, the goodness value of each pseudo-spectrum is compared to two different predetermined thresholds to determine whether the result is considered accurate.

[0078] The angle of arrival or departure can be used for many functions. For example, multiple angle of arrival locator devices can be used to track a device. Each locator device can have Figure 1 . This type of application is called spatial positioning. For example, inside a structure with multiple locator devices, the exact location of any transmitter can be determined. This can replace GPS in these environments because GPS positioning requires more energy to perform. In one example, an operator can carry a mobile phone. The phone can transmit CTE, which is received by each of the multiple locator devices. The position and orientation of each locator device is known. Based on the received CTE signal, each of the multiple locator devices determines the arrival angle of the beacon transmitted by the phone by creating both a first pseudo spectrum and a second pseudo spectrum. In one embodiment, these arrival angles are forwarded to the centralized computing device 770 (see Figures 7A-7B ), the centralized computing device 770 (see Figures 7A-7B ) calculates the location of the mobile phone or other tracked device based on all received angles of arrival. The centralized computing device 770 can be a mobile phone, one of the locator devices, a gateway device, a cloud computer, or another device. In all embodiments, the centralized computing device has Figure 1The centralized computing device 770 may be a configuration similar to that shown in , but may not include an antenna array. Instead, a single antenna or a wired connection may be used. The centralized computing device 770 includes a memory device that includes instructions that enable a processing unit within the centralized computing device 770 to perform the operations described herein.

[0079] Therefore, the angle of arrival from each locator device can be used to pinpoint the specific location of a mobile phone or other tracked device.If multiple locator devices are employed, three-dimensional spatial positioning of the tracked device is possible.

[0080] In this embodiment, the centralized computing device 770 may receive the azimuth and elevation angles and their combined goodness value or both goodness values from each locator device.

[0081] In other embodiments, the centralized computing device 770 may receive I and Q values from each of a plurality of locator devices and calculate first and second pseudo-spectra for each locator device.

[0082] In one embodiment, a binary filter may be used to process one or more goodness values, where a goodness value is considered acceptable or unacceptable. Thus, in these embodiments, the centralized computing device 770 may ignore azimuth and elevation angles from any locator device that reports one or more goodness values outside of a predetermined range.

[0083] However, other embodiments are possible. For example, in another embodiment, the goodness values reported by the various locator devices are sorted by accuracy. In this embodiment, only the N most accurate results are used to calculate the spatial position, where N is a value of 2 or greater. In another embodiment, the top N percentile of goodness values are used.

[0084] In both scenarios, the centralized computing device 770 utilizes a selected number of azimuth and elevation angles that are considered to be the most accurate. The information from the most accurate locator device can then be used as follows. Then, using simple trigonometry, the azimuth and elevation angles from each pair of locator devices are used to determine the intersection point. Thus, if information from N locator devices is used, a total of The position of the tracked device can be calculated as the average of these intersection points.

[0085] In another embodiment, the goodness value can be processed along a continuum, where the value of the goodness value indicates its degree of accuracy. In this embodiment, as described above, the centralized computing device 770 calculates the intersection point for each pair of locator devices. However, in this embodiment, each intersection point is assigned a weight based on the goodness value of the locator device used to generate the intersection point, where a higher weight indicates a more accurate result. The position of the tracked device 700 can then be calculated as a weighted average of all intersection points.

[0086] In yet another embodiment, a combination of these approaches may be used, where a binary filter is used to eliminate results deemed inaccurate, and the remaining results are weighted according to their perceived accuracy.

[0087] Thus, the centralized computing device 770 may also utilize the combined goodness value when calculating the actual spatial location of the mobile phone (or other device), as shown in block 460 .

[0088] Figure 7A An embodiment is shown in which four locator devices 710, 720, 730, and 740 are used to track device 700. In this figure, locator devices 710, 730, and 740 all have a direct line of sight to device 700. However, the signal from device 700 reflects off walls or other surfaces before reaching locator device 720. This reflection can cause the AoA calculation performed by locator device 720 to be inaccurate, as indicated by the combined goodness value. Therefore, in one embodiment, the centralized computing device 770 simply ignores the results from locator device 720 when calculating the spatial location of device 700. In another embodiment, the results from locator device 720 are given much lower weight than the results from other locator devices.

[0089] Figure 7A An embodiment is shown in which an inaccurate result is generated by only one locator device 720. In this case, since the intersection point generated using locator device 720 is inconsistent with the intersection point generated when only locator devices 720, 730, and 740 are used, it may be possible to determine that locator device 720 is experiencing multipath without using two pseudo-spectra.

[0090] Figure 7BA second embodiment is shown, in which three of the five locator devices experience a multipath environment. Specifically, locator devices 710, 720, and 750 all experience a multipath environment. In this embodiment, only the intersection points generated based on locator devices 730 and 740 are accurate. All other intersection points utilize at least one locator device that experiences a multipath environment. In this embodiment, the only way to correctly identify the spatial position of tracked device 700 is to be able to identify that only the results from locator devices 730 and 740 are accurate. Therefore, in this embodiment, one or more goodness values provide this information and allow centralized computing device 770 to correctly calculate the spatial position of tracked device 700.

[0091] A similar function can be performed using an angle of departure algorithm. For example, a user may have a device with a single antenna instead of an antenna array. If the beacon (such as the beacons in a shopping mall or warehouse described above) utilizes an antenna array, the user's device can determine the angle of departure.

[0092] The device may also be able to determine departure angles from multiple beacons. If the locations of the beacons are known, the device (or a centralized computing device) may be able to calculate its spatial position from these departure angles.

[0093] In other words, this information can be used for spatial positioning in the same way as angle of arrival information.

[0094] The present system and method have many advantages: The system and method greatly improves the detection of multipath environments, even in situations where no prior identification has been made. Figure 8A An example is shown where there is direct line of sight and little multipath between the device and the locator. Note that there are small peak areas in both the first and second pseudo-spectra. This indicates that the calculation has a large degree of confidence. In contrast, Figure 8B This example shows a possible multipath environment, but one that is not detected by the first pseudo-spectrum. Note the relatively small peak area on the first pseudo-spectrum, which appears to indicate accurate results. However, the second pseudo-spectrum has a large peak area. Therefore, the second pseudo-spectrum provides the necessary information to determine that the results from the first pseudo-spectrum are inaccurate. Consequently, these results may not be used by the centralized computing device, thereby improving the accuracy of spatial positioning calculations.

[0095] The present disclosure should not be limited in scope by the specific embodiments described herein. In fact, in addition to those described herein, various other embodiments of the present disclosure and modifications to the present disclosure will be clear to those of ordinary skill in the art based on the foregoing description and drawings. Therefore, such other embodiments and modifications are intended to fall within the scope of the present disclosure. In addition, although the present disclosure has been described herein in the context of a specific implementation in a specific environment for a specific purpose, those of ordinary skill in the art will recognize that its usefulness is not limited thereto, and the present disclosure can be beneficially implemented in any number of environments for any number of purposes. Therefore, the claims set forth below should be interpreted in view of the full scope and spirit of the present disclosure as described herein.

Claims

1. A method for determining a spatial position of a device, comprising: Transmitting a signal from the device; receiving signals by a plurality of locator devices, each locator device being located at a known position; calculating, for each of the plurality of locator devices, an angle of arrival of a signal and at least one goodness value associated with the angle of arrival; and A spatial position of a device is determined using at least two of the calculated angle of arrival and goodness values, wherein a first pseudo-spectrum is calculated for each of the plurality of locator devices based on the signal to determine the angle of arrival, and wherein the angle of arrival is used to calculate a second pseudo-spectrum for each of the plurality of locator devices to determine a polarization ratio and a polarization angle, and wherein the first pseudo-spectrum and the second pseudo-spectrum are used to generate at least one goodness value for each of the plurality of locator devices. 2 . The method of claim 1 , wherein a first goodness value of the first pseudo-spectrum and a second goodness value of the second pseudo-spectrum are calculated for each locator device. 3 . The method of claim 2 , wherein the first goodness value and the second goodness value are combined to create a combined goodness value, and the combined goodness value is used to determine the spatial position of the device.

4. The method according to claim 2, wherein: The first goodness value and the second goodness value are used to determine the spatial position of the device. The method of claim 2 , wherein a particle filter is applied to the first pseudo-spectrum to calculate the first goodness value, and a particle filter is applied to the second pseudo-spectrum to calculate the second goodness value.

6. The method of claim 2 , wherein all points within a predetermined percentage of a peak value of the first pseudo-spectrum are considered to be part of a first peak region, wherein an area of the first peak region is used to calculate a first goodness value; and all points within a predetermined percentage of a peak value of the second pseudo-spectrum are considered to be part of a second peak region, and an area of the second peak region is used to calculate a second goodness value.

7. The method according to claim 1, wherein If at least one goodness value of the first locator device is not within a predetermined range, the angle of arrival calculated for the first locator device is not used to determine the spatial position of the device.

8. The method according to claim 1, wherein An intersection point is calculated for each pair of locator devices based on the known position of each locator device and the angle of arrival calculated for each locator device; and wherein the spatial position of the devices is calculated as a weighted average of the intersection points.

9. The method according to claim 2, wherein: The at least one goodness value of the first locator device is used to assign a weight to an intersection point associated with the first locator device.

10. The method according to claim 9, wherein: If at least one goodness value of the first locator device is outside a predetermined range, the assigned weight is set to zero.

11. The method of claim 1 , wherein a subset of calculated angles of arrival that are smaller than the plurality of calculated angles of arrival are used to determine the spatial position of the device, wherein the subset is selected based on the at least one goodness value such that only the calculated angles of arrival that are considered most accurate are used to determine the spatial position of the device.

12. A system for determining a spatial position of a device, comprising: a device comprising a network interface having an antenna that transmits a signal comprising a constant tone; a plurality of locator devices, each locator device being located at a known location, each locator device comprising a network interface and an antenna array; a processing unit and a memory device, wherein each locator device receives a signal, generates I and Q signals for each antenna element in the antenna array, and wherein the I and Q signals are used to calculate an angle of arrival and at least one goodness value; and A computing device that uses at least two of the calculated angle of arrival and goodness value to determine a spatial position of the device, wherein a first pseudo-spectrum is calculated for each of the plurality of locator devices based on the signal to determine the angle of arrival, and wherein the angle of arrival is used to calculate a second pseudo-spectrum for each of the plurality of locator devices to determine a polarization ratio and a polarization angle, and wherein the first pseudo-spectrum and the second pseudo-spectrum are used to generate at least one goodness value for each of the plurality of locator devices.

13. The system of claim 12, wherein each locator device calculates an angle of arrival and at least one goodness value.

14. The system according to claim 12, wherein: The locator devices transmit the I and Q signals to a computing device, and the computing device calculates an angle of arrival and at least one goodness value for each locator device based on the I and Q signals.

15. The system according to claim 12, wherein: The computing device includes a gateway or a cloud computer.

16. The system of claim 12, and wherein a first goodness value of the first pseudo-spectrum and a second goodness value of the second pseudo-spectrum are calculated for each locator device.

17. The system of claim 12, wherein: If at least one goodness value of the first locator device is not within a predetermined range, the computing device does not use the angle of arrival calculated for the first locator device to determine the spatial position of the device.

18. The system according to claim 17, wherein: An intersection point is calculated by the computing device for each pair of locator devices based on the known position of each locator device and the angle of arrival calculated for each locator device; and wherein the spatial position of the devices is calculated by the computing device as a weighted average of the intersection points.

19. The system of claim 12, wherein: The computing device determines a spatial position of the device using a subset of calculated angles of arrival that are smaller than the plurality of calculated angles of arrival, wherein the subset is selected based on the at least one goodness value such that only calculated angles of arrival that are deemed most accurate are used to determine the spatial position of the device.

Citation Information

Patent Citations

  • Positioning with multiple access points

    WO2020078570A1