Prefiltering in MIMO receiver
09590687 · 2017-03-07
Assignee
Inventors
Cpc classification
H04L2025/03426
ELECTRICITY
H04L25/03
ELECTRICITY
International classification
H04L25/03
ELECTRICITY
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)
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION OF EMBODIMENTS
(8)
(9) Turning now to
(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
(13) Turning now to
(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
(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
(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)
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)
(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)
(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)
(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)
(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)
(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)
(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)
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)
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)
can then be modeled by the individual roots of the elements in A(z.sup.1)
(65)
or by the roots of the polynomial
(66)
where
(67)
(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)
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
(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. 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
(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
(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
(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
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.