Methods and apparatus for generating demodulation candidates using vector candidate sampling (VCS)

Certain aspects of the present disclosure relate to techniques for generating likely demodulation candidates using Vector Candidate Sampling (VCS). VCS is used to generate high likelihood candidates for Multiple Input Multiple Output (MIMO) demodulation that approaches optimal maximum a posteriori (MAP) performance with reasonable complexity. A receive data vector is recorded corresponding to a signal received at a MIMO receiver. A plurality of likely candidates are determined for MIMO demodulation via VCS, based at least on the receive data vector. Determining the likely candidates may include perturbing the receive data vector for each candidate based on a pre-determined perturb vector, and estimating a corresponding transmit data vector based at least on the perturbed receive data vector for the candidate and an estimator matrix, wherein the likely candidate comprises the estimated data vector.

BACKGROUND

Certain aspects of the present disclosure generally relate to wireless communications and, more specifically, to methods and apparatus for generating demodulation candidates using Vector Candidate Sampling (VCS).

A wireless communication network may include a number of base stations that can support communication for a number of user equipments (UEs). A UE may communicate with a base station via the downlink and uplink. The downlink (or forward link) refers to the communication link from the base station to the UE, and the uplink (or reverse link) refers to the communication link from the UE to the base station.

A base station may transmit data and control information on the downlink to a UE and/or may receive data and control information on the uplink from the UE. On the downlink, a transmission from the base station may observe interference due to transmissions from neighbor base stations. On the uplink, a transmission from the UE may cause interference to transmissions from other UEs communicating with the neighbor base stations. The interference may degrade performance on both the downlink and uplink.

SUMMARY

Certain aspects of the present disclosure provide a method for wireless communications performed by a Multiple-Input Multiple-Output (MIMO) receiver. The method generally includes receiving a signal at the MIMO receiver, recording a receive data vector corresponding to the received signal, and determining a plurality of likely candidates for MIMO demodulation via Vector Candidate Sampling (VCS), based at least on the receive data vector.

Certain aspects of the present disclosure provide an apparatus for wireless communication by a Multiple-Input Multiple-Output (MIMO) receiver. The apparatus generally includes means for receiving a signal, means for recording a receive data vector corresponding to the received signal, and means for determining a plurality of likely candidates for MIMO demodulation via VCS, based at least on the receive data vector.

Certain aspects of the present disclosure provide an apparatus for wireless communication by a Multiple-Input Multiple-Output (MIMO) receiver. The apparatus generally includes at least one processor and a memory coupled to the at least one processor. The at least one processor is generally configured to receive a signal at the MIMO receiver, record a receive data vector corresponding to the received signal, and determine a plurality of likely candidates for MIMO demodulation via VCS, based at least one the receive data vector.

Certain aspects of the present disclosure provide a computer program product for wireless communication by a Multiple-Input Multiple-Output (MIMO) receiver. The computer program product generally includes a computer-readable medium including instructions for receiving a signal at the MIMO receiver, recording a receive data vector corresponding to the received signal, and determining a plurality of likely candidates for MIMO demodulation via VCS, based at least one the receive data vector.

DETAILED DESCRIPTION

Example Wireless Network

FIG. 1shows a wireless communication network100, which may be an LTE network. The wireless network100may include a number of evolved Node Bs (eNBs)110and other network entities. An eNB may be a station that communicates with user equipment devices (UEs) and may also be referred to as a base station, a Node B, an access point, etc. Each eNB110may provide communication coverage for a particular geographic area. The term “cell” can refer to a coverage area of an eNB and/or an eNB subsystem serving this coverage area, depending on the context in which the term is used.

An eNB may provide communication coverage for a macro cell, a pico cell, a femto cell, and/or other types of cell. A macro cell may cover a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by UEs with service subscription. A pico cell may cover a relatively small geographic area and may allow unrestricted access by UEs with service subscription. A femto cell may cover a relatively small geographic area (e.g., a home) and may allow restricted access by UEs having association with the femto cell (e.g., UEs in a Closed Subscriber Group (CSG), UEs for users in the home, etc.). An eNB for a macro cell may be referred to as a macro eNB. An eNB for a pico cell may be referred to as a pico eNB. An eNB for a femto cell may be referred to as a femto eNB or a home eNB. In the example shown inFIG. 1, eNBs110a,110b, and110cmay be macro eNBs for macro cells102a,102b, and102c, respectively. eNB110xmay be a pico eNB for a pico cell102x. eNBs110yand110zmay be femto eNBs for femto cells102yand102z, respectively. An eNB may support one or multiple (e.g., three) cells.

The wireless network100may also include relay stations. A relay station is a station that receives a transmission of data and/or other information from an upstream station (e.g., an eNB or a UE) and sends a transmission of the data and/or other information to a downstream station (e.g., a UE or an eNB). A relay station may also be a UE that relays transmissions for other UEs. In the example shown inFIG. 1, a relay station110rmay communicate with eNB110aand a UE120rin order to facilitate communication between eNB110aand UE120r. A relay station may also be referred to as a relay eNB, a relay, etc.

The wireless network100may be a heterogeneous network that includes eNBs of different types, e.g., macro eNBs, pico eNBs, femto eNBs, relays, etc. These different types of eNBs may have different transmit power levels, different coverage areas, and different impact on interference in the wireless network100. For example, macro eNBs may have a high transmit power level (e.g., 20 watts) whereas pico eNBs, femto eNBs, and relays may have a lower transmit power level (e.g., 1 watt).

The wireless network100may support synchronous or asynchronous operation. For synchronous operation, the eNBs may have similar frame timing, and transmissions from different eNBs may be approximately aligned in time. For asynchronous operation, the eNBs may have different frame timing, and transmissions from different eNBs may not be aligned in time. The techniques described herein may be used for both synchronous and asynchronous operation.

A network controller130may couple to a set of eNBs and provide coordination and control for these eNBs. The network controller130may communicate with the eNBs110via a backhaul. The eNBs110may also communicate with one another, e.g., directly or indirectly via wireless or wireline backhaul.

The UEs120may be dispersed throughout the wireless network100, and each UE may be stationary or mobile. A UE may also be referred to as a terminal, a mobile station, a subscriber unit, a station, etc. A UE may be a cellular phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, a tablet, etc. A UE may be able to communicate with macro eNBs, pico eNBs, femto eNBs, relays, etc. InFIG. 1, a solid line with double arrows indicates desired transmissions between a UE and a serving eNB, which is an eNB designated to serve the UE on the downlink and/or uplink. A dashed line with double arrows indicates interfering transmissions between a UE and an eNB.

LTE utilizes orthogonal frequency division multiplexing (OFDM) on the downlink and single-carrier frequency division multiplexing (SC-FDM) on the uplink. OFDM and SC-FDM partition the system bandwidth into multiple (K) orthogonal subcarriers, which are also commonly referred to as tones, bins, etc. Each subcarrier may be modulated with data. In general, modulation symbols are sent in the frequency domain with OFDM and in the time domain with SC-FDM. The spacing between adjacent subcarriers may be fixed, and the total number of subcarriers (K) may be dependent on the system bandwidth. For example, K may be equal to 128, 256, 512, 1024, or 2048 for system bandwidth of 1.25, 2.5, 5, 10, or 20 megahertz (MHz), respectively. The system bandwidth may also be partitioned into subbands. For example, a subband may cover 1.08 MHz, and there may be 1, 2, 4, 8, or 16 subbands for system bandwidth of 1.25, 2.5, 5, 10, or 20 MHz, respectively.

FIG. 2shows a frame structure used in LTE. The transmission timeline for the downlink may be partitioned into units of radio frames. Each radio frame may have a predetermined duration (e.g., 10 milliseconds (ms)) and may be partitioned into 10 subframes with indices of 0 through 9. Each subframe may include two slots. Each radio frame may thus include 20 slots with indices of 0 through 19. Each slot may include L symbol periods, e.g., L=7 symbol periods for a normal cyclic prefix (as shown inFIG. 2) or L=6 symbol periods for an extended cyclic prefix. The 2L symbol periods in each subframe may be assigned indices of 0 through 2L-1. The available time frequency resources may be partitioned into resource blocks. Each resource block may cover N subcarriers (e.g., 12 subcarriers) in one slot.

In LTE, an eNB may send a primary synchronization signal (PSS) and a secondary synchronization signal (SSS) for each cell in the eNB. The primary and secondary synchronization signals may be sent in symbol periods6and5, respectively, in each of subframes0and5of each radio frame with the normal cyclic prefix (CP), as shown inFIG. 2. The synchronization signals may be used by UEs for cell detection and acquisition. The eNB may send a Physical Broadcast Channel (PBCH) in symbol periods0to3in slot1of subframe0. The PBCH may carry certain system information.

The eNB may send a Physical Control Format Indicator Channel (PCFICH) in the first symbol period of each subframe, as shown inFIG. 2. The PCFICH may convey the number of symbol periods (M) used for control channels, where M may be equal to 1, 2 or 3 and may change from subframe to subframe. M may also be equal to 4 for a small system bandwidth, e.g., with less than 10 resource blocks. The eNB may send a Physical HARQ Indicator Channel (PHICH) and a Physical Downlink Control Channel (PDCCH) in the first M symbol periods of each subframe (not shown inFIG. 2). The PHICH may carry information to support hybrid automatic repeat request (HARQ). The PDCCH may carry information on resource allocation for UEs and control information for downlink channels. The eNB may send a Physical Downlink Shared Channel (PDSCH) in the remaining symbol periods of each subframe. The PDSCH may carry data for UEs scheduled for data transmission on the downlink.

A number of resource elements may be available in each symbol period. Each resource element (RE) may cover one subcarrier in one symbol period and may be used to send one modulation symbol, which may be a real or complex value. Resource elements not used for a reference signal in each symbol period may be arranged into resource element groups (REGs). Each REG may include four resource elements in one symbol period. The PCFICH may occupy four REGs, which may be spaced approximately equally across frequency, in symbol period0. The PHICH may occupy three REGs, which may be spread across frequency, in one or more configurable symbol periods. For example, the three REGs for the PHICH may all belong in symbol period0or may be spread in symbol periods0,1, and2. The PDCCH may occupy 9, 18, 32, or 64 REGs, which may be selected from the available REGs, in the first M symbol periods. Only certain combinations of REGs may be allowed for the PDCCH.

A UE may be assigned resource blocks in the control section to transmit control information to an eNB. The UE may also be assigned resource blocks in the data section to transmit data to the Node B. The UE may transmit control information in a Physical Uplink Control Channel (PUCCH)210a,210bon the assigned resource blocks in the control section. The UE may transmit data or both data and control information in a Physical Uplink Shared Channel (PUSCH)220a,220bon the assigned resource blocks in the data section. An uplink transmission may span both slots of a subframe and may hop across frequency as shown inFIG. 2A.

A UE may be within the coverage of multiple eNBs. One of these eNBs may be selected to serve the UE. The serving eNB may be selected based on various criteria such as received power, path loss, signal-to-noise ratio (SNR), etc.

A UE may operate in a dominant interference scenario in which the UE may observe high interference from one or more interfering eNBs. A dominant interference scenario may occur due to restricted association. For example, inFIG. 1, UE120ymay be close to femto eNB110yand may have high received power for eNB110y. However, UE120ymay not be able to access femto eNB110ydue to restricted association and may then connect to macro eNB110cwith lower received power (as shown inFIG. 1) or to femto eNB110zalso with lower received power (not shown inFIG. 1). UE120ymay then observe high interference from femto eNB110yon the downlink and may also cause high interference to eNB110yon the uplink.

A dominant interference scenario may also occur due to range extension, which is a scenario in which a UE connects to an eNB with lower path loss and lower SNR among all eNBs detected by the UE. For example, inFIG. 1, UE120xmay detect macro eNB110band pico eNB110xand may have lower received power for eNB110xthan eNB110b. Nevertheless, it may be desirable for UE120xto connect to pico eNB110xif the path loss for eNB110xis lower than the path loss for macro eNB110b. This may result in less interference to the wireless network for a given data rate for UE120x.

In an aspect, communication in a dominant interference scenario may be supported by having different eNBs operate on different frequency bands. A frequency band is a range of frequencies that may be used for communication and may be given by (i) a center frequency and a bandwidth or (ii) a lower frequency and an upper frequency. A frequency band may also be referred to as a band, a frequency channel, etc. The frequency bands for different eNBs may be selected such that a UE can communicate with a weaker eNB in a dominant interference scenario while allowing a strong eNB to communicate with its UEs. An eNB may be classified as a “weak” eNB or a “strong” eNB based on the relative received power of signals from the eNB received at a UE (and not based on the transmit power level of the eNB).

FIG. 3shows a block diagram of a design of a base station or an eNB110and a UE120, which may be one of the base stations/eNBs and one of the UEs inFIG. 1. For a restricted association scenario, the eNB110may be macro eNB110cinFIG. 1, and UE120may be UE120y. The eNB110may also be a base station of some other type. The eNB110may be equipped with T antennas334athrough334t, and the UE120may be equipped with R antennas352athrough352r, where in general T≧1 and R≧1.

At the eNB110, a transmit processor320may receive data from a data source312and control information from a controller/processor340. The control information may be for the PBCH, PCFICH, PHICH, PDCCH, etc. The data may be for the PDSCH, etc. The transmit processor320may process (e.g., encode and symbol map) the data and control information to obtain data symbols and control symbols, respectively. The transmit processor320may also generate reference symbols, e.g., for the PSS, SSS, and cell-specific reference signal. A transmit (TX) multiple-input multiple-output (MIMO) processor330may perform spatial processing (e.g., precoding) on the data symbols, the control symbols, and/or the reference symbols, if applicable, and may provide T output symbol streams to T modulators (MODs)332athrough332t. Each modulator332may process a respective output symbol stream (e.g., for OFDM, etc.) to obtain an output sample stream. Each modulator332may further process (e.g., convert to analog, amplify, filter, and upconvert) the output sample stream to obtain a downlink signal. T downlink signals from modulators332athrough332tmay be transmitted via T antennas334athrough334t, respectively.

At the UE120, antennas352athrough352rmay receive the downlink signals from the eNB110and may provide received signals to demodulators (DEMODs)354athrough354r, respectively. Each demodulator354may condition (e.g., filter, amplify, downconvert, and digitize) a respective received signal to obtain input samples. Each demodulator354may further process the input samples (e.g., for OFDM, etc.) to obtain received symbols. A MIMO detector356may obtain received symbols from all R demodulators354athrough354r, perform MIMO detection on the received symbols, if applicable, and provide detected symbols. A receive processor358may process (e.g., demodulate, deinterleave, and decode) the detected symbols, provide decoded data for the UE120to a data sink360, and provide decoded control information to a controller/processor380.

On the uplink, at the UE120, a transmit processor364may receive and process data (e.g., for the PUSCH) from a data source362and control information (e.g., for the PUCCH) from the controller/processor380. The transmit processor364may also generate reference symbols for a reference signal. The symbols from the transmit processor364may be precoded by a TX MIMO processor366if applicable, further processed by modulators354athrough354r(e.g., for SC-FDM, etc.), and transmitted to the eNB110. At the eNB110, the uplink signals from the UE120may be received by antennas334, processed by demodulators332, detected by a MIMO detector336if applicable, and further processed by a receive processor338to obtain decoded data and control information sent by the UE120. The receive processor338may provide the decoded data to a data sink339and the decoded control information to the controller/processor340.

The controllers/processors340,380may direct the operation at the eNB110and the UE120, respectively. The controller/processor380and/or other processors and modules at the UE120may perform or direct operations for blocks700inFIG. 7, and/or other processes for the techniques described herein. The memories342and382may store data and program codes for base station110and UE120, respectively. A scheduler344may schedule UEs for data transmission on the downlink and/or uplink.

Example Methods and Apparatus for Generating Demodulation Candidates Using Vector Candidate Sampling (VCS)

As discussed above, a MIMO system generally achieves higher throughputs by using multiple antennas at the transmitter and the receiver, which in turn enables transmission and reception of multiple independent data streams (or layers) between the transmitter and the receiver simultaneously. For example, LTE category 5 supports 4×4 MIMO with 4 transmit antennas at a base station and 4 receive antennas at a mobile receiver. In 4×4 MIMO, up to 4 simultaneous layers of information may be sent in parallel.

In certain aspects, a notation may be used where y is the received data vector, H is the channel matrix, x is the transmit data vector, and n is the noise vector. y may be given by:
y=Hx+n

Each element in the vector x belongs to a signal constellation. In LTE category 5, the maximum constellation size is 64-QAM, which means each element in x has up to 6 bits which gives 64 different hypotheses per layer.

In MIMO demodulation, a maximum a posteriori (MAP) receiver generally has optimal performance and requires evaluating the likelihood of every possible candidate. However, this may not be feasible for 4×4 MIMO systems since it would require evaluating approximately 16 million candidates.

In certain aspects, a conventional receiver with relatively reduced complexity may be used which estimates x given y. The conventional receiver in 4×4 MIMO may use Minimum Mean Square Error (MMSE) estimation. In an aspect, if F denotes MMSE estimator matrix, then the estimated transmit data vector is given by:
{circumflex over (x)}=Fy

However, performance may be significantly degraded compared to the optimal MAP receiver.

Thus, there is need for a method which approaches the optimal MAP performance with reasonable complexity. Certain aspects of the present disclosure provide methods for MIMO demodulation which may approach the optimal MAP performance with reasonable complexity.

In an aspect, VCS may be used to generate likely candidates for MIMO demodulation. VCS may generate high likelihood candidates with low complexity.

With VCS, performance may approach the optimal MAP performance. For example,FIG. 4illustrates a plot400comparing performance of VCS with MAP and Linear MMSE (LMMSE) performances, in accordance with certain aspects of the present disclosure.402denotes MAP performance which is generally optimal.404denotes VCS with 65 candidates and uses the maximum likelihood approximation to evaluate the candidates.404denotes a conventional LMMSE solution. As shown, VCS performance approaches MAP performance.

In addition, the complexity of VCS is very low which reduces the modem die area and power consumption. In certain aspects, VCS (assuming the initial LMMSE estimate is pre-calculated) may only require a few additions to generate each candidate.

Exemplary aspects of the present disclosure use a model where y is the received data vector, H is the channel matrix, x is the transmit data vector, and n is the noise vector. This gives the formulation y=Hx+n. High likelihood candidates for MIMO demodulation may be generated as follows.

First, the receive data vector y may be recorded. In LTE, y is typically captured once per resource element which corresponds to a frequency subcarrier and OFDM symbol. For example, in 4×4 MIMO, v is a length 4 vector.

Next, the estimator matrix F may be calculated, which estimates the transmitted x vector given the received y vector. In the current aspect, F is the conventional MMSE (minimum mean squared error) matrix. However, F may be an approximation of the MMSE matrix or the channel inverse H−1. For example, F may include an LMMSE matrix, an approximation of the LMMSE matrix, a channel matrix inversion estimator, or an approximation of the channel matrix inversion estimator.

For each candidate n, a perturb vector pnmay be added to the receive data vector y. In an aspect, the perturb vector pxmay be a random vector, a pseudo random vector, or a vector optimized for demodulation performance In an aspect the perturb vector may be selected from a set of perturb vectors, the number of perturb vectors in the set being equal to the number of likely candidates to be determines In an aspect, a different perturb vector may be used for each candidate n.

To generate the candidate n, the estimated transmit data vector (a likely candidate) may be given as {circumflex over (x)}n=slice(F(y+pn)). In an aspect, Fy may be calculated once since the result is used for all candidates. Fpn, on the other hand, may be calculated once per candidate using a matrix-vector multiply. In order to reduce complexity, pnmay be set to all zeros except one non-zero component. The slice function selects the nearest constellation point (e.g. one of 64 points in 64-QAM for each component).

Finally, the likelihood ratios for each bit may be calculated. The likelihood ratios may then be used by the decoder to determine the transmitted bits.

Using VCS with Maximum Likelihood

In certain aspects, VCS may be used to calculate the LLRs (log likelihood ratios) with the maximum likelihood approximation. For example,FIG. 5illustrates a block diagram500showing calculation of LLRs with maximum likelihood approximation using VCS, in accordance with certain aspects of the present disclosure.

As shown inFIG. 5, a first processing step (Step1) may include generating vector candidate samples x0-xN-1for a receive data vector recorded at a receiver, as discussed in the previous section. A second processing step (Step2) may include generating maximum likelihood hypotheses for each candidate x using a conventional method. For example, in 4×4 MIMO 64-QAM, 64 hypotheses may be generated for each layer for a total of 256 hypotheses per candidate. A third processing step (Step3) may include calculating likelihood for each bit hypotheses generated in the previous step. For example, the likelihood may be calculated using a multivariate normal probability density function. In an aspect, in practice, the exact likelihood is not calculated, and an approximation is used instead.

A fourth processing step (Step4) may include determining the maximum of the likelihoods for each bit hypothesis. In an aspect, the maximum likelihood is used because it approximates the true likelihood for each bit hypothesis.

Finally, a fifth processing step (Step5) may include determining the LLRs (log likelihood ratios) by subtracting the log likelihoods for each bit equal to one and each bit equal to zero. In an aspect, the determined log likelihood is the maximum of the log likelihoods found in step4.

Using VCS for Interference Cancellation

In certain aspects, VCS may be used to estimate and remove the interferers from the demodulated stream. For example,FIG. 6illustrates a block diagram600for using VCS to estimate and remove interferers from a demodulated stream, in accordance with certain aspects of the present disclosure.

As shown inFIG. 6, a first processing may include generating interferer candidates x0-xN-1by using the VCS technique discussed above. The first processing step may include Step1for applying a perturb vector to each candidate and estimating a transmit data vector corresponding to the candidate. A Step2may include applying a slicing function to obtain the likely interferer candidate.

A next processing step may include combining the interferer candidates from the previous step. For example, Steps3and4calculate a candidate weight γ for each interferer candidate. In an exemplary aspect, the optimal weights may be found through simulation, and weight of a candidate may be set based on the likelihood the candidate was transmitted. Steps5and6may combine the candidates using a weighted average to form an interference estimate z. The interference estimate generally includes all layers transmitted. For example in a rank 4 MIMO system, z is of length 4. In an aspect, for each demodulated layer, the demodulated layer is masked out from the interference estimate z. For example, while demodulating layer0in rank 4 MIMO, component0may be masked out and only components1,2, and3from z may be used.

A final processing step may include calculating scalar LLR inputs. For example, Steps7through10determine the LLRs, given the interference estimate z.

The estimated interferers may then be removed from the received signal to obtain the required demodulated stream.

FIG. 7is a flow diagram illustrating operations700by a MIMO receiver for determining a plurality of likely candidates for MIMO demodulation, in accordance with certain aspects of the present disclosure. Operations700may begin, at702, by receiving a signal at the MIMO receiver. At704, a receive data vector corresponding to the received signal may be recorded. At706, a plurality of likely candidates may be determined for MIMO demodulation via VCS, based at least on the receive data vector.

In certain aspects, for determining the plurality of likely candidates, the MIMO receiver may perturb the receive data vector for each candidate based on a pre-determined perturb vector, and estimate a corresponding transmit data vector based at least on the perturbed receive data vector for the candidate and an estimator matrix, wherein a likely candidate includes the estimated transmit data vector. In an aspect the perturb vector may be selected from a set of perturb vectors, the number of perturb vectors in the set being equal to the number of likely candidates to be determined In an aspect, a different perturb vector is used for each likely candidate. In an aspect, each perturb vector includes a random vector, a pseudo random vector, or a vector optimized for demodulation performance.

In certain aspects, the estimator matrix estimates a transmitted vector for a given received vector. In an aspect, the estimator matrix includes a Linear Minimum Mean Squared Error (LMMSE) matrix, an approximation of the LMMSE matrix, a channel matrix inversion estimator, or an approximation of the channel matrix inversion estimator.

In certain aspects, for estimating the transmit data vector, the MIMO receiver employs a slicing function to select a nearest constellation point for the transmit data vector in a vector space.

In certain aspects, the receiver data vector is captured once per resource element.

In certain aspects, operations700may include calculating likelihood ratios for each likely candidate for use by a decoder to determine transmitted bits.

The various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions. The means may include various hardware and/or software component(s) and/or module(s), including, but not limited to a circuit, an application specific integrated circuit (ASIC), or processor.