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.
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.
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.
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:
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.
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∈2N×N
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:
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, U2∈N×N and
Λi=diag([σi1, . . . ,σiN])∈N×N,i=1,2 (2-4)
Vi=[vi1, . . . ,viN]∈N
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
A permutation matrix R may be defined as follows.
where IN/2 and ON/2 denote identity and all zero matrices of size
respectively. Given that RR=I2N, (2-6) can be written as
where the intermediate matrix M is
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:
Then
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),
is unitary. To calculate right singular vectors of H, it is sufficient to calculate right singular vectors of M∈2N×N
The SVD of M may be approximated with two rank N SVDs. Defining
two rank N eigen decompositions (EDs), of M1M1H and M2M2H, may be calculated, as
M1M1H=UM
M2M2H=UM
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., UM
An approximate intermediate matrix M may then be defined such that
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
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
with
where
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
The SVD of H∈2N×N
In summary:
1.
is an estimate of left singular vectors of H
2.
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
The estimated right singular vectors in {circumflex over (V)}H may not be mutually orthogonal because the eigenvectors of MMH∈2N×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)}∈N
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∈2N×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∈2N×N
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ΣH∈2N×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∈2N×N
H1H1H=U1Σ1U1H (2-28)
H2H2H=U2Σ2U2H (2-29)
where U1, U2∈N×N and Σi=diag([λi1, . . . , λiN])∈N×N, i=1, 2. Defining
the matrix Q may be chosen according to
An intermediate matrix {tilde over (P)} may then be defined as follows:
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:
where
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 DDH∈N×N. Denoting
where x1, x2∈N, as an eigenvector of {tilde over (P)}{tilde over (P)}H corresponding to eigenvalue of A, it follows that
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
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
Denoting the SVD of D∈N×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
and
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
and, according to the theorem above, V{tilde over (P)}=VHT.
The transformed SVD method may be performed according to the table of
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 H1H1∈N×N, H2H2H∈N×N and D∈N×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]∈N
where V1∈N
If N is even, then, denoting {tilde over (V)}1∈N
{tilde over (V)}1=V1T1 (2-47)
{tilde over (V)}2=V2T2 (2-48)
for some unitary matrix T1, T2∈N×N. Replacing V1 by {tilde over (V)}1 and V2 by {tilde over (V)}2, the matrix {hacek over (P)} is defined:
It may be seen that the SVD of {hacek over (P)}{hacek over (P)}H∈2N×2N can be derived based on the actual SVD of Ď, where
Ď={tilde over (V)}1H{tilde over (V)}2∈N×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)}1∈N
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
Hρ=HC(ρ)∈N
Each of
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.
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.
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 |
Number | Date | Country |
---|---|---|
WO 2020082244 | Apr 2020 | WO |
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. |
Number | Date | Country | |
---|---|---|---|
63059699 | Jul 2020 | US |