Low complexity algorithms for precoding matrix calculation

Information

  • Patent Grant
  • 11190244
  • Patent Number
    11,190,244
  • Date Filed
    Thursday, September 24, 2020
    4 years ago
  • Date Issued
    Tuesday, November 30, 2021
    3 years ago
Abstract
Low-complexity methods of calculating a precoding matrix for use in MIMO transmission. In some embodiments, a method of calculating a precoding matrix includes (i) calculating a first portion of a first singular value decomposition, based on a first portion of a channel matrix; (ii) calculating a second portion of a second singular value decomposition, based on a second portion of the channel matrix; (iii) calculating an intermediate matrix, based on: the first portion of the first singular value decomposition and the second portion of the second singular value decomposition; and (iv) calculating a matrix of approximate right singular vectors. The calculating of the matrix of approximate right singular vectors may include calculating a product of factors, the factors including a first factor based on the conjugate transpose of the intermediate matrix, a second factor based on a unitary matrix, and a third factor based on a diagonal matrix.
Description
FIELD

One or more aspects of embodiments according to the present disclosure relate to multiple-input and multiple-output (MIMO) transmission, and more particularly to low-complexity methods of calculating a precoding matrix for use in MIMO transmission.


BACKGROUND

Precoding may be used for transmission in MIMO systems, to achieve good channel capacity performance. Precoding may employ a precoding matrix, which may be calculated from a channel matrix, using a calculation that may be costly, as measured, for example, by the number of complex multiplications it requires.


Thus, there is a need for low-complexity methods of calculating a precoding matrix for use in MIMO transmission.


SUMMARY

According to an embodiment of the present invention, there is provided a method, including: calculating a first portion of a first singular value decomposition, based on a first portion of a channel matrix; calculating a second portion of a second singular value decomposition, based on a second portion of the channel matrix; calculating an intermediate matrix, based on: the first portion of the first singular value decomposition and the second portion of the second singular value decomposition; and calculating a matrix of approximate right singular vectors, the calculating of the matrix of approximate right singular vectors including calculating a product of factors, the factors including a first factor based on the conjugate transpose of the intermediate matrix, a second factor based on a unitary matrix, and a third factor based on a diagonal matrix.


In some embodiments, the calculating of the intermediate matrix includes calculating a row permutation of a matrix, the matrix including: the first portion of the first singular value decomposition, and the second portion of the second singular value decomposition.


In some embodiments: the first portion of the first singular value decomposition includes a first singular value matrix and a first right singular vector matrix; the second portion of the first singular value decomposition includes a second singular value matrix and a second right singular vector matrix; the intermediate matrix includes a first portion and a second portion; the first portion of the intermediate matrix includes: a product of a first portion of the first singular value matrix and a first portion of the first right singular vector matrix, and a product of a first portion of the second singular value matrix and a first portion of the second right singular vector matrix; and the second portion of the intermediate matrix includes: a product of a second portion of the first singular value matrix and a second portion of the first right singular vector matrix, and a product of a second portion of second first singular value matrix and a second portion of the second right singular vector matrix.


In some embodiments, the method further includes: calculating a first eigen decomposition, the first eigen decomposition being an eigen decomposition of the conjugate product of a first portion of the intermediate matrix; and calculating a second eigen decomposition, the second eigen decomposition being an eigen decomposition of the product of a second portion of the intermediate matrix and the conjugate transpose of the second portion of the intermediate matrix.


In some embodiments, the unitary matrix is based on: the left eigenvector matrix of the first eigen decomposition, and the left eigenvector matrix of the second eigen decomposition.


In some embodiments, the diagonal matrix is based on: the eigenvalues of the first eigen decomposition, and the eigenvalues of the second eigen decomposition.


In some embodiments, the method further includes multiplying a transmitted signal by a precoding matrix, wherein the precoding matrix includes a right singular vector of the matrix of approximate right singular vectors.


According to an embodiment of the present invention, there is provided a method, including: calculating a first eigen decomposition, based on a first portion of a channel matrix; calculating a second eigen decomposition, based on a second portion of the channel matrix; calculating a transformation matrix, based on: the left eigenvector matrix of the first eigen decomposition, the left eigenvector matrix of the second eigen decomposition, the eigenvalues of the first eigen decomposition, and the eigenvalues of the second eigen decomposition; calculating an eigen decomposition of an intermediate matrix, the intermediate matrix being based on: the transformation matrix, and the channel matrix; and calculating a right singular matrix of transformed channel, the calculating of the right singular matrix of transformed channel including calculating a product of factors, the factors including a first factor based on the conjugate transpose of the intermediate matrix, a second factor based on a unitary matrix, and a third factor based on a diagonal matrix.


In some embodiments, the calculating of the transformation matrix includes calculating the product of a fourth factor and a fifth factor, wherein: the fourth factor is a block diagonal matrix including: the left eigenvector matrix of the first eigen decomposition, and the left eigenvector matrix of the second eigen decomposition; and the fifth factor is a diagonal matrix including: the eigenvalue matrix of the first eigen decomposition, and the eigenvalue matrix of the second eigen decomposition.


In some embodiments, the method further includes calculating the unitary matrix, the calculating of the unitary matrix including calculating a singular value decomposition of an off-diagonal block of the conjugate product of the intermediate matrix, to form a first left singular vector matrix and a singular value matrix.


In some embodiments, the method further includes calculating the unitary matrix, wherein a first block of the unitary matrix is the first left singular matrix; and a second block of the unitary matrix is the product of: the conjugate transpose of the off-diagonal block of the conjugate product of the intermediate matrix, the first left singular matrix, and the inverse of the singular value matrix.


In some embodiments: the first factor is the conjugate transpose of the intermediate matrix, the second factor is the left eigenvector matrix of the eigen decomposition of the conjugate product of the intermediate matrix, and the diagonal matrix is the square root of the eigenvalue matrix of the eigen decomposition of the conjugate product of the intermediate matrix.


In some embodiments, the method further includes multiplying a transmitted signal by a precoding matrix, wherein the precoding matrix is the right singular matrix of transformed channel.


According to an embodiment of the present invention, there is provided a system including: a processing circuit; a transmitter; and a plurality of antennas, the processing circuit being configured to: calculate a first portion of a first singular value decomposition, based on a first portion of a channel matrix; calculate a second portion of a second singular value decomposition, based on a second portion of the channel matrix; calculate an intermediate matrix, based on: the first portion of the first singular value decomposition and the second portion of the second singular value decomposition; and calculate a matrix of approximate right singular vectors, the calculating of the matrix of approximate right singular vectors including calculating a product of factors, the factors including first factor based on the conjugate transpose of the intermediate matrix, a second factor based on a unitary matrix, and a third factor based on a diagonal matrix.


In some embodiments, the calculating of the intermediate matrix includes calculating a row permutation of a matrix, the matrix including: the first portion of the first singular value decomposition, and the second portion of the second singular value decomposition.


In some embodiments: the first portion of the first singular value decomposition includes a first singular value matrix and a first right singular vector matrix; the second portion of the first singular value decomposition includes a second singular value matrix and a second right singular vector matrix; the intermediate matrix includes a first portion and a second portion; the first portion of the intermediate matrix includes: a product of a first portion of the first singular value matrix and a first portion of the first right singular vector matrix, and a product of a first portion of the second singular value matrix and a first portion of the second right singular vector matrix; and the second portion of the intermediate matrix includes: a product of a second portion of the first singular value matrix and a second portion of the first right singular vector matrix, and a product of a second portion of second first singular value matrix and a second portion of the second right singular vector matrix.


In some embodiments, the processing circuit is further configured to: calculate a first eigen decomposition, the first eigen decomposition being an eigen decomposition of the conjugate product of a first portion of the intermediate matrix; and calculate a second eigen decomposition, the second eigen decomposition being an eigen decomposition of the product of a second portion of the intermediate matrix and the conjugate transpose of the second portion of the intermediate matrix.


In some embodiments, the unitary matrix is based on: the left eigenvector matrix of the first eigen decomposition, and the left eigenvector matrix of the second eigen decomposition.


In some embodiments, the diagonal matrix is based on: the eigenvalues of the first eigen decomposition, and the eigenvalues of the second eigen decomposition.


In some embodiments, the processing circuit is further configured to multiply a transmitted signal by a precoding matrix, wherein the precoding matrix includes a right singular vector of the matrix of approximate right singular vectors.





BRIEF DESCRIPTION OF THE DRAWINGS

These and other features and advantages of the present disclosure will be appreciated and understood with reference to the specification, claims, and appended drawings wherein:



FIG. 1 is a block diagram of a MIMO system, according to an embodiment of the present disclosure;



FIG. 2A is a table illustrating steps in a low-complexity method of calculating a precoding matrix for use in MIMO transmission, according to an embodiment of the present disclosure;



FIG. 2B is a flow chart of a low-complexity method of calculating a precoding matrix for use in MIMO transmission, according to an embodiment of the present disclosure;



FIG. 2C is a table illustrating steps in a low-complexity method of calculating a precoding matrix for use in MIMO transmission, according to an embodiment of the present disclosure;



FIG. 2D is a flow chart of a low-complexity method of calculating a precoding matrix for use in MIMO transmission, according to an embodiment of the present disclosure;



FIG. 3A is a table of computational cost, according to an embodiment of the present disclosure;



FIG. 3B is a table of computational cost, according to a related art method;



FIG. 4A is a graph of simulated performance, according to an embodiment of the present disclosure;



FIG. 4B is a graph of simulated performance, according to an embodiment of the present disclosure; and



FIG. 4C is a graph of simulated performance, according to an embodiment of the present disclosure.





DETAILED DESCRIPTION

The detailed description set forth below in connection with the appended drawings is intended as a description of exemplary embodiments of low-complexity methods of calculating a precoding matrix for use in MIMO transmission provided in accordance with the present disclosure and is not intended to represent the only forms in which the present disclosure may be constructed or utilized. The description sets forth the features of the present disclosure in connection with the illustrated embodiments. It is to be understood, however, that the same or equivalent functions and structures may be accomplished by different embodiments that are also intended to be encompassed within the scope of the disclosure. As denoted elsewhere herein, like element numbers are intended to indicate like elements or features.



FIG. 1 shows a MIMO transmitting system, in some embodiments. The system includes a plurality of antennas 105, a transmitter 110 (e.g., a circuit including digital to analog converters, amplifiers, modulators, and the like, for generating analog antenna drive signals), and a processing circuit 115 for providing digital signals to the transmitter. In the processing circuit, a transmitted signal may be multiplied by a precoding matrix. The calculation of the decoding matrix may involve calculating a singular value decomposition of the channel matrix, and using the resulting matrix of right singular vectors as the precoding matrix. In some embodiments, the complexity (i.e., the cost) of this calculation may be reduced.


A first embodiment may be referred to as a singular value decomposition (SVD) approximation, which may estimate the SVD of the channel matrix H using four rank N SVDs, where H∈custom character2N×NT has full row rank and NT≥2N (with N even), N is the total number of rows of the channel matrix H, and NT is the number of columns (which is equal to the number of antennas 105). In some embodiments, an all-zero row may be added to the channel matrix, if N is odd.


The channel matrix H may be written as including (e.g., consisting of) a first portion and a second portion, the first portion being, e.g., an upper submatrix H1 including half of the elements of the channel matrix H, and the second portion being, e.g., a lower submatrix H2 including the other half of the elements of the channel matrix H:










H
=


[




H
1






H
2




]



H
1



,


H
2




N
×

N
T








(2-1)








Two rank N SVDs of H1 and H2 may be calculated, denoted by

H1=U1Λ1V1H  (2-2)
H2=U1Λ2V2H  (2-3)

where U1, U2custom characterN×N and

Λi=diag([σi1, . . . ,σiN])∈custom characterN×N,i=1,2  (2-4)
Vi=[vi1, . . . ,viN]∈custom characterNT×N,i=1,2  (2-5)

Each of U1, U2 may be referred to as a “left singular vector matrix”. Given (2-2) and (2-3), H can be written as









H
=


[




U
1




0
N






0
N




U
2




]



[





Λ
1



V
1
H








Λ
2



V
2
H





]






(2-6)








A permutation matrix R may be defined as follows.









R
=


[




I

N
/
2





0

N
/
2





0

N
/
2





0

N
/
2







0

N
/
2





0

N
/
2





I

N
/
2





0

N
/
2







0

N
/
2





I

N
/
2





0

N
/
2





0

N
/
2







0

N
/
2





0

N
/
2





0

N
/
2





I

N
/
2





]



C

2

N
×
2

N







(

2-7

)








where IN/2 and ON/2 denote identity and all zero matrices of size








N
2

×

N
2


,





respectively. Given that RR=I2N, (2-6) can be written as









H
=


[




U
1



0




0



U
2




]


RM





(

2-8

)








where the intermediate matrix M is









M
=


R


[





Λ
1



V
1
H








Λ
2



V
2
H





]


=


[




M
1






M
2




]



C

2

N
×

N
T









(

2-9

)







The intermediate matrix M may be calculated, as shown above, as a row permutation of a matrix including a first portion Λ1V1H of the first singular value decomposition (the first portion of the first singular value decomposition including a first singular value matrix Λ1 and a first right singular vector matrix V1H) and a second portion Λ2V2H of the second singular value decomposition (the second portion of the second singular value decomposition including a second singular value matrix Λ2 and a second right singular vector matrix V2H). The intermediate matrix M may include a first portion as an upper submatrix M1 and a second portion as a lower submatrix M2, as shown.


The matrices Λi and Vi may be written as:











Λ
i

=

[




Λ

i

1





0

N
/
2







0

N
/
2





Λ

i

2





]


,

Λ

i

1


,


Λ

i

2




C


N
2

×

N
2




,

i
=
1

,
2




(

2-10

)








V
i

=

[


V

i

1








V

i

2



]


,

V

i

1


,


V

i

2




C


N
T

×

N
2




,

i
=
1

,
2.




(

2-11

)








Then











M
1

=


[





Λ

1

1




V
11
H








Λ
21



V

2

1

H





]



C

N
×

N
T





,


M
2

=


[





Λ

1

2




V
12
H








Λ

2

2




V

2

2

H





]



C

N
×

N
T









(

2-12

)







As a result of the permutation, the first portion M1 of the intermediate matrix includes, for example, a product Λ11V11H of a first portion of the first singular value matrix and a first portion of the first right singular vector matrix, and a product Λ21V21H of a first portion of the second singular value matrix and a first portion of the second right singular vector matrix. In Equation (2-8),







[




U
1



0




0



U
2




]


R





is unitary. To calculate right singular vectors of H, it is sufficient to calculate right singular vectors of M∈custom character2N×NT.


The SVD of M may be approximated with two rank N SVDs. Defining










A
=


[




M
1






0

N
×

N
T






]



C

2

N
×

N
T





,

B
=


[




0

N
×

N
T








M
2




]



C

2

N
×

N
T









(

2-13

)








two rank N eigen decompositions (EDs), of M1M1H and M2M2H, may be calculated, as

M1M1H=UM1ΣM1UM1Hcustom characterN×N  (2-14)
M2M2H=UM2ΣM2UM2Hcustom characterN×N  (2-15)


The calculation of the eigen decomposition of M1M1H, the product of M1 with the conjugate transpose of M1 (which may be referred to herein as the “conjugate product” of M1) may include, as shown above, calculating an eigen decomposition, the eigen decomposition being an eigen decomposition of the conjugate product of the first portion M1 of the intermediate matrix M. The left unitary matrix of an eigen decomposition (e.g., UM1) may be referred to herein as a “left eigenvector matrix” of the eigen decomposition.


An approximate intermediate matrix M may then be defined such that











M
~




M
~

H


=



A


A
H


+

B


B
H



=

[





M
1



M
1
H





0
N






0
N





M
2



M
2
H





]






(

2-16

)







Given (2-14) and (2-15), the eigen decomposition of {tilde over (M)}{tilde over (M)}H is given by

{tilde over (M)}{tilde over (M)}H=U{tilde over (M)}Σ{tilde over (M)}U{tilde over (M)}H  (2-17)

where











U

M
~


=


[




U

M
1





0
N






0
N




U

M
2





]



C

2

N
×
2

N




,




M
~




=


[






M
1





0
N






0
N






M
2





]



C

2

N
×
2

N









(

2-18

)







An approximate eigen decomposition of the product MMH (i.e., of the conjugate product of the intermediate matrix M) may then be calculated. The conjugate product of M, i.e., MMH, may also be written










M


M
H


=



M
~




M
~

H


+

[




0
N





M
1



M
2
H








M
2



M
1
H





0
N




]






(

2-19

)








with











M
1



M
2
H


=


[




0

N
/
2






Λ
11



V
11
H



V

2

2




Λ

2

2

H








Λ
21



V
21
H



V

1

2




Λ

1

2

H





0

N
/
2





]



C

N
×
N







(

2-20

)








where








Λ

i

j




C


N
2

×

N
2




,


V

i

j




C


N
T

×

N
2









are defined in (2-10) and (2-11), respectively. The cross-term M1M2H may be sufficiently small to be neglected, for example, when H has orthogonal rows, and, in this case, MMH may be approximated by {tilde over (M)}{tilde over (M)}H and the left singular vector of M may be calculated as U{tilde over (M)}. Therefore, the approximate right singular vector matrix {circumflex over (V)}H of M may be calculated as











V
^

H

=



M
H



U

M
~






M
~



-
1

/
2





C


N
T

×
2

N







(

2-21

)







The SVD of H∈custom character2N×NT may then be approximated by









H



[




U
1



0




0



U
2




]



RU

M
~







M
~





V
^

H







(

2-22

)








In summary:


1.








U
^

H

=


[




U
1



0




0



U
2




]



RU

M
~








is an estimate of left singular vectors of H


2.








H
^



=



M
~








is an estimate of singular values of H


3. {circumflex over (V)}H is an estimate of right singular vectors of H.


A method using SVD approximation may be performed according to the table of FIG. 2A, and according to the flow chart of FIG. 2B. In FIG. 2B, the input, at 210, is a channel matrix; at 215, two rank N SVDs are calculated; at 220, a row permutation is performed, to produce the intermediate matrix M; at 225, two eigen decompositions are calculated; and, at 230, an approximate SVD of the channel matrix is calculated.


The estimated right singular vectors in {circumflex over (V)}H may not be mutually orthogonal because the eigenvectors of MMHcustom character2N×2N are approximated by U{tilde over (M)} and MMH≠{tilde over (M)}{tilde over (M)}H according to (2-19). However, each estimated vector in {tilde over (V)}H may have a magnitude of 1. The order of right singular vectors in V1 and V2 will affect the cross term M1M2H and thus it will affect the accuracy of the approximation. As such, the singular vector may be ordered appropriately to improve the performance of the algorithm.


A second embodiment may be referred to as a transformed SVD method. This embodiment may be employed to derive a precoding matrix {tilde over (V)}∈custom characterNT×2N satisfying (2-24) (which may be referred to as a “right singular matrix of transformed channel”) that results in the same capacity as may be achieved using the precoding matrix VH. Given {tilde over (V)}, the corresponding capacity C({tilde over (V)}) is calculated as

C({tilde over (V)})=log(|I2N+ρH{tilde over (V)}{tilde over (V)}HHH|)  (2-23)

where ρ denotes the SNR. It may be seen that C({tilde over (V)})=C(VH) if

{tilde over (V)}=VHT for some unitary T∈custom character2N×2N  (2-24)

where VH is a matrix of actual eigenvectors (i.e., eigenvectors determined or defined without the use of approximations) of HHH. The transformed SVD may be designed to derive {tilde over (V)} to satisfy (2-24) with reasonably low complexity.


The following theorem may be shown to hold and may form the basis for such a calculation: Given H∈custom character2N×NT and given {tilde over (P)}=QHH for any full rank matrix Q∈custom character2N×2N, having a singular value decomposition {tilde over (P)}=U{tilde over (P)}Λ{tilde over (P)}V{tilde over (P)}H, then V{tilde over (P)}=VHT for some unitary matrix T. The matrix Q may be referred to as a “transformation matrix”.


The theorem may be proved as follows.

{tilde over (P)}=QHH=QHUHΣHVHH  (2-25)

The SVD of {tilde over (P)} can be derived based on that of QHUHΣHcustom character2N×2N. Denoting the SVD of {tilde over (Q)}=QHUHΣH as

{tilde over (Q)}=U{tilde over (Q)}Σ{tilde over (Q)}V{tilde over (Q)}H  (2-26)
it follows that
V{tilde over (P)}=VHV{tilde over (Q)}  (2-27)

where V{tilde over (Q)} is a matrix of right singular vectors of {tilde over (Q)} and is unitary.


The theorem above implies that, to derive a precoder {tilde over (V)}=VHT for some unitary matrix T, it is sufficient to derive the right singular vectors V{tilde over (P)} of {tilde over (P)}. However, if Q is not chosen carefully, the complexity of calculating V{tilde over (P)} may be the same as that of calculating VH. To reduce the complexity, Q may be chosen as follows. For a given H∈custom character2N×NT, where NT≥2N, with H having full row rank, H1, H2custom characterN×NT may be defined as in (2-1). Two rank N eigen decompositions, of H1H1H∈CN×N and H2H2Hcustom characterN×N may be calculated, given by

H1H1H=U1Σ1U1H  (2-28)
H2H2H=U2Σ2U2H  (2-29)

where U1, U2custom characterN×N and Σi=diag([λi1, . . . , λiN])∈custom characterN×N, i=1, 2. Defining











U

H
~


=


[




U
1




0
N






0
N




U
2




]



C

2

N
×
2

N




,




H
~




=


[





1




0
N






0
N





2




]



C

2

N
×
2

N









(

2-30

)








the matrix Q may be chosen according to









Q
=



U

H
~






H
~



-
1

/
2





C

2

N
×
2

N







(

2-31

)







An intermediate matrix {tilde over (P)} may then be defined as follows:










P
~

=





H
~



-
1

/
2





U

H
~

H


H




C

2

N
×

N
T








(

2-32

)








The SVD of {tilde over (P)} may then be derived using a rank N SVD. The conjugate product of {tilde over (P)} has, because of the above-described choice of Q, the following form:











P
~




P
~

H


=


[




I
N



D





D
H




I
N




]



C

2

N
×
2

N








(2-33

)








where









D
=




1


-
1

/
2





U
1
H



H
1



H
2
H



U
2




2


-
1

/
2






C

N
×
N







(

2-34

)







The matrix D may be referred to as an “off-diagonal block” of the matrix {tilde over (P)}{tilde over (P)}H. The true eigen decomposition of {tilde over (P)}{tilde over (P)}H may be derived based on that of DDHcustom characterN×N. Denoting








[




x
1






x
2




]



C

2

N



,





where x1, x2custom characterN, as an eigenvector of {tilde over (P)}{tilde over (P)}H corresponding to eigenvalue of A, it follows that











[




I
N



D





D
H




I
N




]



[




x
1






x
2




]


=

λ


[




x
1






x
2




]






(

2-35

)








From (2-35), the following two equations, (2-36) and (2-37), may be derived:

x1+Dx2=λx1  (2-36)
DHx1+x2=λx2  (2-37)

From (2-37), it follows that










x
2

=


1

λ
-
1




D
H



x
1






(

2-38

)








Substituting (2-37) back into (2-36) results in the following:

DDHx1=(λ−1)2x1  (2-39)


Equation (2-39) implies that if σD is a singular value of D and uD is an eigenvector of DDH, 1+σD and 1−σD must be eigenvalues of {tilde over (P)}{tilde over (P)}H, with the corresponding eigenvectors being denoted by










[




u
D







1

σ
D




D
H



u
D





]







and




[




u
D








-
1


σ
D




D
H



u
D





]





(

2-40

)








Denoting the SVD of D∈custom characterN×N as

D=UDΛDVDH  (2-41)

the eigen decomposition of {tilde over (P)}{tilde over (P)}H can be represented as

{tilde over (P)}{tilde over (P)}H=U{tilde over (P)}Σ{tilde over (P)}U{tilde over (P)}H  (2-42)

where










U

P
~


=



1

2




[




U
D




U
D







D
H



U
D



Λ
D

-
1







-

D
H




U
D



Λ
D

-
1






]




C

2

N
×
2

N







(

2-43

)








and












P
~




=


[




1
+

Λ
D





0
N






0
N




1
-

Λ
D





]



C

2

N
×
2

N








(

2-44

)







In Equation (2-43), a first block of the unitary matrix U{tilde over (P)} is the first left singular matrix UD, and a second block DHUDΛD−1 of the unitary matrix is the product of (i) the conjugate transpose DH of the off-diagonal block of the conjugate product of the intermediate matrix, (ii) the left singular matrix UD, and (iii) the inverse ΛD−1 of the singular value matrix. Given U{tilde over (P)} and Σ{tilde over (P)}, the right singular vector matrix of {tilde over (P)} is calculated as










V

P
~


=




P
~

H



U

P
~






P
~



-
1

/
2





C


N
T

×
2

N







(

2-45

)








and, according to the theorem above, V{tilde over (P)}=VHT.


The transformed SVD method may be performed according to the table of FIG. 2C, or according to the flow chart of FIG. 2D. In FIG. 2D, the input, at 240, is a channel matrix; at 245, two rank N SVDs are calculated; at 250, a transformation matrix is chosen, and an intermediate matrix is calculated; and, at 255, the right singular vectors of the intermediate vectors are used as corresponding right singular vectors for precoding.


In the method employing SVD approximation, four rank N SVDs are calculated. When N is large, it may be possible to further reduce the complexity, by approximating each rank N SVD by rank N/2 SVDs using the low complexity SVD approximation and so on until the desired complexity requirement is met. However, the accuracy of the estimation may suffer due to the approximation at each level.


In the transformed SVD method, three rank N SVDs are calculated, viz. SVDs of H1H1custom characterN×N, H2H2Hcustom characterN×N and D∈custom characterN×N. When N>2 and N is even, the complexity can be further reduced to a calculation of one rank N SVD plus six rank N/2 SVDs.


The actual SVD of H1 and H2 may be denoted as in (2-2) and (2-3). {tilde over (P)} in (2-25) is equivalent to

{tilde over (P)}H=[V1V2]∈custom characterNT×2N  (2-46)


where V1custom characterNT×N and V2custom characterNT×N are matrices of the actual N eigenvectors of H1HH1 and H2HH2, respectively.


If N is even, then, denoting {tilde over (V)}1custom characterNT×N and {tilde over (V)}2custom characterNT×N as derived precoding matrices for H1 and H2 using low complexity transformed SVD, it follows that

{tilde over (V)}1=V1T1  (2-47)
{tilde over (V)}2=V2T2  (2-48)


for some unitary matrix T1, T2custom characterN×N. Replacing V1 by {tilde over (V)}1 and V2 by {tilde over (V)}2, the matrix {hacek over (P)} is defined:











P
ˇ

H

=


[



V
~

1








V
~

2


]

=




P
~

H



[




T
1




0
N






0
N




T
2




]




C


N
T

×
2

N








(

2-49

)







It may be seen that the SVD of {hacek over (P)}{hacek over (P)}Hcustom character2N×2N can be derived based on the actual SVD of Ď, where

Ď={tilde over (V)}1H{tilde over (V)}2custom characterN×N  (2-50)


Therefore, there is no need to calculate the true eigen decomposition of H1HH1 and H2HH2. Instead, it is sufficient to apply the transformed SVD algorithm to H1 and H2 to derive the corresponding precoding matrix {tilde over (V)}1custom characterNT×N and {tilde over (V)}2custom characterNT×N, and then calculate the right singular vectors {hacek over (P)} based on the SVD of b. Note that the true SVD of b may be needed to guarantee to achieve the same capacity as true right singular vectors of the channel. This method only requires one rank N SVD of Ď plus six rank N/2 SVDs to derive {tilde over (V)}1 and {tilde over (V)}2 and derives {tilde over (V)} satisfying (2-24).


The complexity can be further reduced by calculating an approximate SVD of Ď using the SVD approximation method. However, whenever the approximated SVD is not the same as the actual value, the derived precoding matrix may no longer satisfy (2-24) and, as such, it is possible that the same capacity performance may not be achieved.


The table of FIG. 3A shows the computational cost, measured by the number of complex multiplications required, of the embodiment using a transformed singular value decomposition, and (in the row below) of the embodiment using an approximate singular value decomposition. For comparison, the cost, measured by the number of complex multiplications required, of a direct calculation (by QR decomposition) of the channel matrix H is shown in the table of FIG. 3B.



FIGS. 4A-4C shows simulated performance of the embodiment using an approximate singular value decomposition. FIG. 4A shows normalized mean squared error (NMSE) and correlation performance, with

Hρ=HC(ρ)∈custom characterNR×NT,Hij˜custom characterN(0,1),C(ρ)=ρ1NT+(1−ρ)INTcustom characterNT×NT.


Each of FIGS. 4B and 4C is a graph of block error rate (BLER) as a function of signal to noise ratio (SNR).


As used herein, “a portion of” something means “at least some of” the thing, and as such may mean less than all of, or all of, the thing. As such, “a portion of” a thing includes the entire thing as a special case, i.e., the entire thing is an example of a portion of the thing. As used herein, the term “rectangle” includes a square as a special case, i.e., a square is an example of a rectangle, and the term “rectangular” encompasses the adjective “square”. As used herein, when a second number is “within Y %” of a first number, it means that the second number is at least (1−Y/100) times the first number and the second number is at most (1+Y/100) times the first number. As used herein, the term “or” should be interpreted as “and/or”, such that, for example, “A or B” means any one of “A” or “B” or “A and B”.


The term “processing circuit” is used herein to mean any combination of hardware, firmware, and software, employed to process data or digital signals. Processing circuit hardware may include, for example, application specific integrated circuits (ASICs), general purpose or special purpose central processing units (CPUs), digital signal processors (DSPs), graphics processing units (GPUs), and programmable logic devices such as field programmable gate arrays (FPGAs). In a processing circuit, as used herein, each function is performed either by hardware configured, i.e., hard-wired, to perform that function, or by more general-purpose hardware, such as a CPU, configured to execute instructions stored in a non-transitory storage medium. A processing circuit may be fabricated on a single printed circuit board (PCB) or distributed over several interconnected PCBs. A processing circuit may contain other processing circuits; for example, a processing circuit may include two processing circuits, an FPGA and a CPU, interconnected on a PCB.


As used herein, each of the terms “array” and “matrix” (a matrix being a two-dimensional array) refers to an ordered set of numbers regardless of how stored (e.g., whether stored in consecutive memory locations, or in a linked list). As used herein, “calculating a matrix” means to calculate the values of the elements of the matrix. As used herein, “calculating a singular value decomposition” means calculating a singular value matrix and at least one of a left singular vector matrix and a right singular vector matrix. When a first matrix includes, or “comprises” a second matrix, then the first matrix equals the second matrix, or the second matrix is a block of the first matrix.


As used herein, when a method (e.g., an adjustment) or a first quantity (e.g., a first variable) is referred to as being “based on” a second quantity (e.g., a second variable) it means that the second quantity is an input to the method or influences the first quantity, e.g., the second quantity may be an input (e.g., the only input, or one of several inputs) to a function that calculates the first quantity, or the first quantity may be equal to the second quantity, or the first quantity may be the same as (e.g., stored at the same location or locations in memory as) the second quantity.


It will be understood that, although the terms “first”, “second”, “third”, etc., may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or section from another element, component, region, layer or section. Thus, a first element, component, region, layer or section discussed herein could be termed a second element, component, region, layer or section, without departing from the spirit and scope of the inventive concept.


The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the inventive concept. As used herein, the terms “substantially,” “about,” and similar terms are used as terms of approximation and not as terms of degree, and are intended to account for the inherent deviations in measured or calculated values that would be recognized by those of ordinary skill in the art. As used herein, the singular forms “a” and “an” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. Expressions such as “at least one of,” when preceding a list of elements, modify the entire list of elements and do not modify the individual elements of the list. Further, the use of “may” when describing embodiments of the inventive concept refers to “one or more embodiments of the present disclosure”. Also, the term “exemplary” is intended to refer to an example or illustration. As used herein, the terms “use,” “using,” and “used” may be considered synonymous with the terms “utilize,” “utilizing,” and “utilized,” respectively.


Although exemplary embodiments of low-complexity methods of calculating a precoding matrix for use in MIMO transmission have been specifically described and illustrated herein, many modifications and variations will be apparent to those skilled in the art. Accordingly, it is to be understood that low-complexity methods of calculating a precoding matrix for use in MIMO transmission constructed according to principles of this disclosure may be embodied other than as specifically described herein. The invention is also defined in the following claims, and equivalents thereof.

Claims
  • 1. A method, comprising: calculating a first portion of a first singular value decomposition, based on a first portion of a channel matrix;calculating a second portion of a second singular value decomposition, based on a second portion of the channel matrix;calculating an intermediate matrix, based on: the first portion of the first singular value decomposition andthe second portion of the second singular value decomposition; andcalculating a matrix of approximate right singular vectors, the calculating of the matrix of approximate right singular vectors comprising calculating a product of factors, the factors comprising a first factor based on the conjugate transpose of the intermediate matrix, a second factor based on a unitary matrix, and a third factor based on a diagonal matrix.
  • 2. The method of claim 1, wherein the calculating of the intermediate matrix comprises calculating a row permutation of a matrix, the matrix comprising: the first portion of the first singular value decomposition, andthe second portion of the second singular value decomposition.
  • 3. The method of claim 2, wherein: the first portion of the first singular value decomposition comprises a first singular value matrix and a first right singular vector matrix;the second portion of the first singular value decomposition comprises a second singular value matrix and a second right singular vector matrix;the intermediate matrix comprises a first portion and a second portion;the first portion of the intermediate matrix comprises: a product of a first portion of the first singular value matrix and a first portion of the first right singular vector matrix, anda product of a first portion of the second singular value matrix and a first portion of the second right singular vector matrix; andthe second portion of the intermediate matrix comprises: a product of a second portion of the first singular value matrix and a second portion of the first right singular vector matrix, anda product of a second portion of second first singular value matrix and a second portion of the second right singular vector matrix.
  • 4. The method of claim 3, further comprising: calculating a first eigen decomposition, the first eigen decomposition being an eigen decomposition of the conjugate product of a first portion of the intermediate matrix; andcalculating a second eigen decomposition, the second eigen decomposition being an eigen decomposition of the product of a second portion of the intermediate matrix and the conjugate transpose of the second portion of the intermediate matrix.
  • 5. The method of claim 4, wherein the unitary matrix is based on: a left eigenvector matrix of the first eigen decomposition, anda left eigenvector matrix of the second eigen decomposition.
  • 6. The method of claim 4, wherein the diagonal matrix is based on: eigenvalues of the first eigen decomposition, andeigenvalues of the second eigen decomposition.
  • 7. The method of claim 1, further comprising multiplying a transmitted signal by a precoding matrix, wherein the precoding matrix comprises a right singular vector of the matrix of approximate right singular vectors.
  • 8. A method, comprising: calculating a first eigen decomposition, based on a first portion of a channel matrix;calculating a second eigen decomposition, based on a second portion of the channel matrix;calculating a transformation matrix, based on: a left eigenvector matrix of the first eigen decomposition,a left eigenvector matrix of the second eigen decomposition,eigenvalues of the first eigen decomposition, andeigenvalues of the second eigen decomposition;calculating an eigen decomposition of an intermediate matrix, the intermediate matrix being based on: the transformation matrix, andthe channel matrix; andcalculating a right singular matrix of transformed channel, the calculating of the right singular matrix of transformed channel comprising calculating a product of factors, the factors comprising a first factor based on the conjugate transpose of the intermediate matrix, a second factor based on a unitary matrix, and a third factor based on a diagonal matrix.
  • 9. The method of claim 8 wherein the calculating of the transformation matrix comprises calculating the product of a fourth factor and a fifth factor, wherein: the fourth factor is a block diagonal matrix comprising: the left eigenvector matrix of the first eigen decomposition, andthe left eigenvector matrix of the second eigen decomposition; andthe fifth factor is a first matrix, the first matrix being diagonal and comprising: an eigenvalue matrix of the first eigen decomposition, andan eigenvalue matrix of the second eigen decomposition.
  • 10. The method of claim 8, further comprising calculating the unitary matrix, the calculating of the unitary matrix comprising calculating a singular value decomposition of an off-diagonal block of the conjugate product of the intermediate matrix, to form a first left singular vector matrix and a singular value matrix.
  • 11. The method of claim 10, further comprising calculating the unitary matrix, wherein a first block of the unitary matrix is the first left singular vector matrix; anda second block of the unitary matrix is the product of: the conjugate transpose of the off-diagonal block of the conjugate product of the intermediate matrix,the first left singular vector matrix, andthe inverse of the singular value matrix.
  • 12. The method of claim 8, wherein: the first factor is the conjugate transpose of the intermediate matrix,the second factor is the left eigenvector matrix of the eigen decomposition of the conjugate product of the intermediate matrix, andthe diagonal matrix is the square root of an eigenvalue matrix of the eigen decomposition of the conjugate product of the intermediate matrix.
  • 13. The method of claim 8, further comprising multiplying a transmitted signal by a precoding matrix, wherein the precoding matrix is the right singular matrix of transformed channel.
  • 14. A system comprising: a processing circuit;a transmitter; anda plurality of antennas,the processing circuit being configured to: calculate a first portion of a first singular value decomposition, based on a first portion of a channel matrix;calculate a second portion of a second singular value decomposition, based on a second portion of the channel matrix;calculate an intermediate matrix, based on: the first portion of the first singular value decomposition andthe second portion of the second singular value decomposition; andcalculate a matrix of approximate right singular vectors, the calculating of the matrix of approximate right singular vectors comprising calculating a product of factors, the factors comprising first factor based on the conjugate transpose of the intermediate matrix, a second factor based on a unitary matrix, and a third factor based on a diagonal matrix.
  • 15. The system of claim 14, wherein the calculating of the intermediate matrix comprises calculating a row permutation of a matrix, the matrix comprising: the first portion of the first singular value decomposition, andthe second portion of the second singular value decomposition.
  • 16. The system of claim 15, wherein: the first portion of the first singular value decomposition comprises a first singular value matrix and a first right singular vector matrix;the second portion of the first singular value decomposition comprises a second singular value matrix and a second right singular vector matrix;the intermediate matrix comprises a first portion and a second portion;the first portion of the intermediate matrix comprises: a product of a first portion of the first singular value matrix and a first portion of the first right singular vector matrix, anda product of a first portion of the second singular value matrix and a first portion of the second right singular vector matrix; andthe second portion of the intermediate matrix comprises: a product of a second portion of the first singular value matrix and a second portion of the first right singular vector matrix, anda product of a second portion of second first singular value matrix and a second portion of the second right singular vector matrix.
  • 17. The system of claim 14, wherein the processing circuit is further configured to: calculate a first eigen decomposition, the first eigen decomposition being an eigen decomposition of the conjugate product of a first portion of the intermediate matrix; andcalculate a second eigen decomposition, the second eigen decomposition being an eigen decomposition of the product of a second portion of the intermediate matrix and the conjugate transpose of the second portion of the intermediate matrix.
  • 18. The system of claim 17, wherein the unitary matrix is based on: a left eigenvector matrix of the first eigen decomposition, anda left eigenvector matrix of the second eigen decomposition.
  • 19. The system of claim 17, wherein the diagonal matrix is based on: eigenvalues of the first eigen decomposition, andeigenvalues of the second eigen decomposition.
  • 20. The system of claim 14, wherein the processing circuit is further configured to multiply a transmitted signal by a precoding matrix, wherein the precoding matrix comprises a right singular vector of the matrix of approximate right singular vectors.
CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application claims priority to and the benefit of U.S. Provisional Application No. 63/059,699, filed Jul. 31, 2020, entitled “Low Complexity Algorithms for Precoding Matrix Calculation”, the entire content of which is incorporated herein by reference.

US Referenced Citations (20)
Number Name Date Kind
6498581 Yu Dec 2002 B1
6567034 Yu May 2003 B1
6801161 Lehtomaki et al. Oct 2004 B2
7443925 Mehta et al. Oct 2008 B2
7881247 Pan et al. Feb 2011 B2
8014265 Sarkar et al. Sep 2011 B2
9148205 Bhattad et al. Sep 2015 B2
9319197 Sahin et al. Apr 2016 B2
9401750 Sayana et al. Jul 2016 B2
9893777 Onggosanusi et al. Feb 2018 B2
10348380 Qi Jul 2019 B1
10560169 Yang et al. Feb 2020 B2
10651905 Zhan et al. May 2020 B1
20090285325 Zhou Nov 2009 A1
20100111213 Zhan May 2010 A1
20130287131 Hart Oct 2013 A1
20150372733 Kim Dec 2015 A1
20190109832 Shattil Apr 2019 A1
20190207661 Olsson et al. Jul 2019 A1
20190341976 Nam et al. Nov 2019 A1
Foreign Referenced Citations (1)
Number Date Country
WO 2020082244 Apr 2020 WO
Non-Patent Literature Citations (5)
Entry
Martinian, E., “Waterfilling Gains O(1/SNR) at High SNR”, Semantic Scholar, 2009, pp. 1-3.
Mitra, R. et al., “Precoded Chebyshev-NLMS based pre-distorter for nonlinear LED compensation in NOMA-VLC”, arXiv:1706.05309v1, Jun. 16, 2017, pp. 1-32.
Qiao, X. et al., “Eigen Decomposition-Based Hybrid Precoding for Millimeter Wave MIMO Systems With Low-Resolution ADCs/DACs”, IEEE Xplore, Oct. 23, 2019, pp. 1-6.
Sikri, A. et al., “Precoding for Generalized Frequency Division Multiplexing with Linear Receivers”, IEEEXplore, Octobers, 2017, 5 pages, IEEE.
Telatar, I. E., “Capacity of Multi-antenna Gaussian Channels”, Sep. 12, 2008, pp. 1-28, http://web.mit.edu/18.325/www/telatar_capacity.pdf.
Provisional Applications (1)
Number Date Country
63059699 Jul 2020 US