The present invention is related to a receiver in a wireless communication system. More particularly, the present invention is related to a block linear equalizer (BLE) using an approximate Cholesky decomposition.
A communication channel can be characterized by a signal-to-noise ratio (SNR), multipath fading, multiple access interference (MAI) and other impairments that may be external or internal to a transmitter or a receiver. A variety of receiver architectures have been developed to provide improvements over a Rake-based receiver. However, these receivers generally require significant computational complexity, which requires more components, more software cycles, more processing power and ultimately higher cost terminals having shorter battery life. Therefore, a receiver having reduced computational complexity while providing improved performance is desirable.
The present invention is related to a BLE using an approximate Cholesky decomposition. The BLE includes channel estimators, a channel monitor unit, a noise power estimator, a parameter selection unit and an approximate Cholesky processor. The channel estimator generates a channel estimate vector from received samples. The channel monitor unit generates a first channel monitor signal for a truncated channel estimate vector and a second channel monitor signal. The noise power estimator estimates a noise power of the received samples. The parameter selection unit selects parameters for the approximate Cholesky decomposition based on the first and second channel monitor signals. The approximate Cholesky processor performs block linear equalization on the received samples based on the approximate Cholesky decomposition. The block linear equalization may be performed based on a zero forcing (ZF) or minimum mean square error (MMSE) solution. The approximation is implemented by calculating only a portion of matrix elements and repeating certain elements to fill the remaining elements. The parameter selection unit selects parameters such as an update rate, the number of rows or columns to compute before repeating data in the approximate Cholesky decomposition, a block size and edge size based on channel conditions such as coherence time, Doppler spread and power saving parameters.
A more detailed understanding of the invention may be had from the following description of a preferred embodiment, given by way of example and to be understood in conjunction with the accompanying drawings wherein:
The features of the present invention may be incorporated into an IC or be configured in a circuit comprising a multitude of interconnecting components. The present invention is applicable to any wireless communication system including, but not limited to, the third generation partnership project (3GPP) frequency division duplex (FDD) HSDPA and non-HSDPA channels, time division duplex (TDD) HSDPA and non-HSDPA channels and CDMA2000 including 1xEV-DV and 1xEV-DO.
The following are symbols which are referred to throughout this application:
M: size of the middle of the block.
E: size of the edge of the block.
W: block size=M+2E.
Lmax: maximum length of channel response vector in chips.
L: length of channel response vector that will be processed.
N: update rate of the channel response vector relative to the block rate (N=1 means the matrix R is inverted every W-chip block).
Nr: number of row blocks to compute before repeating.
Nc: number of column blocks to compute before repeating.
hej: channel response vector of length Lmax or L corresponding to even samples from antenna # j.
hoj: channel response vector of length Lmax or L corresponding to odd samples from antenna # j.
rej: received vector of length W containing even samples from antenna # j.
roj: received vector of length W containing odd samples from antenna # j.
nej: received noise vector of length W containing even samples from antenna # j.
noj: received noise vector of length W containing odd samples from antenna # j.
s : vector of transmitted samples of length W−Lmax+1 corresponding to length W vector of received samples that are being processed.
ŝ: vector of estimated received chips of length W−Lmax+1.
Hj,e: channel response matrix of size W×(W−Lmax+1) corresponding to even samples from antenna # j (having L non-zero elements per W-element column).
Hj,o: channel response matrix of size W×(W−Lmax+1) corresponding to odd samples from antenna # j (having L non-zero elements per W-element column).
Tc: chip duration.
σ2: noise variance (actual or approximated) used in an MMSE solution.
The receiver in accordance with the present invention includes various techniques to reduce the receiver's computational complexity. Compared to a conventional Rake-based code division multiple access (CDMA) receiver, the receiver of the present invention provides a lower error probability and higher data throughput for a given set of communication channel conditions. Similarly, the receiver of the present invention provides an equivalent error probability under poorer channel conditions or at a greater distance between the transmitter and receiver.
The receiver 100 may use a 2× oversampling rate and two receive antennas. However, it should be noted that the receiver 100 may operate with any number of antennas at any sampling rate. One BLE may be used for both HSDPA and non-HSDPA channels, or alternatively, multiple BLEs may be used.
The BLE 110 includes channel estimators 112a, 112b, a channel monitor unit 114 (optional), a noise power estimator 116 (optional), a parameter selection unit 118 and an approximate Cholesky processor 120. The samples 111a, 111b generated from signals received via two receive antennas (not shown) are sent to the channel estimators 112a, 112b, respectively. The samples 111a, 111b are also sent to the noise power estimator 116 and the approximate Cholesky processor 120.
The channel estimators 112a, 112b generate channel estimate vectors he1, ho1 113a and he2, ho2 113b, respectively, based on the samples 111a, 111b. Each of the channel estimate vectors 113a, 113b has a length of Lmax. The channel estimate vectors 113a, 113b are sent to the channel monitor unit 114 (or to the parameter selection unit 118 if the channel monitor unit 114 is not used), the noise power estimator 116 (if used) and the approximate Cholesky processor 120.
Based on the channel estimate vectors 113a, 113b, the channel monitor unit 114 may generate a first channel monitor signal 115a for truncated channel estimate vectors. The first channel monitor signal 115a identifies the truncated channel estimate vectors by specifying a vector length L, where L≦Lmax. Various algorithms can be used to determine L. For example, when a threshold relative to the peak value in the channel estimate vectors 113a, 113b is set, L can be chosen to include elements that are above the threshold. Alternatively, the truncated channel estimate vector may be identified by a start point and a length L. For example, if the channel estimate vector 113a, 113b includes points 1 to Lmax and there is only significant energy in points 4 to Lmax−7, the channel monitor unit 114 may send the first channel monitor signal 115a to the parameter selection unit 118 to use only Lmax−10 points spanning position 4 to Lmax−7 in the channel estimate vector 113a, 113b.
The channel estimators 112a, 112b may include a post-processing function that sets noise-only elements in the channel estimate vector 113a, 113b to zero. In such case, the channel monitor unit 114 may select L and the start point to simply include all non-zero values in the channel estimate vectors 113a, 113b.
The channel monitor unit 114 may also generate a second channel monitor signal 115b indicating the rate of change of the channel estimate vectors 113a, 113b. Generally, a wireless communication channel is a fading channel. For the fading channel, a coherence time and Doppler spread parameters may be calculated to determine how fast the channel is changing over time. The channel monitor unit 114 estimates the coherence time or Doppler spread based on the channel estimate vectors 113a, 113b and sends the second channel monitor signal 115b to the parameter selection unit 118. It should be noted that the description regarding the channel monitor unit 114 is given as an example and any variances are possible.
The noise power estimator 116 receives the samples 111a, 111b and channel estimate vectors 113a, 113b and generates a noise power estimate σ2 required by an MMSE solution. The noise power estimator 116 may operate on the received samples 111a, 111b or the channel estimate vectors 113a, 113b, or both to generate the estimated σ2 value.
The parameter selection unit 118 determines parameters 119 for the approximate Cholesky processor 120 based on the channel estimate 113a, 113b (or truncated channel estimate which is identified by the first channel monitor signal 115a) and/or the change of the channel condition indicated by the second channel monitor signal 115b . The parameters 119 may be selected to provide optimum demodulation performance, to reduce the computational complexity, or a combination of the two. The parameters 119 to be selected by the parameter selection unit 118 include, but are not limited to, an update rate (N), a block size (W) and an edge size (E) of the processing window block and the number of rows or columns, (Nr or Nc), to be computed before repeating for approximate Cholesky decomposition. The parameters, (i.e., N, W, E, Nr and Nc), are programmable according to channel conditions, such as a coherence time, Doppler spread, power saving parameters, or the like, and may be adapted during operation of the approximate Cholesky-based BLE 110 as the communication channel conditions change.
The update rate, N, indicates the interval at which the factorization is performed relative to the block rate, which will be explained in detail hereinafter. The factorization is only performed once every N frames (N≧1). The larger the N the less the average number of computations per frame. A value of N greater than one may be chosen, for example, if the channel coherence time is much greater than the time duration of an equalizer block.
The approximate Cholesky-based BLE 110 operates on one block of samples at a time. Each block has a certain level of overlap with a preceding block and a subsequent block.
A large window size (W) provides more samples to generate a channel estimate. However, if the window size is too long as compared to the rate of change of the channel, the channel estimation may be poor. If the channel changes very slowly, using every block to compute a channel estimate may be unnecessary and the computational complexity can be reduced by computing the channel estimate less often. The present invention provides the ability to adapt the window size and the rate at which the channel estimates are computed.
The overlap between windows is necessary to accumulate enough multipath energy to adequately demodulate each block. For better demodulation performance, a larger edge (E) is advantageous, while for minimizing the number of computations, a shorter edge should be used. The present invention also provides the ability to adapt the edge size based on channel characteristics and an acceptable level of complexity. Typically, for HSDPA, W=256 and E=16 or W=512 and E=32 are selected. Other combinations of W and E are possible and adaptation over a wider range may also be used.
The number of rows (Nr) or columns (Nc) to compute for approximate Cholesky decomposition, which will be explained in detail hereinafter, may be adapted. The smaller Nc or Nr, the smaller the number of computations per frame. The value may be computed, for example, as a constant times the length of the channel response vector (L), (for example 2L).
The operation of the approximate Cholesky processor 120 is described hereinafter. Assuming that s is the transmitted signal vector sampled at a chip rate, the received samples can be written as follows:
where ne and no are noise vectors at the even and odd sampling positions, respectively. It is assumed that the noise variance (or power) is σn2.
An MMSE solution for ŝ is given as follows:
ŝ=(HeHHe+HoHHo+σn2I)−1(HeHre+HoHro); Equation (2)
where (•)H is a complex conjugate transpose (or Hermitian) operation and I is a unit diagonal matrix.
A ZF solution for ŝ is given by omitting the σ2 I terms as follows:
ŝ=(HeHHe+HoHHo)−1(HeHre+HoHro); Equation (3)
For a two-antenna diversity receiver, the above development can be readily extended, where the superscripts and subscripts 1 and 2 denote the two receive antennas. Received samples via two receive antennas can be described as follows:
The MMSE solution for ŝ is given as follows:
The zero-forcing (ZF) solution for ŝ is given as follows:
The formulation above is given for a two-times (2×) oversampled diversity receiver, which processes four streams of complex baseband received data. It should be noted that the above formulas are provided as an example, and a similar formulation can be presented for a single antenna, no oversampling (1×) or an arbitrary oversampling rate and any number of antennas. The teachings of the present invention are equally applicable to the various sets of parameters.
Both the MMSE and ZF solutions require a matrix inversion. The matrix to be inverted is denoted as R. As shown below, the matrix R is a banded block-Toeplitz matrix and has at most 2L+1 non-zero entries per row or column.
The Cholesky decomposition factors R into the product of a lower triangular matrix, G, and its conjugate transpose, GH, such that R=GGH. An example of a 12×12 G matrix is shown below.
The approximate Cholesky decomposition reduces the computational complexity by repeating various elements rather than computing every Gij. For example, in the above 12×12 example, all rows up to nine are computed and rows 10, 11, and 12 are filled in by shifting and repeating the elements in row 9 as follows:
The approximation may be implemented by repeating either rows or columns. When the rows are repeated, among a total of Ns rows, Nr rows are computed and the last Ns-Nr rows use the elements in row Nr, as shown in
The channel matrix construction unit 122 receives a channel estimate vector, (i.e., a channel impulse response vector), generated from 2× oversampled received samples and a parameter N 119a, and constructs a channel matrix H′ once every N blocks. The channel matrix H′ is written as follows:
where L is the channel impulse response length in chips and H′ has 2W rows. The channel matrix H′ is separated into an even matrix and an odd matrix as follows:
The channel matrix construction unit 122 then outputs a channel matrix H=[HoHe]T to the first conjugate transpose unit 124 and the matrix product unit 126. The first conjugate transpose unit 124 generates a conjugate transpose of the channel matrix H and outputs the matrix HH to the bank of matched filters 132 and the matrix product unit 126.
The matrix product unit 126 performs a matrix product operation and outputs HeHHe+HoHHo+σn2I ,(i.e., a matrix R) for an MMSE solution, (alternatively, HeHHe+HoHHo for a ZF solution), to the approximate Cholesky decomposition unit 128. The approximate Cholesky decomposition unit 128 receives a parameter Nr119d, (or Nc 119e), and performs approximate Cholesky decomposition on the matrix R to factor the matrix R into G and GH. The approximate Cholesky decomposition may be implemented by repeating rows, in which case the first Nr rows are computed and the values in the row Nr is repeated to fill out the matrix. Alternatively, the approximate Cholesky decomposition may be implemented by repeating columns, in which case the first Nc columns are computed and the values in the column Nc are repeated to fill out the matrix. The approximate Cholesky decomposition unit 128 outputs the matrix G to the forward substitution unit 134 and the second conjugate transpose unit 130. The second conjugate transpose unit 130 generates rates GH and outputs it to the backward substitution unit 136.
The channel matrix construction unit 122, the first conjugate transpose unit 124, the matrix product unit 126, the approximate Cholesky decomposition unit 128 and the second conjugate transpose unit 130 operate once every N blocks, while the bank of matched filters 132, the forward substitution unit 134 and the backward substitution unit 136 operate once every block of samples. N 119a is an update rate determined by the parameter selection unit 118.
The bank of matched filters 132 receives even and odd sample vectors, re=[r0, r2, . . . , r2W−2]T and r0=[r1, r3, . . . , r2W−1]T and parameters W 119b and E 119c. Each of the vectors include W samples and are constructed using overlapping sliding windows with E leading samples, M middle samples, and E trailing samples as shown in
The channel matrix construction unit 222 receives a channel estimate vector, (i.e., a channel impulse response vector), generates rated from 2× oversampled received samples from two receive antennas and a parameter N 119a. The channel matrix construction unit 222 outputs a channel matrix H=[H1,oH1,eH2,oH2,e]T to the first conjugate transpose unit 224 and the matrix product unit 226 once every N blocks. The first conjugate transpose unit 224 generates rates a conjugate transpose of the channel matrix H and outputs the matrix HH to the bank of matched filters 232 and the matrix product unit 226.
The matrix product unit 226 performs matrix product operation and outputs H1,oHH1,o+H1,eHH1,e+H2,oHH2,o+H2,eHH2,e94n2I, (i.e., a matrix R) for an MMSE solution, (alternatively, H1,oHH1,o+H1,eHH1,e+H2,oHH2,o+H2,eHH2,e for a ZF solution), to the approximate Cholesky decomposition unit 228. The approximate Cholesky decomposition unit 228 receives a parameter Nr 119d, (or Nc 119e), and performs approximate Cholesky decomposition on the matrix R to factor the matrix R into G and GH . The approximate Cholesky decomposition may be implemented by repeating rows, in which case the first Nr rows are computed and the values in the row Nr are repeated to fill out the matrix. Alternatively, the approximate Cholesky decomposition may be implemented by repeating columns, in which case the first Nc columns are computed and the values in the column Nc are repeated to fill out the matrix. The approximate Cholesky decomposition unit 228 outputs the matrix G to the forward substitution unit 234 and the second conjugate transpose unit 230. The second conjugate transpose unit 230 generates rates GH and outputs it to the backward substitution unit 236.
The channel matrix construction unit 222, the first conjugate transpose unit 224, the matrix product unit 226, the approximate Cholesky decomposition unit 228 and the second conjugate transpose unit 230 operate once every N blocks, while the bank of matched filters 232 the forward substitution unit 234 and the backward substitution unit 236 operate once every block of samples.
The bank of matched filters 232 receives even and odd sample vectors, r1,o,r1,e,r2,o,r2,e and parameters W 119b and E 119c. Each sample vector is constructed using an overlapped sliding window. The back of matched filters 232 multiples the even and odd sample vectors with the matrix HH received from the first conjugate transpose unit 224. The bank of matched filters 232 then outputs HH r to the forward substitution unit 234. The parameters W 119b and E 119c are also fed to the forward substitution unit 134 and the backward substitution unit 136. The forward substitution unit 234 solves the matrix equation G y=HH r for y and outputs y to the backward substitution unit 236.The backward substitution unit 236 solves G ŝ=y for ŝ and outputs ŝ as equalized samples 121.
The post processing unit 306 eliminates or minimizes the effect of noisy samples in a channel estimate vector. The post-processing unit 306 may set all elements with a magnitude below a threshold to zero. The threshold may be computed as a constant (less than 1) times the magnitude of the largest element in the channel estimate vector. Alternatively, the threshold may be computed as a constant (greater than 1) times an average magnitude (or some approximation to the average magnitude) of all elements in the channel estimate vector. Alternatively, two thresholds may be computed using both methods and the final threshold may be selected as the larger or smaller of the two values.
Although the features and elements of the present invention are described in the preferred embodiments in particular combinations, each feature or element can be used alone without the other features and elements of the preferred embodiments or in various combinations with or without other features and elements of the present invention.
This application claims the benefit of U.S. provisional application No. 60/702,648 filed Jul. 26, 2005, which is incorporated by reference as if fully set forth.
| Number | Date | Country | |
|---|---|---|---|
| 60702648 | Jul 2005 | US |