METHOD AND APPARATUS FOR SINGULAR VALUE DECOMPOSITION OF A CHANNEL MATRIX
A method and apparatus for decomposing a channel matrix in a wireless communication system are disclosed. A channel matrix H is generated for channels between transmit antennas and receive antennas. A Hermitian matrix A=HHH or A=HHH is created. A Jacobi process is cyclically performed on the matrix A to obtain Q and DA matrixes such that A=QDAQH. DA is a diagonal matrix obtained by singular value decomposition (SVD) on the A matrix. In each Jacobi transformation, real part diagonalization is performed to annihilate real parts of offdiagonal elements of the matrix and imaginary part diagonalization is performed to annihilate imaginary parts of offdiagonal elements of the matrix after the real part diagonalization. U, V and DH matrixes of H matrix are then calculated from the Q and DA matrices. DH is a diagonal matrix comprising singular values of the H matrix.
Latest INTERDIGITAL TECHNOLOGY CORPORATION Patents:
 FEEDBACK SIGNALING ERROR DETECTION AND CHECKING IN MIMO WIRELESS COMMUNICATION SYSTEMS
 Method and apparatus for transmission management in a wireless communication system
 Combined open loop/closed loop method for controlling uplink power of a mobile station
 Method and system for event pattern guided mobile content services
 METHOD AND APPARATUS FOR COOPERATIVE WIRELESS COMMUNICATIONS
This application is a continuation of U.S. Pat. No. 8,249,186 that issued on Aug. 21, 2012, which is a continuation of U.S. Pat. No. 7,602,855 that issued Oct. 13, 2009, which claims the benefit of U.S. Provisional Application No. 60/667,326 filed Apr. 1, 2005, all of which are incorporated by reference as if fully set forth.
FIELD OF INVENTIONThe present invention is related to a wireless communication system. More particularly, the present invention is related to a method and apparatus for singular value decomposition (SVD) of a channel matrix.
BACKGROUNDOrthogonal frequency division multiplexing (OFDM) is a data transmission scheme where data is split into a plurality of smaller streams and each stream is transmitted using a subcarrier with a smaller bandwidth than the total available transmission bandwidth. The efficiency of OFDM depends on choosing these subcarriers orthogonal to each other. The subcarriers do not interfere with each other while each carrying a portion of the total user data.
An OFDM system has advantages over other wireless communication systems. When the user data is split into streams carried by different subcarriers, the effective data rate on each subcarrier is much smaller. Therefore, the symbol duration is much larger. A large symbol duration can tolerate larger delay spreads. Thus, it is not affected by multipath as severely. Therefore, OFDM symbols can tolerate delay spreads without complicated receiver designs. However, typical wireless systems need complex channel equalization schemes to combat multipath fading.
Another advantage of OFDM is that the generation of orthogonal subcarriers at the transmitter and receiver can be done by using inverse fast Fourier transform (IFFT) and fast Fourier transform (FFT) engines. Since the IFFT and FFT implementations are well known, OFDM can be implemented easily and does not require complicated receivers.
Multipleinput multipleoutput (MIMO) refers to a type of wireless transmission and reception scheme where both a transmitter and a receiver employ more than one antenna. A MIMO system takes advantage of the spatial diversity or spatial multiplexing and improves signaltonoise ratio (SNR) and increases throughput.
Generally there are two modes of operation for MIMO systems: an open loop mode and a closed loop mode. The closed loop mode is used when channel state information (CSI) is available to the transmitter and the open loop is used when CSI is not available at the transmitter. In the closed loop mode, CSI is used to create virtually independent channels by decomposing and diagonalizing the channel matrix by precoding at the transmitter and further antenna processing at the receiver. The CSI can be obtained at the transmitter either by feedback from the receiver or through exploiting channel reciprocity.
A minimum mean square error (MMSE) receiver for open loop MIMO needs to compute weight vectors for data decoding and the convergence rate of the weight vectors is important. A direct matrix inversion (DMI) technique of correlation matrix converges more rapidly than a least mean square (LMS) or maximum SNR processes. However, the complexity of the DMI process increases exponentially as the matrix size increases. An eigenbeamforming receiver for the closed loop MIMO needs to perform SVD on the channel matrix. The complexity of the SVD processes also increases exponentially as the channel matrix size increases.
SUMMARYThe present invention is related to a method and apparatus for decomposing a channel matrix in a wireless communication system including a transmitter having a plurality of transmit antennas and a receiver having a plurality of receive antennas. A channel matrix H is generated for channels between the transmit antennas and the receive antennas. A Hermitian matrix A=H^{H}H or A=HH^{H }is created. A Jacobi process is cyclically performed on the matrix A to obtain Q and D_{A }matrices such that A=QD_{A}Q^{H}, where D_{A }is a diagonal matrix obtained by SVD of the matrix A. In each Jacobi transformation, real part diagonalization is performed to annihilate real parts of offdiagonal elements of the matrix and imaginary part diagonalization is performed to annihilate imaginary parts of offdiagonal elements of the matrix after the real part diagonalization. U, V and D_{H }matrixes of H matrix, (D_{H }is a diagonal matrix comprising singular values of the matrix H), is then calculated from the Q and D_{A }matrices.
The features of the present invention may be incorporated into an integrated circuit (IC) or be configured in a circuit comprising a multitude of interconnecting components.
The present invention provides means for channel estimation, direct inversion of channel correlation matrix in an MMSE receiver and SVD for an eigen beamforming receiver.
The receiver 200 includes a plurality of receive antennas 202, CP removal units 204, FFT units 206, a receive beamformer 208, a multiplexer 210, a channel decoder 212, a channel estimator 214 and a matrix decomposition and channel correlation matrix unit 216. The CP is removed from received signals 203 by the CP removal units 204 and processed by the FFT units 206 to be converted to frequencydomain data streams 207. The receive beamformer 208 processes the frequencydomain data streams 207 with U and D matrices 217 decomposed from the channel matrix, which is generated by the matrix decomposition and channel correlation matrix unit 216. Each output 209 of the receive beamformer 208 is then multiplexed by the multiplexer 210 and decoded by the channel decoder 212, which generates a decoded data stream 218. The channel estimator 214 generates a channel matrix 215 preferably from training sequences transmitted by the transmitter 100 via each transmit antenna 114. The matrix decomposition and channel correlation matrix unit 216 decomposes the channel matrix into U, V and D matrices and sends the V matrix 220 to the transmitter 100 and sends the U and D matrices 217 to the receive beamformer 208, which will be explained in detail hereinafter.
The present invention reduces the complexity of both DMI and SVD processes using the characteristics of Hermitian matrix and imaginary part diagonalization. The present invention reduces the complexity significantly over the prior art and, for asymmetric matrices, provides a saving in terms of complexity that is much larger than is provided in the prior art.
The following definition will be used throughout the present invention.
Nt is the number of transmit antennas.
Nr is the number of receive antennas.
s(i) is the ith (Nt×1) training vector of a subcarrier.
v(i) is the ith (Nr×1) receive noise vector with v(i)˜Nc(0,1).
y(i) is the ith (Nr×1) received training vector of a subcarrier.
H is the (Nr×Nt) MIMO channel matrix with h_{ij }representing the complex gain of the channel between the jth transmit antenna and the ith receive antenna.
The received signals corresponding to the training symbols are as follows:
for T≧Nt MIMO training symbols. ρ is a total SNR which is independent from the number of transmit antennas.
By denoting Y=[y(1), y(2), . . . , y(T)], S=[s(1), s(2), s(T)} and V=[v(1), v(2), . . . , v(T)] for a subcarrier, Equation (1) can be rewritten as follows:
The maximum likelihood estimate of the channel matrix H for a subcarrier is given by:
where the superscript H represents Hermitian transpose and S is a training symbol sequence. It is assumed that the transmitted training symbols are unitary power, E{s_{i}^{2}}=1.
As an alternative to the maximum likelihood channel estimate, linear minimum mean square error (MMSE) channel estimate is given by:
Since S is known, SS^{H }can be computed offline. If the training symbol sequence S satisfies SS^{H}=T·I_{Nt }where I_{Nt }is the Nt×Nt identity matrix, the training symbol sequence S is optimal. For example, according to the HTLTF pattern for 4 antennas in IEEE 802.11 specification, the training symbol sequence for the subcarrier number (−26),
is optimal since
The inputoutput relationship of a MIMO system can be expressed as follows:
where s=[s_{1}, s_{2}, . . . , s_{Nt}]^{T }is the Nt×1 transmit signal vector with s_{i }belonging to a finite constellation, v=[v_{1}, v_{2}, . . . , v_{Nr}]^{T }is the Nr×1 receive white Gaussian noise vector. H is the Nt×Nr MIMO channel matrix with h_{ij }representing the complex gain of the channel between the jth transmit antenna and the ith receive antenna. Then the data decoding process based on the MMSE is given by:
A matrix inversion process for a 2×2 matrix is explained hereinafter.
Direct computation for inverse of 2×2 Hermitian matrix R.
A Hermitian matrix R in Equation (6) and its inverse matrix T are defined as
The diagonal elements (R_{11 }and R_{22}) of the Hermitian matrix R are real and its offdiagonal elements (R_{12 }and R_{21}) are conjugate symmetric. The inverse matrix T is also Hermitian. Since RT=I where I is a 2×2 identity matrix, the inverse matrix T is obtained by expanding the lefthand side and equating the respective terms with I as follows:
Computing the inverse of 2×2 Hermitian matrix R using Eigenvalue Decomposition.
A Hermitian matrix R in Equation (6) is defined as follows: R=QDQ^{H }where Q is unitary and D is diagonal.
where D_{11 }and D_{22 }are eigenvalues of R.
The eigenvalues D_{11 }and D_{22 }are computed as follows:
From RQ=QD, expanding the lefthand and the righthand sides and equating the respective terms, the following equations are obtained:
R_{11}Q_{11}+R_{12}Q_{21}=Q_{11}D_{11}; Equation (10)
R_{11}Q_{2}+R_{12}Q_{22}=Q_{12}D_{22}; Equation (11)
R_{12}^{H}Q_{11}+R_{22}Q_{21}=Q_{21}D_{11}; Equation (12)
R_{12}^{H}Q_{12}+R_{22}Q_{22}=Q_{22}D_{22}. Equation (13)
From Q^{H}Q=I where I is the 2×2 identity matrix, expanding the lefthand and the righthand sides and equating the respective terms, the following equations are obtained:
Q_{11}^{H}Q_{11}+Q_{21}^{H}Q_{21}=1; Equation (14)
Q_{11}^{H}Q_{12}+Q_{21}^{H}Q_{22}=0; Equation (15)
Q_{11}^{H}Q_{11}+Q_{22}^{H}Q_{21}=0 Equation (16)
Q_{12}^{H}Q_{12}+Q_{22}^{H}Q_{22}=1 Equation (17)
From Equation (10),
Substituting Equation (18) to Equation (14),
Substituting Equation (19) to Equation (18), Q_{21 }is obtained. From Equation (13),
Substituting Equation (20) to Equation (17),
Substituting Equation (21) to Equation (20), Q_{22 }is obtained. Then the inverse matrix is obtained by:
R^{−1}=QD^{−1}Q^{H}, Equation (22)
Eigen beamforming receiver using SVD, which is shown in
H=UDV^{H}; Equation (23)
where U and V are unitary matrices and D is a diagonal matrix. UεC^{nR×nR }and VεC^{nT×nT}. For transmit symbol vector s, the transmit precoding is performed as follows:
x=Vs. Equation (24)
The received signal becomes as follows:
y=HVs+n; Equation (25)
where n is the noise introduced in the channel. The receiver completes the decomposition by using a matched filter as follows:
V^{H}H^{H}=V^{H}VD^{H}U^{H}=D^{H}U^{H} Equation (26)
After normalizing for channel gain for eigenbeams, the estimate of the transmit symbols s becomes as follows:
s is detected without having to perform successive interference cancellation of MMSE type detector. D^{H}D is a diagonal matrix that is formed by eigenvalues of H across the diagonal. Therefore, the normalization factor α=D^{−2}. U is a matrix of eigenvectors of HH^{H}, V is a matrix of eigenvectors of H^{H}H and D is a diagonal matrix of singular values of H (square roots of eigenvalues of HH^{H}).
An SVD process for N×M channel matrix for N>2 and M>2.
The following SVD computation, (Equations (28) through (52)), is based upon cyclic Jacobi process using Givens rotation. The twosided Jacobi process is explained hereinafter.
Step 1: complex data is converted to real data.
A 2×2 complex matrix is given as follows:
Step 11: a_{ii }is converted to a positive real number b_{11 }as follows:
If (a_{11 }is equal to zero) then

 where
and a_{11}=√{square root over (real(a_{11})^{2}+imag(a_{11})^{2})}{square root over (real(a_{11})^{2}+imag(a_{11})^{2})}.
Step 12: Triangularization. The matrix B is then converted to a triangular matrix W by multiplying a transformation matrix CSTriangle as follows:
If (a_{ij }or a_{ji }is equal to zero and a_{jj }is equal to zero) then

 where the cosine parameter c is real, s is complex and c^{2}+s^{2}=1
 Then
Step 13: Phase cancellation. To convert the elements of the triangular matrix W to real numbers, transformation matrices prePhC and postPhC are multiplied to the matrix Was follows:
If (a_{ij }and a_{jj }are equal to zero and a_{ji }is not equal to zero) then
else if (a_{ij }is not equal to zero) then

 where β=arg(w_{ij}) and γ=arg(w_{jj}), i.e.,

 and
 If (a_{jj }is equal to zero)
 and
e^{−jγ}=1; Equation (38)
else
Step 2: Symmetrization—a symmetrizing rotation is applied if the matrix realW is not a symmetric matrix. If the matrix realW is symmetric, this step is skipped.
If (a_{ji }is equal to zero and a_{jj }is equal to zero) then

 where s_{ji}=s_{ij }and c^{2}+s^{2}=1.
By expanding the lefthand side and equating terms,
Step 3: Diagonalization—a diagonalizing rotation is applied to annihilate offdiagonal elements in the matrix symW (or realW).
If (a_{ij }is equal to zero and a_{jj }is equal to zero) then

 where c^{2}+s^{2}=1.
By expanding the lefthand side and equating the respective offdiagonal terms,
For inner rotation,
For outer rotation,
Step 4: Fusion of rotation matrices to generate U and V matrices. U and V matrices are obtained as follows:
A=UDV^{H}. Equation (50)
U=[k(diagM)^{H}(symM)^{H}(prePhC)(CSTriangle)]^{H}. Equation (51)
V=(postPhC)(diagM). Equation (52)
Cyclic generalized Jacobi process for an M×M square matrix.
In order to annihilate the offdiagonal elements, (i.e., (i,j) and (j,i) elements), of A, the procedures described hereinabove are applied to the M×M matrix A for a total of m=M(M−1)/2 different index pairs in some fixed order. Such a sequence of m transformation is called a sweep. The construction of a sweep may be cyclic by rows or cyclic by columns. In either case, a new matrix A is obtained after each sweep, for which
for j≠i is computed. If off(A)≦δ, the computation stops. δ is a small number dependent on computational accuracy. Otherwise, the computation is repeated.
Cyclic generalized Jacobi process for an N×M rectangular matrix.
If the dimension N of matrix A is greater than M, a square matrix is generated by appending (NM) columns of zeros to A. The augmented square matrix B=A 0. Then the procedures described hereinabove are applied to B.
The desired factorization of the original data matrix A is obtained by:
U^{T}AV=diag(λ_{1},λ_{2}, . . . , λ_{M}). Equation (54)
If the dimension M of matrix A is greater than N, a square matrix is generated by adding (MN) rows of zeros to A as follows:
Then the procedures described hereinabove are applied to B.
The desired factorization of the original data matrix A is obtained by:
U^{T}AV=diag(λ_{1},λ_{2}, . . . ,λ_{N}). Equation (57)
Hereinafter, the SVD process in accordance with the present invention is explained with reference to
The step 206 for performing SVD on the A matrix is explained hereinafter. A 2×2 Hermitian matrix symW is defined from the matrix A as follows:
where a_{ii}, a_{ij}, a_{ji}, a_{jj}, b_{ij}, and b_{ji }are real numbers and a_{ij}=a_{ji }and b_{ij}=b_{ji}. The matrix symW is generated from the matrix A for each Jacobi transformation as in the prior art method.
Real part diagonalization is performed on the matrix symW. Real parts of offdiagonal elements of the matrix symW are annihilated by multiplying transformation matrices (diagRM)^{T }and diagRM to the matrix symW as follows:
where r_{ii }and r_{ij}; are real numbers, b_{ij}=b_{ji }and c^{2}+s^{2}=1.
By expanding the lefthand side and equating the respective offdiagonal real terms, following equations are obtained.
where t^{2}+2ζt−1=0.
For inner rotation,
For outer rotation,
Then,
Imaginary part diagonalization is then performed. Imaginary parts of offdiagonal elements are annihilated by multiplying transformation matrices (diagIM)^{T }and diagIM to the matrix obtained by real part diagonalization as follows:
where c, s, r_{ii}, r_{jj}, b_{ij}, b_{ji}, d_{ii}, and d_{jj }are real numbers, b_{ij}=b_{ji}, and c^{2}+s^{2}=1.
By expanding the lefthand side and equating the respective offdiagonal terms, the following equations are obtained.
If y>threshold (e.g., =0.0001), then
The threshold is some small machine dependant number.
The transformation matrices for the real part diagonalization and the imaginary part diagonalization are then combined to calculate U and V matrices as follows:
A=UD_{A}V^{H}; Equation (71)
U=[(diagIM)^{H}(diagRM)^{H}]^{H}; Equation (72)
V=(diagRM)(diagIM). Equation (73)
In order to annihilate the offdiagonal elements, (i.e., (i,j) and (j,i) elements), of A, the foregoing procedures are applied to the M×M matrix A where M=min(Nr, Nt) for a total of m=M(M−1)/2 different index pairs in some fixed order. A new matrix A is obtained after each step, for which
for j≠i is computed.
If off(A)≦δ, where δ is some small machine dependent number, the computation stops. Otherwise, the computation is repeated.
Once the SVD of the matrix A is completed, the U matrix, the V matrix and the D_{H }matrix of the H matrix are calculated from the Q matrix and the D_{A }matrix at step 208 as follows:
From Equations (72) and (73), U=V and A matrix can be written as: A=QD_{A}Q^{H}. When Nr≧Nt, since Q is equal to V, for H=UD_{H}V^{H }and D_{A}=Q^{H}AQ=Q^{H}H^{H}HQ=Q^{H}VD_{H}U^{H}UD_{H}V^{H}Q=D_{H}U^{H}UD_{H}=D_{H}D_{H}, the D_{A}=D_{H}D_{H}, (i.e., D_{H}=sqrt(D_{A})). Then, U, V and D_{H }matrices are obtained as follows: U=HV(D_{H})^{−1 }where V=Q and D_{H}=sqrt(D_{A}).
When Nt>Nr, since Q is equal to U, for H=UD_{H}V^{H }and D_{A}=Q^{H}AQ=Q^{H}HH^{H}Q=Q^{H}UD_{H}V^{H}VD_{H}U^{H}Q=D_{H}V^{H}VD_{H}=D_{H}D_{H}, D_{A}=D_{H}D_{H}, (i.e., D_{H}=sqrt(D_{A})). Then, U, V and D_{H }matrices are obtained as follows: V=H^{H}U(D_{H})^{−1 }where U=Q and D_{H}=sqrt(D_{A}).
Although the features and elements of the present invention are described in the preferred embodiments in particular combinations, each feature or element can be used alone without the other features and elements of the preferred embodiments or in various combinations with or without other features and elements of the present invention.
Claims
1. A method for decoding data using singular value decomposition (SVD) in a multipleinput multipleoutput (MIMO) wireless communication system, the method comprising:
 generating a channel matrix H;
 creating a Hermitian matrix A from the matrix H; and,
 applying a twosided Jacobi process cyclically to the matrix A using eigen value decomposition (EVD).
2. The method of claim 1 wherein the step (c) comprising:
 performing real part diagonalization of the matrix A;
 performing imaginary part diagonalization of the matrix A; and,
 performing fusion of rotation matrices.
3. A receiver for decoding data using singular value decomposition (SVD) in a multipleinput multipleoutput (MIMO) wireless communication system, the receiver comprising:
 means for generating a channel matrix H;
 means for creating a Hermitian matrix A from the matrix H; and,
 means for applying a twosided Jacobi process cyclically to the matrix A using eigen value decomposition (EVD).
4. The receiver of claim 3 wherein the means for applying a twosided Jacobi process perform real part diagonalization of the matrix A, imaginary part diagonalization of the matrix A and fusion of rotation matrices.
Type: Application
Filed: Aug 13, 2012
Publication Date: Dec 6, 2012
Applicant: INTERDIGITAL TECHNOLOGY CORPORATION (Wilmington, DE)
Inventors: ChangSoo Koo (Melville, NY), Robert Lind Olesen (Huntington, NY)
Application Number: 13/584,338
International Classification: H04L 27/06 (20060101);