The present disclosure relates to wireless communications.
In Angle of Arrival (AoA) or any location technology used to locate wireless device, it is desirable to reduce location error due to signal-to-noise ratio (SNR) and multipath in order to achieve more accurate location results. In AoA-based location techniques, raw data (from channel state information or raw in-phase/quadrature-phase samples) is converted into phase vectors that are supplied as input to the AoA-based location solution. The manner in which the phase vectors are converted and ultimately input into the AoA-based computation can significantly affect accuracy.
Phase estimates at the antennas of a circular or other geometric antenna array are used to estimate the incident direction of radio waves. In 802.11, it is convenient to use the channel estimate from packet reception in estimating this phase. However, using the channel estimate limits scalability since there is only 1 or 2 long training fields (LTFs) per PPDU. Therefore, in order to capture AoA estimates in a system with a switched antenna array, multiple PPDUs need to be sent to capture every antenna state. In order to decrease the number of PPDUs required, switching can occur during the PPDU, but the LTF cannot be the lone source of the channel estimate.
IEEE 802.11ax introduces Orthogonal Frequency Division Multiple Access (OFDMA), where client traffic no longer occupies the entire signal bandwidth. Instead, clients are allocated resource units (RUs) or subsets of the full signal spectrum and transmit or receive at the same time. OFDMA provides a way to vastly increase the scalability of AoA location by capturing the AoA estimate for many clients at the same time. However, obtaining the channel estimate on a per client basis while switching through the states of an antenna array presents challenges.
In one embodiment, techniques are presented herein for generating angle-of-arrival data at an antenna array of a wireless device in order to derive a location of one or more devices that are a source of a wireless transmission in a frequency band using OFDMA techniques. A wireless device, e.g., a wireless access point (AP), detects at its plurality of antennas, energy spanning a frequency bandwidth that may include a transmission from each of one or more source devices (e.g., clients), wherein a transmission from a source device occupies a unique set of subcarriers in a sub-band of the frequency bandwidth. The wireless device generates at least one reference receive signal from at least one designated antenna. The wireless device switches among the plurality of antennas, excluding the at least one designated antenna, over time, to generate a plurality of antenna-specific receive signals, each for a different time interval. The wireless device computes a first channel estimate based on the at least one reference receive signal, and decodes at least a portion of a frame for one of the transmissions based on the first channel estimate to recover symbol data. The wireless device computes a second channel estimate based on the plurality of antenna-specific receive signals. The wireless device generates a composite channel estimate from at least one of the first channel estimate and the second channel estimate. Using the composite channel estimate, the wireless device computes an angle of arrival vector for a transmission from a corresponding source device of the one or more source devices. The wireless device, or another device (such as a wireless local area network controller or server) derives a location estimate for the corresponding source device of the one or more source devices based on the angle of arrival vector for the corresponding source device.
In another embodiment, the wireless device filters samples of the plurality of antenna-specific receive signals with a filter bank that separates antenna-specific receive signals for a corresponding source device of the one or more source devices, to produce a filtered output. The wireless device performs a cross correlation on the filtered output to generate a plurality of cross correlation outputs, one for each of the plurality of antennas, excluding the at least one designated antenna. The wireless device converts the cross correlation outputs to an angle of arrival vector for each source device of the one or more source devices, and a location estimate for the corresponding source device of the one or more source devices is computed based on the angle of arrival vector for the corresponding source device.
The embodiments presented herein provide AoA estimates while switching antenna states during a packet unit for the general OFMDA case (including a single user). A wireless device computes channel estimates throughout the entire frame and not only during the training symbols. Consequently, the wireless device computes channel estimates for all antennas in its array within a single frame instead of having to wait for multiple frames.
In some wireless communication/wireless network systems, such as an IEEE 802.11ax system, Orthogonal Frequency Division Multiple Access (OFDMA) techniques are used to enable multiple wireless clients to transmit at the same time on different slices of frequency (subcarriers) in as small as 2 MHz. For example, in IEEE 802.11ax, there could be as many as 9 wireless clients simultaneously transmitting on a 20 MHz channel to an access point.
It is desirable to leverage OFDMA and any other techniques now known or hereinafter developed in order to simultaneously locate as many clients as possible. To this end, the phase information at each of a plurality of antenna elements at the access point is determined for each client's transmission as switching is made through all of the antenna states of the antenna array of the access point as a frame is received simultaneously from a plurality of clients. The access point cycles through antenna states as the frames from the multiple wireless clients are received, and the full angle vector that represents all antennas states is constructed for each client individually. This can be achieved in the time domain or the frequency domain. Moreover, training fields in the transmissions received from the clients may not be available at any given time on a given antenna due to the switching made through the antenna elements and the asynchronous nature of the client transmissions.
Reference is first made to
There is back-end infrastructure that is used for control and other functions of the WLAN. Specifically, the APs 20(1) and 20(2) connect to a wired local area network 30 to which are also connected a WLAN controller 50 and a mobility services server 60. The WLAN controller 50 performs control functions for the APs 20(1)-20(N) and clients 40(1)-40(M). In addition, the mobility services server 60 performs, among other things, location functions to track the locations of clients based on data gathered from signals received at one or more APs (or at other wireless devices at fixed locations). The WLAN controller 50 and mobility services server 60 may reside on the same physical apparatus, or may be applications running on a data center. Thus, both the WLAN controller 50 and mobility services server 60 are not required in order to performance the techniques presented herein.
The APs 20(1)-20(N) may employ a switched antenna array.
Using a switched antenna array as shown in
Reference is now made to
The AP 20(i) includes a baseband processor (e.g., modem) 300, a plurality of transmitters 302(1)-302(K), a plurality of receivers 304(1)-304(K), a plurality of antennas 306(1)-306(K), a controller 320 and a memory 330. The plurality of transmitters 302(1)-302(K) and plurality of receivers 304(1)-304(K) may be integrated as part of a radio, e.g., the radio 110 shown in
The baseband processor 300 may be implemented by fixed or programmable digital logic gates, such as in the form of an application specific integrated circuit (ASIC), or may be implemented by a dedicated digital signal processor, microprocessor or microcontroller. The CSI generation logic 310 is only one of several functional blocks of the baseband processor 300, and again, it may be implemented by digital logic gates or by instructions executed by a microprocessor.
The controller 320 is coupled to the baseband processor 300 and provides higher level control for the AP 20(i). The controller 320 may be a microprocessor or microcontroller. The memory 330 stores instructions that the controller 320 executes to perform the control functions of the AP 20(i). Among these functions are operations performed when the controller 320 executes the location control software 340 stored in memory 330.
The memory 330 may comprise read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices. Thus, in general, the memory 330 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the controller 320) it is operable to perform the operations described herein. Moreover, the functions of the CSI generation logic 310 may take the form of software stored in memory 330 and executed by the controller 320.
The AP 20(i) further includes a network interface unit 350, e.g., an Ethernet card, which enables the AP 20(i) to communicate over a wired network. The network interface unit 350 thus enables the AP 20(i) to receive commands from the WLAN controller 50 or mobility services server 60, and to send data, such as channel state information data or subcarrier group specific data for each of a plurality of groups of subcarriers.
Presented herein are three methods to obtain AoA estimates using switched antenna arrays for OFDMA. In all cases, a reference path is used for both AoA estimation and decoding the frame in order obtain a media access control (MAC) address and other identifier information from the frame.
For the embodiments shown in
The embodiment shown in
The embodiments depicted in
For purposes of the descriptions below, an AoA vector A is determined by the computation A=angle(conj(Href)*HT.
Reference is now made to
A start-of-packet (SOP) detect time synchronization (sync) function 410 receives the Path A I and Q samples and Path B I and Q samples. The output of the SOP detect time sync function 410 is coupled to a Fast Fourier Transform (FFT) function 420 and similarly the Path B I and Q samples are coupled to a FFT function 430.
In the embodiment of
Operation of the embodiment of
More specifically, first, the SOP detect time sync block 410 looks for a start-of-packet and the channel estimation Path A function 440 generates the channel estimate for the reference path, Path A, using a training field included in the packet. The channel estimate for Path A is saved for later decoding of the frame with the reference path as in normal 802.11/Wi-Fi receive processing. The channel estimate for Path A is also used by the equalizer and snap function 450 to equalize the output of the FFT for Path A in order to determine the training values for a symbol.
The equalizer and snap function 450 equalizes the output of the FFT 420 and snaps it to the nearest constellation point based on the known modulation coding scheme from the decoding of the SIG field, for example, by the decoder 455. The equalized/snapped values generated by the equalizer and snap function 450 are supplied to the channel estimation Path B function 445 to generate the channel estimate for Path B during any symbol. The symbol timer 400 is used to control the physical antenna switching as well as to route the output of the Path B switched antenna channel estimate into a corresponding index in the composite channel estimate cache function 460.
After a channel estimation is obtained for full set of antennas (antennas 22(2)-22(K)), the CSI for any particular user is converted to a phase estimate. The cache 480 saves the mapping of the clients to the subcarriers allocation (i.e., RU's) from the trigger frame. The CSI to AoA vector function 470 takes into consideration the signal-to-noise (SNR) of each subcarrier of the reference Path A channel estimate in order to limit the impact of poor SNR from the reference path on the channel estimates of the switched path. Using data derived from the trigger frame stored in the cache 480, the AoA vectors computed for the various RU's may be mapped to actual client MAC addresses or to other client identifier information.
Reference is now made to
Several functional blocks from the scheme depicted in
This CSI estimation logic 310′ operations similar to the CSI estimation logic 310 of
Specifically, the channel estimation Path A function 440 computes a channel estimation of Path A based on the output of the FFT 420 and supplies that estimate to the equalizer 500. The equalizer 500 also receives as input the output of the FFT 420 and produces an equalized Path A output that is supplied to the demodulator 520. The demodulator 520 demodulates the equalized Path A output to produce demodulated Path A data that is supplied to the decoder 455. The decoder 455 decodes the demodulated Path A data to produce decoded symbol data for an entire packet/frame. The modulator 530 remodulates the decoded symbol data (in the frequency domain) and is saved to the Path A remodulated frequency domain symbol cache 540. The channel estimation Path B function 445 operations on the output of the FFT 430 for Path B and the demodulated frequency domain symbol from cache 540 to output a channel estimate for Path B to the composite channel estimate function 460′. The composite channel estimate function 460′ operates only on the channel estimate for Path B, unlike the composite channel estimate function 460 which operates on the channel estimate for Path A and the channel estimate for Path B. The CSI-to-AoA estimate function 470 generates an AoA estimate using the composite CSI estimate output by the composite channel estimate function 460′.
In the scheme depicted in
As shown in
Reference is now made to
The method 500 may further include equalizing the first channel estimate to produce an equalized first channel estimate, and wherein the decoding operation 550 is based on the equalized first channel estimate. Furthermore, the method 500 may further include determining (i.e., “snapping”), for the symbol data, a nearest constellation point of a modulation scheme. In this case, the operation 560 of computing the second channel estimate uses the nearest constellation point of the modulation scheme as known values when computing the second channel estimate from the plurality of antenna-specific receive signals. Further still, the method 500 may further include based on the decoding operation 550, storing resource unit information describing allocation of a sub-band to a corresponding one of the one or more source devices; and wherein the operation 580 of computing the angle of arrival vector is based on the resource unit information.
Moreover, the method 500 may further include performing start-of-packet detection and synchronization based at least on the at least one reference receive signal, such that the operation 540 of computing the first channel estimate is based on a training data included in a detected packet or frame.
As depicted in
Furthermore, the operation 580 may involve computing a plurality of angle of arrival vectors, one for each of a plurality of sub-bands, each of which is associated with a corresponding one of a plurality of source devices. In this case, using stored data derived from a received trigger frame, the wireless device may map respective ones of the angle of arrival vectors computed for the plurality of sub-bands to an address or identifier information for respective ones of the plurality of source devices.
Turning now to
The operation 680 of converting the cross correlation outputs to an angle of arrival vector for each source device of the one or more source devices may be based on allocation of the sub-bands to each of the one or more source devices. The method 600 may further include equalizing the first channel estimate to produce an equalized first channel estimate; demodulating the equalized first channel estimate to produce demodulated data; and wherein the decoding operation 650 is based on the demodulated data.
It some embodiments, the computations performed at operations 540-590 of method 500 and at operations 640-690 of method 600 may be performed at a different device, such as a WLAN controller or mobility services server (as depicted in
In the embodiments presented above, the antenna used for the reference path and the switched antennas may reside on different wireless devices. For example, the at least one designated antenna (used for the reference path) may reside on a first wireless device, and the plurality of antennas, excluding the at least one designated antenna, may reside on a second wireless device. For example, an access point may save I/Q sample data from Path B into local memory for use after reference data for Path A is provided. Therefore, an access point without sufficient signal-to-interference-plus-noise (SINR) to decode a signal could still provide AoA data.
In still another variation, Path A is one or more antenna paths. Each Path B symbol is cross correlated to each spatial stream, and AoA measurements are generated for any symbol with a correlation above some threshold. Further still, the demodulated data could be used as if it was from N antennas, and the array is used to calculate channel state information for antenna N+1.
To summarize, in one form, a method is provided comprising: detecting at a plurality of antennas of at least one wireless device, energy spanning a frequency bandwidth that may include a transmission from each of one or more source devices, wherein a transmission from a source device occupies a unique set of subcarriers in a sub-band of the frequency bandwidth; generating at least one reference receive signal from at least one designated antenna; switching among the plurality of antennas, excluding the at least one designated antenna, over time, to generate a plurality of antenna-specific receive signals for a corresponding antenna state, each for a different time interval; computing a first channel estimate based on the at least one reference receive signal; decoding at least a portion of a frame for one of the transmissions based on the first channel estimate to recover symbol data; computing a second channel estimate based on the plurality of antenna-specific receive signals; generating a composite channel estimate from at least one of the first channel estimate and the second channel estimate; using the composite channel estimate, computing an angle of arrival vector for a transmission from a corresponding source device of the one or more source devices; and deriving a location estimate for the corresponding source device of the one or more source devices based at least in part on the angle of arrival vector for the corresponding source device.
In another form, one or more non-transitory computer readable storage media are provided that are encoded with instructions, that when executed by a processor (or a wireless communication device), cause the processor to: cause detection at a plurality of antennas of at least one wireless device, of energy spanning a frequency bandwidth that may include a transmission from each of one or more source devices, wherein a transmission from a source device occupies a unique set of subcarriers in a sub-band of the frequency bandwidth; generate at least one reference receive signal from at least one designated antenna; switch among the plurality of antennas, excluding the at least one designated antenna, over time, to generate a plurality of antenna-specific receive signals for a corresponding antenna state, each for a different time interval; compute a first channel estimate based on the at least one reference receive signal; decode at least a portion of a frame for one of the transmissions based on the first channel estimate to recover symbol data; compute a second channel estimate based on the plurality of antenna-specific receive signals; generate a composite channel estimate from at least one of the first channel estimate and the second channel estimate; using the composite channel estimate, compute an angle of arrival vector for a transmission from a corresponding source device of the one or more source devices; and derive a location estimate for the corresponding source device of the one or more source devices based at least in part on the angle of arrival vector for the corresponding source device.
In another form, an apparatus is provided comprising: a plurality of antennas configured to detect wireless transmissions spanning a frequency bandwidth that may include a transmission from each of one or more source devices, wherein a transmission from a source device occupies a unique set of subcarriers in a sub-band of the frequency bandwidth; a first radio receiver coupled to a first antenna of the plurality of antennas, the first radio receiver configured to generate at reference receive signal; a second radio receiver; a switch coupled to the plurality of antennas excluding the first antenna, and to the second radio receiver, the switch configured to switch over time among the plurality of antennas excluding the first antenna to connect one of the plurality of antennas, excluding the first antenna, to the second radio receiver to generate a plurality of antenna-specific receive signals for a corresponding antenna state, each for a different time interval; a processor coupled to the first radio receiver and the second radio receiver, wherein the processor is configured to: compute a first channel estimate based on the at least one reference receive signal; decode at least a portion of a frame for one of the transmissions based on the first channel estimate to recover symbol data; compute a second channel estimate based on the plurality of antenna-specific receive signals; generate a composite channel estimate from at least one of the first channel estimate and the second channel estimate; using the composite channel estimate, compute an angle of arrival vector for a transmission from a corresponding source device of the one or more source devices; and derive a location estimate for the corresponding source device of the one or more source devices based at least in part on the angle of arrival vector for the corresponding source device.
In another embodiment, a method is provided comprising: detecting at a plurality of antennas of at least one wireless device, energy spanning a frequency bandwidth that may include a transmission from each of one or more source devices, wherein a transmission from a source device occupies a unique set of subcarriers in a sub-band of the frequency bandwidth; generating at least one reference receive signal from at least one designated antenna; switching among the plurality of antennas, excluding the at least one designated antenna, over time, to generate a plurality of antenna-specific receive signals for a corresponding antenna state, each for a different time interval; computing a first channel estimate based on the at least one reference receive signal; decoding at least a portion of a frame for one of the transmissions based on the first channel estimate to recover symbol data; filtering samples of the plurality of antenna-specific receive signals with a filter bank that separates antenna-specific receive signals for a corresponding source device of the one or more source devices, to produce a filtered output; performing a cross correlation on the filtered output to generate a plurality of cross correlation outputs, one for each of the plurality of antennas, excluding the at least one designated antenna, to produce cross correlation outputs that comprise separate cross correlation samples for each antenna state; storing the cross correlation samples mapped by antenna state and filter bank index associated with a corresponding source device; converting the cross correlation outputs to an angle of arrival vector for each source device of the one or more source devices; and deriving a location estimate for the corresponding source device of the one or more source devices based, at least in part, on the angle of arrival vector for the corresponding source device.
In still another form, an apparatus is provided comprising: a plurality of antennas configured to detect wireless transmissions spanning a frequency bandwidth that may include a transmission from each of one or more source devices, wherein a transmission from a source device occupies a unique set of subcarriers in a sub-band of the frequency bandwidth; a first radio receiver coupled to a first antenna of the plurality of antennas, the first radio receiver configured to generate at reference receive signal; a second radio receiver; a switch coupled to the plurality of antennas excluding the first antenna, and to the second radio receiver, the switch configured to switch over time among the plurality of antennas excluding the first antenna to connect one of the plurality of antennas, excluding the first antenna, to the second radio receiver to generate a plurality of antenna-specific receive signals for a corresponding antenna state, each for a different time interval; and a processor coupled to the first radio receiver and the second radio receiver, wherein the processor is configured to: compute a first channel estimate based on the at least one reference receive signal; decode at least a portion of a frame for one of the transmissions based on the first channel estimate to recover symbol data; filter samples of the plurality of antenna-specific receive signals with a filter bank that separates antenna-specific receive signals for a corresponding source device of the one or more source devices, to produce a filtered output; perform a cross correlation on the filtered output to generate a plurality of cross correlation outputs, one for each of the plurality of antennas, excluding the at least one designated antenna, to produce cross correlation outputs that comprise separate cross correlation samples for each antenna state; store the cross correlation samples mapped by antenna state and filter bank index associated with a corresponding source device; convert the cross correlation outputs to an angle of arrival vector for each source device of the one or more source devices; and derive a location estimate for the corresponding source device of the one or more source devices based, at least in part, on the angle of arrival vector for the corresponding source device.
In still another form, one or more non-transitory computer readable storage media are provided encoded with instructions that, when executed by a processor of a wireless communication device, cause the processor to: cause detection at a plurality of antennas of at least one wireless device, of energy spanning a frequency bandwidth that may include a transmission from each of one or more source devices, wherein a transmission from a source device occupies a unique set of subcarriers in a sub-band of the frequency bandwidth; generate at least one reference receive signal from at least one designated antenna; switch among the plurality of antennas, excluding the at least one designated antenna, over time, to generate a plurality of antenna-specific receive signals for a corresponding antenna state, each for a different time interval; compute a first channel estimate based on the at least one reference receive signal; decode at least a portion of a frame for one of the transmissions based on the first channel estimate to recover symbol data; filter samples of the plurality of antenna-specific receive signals with a filter bank that separates antenna-specific receive signals for a corresponding source device of the one or more source devices, to produce a filtered output; perform a cross correlation on the filtered output to generate a plurality of cross correlation outputs, one for each of the plurality of antennas, excluding the at least one designated antenna, to produce cross correlation outputs that comprise separate cross correlation samples for each antenna state; store the cross correlation samples mapped by antenna state and filter bank index associated with a corresponding source device; convert the cross correlation outputs to an angle of arrival vector for each source device of the one or more source devices; and derive a location estimate for the corresponding source device of the one or more source devices based, at least in part, on the angle of arrival vector for the corresponding source device.
The above description is intended by way of example only. Various modifications and structural changes may be made therein without departing from the scope of the concepts described herein and within the scope and range of equivalents of the claims.