Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTING FILTER COEFFICIENTS FOR AN EQUALIZER IN A COMMUNICATION RECEIVER
Document Type and Number:
WIPO Patent Application WO/2006/068278
Kind Code:
A1
Abstract:
The present invention provides an equalizer (200) and a method for computing equalizer filter coefficients in a communication receiver. The equalizer filter coefficients are computed on the basis of a real matrix T which is generated from channel estimation vector f, which is derived from the channel estimation inputs.

Inventors:
STANHOPE DAVID (AU)
Application Number:
PCT/JP2005/023838
Publication Date:
June 29, 2006
Filing Date:
December 20, 2005
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NEC CORP (JP)
STANHOPE DAVID (AU)
International Classes:
H04B7/005; H03H17/02; H03H17/06; H04B3/06
Other References:
DHAHIR AL N, CIOFFI J. M.: "Fast Computation of Channel-Estimate Based Equalizers in Packet Data Transmission", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 43, no. 11, November 1995 (1995-11-01), pages 2462 - 2473, XP002902453
YANG B: "An Improved Fast Algorithm for Computing the MMSE Decision-Feedback Equalizer", INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATIONS (AEO), vol. 53, no. 6, 1999, pages 339 - 345, XP000994817
KARIMI H. R, ANDERSON N. W.: "A NOVEL AND EFFICIENT SOLUTION TO BLOCK-BASED JOINT-DETECTION USING APPROXIMATE CHOLESKY FACTORIZATION", THE NINTH IEEE INTERNATIONAL SYMPOSIUM ON PERSONAL, INDOOR AND MOBILE RADIO COMMUNICATIONS, vol. 3, September 1998 (1998-09-01), pages 1340 - 1345, XP002112134
Attorney, Agent or Firm:
Miyazaki, Teruo (16th Kowa Bldg. 9-20, Akasaka 1-chome, Minato-k, Tokyo 52, JP)
Download PDF:
Claims:
CLAIMS
1. A method for computing equalizer filter coefficients in a communications receiver, the method including: determining a channel estimation vector f, from at least one channel estimation input; and determining equalizer filter coefficients on the basis of a real matrix T generated from said channel estimation vector f.
2. A method as claimed in claim 1 , wherein the method further includes, directly forming T from vector f.
3. A method as claimed in either of claims 1 or 2, wherein in the event that f is a vector of dimension N and N is an odd number, and T is an NxN matrix, the method further includes: generating the matrix T by solving Gc0 =/0 for each real and imaginary term in c0, wherein, c0 is the inverse of the matrix G's middle column, and i0 the identity matrix's middle column.
4. A method as claimed in claim 3, wherein the rows and columns of the matrix T and the columns of vector f, are numbered from 1 to N, the notation T(x, y) denotes an entry in the matrix T in its xth row and yth column, the notation f(y) denotes the entry in vector f in its yth column; R[z] denotes the real part of a number z; and l[z] denotes the imaginary part of the number z, and wherein the elements of the matrix T, are generated as follows: T((N+1)/2, (N+1)/2) = R[f(1)/2]; for row (N+1)/2, column numbers from 1 to (N1)/2, T((N+1)/2, (N+1)/2 column number) = R[f(col+1)] and T((N+1 )/2, (N+1 )/2 + column number) = l[f(col+1 )]; and for row number 1 to (N1)/2, and for the middle column T(row number, (N+1)/2) = R[f((N+1)/2)]; T(N+1row number, (N+1)/2) = l[f((N+1)/2)]; for column numbers 1 to (N1 )/2 T(row number, column number) = R[f(column number)] + R[f(N+1 column number)]; T(N+1row number, N+1 column number) = R[f(column number)] R[f(N+1 column number)]; for column numbers from ((N+1)/2 + 1) to N T(row number, column number) = l[f(column number)] l[f(N+1 column number)] T(N+1row number, N+1 column number) = l[f(column number)] + l[f(N+1col)] for f vector column numbers from N down to 2 f(col) = f(col1) R[f(1 )] = T((N+1 )/2, (N+1 )/2 row) l[f(1) = T((N+1)/2,(N+1)/2 + row)).
5. A method as claimed in any one of claims 1 to 4, wherein the method can further include the steps of: performing matrix inversion on T in order to determine the middle column of T"1; forming a vector v from the middle column of T"1 and a constant; determining cf on the basis of v; and determining the filter coefficients w0 using the relationship w0 = cf Hff where H^ is the Hermitian transpose of the channel response matrix H.
6. A method as claimed in any one of claims 1 to 5, which further includes: conducting a matrix inversion on T using a Cholesky decomposition to obtain a lower triangular matrix L, and performing forward and backward substitution on L.
7. A method according to claim 5, wherein, the elements of cf are determined on the basis of v according to the following: cf ((N+1)/2) to be equal to v((N+1)/2); for elements 1 to (N1)/2 of cf , cf (x) equals v(x) (0 + /(v(N+1x)); and for elements (N+1 )/2 to N of cf , cf (x) equals v(N+1 x) + (0 + /(v(x))> wherein v and cf have elements 1 to N, and the notation v(x) and cf (x) denote the xth element in vectors v and cf respectively.
8. A method of processing a received signal in a communications receiver, said method including; computing one or more equalizer filter coefficients using a method as claimed in any one of claims 1 to 7; and equalizing said received signal using the computed equalizer filter coefficients.
9. An equalizer for use in a communications receiver, said equalizer being configured to implement a method including according to any one of claims 1 to 8.
10. An equalizer for use in a communication receiver, the equalizer including: a first input for receiving a input data for equalization, a second input for receiving channel estimation data relating to the input data; a signal processing path configured to perform a signal processing method of claim 8 on said input data to generate an equalized output data; and at least output for outputting said equalized output data.
11. An equalizer as claimed in either of claims 9 or 10 wherein the equalizer includes one or more of the following signal processing blocks: a channel matrix calculation block configured to compute vectors h and f based on the basis of a received channel estimation; a real matrix calculation block configured to form the matrix T; a matrix decomposition block for performing matrix decomposition on T; a forward and backward substitution block configured to compute values of elements in a middle column of T"1; a middle column calculation block configured to determine element values in a middle column of G^(C0); a filter coefficient generation block configured to compute filter coefficients a finite impulse response filter.
12. A communications receiver including an equalizer of according to any one of claims 9 to 11.
13. A method for computing equalizer filter coefficients in a communications receiver having steps substantially as hereinbefore described.
14. A method for processing a signal in a communications receiver having steps substantially as hereinbefore described.
15. An equalizer substantially as hereinbefore described with reference to figures 2 to 4 of the accompanying drawings.
16. A communications receiver substantially as hereinbefore described with reference to figures 2 to 4 of the accompanying drawings.
Description:
DESCRIPTION

COMPUTING FILTER COEFFICIENTS FOR AN EQUALIZER IN A

COMMUNICATION RECEIVER

Field of the invention: The present invention relates generally to equalizers in radio communication receivers.

Background of the invention:

Most modern radio communication systems transmit data over time-varying, dispersive communication channels. Among the distortions introduced by the channel, inter-symbol interference (ISI) is significant because it severely degrades the performance of the receiver. To mitigate the effects of ISI, many receivers use equalizers. The general architecture of an equalizer comprises filters, adders for combining the output of the filters, and decision devices. The filters are linear finite-impulse-response (FlR) with complex coefficients. A decision device operates on complex inputs and outputs complex values that are representative of the signal constellation points of the modulation scheme.

In general, the equalizer filter coefficients are jointly optimized according to a criterion suitable for the communication system. Determining the optimal equalizer filter coefficients is a computationally intensive task because it requires the solution to a large set of linear equations. Two general approaches are commonly used today: the first approach is the adaptive approach, and the second is the direct matrix inversion approach.

In the adaptive approach, the equalizer filter coefficients are first set to some initial values. The output error signal, defined as the difference between the input and

the output of the equalizer decision device, is then used to recursively adjust the equalizer filter coefficients toward the optimal settings. Depending on the coefficient adaptation algorithm employed, a training sequence may be required. A training sequence is a known set of symbols that the transmitter sends along with the data. In U.S. Pat. No. 5,068,873 issued to Murakami, the least mean square (LMS) or Kalman filter algorithm is used for adaptation. A training sequence is required for that approach. The LMS algorithm requires 0(N) complex operations per iteration, where N is the total number of coefficients to optimize. Furthermore, a large number of iterations (»N) is required for the equalizer filter coefficients to converge to the optimal values. While Kalman filter algorithm converges faster to the optimal solution, it requires 0(N 2 ) operations per iteration. Similarly, U.S. Pat. No. 5,283,811 issued to Chennankeshu, et al. employs the fast Kalman algorithm for decision-feedback equalizer (DFE) coefficient adaptation. U.S. Pat. No. 3,974,449 issued to Falconer describes a DFE adaptation method that does not use training sequences.

In the direct matrix inversion approach, a response of the channel to the signaling pulse is first estimated. This estimate is the response, filtered by the receiver filter, of the channel to the transmitter spectral-shaping pulse. The equalizer coefficients are then obtained from the estimate of the response of the channel to the signaling pulse by solving a set of complex-valued linear equations. In general, the solution of these equations requires the inversion of an NxN square matrix, which requires O(N 3 ) complex multiplications. U.S. Pat. No. 5,436,929 issued to Kawas Kaleh utilizes positive-definite and Hermitian symmetric properties of the square matrix so that a Cholesky decomposition can be used. The Cholesky decomposition requires 0(N 3 ) complex multiplications to factor a positive-definite, Hermitian symmetric matrix into the product of lower and upper triangular matrices. The upper triangular matrix is equal to the Hermitian transpose of the lower triangular matrix. The triangular matrices are easily invertible, requiring 0(N 3 ) multiplications. U.S. Pat. No. 5,790,598 issued to

Moreland, et al. describes a recursive method using the Cholesky decomposition. Both of these techniques still require 0(N 3 ) complex multiplications.

In general, the optimization of the equalizer coefficients requires at least O(N 3 ) complex multiplies if direct matrix inversion is used. This complexity makes the method impractical to implement in many real life communication system. The complexity may be even greater for the adaptive approach if a large number of iterations are required. Moreover, the adaptive approach usually results in sub optimal solution compared to the direct matrix inversion method.

It should be noted that in the present specification, the mathematical notations used are such that uppercase notation, e.g. W, is used to denote a matrix, and lowercase notation, e.g. w, is used to denote a vector.

Figure 1 , shows a generic equalizer device 10 used in a communication system. The equalizer 10 is designed to restore the transmitted signal distorted by dispersive channel (characterized by channel response matrix H) and noise (characterized by variance σ 2 ). In order to compute filter coefficients for the equalizer, a channel response matrix G is computed based on estimate of channel response matrix H. This step is commonly performed using pilot signaling. The signal processing is usually done in the equalizer 10 in block by block fashion. A first channel matrices estimation block 12 receives input signals (vector r ) for use in estimating channel response matrices H and G . The filter coefficients vectors are then computed in a filter coefficients calculation block 14 where the computation involves the inversion of channel response matrix G . The computed filter vector w 0 is then used to equalize the received vector r by means of an FIR filter 16 to obtained the output data subsequently used in a communication receiver.

In order to understand the computational complexity of the inversion of channel

response matrix G, a typical method for matrix inversion will now be described.

The vector of channel estimates h is used for computation of the vector f where, for example, for five multipaths and three timing positions per multipath,

h = [h_ 0 ,h 0 ,h ÷0 ,0,...,Q,h_ 1 ,h 1 ,h +1 ,0,...,0,h_ 5 ,h 5 ,h +s ,0,..,0]

f = [f (O)J(V),..., /(N-V)] f(i) = " ~ ∑h[n]h.[n + i]* n=0

Construct matrix G as follows:

f( ~ i ) = /(0 * and /(0) > 0

Since the channel response matrix G is Hermitian and positive definite, there is unique lower (upper) triangular matrix L (U ) such that G = Ll/ = U^U , when the superscript H indicates the Hermitian transpose of a matrix. In general, we have

GG- 1 =I <^L(L Λ G- ) =I <^ LD = I (1)

where the superscript -1 indicates the inverse of a matrix and I is the identity matrix. Moreover, we also have

L^G 1 = D (2)

To find the inverse channel response matrix G "1 , the following steps need to be carried out:

Step 1 : Perform a Cholesky decomposition of the channel response matrix to obtain the lower triangular matrix L - calculation complexity O(N 3 ).

Step 2: Solve equation(1) to get matrix D using Forward Substitution as

the lower triangular matrix L .

Step 3: Solve equation (2) to get the inverse channel response matrix G "1 using Backward Substitution on the matrices D and Jf .

Since the system of linear equations has N times N unknowns (D and G "1 are NxN matrices), Steps 2 and 3 in the above-described method has a calculation complexity of O(N 3 ) .

Using a method, such as that described in co-pending Australian patent application no. 2005203278, in the name of NEC Australia Pty Ltd, filed on 26 July 2005 and entitled "Method for calculating filter coefficients for an equalizer in a communication receiver," the calculation complexity of steps 2 and 3 can be reduced to O(N 2 ) . In this case the complexity of the decomposition step (Step 1 ) becomes the main contributor to the complexity, processing time and size in computing the equalizer filter coefficients in an equalizer.

Thus there is a need for an efficient method for computing the equalizer filter coefficients in an equalizer that can practically be implemented in a communication receiver. It would be desirable for the method for computing the equalizer filter coefficients to be computationally less complex than currently known methods. It would also be desirable to provide a method for computing the equalizer filter coefficients with fewer computations as this can lead to a reduction in the circuit area required and power consumed and/or faster processing times. It would also be desirable to provide a method for computing the equalizer filter coefficients in an equalizer that ameliorates or overcomes one or more problems of known coefficient computation methods.

Summary of the invention: In a first aspect the present invention provides a method for computing equalizer filter coefficients in a communication receiver on the basis of a real matrix T

generated from channel estimation vector f, which is derived from the channel estimation inputs. This avoids the need to perform the inversion of a complex channel matrix G.

The method preferably includes directly forming T from vector f.

In an embodiment where f is a vector of dimension N, chosen to be odd, and defined as described above, and T is an NxN matrix, the matrix T can be generated by solving G c 0 =i Q for each of the real and imaginary terms in the inverse G matrix's middle column c 0 and the identity matrix's middle column i 0 . In this embodiment T can be generated as follows: T((N+1)/2, (N+1)/2) = R[f(1)/2]; where rows and columns are numbered from 1 to N, and the notation T(x, y) denotes the entry in the matrix T in its x-th row and y-th column, and R[z] denotes the real part of z and l[z] denotes the imaginary part of z; for row (N+1)/2, column numbers from 1 to (N-1)/2, T((N+1 )/2, (N+1 )/2 - column number) = R[f(col+1 )] and

T((N+1)/2, (N+1)/2 + column number) = l[f(col+1)]; and for row number 1 to (N-1)/2, and for the middle column

T(row number, (N+1)/2) = R[f((N+1)/2)]; T(N+1-row number, (N+1)/2) = l[f((N+1)/2)]; for column numbers 1 to (N-1 )/2

T(row number, column number) = R[f(column number)] + R[f(N+1- column number)];

T(N+1-row number, N+1 -column number) = R[f(column number)] - R[f(N+1 -column number)]; for column numbers from ((N+1)/2 + 1) to N

T(row number, column number) = l[f(column number)] - l[f(N+1- column number)]

T(N+1-row number, N+1 -column number) = l[f(column number)] + l[f(N+1-col)] for f vector column numbers from N down to 2 f(col) = f(col-1)

R[f(1 )] = T((N+1)/2, (N+1)/2 - row) l[f(1) = -T((N+1)/2,(N+1)/2 + row))

The method can also include the steps of: performing matrix inversion on T in order to determine the middle column of

T- 1 ; forming a vector v from the middle column of T "1 and a constant; determining cf on the basis of v; and determining the filter coefficients w 0 using the relationship w 0 = cf H ff where ΕL H is the Hermitian transpose of the channel response matrix H.

In an exemplary embodiment matrix inversion can include performing Cholesky decomposition on T to get a lower triangular matrix L, and then performing forward and backward substitution on L.

Preferably, where v and cf have elements 1 to N, and the notation v(x) denotes the x-th element in vector v; the step of determining cf on the basis of v includes:

Setting cf ((N+1)/2) to be equal to v((N+1)/2); for elements 1 to (N-1 )/2 of cf , setting cf (element no) to be equal to v(element number) - (0 + /(v(N+1 -element number)) and for elements (N+1)/2 to N of cf , setting

Cg (element no) to be equal to v(N+1 -element number) + (0 + /(v(element number)).

In a second aspect the present invention provides a method of processing a received signal in a communications receiver, the method including; computing one or more equalizer filter coefficients using a method of the first aspect of the invention; and equalizing the received signal using the computed equalizer filter coefficients.

In a third aspect the present invention provides an equalizer configured to implement a method according to either of the abovementioned aspects of the invention.

In a fourth aspect the present invention provides an equalizer for use in a communication receiver, the equalizer including: a first input for receiving a input data for equalization; a second input for receiving channel estimation data relating to the input data; a signal processing path configured to perform a signal processing method of claim 8 on the input data to generate an equalized output data; and at least output for outputting s equalized output data.

The equalizer can include one or more of the following signal processing blocks: a channel matrix calculation block configured to compute vectors h and f based on the basis of a received channel estimation; a real matrix calculation block configured to form the matrix T; a matrix decomposition block for performing matrix decomposition on T; a forward and backward substitution block configured to compute values of elements in a middle column of T "1 ; a middle column calculation block configured to determine element values in a middle column

a filter coefficient generation block configured to compute filter coefficients w o = cfH ff ; and a finite impulse response filter.

In a further aspect the present invention provides a communications receiver including an equalizer of according to the previous aspect of the invention.

Brief description of the drawings:

To facilitate an understanding of the invention, reference is made in the description to the accompanying drawings, in which an equalizer and method of computing filter coefficients for an equalizer are illustrated in a preferred embodiment. It is to be understood that the invention is not limited to the preferred embodiment as illustrated in the drawings. In the drawings: Figure 1 is a schematic diagram of a known equalizer used in a communication system;

Figure 2 is a schematic diagram of an equalizer which equalizer computes filter coefficients according to an embodiment of the present invention;

Figure 3 lists an exemplary matlab implementation of an algorithm which can be used to generate T from the vector f in accordance with an embodiment of the present invention; and

Figure 4 lists an exemplary matlab implementation of an algorithm that can be used to compute c 0 in an embodiment of the present invention.

Detailed description of the embodiments:

Computation of the vector of filter coefficients aims to find the middle row w 0 of

the matrix W = [H* H + σ z lY H^ = G 1 H^ where G and H are channel response matrices, I is the identity matrix, the superscript H indicates the Hermitian transpose of a matrix and the superscript -1 indicates the inverse or reciprocal of a matrix.

This means one would have to compute middle row vector r 0 of G "1 and then multiply with H ff to obtain vector w 0 since w 0 = r 0 H H . If the dimension of G is N then 0(N 3 ) complex multiplications would be required to compute r 0 .

The current invention exploits the fact that G "1 and G are Hermitian. Therefore, instead of having to fully compute G "1 and then find its middle row r 0 , only the middle column (denoted as c 0 ) of G "1 is computed, which can then be used to obtain w o =c?H ff .

Further more, since the present inventor has observed that G "1 is also Toeplitz, and the middle element of c 0 is real, as a result of G "1 being Hermitian, it can be seen that c 0 is made up from only (N+1)/2 real terms and (N-1)/2 imaginary terms. These N real variables form the vector v.

From the definition GG "1 = I , if we consider just the complex middle column z 0 of the identity matrix I, we also have:

Gc 0 =Z 0 .

Solving the above matrix equation for each of the real and imaginary terms in z 0 gives us N distinct real equations involving the N real variables of v. This can be written as Tv = i.

Where T is the new real NxN matrix made from the coefficients of v in the above N distinct real equations, and i is the vector made from the appropriate real and imaginary terms in Z 0 . Therefore v = T "1 i.

Since all the elements of i are zero except for the middle element, v is just the middle column of T '1 times a constant. Once we know real vector v we also know

c 0 . This result changes the original problem of performing the complex inversion of the G matrix into the real inversion of the T matrix which can be performed as will be shown below.

In order to aid understanding of the preferred embodiment, an example of how the matrix T can be of formed will now be given. In this example assume that Λ/=3. We know that c 0 , which is the middle column of the inverse of the channel r matrix G , can be written as a column vector:

~ xl + jyϊ

, which has 3 real terms: x1 , x2 and y1.

a b + jc d + je

In this case, let G = b -jc a b + jc d — je b + jc a

Expanding Gc 0 = z (JV+1)/2 . we obtain, for Row 1 a * (x1 + jy1 ) + (b+jc) * x2 + (d+je) * (x1-jy1 ) = (0 + jθ)

Separating the real and imaginary terms gives: Real

(a + d) * x1 + b * x2 + e * y1 = 0 Imaginary e * x1 + c * x2 + (a - d) * y1 = 0

For Row 2 we obtain:

(b-jc) * (x1 + jy1 ) + a * x2 + (b+jc) * (x1 - jy1 ) = (1 + jθ)

The real terms of which are 2*b*x1 + a*x2 + 2*c*y1 = 1

Dividing both sides of this expression by two gives: Real: b*x1 + (a/2)*x2 + c*y1 = 0.5

These three equations can then be used to form the basis of system of linear equation as follows: a + d b e

Tv = b all c e c a — d

In a preferred embodiment an equalizer device is proposed with functional diagram as outlined in Figure 2. An equalizer device of this type can significantly reduce (by a factor of 4) computational requirements for generating filter coefficients and thus become suitable for use in practical a communication system.

The equalizer 200 contains 7 main blocks, as follows:

Channel matrix calculation block 202 : This block performs computation of vectors h and f based on the channel estimation input as described above.

Real Matrix calculation block 204: This block uses the vector f to directly form the matrix T instead of the G matrix described above.

An exemplary matlab algorithm which can be used to generate T from the vector f in accordance with the methodology described above is given in Figure 3.

Matrix decomposition block 206: This functional block performs standard matrix decomposition (for example Cholesky decomposition) on T.

Forward and Backward substitution block 208: This block performs standard forward and backward substitution to get the middle column of T "1 .

Middle Column of G " '(c 0 ) Calculation block 210: This block forms v as just the

middle column of T "1 times a constant (0.5). Once we know real vector v we also know c 0 , and therefore cf . The exemplary matlab algorithm of Figure 4 can be used to compute c 0 and hence cf .

Filter coefficient generation block 212: This block performs a computation to get the filter coefficients w 0 = cf H ff .

FIR filter 214: The FIR filter filters the input data with updated filter coefficients w 0 from time to time.

As will be appreciated by those skilled in the art because the illustrative embodiment operates on a real matrix T instead of the complex matrix G the computational complexity, size and processing time are significantly reduced which results in an equalizer made in accordance with this embodiment to be implemented in practical communication devices.

It will be understood that the invention disclosed and defined in this specification extends to all alternative combinations of two or more of the individual features mentioned or evident from the text or drawings. All of these different combinations constitute various alternative aspects of the invention.

It will also be understood that the term "comprises" (or its grammatical variants) as used in this specification is equivalent to the term "includes" and should not be taken as excluding the presence of other elements or features.