The invention relates generally to wireless communication and, more particularly, to techniques for processing signals received from a wireless channel.
Equalizers may be used in wireless receivers to reduce the effects of channel distortion (e.g., inter symbol interference (ISI), etc.) within received signals. In a multiple antenna receiver, a separate equalizer may be used for each of the antennas, but optimally all of the equalizers should be calculated together. As the characteristics of the wireless channel change with time in a wireless system, the configuration of the equalizers (e.g., the filter tap weights, etc.) within the wireless receiver needs to be adjusted. Techniques are needed for generating these equalizer updates in a computationally efficient manner.
In the following detailed description, reference is made to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that the various embodiments of the invention, although different, are not necessarily mutually exclusive. For example, a particular feature, structure, or characteristic described herein in connection with one embodiment may be implemented within other embodiments without departing from the spirit and scope of the invention. In addition, it is to be understood that the location or arrangement of individual elements within each disclosed embodiment may be modified without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, appropriately interpreted, along with the full range of equivalents to which the claims are entitled. In the drawings, like numerals refer to the same or similar functionality throughout the several views.
When the signals arrive at the receiving device 14, the receiving device 14 must process the signals to recover the data that was originally transmitted by the transmitting device 12. Effects in the channel (e.g., inter-symbol interference (ISI), etc.) can distort the signals as they propagate to the receiving device 14, making data recovery more difficult. Various techniques may be used within the receiving device 14 to reduce the negative effects of the channel on the signals. One such technique involves the use of equalization. An equalizer is a filter that may be used in a receive chain to remove many of the distortion effects from a signal that has propagated through a channel. Filter coefficients (or tap weights) may be applied to the equalizer to configure it to behave in a desired manner. Channel knowledge is generally required to generate the filter taps to be used by the equalizer. In a multi-antenna system, a separate equalizer may be used for each of the available antennas.
The equalizers 44, 46 may be, for example, linear finite impulse response (FIR) filters (transversal filters). A FIR filter generally includes a delay line with taps at T second intervals. T may be, for example, the symbol duration. For each tap, a tap weight (or equalizer coefficient) is assigned to achieve a desired filter transfer function. The weighted sample values are summed in the filter to form output samples. The equalizer basically performs a convolution operation of the input samples {x(k)} with the tap weights to form the output samples {z(k)}.
The outputs of the equalizers 44, 46 are delivered to a summer 48 which sums the filtered signals to obtain an estimate of the data originally transmitted by the corresponding transmitting device, x. A detector 50 may also be provided to perform a final decision operation for the data. The output of the detector 50 may then be delivered to other circuitry for further processing. Any type of antennas 32, 34 may be used with the receiver 30 including, for example, dipoles, patches, helical antennas, and/or others.
In many wireless systems, it is common for the characteristics of the wireless channel to change with time. This is especially true in mobile systems where one or more terminals are allowed to move about during communication operations. For this reason, the filter characteristics of the equalizers 44, 46 will also have to change with time in a manner that reflects the changing channel. The channel and noise estimator 52 is operative for generating channel and noise information (e.g., a channel matrix, H; noise variance, σ2; etc.) for each of the receive antennas 32, 34. To generate the channel information, it is typically necessary to send training data (e.g., pseudo random sequences, known data patterns, etc.), that is known to the channel and noise estimator 52, to the receiver 30 through the channel of interest. The training data may also be used to develop the noise information. When the receiver 30 receives signals that include the training data, it may direct the training data to the channel and noise estimator 52 for use in generating the channel and noise information.
The tap calculator 54 uses channel and noise information generated by the channel and noise estimator 52 to generate the configuration information (e.g., tap weights, etc.) to be delivered to the equalizers 44, 46 to configure them to accurately filter the received signals. The tap calculator 54 may generate tap weights that are designed to achieve a predetermined goal within the equalizers 44,46 when processing received signals. One such goal may be the minimization of the mean square error between desired data symbols and estimated data symbols in the equalizer. This technique may be referred to as minimum mean square error (MMSE) equalization. The implementation of MMSE equalization can be computationally complex, especially for multi-antenna systems. For example, in past systems, the determination of tap weights for MMSE equalization in a multiple antenna receiver system typically required the inversion of an kN×kN matrix, where k is the number of antennas and N is the number of samples on the receiving side, for each receiving antenna (i.e., the samples denoted Y in the equation below). N is also the number of taps that will be used in the derived filter. As is well known, matrix inversion operations can consume large amounts of system resources and the larger the size of the matrix to be inverted, the more resources that will be consumed by the inversion. In one aspect of the present invention, techniques are provided for reducing the computational complexity associated with generating MMSE equalization coefficients for equalizers in a multi-antenna receiver.
In a receiver having K antennas, a vector Yi of samples received by an antenna i may be expressed as:
Yi=HiX+ηi
where Hi is the channel matrix associated with antenna i, X represents the samples transmitted to the receiver from a remote transmitting device, and ηi represents the noise associated with antenna i (which is assumed to be white, with variance σ2). The noise in different antennas is assumed to be independent. For a multiple antenna system, the MMSE equalizer W is a set of K filters Wi. The estimated X (i.e., <x>) in the system may be expressed as:
where Wi+ represents the conjugate transpose of filter Wi. The filters Wi are given by:
where C is the received samples autocorrelation matrix, which is a K×K block matrix, with block (i, j) given by:
Cij=E(YiYj+)=Hi=Hj++σi2δijI.
For i=j, E(YiYj+) is the autocorrelation matrix of the samples received by antenna i.
As shown in Equation 1 above, the generation of the filters Wi for a multi-antenna receiver requires the inversion of the received samples autocorrelation matrix C. It is shown below that the inversion operation can be simplified significantly by noting that the blocks of the matrix C are all Toeplitz. For ease of description and to facilitate understanding, the discussion that follows is for a two antenna receiver. When K=2, the received samples autocorrelation matrix C is:
Each of the blocks within the matrix C is Toeplitz. That is, except for boundary elements, the blocks behave like linear filters and therefore commute (AB=BA). Since the blocks commute, they may be treated as individual numbers in the form:
The inverted version of M is thus:
where det is the determinant of matrix M and is equal to ad−bc. Applying this principle to the matrix C results in the following:
where:
DET=(H1H1++σ12I)*(H2H2++σ22I)−H1H2+H2H1+
which simplifies to:
DET=H1H1+σ22I+H2H2+σ12I+σ12σ22I.
From the above expressions, W can be calculated as follows:
The result of the above-described technique is that the size of the matrix that needs to be inverted is reduced by a factor of 2. That is, instead of inverting the entire matrix C, the smaller determinant matrix DET can be inverted. This reduction in the size of the matrix to be inverted can reduce the computation complexity of generating the equalizer configuration information considerably. In addition, it may also provide numerical robustness. That is, the decrease in the dimension of the matrix to be inverted makes the inversion more stable numerically which may result in improved performance over previous techniques.
In the discussion above, it is assumed that there is a single transmitting base. However, in a typical network scenario, there will be multiple base stations transmitting in the vicinity of a receiving device, only one of which is a base station of interest. In the description that follows, expressions are provided that allow equalizer configuration information to be efficiently generated for a multiple antenna system for the case of multiple transmitting bases. As in the case of a single transmitting antenna, the matrix C is a block matrix with k×k blocks, where each block has a size N×N (where N is the size of the window of received samples, in each receiving antenna, on which the equalizer is calculated and is also the equalizer size). In this situation, the received signal may be expressed as:
where i is the receiver antenna index and b is the transmitting base index. If the base station of interest is station 0 (i.e., b=0) and the receiving device includes two antennas (i=1, 2), then the filters Wi are given by the expression:
The block matrix C is therefore a 2x2 matrix, with block (ij) given by:
The inverted block matrix C’ may be expressed as:
where
Because the H matrices commute, the above expression simplifies to:
In at least one embodiment of the invention, the above equations for DET and C−1 may be utilized within, for example, the tap calculator 54 of
In the various expressions set out above, the noise variance σi2 associated with antenna i appears frequently. This noise variance may be determined in a variety of different ways. In one approach, for example, the H matrices of all base stations are first estimated for each antenna, using training information. The noise variance may then be estimated using the equations:
The left hand side of these equations is measured directly by the time average Cij=E(YiYj+). The H matrices are known and the noise variances can therefore be estimated. A similar technique may be used for devices having more than two antennas. In another possible approach, the H matrix is only estimated for the base station of interest, using the training data. The matrix C that needs to be inverted is then calculated (as just mentioned) by the time average Cij=E(YiYj+). Using this approach, there is no need for a separate antenna noise estimation. Other techniques may also be used.
In the description that follows, an exact formula for reducing the computational complexity of the MMSE filter generation process for a multi-antenna system is derived for the case of single transmitting antenna. It can shown that this exact formula is substantially the same as the result derived previously for the single transmitting antenna case. As described previously, the C matrix is a K×K block matrix, with block (i, j) given by:
The block matrix C may be expressed as follows:
C=HH++A
where H is a vector of blocks:
and A is a noise block matrix which is diagonal in blocks and diagonal inside the blocks. Equation 1 above can now be rewritten as:
(HH++A)W=H.
To simplify the calculation of the MMSE equalizer W, the following relationship may be defined:
where m is of the size of a single block. The equation for W then becomes:
Hm+AW=H
where m multiplies each element of H. The solution of the above equation is:
W=A−H(1−m) (Equation 2)
where the “1” represents a unity matrix of one block size. Multiplying both sides of Equation 2 by H+ results in the following expression for m:
m=H+A−1H(1−m)
where
Solving for (1−m) results in:
Substituting Equation 3 into Equation 2 results in the following solution for W:
W=A−1H(1+H+A−1H)−1 (Equation 4)
which is an exact expression for W. Significantly, the above expression only requires the inversion of a matrix having the size of a single block, regardless of the number of antennas being used. In at least one embodiment of the invention, Equation 4 may be utilized within, for example, the tap calculator 54 of
In a system having more than 2 antennas, a similar expression may be used. The DET matrix may then be inverted (block 64). The inverted DET matrix may then be used to calculate the inverted block matrix C−1 (block 66). This may be performed using the equation:
The inverted block matrix C−1 may then be used to generate the MMSE filters W as follows:
for a base station of interest having b=0 (block 68).
It should be appreciated that the various blocks in
The techniques and structures of the present invention may be implemented in any of a variety of different forms. For example, features of the invention may be embodied within laptop, palmtop, desktop, and tablet computers having wireless capability; personal digital assistants (PDAs) having wireless capability; cellular telephones and other handheld wireless communicators; pagers; satellite communicators; cameras having wireless capability; audio/video devices having wireless capability; network interface cards (NICs) and other network interface structures; base stations; wireless access points; integrated circuits; as instructions and/or data structures stored on machine readable media; and/or in other formats. Examples of different types of machine readable media that may be used include floppy diskettes, hard disks, optical disks, compact disc read only memories (CD-ROMs), digital video disks (DVDs), Blu-ray disks, magneto-optical disks, read only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), magnetic or optical cards, flash memory, and/or other types of media suitable for storing electronic instructions or data.
In the foregoing detailed description, various features of the invention are grouped together in one or more individual embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects may lie in less than all features of each disclosed embodiment.
Although the present invention has been described in conjunction with certain embodiments, it is to be understood that modifications and variations may be resorted to without departing from the spirit and scope of the invention as those skilled in the art readily understand. Such modifications and variations are considered to be within the purview and scope of the invention and the appended claims.