Prefiltering in MIMO receiver

09590687 · 2017-03-07

Assignee

Inventors

Cpc classification

International classification

Abstract

Data signals transmitted by a plurality of transmitting antennas over a radio channel are demodulated. The method comprises receiving (202) on a plurality of receiving antennas, a data signal and a reference signal, the contents of the reference signal being known a priori to the receiver. The contents of the reference signal are used for calculating (204) an estimated polynomial channel matrix. A polynomial pre-filter matrix is calculated (206, 208) by a decomposition of the estimated polynomial channel matrix into a product of a paraunitary polynomial matrix and an upper triangular polynomial matrix with minimum phase filters on its main diagonal, where the polynomial pre-filter matrix is obtained by calculating the paraconjugate of the paraunitary polynomial matrix. The received data signal is demodulated (212) where the received data signal is multiplied with the calculated polynomial pre-filter matrix.

Claims

1. A method in a radio receiver for demodulating data signals transmitted by a plurality of transmitting antennas over a radio channel, the method comprising: receiving, on a plurality of receiving antennas, a data signal and a reference signal, the contents of the reference signal being known a priori to the receiver; calculating, using the contents of the reference signal, an estimated polynomial channel matrix; calculating a decomposition of the estimated polynomial channel matrix into a product of a paraunitary polynomial matrix and an upper triangular polynomial matrix with minimum phase filters on its main diagonal; calculating a polynomial pre-filter matrix as the paraconjugate of the paraunitary polynomial matrix; and demodulating the received data signal where the received data signal is multiplied with the calculated polynomial pre-filter matrix.

2. The method of claim 1, the method further comprising: calculating a pre-filtered polynomial channel matrix by multiplying the estimated polynomial channel matrix with the polynomial pre-filter matrix, thereby making the pre-filtered polynomial channel matrix upper triangular and with minimum phase filters on its main diagonal, wherein the demodulation of the received data signal further comprises using the pre-filtered polynomial channel matrix as the channel model in the demodulation.

3. The method of claim 1, wherein the calculation of the decomposition comprises assigning, to the first column of the paraunitary polynomial matrix, a normalized version of the first column of the estimated polynomial channel matrix, and, for each current column from a second column to a last column of the channel matrix: calculating projections of the current column of the estimated polynomial channel matrix on the previous columns of the paraunitary polynomial matrix, calculating a difference polynomial vector as the difference between the current column of the estimated polynomial channel matrix and a product of the calculated projections multiplied by the previous columns of the paraunitary polynomial matrix, and assigning, to the current column of the paraunitary polynomial matrix, a normalized version of the calculated difference polynomial vector.

4. The method of claim 3, wherein the normalization of the first column of the estimated polynomial channel matrix is performed by: normalizing with an inverse of a first scalar minimum phase polynomial, and the normalization of the respective calculated difference polynomial vectors is performed by: normalizing with an inverse of a respective current scalar minimum phase polynomial.

5. The method of claim 4, wherein the first scalar minimum phase polynomial is obtained by: calculating a spectral factorization of the squared second norm of the first column of the estimated polynomial channel matrix, and the respective current scalar minimum phase polynomial is obtained by: calculating a spectral factorization of the squared second norm of the current difference polynomial vector.

6. The method of claim 4, wherein the normalizations comprise: approximating the inverse of the scalar minimum phase polynomials with a respective finite impulse response polynomial after long division.

7. The method of claim 4, wherein the calculation of the decomposition comprises assigning, to an auxiliary polynomial matrix, the elements of the estimated polynomial channel matrix, and, for each current column from a first column to a last column: assigning, to the current column of the paraunitary polynomial matrix, a normalized version of the current column of the auxiliary polynomial matrix, calculating projections of the auxiliary polynomial matrix on the current column of the paraunitary polynomial matrix, updating the auxiliary polynomial matrix by subtracting a product of the current column of the paraunitary polynomial matrix and the calculated projections from the auxiliary polynomial matrix.

8. The method of claim 7, wherein the normalization of the columns of the auxiliary polynomial matrix is performed by normalizing with an inverse of a respective current scalar minimum phase polynomial.

9. The method of claim 8, wherein the respective current scalar minimum phase polynomial is obtained by calculating a spectral factorization of the squared second norm of the current column of the auxiliary polynomial matrix.

10. The method of claim 8, wherein the normalizations comprise approximating the inverse of the scalar minimum phase polynomials with a respective finite impulse response polynomial after long division.

11. A radio receiver for demodulating data signals transmitted by a plurality of transmitting antennas over a radio channel, the receiver comprising control and communication circuitry configured to: receive, on a plurality of receiving antennas, a data signal and a reference signal, the contents of the reference signal being known a priori to the receiver; calculate, using the contents of the reference signal, an estimated polynomial channel matrix; calculate a decomposition of the estimated polynomial channel matrix into a product of a paraunitary polynomial matrix and an upper triangular polynomial matrix with minimum phase filters on its main diagonal; calculate a polynomial pre-filter matrix as the paraconjugate of the paraunitary polynomial matrix; and demodulate the received data signal where the received data signal is multiplied with the calculated polynomial pre-filter matrix.

12. The radio receiver of claim 11, where the control and communication circuitry is further configured to: calculate a pre-filtered polynomial channel matrix by multiplying the estimated polynomial channel matrix with the polynomial pre-filter matrix, thereby making the pre-filtered polynomial channel matrix upper triangular and with minimum phase filters on its main diagonal, and use the pre-filtered polynomial channel matrix as the channel model in the demodulation.

13. The radio receiver of claim 11, where the control and communication circuitry is further configured to assign, to the first column of the paraunitary polynomial matrix, a normalized version of the first column of the estimated polynomial channel matrix, and, for each current column from a second column to a last column of the channel matrix: calculate projections of the current column of the estimated polynomial channel matrix on the previous columns of the paraunitary polynomial matrix, calculate a difference polynomial vector as the difference between the current column of the estimated polynomial channel matrix and a product of the calculated projections multiplied by the previous columns of the paraunitary polynomial matrix, and assign, to the current column of the paraunitary polynomial matrix, a normalized version of the calculated difference polynomial vector.

14. The radio receiver of claim 11, where the control and communication circuitry is further configured to assign, to an auxiliary polynomial matrix, the elements of the estimated polynomial channel matrix, and, for each current column from a first column to a last column: assign, to the current column of the paraunitary polynomial matrix, a normalized version of the current column of the auxiliary polynomial matrix, calculate projections of the auxiliary polynomial matrix on the current column of the paraunitary polynomial matrix, update the auxiliary polynomial matrix by subtracting a product of the current column of the paraunitary polynomial matrix and the calculated projections from the auxiliary polynomial matrix.

15. A non-transitory computer-readable medium comprising, stored thereupon, a computer program product comprising software instructions that, when executed in a processor of a radio receiver, causes the radio receiver to demodulate data signals transmitted by a plurality of transmitting antennas over a radio channel by: receiving, via a plurality of receiving antennas, a data signal and a reference signal, the contents of the reference signal being known a priori to the receiver; calculating, using the contents of the reference signal, an estimated polynomial channel matrix; calculating a decomposition of the estimated polynomial channel matrix into a product of a paraunitary polynomial matrix and an upper triangular polynomial matrix with minimum phase filters on its main diagonal; calculating a polynomial pre-filter matrix as the paraconjugate of the paraunitary polynomial matrix; and demodulating the received data signal where the received data signal is multiplied with the calculated polynomial pre-filter matrix.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 schematically illustrates a radio receiver,

(2) FIG. 2 is a flow chart of a method in a receiver,

(3) FIG. 3 illustrates schematically functional blocks of a radio receiver,

(4) FIG. 4 is a flow chart of a method in a receiver,

(5) FIG. 5 shows graphs of radio channel characteristics,

(6) FIG. 6 shows graphs of radio channel characteristics, and

(7) FIG. 7 shows graphs of radio channel characteristics.

DETAILED DESCRIPTION OF EMBODIMENTS

(8) FIG. 1 illustrates schematically a MIMO enabled mobile communication terminal 100 comprising a processor 102, a memory 104, radio frequency, RF, receiving and transmitting circuitry 106 and a plurality of antenna elements 111. Radio communication via the antennas 111 is realized by the RF circuitry 106 controlled by the processor 102, as the skilled person will understand. The processor 102 makes use of software instructions 105 stored in the memory 104 in order to control all functions of the terminal 100, including the functions of receiver circuitry in the RF circuitry 106 to be described in detail below with regard to demodulation. In other words, at least the RF circuitry 106, the processor 102 and the memory 104 form parts of control and communication circuitry that is configured to control demodulation as summarized above and described in detail below. Further details regarding how these units operate in order to perform normal functions within a mobile radio communication system, are outside the scope of the present disclosure and are therefore not discussed further.

(9) Turning now to FIG. 2 and FIG. 3, a method in a radio receiver for demodulating data signals transmitted by a plurality of transmitting antennas over a radio channel will be described.

(10) In a reception step 202, a data signal and a reference signal is received on a plurality of receiving antennas. The contents of the reference signal are known a priori to the receiver. For example, in an implementation in a GSM system, the reference signal can be the training sequence that is transmitted in a data burst and in a LTE system implementation it can be the reference signals that form part of a sub-frame. In a calculation step 204, a calculation of an estimated polynomial channel matrix is made using the contents of the reference signal. The calculation of the estimated polynomial channel matrix is followed by a calculation of a polynomial pre-filter matrix. A calculation is done of a decomposition 206 of the estimated polynomial channel matrix into a product of a paraunitary polynomial matrix and an upper triangular polynomial matrix with minimum phase filters on its main diagonal. The polynomial pre-filter matrix is then calculated 208 as the paraconjugate of the paraunitary polynomial matrix. The received data signal is then demodulated in a demodulation step 212, where the received data signal is multiplied with the calculated polynomial pre-filter matrix.

(11) A calculation can be made, in an optional third calculation step 210 prior to the demodulation step 212, of a pre-filtered polynomial channel matrix by multiplying the estimated polynomial channel matrix with the polynomial pre-filter matrix, thereby making the pre-filtered polynomial channel matrix upper triangular and with minimum phase filters on its main diagonal. In such cases, the demodulation step 212 also includes using this pre-filtered polynomial channel matrix as the channel model in the demodulation. The use of the pre-filtered polynomial channel matrix as the channel model in the demodulation can involve calculating the difference between the received data signal and symbol candidates filtered with the pre-filtered polynomial channel matrix.

(12) This method can be illustrated in a block function, as presented in FIG. 3. Antenna data, i.e. data signals and reference signals, are received and are subject to spatial and temporal whitening 302. The output of this whitening procedure is provided to a channel estimation function 304, which in turn provides output to a pre-filter calculation function 306. The output of the pre-filter calculation function 306 is used in a pre-filtering function 308 as well as in a demodulation function 310. The output from the demodulation function 310 is then decoded into user data in a decoder function 312.

(13) Turning now to FIG. 4, a more detailed description will be given of examples of calculations of MIMO pre-filters. The calculations are based on polynomial QR-decomposition, spectral factorizations and long divisions, and the sequence of steps is as follows:

(14) In an initialisation step 402, a column counter k is set to the first column.

(15) In a column setting step 404, column k of the channel matrix is selected for processing.

(16) In a first calculation step 406, the square of the second norm of one column is calculated.

(17) In a second calculation step 408, spectral factorization is performed.

(18) In a third calculation step 410, long division is performed.

(19) In a fourth calculation step 412, column k of a paraunitary polynomial matrix is calculated.

(20) If all columns have been considered, as checked in a decision step 414, the paraunitary polynomial matrix is available and used in a calculation step 415 where the pre-filter matrix is obtained as the paraconjugate of the paraunitary polynomial matrix. The channel after pre-filter is obtained in a fifth calculation step 416.

(21) If it is found, in the checking step 414, that not all columns have been considered, preparations for processing the next column is performed in an updating step 418 where matrix values are updated in preparation for calculation of values for next column. k is then incremented in an increment step 420, whereupon the procedure returns to the column setting step 404.

(22) In the following, details will be presented of the different steps in FIG. 4. Two alternative polynomial QR decompositions can be used. First, a description is given of a polynomial QR decomposition based upon a Classical Gram-Schmidt, CGS, procedure and secondly a Modified Gram Schmidt, MGS, is described. Descriptions of CGS and MGS algorithms for non-polynomial matrices can e.g. be found in Davies et al.

(23) Both in the CGS and in the MGS, spectral factorizations and long divisions are used. A short description of the spectral factorization is given below.

(24) When multiplying polynomial, the polynomial degree of the result is the sum of the degrees of the involved polynomials. In both CGS and MGS, the degrees of the resulting polynomials increase with each new column of. Polynomial truncations are described below for both CGS and MGS.

(25) The channel after pre-filter is calculated as a polynomial multiplication between the calculated pre-filter and the channel estimate as also illustrated in FIG. 4.

(26) Polynomial QR Decompositions

(27) Classical Gram Schmidt

(28) The first column q.sub.1(z.sup.1) of Q(z.sup.1) is defined as a normalized version of the first column h.sub.1(z.sup.1) of H(z.sup.1). This normalization is done with a scalar minimum phase polynomial h.sub.MP,1(z.sup.1), i.e. a polynomial with all roots located inside the unit circle. This minimum phase polynomial is calculated from a spectral factorization of the scalar squared second norm of the first column h.sub.1(z.sup.1) of H(z.sup.1), i.e.

(29) s 1 ( z - 1 ) = h 1 * T ( z ) h 1 ( z - 1 ) = .Math. i = 1 M h i 1 * ( z ) h i 1 ( z - 1 ) ( 11 )
such that
h.sub.MP,1(z.sup.1)=MinPhaseFactor{s.sub.1(z.sup.1)}.(12)

(30) See below for more details about spectral factorizations.

(31) The inverse of this minimum phase polynomial in (12) is approximated by a finite impulse response, FIR, polynomial after long division,

(32) 1 h MP , 1 ( z - 1 ) h MPinv , 1 ( z - 1 ) = h MPinv , 1 , 0 + h MPinv , 1 , 1 z - 1 + K + h MPinv , 1 , L LD z - L LD . ( 13 )

(33) Here, the length of the FIR approximation is considered as a design variable which must be selected with care. Now, the elements q.sub.i,1(z.sup.1), for i=1, K, M, of the first column of Q(z.sup.1) are calculated as
q.sub.i,1(z.sup.1)=h.sub.MPinv,1(z.sup.1)h.sub.i1(z.sup.1),(14)
for i=1, K, M, and
r.sub.1,1(z.sup.1)=h.sub.MP,1(z.sup.1).(15)

(34) The remaining columns of Q(z.sup.1) should now be calculated. These columns q.sub.k(z.sup.1) of Q(z.sup.1) will be sequentially calculated, with k=2, K, N. Start by setting k=2 and calculate column k of R(z.sup.1) as the projection of H(z.sup.1) on the previously calculated column of Q(z.sup.1) i.e.
r.sub.j,k(z.sup.1)=q.sub.j*.sup.T(z)h.sub.k(z.sup.1)(16)
for j=1, K, k1. Use these projections in order to calculate a polynomial vector a.sub.k(z.sup.1) of the difference between column k of H(z.sup.1) and (16) multiplied by previously calculated column of Q(z.sup.1) i.e.

(35) a k ( z - 1 ) = h k ( z - 1 ) - .Math. i = 1 k - 1 r i , k ( z - 1 ) q i ( z - 1 ) . ( 17 )

(36) Column q.sub.k(z.sup.1) of Q(z.sup.1) is defined as a normalized version of a.sub.k(z.sup.1) for k>2. This normalization is done with a scalar minimum phase polynomial a.sub.MP,k(z.sup.1) which is calculated from a spectral factorization of the squared second norm of the column vector a.sub.k(z.sup.1). Denote this squared second norm as

(37) s k ( z - 1 ) = a k * T ( z ) a k ( z - 1 ) = .Math. i = 1 M a i , k * ( z ) a i , k ( z - 1 ) ( 18 )

(38) Also denote the minimum phase factor polynomial of (11) as
a.sub.MP,k(z.sup.1)=MinPhaseFactor{s.sub.k(z.sup.1)}.(19)

(39) See below for more details about spectral factorizations.

(40) The inverse of this minimum phase polynomial in (12) is approximated by a FIR polynomial after long division as

(41) 1 a MP , k ( z - 1 ) a MPinv , k ( z - 1 ) = a MPinv , k , 0 + a MPinv , k , 1 z - 1 + K + a MPinv , k , L LD z - L LD . ( 20 )

(42) Since a.sub.MP,k(z.sup.1) is minimum phase this FIR approximation is numerically good. Now, the elements of column k of Q(z.sup.1) is calculated as
q.sub.i,k(z.sup.1)=a.sub.MPinv,k(z.sup.1)a.sub.i,k(z.sup.1)(21)
for i=1, K, M and
r.sub.k,k(z.sup.1)=a.sub.MP,k(z.sup.1).(22)

(43) Finally, repeat (16) to (22) for the remaining columns of Q(z.sup.1).

(44) Modified Gram Schmidt

(45) Within the Modified Gram Schmidt, MGS, algorithm, the columns q.sub.k(z.sup.1) of Q(z.sup.1) are sequentially (k=1, K, N) calculated. Compare with the Classical Gram Schmidt, CGS, algorithm where also each column of Q(z.sup.1) is sequentially calculated. However, while CGS calculates each column of R(z.sup.1) sequentially (see equation (16)), the MGS calculates each row of R(z.sup.1) sequentially.

(46) First, define the matrix
A.sup.(k)(z.sup.1)=a.sub.1.sup.(k)(z.sup.1)a.sub.2.sup.(k)(z.sup.1)a.sub.n.sup.(k)(z.sup.1)(23)
with
A.sup.(1)(z.sup.1)=H(z.sup.1)(24)

(47) For k=1, the first column q.sub.1(z.sup.1) of Q(z.sup.1) is defined as a normalized version of the first column a.sub.1.sup.(1)(z.sup.1) of A.sup.(1)(z.sup.1). This normalization is done with a scalar minimum phase polynomial a.sub.MP,1(z.sup.1), i.e. all roots of the polynomial are located inside the unit circle. A minimum phase polynomial is calculated from a spectral factorization of the squared second norm of the first column a.sub.1.sup.(1)(z.sup.1) of A.sup.(1)(z.sup.1). Then, a new polynomial matrix A.sup.(2)(z.sup.1) will be calculated below, in which the projections of A.sup.(1)(z.sup.1) on this first column of Q(z.sup.1) is subtracted. The second column of Q(z.sup.1) is then calculated as a normalized version of the second column of this A.sup.(2)(z.sup.1). The remaining columns of Q(z.sup.1) are sequentially calculated in the same fashion.

(48) Below, a description is given for calculating column k of Q(z.sup.1) and row k of R(z.sup.1). This description is valid for k=1, K, N.

(49) Denote the squared second norm of column k of A.sup.(k)(z.sup.1) as

(50) s k ( z - 1 ) = a k ( k ) * T ( z ) a k ( k ) ( z - 1 ) = .Math. i = 1 M a ik ( k ) * ( z ) a ik ( k ) ( z - 1 ) ( 25 )

(51) Also denote the minimum phase factor polynomial of (25) as
a.sub.MP,k(z.sup.1)=MinPhaseFactor{s.sub.k(z.sup.1)}.(26)

(52) See below for more details about spectral factorizations.

(53) The inverse of this minimum phase polynomial in (26) is approximated by a FIR polynomial after long division as

(54) 1 a MP , k ( z - 1 ) a MPinv , k ( z - 1 ) = a MPinv , k , 0 + a MPnv , k , 1 z - 1 + K + a MPnv , k , L LD z - L LD . ( 27 )

(55) Since a.sub.MP,k(z.sup.1) is minimum phase (all roots inside the unit circle), this FIR approximation is numerically good. Here, the length of the FIR approximation is considered as a design variable which must be selected with care. Now, the elements of column k of Q(z.sup.1) are calculated as
q.sub.i,k(z.sup.1)=a.sub.MPinv,k(z.sup.1)a.sub.i,k(z.sup.1)(28)
for i=1, K, M.

(56) The diagonal element in row k and column k of R(z.sup.1) is defined as
r.sub.k,k(z.sup.1)=a.sub.MP,k(z.sup.1)(29)
and the off-diagonal elements of row k of R(z.sup.1) is calculated as

(57) 0 r k , j ( z ) = q k * T ( z ) a j ( k ) ( z - 1 ) = .Math. i = 1 M q i , k * ( z ) a i , j ( k ) ( z - 1 ) ( 30 )
for j=k+1, K, N.

(58) In order to proceed with the next column of Q(z.sup.1), a new polynomial matrix A.sup.(k+1)(z.sup.1) is defined in which the projections of A.sup.(k)(z.sup.1) on the recently calculated column k of Q(z.sup.1) is subtracted. Thus, define column j of the matrix A.sup.(k+1)(z.sup.1), for k1, as
a.sub.j.sup.(k+1)(z.sup.1)=a.sub.j.sup.(k)(z.sup.1)q.sub.k(z.sup.1)r.sub.k,j(z.sup.1).(31)
for j=k+1, K, N.

(59) The remaining columns of Q(z.sup.1) are calculated by increasing k and repeat (25) to (31).

(60) Spectral Factorization

(61) Consider the polynomial element in row i and in column j of a polynomial matrix A(z.sup.1)

(62) a i , j ( z - 1 ) = = a i , j , 0 + a i , j , 1 z - 1 + a i , j , 2 z - 2 + K + a i , j , L z - L = a i , j , 0 .Math. z - L z m Q in ( i , j ) ( z - z m ) z m Q out ( i , j ) ( z - z m ) ( 32 )
where
z.sub.mQ.sub.in.sup.(i,j) if |z.sub.m|.sup.2<1(33)
and
z.sub.mQ.sub.out.sup.(i,j) if |z.sub.m|.sup.21(34)

(63) The squared second norm of column k of A(z.sup.1)

(64) s k ( z - 1 ) = .Math. i = 1 M a ik ( z - 1 ) a ik * ( z ) ( 35 )
can then be modeled by the individual roots of the elements in A(z.sup.1)

(65) s k ( z - 1 ) = .Math. i = 1 M ( a i , k , 0 .Math. z m Q in ( i , k ) ( z - z m ) z m Q out ( i , k ) ( z - z m ) z m Q in ( i , k ) ( z - 1 - z m * ) z m Q out ( i , k ) ( z - 1 - z m * ) ) ( 36 )
or by the roots of the polynomial

(66) s k ( z - 1 ) = a k z m Q in ( k ) ( z - z m ) z m Q out ( k ) ( z - z m ) z m Q in ( k ) ( z - 1 - z m * ) z m Q out ( k ) ( z - 1 - z m * ) ( 37 )
where

(67) z m Q in ( k ) if | z m | 2 < 1 , ( 38 ) z m Q out ( k ) if | z m | 2 1 and k = .Math. i = 1 M .Math. m = 0 L | a i , k , m | 2 . ( 39 )

(68) The spectral factorization of s.sub.k(z.sup.1) into minimum phase polynomials equals
s.sub.k(z.sup.1)=a.sub.MP,k(z.sup.1)a.sub.MP,k*(z).(40)
such that

(69) a MP , k ( z - 1 ) = k .Math. z - L z m Q in ( k ) ( z - z m ) z m Q out ( k ) ( z - 1 z m * ) ( 41 )
where .sub.k={square root over (.sub.k)}. Thus, the polynomial a.sub.MP,k(z.sup.1) has all roots inside the unit circle.

(70) Several algorithms for calculation of this spectral factorization are available. For example, the roots of the polynomial s.sub.k(z.sup.1) can be explicitly calculated such that the minimum phase spectral factorization is calculated from (41). Alternatively, the method as described in U.S. Pat. No. 6,826,226 can be used. The process of calculating the minimum phase factor a.sub.MP,k(z.sup.1) from s.sub.k(z.sup.1) is denoted as
a.sub.MP,k(z.sup.1)=MinPhaseFactor{s.sub.k(z.sup.1)}.(42)
Polynomial Truncation

(71) The polynomial multiplications included in the Classical Gram Schmidt algorithm are listed in table 1. The polynomial channel matrix H(z.sup.1) is used as input.

(72) TABLE-US-00001 TABLE 1 Minimum power of z.sup.1 Maximum power of z.sup.1 Polynomial operation Unconstrained Truncated Unconstrained Truncated s 1 ( z - 1 ) = h 1 ( z - 1 ) h 1 * T ( z ) = .Math. i = 1 M h i 1 ( z - 1 ) h i 1 * ( z ) L L h.sub.MP,1(z.sup.1) = MinPhaseFactor{s.sub.1(z.sup.1)} 0 L 1 h MP , 1 ( z - 1 ) h MPinv , 1 ( z . - 1 ) 0 L.sub.LD q.sub.i,1(z.sup..1) = h.sub.MPinv,1(z.sup..1)h.sub.i1(z.sup.1) 0 L.sub.Qnc L.sub.LD + L L.sub.Qc r.sub.l,1(z.sup..1) = h.sub.MP,1(z.sup.1) 0 L.sub.Rnc L L.sub.Rc r.sub.j,k(z) = q.sub.j.sup.*T(z)h.sub.k(z.sup.1) L.sub.Qc L.sub.Rnc L.sub.Qnc + L L.sub.Rc a k ( z - 1 ) = h k ( z - 1 ) - .Math. i = 1 k - 1 r i , k ( z - 1 ) q i ( z - 1 ) L.sub.Rnc L.sub.Qnc L.sub.Anc L.sub.Rc + L.sub.Qc L.sub.Ac 0 s k ( z - 1 ) = a k * T ( z ) a k ( z - 1 ) = .Math. i = 1 M a i , k * ( z ) a i , k ( z - 1 ) L.sub.Ac L.sub.Anc L.sub.Anc + L.sub.Ac a.sub.MP,1(z.sup.1) = MinPhaseFactor{s.sub.k(z.sup.1)} 0 L.sub.Anc + L.sub.Ac r.sub.k,k(z.sup..1) = a.sub.MP,k(z.sup..1) 0 L.sub.Rnc L.sub.Anc + L.sub.Ac L.sub.Rc 1 a MP , k ( z - 1 ) a MPinv , k ( z . - 1 ) 0 L.sub.LD q.sub.i,1(z.sup..1) = a.sub.MPinv,k(z.sup..1)a.sub.ik(z.sup.1) L.sub.Anc L.sub.Qnc L.sub.LD + L.sub.Ac L.sub.Qc

(73) The polynomial multiplications included in the Modified Gram Schmidt algorithm are listed in table 2. As input to this algorithm, the matrix A.sup.(1)(z.sup.1) is defined as A.sup.(1)(z.sup.1)=H(z.sup.1).

(74) TABLE-US-00002 TABLE 2 Minimum power of z.sup.1 Maximum power of z.sup.1 Polynomial operation Unconstrained Truncated Unconstrained Truncated s.sub.k(z.sup.1) = a.sub.k.sup.(k)(z.sup.1)a.sub.k.sup.(k).sub.*T(z) L.sub.Anc L.sub.Ac L.sub.Ac + L.sub.Anc a.sub.MP,k(z.sup.1) = MinPhaseFactor{s.sub.k(z.sup.1)} 0 L.sub.Ac + L.sub.Anc 1 a MP , k ( z - 1 ) a MPinv , k ( z . - 1 ) 0 L.sub.LD q.sub.i,1 = a.sub.MPinv,k(z.sup..1)a.sub.ik.sup.(k)(z.sup.1) L.sub.Anc L.sub.Qnc L.sub.LD + L.sub.Ac L.sub.Qc r.sub.k,k(z.sup..1) = a.sub.MP,k(z.sup..1) 0 L.sub.Rnc L.sub.Ac L.sub.Rc r.sub.k,j(z)=q.sub.k.sup.*T(z)a.sub.k.sup.(k)(z.sup.-1) L.sub.Qc L.sub.Anc L.sub.Rnc L.sub.Qnc + L.sub.Ac L.sub.Rc a.sub.j.sup.(k+1)(z.sup.-1) custom character a.sub.j.sup.(k)(z.sup.-1)-q.sub.k(z.sup.-1)r.sub.k,j(z.sup.-1) L.sub.Qnc L.sub.Rnc L.sub.Anc L.sub.Qc + L.sub.Rc L.sub.Ac

(75) The polynomial degree for each polynomial multiplication in CGS and MGS are given in table 1 and table 2, respectively. Here the minimum power of z.sup.1 and maximum power of z.sup.1 are listed as functions of the degrees of the polynomials involved in the multiplications. These values are referred to as unconstrained. A convention is also included in table 1 and table 2 of the polynomial powers after multiplication. If the introduced polynomial degree is smaller than the unconstrained value, then the result of the polynomial multiplication is truncated.

(76) The parameters L.sub.Qnc, L.sub.Qc, L.sub.Rnc, L.sub.Rc, L.sub.Anc, and L.sub.Ac are design variables, which should be selected with care.

(77) Channel after Pre-Filtering

(78) The channels after pre-filtering are illustrated in FIG. 5. In the pre-filtering operation corresponding to FIG. 5, the filters on the main diagonal are minimum-phase filters, i.e. the energy is concentrated to the first taps. In FIG. 6, where the roots of the channels are shown. In the pre-filtering operation corresponding to FIG. 6, the pre-filtered channels on the main diagonal have all roots inside the unit circle, since these are minimum phase filters.

(79) The channels after pre-filtering above the main diagonal are not minimum phase after pre-filtering, and can thus have roots both inside and outside the unit circle, see FIG. 6. Furthermore, the pre-filtered channels above the main diagonal might have non-causal values lager than zero, as illustrated in FIG. 5.

(80) The channel after pre-filter is proposed to be calculated as a polynomial multiplication between the calculated pre-filter and the channel estimate, see illustration in the flow chart of FIG. 4. This channel after pre-filtering is in theory equal to the upper triangular polynomial matrix R(z.sup.1) from the QR-decomposition. However, approximations, polynomial truncations and limited calculation accuracy impacts the accuracy of the calculations of the MIMO pre-filter {tilde over (Q)}(z.sup.1). By using the same {tilde over (Q)}(z.sup.1) on the received signal and on the channel matrix H(z.sup.1) these inaccuracies are included in the calculated channel after pre-filtering.

(81) The channel after pre-filtering can thus be calculated as
g.sub.i,j(z.sup.1)=q.sub.i*.sup.T(z.sup.1)h.sub.j(z.sup.1)(43)

(82) The result of this polynomial multiplication can be truncated as indicted in table 3.

(83) TABLE-US-00003 TABLE 3 Polynomial Minimum power of z.sup.1 Maximum power of z.sup.1 operation Unconstrained Truncated Unconstrained Truncated g.sub.i,j (z.Math..sup.1) = L.sub.Hnc L.sub.Qc L.sub.Gnc L.sub.Hc + L.sub.Qnc L.sub.Gnc q.sub.i*.sup.T (z.Math..sup.1)h.sub.j (z.sup.1)

(84) An illustration of the whiteness of the noise after pre-filtering is given in FIG. 7. Here, the elements of
E{{tilde over (Q)}(z.sup.1)W(n)({tilde over (Q)}(z)W(nm))*.sup.T}=Q*.sup.T(z.sup.1)Q(z).Math.(n)=I.Math.(n).(44)
are illustrated which should be unity for time lag zero on the main diagonal and zero elsewhere.