The present document relates to wireless communication, and in one aspect, to signal processing performed in a wireless signal receiver.
Recent years has seen a significant growth in wireless communication. As the number of wireless devices and applications running on the wireless devices goes up, so does the demand for data bandwidth in wireless communication networks. To meet this growing demand for high performance wireless devices and networks, complexity of next generation wireless networks and devices is expected to significantly increase over the currently deployed wireless devices.
A method and apparatus of interference rejection combining (IRC) comprises the steps of selecting a detection algorithm based on the signal to interference and noise ratio, generating real- or complex-valued impairment covariance matrix depending on the selected algorithm, calculating an interference reduction metric and comparing the metric with a threshold to determine if IRC shall be enabled, and if IRC is enabled, generating a whitening filter, applying the whitening filter to the received signal and channel matrix, and passing the whitened received signal and channel matrix to the selected standard detection algorithm for signal demodulation.
In one example aspect, a method of recovering data from a received signal implemented at a receiver comprising multiple receiving antennas is disclosed. The method includes estimating a signal to interference and noise ratio (SINR) of a received signal, selecting, based on the estimated SINR, one of a plurality of detection algorithms available for implementation at the receiver, determining a value of an interference reduction metric, selectively applying a whitening filter to the received signal, wherein the whitening filter is applied only when the value of the interference reduction metric meets a switching criterion, and operating the selected one of the plurality of detection algorithm upon an output of the whitening filter to generate estimates of bits of the data from the received signal. At least some of the plurality of detection algorithms have different error rate performances and different computational complexities. The whitening filter de-correlates received interference over the multiple receiving antennas by using spatial correlation of the impairment on multiple receiving antennas.
In another example aspect, a wireless communication receiver to adaptively demodulate a received signal is disclosed. The receiver includes an algorithm control unit that selects one from a plurality of signal detection algorithms available at the receiver, an interference rejection combining (IRC) control unit that determines whether or not to use IRC for the demodulation of a received signal using a detection algorithm that uses spatial correlation among impairment signals that form a part of the received signals, a whitening filter generation unit that computes coefficients of a whitening filter from an estimated impairment correlation matrix and a whitening filter unit that performs, prior to signal detection by the selected one of the plurality of signal detection algorithms, signal filtering using the whitening filter.
In yet another example aspect, a method of decoding data modulated using an orthogonal frequency division multiplexing (OFDM) technique, implemented at a receiver having multiple receive antennas, includes receiving the OFDM signal over multiple antennas, determining a spatial correlation of the impairment component of the received signals, generating coefficients of a whitening filter based on the determined spatial correlation of the impairment, applying the whitening filter to the received signal for de-correlating impairment in the received signal, and performing symbol detection on the de-correlated signal using one of a plurality of signal detection circuits that do not take into account spatial correlation among impairment component signals.
In yet another example aspect, a technique for recovering data from a received signal that includes an interference component is disclosed. The technique may be implemented at a receiver comprising multiple receiving antennas. The technique includes estimating, at the receiver, an impairment covariance matrix for signals received at the multiple receiving antennas, wherein the impairment covariance matrix represents a statistical covariance of the interference plus thermal noise component of the received signal, computing a Cholesky decomposition of the impairment covariance matrix by using one of an upper- and a lower-triangular Cholesky factor matrix depending on relative power levels of impairment component of the signals received at the multiple receiving antennas, generating a whitening filter from the Cholesky decomposition, wherein the whitening filter de-correlates received interference over the multiple receiving antennas by using spatial correlation of the impairment signals across the multiple receiving antennas, applying the whitening filter to the received signal, and operating a detection algorithm upon an output of the whitening filter to generate estimates of bits of the data from the received signal.
These, and other, aspects are disclosed in the present document.
In recent years, the use of multiple antennas at the transmitter and/or receiver, sometimes collectively called Multiple Input, Multiple Output (MIMO) systems, has become a pragmatic and cost-effective approach in making high data rate wireless links a reality. To further increase system capacity, wireless service providers deploy networks employing 1/1 frequency reuse. The frequency reuse, however, could result in an increase in interference from neighbor cells, causing undesirable effects such as lower data throughput, poor speech quality, call dropout, etc. As a result, effective interference suppressing algorithms in the wireless MIMO receivers have become increasingly important to improve user throughput, especially in cell-edge regions where signals from neighboring cells may overlap with the desired signal. Inter-cell interference mitigation is an important issue in cellular networks in general, and is important in 4G and upcoming networks because the way to meet the exponentially growing traffic need is by hyper-dense deployment of cells with low power cells overlaying high power macro cells. In such heterogeneous networks (HetNets), received signal level from a neighbor cell can be much higher than that of the serving cell if the mobile user equipment is located at cell edge. An Interference Rejection Combining (IRC) implementation may make use of correlation of interference across multiple receiver antennas to reduce the effect of the interference. For example, an IRC receiver based on minimum mean square error criterion, referred to as MMSE-IRC advanced receiver, was introduced in Release 11 of the 3GPP LTE (3rd Generation Partnership Project Long Term Evolution) Advanced standard (LTE-A). Per LTE-A Release 11, an IRC receiver is to meet enhanced requirements for radio signal reception in which the signal is impaired not only by thermal noise but also interference from neighbor cells. In LTE Release 12, an even more advanced class of receivers called Network Assisted Interference Cancellation an Suppression (NAICS) is introduced to mitigate even more interference by explicitly cancelling the strongest interference signal(s), or by jointly detecting interference and desired signal. An NAICS receiver can be used to mitigate strong neighbor cell interference signals whereas weaker interference signals can be suppressed more effectively using IRC.
In comparison with non-IRC based techniques, IRC techniques, e.g., as specified in Release 11, may put a significant implementation burden on receivers. To add to this, when a receiver is designed to implement multiple IRC techniques, or a mix of IRC and conventional techniques, the circuit area, power consumption, and complexity of implementation may significantly increase.
In some implementations that use the IRC technique, the spatial correlation of the impairment (interference plus noise) observed on two or more receive antennas is used to suppress the power of the interference. The spatial correlation of impairment component is estimated by calculating individual impairment samples and averaging the impairment samples wherein each impairment sample either includes all received interference signals plus noise, or a subset of all the interference signals plus noise, depending on if the selected detection algorithm detects an interference signal. If the selected detection algorithm detects an interference signal, in addition to detecting the desired user signal, then the interference signal is not included in the impairment sample and vice versa. By comparison, some interference cancellation (IC) techniques, e.g., the NAICS receiver technique, explicitly estimate one or more parameters of the interfering signal(s) including their channel matrix and modulation scheme, in addition to estimating the parameters of the desired signal. In some IC implementations, the estimated interfering signal is then subtracted from the received signal to reduce the impact of the interference. The resulting difference signal is demodulated to recover the information bits in the desired signal. In contrast to IC, an IRC receiver can work by simply exploiting the spatial correlation of the impairment component of the received signal, and thus can provide a more robust and cost-effective receiver implementation compared to an IC-based implementation.
The techniques described in the present document can be used for interference suppression in a wireless MIMO-OFDM (Orthogonal Frequency Division Multiplexing) receiver as part of received signal processing. In one aspect, the disclosed techniques can be used to unify IRC using different detection algorithms, including NAICS detection algorithms based on either interference cancellation and joint detection. In one advantageous aspect, the disclosed technique enable a simple migration of current and future receiver designs to incorporate spatial correlation of the impairment among signals received at multiple antennas into the signal detection and symbol decision algorithms.
The disclosed techniques may be implemented by pre-filtering signals, prior to symbol decisions, using a whitening filter that spatially de-correlates the impairment in the received signals. The whitening filter can be calculated by performing decomposition of the impairment correlation matrix resulting in a triangular whitening matrix.
In many implementations, demodulation is performed for each subcarrier independently, except for transmit diversity mode, where demodulation is done for a pair of adjacent subcarriers. The high complexity of MIMO demodulator is due to the very large number of subcarriers that have to be demodulated in every data frame of short duration. The demodulator can generate a heavy computation load even using a simple algorithm if the algorithm is executed at a high rate. To be able to provide satisfactory performance under different operating conditions, a practical demodulator is typically designed to support an array of different detection algorithms to cover different transmission modes, to reduce power consumption and/or to achieve optimum error rate performance. In some cases, for certain operating conditions, a low-complexity algorithm has better performance than a high-complexity algorithm(s). In other cases, it may be useful to use high-complexity algorithm in order to meet the standard requirements and to achieve high data throughput.
In some disclosed embodiments, an IRC receiver is used in combination with a NAICS receiver wherein the strongest interference signal(s) is/are detected using a NAICS receiver algorithm, whereas weaker interference signals are suppressed using IRC. If a strong interference is to be detected using a NAICS algorithm, this interference signal is not included in the impairment correlation calculation.
Different MIMO detection algorithms including NAICS detection algorithms can be categorized based on their design criteria and impairment models. For example, algorithms using uncorrelated and correlated impairment model can be referred to as standard algorithms and IRC algorithms, respectively. For example, an implementation that based on the criterion of minimizing Mean Squared Error (MSE) using uncorrelated impairment model may be called a standard MMSE implementation whereas an implementation which minimizes MSE using correlated impairment model may be called MMSE-IRC. A Maximum Likelihood (ML) implementation may maximize the Maximum A Posteriori Probability (MAP) using uncorrelated impairment model, whereas a ML-IRC algorithm also maximizes MAP, but uses correlated impairment model. Similarly, a NAICS receiver using successive interference cancellation may use MMSE to first detect neighbor cell signal, subtract the detected interference from received signal and then detect the desired signal. In some implementations, different IRC techniques may be implemented by separately incorporating the inverse of impairment covariance matrix into a corresponding standard, or non-IRC, algorithms. Such implementations may entail significant changes to the existing, or pre-Release 11, modem chips that typically support only the standard non-IRC detection techniques. A MIMO receiver may have to support both IRC and non-IRC mode operation because the IRC gain depends on prevalent interference situation, for example using IRC mode detection in cell center can reduce rather than increase the user data throughput due to the limited accuracy achievable using practical channel and impairment matrix estimation algorithm.
Orthogonal Frequency Division Multiplexing (OFDM) can be used to convert frequency selective fading radio channel into frequency flat fading channel. The transmitter sends K modulation symbols in parallel during an OFDM symbol l (l=0,1, . . . L−1, where L is the number of OFDM symbols per timeslot) using NFFT (N>L) sub-carriers. Due to the orthogonality of the subcarriers, the receiver can demodulate received signal rl,k for each data-carrying subcarrier independently. In OFDM terminology, e.g., as used in the 3GPP documents, the smallest unit of time-frequency resource is called a Resource Element (RE). The demodulation of a single subcarrier is relatively simple since rl,k is the transmitted modulation symbol sl,k multiplied by the channel frequency response hl,k plus a noise term vl,k.
rl,k=hl,ksl,k+vl,k Eq. 1
Let NRX and ND denote the number of receive antennas and transmitted layers, respectively. The use of OFDM can greatly simplify MIMO system design and implementation because the NRX×1 received signal vector is the ND×1 transmitted symbol vector xl,k multiplied by the NRX×ND channel frequency response matrix Hl,k plus a NRX×1 noise vector nl,k:
yl,k=Hl,kxl,k+nl,k Eq. 2
Depending on the transmission mode being used, the vector xl,k may have been pre-coded at the transmitter using a NTX×ND pre-coding matrix, and the resulting signal is transmitted through NTX transmit antennas. Whether or not pre-coding is performed, H always refers to the composite channel matrix between NRX received signals and ND transmitted symbols. In the following description, the OFDM symbol and subcarrier indices l and k are omitted for brevity, but it should be understood that, in a broadband system, a MIMO receiver needs to demodulate signals y for potentially a very large number of resource elements to complete the reception of a single data packet. This is the reason why MIMO demodulator is one of the most complex components of a receiver.
In a typical MIMO-OFDM system, the total frequency resource (spectrum) is divided into resource blocks (RBs) where each RB consists of a certain number of frequency-consecutive subcarriers during a specific number of time-consecutive OFDM symbols. Within a Transmit Time Interval (TTI), the transmitter sends different types of signals using a specific number of RBs. A small portion of the allocated resource grid (time-frequency grid) is used to transmit Synchronization Signals (SS), Reference Signals (RSs), and control channels. The SS are typically used for time-frequency synchronization; RSs are typically used for channel estimation and channel quality measurement; and control channels carry information useful to demodulate and decode the user data. The larger part of the grid is used to transmit user data using one of the supported transmission modes, including transmit diversity, open- and closed-loop spatial multiplexing and beamforming, etc.
The impairment vector n, which includes interference and thermal noise on NRX receive antennas, can be modeled as uncorrelated or correlated random vector. In the first case, the impairment covariance matrix R is the identity matrix scaled by noise variance δ2
R=E{nnH}=δ2IN
where, E{} and H denote expectation and transpose-conjugate operator respectively. In the second case, the impairment is modeled as a Hermitian matrix with non-zero off-the-diagonal entries:
Eq. 3 can be a good model when the impairment only contains thermal noise or if the level of the interference is negligible or if there are a large number of interferers of approximately the same power level. However, if there are several dominant interfering signals, the receiver design should be based on (Eq. 4); otherwise radio performance may degrade significantly.
If there is only one interfering neighbor cell, the impairment can be written as
n=H 2x2+w Eq. 5
where H2, x2 represent the channel matrix and the transmitted symbol vector from the interfering neighbor cell respectively, and w the thermal noise. The corresponding impairment covariance matrix is given by
R=E{nnH}=E{(H2x2+w)(H2x2+w)H}=E{H2H22}+E{wwH}=E{H2H22}+δ2IN
The following assumptions are used to obtain (Eq. 6):(1) the interfering signal x2 and thermal noise are un-correlated, (2) the covariance matrix of x2 is an identity matrix, and (3) the covariance matrix of w is δ2IN
IRC uses the impairment correlations across receive antennas to suppress interference. For example, if H2 in (Eq. 6) is a 2×1 matrix H2=[h00 h10]T, then the impairment covariance matrix can be expressed as:
The off-the-diagonal entries of the above covariance matrix are non-zero, because the channel coefficients of the interference signal h00 and h10 are correlated. To estimate the impairment covariance matrix, the vector el,k=[el,k(0), el,k(1), . . . el,k(NRX−1)]T of impairment samples is computed using the known reference signal symbols:
el,k=yl,k−Hdl,k, (l,k)⊂ΨRS Eq. 8
where ΨRS is the set of reference signal symbol indices and dl,k are known RS symbols and H is the estimated channel matrix. The noise covariance matrix estimate R is computed as:
where |ΨRS| denotes the number of RS symbols. If there are multiple interference signals with klfRs channel matrices H2, H3, . . . Hl+1, and corresponding transmit symbol vectors x2, x3, . . . x1+1 and the strongest interference H2x2 are to be detected using a NAICS algorithm, then an impairment sample can be calculated as below where dl,k(2) denotes the RS symbols of the strongest interference signal.
el,k=y−Hdl,k−H2dl,k(2)
The controller 210 de-maps the received signals to different physical channels, extracts physical signals, and controls the overall baseband processing. The synchronizer 212 performs time-frequency synchronization of the receiver 200 which is used to maintain orthogonality of the received signals on different subcarriers. Channel estimator 214 picks up received reference signals to estimate the channel matrix at the time-frequency locations corresponding to the reference signals, and then interpolates/extrapolates these channel samples to estimate the channel matrix at resource elements corresponding to data symbols. To use a NAICS algorithm, the channel estimator needs to estimate channel matrix of one or more strongest neighbor cells. The channel estimator 214 also estimates the noise variance {circumflex over (δ)}2 and, if interference rejection combining is supported, the impairment covariance matrix {circumflex over (R)}. The demodulator 216 uses the received signals, channel matrices, noise variance, and impairment covariance matrix estimate provided by the channel estimator to detect the transmit symbols {circumflex over (x)} and calculate the log-likelihood ratios (LLRs) for each bit in the detected symbols. The LLRs are forwarded to the Viterbi and Turbo decoder for error correction decoding.
The demodulator 216 typically will support an array of different MIMO detection algorithms, including algorithms for supporting NAICS receiver, to cover different transmission modes. To detect a single layer MIMO signal, the Maximum Ratio Combining (MRC) algorithm can be used. To detect MIMO with 2 or more layers, Minimum Mean Squared Error (MMSE) algorithm, or Maximum Likelihood (ML) algorithm, or Sphere Decoding (SD) algorithm can be used. There are many different kinds of SD algorithms, including two categories of depth-first and breadth-first algorithms. One particular depth-first algorithm is called SESD (Schnorr-Euchner Sphere Decoding) which, in addition to using depth-first tree-search, also converts complex-valued MIMO into its equivalent real-valued MIMO system before the detection. The MMSE algorithm has much lower complexity compared to ML and SD algorithm, and additionally often exhibits better error rate performance than ML or SD at low Signal-to-Interference-and-Noise-Ratio (SINR). Therefore, using MMSE at low SINR not only could reduce consumption, but also increase throughput. At high SINR, on the other hand, ML or SD algorithm can outperform MMSE by big margin and the receiver should select either ML or SD algorithm to get high throughput. To detect interference signal in addition to detecting the desired signal, the demodulator also supports NAICS algorithms including NAICS MMSE-SIC and NAICS ML algorithms.
Different MIMO detection techniques, including NAICS detection algorithms, can be categorized based on their design criteria and impairment models. In the present description, techniques that use uncorrelated impairment model are referred to as standard algorithms whereas techniques that use correlated impairment model are referred to as IRC algorithms. These standard algorithms do not take into account the impairment correlation in the signals received at the different antennas. For example, the algorithm which minimizes MSE using uncorrelated impairment model is referred to as standard MMSE or simply MMSE algorithm, and the algorithm which also minimizes MSE but uses correlated model is referred to as MMSE-IRC (see Table 1).
The ML, ML-IRC, SD, and SD-IRC are all algorithms that are based on the ML criterion. SD/SD-IRC typically have lower complexity compared to ML/ML-IRC, because, in SD/SD-IRC algorithm, the search for the ML solution is confined to those vectors x that lie within a hyper sphere with a specific search radius. In other words, the search space is limited.
Table 1 lists various signal detection algorithms that have been categorized based on the design criterion and the impairment model assumed.
(10-5)
(10-6)
(10-7)
(10-8)
It can be seen from Table 1 that, in one aspect, implementing different IRC algorithms amounts to incorporating the inverse of the impairment covariance matrix R−1 into the corresponding standard algorithms. However this method of implementing IRC algorithms by changing the individual algorithms will cause very large increase in chip area, computational complexity, and power consumption. For covering all operational cases, a receiver typically will support both IRC and non-IRC mode operation, because the IRC gain depends on the prevalent interference situation. Using IRC mode detection when the mobile terminal is in the cell center region, for example, can reduce rather than increase the data throughput due to errors in the channel and impairment covariance matrix estimation. This means all formulas in Table 1 would typically be explicitly or implicitly implemented. It can be seen that an IRC algorithm implies significantly more computation compared to the corresponding standard algorithm. For example, demodulating using MMSE-IRC (10-4 in Table 1) uses more computation than using standard MMSE algorithm (10-3 in Table 1).
Some disclosed embodiments circumvent the problems by first removing the spatial correlation of the impairment in the received signal by passing the received signal and the channel matrix through a whitening filter. The whitened received signal and channel matrix are then fed to the selected standard algorithm. In some implementations, all standard detection algorithms share the same whitening filter. Thus, only a single whitening filter is used to support IRC detection for all the algorithms that have been optimized for the various operating conditions. To support adaptive IRC and none-IRC mode detection, the demodulator can include an IRC switch which can be turned on or off depending on an operational parameter, e.g., the degree of impairment correlation, antenna configuration, etc. When the switch is turned off, the whitening filter unit is bypassed, and received signal and channel matrix are fed directly to the selected standard algorithm.
An example embodiment of MIMO demodulator 400, shown in
The spatial whitening filter generated by the whitening filter generation unit 406 can be obtained by computing the Cholesky decomposition of the inverse of the impairment covariance matrix R−1=UHU and multiplying the received signal y and channel matrix H by the factor matrix U to obtain a whitened received signal yw and the corresponding channel matrix Hw, resulting in the following equivalent system
yw=Uy=U(Hx+n)=UHx+Un=Hwx+nw Eq. 10
The whitening operation is used to transform the original MIMO system y=Hx+n with correlated impairment n into a new MIMO system yw=Hwx+nw with uncorrelated or white impairment nw. Using the definition of the whitening filter, R−1=UHU the whiteness of the new impairment nw=Un can be easily proved:
Rw−=E{nwnwH}=E{UnnHUH}=UE{nnH}UH=URUH=UU−1U−HUH=IN
Eq. 11
Eq. 11 shows that the variance of nw is always 1.0 no matter what the original impairment matrix is. This fact can be utilized to simplify the detection process.
In some implementations, cascading the whitening filter with a standard algorithm is equivalent to the corresponding IRC algorithm. More specifically, cascading the whitening filter with the MMSE algorithm can be equivalent to the MMSE-IRC algorithm, and cascading the whitening filter with the SD algorithm can be equivalent to the SD-IRC algorithm, and so on. Regarding MMSE-IRC, the equivalence can be proved by feeding the output from the whitening filter yw=Uy, Hw=UH and δ2=1.0 to the standard MMSE algorithm which computes estimate {circumflex over (x)} using (10-3 in Table 1), i.e. {circumflex over (x)}=+(HwHHw+δ2IN
{circumflex over (x)}=(HHUHUH+IN
Regarding ML-IRC, the equivalence can be proved by feeding the output of the whitening filter yw=Uy and Hw=UH to the standard ML algorithm which computes estimate {circumflex over (x)} using (10-5 of Table 1), i.e.
Replacing Hw with UH and yw with Uy, and UHU with R−1 yields:
The equivalence for other IRC algorithms can be proved in a similar way.
In some embodiments, the whitening filter generation unit 406 calculates a whitening filter by performing a Cholesky decomposition of the inverse of the impairment covariance matrix. The whitening filter unit 408 then applies the whitening filter to the received signal and channel matrix.
In some embodiments, the IRC control unit calculates an interference reduction ratio based on the estimated impairment correlation matrix and compares the metric with a threshold to determine if IRC should be applied. The threshold T can be chosen based on the result of simulations, while taking the values of other relevant signal parameters into account such as the estimated SINR, the modulation scheme, and so on. For example, the threshold T may be a system-wide constant or may be periodically adjusted based on changes in the wireless network.
In some embodiments, the whitening filter can be generated by first computing the Cholesky decomposition of the impairment covariance matrix and then computing the inverse of the triangular Cholesky factor matrix followed by conjugate-transposing the result. This method can be used to reduce the computation compared to first computing the inverse of R matrix and then performing Cholesky decomposition of the inverse. This is because inverting a triangular matrix is much simpler than inverting a non-triangular matrix. An additional benefit of this method is that, after the Cholesky decomposition of the impairment matrix has been computed, the determinant of the impairment covariance matrix is readily obtained by computing the product of the main diagonal entries of the Cholesky factor matrix and squaring the result. The determinant of the impairment covariance matrix is then used for calculating the interference reduction metric.
In various embodiments, the Cholesky factorization that is calculated using either upper or lower triangular factor matrix can be used to obtain the whitening filter. In both cases, the impairment will be de-correlated whether upper or lower triangular matrix is used. If the power levels of the impairment on receive antennas are very different, however, using upper or lower triangular matrix will have a different effect on the received signals. Consider the case of using 2 receive antennas with:
In case when upper-triangular whitening filter is used to whiten received signal yw iS:
If lower-triangular whitening filter is used, then the whitened received signal yw is:
From Equations 15 and 16, it can be seen that in case of upper-triangular filter, the signal yw(1) is the scaled version of the original signal y(1) whereas the signal yw(0) is the linear combination of y(0) and y(1). Similarly, in case of lower triangular filter, yw(0) is the scaled version of y(0), whereas yw(1) is the linear combination of y(0) and y(1). In some embodiments, if the impairment power on the second antenna is smaller, i.e. if r11<r00, then upper-triangular filter may be used; otherwise lower triangular filter is used. This selectivity of the application of whether to use the upper or the lower triangular filter can be advantageously used to minimize the distortion to the received signal branch that has better quality.
In one aspect, the performance gain of IRC can be measured in terms of SINR to achieve a certain normalized throughput (for example 70%) with and without using IRC. The figure of IRC gain depends on many factors, including location of the mobile terminal, dominant interference power ratio (DIP), which is the ratio of each interferer's power level to the total interference plus thermal noise power, the estimation accuracy of channel, and impairment covariance matrix, etc. The IRC gain also improves very significantly with increased number of receive antennas, because using more receive antennas enables the receiver to more fully de-correlate the impairment and to reduce the effects of interference to a larger extent.
In some embodiments, if a mobile terminal has only 2 receive antennas, real-valued impairment covariance matrix can be generated by splitting the in-phase (I) and quadrature (Q) component of each impairment sample el,k=[re(el,k)T, im(el,k)T]T where re(el,k)=[re(el,k(0),re(el,k(1),..re(el,k(NRX−1]T, im(el,k)=[im(el,k(0),im(el,k(1),..im(el,k(NRX−1)]T, el,k=yl,k=Hdl,k and (l,k)⊂ΨRS. It can be seen that ēl,k is a 2 NRX×1 vector. Averaging these vector samples yields the 2 NRX×2 NRX real-valued impairment covariance matrix
Using I-Q splitting, the impairment correlation in both antenna and I-Q domain are captured which is especially beneficial when the number of receive antennas is small such as 2. The whitening filter is generated from
−1=ŪTŪ Eq. 18
Before the whitening filter Ū can be applied to the received signal, the original complex-valued MIMO system y=Hx+n is transformed to its equivalent real-valued MIMO system:
The whitened received signal
w=Ū
Eq. 20
This method of spatial whitening using the real-valued impairment covariance matrix is especially convenient when the SESD algorithm is selected, because the SESD algorithm is also based on converting the complex MIMO to its equivalent real system before detecting. After the whitening operation, the above-described MIMO system has already been converted to a real system, thereby providing partial results for the SESD implementation.
One advantageous aspect of the techniques disclosed in the present document is that these techniques can significantly reduce computation complexity, when compared with the complexity of an implementation in which the inverse of impairment matrix R−1 is directly incorporated into the respective detection method.
In some embodiments using the presently disclosed techniques, computations for a whitening operation may be performed. These computations may include multiplication of the received signal vector and channel matrix by a triangular matrix which has real diagonal elements with all elements below the diagonal being zero, i.e., not needing a multiplication. See, e.g., discussion with respect to Equations 15 and 16. When using the direct method, the additional computation load for IRC based detection involves the multiplication of the received signal vector and channel matrix by the inverse of the impairment correlation matrix which typically has no zero elements.
It is the zeros in the triangular matrix, which represents the whitening filter, that contribute to the computational saving. The savings are larger with an increasing number of receive antennas and with the size of channel matrix. For example, if there are 8 receive antennas and the channel matrix is 8×8, then there are 28 zeros in the triangular whitening filter matrix which will result in a saving of 28*9 complex multiplications per sub-carrier. Each complex multiplication may be performed using 4 real multiplications and 2 real additions or 6 real operations. The saving per subcarrier is thus 28*9*6 operations. For a LTE system with 1200 data carrying subcarriers, the total saving per packet can be 28*9*6*1200=1,814,400 operations.
The above savings calculations are applicable to the MMSE-IRC implementation. For ML-IRC and SD-IRC implementations, the savings can be even more because using the direct implementation method, the full matrix R−1 needs to be multiplied |C|N
The difference between the computation load using a unified IRC scheme and direct implementation is depicted in the example matrix depictions of
At 502, the method 500 estimating a signal to interference and noise ratio (SINR) of a received signal.
At 504, the method 500 includes selecting, based on the estimated SINR, one of a plurality of detection algorithms available for implementation at the receiver
At 506, the method 500 includes determining a value of an interference reduction metric.
At 508, the method 500 includes selectively applying a whitening filter to the received signal, wherein the whitening filter is applied only when the value of the interference reduction metric meets a switching criterion. In some embodiments, the method 500 may estimate the coefficients of the whitening filter by estimating an impairment covariance matrix for received signals and computing a Cholesky decomposition of inverse of the impairment covariance matrix.
At 510, the method 500 includes passing a resulting signal of the selective application of the whitening filter to a module that implements the selected detection algorithm to recover data bits from the received signal.
In some embodiments, a wireless communication receiver to adaptively demodulate a received signal includes an algorithm control unit that selects one from a plurality of signal detection algorithms available at the receiver, an interference rejection combining control unit that determines whether or not to use IRC for demodulation of a received signal using the selected detection algorithm, a whitening filter generation unit that computes coefficients of a whitening filter from an impairment correlation matrix, and a whitening filter unit that performs the whitening prior to signal detection by the selected one of the plurality of signal detection algorithms.
The method 800 further includes computing (804) a Cholesky decomposition of the impairment covariance matrix by using one of an upper- and a lower- triangular Cholesky factor matrix depending on relative power levels of impairment component of the signals received at the multiple receiving antennas. For example, referring to discussion with reference to Equations 15 and 16, the whitened component yw() of the input signal may be dominated by the corresponding received signal, or may be a combination of signals received at different antennas, based on the upper or lower triangular characterization of the Cholesky decomposition.
The method 800 further includes generating (806) a whitening filter from the Cholesky decomposition. The whitening filter de-correlates received interference over the multiple receiving antennas by using spatial correlation of the impairment signals across the multiple receiving antennas. The method 800 further includes applying (808) the whitening filter to the received signal. The method 800 further includes operating (810) a detection algorithm upon an output of the whitening filter to generate estimates of bits of the data from the received signal.
In some embodiments, the the interference component is represented as a vector of dimension NRX×1, wherein NRX corresponds to number of receive antennas of the receiver. The method 800 may use the upper triangular Cholesky factor matrix when a measure of bottom entries in the vector is smaller than the measure of top entries in the vector. In some embodiments, the measure represents magnitude of a corresponding diagonal covariance coefficient entry in the impairment covariance matrix. For example, an example embodiment for 2 receive antennas is discussed in this document with reference to Equations 15 and 16.
It will be appreciated that techniques disclosed in the present document could be used to incorporate multiple IRC-based signal reception techniques without paying significant increase in circuit complexity or power consumption.
It will further be appreciated that techniques are disclosed to allow a reduced complexity implementation of the whitening filter by avoiding having to perform inversion of an impairment correlation matrix by first computing the Cholesky decomposition of the correlation matrix followed by inverting the Cholesky factor matrix that is triangular.
It will further be appreciated that the disclosed techniques can be used by implementers to enhance their current hardware implementations of non-IRC based, or standard, signal detection and decoding algorithms with IRC functionality.
The disclosed and other embodiments, modules and the functional operations described in this document can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this document and their structural equivalents, or in combinations of one or more of them. The disclosed and other embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
While this patent document contains many specifics, these should not be construed as limitations on the scope of an invention that is claimed or of what may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features that are described in this document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination. Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results.
Only a few examples and implementations are disclosed. Variations, modifications, and enhancements to the described examples and implementations and other implementations can be made based on what is disclosed.
This patent document claims the benefit of priority of U.S. Provisional Patent Application No. 62/085,469, filed on Nov. 28, 2014. The entire content of the before-mentioned patent application is incorporated by reference as part of the disclosure of this application.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CA2015/051234 | 11/25/2015 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62085469 | Nov 2014 | US |