Enhanced multiple input, multiple output detection in wireless local area networks

Methods, systems, and devices for wireless communication are described. A wireless communication device may receive multiple data streams from one or more users, associate the multiple data streams with different user groups, and identify modulation symbols for the users after reducing signal contribution from modulation symbols associated with different user groups. For example, the device may receive a signal including multiple spatial streams, partition the data streams into different user groups, and determine a set of sequences from channel characteristics associated with the respective user groups. The wireless communication device may then apply the sequences to the received signal and to values associated with the channel characteristics. Subsets of values may be selected following the application of the sequences, and from the subsets of values, the wireless communication device may identify the sets of modulation symbols associated with one or more of the user groups.

BACKGROUND

The following relates generally to wireless communication at a first wireless communication device, and more specifically to enhanced multiple input, multiple output (MIMO) detection in wireless local area networks.

Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be multiple-access systems capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power). A wireless network, for example a WLAN, such as a Wi-Fi (i.e., Institute of Electrical and Electronics Engineers (IEEE) 802.11) network may include an access point (AP) that may communicate with one or more stations or mobile devices. The AP may be coupled to a network, such as the Internet, and may enable a mobile device to communicate via the network (or communicate with other devices coupled to the access point). A wireless communication device may communicate with a network device bi-directionally. For example, in a WLAN, a station may communicate with an associated AP via DL and UL. The DL (or forward link) may refer to the communication link from the AP to the station, and the UL (or reverse link) may refer to the communication link from the station to the AP.

Some wireless communication devices may communicate with other wireless communication devices using one or more antenna subarrays for communication of signals between a transmitter and receiver (e.g., MIMO communications). For example, a transmission from a single user using multiple spatial streams may be called single user MIMO (SU-MIMO), while a transmission from multiple users may be referred to as multi-user MIMO (MU-MIMO). In such cases, a device configured for MIMO may receive a signal using a plurality of antennas, and the signal may include multiple data streams from one or more transmitting wireless communication devices. Because the signal may include a superposition of modulation symbols for each data stream, processing the signal to separate and retrieve the individual symbols may be complex and power intensive.

SUMMARY

The described techniques relate to improved methods, systems, devices, or apparatuses that support enhanced multiple-input multiple-output (MIMO) detection. A wireless communication device may receive multiple data streams from one or more users and associate the multiple data streams with different user groups. The device may then identify the modulation symbols for the one or more users after reducing signal contribution associated with different user groups. For example, the device may receive a signal including multiple spatial streams, partition the data streams into different user groups, and determine a set of sequences (e.g., rotation sequences) from channel characteristics associated with the respective user groups. The wireless communication device may then apply the sequences to the received signal and to values associated with the channel characteristics. Subsets of values may be selected following the application of the sequences, and from these subsets of values, the wireless communication device may identify the sets of modulation symbols associated with the respective user groups. The enhanced MIMO detection may, for example, employ low-complexity Givens rotations-based null-projection to remove signal contribution from some user groups and more easily determine signals from other user groups.

A method of wireless communication at a first wireless device is described. The method may include receiving a plurality of data streams from a second wireless communication device via a communication channel between the first wireless communication device and the second wireless communication device, identifying, from a first set of data streams of the plurality of data streams, a first set of modulation symbols based at least in part on a plurality of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device, identifying, from a second set of data streams of the plurality of data streams, a second set of modulation symbols based at least in part on the plurality of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device, and demodulating the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data.

An apparatus for wireless communication at a first wireless device is described. The apparatus may include means for receiving a plurality of data streams from a second wireless communication device via a communication channel between the first wireless communication device and the second wireless communication device, means for identifying, from a first set of data streams of the plurality of data streams, a first set of modulation symbols based at least in part on a plurality of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device, means for identifying, from a second set of data streams of the plurality of data streams, a second set of modulation symbols based at least in part on the plurality of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device, and means for demodulating the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data.

Another apparatus for wireless communication at a first wireless device is described. The apparatus may include a processor, memory in electronic communication with the processor, and instructions stored in the memory. The instructions may be operable to cause the processor to receive a plurality of data streams from a second wireless communication device via a communication channel between the first wireless communication device and the second wireless communication device, identify, from a first set of data streams of the plurality of data streams, a first set of modulation symbols based at least in part on a plurality of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device, identify, from a second set of data streams of the plurality of data streams, a second set of modulation symbols based at least in part on the plurality of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device, and demodulate the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data.

In some examples of the method and apparatus described above, identifying the second set of modulation symbols based at least in part on the plurality of characteristics of the communication channel includes: determining, based at least in part on a first characteristic of the communication channel, a first sequence associated with the first set of modulation symbols. Some examples of the method and apparatus described above may further include processes, features, means, or instructions for applying the first sequence to the plurality of data streams and a set of values that may be based at least in part on a second characteristic of the communication channel. Some examples of the method and apparatus described above may further include processes, features, means, or instructions for identifying the second set of modulation symbols from the plurality of data streams based at least in part on application of the first sequence.

Some examples of the method and apparatus described above may further include processes, features, means, or instructions for selecting a first subset of values and a second subset of values from the plurality of data streams after application of the first sequence. Some examples of the method and apparatus described above may further include processes, features, means, or instructions for identifying the second set of modulation symbols based at least in part on a comparison of the first subset of values and the second subset of values.

In some examples of the method and apparatus described above, identifying the first set of modulation symbols based at least in part on the plurality of characteristics of the communication channel includes: determining, based at least in part on the second characteristic of the communication channel, a second sequence associated with the second set of modulation symbols. Some examples of the method and apparatus described above may further include processes, features, means, or instructions for applying the second sequence to the plurality of data streams and a set of values that may be based at least in part on the first characteristic of the communication channel. Some examples of the method and apparatus described above may further include processes, features, means, or instructions for identifying the first set of modulation symbols from the plurality of data streams based at least in part on application of the second sequence.

Some examples of the method and apparatus described above may further include processes, features, means, or instructions for selecting a third subset of values and a fourth subset of values from the plurality of data streams after application of the second sequence. Some examples of the method and apparatus described above may further include processes, features, means, or instructions for identifying the first set of modulation symbols based at least in part on a comparison of the third subset of values and the fourth subset of values.

In some examples of the method and apparatus described above, the first sequence may be determined based at least in part on a first QR decomposition and the second sequence may be determined based at least in part on a second QR decomposition.

In some examples of the method and apparatus described above, the plurality of data streams includes a spatially multiplexed, MIMO data stream. In some examples of the method and apparatus described above, the plurality of data streams includes an eight-by-one dimensional (8×1) MIMO data stream. In some examples of the method and apparatus described above, the first wireless communication device includes a member of a first user group and the second wireless communication device includes a member of a second user group.

Some examples of the method and apparatus described above may further include processes, features, means, or instructions for receiving a plurality of pilot signals from the second wireless communication device. Some examples of the method and apparatus described above may further include processes, features, means, or instructions for determining the plurality of characteristics of the communication channel based at least in part on the plurality of pilot signals.

DETAILED DESCRIPTION

A wireless communication device may receive multiple data streams from one or more transmitting devices and associate sets of the data streams with different user groups. The wireless communication device may identify modulation symbols for one or more user groups by reducing signal contribution associated other user groups. The wireless communication device may employ enhanced MIMO detection methods, such as a low-complexity Givens rotation-based null-projection, to identify the sets of modulation symbols associated with the respective user groups. This may allow for MIMO detection with less computational complexity or power intensity than other MIMO detection schemes.

By way of example, a MIMO signal may include a superposition of spatially multiplexed data streams from one or more transmitting devices. A receiving device operating without the enhanced MIMO detection techniques described herein may perform several QR decompositions (e.g., on a MIMO channel matrix) to retrieve each data stream from the MIMO signal. As used herein, QR decomposition may refer to a decomposition of a matrix into product of a unitary matrix Q and an upper triangular matrix R. QR decompositions may be computationally intensive, and a device capable of MIMO communication may use extensive processing power to retrieve data of each user group. However, for a receiving device operating with the enhanced MIMO detection techniques described herein, a rotation sequence may be applied to reduce signal contribution of a first user group such that the device may more easily detect a data stream of a second user group, and vice versa. So the techniques described herein may result in reduced complexity for a receiving device in detecting modulation symbols associated with one or more transmitting devices.

For example, and as discussed in further detail below, the device may receive a signal y, the signal including a superposition of spatial streams from one or more transmitting devices and modeled by the equation
y=Hx+n(1)
where H is a matrix representing a channel over which the signal was transmitted, x is a modulated data stream vector, and n models additive noise.

The device may divide the streams into two user groups such that the incoming signal can be modeled by the equation
y=H1x1+H2x2+n(2)
where, for example, y is a vector representing the incoming signal, H1and H2are channel matrices obtained by dividing the original channel matrix H into two parts, vectors x1and x2are partitioned vectors obtained from the original modulated data stream x and denote the two user groups. The device may perform a QR decomposition on the channel characteristic matrix of the second user group to determine a rotation sequence (e.g., based on Q of the QR decomposition of H2). Applying the rotation sequence to the incoming signal (y) and another channel characteristic matrix (H1) may reduce transmission contribution of the second user group, which may assist detection of symbols of the first user group. The device may apply (e.g., by multiplication) the rotation sequence to the columns of the first user group's channel characteristic matrix, resulting in another matrix, and to the vector representing the incoming signal, resulting in another vector. The device may then analyze the resulting vector and matrix in a MIMO detector, such as a near-maximum-likelihood (near-ML) MIMO detection engine to determine the modulation symbols in x1

In other examples, the device may use null projection to reduce signal contribution of a first user group and detect symbols for a second user group, then the device may use a whitening matrix to determine symbols for the first user group. For example, to detect symbols for the second user group, the device may use a null projection P2to remove signal contribution of the first user group (e.g., P2H1=0, thus P2y=P2H2x2+n). The device may apply P2to the received signal and the channel characteristic matrix of the second user group and submit the resulting matrix and vector to the near-ML MIMO detection engine.

The device may then determine a set of log-likelihood ratios (LLRs) corresponding to the modulation symbols in x2and determine the modulation symbols based on the LLRs. After detecting the modulation symbols in x2, the device may determine the modulation symbols of the first user group by applying a whitening matrix W to whiten noise and residual interference. By using the whitening matrix, the device may perform fewer QR decompositions, and may refrain from using a combining matrix, or performing significant squaring of matrices, which may result in reduced complexity and decibel improvement.

Aspects of the disclosure introduced above are described below in the context of a wireless communications system. Exemplary diagrams illustrating computational aspects structure supporting enhanced MIMO detection are then described. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flowcharts that relate to low-complexity Givens rotations-based null-projection MIMO detection.

FIG. 1illustrates a wireless local area network (WLAN)100(also known as a Wi-Fi network) configured in accordance with various aspects of the present disclosure. The WLAN100may include an access point (AP)105and multiple associated stations115, which may represent devices such as mobile stations, personal digital assistant (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptops, display devices (e.g., TVs, computer monitors, etc.), printers, etc. The AP105and the associated stations115may represent a basic service set (BSS) or an extended service set (ESS). The various stations115in the network are able to communicate with one another through the AP105. APs105or stations115, or both, may be configured for enhanced MIMO detection. For instance, APs105and stations115may employ a low-complexity Givens rotation-based null-projection techniques described herein.

Also shown is a coverage area110of the AP105, which may represent a basic service area (BSA) of the WLAN100. An extended network station (not shown) associated with the WLAN100may be connected to a wired or wireless distribution system that may allow multiple APs105to be connected in an ESS. WLAN100may support low-complexity Givens rotations-based null-projection MIMO detection.

Although not shown inFIG. 1, a station115may be located in the intersection of more than one coverage area110and may associate with more than one AP105. A single AP105and an associated set of stations115may be referred to as a BSS. An ESS is a set of connected BSSs. A distribution system (not shown) may be used to connect APs105in an ESS. In some cases, the coverage area110of an AP105may be divided into sectors (also not shown). The WLAN100may include APs105of different types (e.g., metropolitan area, home network, etc.), with varying and overlapping coverage areas110. Two stations115may also communicate directly via a direct wireless link125regardless of whether both stations115are in the same coverage area110. Examples of direct wireless links120may include Wi-Fi Direct connections, Wi-Fi Tunneled Direct Link Setup (TDLS) links, and other group connections. Stations115and APs105may communicate according to the WLAN radio and baseband protocol for physical and medium access control (MAC) layers from IEEE 802.11 and versions including, but not limited to, 802.11b, 802.11g, 802.11a, 802.11n, 802.11ac, 802.11ad, 802.11ah, 802.11ax, etc. In other implementations, peer-to-peer connections or ad hoc networks may be implemented within WLAN100.

In some cases, a station115(or an AP105) may be detectable by a central AP105, but not by other stations115in the coverage area110of the central AP105. For example, one station115may be at one end of the coverage area110of the central AP105while another station115may be at the other end. Thus, both stations115may communicate with the AP105, but may not receive the transmissions of the other. This may result in colliding transmissions for the two stations115in a contention based environment (e.g., carrier sense multiple access (CSMA) or collision avoidance (CA)) because the stations115may not refrain from transmitting on top of each other. A station115whose transmissions are not identifiable, but that is within the same coverage area110may be known as a hidden node. CSMA/CA may be supplemented by the exchange of a request-to-send (RTS) packet transmitted by a sending station115(or AP105) and a clear-to-send (CTS) packet transmitted by the receiving station115(or AP105). This may alert other devices within range of the sender and receiver not to transmit for the duration of the primary transmission. Thus, RTS/CTS may help mitigate a hidden node problem.

A station115may be configured to collaboratively communicate with multiple, other wireless communication devices such as APs105and other stations115through, for example, MIMO, Coordinated Multi-Point (CoMP), or other schemes. MIMO techniques use multiple antennas on the base stations or multiple antennas on the station115to take advantage of multipath environments to transmit multiple data streams. A transmission from a single user using multiple spatial streams may be called single user MIMO (SU-MIMO), while a transmission from multiple users may be referred to as multi-user MIMO (MU-MIMO). CoMP includes techniques for dynamic coordination of transmission and reception by a number of APs to improve overall transmission quality for stations115as well as increasing network and spectrum utilization.

Modulation is the process of representing a digital signal by modifying the properties of a periodic waveform (e.g., frequency, amplitude and phase). Demodulation takes a modified waveform and generates a digital signal. A modulated waveform may be divided into time units known as symbols. Each symbol may be modulated separately. In a wireless communication system that uses narrow frequency subcarriers to transmit distinct symbols, the modulation is accomplished by varying the phase and amplitude of each symbol. For example, a binary phase-shift keying (BPSK) modulation scheme conveys information by alternating between waveforms that are transmitted with no phase offset or with a 180° offset (i.e., each symbol conveys a single bit of information). In a quadrature amplitude modulation (QAM) scheme, two carrier signals (known as the in-phase component, I, and the quadrature component, Q) may be transmitted with a phase offset of 90°, and each signal may be transmitted with specific amplitude selected from a finite set. The number of amplitude bins determines the number of bits that are conveyed by each symbol. For example, in a 16 QAM scheme, each carrier signal may have one of four amplitudes (e.g., −3, −1, 1, 3), which results in 16 possible combinations (i.e., 4 bits). The various possible combinations may be represented in a graph known as a constellation map, where the amplitude of the I component is represented on the horizontal axis and the Q component is represented on the vertical axis.

A Givens rotation may be used to zero an index of a two-dimensional matrix, A, by rotating the matrix in a plane spanned by two coordinate axes. A wireless communication device may use Givens rotations to produce an upper triangular matrix (e.g., R) and a rotation matrix or sequence (e.g., Q) for a QR decomposition. Q may be used to null values of A, but other matrices or vectors (e.g., such as noise) may preserve their values under the same application. Thus Givens rotations-based null projection may refer to using a rotation sequence determined from a number of Givens rotations on a matrix such that, after applying the rotation sequence, values for some matrices are preserved and values of other matrices are nulled or canceled.

In WLAN100, a wireless communication device, such as an AP105or a station115, may receive multiple data streams from one or more users and associate the multiple data streams with different user groups. The wireless communication device may then identify the modulation symbols for the one or more users after reducing signal contributions associated with different user groups. For example, the wireless communication device may receive a signal including multiple spatial streams, partition the data streams into different user groups, and determine a set of sequences (e.g., rotation sequences) from channel characteristics associated with the respective user groups. The wireless communication device may then apply the sequences to the received signal and to values associated with the channel characteristics. Subsets of values may be selected following the application of the sequences, and from these subsets of values, the wireless communication device may identify the sets of modulation symbols associated with the respective user groups.

FIG. 2illustrates an example of a wireless communications system200for low-complexity Givens rotations-based null-projection MIMO detection. Wireless communications system200includes multiple wireless communication devices201, which may be examples of an AP105or a station115as described with reference toFIG. 1. For example, both a first wireless communication device201and second wireless communication device202may be APs105communicating with each other using MIMO transmissions over a communication channel. In such cases, first wireless communication device201may receive a signal including a set of incoming data streams205that include a set of modulation symbols210transmitted by second wireless communication device202on a set of resources, where the set of resources may overlap in time or frequency, or both. Alternatively, data streams205may be transmitted by multiple stations115(not shown), where each station115may, for example, transmit its own data stream205(e.g., eight stations115may communicate with a single AP105, and each station115may share the same time and frequency resources). In either case, the first wireless communication device201may receive and detect the set of modulation symbols210simultaneously, and attempt to demodulate the set of modulation symbols210using, for example, Givens rotations-based null-projection MIMO detection. Wireless communications system200may be an example of a MIMO detection scheme implementation in wireless communication devices that enables efficient, low-complexity, detection of modulation symbols210transmitted on multiple data streams205.

For example, first wireless communication device201may partition or divide the sets of data streams of the incoming data streams205between user groups, and the first wireless communication device201may determine modulation symbols210associated with a certain user group by reducing a signal contribution of other user groups. In such cases, first wireless communication device201may receive data streams205at an antenna, represented by y, corresponding to a superposition of spatial streams, where the received signal at the antenna is modeled by Equation 1, discussed above. In such examples, y may be a vector representing the received signal at first wireless communication device201, and the signal may include a superposition of the incoming data streams205. The first wireless communication device201may partition the spatial streams between two user groups. In Equation 2, as applied to the example depicted inFIG. 2, H1and H2may be channel matrices modeling characteristics of the channel used to transmit modulation symbols210(e.g., channel characteristics between transmit and receive antennas at second wireless communication device202and first wireless communication device201, respectively) and partitioned for respective user groups, vectors x1and x2represent partitioned vectors obtained from the data streams205and include modulation symbols210for respective user groups, and vector n represents an additive noise. In some examples, x1and x2may include symbols transmitted from a varying number of devices. For example, if the device has 8 receive antennas, x1and x2may each include 4 symbols, but each symbol in x1may be transmitted from different wireless communication devices while each symbol in x2may be transmitted by a single, different wireless communication device. The number of receive antennas, user groups, and devices in each user group may be different or configurable.

In some examples, first wireless communication device201, may determine modulation symbols210for a first user group (x1) based on a rotation sequence of the channel characteristics associated with a second user group (e.g., channel characteristic matrix, H2). First wireless communication device201may perform a QR decomposition on the channel characteristic matrix of the second user group to determine the rotation sequence (e.g., based on Q of the QR decomposition of H2). Applying the rotation sequence to the received signal and another channel characteristic matrix (e.g., channel characteristic matrix, H1) may reduce a transmission contribution of the second user group, which may enable detection of modulation symbols210for the first user group.

First wireless communication device201may apply (e.g., by multiplication) the rotation sequence to the columns of the first user group's channel characteristic matrix, resulting in another matrix, and to the vector representing the incoming signal, resulting in another vector. First wireless communication device201may then use the resulting vector and matrix in a MIMO detector (e.g., a near-maximum-likelihood (near-ML) MIMO detection engine) to determine the modulation symbols210in x1. In some cases, first wireless communication device201may use a lower section of entries from the resulting matrix and vector in the near-ML MIMO detection engine to determine the set of modulation symbols210associated with the first user group. Thus, first wireless communication device201may reduce a total number of QR decompositions used to obtain the set of modulation symbols210by applying a rotation sequence from an already performed QR decomposition.

As described above, the rotation sequence for a user group may be determined based on a QR decomposition of the channel characteristic matrix for the respective user group. Accordingly, the channel characteristic matrix for the first user group may be expressed as H1=Q1R1after the QR decomposition. Q1R1may be further expanded into

Q1H=[Q1⁢aHQ1⁢bH],
the lower (Nrx−N1) entries of the rotation output may correspond to multiplying by Q1bH. In some examples, the wireless communication device may construct matrices H1and H2such that the matrices have common columns.

By applying the rotation sequence to the received signal and using the lower entries of the resulting vector, first wireless communication device201may cancel signal contribution of another user group. For example, to remove signal contribution of the first user group, first wireless communication device201may apply the rotation sequence of the first user group to the received signal y and take the lower entries of the output (e.g., multiply by Q1bH) as follows
Q1bHy=Q1bHH1x1+Q1bHH2x2+Q1bHn(3)
which may be simplified to
Q1bHy=Q1bHH2x2+Q1bHn(4)
where there may be no contribution from x1because Q1bHH1=0. After applying the rotation sequence to the received signal and channel characteristic matrices, the lower entries from resulting matrices and vectors may be used in a MIMO detector to determine modulation symbols210of one user group without signal contribution of the other user group. Applying the rotation sequence to the received signal and the channel matrices may reduce a number of QR decompositions and rotation sequence applications, which may reduce complexity by avoiding unnecessary operations and may lead to area reduction and increased precision at first wireless communication device201.

In some examples, first wireless communication device201may determine x1based on the rotation sequence corresponding to H2. For instance, first wireless communication device201may determine the rotation sequence by performing the QR decomposition on H2(e.g., the channel characteristics corresponding to a channel used by the second user group, x2), and first wireless communication device201may then apply the rotation sequence to the columns of H1. First wireless communication device201may keep the lower Nrx−N2entries of each of the rotated N1columns of H1to yield a (Nrx−N2)×N1matrix, where N2is the number of columns in H2. First wireless communication device201may then enter the (Nrx−N2)×N1matrix into a MIMO detector.

First wireless communication device201may also apply the rotation sequence corresponding to H2to y and keep the lower Nrx−N2entries of the rotated vector, which may remove signal contributions of the second user group. In some examples, the wireless communication device may determine H2from channel estimation based on the received signal and previously received pilot signals. Applying the rotation sequence to y may yield a (Nrx−N2)×1 vector, and first wireless communication device201may use the (Nrx−N2)×1 vector in conjunction with the (Nrx−N2)×N1matrix in the MIMO detector to detect the set of symbols in the vector x1. Thus, first wireless communication device201may determine the modulation symbols210in the vector x1by using a known matrix (e.g., lower entries of H1with the applied rotation sequence) and a known input signal (e.g., lower entries of y with the applied rotation sequence to remove contribution from x2). First wireless communication device201may determine the modulation symbols210in x1based on the corresponding LLRs received from the MIMO detector.

Similarly, first wireless communication device201may determine x2based on a rotation sequence corresponding to H1. For example, first wireless communication device201may determine the rotation sequence corresponding to H1(e.g., the channel corresponding to the other user group, x1) and apply the rotation sequences to the columns of H2. First wireless communication device201may keep the lower Nrx−N1entries of each of the rotated N2columns of H2to yield a (Nrx−N1)×N2matrix. First wireless communication device201may then enter the (Nrx−N1)×N2matrix in the MIMO detector. First wireless communication device201may apply the rotation sequence corresponding to H1to y and keep the lower Nrx−N1entries of the rotated vector, which may remove signal contributions of the first user group. Applying the rotation sequence to y may again yield a (Nrx−N1)×1 vector. First wireless communication device201may use the (Nrx−N1)×1 vector in conjunction with the (Nrx−N1)×N2matrix in the MIMO detector to detect the set of modulation symbols210in the vector x2. In such cases, first wireless communication device201may determine the modulation symbols210in x2based on the corresponding LLRs received from the MIMO detector.

In other cases, first wireless communication device201may use null projection to reduce signal contribution of a first user group and detect modulation symbols210for a second user group, and first wireless communication device201may use a whitening matrix to determine modulation symbols210for the first user group. For example, to detect modulation symbols210for the second user group, first wireless communication device201may use a null projection P2to remove signal contribution of the first user group (e.g., P2H1=0, thus P2y=P2H2x2+n). First wireless communication device201may apply P2to the received signal and the channel characteristic matrix of the second user group and submit the resulting matrix and vector to a MIMO detector. First wireless communication device201may then determine a set of LLRs corresponding to the modulation symbols210in x2, where the modulation symbols210may be determined based on LLRs. After detecting the modulation symbols210in x2, first wireless communication device201may determine the modulation symbols210of the first user group by applying a whitening matrix W to whiten noise and residual interference. By using the whitening matrix, first wireless communication device201may not perform as many QR decompositions, use a combining matrix, or perform significant squaring of matrices, which may result in reduced complexity and decibel improvement.

The whitening matrix, and certain equations used to determine the modulation symbols210of x1, may be based on the LLRs or modulation symbols210of x2. For example, W, and equations used to determine the modulation symbols210of x1, may be based on the equations

where M is the constellation size and Xkare the constellation symbols. In some examples, constellation symmetry may be used to determine E(x2,i) and var(x2,i) as direct functions of LLRs, such as by the equations
E(x2,i)=αS2,i.  (11)
var(x2,i)=1−α2,∀i.(12)
where S2,iis a hard-decision QAM symbol (e.g., QAM solution output of the MIMO detector), and 0≦α≦1. In some examples, α=0, and pre-whitening on the first user group may not cause cancellation, and two MIMO detectors may be able to work in parallel. If α=1, there may be a full cancellation of the first user group with no whitening, which may result in low complexity.

In some cases, first wireless communication device201may use the whitening matrix to determine modulation symbols210of the first user group. For example, first wireless communication device201may determine E(x2) and Cx2from the MIMO detector used to determine the modulation symbols210in x2. The whitening matrix, W, may be computed based on Cx2, and E(x2) may be applied to H2, resulting in H2E(x2). H2E(x2) may be subsequently subtracted from the received signal, y, followed by the application of the whitening matrix, resulting in a whitening vector W(y−H2E(x2)). First wireless communication device201may apply the whitening vector to the channel characteristic matrix of the first user group and enter W(y−H2E(x2)) and WH1into the MIMO detector. First wireless communication device201may then use the MIMO detector to determine a set of modulation symbols210for x1.

FIG. 3illustrates an example of rotation based MIMO detection300in a system that supports enhanced MIMO detection in accordance with aspects of the present disclosure. A first wireless communication device may be communicating with other wireless communication devices (e.g., stations115or APs105) using MIMO transmissions over a communication channel. The first wireless communication device may receive a signal including a set of data streams, each data stream including modulation symbols transmitted by other wireless communication devices.

The first wireless communication device may receive a signal, y, from a second wireless communication device via a communication channel between the first wireless communication device and the second wireless communication device. In some examples, the signal may include a superposition of data streams from multiple other wireless communication devices. After receiving the signal, the first wireless communication device may partition sets of the data streams into different user groups such that the signal is represented as y=H1x1+H2x2+n, as described with reference toFIG. 2.

At305-a, the first wireless communication device may determine, based on a first characteristic of the communication channel, a first sequence (e.g., a rotation sequence) associated with the first set of modulation symbols. For example, the first wireless communication device may perform a QR decomposition on the channel characteristic matrix for the first user group (e.g., H1) to obtain a first rotation sequence (e.g., Q1H).

At310-a, first wireless communication device may apply the first sequence to a set of values that are based on a second characteristic of the communication channel. For example, the first wireless communication device may apply (e.g., by multiplication) the first rotation sequence to the channel characteristic matrix for the second user group, resulting in another matrix Q1HH2. At315-a, the first wireless communication device may keep the lower entries of Q1HH2, or Q1bHH2.

At320-a, the first wireless communication device may apply the first sequence to the set of data streams. For example, the first wireless communication device may apply the first rotation sequence to the input data stream represented by y, resulting in the vector Q1Hy=Q1HH1x1+Q1HH2x2+Q1Hn. At325-a, the first wireless communication device may select a first subset of values and a second subset of values from the set of data streams after application of the first sequence. For example, the first wireless communication device may keep the lower entries of the resulting vector, which may be the same as multiplying by Q1bHinstead of Q1H. Q1HH1x1can be rewritten as Q1HQ1R1x1, where Q1HQ1can be simplified as an Identity matrix and R1is an upper triangular matrix. Thus, taking the lower entries of Q1Hy may cancel signal contribution of the first user group, and Q1Hy=Q1HH2x2+Q1Hn. That is, the first wireless communication device may identify, from a first set of data streams of the full set of data streams, a first set of modulation symbols based on a set of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device.

At330-a, the first wireless communication device may identify, from a first set of data streams of the total set of data streams, the first set of modulation symbols based on the set of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device and identify, from a second set of data streams of the total set of data streams, a second set of modulation symbols based on the set of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device. For example, the first wireless communication device may enter the matrix Q1bHH2and the vertex Q1bHy into a MIMO detector to determine a set of LLRs, which can be used to identify the set of modulation symbols for the first user group.

The first wireless communication device may determine the second set of modulation symbols in a similar process described above for the determination of the first set of modulation symbols. For example, at305-b, first wireless communication device may determine, based on the second characteristic of the communication channel, a second sequence associated with the second set of modulation symbols. For instance, the first wireless communication device may perform a QR decomposition on a channel characteristic matrix for the second user group (H2) to obtain a second rotation sequence (Q2H).

At310-b, the first wireless communication device may apply the second sequence to a set of values that are based on the first characteristic of the communication channel. For example, the first wireless communication device may apply the second rotation sequence to the channel characteristic matrix for the first user group, resulting in a matrix Q2HH1. At315-b, the first wireless communication device may keep the lower entries of that matrix, or Q2bHH1.

At320-b, the first wireless communication device may apply the second sequence to the received signal y. Thus, the resulting vector Q2Hy=Q2HH1x1+Q2HH2x2+Q2Hn. At325-b, the first wireless communication device may select a third subset of values and a fourth subset of values from the set of data streams after application of the second sequence. For example, the first wireless communication device may keep the lower entries of the resulting vector, which may be the same as multiplying by Q2bHinstead of Q2H. Q2HH2x2can be rewritten as Q2HQ2R2x2, where Q2HQ2can be simplified as an Identity matrix and R2is an upper triangular matrix. Thus, taking the lower entries of Q2Hy may cancel signal contribution of the first user group, and Q2Hy=Q2HH1x1+Q2Hn. The first wireless communication device may identify, from a second set of data streams of the full set of data streams, a second set of modulation symbols based on the set of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device.

At330-b, the first wireless communication device may enter the matrix Q2bHH1and the vertex Q2bHy into a MIMO detector to determine a set of LLRs, which can be used to identify the set of modulation symbols for the second user group. The first wireless communication device may then demodulate the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data.

FIG. 4illustrates an example of a whitening matrix application400in a system that supports enhanced MIMO detection in accordance with aspects of the present disclosure. A wireless communication device may receive a MIMO signal, y, and partition data streams of the MIMO signal into two user groups (denoted by x1and x2) such that y=H1x1+H2x2+n, as described with reference toFIG. 2. Whitening matrix application400may describe the wireless communication device using a null projection matrix on the received signal to cancel signal contribution of a first user group data stream to retrieve modulation symbols of a second user group, then using a whitening matrix based on the modulation symbols of the second user group to retrieve modulation symbols for the first user group.

At405, the wireless communication device may apply a null projection matrix, P2, to the received signal y, received at an antenna and containing multiple modulation symbols. The null projection matrix may cancel a transmission contribution of a first user group (e.g., P2H1=0). The wireless communication device may also apply the projection matrix to H2and enter the vector P2y=P2H2x2n into a MIMO detector at410. The MIMO detector may return LLRs for x2based on the vector P2y and the matrix P2H2. The wireless communication device may determine modulation symbols for the second user group based on LLRs returned for the second user group.

In some cases, the wireless communication device may determine a matrix E(x2) (e.g., as described with reference toFIG. 2) based on the LLRs returned from the MIMO detector. The wireless communication device may also determine a diagonal matrix, Cx2(e.g., as described with reference toFIG. 2), based on the LLRs for the second user group. At415, The wireless communication device may in turn apply the matrix E(x2) to the channel characteristic matrix for the second user group, resulting in H2E(x2). At420, the wireless communication device may determine a difference between the received signal y and H2E(x2), resulting in a vector y−H2E(x2).

At425, the wireless communication device may use the diagonal matrix Cx2to compute a whitening matrix. For example, the wireless communication device may determine the whitening matrix based on

W=(H2⁢Cx2⁢H2Hσ2+1)-12,
as described above. At430, the wireless communication device may apply the whitening matrix to the vector y−H2E(x2) from420.

In some cases, the wireless communication device may enter the whitened vector and a whitened channel characteristics matrix for the first user group (e.g., WH1) into a MIMO detector at435. The wireless communication device may then determine LLRs for modulation symbols of the first user group from the MIMO detector, and further determine the modulation symbols of the first user group based on the LLRs. In other examples, the wireless communication device may apply a projection matrix on the channel characteristic matrix of the second user group to determine the modulation symbols of the first user group and apply the whitening matrix to determine modulation symbols of the second user group.

FIGS. 5A and 5Bshow data stream transmit and receive chains500in a system that supports enhanced MIMO detection in accordance with various aspects of the present disclosure. A wireless communication device, such as an AP105or a station115as described with reference toFIG. 1, may use one or more antennas to transmit one or more spatially multiplexed data streams to another wireless communication device. For example, a first wireless communication device may transmit data using data stream transmit chain500-aas described inFIG. 5A. A second wireless communication device may receive from the first wireless communication device, or from multiple wireless communication devices, a set of spatially multiplexed data streams using a plurality of antennas. In such cases, the second wireless communication device may receive the data streams using data stream receive chain500-bas described inFIG. 5B.

As illustrated inFIG. 5A, the first wireless communication device may prepare a spatially multiplexed data stream transmission. The first wireless communication device may determine information bits for transmission and encode the information bits in a channel encoder505, the channel encoder505outputting encoded information bits.

The encoded information bits may be sent to a modulator510where the encoded information bits may be modulated, resulting in modulated symbols (e.g., symbols modulated according to a QAM scheme). The multiple symbols may then be mapped to a spatially multiplexed data stream at spatial stream mapper515. Then, the first wireless communication device may perform a frequency to time domain transform of the signals using an inverse fast Fourier transform (IFFT) on the data streams at IFFT component520-a. The first wireless communication device may perform an IFFT for each data stream (e.g., using IFFT component520-athrough IFFT component520-nto perform the IFFT on N data streams).

The first wireless communication device may then transmit the data streams using one or more antennas525. For example, a first data stream may be transmitted using antenna525-a, and an Nth data stream may be transmitted using antenna525-n. The first wireless communication device may transmit the spatially multiplexed data streams to a second wireless communication device. In some cases, multiple transmitting devices may share the same time and frequency resources, where the transmitting devices may have different numbers of transmit antennas and spatial streams. Accordingly, the spatial streams transmitted by the first wireless communication device may share time and frequency resources with transmissions from another wireless communications device.

As illustrated inFIG. 5B, the second wireless communication device may receive a signal using the receive chain500-b. For example, the second wireless communication device may receive multiple data streams with multiple antennas530(e.g., antenna530-athrough antenna530-n), where the data streams may be spatially multiplexed and received from a transmitting wireless communication device (e.g., the first wireless communication device), or from multiple wireless communications devices. The number of data streams received may be based on a number of antennas530at the second wireless communication device.

The received data streams may be passed to fast Fourier transform (FFT) components535to perform a FFT. For instance, at FFT component535-athrough FFT component535-n, the second wireless communication device may perform a FFT on respective data streams received at antennas530. In some examples, the second wireless communication device may perform FFTs based on a number of antennas530.

The second wireless communication device may decouple the received data streams and perform MIMO detection at stream decoupling and MIMO detector540. For example, the second wireless communication device may partition the received data streams into user groups and perform Givens rotations-based null projection to determine LLRs for modulation symbols of each of the user groups, as described herein. Thus, the second wireless communication device may produce “soft bits” (e.g., in the form of LLRs) using the techniques described herein.

The second wireless communication device may send the LLRs for the data streams associated with different user groups to multiple channel decoders550(e.g., channel decoder550-athrough channel decoder550-n). For example, LLR545-aand LLR545-bmay be associated with a first user group, and the second wireless communication device may use channel decoder550-ato determine the information bits for the first user group based on the corresponding LLRs545-aand545-b. Similarly, LLR545-cand LLR545-dmay be associated with a second user group, and the second wireless communication device may use channel decoder550-nto determine the information bits for the second user group based on the corresponding LLRs545-cand545-d. The channel decoders550may determine modulation symbols based on the LLRs and demodulate the modulation symbols to obtain the information bits sent by one or more transmitting wireless devices.

FIG. 6shows a block diagram600of a wireless communication device605that supports low-complexity Givens rotations-based null-projection MIMO detection in accordance with various aspects of the present disclosure. Wireless communication device605may be an example of aspects of a wireless communication device, an AP105or a station115for example, as described with reference toFIG. 1. Wireless communication device605may include receiver610, MIMO detector615, and transmitter620. Wireless communication device605may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses).

Receiver610may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to low-complexity Givens rotations-based null-projection MIMO detection, etc.). Information may be passed on to other components of the device. The receiver610may be an example of aspects of the transceiver935described with reference toFIG. 9.

MIMO detector615may be an example of aspects of the MIMO detector915described with reference toFIG. 9. MIMO detector615and/or at least some of its various sub-components may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions of the MIMO detector615and/or at least some of its various sub-components may be executed by a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure.

MIMO detector615may receive a set of data streams from a second wireless communication device via a communication channel between the first wireless communication device and the second wireless communication device, identify, from a first set of data streams of the set of data streams, a first set of modulation symbols based on a set of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device, identify, from a second set of data streams of the set of data streams, a second set of modulation symbols based on the set of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device, and demodulate the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data.

Transmitter620may transmit signals generated by other components of the device. In some examples, the transmitter620may be collocated with a receiver610in a transceiver module. For example, the transmitter620may be an example of aspects of the transceiver935described with reference toFIG. 9. The transmitter620may include a single antenna, or it may include a set of antennas.

FIG. 7shows a block diagram700of a wireless communication device705that supports low-complexity Givens rotations-based null-projection MIMO detection in accordance with various aspects of the present disclosure. Wireless communication device705may be an example of aspects of a wireless communication device605or a wireless communication device as described with reference toFIGS. 1 and 6. Wireless communication device705may include receiver710, MIMO detector715, and transmitter720. Wireless communication device705may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses).

Receiver710may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to low-complexity Givens rotations-based null-projection MIMO detection, etc.). Information may be passed on to other components of the device. The receiver710may be an example of aspects of the transceiver935described with reference toFIG. 9. MIMO detector715may be an example of aspects of the MIMO detector915described with reference toFIG. 9. MIMO detector715may also include data stream manager725, modulation symbol component730, and demodulator735.

Data stream manager725may receive a set of data streams from a second wireless communication device via a communication channel between the first wireless communication device and the second wireless communication device. In some cases, the set of data streams includes a spatially multiplexed, MIMO data stream. In some cases, the set of data streams includes an eight-by-one dimensional (8×1) MIMO data stream. In other examples a different number of antennas may be used and the MIMO data stream may have a different dimension. In some cases, the first wireless communication device includes a member of a first user group and the second wireless communication device includes a member of a second user group.

Modulation symbol component730may identify, from a first set of data streams of the set of data streams, a first set of modulation symbols based on a set of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device. Additionally, modulation symbol component730may identify, from a second set of data streams of the set of data streams, a second set of modulation symbols based on the set of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device. In some cases, modulation symbol component730may identify the second set of modulation symbols from the set of data streams based on application of the first sequence, identify the second set of modulation symbols based on a comparison of the first subset of values and the second subset of values, identify the first set of modulation symbols from the set of data streams based on application of the second sequence, and identify the first set of modulation symbols based on a comparison of the third subset of values and the fourth subset of values. In some cases, identifying the second set of modulation symbols based on the set of characteristics of the communication channel includes: determining, based on a first characteristic of the communication channel, a first sequence associated with the first set of modulation symbols. In some cases, identifying the first set of modulation symbols based on the set of characteristics of the communication channel includes: determining, based on the second characteristic of the communication channel, a second sequence associated with the second set of modulation symbols.

Demodulator735may demodulate the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data. Transmitter720may transmit signals generated by other components of the device. In some examples, the transmitter720may be collocated with a receiver710in a transceiver module. For example, the transmitter720may be an example of aspects of the transceiver935described with reference toFIG. 9. The transmitter720may include a single antenna, or it may include a set of antennas.

FIG. 8shows a block diagram800of a MIMO detector815that supports low-complexity Givens rotations-based null-projection MIMO detection in accordance with various aspects of the present disclosure. The MIMO detector815may be an example of aspects of a MIMO detector615, a MIMO detector715, or a MIMO detector915described with reference toFIGS. 6, 7, and 9. The MIMO detector815may include data stream manager820, modulation symbol component825, demodulator830, rotation sequence component835, value selector840, and channel characteristic manager845. Each of these modules may communicate, directly or indirectly, with one another (e.g., via one or more buses).

Data stream manager820may receive a set of data streams from a second wireless communication device via a communication channel between the first wireless communication device and the second wireless communication device. In some cases, the set of data streams includes a spatially multiplexed, MIMO data stream. In some cases, the first wireless communication device includes a member of a first user group and the second wireless communication device includes a member of a second user group.

Modulation symbol component825may identify, from a first set of data streams of the set of data streams, a first set of modulation symbols based on a set of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device, identify, from a second set of data streams of the set of data streams, a second set of modulation symbols based on the set of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device, identify the second set of modulation symbols from the set of data streams based on application of the first sequence, identify the second set of modulation symbols based on a comparison of the first subset of values and the second subset of values, identify the first set of modulation symbols from the set of data streams based on application of the second sequence, and identify the first set of modulation symbols based on a comparison of the third subset of values and the fourth subset of values. In some cases, identifying the second set of modulation symbols based on the set of characteristics of the communication channel includes: determining, based on a first characteristic of the communication channel, a first sequence associated with the first set of modulation symbols. In some cases, identifying the first set of modulation symbols based on the set of characteristics of the communication channel includes: determining, based on the second characteristic of the communication channel, a second sequence associated with the second set of modulation symbols.

Demodulator830may demodulate the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data. Rotation sequence component835may apply the first sequence to the set of data streams and a set of values that are based on a second characteristic of the communication channel, and apply the second sequence to the set of data streams and a set of values that are based on the first characteristic of the communication channel. In some cases, the first sequence is determined based on a first QR decomposition and the second sequence is determined based on a second QR decomposition.

Value selector840may select a first subset of values and a second subset of values from the set of data streams after application of the first sequence, and select a third subset of values and a fourth subset of values from the set of data streams after application of the second sequence. Channel characteristic manager845may receive a set of pilot signals from the second wireless communication device, and determine the set of characteristics of the communication channel based on the set of pilot signals.

FIG. 9shows a diagram of a system900including a device905that supports low-complexity Givens rotations-based null-projection MIMO detection in accordance with various aspects of the present disclosure. Device905may be an example of or include the components of wireless communication device605, wireless communication device705, or a wireless communication device as described above, e.g., with reference toFIGS. 1, 6 and 7. Device905may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including MIMO detector915, processor920, memory925, software930, transceiver935, antenna940, and I/O controller945. These components may be in electronic communication via one or more busses (e.g., bus910).

Memory925may include random access memory (RAM) and read only memory (ROM). The memory925may store computer-readable, computer-executable software930including instructions that, when executed, cause the processor to perform various functions described herein. In some cases, the memory925may contain, among other things, a basic input/output system (BIOS) which may control basic hardware and/or software operation such as the interaction with peripheral components or devices.

Software930may include code to implement aspects of the present disclosure, including code to support low-complexity Givens rotations-based null-projection MIMO detection. Software930may be stored in a non-transitory computer-readable medium such as system memory or other memory. In some cases, the software930may not be directly executable by the processor but may cause a computer (e.g., when compiled and executed) to perform functions described herein.

I/O controller945may manage input and output signals for device905. I/O controller945may also manage peripherals not integrated into device905. In some cases, I/O controller945may represent a physical connection or port to an external peripheral. In some cases, I/O controller945may utilize an operating system such as iOS®, ANDROID®, MS-DOS®, MS-WINDOWS®, OS/2®, UNIX®, LINUX®, or another known operating system. In other cases, I/O controller945may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, I/O controller945may be implemented as part of a processor. In some cases, a user may interact with device905via I/O controller945or via hardware components controlled by I/O controller945.

FIG. 10shows a flowchart illustrating a method1000for low-complexity Givens rotations-based null-projection MIMO detection in accordance with various aspects of the present disclosure. The operations of method1000may be implemented by a wireless communication device, an AP105or a station115for example, or its components as described herein. For example, the operations of method1000may be performed by a MIMO detector as described with reference toFIGS. 6 through 9. In some examples, a wireless communication device may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the wireless communication device may perform aspects of the functions described below using special-purpose hardware.

At block1005the wireless communication device may receive a set of data streams from a second wireless communication device via a communication channel between the first wireless communication device and the second wireless communication device. The operations of block1005may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1005may be performed by a data stream manager as described with reference toFIGS. 6 through 9.

At block1010the wireless communication device may identify, from a first set of data streams of the set of data streams, a first set of modulation symbols based at least in part on a set of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device. The operations of block1010may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1010may be performed by a modulation symbol component as described with reference toFIGS. 6 through 9.

At block1015the wireless communication device may identify, from a second set of data streams of the set of data streams, a second set of modulation symbols based at least in part on the set of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device. The operations of block1015may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1015may be performed by a modulation symbol component as described with reference toFIGS. 6 through 9.

At block1020the wireless communication device may demodulate the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data. The operations of block1020may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1020may be performed by a demodulator as described with reference toFIGS. 6 through 9.

FIG. 11shows a flowchart illustrating a method1100for low-complexity Givens rotations-based null-projection MIMO detection in accordance with various aspects of the present disclosure. The operations of method1100may be implemented by a wireless communication device, such as an AP105or a station115, or its components as described herein. For example, the operations of method1100may be performed by a MIMO detector as described with reference toFIGS. 6 through 9. In some examples, a wireless communication device may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the wireless communication device may perform aspects of the functions described below using special-purpose hardware.

At block1105the wireless communication device may receive a set of data streams from a second wireless communication device via a communication channel between the wireless communication device and the second wireless communication device. The operations of block1105may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1105may be performed by a data stream manager as described with reference toFIGS. 6 through 9.

At block1110the wireless communication device may determine, based on a first characteristic of the communication channel, a first sequence associated with a first set of modulation symbols. The operations of block1110may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1110may be performed by a modulation symbol component as described with reference toFIGS. 6 through 9.

At block1115the wireless communication device may apply the first sequence to the set of data streams and a set of values that are based at least in part on a second characteristic of the communication channel. The operations of block1115may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1115may be performed by a rotation sequence component as described with reference toFIGS. 6 through 9.

At block1120the wireless communication device may identify a second set of modulation symbols from the set of data streams based on the application of the first sequence, where the second set of modulation symbols includes second data. The operations of block1120may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1120may be performed by a modulation symbol component as described with reference toFIGS. 6 through 9.

At block1125the wireless communication device may determine, based on a second characteristic of the communication channel, a second sequence associated with a second set of modulation symbols. The operations of block1125may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1125may be performed by a modulation symbol component as described with reference toFIGS. 6 through 9.

At block1130the wireless communication device may apply the second sequence to the set of data streams and a set of values that are based on the first characteristic of the communication channel. The operations of block1130may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1130may be performed by a rotation sequence component as described with reference toFIGS. 6 through 9.

At block1135the wireless communication device may identify the second set of modulation symbols from the set of data streams based on the application of the first sequence, where the first set of modulation symbols includes first data. The operations of block1135may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1135may be performed by a modulation symbol component as described with reference toFIGS. 6 through 9.

At block1140the wireless communication device may demodulate the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data. The operations of block1140may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1140may be performed by a demodulator as described with reference toFIGS. 6 through 9.

FIG. 12shows a flowchart illustrating a method1200for low-complexity Givens rotations-based null-projection MIMO detection in accordance with various aspects of the present disclosure. The operations of method1200may be implemented by a wireless communication device (e.g., an AP or a station115) or its components as described herein. For example, the operations of method1200may be performed by a MIMO detector as described with reference toFIGS. 6 through 9. In some examples, a wireless communication device may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the wireless communication device may perform aspects of the functions described below using special-purpose hardware.

At block1205the wireless communication device may receive a set of data streams from a second wireless communication device via a communication channel between the wireless communication device and the second wireless communication device. The operations of block1205may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1205may be performed by a data stream manager as described with reference toFIGS. 6 through 9.

At block1210the wireless communication device may receive a set of pilot signals from the second wireless communication device. The operations of block1210may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1210may be performed by a channel characteristic manager as described with reference toFIGS. 6 through 9.

At block1215the wireless communication device may determine the set of characteristics of the communication channel based at least in part on the set of pilot signals. The operations of block1215may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1215may be performed by a channel characteristic manager as described with reference toFIGS. 6 through 9.

At block1220the wireless communication device may identify, from a first set of data streams of the set of data streams, a first set of modulation symbols based at least in part on a set of characteristics of the communication channel, where the first set of modulation symbols includes first data for the first wireless communication device. The operations of block1220may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1220may be performed by a modulation symbol component as described with reference toFIGS. 6 through 9.

At block1225the wireless communication device may identify, from a second set of data streams of the set of data streams, a second set of modulation symbols based at least in part on the set of characteristics of the communication channel, where the second set of modulation symbols includes second data for the first wireless communication device. The operations of block1225may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1225may be performed by a modulation symbol component as described with reference toFIGS. 6 through 9.

At block1230the wireless communication device may demodulate the first set of modulation symbols and the second set of modulation symbols to obtain the first data and the second data. The operations of block1230may be performed according to the methods described with reference toFIGS. 1 through 4. In certain examples, aspects of the operations of block1230may be performed by a demodulator as described with reference toFIGS. 6 through 9.

Techniques described herein may be used for various wireless communications systems such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), single carrier frequency division multiple access (SC-FDMA), and other systems. The terms “system” and “network” are often used interchangeably. A code division multiple access (CDMA) system may implement a radio technology such as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc. CDMA2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releases may be commonly referred to as CDMA2000 1×, 1×, etc. IS-856 (TIA-856) is commonly referred to as CDMA2000 1×EV-DO, High Rate Packet Data (HRPD), etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. A time division multiple access (TDMA) system may implement a radio technology such as Global System for Mobile Communications (GSM). An orthogonal frequency division multiple access (OFDMA) system may implement a radio technology such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, etc.

The wireless communications system or systems described herein may support synchronous or asynchronous operation. For synchronous operation, the stations may have similar frame timing, and transmissions from different stations may be approximately aligned in time. For asynchronous operation, the stations may have different frame timing, and transmissions from different stations may not be aligned in time. The techniques described herein may be used for either synchronous or asynchronous operations.