The example embodiments relate generally to wireless communications systems, and specifically to methods of multi-user multiple-input multiple-output communications.
A wireless local area network (WLAN) may be formed by one or more access points (APs) that provide a shared wireless communication medium for use by a number of client devices such as mobile stations (STAs). Multiple-input multiple-output (MIMO) signaling techniques allow an AP to transmit data to the STAs using multiple spatial streams, which may provide many advantages (e.g., higher throughput, extended coverage, increased diversity, and/or interference suppression) over conventional single antenna transmission techniques. For example, in a single-user MIMO (SU-MIMO) environment, the AP may use multiple antennas to transmit data to a single STA using multiple spatial streams, and the STA may use multiple antennas to receive the multiple spatial streams. The STA recovers the original data by decoding the received multiple spatial streams.
In MIMO communications, the number of spatial streams transmitted to the STA may depend upon the number of antennas available to the STA. For example, if the STA includes two antennas, then the AP may transmit data to the STA as two spatial streams (e.g., according to a 2×2 MIMO configuration); if the STA includes three antennas, then the AP may transmit data to the STA as three spatial streams (e.g., according to a 3×3 MIMO configuration); and so on. Because signal diversity and interference suppression may increase with greater numbers of spatial streams, the AP typically transmits data to the STA using the maximum number of spatial streams supported by the STA. Thus, if the STA indicates (e.g., during association) that it includes two antennas, and thus may support a 2×2 MIMO configuration, the AP may transmit data to the STA using two spatial streams.
Recent revisions to the IEEE 802.11 standards require support for detection of increasingly greater numbers of spatial streams. For example, one such requirement requires next generation WLAN devices to support detection of up to 8 spatial streams. Using current MIMO detectors in systems including greater numbers of spatial streams (e.g., more than 4 spatial streams) may be impractical, for example, due to the increased computational complexity associated with greater numbers of spatial streams. In a multi-user MIMO transmission scenario, multiple STA may transmit to a single AP. The AP receiver needs to demodulate all users. For example, an AP with 8 receive antennas may process transmissions from 8 STA each transmitting a single spatial stream.
Thus, it would be desirable to facilitate MIMO detection of greater numbers of spatial streams without a significant increase in the computational complexity of MIMO detectors.
This Summary is provided to introduce in a simplified form a selection of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
Aspects of the disclosure are directed to apparatuses and methods for detecting data transmitted using multiple-input multiple-output (MIMO) communications. In one example, a method for detecting data transmitted using MIMO communications is disclosed. The method may include receiving, on a wireless channel, data as a plurality of spatial streams; receiving a channel matrix characterizing the wireless channel; decomposing the channel matrix into a first sub-channel matrix and a second sub-channel matrix, the first sub-channel matrix and the second sub-channel matrix each having a lower dimension than the channel matrix; generating a first estimated data signal based at least in part on the plurality of spatial streams and the first sub-channel matrix; generating a second estimated data signal based at least in part on the plurality of spatial streams and the second sub-channel matrix; and combining the first and second estimated data signals to recover the data.
In another example, an apparatus for detecting data transmitted using MIMO communications is disclosed. The apparatus may include means for receiving, on a wireless channel, data as a plurality of spatial streams; means for receiving a channel matrix characterizing the wireless channel; means for decomposing the channel matrix into a first sub-channel matrix and a second sub-channel matrix, the first sub-channel matrix and the second sub-channel matrix each having a lower dimension than the channel matrix; means for generating a first estimated data signal based at least in part on the plurality of spatial streams and the first sub-channel matrix; means for generating a second estimated data signal based at least in part on the plurality of spatial streams and the second sub-channel matrix; and means for combining the first and second estimated data signals to recover the data.
In another example, a non-transitory computer-readable storage medium is disclosed. The non-transitory computer-readable storage medium may store instructions that, when executed by one or more processors of a communication device, cause the communication device to perform operations including: receiving, on a wireless channel, data as a plurality of spatial streams; receiving a channel matrix characterizing the wireless channel; decomposing the channel matrix into a first sub-channel matrix and a second sub-channel matrix, the first sub-channel matrix and the second sub-channel matrix each having a lower dimension than the channel matrix; generating a first estimated data signal based at least in part on the plurality of spatial streams and the first sub-channel matrix; generating a second estimated data signal based at least in part on the plurality of spatial streams and the second sub-channel matrix; and combining the first and second estimated data signals to recover the data.
In another example, an apparatus for detecting data transmitted using MIMO communications is disclosed. The apparatus may include a number of antennas configured to receive, on a wireless channel, data as a plurality of spatial streams; a circuit configured to receive or store a channel matrix that characterizes the wireless channel; a first projector configured to decompose the channel matrix into a first sub-channel matrix; a second projector configured to decompose the channel matrix into a second sub-channel matrix, the first sub-channel matrix and the second sub-channel matrix each having a lower dimension than the channel matrix; a first detector configured to generate a first estimated data signal based at least in part on the plurality of spatial streams and the first sub-channel matrix; a second detector configured to generate a second estimated data signal based at least in part on the plurality of spatial streams and the second sub-channel matrix; a serializer configured to combine the first and second estimated data signals into a serial bit stream; and a decoder configured to recover the data from the serial bit stream.
The example embodiments are illustrated by way of example and are not intended to be limited by the figures of the accompanying drawings, where:
Apparatuses and methods are disclosed that may detect data transmitted using multiple-input multiple-output (MIMO) communications by decomposing a channel matrix into a plurality of sub-channel matrices that are smaller than the original channel matrix. Each of the plurality of sub-channel matrices may be used to generate a signal indicative of a corresponding portion of the transmitted data. The signals may be combined to recover the transmitted data. Because the sub-channel matrices are smaller than the original channel matrix, smaller and less-complex MIMO detectors may be used to recover the transmitted data, for example, as compared with more-complex MIMO detector typically used in conjunction with the original channel matrix.
The example embodiments are described below in the context of Wi-Fi enabled devices for simplicity only. It is to be understood that the example embodiments are equally applicable to other wireless networks (e.g., 3GPP-LTE (long term evolution) standard, cellular networks, pico networks, femto networks, satellite networks), as well as for systems using signals of one or more wired standards or protocols (e.g., Ethernet and/or HomePlug/PLC standards). As used herein, the terms “wireless local area network (WLAN)” and “Wi-Fi” can include communications governed by the IEEE 802.11 standards, BLUETOOTH® (Bluetooth), HiperLAN (a set of wireless standards, comparable to the IEEE 802.11 standards, used primarily in Europe), and other technologies used in wireless communications such as LTE. In addition, although described herein in terms of exchanging data frames between wireless devices, the example embodiments may be applied to the exchange of any data unit, packet, and/or frame between wireless devices. Thus, the term “frame” may include any frame, packet, or data unit such as, for example, protocol data units (PD Us), media access control (MAC) protocol data units (MPDUs), and physical (PHY) layer convergence procedure protocol data units (PPDUs). The term “A-MPDU” may refer to aggregated MPDUs.
The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the aspects. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof. Moreover, it is understood that the word “or” has the same meaning as the Boolean operator “OR,” that is, it encompasses the possibilities of “either” and “both” and is not limited to “exclusive or” (“XOR”), unless expressly stated otherwise. It is also understood that the symbol “I” between two adjacent words has the same meaning as “or” unless expressly stated otherwise. Moreover, phrases such as “connected to,” “coupled to” or “in communication with” are not limited to direct connections unless expressly stated otherwise.
Further, many aspects are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It will be recognized that various actions described herein can be performed by specific circuits, for example, central processing units (CPUs), graphic processing units (GPUs), digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or various other types of general purpose or special purpose processors or circuits, by program instructions being executed by one or more processors, or by a combination of both. Additionally, these sequence of actions described herein can be considered to be embodied entirely within any form of computer readable storage medium having stored therein a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects of the disclosure may be embodied in a number of different forms, all of which have been contemplated to be within the scope of the claimed subject matter. In addition, for each of the aspects described herein, the corresponding form of any such aspects may be described herein as, for example, “logic configured to” perform the described action.
In the following description, numerous specific details are set forth such as examples of specific components, circuits, and processes to provide a thorough understanding of the present disclosure. The term “coupled” as used herein means connected directly to or connected through one or more intervening components or circuits. Also, in the following description and for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present embodiments. However, it will be apparent to one skilled in the art that these specific details may not be required to practice the present embodiments. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present disclosure. Any of the signals provided over various buses described herein may be time-multiplexed with other signals and provided over one or more common buses. Additionally, the interconnection between circuit elements or software blocks may be shown as buses or as single signal lines. Each of the buses may alternatively be a single signal line, and each of the single signal lines may alternatively be buses, and a single line or bus might represent any one or more of a myriad of physical or logical mechanisms for communication between components. Embodiments of this disclosure are not to be construed as limited to specific examples described herein but rather to include within their scope all embodiments defined by the appended claims.
As described above, recent revisions to the IEEE 802.11 family of standards require WLAN devices to support detection of increasing numbers of spatial streams (SS). For example, recent revisions to the IEEE 802.11ac and IEEE 802.11ax standards require support for up to eight (8) spatial streams. The use of current MIMO detectors, such as near-maximum likelihood (ML) MIMO detectors, to support detection of 8 spatial streams may be impractical, due to the increased computational complexity associated with greater numbers of spatial streams. More specifically, a linear increase in the number of spatial streams may result in an exponential increase in the complexity of ML MIMO detectors. It is therefore desirable to provide lower-complexity methods and apparatuses for detection of 8 or more MIMO spatial streams.
Accordingly, the example embodiments describe methods and systems for providing lower complexity detection of 8 or more MIMO spatial streams by decomposing the wireless channel using projections into two sub-channels of lower dimension. These lower-dimension sub-channels may then be detected using two MIMO cores that are of half the dimension, which are exponentially less complex than an 8-spatial stream MIMO core. In some examples, the number of spatial streams may be 8 and the two sub-channels of lower dimension may use a 4 spatial stream MIMO detector. Example embodiments may employ projections such as orthogonal null projection or a non-orthogonal pre-whitening projection. The example embodiments may be applicable to any number of spatial streams using multiple stages of decompositions and projections. These and other details of the example embodiments, which provide one or more technical solutions to the aforementioned technical problems, are described in more detail below.
Each of stations STA1-STA4 may be any suitable Wi-Fi enabled wireless device including, for example, a cell phone, personal digital assistant (PDA), tablet device, laptop computer, or the like. Each station STA may also be referred to as a user equipment (UE), a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology. For at least some embodiments, each station STA may include one or more transceivers, one or more processing resources (e.g., processors and/or ASICs), one or more memory resources, and a power source (e.g., a battery). The memory resources may include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that stores instructions for performing operations described below with respect to
The AP 110 may be any suitable device that allows one or more wireless devices to connect to a network (e.g., a local area network (LAN), wide area network (WAN), metropolitan area network (MAN), and/or the Internet) via AP 110 using Wi-Fi, Bluetooth, or any other suitable wireless communication standards. For at least one embodiment, AP 110 may include one or more transceivers, a network interface, one or more processing resources, and one or more memory resources. The memory resources may include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that stores instructions for performing operations described operations described above or below with respect to
For the stations STA1-STA4 and/or AP 110, the one or more transceivers may include Wi-Fi transceivers, Bluetooth transceivers, cellular transceivers, and/or other suitable radio frequency (RF) transceivers (not shown for simplicity) to transmit and receive wireless communication signals. Each transceiver may communicate with other wireless devices in distinct operating frequency bands and/or using distinct communication protocols. For example, the Wi-Fi transceiver may communicate within a 2.4 GHz frequency band and/or within a 5 GHz frequency band in accordance with the IEEE 802.11 specification. The cellular transceiver may communicate within various RF frequency bands in accordance with a 4G Long Term Evolution (LTE) protocol described by the 3rd Generation Partnership Project (3GPP) (e.g., between approximately 700 MHz and approximately 3.9 GHz) and/or in accordance with other cellular protocols (e.g., a Global System for Mobile (GSM) communications protocol). In other embodiments, the transceivers included within stations STA1-STA4 may be any technically feasible transceiver such as a ZigBee transceiver described by a specification from the ZigBee specification, a WiGig transceiver, and/or a HomePlug transceiver described a specification from the HomePlug Alliance.
The baseband processor 212 may be used to process signals received from processor 230 and/or memory 240 and to forward the processed signals to transceivers 211 for transmission via one or more of antennas 250(1)-250(n), and may be used to process signals received from one or more of antennas 250(1)-250(n) via transceivers 211 and to forward the processed signals to processor 230 and/or memory 240.
The MIMO detection circuit 213 may be used to detect a number of spatial streams transmitted according to one or more MIMO communication modes, for example, as described in more detail below.
For purposes of discussion herein, MAC 220 is shown in
The contention engines 221 may contend for access to one or more shared wireless mediums, and may also store packets for transmission over the one or more shared wireless mediums. The STA 200 may include one or more contention engines 221 for each of a plurality of different access categories. For other embodiments, the contention engines 221 may be separate from MAC 220. For still other embodiments, the contention engines 221 may be implemented as one or more software modules (e.g., stored in memory 240 or stored in memory provided within MAC 220) containing instructions that, when executed by processor 230, perform the functions of contention engines 221.
The frame formatting circuitry 222 may be used to create and/or format frames received from processor 230 and/or memory 240 (e.g., by adding MAC headers to PDUs provided by processor 230), and may be used to re-format frames received from PHY device 210 (e.g., by stripping MAC headers from frames received from PHY device 210).
Memory 240 may include an AP profile data store 241 that stores profile information for a plurality of APs. The profile information for a particular AP may include information including, for example, the AP's SSID, MAC address, channel information, received signal strength indication (RSSI) values, goodput values, channel state information (CSI), supported data rates, MIMO capabilities, connection history with the AP, a trustworthiness value of the AP (e.g., indicating a level of confidence about the AP's location, etc.), and any other suitable information pertaining to or describing the operation of the AP.
Memory 240 may also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that may store at least the following software (SW) modules:
a frame formatting and exchange software module 242 to facilitate the creation and exchange of any suitable frames (e.g., data frames, action frames, and management frames) between STA 200 and other wireless devices (e.g., as described below for one or more operations of
a MIMO detection software module 244 to facilitate the calculation of likelihood ratios (such as log likelihood ratio streams) based on input data stream projections (e.g., as described below for one or more operations of
Each software module includes instructions that, when executed by processor 230, cause STA 200 to perform the corresponding functions. The non-transitory computer-readable medium of memory 240 thus includes instructions for performing all or a portion of the STA-side operations depicted in
Processor 230, which is shown in the example of
The baseband processor 312 may be used to process signals received from processor 330 and/or memory 340 and to forward the processed signals to transceivers 311 for transmission via one or more of antennas 360(1)-360(n), and may be used to process signals received from one or more of antennas 360(1)-360(n) via transceivers 311 and to forward the processed signals to processor 330 and/or memory 340.
The MIMO detection circuit 313 may be used to detect and decode a number of spatial streams transmitted according to one or more MIMO communication modes, for example, as described in more detail below.
The network interface 350 may be used to communicate with a WLAN server (not shown for simplicity) either directly or via one or more intervening networks and to transmit signals.
Processor 330, which is coupled to PHY device 310, to MAC 320, to memory 340, and to network interface 350, may be any suitable one or more processors capable of executing scripts or instructions of one or more software programs stored in AP 300 (e.g., within memory 340). For purposes of discussion herein, MAC 320 is shown in
The contention engines 321 may contend for access to the shared wireless medium, and may also store packets for transmission over the shared wireless medium. For some embodiments, AP 300 may include one or more contention engines 321 for each of a plurality of different access categories. For other embodiments, the contention engines 321 may be separate from MAC 320. For still other embodiments, the contention engines 321 may be implemented as one or more software modules (e.g., stored in memory 340 or within memory provided within MAC 320) containing instructions that, when executed by processor 330, perform the functions of contention engines 321.
The frame formatting circuitry 322 may be used to create and/or format frames received from processor 330 and/or memory 340 (e.g., by adding MAC headers to PDUs provided by processor 330), and may be used to re-format frames received from PHY device 310 (e.g., by stripping MAC headers from frames received from PHY device 310).
Memory 340 may include a STA profile data store 341 that stores profile information for a plurality of STAs. The profile information for a particular STA may include information including, for example, its MAC address, supported data rates, MIMO capabilities, connection history with AP 300, and any other suitable information pertaining to or describing the operation of the STA.
Memory 340 may also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that may store at least the following software (SW) modules:
Processor 330, which is shown in the example of
In the case of single user MIMO (SU-MIMO), a receive data vector y and a channel estimation matrix H may be provided to MIMO detector 440 to produce log likelihood ratios (LLRs) LLR1-LLRNt. The LLRs may be serialized by a serializer 445 to generate a serial data stream. For some embodiments, the serializer 445 may be implemented as a multiplexer, for example, controlled by a select signal (not shown for simplicity) that consecutively selects each of the LLR1-LLRNt signals to generate the serial data stream. The serial data stream may be provided to de-interleaver 450, which de-interleaves the serial data stream. The resulting de-interleaved serial data stream may be provided to forward error correction (FEC) decoder 455. FEC decoder 455 may generate an estimate of the received data. In the case of multi-user MIMO (MU-MIMO), the LLR streams from all the users may not be multiplexed together for decoding instead, LLR streams belonging to given transmitters may be decoded separately.
For other embodiments, the order of serializer 445 and de-interleaver 450 may be reversed, for example, so that the de-interleaver 450 de-interleaves the LLR1-LLRNt signals, and the serializer 445 converts the de-interleaved LLR signals into a serial data stream. The details of de-interleaving and decoding are well known in the art.
As depicted in
Through spatial multiplexing, TX device 510A may transmit a first set of data (e.g., x1={x11, x12, x13, . . . , x1M}) on a first spatial stream (SS1) via first transmit antenna T1 while concurrently transmitting (N−1) other sets of data (e.g., x2={x21, x22, x23, . . . , x2M} xN={xN1, xN2, xN3, . . . , xNM}) on a number N-1 of other spatial streams (SS2-SSN) via transmit antennas T2-TNt, respectively.
Each of the receive antennas R1-RNr of the RX device 530A may receive a combination of data transmitted by the antennas T1-TNt of the TX device 510A. For example, the first receive antenna R1 may receive data from each of spatial streams SS1-SSN, the second receive antenna R2 may receive data from each of spatial streams SS1-SSN, and so on. Channel conditions of the wireless channel 520A and/or spatial orientation of the receive antennas R1-RNr may cause differences in the data patterns received by each of the receive antennas R1-RNr. Thus, the data received by first receive antenna R1 (denoted as y1={y11, y12, y13 . . . y1M}) may differ from the data received by the Nth receive antenna RNr (denoted as yN={yN1, yN2, yN3, . . . , yNM}). In some example embodiments, a received data vector y may be determined from signals received at antennas R1-RNr using MIMO receiver 400 of
The wireless channel 520A may be modeled as an Nr×Nt channel matrix H:
The received data vector y may be expressed as a function of the transmitted data (x):
y=Hx+u (1)
where y=[y1 . . . yN
For the example embodiment of
As depicted in
More specifically, the first TX device 5106(1) may transmit a first set of data (e.g., x1={x11, x12, x13, . . . , x1M}) as a first spatial stream (SS1) via a first transmit antenna T1. Concurrently, each of the other TX devices 510B(2)-510B(N) may transmit a different set of data as another spatial stream via its transmit antenna. For example, each kth TX device 510B(k) may transmit a set of data (e.g., xk={xk1, xk2, xk3, . . . , xkM}) on a kth spatial stream SSk via a corresponding transmit antenna Tk.
Similarly to
MIMO detectors, such as MIMO detector 440 of
As depicted in
W
ZF=(H*H)−1H*
where * denotes the matrix conjugate transpose.
While for linear minimum mean-squared error (MMSE) detectors, the weight matrix WMMSE may be expressed as:
W
MMSE=(H*H±σ2IN
where IN
The weight matrix W (WZF or WMMSE) is applied to the receive data vector y by matrix vector multiply logic 620, for example, to generate multiple SISO streams, each corresponding to a spatial stream. For example, if the MIMO detector 600 supports 8 spatial stream detection, then matrix vector multiply logic 620 may output 8 SISO streams SISO1-SISO8, as shown in
The serial data stream may be provided to a low-density parity check (LDPC) decoder 660 (or other suitable forward error correction (FEC) circuit depending on the encoding at the transmitter). The LDPC decoder 660 may generate a number detector output bits based on the serial data stream. The resulting detector output bits may represent an estimate of the received data (e.g., data transmitted by TX device 510A of
While the example linear MIMO detector methods, as described earlier and depicted in
For example, assuming a system uses 1024 quadrature amplitude modulation (QAM) symbols and supports 8 spatial streams, a near ML MIMO detector configured for such a system may have complexity on the order of O(28x10)=O(28), which may be impractical to implement.
While an MIMO detector core configured to support 8 spatial streams using near ML is not practical to implement (e.g., due to the exponential increase in computational complexity, as compared with a single MIMO detector core configured to support 4 spatial streams), Applicant has discovered that multiple MIMO detector cores configured to support 4 spatial streams (hereinafter denoted as “4-spatial stream MIMO cores”) may be used to support 8 or more spatial streams by decomposing the channel—using projections—into two or more sub-channels of lower dimension. Each of these lower-dimension sub-channels may then be detected using an efficient 4-spatial stream MIMO core. Some example embodiments may employ an orthogonal null projection MIMO detection technique, while other example embodiments may employ a pre-whitening non-orthogonal projection technique.
The first second received data vector y1 and the first channel sub-matrix are provided to a first 4-spatial stream detector 720(1), and the second received data vector y2 and second channel sub-matrix are provided to a second 4-spatial stream detector 720(2). In response, the first 4-spatial stream detector 720(1) may generate a first set of log likelihood ratio (LLR) streams LLR1 . . . LLRN
The serial data stream may be provided to LDPC decoder 740 (or other suitable FEC circuit). The LDPC decoder 740 may generate a number detector output bits based on the serial data stream. The resulting detector output bits may represent an estimate of the received data (e.g., data transmitted by TX device 510A of
Although the example of
y=H
1
x
1
+H
2
x
2
+u (1a)
where the sub-matrices H1 and H2 may be as shown in respective
The channel sub-matrices H1 and H2 may be decomposed using OR decomposition as
H
1
=Q
1
R
1
H
2
=Q
2
R
2
Because the channel sub-matrices H1 and H2 are tall matrices, the QR decompositions may be “economy size” decompositions, for example, that reduce the number of calculations required (e.g., as compared with the full channel matrix H). Thus, rather than determining an 8×8 orthogonal Q and an 8×4 upper triangular R, the economy size decomposition only determines the first 4 columns of Q (i.e., an 8×4 matrix Q with orthonormal columns) and the first 4 rows of R (i.e., a square 4×4 upper triangular R). A generalization for other numbers of spatial streams is shown in Table 1 below
According to some example embodiments, an orthogonal null projection MIMO detection technique may be used to decompose a channel into two channels including fewer spatial streams (e.g., decomposing an 8 spatial stream channel into two 4 spatial stream sub-channels). For example, such a technique may be used by projectors 710(1) and 710(2) of
P
1
=I
N
−H
2(H*2H2)−1H*2
P
2
=I
N
−H
1(H*1H1)−1H*1
where IN
P
1
=I
N
−Q
2
Q*
2
P
2
=I
N
−Q
1
Q*
1
Because Nss
rank (P1)=Nr−Nss
rank (P2)=Nr−Nss
Thus, if the number of spatial streams is 8, then the projection matrices will have a rank of 4.
The projection matrices can be applied to the received vector y to produce two new vectors
y
1
=P
1
+
{tilde over (y)} of dimension Nr×1
y
2
=P
2
+
{tilde over (y)} of dimension Nr×1
Since the projection matrices are not full rank, then their dimensions can be reduced by multiplying each of P1 and P2 with a combining matrix (a linear combination of the rows of the projection matrix) to yield:
W
1
=P
1
C
1
W
2
=P
2
C
2
where C1 is of dimension Nr×(Nr−NSS2) and C2 is of dimension Nr×(Nr−NSS1). An example of the combining matrices C1 and C2 may be Walsh-Hadamard matrices or other matrices. Each of the reduced dimension projection matrices can be written in terms of their QR-decomposition as
W
1
={tilde over (Q)}
1
{tilde over (R)}
1
W
2
={tilde over (Q)}
2
{tilde over (R)}
1
The dimensions of the new projection matrices W1 and W2 are Nr×(Nr−NSS2) and Nr×(Nr−NSS1), respectively. The final projection matrices W1 and W2 may be given by
W
1
={tilde over (Q)}
1 of dimension Nr×(Nr−N2)
W
2
={tilde over (Q)}
2 of dimension Nr×(Nr−N1)
From these sub-channel weight matrices, the vector inputs to the 4-spatial stream detectors 720(1)-720(2) may be determined as follows:
y
1
=W*
1
y of dimension (Nr−NSS2)×1
y
2
=W*
2
y of dimension (Nr−NSS2)×1
The inputs to the two 4 spatial stream MIMO detectors are y1 and y2 with the effective channels matrices given by
{tilde over (H)}
1
=W*
1
H
1 of dimension (Nr−NSS2)×NSS1
{tilde over (H)}
2
=W*
2
H
2 of dimension (Nr−NSS2)×NSS2
In accordance with other embodiments, a pre-whitening non-orthogonal projection MIMO detection technique may be used to decompose a channel into two sub-channels including fewer spatial streams (e.g., decomposing an 8 spatial stream channel into two 4 spatial stream sub-channels). For example, such a technique may be used by projectors 710(1) and 710(2) of
y=H
1
x
1
+H
2
x
2
+u (1a)
Assuming 8 spatial streams are to be decomposed into two 4 spatial stream sub-channels, at a first of the 4 spatial stream detectors, equation (1a) may be rearranged to yield:
y=H
1×1+u1 where u1=H2x2±u
The noise covariance matrix of u1 may be expressed as:
R
u
u
=H
2
H*
2+σ2 IN
and the input (z1) to the first 4-spatial stream detector 720(1) may be pre-whitened by:
z
1=(ExH2H*2+σ2INr)−1/2y=Ru
where Ex, is the average QAM symbol energy. After pre-whitening, the effective channel size for x1 is 8×4:
{tilde over (H)}
1
=R
u
u
−1/2
H
1
and the resulting noise and interference is white.
Similar operations may result in a similar pre-whitening matrix for the second 4-spatial stream detector 720(2):
z
2=(ExH1H*1+σ2IN
and x2 may similarly have an effective 8×4 channel with white noise:
{tilde over (H)}
2
=R
u
u
−1/2
H
2
While the example embodiments are described as decomposing channels into 4 spatial stream sub-channels for detection by 4-spatial stream detectors, other embodiments may provide for other decompositions. For example, rather than decomposing an 8 spatial stream channel into two 4 spatial stream sub-channels (e.g., an 8 to 4+4 decomposition), other example embodiments may provide an 8 to 4+2+2 decomposition, an 8 to 2+2+2+2 decomposition, or other suitable decompositions. In such decompositions, other types of MIMO detectors may be used such as, for example, 2-spatial stream MIMO detectors or 3-spatial stream MIMO detectors. Additionally, wireless channels may have fewer than 8 spatial streams. For example, some embodiments may provide a 6 to 4+2 decomposition (e.g., for use in a wireless channel including 6 spatial streams).
Some wireless channels may have more than 8 spatial streams. Thus, for other embodiments, multiple stages of projections may iteratively decompose the wireless channel into a number of sub-channels each including a predetermined number (or less) of spatial streams, for example, so that a given set of the predetermined number of spatial streams may be detected by a MIMO detector core having a certain (acceptable) level of computational complexity. For at least one example implementation, the predetermined number is equal to four (4), for example, so that the 4-spatial stream detectors 720(1)-720(2) of
The first N/2 spatial stream receive data vector V1 and the first effective N/2 spatial stream sub-channel matrix H1 are provided to second stage projectors 920(1) and 920(2). Similarly, the second N/2 spatial stream receive data vector V2 and the second effective N/2 spatial stream sub-channel matrix H2 are provided to second stage projectors 920(3) and 920(4). Second stage projectors 920(1)-920(4) may each decompose a corresponding effective N/2 spatial stream sub-channel into two sub-channels each including N/4 spatial streams. In some embodiments, second stage projectors 920(1)-920(4) may perform channel decomposition operations using orthogonal null projection techniques or pre-whitening non-orthogonal projection techniques, as described above. For some implementations, the first stage projectors 910(1)-910(2) and/or the second stage projectors 920(1)-920(4) may be embodiments of projectors 710(1)-710(2) of
After decomposing the effective sub-channels, second stage projectors 920(1)-920(4) may each generate an N/4 spatial stream receive data vector and an effective N/4 spatial stream sub-channel matrix. More specifically, projector 920(1) generates a N/4 spatial stream receive data vector V1,1 and an effective N/4 spatial stream sub-channel matrix H1,1, projector 920(2) generates a N/4 spatial stream receive data vector V1,2 and an effective N/4 spatial stream sub-channel matrix H1,2, projector 920(3) generates a N/4 spatial stream receive data vector V2,1 and an effective N/4 spatial stream sub-channel matrix H2,1, and projector 920(4) generates a N/4 spatial stream receive data vector V2,2 and an effective N/4 spatial stream sub-channel matrix H2,2.
Each pair of N/4 spatial stream receive data vectors and effective N/4 spatial stream sub-channel matrices are provided to a respective one of four 4-spatial stream detectors 930(1)-930(4). The four 4-spatial stream detectors 930(1)-930(4), which may be embodiments of the 4-spatial stream MIMO detectors 720(1)-720(2) of
The serial data stream may be provided to LDPC decoder 950 (or other suitable FEC circuit), which in turn may generate a number of detector output bits based on the serial data stream. The detector output bits may together form an estimate of the transmitted signal (e.g., of a bit stream transmitted by TX device 510A of
Further, although the example MIMO detector 900 of
With respect to
The MIMO detector may also receive a channel matrix characterizing the wireless channel (1002). In some embodiments, the channel matrix may be determined by channel estimation logic 435 of MIMO receiver 400 of
Then, the MIMO detector may decompose the channel matrix into a first sub-channel matrix and a second sub-channel matrix, the first sub-channel matrix and the second sub-channel matrix each having a lower dimension than the channel matrix (1003). In some embodiments, this decomposition may be performed by executing decomposition and projection software module 243 of STA 200 of
After decomposing the channel matrix, the MIMO detector may generate a first estimated data signal based at least in part on the plurality of spatial streams and the first sub-channel matrix (1004). In some examples, this determination may be made by executing MIMO detection software module 244 or decoder software module 245 of STA 200 of
The MIMO detector may also generate a second estimated data signal based at least in part on the plurality of spatial streams and the second sub-channel matrix (1005). In some examples, this determination may be made by executing MIMO detection software module 244 or decoder software module 245 of STA 200 of
Then, the MIMO detector may combine the first and second estimated data signals to recover the data (1006). In some examples, the first and second estimated data signals may be combined by executing MIMO detection software module 244 or decoder software module 245 of STA 200 of
The functionality of the modules of
In addition, the components and functions represented by
Those of skill in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.
The methods, sequences or algorithms described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
Accordingly, one aspect of the disclosure can include a non-transitory computer readable media embodying a method for time and frequency synchronization in non-geosynchronous satellite communication systems. The term “non-transitory” does not exclude any physical storage medium or memory and particularly does not exclude dynamic memory (e.g., conventional random access memory (RAM)) but rather excludes only the interpretation that the medium can be construed as a transitory propagating signal.
While the foregoing disclosure shows illustrative aspects, it should be noted that various changes and modifications could be made herein without departing from the scope of the appended claims. The functions, steps or actions of the method claims in accordance with aspects described herein need not be performed in any particular order unless expressly stated otherwise. Furthermore, although elements may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated. Accordingly, the disclosure is not limited to the illustrated examples and any means for performing the functionality described herein are included in aspects of the disclosure.
This application claims priority to co-pending and commonly-owned U.S. Provisional Patent Application No. 62/198,607, titled “Scalable Projection-Based MIMO Detector,” filed Jul. 29, 2015, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62198607 | Jul 2015 | US |