A method for computing a factor matrix of an inversion of a matrix, wherein the method comprises the steps of: computing a factor matrix of an inversion of a sub-matrix of a matrix, and recursively obtaining the factor matrix of the inversion of the matrix by using the matrix and the computed factor matrix of the inversion of the sub-matrix of the matrix; and an apparatus for computing the factor matrix of the inversion of a matrix, which can reduce the computational complexity in the signal detection and matrix decomposition and can be implemented with hardware easily.
|
22. An apparatus for computing factor matrix of an inversion of a matrix, wherein the apparatus comprises: a matrix input unit, a first unit and a second unit;
the matrix input unit is configured to receive and record the matrix;
the first unit is configured to compute factor matrix of an inversion of a sub-matrix of the matrix;
the second unit is configured to recursively obtain and output the factor matrix of the inversion of the matrix by using the matrix and the computed factor matrix of the inversion of the sub-matrix of the matrix.
1. A method for signal detection in a digital wireless communication system with multiple antennas, wherein at least two transmitted signals are detected in a multiple input multiple output system, the transmitted signals are transmitted from distinct transmitting antennas at a transmitting end and arrive at a receiving end after passing through a channel, wherein, the method comprises the steps of:
receiving the transmitted signals from at least two receiving antennas at the receiving end, and acquiring a channel matrix h composed of channel coefficients between the transmitting and receiving antennas;
computing a factor matrix of an estimate error covariance matrix for a part of all the transmitted signals by using the channel matrix h, and recursively obtaining a factor matrix of an estimate error covariance matrix for a number of transmitted signals by using the channel matrix h and the computed factor matrix of the estimate error covariance matrix for the part of transmitted signals, wherein the number of transmitted signals include the part of transmitted signals and are of a greater number than the part of transmitted signals;
detecting the number of transmitted signals, which include the part of transmitted signals and are of a greater number than the part of transmitted signals, by using the obtained factor matrix.
21. An apparatus for signal detection in a digital wireless communication system with multiple antennas, wherein, the apparatus comprises: a signal receiving unit, a channel matrix acquiring unit, a recursion unit for obtaining a factor matrix of an estimate error covariance matrix and a signal detection unit; wherein
the signal receiving unit is configured to receive transmitted signals transmitted from a transmitting end, and send the transmitted signals to the channel matrix acquiring unit and the signal detection unit;
the channel matrix acquiring unit is configured to acquire a channel matrix and send the channel matrix to the recursion unit for obtaining a factor matrix of an estimate error covariance matrix;
the recursion unit for obtaining a factor matrix of an estimate error covariance matrix is configured to compute a factor matrix of an estimate error covariance matrix for a part of all the transmitted signals by using the channel matrix; and recursively obtain a factor matrix of an estimate error covariance matrix for a number of transmitted signals by using the channel matrix and the computed factor matrix of the estimate error covariance matrix for the part of transmitted signals, wherein the number of transmitted signals include the part of transmitted signals and are of a greater number than the part of transmitted signals; and send the obtained factor matrix to the signal detection unit; and
the signal detection unit is configured to detect the number of transmitted signals that include the part of transmitted signals and are of a greater number than the part of transmitted signals, by using the obtained factor matrix.
2. The method of
the number of transmitted signals, which include the part of transmitted signals and are of a greater number than the part of transmitted signals, are all of the transmitted signals.
3. The method of
4. The method of
setting a detection ordering for detecting the at least two transmitted signals at the receiving end;
wherein, the step of computing the factor matrix of the estimate error covariance matrix for the part of all the transmitted signals by using the channel matrix is a step of:
computing a factor matrix of an estimate error covariance matrix for a first number of transmitted signals that are last detected according to the detection ordering, by using a channel matrix corresponding to the first number of transmitted signals that are last detected;
setting a second number for recursively obtaining the factor matrix of the estimate error covariance matrix for the transmitted signals to be detected, wherein the second number is larger than the first number;
the step of recursively obtaining the factor matrix comprises the step of:
recursively obtaining the factor matrix of the estimate error covariance matrix for the second number of transmitted signals that are last detected according to the detection ordering, by using the channel matrix corresponding to the second number of transmitted signals that are last detected and using the factor matrix of the estimate error covariance matrix for the first number of transmitted signals that are last detected as a sub-matrix;
ending this step if the factor matrix of the estimate error covariance matrix for all the transmitted signals that are detected are obtained, otherwise, returning back and executing the recursively obtaining step after assigning the second number to the first number and incrementing the second number by 1 or an integer lager than 1.
5. The method of
setting a detection ordering for detecting the at least two transmitted signals at the receiving end; wherein,
the step of computing the factor matrix of the estimate error covariance matrix for the part of all the transmitted signals by using the channel matrix is a step of computing the factor matrix of the estimate error covariance matrix for one of the transmitted signals that is last detected according to the detection ordering, by using the channel matrix corresponding to the one of the transmitted signals that are last detected;
the step of recursively obtaining the factor matrix comprises the steps of:
recursively obtaining the factor matrix of the estimate error covariance matrix for m transmitted signals that are last detected according to the detection ordering, by using the channel matrix corresponding to the m transmitted signals that are last detected and using factor matrix of an estimate error covariance matrix for m−1 transmitted signals that are last detected, as a sub-matrix;
ending this step if the factor matrix of the estimate error covariance matrix for all the transmitted signals that are detected are obtained, otherwise, returning back and executing the recursively obtaining step after incrementing m by 1,
wherein the initial value of m is set to 2.
6. The method of
the number of the transmitting antennas is M and that of the receiving antennas is N, M transmitted signals are transmitted from the M distinct transmitting antennas respectively;
the step of setting the detection ordering for detecting the at least two transmitted signals comprises: renumbering the M transmitted signals transmitted from the respective transmitting antennas to obtain the detection ordering, which is represented by a sequence of the transmitted signals as tM, tM−1, . . . , tm, . . . , t2, t1;
the step of computing the factor matrix of the estimate error covariance matrix for the one of the transmitted signals that is last detected comprises steps of:
obtaining an inversion R(t
obtaining the factor matrix of the estimate error covariance matrix for the transmitted signal t1 according to a relationship between the factor matrix of the estimate error covariance matrix for the transmitted signal t1 and the inversion R(t
the recursively obtaining step comprises steps of:
obtaining a part of entries, which are not included in R(t
recursively obtaining the factor matrix of the estimate error covariance matrix for the m transmitted signals, according to a relationship between the factor matrix of the estimate error covariance matrix for the m transmitted signals and R(t
ending this step if the factor matrix of the estimate error covariance matrix for the M transmitted signals that are detected are obtained, otherwise, returning back and executing the recursively obtaining step after incrementing m by 1;
wherein, h:t
7. The method of
R(t
the part of entries of R(t
the recursively obtained factor matrix of the estimate error covariance matrix for the m transmitted signals is a matrix obtained by adding a row and a column to the factor matrix of the estimate error covariance matrix for the m−1 transmitted signals.
8. The method of
the factor matrix is a square root matrix and the product of the square root matrix and its conjugate transposition is the estimate error covariance matrix;
the matrix obtained by adding a row and a column to the factor matrix of the estimate error covariance matrix for the m−1 transmitted signals is obtained by a step of:
adding a row and a column, which are composed of vectors vm−1(t
wherein, P(t
is derived from this equation, vm−1(t
or,
the factor matrices are LDLT factor matrices L and D, a product of the matrix L with the matrix D as well as the conjugate transposition of L is the estimate error covariance matrix;
the matrix obtained by adding a row and a column to the factor matrix of the estimate error covariance matrix for the m−1 transmitted signals are obtained by a step of:
adding a row and a column, which are composed of vectors μm−1(t
adding an entry
to a diagonal of the factor matrix D(t
as an entry are all zeroes, so as to obtain the factor matrix D(t
wherein, L(m
9. The method of
the factor matrix is a square root matrix and the product of the square root matrix and its conjugate transposition is the estimate error covariance matrix; the square root matrix is a full triangular matrix whose elements above or below its diagonal are all zeroes, or a matrix that is able to be transformed into a full triangular matrix whose elements above or below its diagonal are all zeroes by permuting the rows and columns thereof;
or,
the factor matrices are LDLT factor matrices L and D, a product of the matrix L with the matrix D as well as the conjugate transposition of L is the estimate error covariance matrix; the matrix L is a full triangular matrix whose elements above or below its diagonal are all zeroes, or a matrix that is able to be transformed into a full triangular matrix whose elements above or below its diagonal are all zeroes by permuting the rows and columns thereof, the matrix D is a diagonal matrix whose elements above or below its diagonal are all zeroes, or a matrix that is able to be transformed into a diagonal matrix whose elements above or below its diagonal are all zeroes by permuting the rows and columns thereof.
10. The method of
selecting one transmitted signal being detected from the transmitted signals to be detected, and obtaining an estimate of the transmitted signal being detected by using the obtained factor matrix of the estimate error covariance matrix for all of the transmitted signals, the channel matrix h and the received signals;
computing and canceling the interference, caused by the transmitted signal being detected, on the subsequent transmitted signals to be detected, by using the obtained estimate of the transmitted signal being detected; and
repeating the above detecting step until all the transmitted signals to be detected are detected.
11. The method of
prior to the step of detecting the transmitted signals, the method further comprises a step of performing pre-match filtering on the received signals by using the channel matrix h, and computing correlated channel matrix Φ of the channel matrix h, Φ=Hh·H;
the step of obtaining the estimate of the transmitted signal being detected comprises a step of obtaining the estimate of the transmitted signal being detected by using the factor matrix of the estimate error covariance matrix for the transmitted signals to be detected and the result of the pre-match filtering on the received signals;
the step of computing and canceling the interference comprises: computing the interference, which is caused by the transmitted signal that has been detected, on the subsequent transmitted signals to be detected by using the estimate of the transmitted signal being detected and the correlated channel matrix Φ of the channel matrix h, and canceling the interference, which is caused by the transmitted signal that has been detected, from the result of the pre-match filtering on the received signals, thereby obtaining a modified result of the pre-match filtering on the received signals.
12. The method of
the step of computing the correlated channel matrix Φ of the channel matrix h comprises: computing an inversion R of the estimate error covariance matrix for the transmitted signals by using the channel matrix h, and deriving Φ by using Φ=Hh·H and R=Hh·H+αIM×M.
13. The method of
the step of performing pre-match filtering on the received signals by using the channel matrix h comprises: using the conjugate transposition of the channel matrix h as a pre-match filter for the received signals and obtaining the result of the pre-match filtering by performing pre-match filtering on the vector of the received signals;
the step of obtaining the estimate of the transmitted signal being detected by using the factor matrix of the estimate error covariance matrix for the transmitted signals to be detected and the result of the pre-match filtering on the received signals comprises: computing a nulling vector by using the factor matrix of the estimate error covariance matrix for the transmitted signals to be detected, and multiplying the nulling vector with the result of the pre-match filtering to obtain the estimate of the transmitted signal being detected;
the step of computing and canceling the interference comprises: obtaining the interference, which is caused by the transmitted signal that has been detected, on the subsequent transmitted signals to be detected, according to a product of the estimate of the transmitted signal being detected by a vector composed of the elements of the correlated matrix Φ of the channel matrix that correspond to the transmitted signal being detected; deleting an item corresponding to the transmitted signal that has been detected from the result of the pre-match filtering on the received signals; and obtaining the modified result of the pre-match filtering on the received signals by canceling the interference from the result of the pre-match filtering on the received signals having the item deleted.
14. The method of
the factor matrix is a square root matrix and the product of the square root matrix and its conjugate transposition is the estimate error covariance matrix;
the step of selecting one transmitted signal being detected from the transmitted signals to be detected comprises a step of locating the transmitted signal being detected by using the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected;
the step of computing the nulling vector comprises a step of computing the nulling vector by using the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected.
15. The method of
the factor matrices are LDLT factor matrices L and D, a product of the matrix L with the matrix D as well as the conjugate transposition of matrix L is the estimate error covariance matrix;
prior to the step of detecting the transmitted signals, the method further comprises a step of computing the square root matrix of the estimate error covariance matrix by using the matrices L and D of the obtained estimate error covariance matrix;
the step of selecting one transmitted signal being detected from the transmitted signals to be detected comprises: locating the one transmitted signal being detected by using the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected;
the step of computing the nulling vector comprises: computing the nulling vector by using the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected.
16. The method of
in the step of locating the transmitted signal being detected by using the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected, the transmitted signal being detected is the transmitted signal corresponding to a row vector having the minimum length in the square root matrix of the estimate error covariance matrix of the transmitted signals to be detected;
the step of computing the nulling vector comprises steps of:
determining whether the row vector having the minimum length has only one non-zero entry;
computing the nulling vector by using the only non-zero entry of the row vector having the minimum length and a column vector having the non-zero entry as an entry in the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected, if the row vector having the minimum length has only one non-zero entry;
otherwise, performing orthogonal transformation on the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected, so that the row vector having the minimum length has only one non-zero entry and the remaining entries of the row vector are all zeroes; and computing the nulling vector by using the only non-zero entry of the row vector having the minimum length and the column vector having the non-zero entry as an entry in the orthogonal transformed square root matrix of the estimate error covariance matrix for the transmitted signals to be detected;
after the step of computing and canceling the interference, the method further comprises steps of:
obtaining a sub-matrix by deleting the row vector having the minimum length and a corresponding column vector from the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected, in which the row vector having the minimum length has only one non-zero entry, wherein the corresponding column has the only non-zero entry as an entry; and
taking the sub-matrix as the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected for the next repeated detecting step.
17. The method of
the step of computing the nulling vector by using the only non-zero entry of the row vector having the minimum length and the column vector having the non-zero entry as an entry in the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected comprises: computing a product of the only non-zero entry of the row vector having the minimum length by the conjugate transposition of the column vector having the non-zero entry as an entry in the square root matrix of the estimate error covariance matrix for the transmitted signals to be detected.
18. The method of
the factor matrices are LDLT factor matrices L and D, a product of the matrix L with the matrix D as well as the conjugate transposition of matrix L is the estimate error covariance matrix;
in the step of selecting the transmitted signal being detected from the transmitted signals to be detected, the transmitted signal being detected is the transmitted signal corresponding to the only row vector having only one non-zero entry in the matrix L of the estimate error covariance matrix for the transmitted signals to be detected;
the step of computing the nulling vector comprises a step of computing the nulling vector by using the matrices L and D of the estimate error covariance matrix for the transmitted signals to be detected.
19. The method of
the step of computing the nulling vector by using the matrices L and D comprises: computing a product of a diagonal element of the matrix D that corresponds to the transmitted signal to be detected by a conjugate transposition of a column vector that corresponds to the transmitted signals in the matrix L.
20. The method of
the step in which the transmitted signals are transmitted from distinct transmitting antennas at the transmitting end and arrive at the receiving end after passing through the channel, comprises a step of multiplying a vector composed of the transmitted signals by one or more matrices to obtain a resultant vector, wherein each entry of the resultant vector is transmitted from the distinct transmitting antennas at the transmitting end and arrives at the receiving end after passing through the channel.
23. The apparatus of
the first unit further comprises: an initial sub-matrix acquisition unit and an initial factor matrix computation unit;
the second unit further comprises: a vector and scalar acquisition unit and a recursion unit for obtaining factor matrix;
the initial sub-matrix acquisition unit is configured to acquire initial sub-matrix from the matrix recorded in the matrix input unit and send the initial sub-matrix to the initial factor matrix computation unit;
the initial factor matrix computation unit is configured to compute and send factor matrix of an inversion of the initial sub-matrix to the recursion unit for obtaining factor matrix;
the vector and scalar acquisition unit is configured to acquire scalars and vectors required for the recursion from the matrix input unit and send the acquired scalars and vectors to the recursion unit for obtaining factor matrix;
the recursion unit for obtaining a factor matrix is configured to recursively obtaining the factor matrix of the inversion of the matrix, by using the scalars and vectors received from the vector and scalar acquisition unit, and factor matrix received from the initial factor matrix computation unit or obtained from the last recursion, so as to use the obtained factor matrix for the next recursion or have the obtained factor matrix output.
24. The apparatus of
the recursion control unit is configured to set a recursion variable, use the recursion variable to control the recursion, and send the recursion variable to the vector and scalar acquisition unit and the recursion unit for obtaining a factor matrix;
the vector and scalar acquisition unit is configured to acquire the scalars and vectors for the current recursion according to the recursion variable received from the recursion control unit;
the recursion unit for obtaining a factor matrix is configured to recursively obtain the factor matrix of the inversion of the sub-matrix including the vector and scalar according to the recursion variable received from the recursion control unit.
25. The apparatus of
the initial sub-matrix acquisition unit is configured to acquire a sub-matrix composed of a first number of rows and columns of the matrix;
the initial factor matrix computation unit is configured to compute a factor matrix of the sub-matrix composed of a first number of rows and columns of the matrix;
the vector and scalar acquisition unit is configured to acquire entries, which are not included in the sub-matrix composed of the first number of rows and columns, of a sub-matrix, which is composed of the second number of rows and columns and includes the sub-matrix composed of the first number of rows and columns, and send the acquired entries to the recursion unit for obtaining a factor matrix;
the recursion unit for obtaining a factor matrix is configured to recursively obtain the factor matrix of the sub-matrix composed of the second number of rows and columns of the matrix, by using the acquired entries and taking the last recursively obtained factor matrix of the inversion of the sub-matrix composed of the first number of rows and columns of the matrix as a sub-matrix;
the recursion control unit is configured to set the second number greater than the first number; determine whether the factor matrix of the inversion of the matrix is obtained; control the recursion unit for obtaining a factor matrix to output the result if the factor matrix of the inversion of the matrix is obtained; otherwise, assign the second number to the first number, increment the second number by 1 or an integer lager than 1, and send the first and second numbers to the vector and scalar acquisition unit and the recursion unit for obtaining a factor matrix.
26. The apparatus of
the initial sub-matrix acquisition unit is configured to acquire a sub-matrix composed of one row and one column of the matrix;
the initial factor matrix computation unit is configured to compute a factor matrix of the sub-matrix composed of the one row and one column of the matrix;
the vector and scalar acquisition unit is configured to acquire entries, which are not included in the sub-matrix composed of m−1 rows and m−1 columns, of a sub-matrix, which is composed of m rows and m columns and includes the sub-matrix composed of m−1 rows and m−1 columns, and send the acquired entries to the recursion unit for obtaining a factor matrix;
the recursion unit for obtaining a factor matrix is configured to recursively obtain a factor matrix of the sub-matrix composed of m rows and m columns of the matrix, by using the acquired entries and taking the last recursively obtained factor matrix of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix as a sub-matrix;
the recursion control unit is configured to set a recursion variable having an initial value of 2, determine whether the factor matrix of the inversion of the matrix is obtained, control the recursion unit for obtaining a factor matrix to output the result if the factor matrix of the inversion of the matrix is obtained, otherwise, increment m by 1 and send the number m to the vector and scalar acquisition unit and the recursion unit for obtaining a factor matrix.
27. The apparatus of
the vector and scalar acquisition unit is configured to extract vector Y and scalar λ from the matrix recorded in the matrix input unit.
28. The apparatus of
the initial factor matrix computation unit is configured to compute a square root matrix of the sub-matrix composed of the one row and one column of the matrix;
the recursion unit for obtaining a factor matrix is configured to obtain a square root matrix of the sub-matrix composed of m rows and m columns of the matrix by adding a row and a column, which are composed of a vector ν comprising m−1 entries, a zero vector comprising m−1 entries and a scalar β respectively, to the square root matrix of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix, wherein, an entry at the intersection of the row and the column is the scalar β, and remaining entries of the column are composed of the vector ν, and remaining entries of the row are composed of the zero vector; wherein, the scalar β is computed from the vector Y, the scalar λ and the square root matrix of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix; the vector ν is computed from the scalar β, the vector Y and the square root matrix of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix.
29. The apparatus of
the initial factor matrix computation unit is configured to compute LDLT factor matrices L and D of the sub-matrix composed of the one row and one column of the matrix;
the recursion unit for obtaining a factor matrix is configured to obtain the matrix L of the sub-matrix composed of m rows and m columns of the matrix by adding a row and a column, which are composed of a vector μ comprising m−1 entries, a zero vector comprising m−1 entries and a scalar 1 respectively, to the matrix L of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix, wherein, an entry at the intersection of the row and the column is the scalar 1, remaining entries of the row are composed of the vector μ, and remaining entries of the column are composed of the zero vector; and obtain the matrix D of the sub-matrix composed of m rows and m columns of the matrix by adding a scalar χ to a diagonal of the matrix D of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix, remaining entries of the row and column having the scalar χ as an entry are all zeroes, wherein, the vector μ is computed from the vector Y and the matrices L and D of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix; the scalar χ is computed from the vector Y, the scalar λ, and the matrices L and D of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix.
|
This application is a continuation of International Patent Application No. PCT/CN2006/003475, filed Dec. 18, 2006, which claims priority to Chinese Patent Application No. 200510134796.0, filed Dec. 16, 2005 and Chinese Patent Application No. 200610065505.1, filed Mar. 20, 2006, all of which are hereby incorporated by reference in their entirety.
The present invention relates to a multiple-antenna digital wireless communication technology, and more particularly, to a method and apparatus for signal detection in a digital wireless system with multiple antennas and a method and apparatus for computing a factor matrix of an inversion of a matrix.
According to Information Theory, substantial improvements in transmission bit rate can be achieved by using multiple-antenna arrays at the transmitting end, the receiving end or both in a communication system.
A wireless communication system having space-time architecture and using multiple-antenna arrays at both the transmitting and receiving ends is shown in
In the above-described system, signals transmitted from the multiple antennas at the transmitting end are detected one by one at the receiving end according to an optimal ordering. In detecting the transmitted signals one by one, a nulling vector is applied to each transmitted signal under detection to cancel the interference from other transmitted signals to be detected, thereby obtaining an estimate of the signal under detection.
A system shown in
wherein “+” denotes matrix pseudoinversion. The ith row of the first N columns of the pseudoinverse matrix
is the MMSE nulling vector of the ith detected transmitted signal.
In this U.S. patent, the nulling vector is derived from matrices of P1/2 and Qα, wherein P1/2(P1/2)H=P. P is the estimate error covariance matrix e=s−ŝ, which is obtained by normalizing the variance of the additive Gaussian white noise to 1, and P=E{(s−ŝ)(s−ŝ)H}=(αI+HHH)−1, P1/2 is the square root matrix of the estimate error covariance matrix, where in H denotes the conjugate transposition of a matrix and α is a constant based on the Signal to Noise Ratio (SNR) of the transmitted signals.
The flowchart of the procedure for detecting the transmitted signals disclosed in the above U.S. patent is shown in
At step 201: the initial values of the matrices P1/2 and Qα are derived by iteration using the pseudoinverse matrix related to the channel matrix H. The following sub-steps 201-1˜201-3 are further included in this step:
201-1: P1/2 is initialized by setting
where I is an M×M identity matrix and α is the constant based on the SNR of the transmitted signals, and Qα is initialized by setting Q0=0(N×M), where 0(N×M) is an N×M matrix whose entries are all zeroes. The iteration order is designated with i whose initial value is set to be 1, and N iterations will be performed in total.
201-2: a matrix Xi of dimension (N+M+1)×(M+1) is defined for the ith iteration (1≦i≦N) based on Pi−11/2, Qi−1 and the channel matrix H:
wherein, 0M is a column vector whose M entries are all zeroes, ei is the ith unit column vector of dimension N, and Hi is the ith row of the channel matrix H.
The matrix Xi is block lower triangularized with a unitary transformation, that is, all the entries of the first row except for the entry at the first column are zeroes after the transformation, thereby obtaining a matrix
wherein, the last M entries of the first row of Yi are all zeroes. The matrices Pi1/2 and Qi derived from the ith iteration is included in the matrix Yi after transformation.
201-3: i is incremented by 1 and it is determined whether i is equal to N. If i is equal to N, the initial values of P1/2 and Qα after N iterations are obtained; otherwise, the process returns back to sub-step 201-2 and the next iteration is performed.
The initial P1/2 derived by the above iteration is not a diagonal matrix.
The order of the signals to be detected is denoted by J, which is set to be equal to M. Then the process proceeds to the following procedure for detecting the transmitted signals.
At step 202: the next transmitted signal to be detected is identified via the matrix P1/2. The one with the maximum receiving SNR of the transmitted signals to be detected is the next transmitted signal to be detected. The row vector with the minimum-length of the matrix P1/2 corresponds to the optimal transmitted signal to be detected, which has the maximum receiving SNR.
At step 203: the nulling vector for the next transmitted signal to be detected, which is identified at step 202, is computed using P1/2 and Qα. The following are sub-steps 203-1˜203-3 of this step:
203-1: the row with the minimum-length of the matrix P1/2 identified in step 202 is permuted with the last row, and the indices of the signal vectors are renumbered. At the same time, the column corresponding to the optimal transmitted signal to be detected selected at step 202 is permuted with the last column.
203-2: the matrix P1/2 is block upper triangularized with a unitary transformation Σ. All the entries except for the last one in the last row of the unitary transformed P1/2 are all zeroes. Qα is updated to QαΣ after being applied the unitary transformation Σ.
203-3: the nulling vector for the transmitted signal to be detected is obtained, which is the product of the last entry of the last row of the matrix P1/2 by the last row of the conjugate transposition QαH of Qα.
At step 204: the estimate of the transmitted signal to be detected is derived from the product of the corresponding nulling vectors with the vectors {right arrow over (x)}J of the received signal, and ŝJ is obtained through quantifying the estimate.
At step 205: P1/2 is substituted by a sub-matrix of P1/2 and Qα is substituted by a sub-matrix of Qα. The effect of the transmitted signal that are already detected is cancelled from the received signals, thus giving {right arrow over (x)}(J−1)={right arrow over (x)}J−h:JŝJ. Then the order of the transmitted signal to be detected is decreased by 1, that is, J is reduced by 1.
At step 206: it is determined whether the last transmitted signal is detected, i.e., whether J is equal to zero. If J is equal to zero, then the procedure is finished; otherwise, it returns back to step 202 and detects the next signal according to the above procedure.
It is described in “An Improved Square-root Algorithm for BLAST” published at IEEE Signal Processing Letters Vol. 11, No. 9, 2004 that the nulling vectors can be obtained through the MMSE filter related to the channel matrix H. Specifically, in this method, only the initial value of P1/2 is computed. The nulling vector for each signal detection is obtained from the product of one entry and one vector of the updated P1/2 and the channel matrix H with original or reduced size. That nulling vector is computed using the following equation: GM=PM1/2[(PM(M−1)/2)H (pM1/2)H]HH, wherein the meaning of P1/2 and its initialization are the same as that described in U.S. Pat. No. 6,600,796.
Based on the above description, it can be seen that, in the related art, the signal detection method in the digital wireless communication system with multiple-antenna described in the U.S. patent and IEEE paper suffers the following disadvantages:
(1) In the U.S. patent and IEEE paper, the initial value of P1/2 for the M transmitted signals to be detected is recursively computed by using a matrix of dimension M×M. The intermediate result for each recursion is a matrix of dimension M×M, thus the computational load for computing the initial value of P1/2 is heavy.
(2) In the US patent and IEEE paper, the entries of the initial matrix of P1/2 used to compute the nulling vector are non-zeroes, thus the computational load during signal detection is heavy.
(3) In the U.S. patent and IEEE paper, P1/2 is block upper triangularized for each recursion during the signal detection and a sub-matrix of the block upper triangularized P1/2 is used to detect the next signal. Since the sub-matrix is not a block upper triangularized matrix, the nulling vectors required in the signal detection can only be obtained after performing block upper triangularization on the sub-matrix. Therefore, the computational load during signal detection is heavy.
(4) In the IEEE paper, the nulling vectors are computed using GM=pM1/2[(PM(M−1)/2)H (pM1/2)H]HH during signal detection. The estimate of the detected signals is obtained from the product of the nulling vectors with the vector for the received signals. After that, the interference of the detected signals is cancelled from the received signals by updating the vector for the received signals using {right arrow over (x)}(J−1)={right arrow over (x)}J−h:JŝJ. Then the updated vector for the received signals is used for the detection of the next signal. In the above procedure, the computation of GM=pM1/2[(PMM−1)/2)H (pM1/2)H]HH for obtaining the nulling vectors is of heavy computational load.
In view of this, an embodiment of the invention provides a method for signal detection in a digital wireless communication system with multiple-antenna, which realizes signal detection with reduced computational load.
An embodiment of the invention provides an apparatus for signal detection in a digital wireless communication system with multiple-antenna, which realizes signal detection with reduced computational load.
An embodiment of the invention provides a method for computing a factor matrix of an inverse matrix of a matrix, which realizes matrix decomposition with reduced computational load.
An embodiment of the invention provides an apparatus for computing a factor matrix of an inversion of a matrix, which realizes matrix decomposition with reduced computational load.
An embodiment of present invention provides a method for signal detection in a digital wireless communication system with multiple antennas, wherein at least two transmitted signals are detected in a Multiple Input Multiple Output (MIMO) system, the transmitted signals are transmitted from distinct transmitting antennas at a transmitting end and arrive at a receiving end after passing through a channel, wherein the method comprises the steps of: receiving the transmitted signals from at least two receiving antennas at the receiving end, and acquiring a channel matrix H composed of channel coefficients between the transmitting and receiving antennas; computing a factor matrix of an estimate error covariance matrix for a part of all the transmitted signals by using the channel matrix H, and recursively obtaining a factor matrix of an estimate error covariance matrix for a number of transmitted signals by using the channel matrix H and the factor matrix of the estimate error covariance matrix for the part of transmitted signals, wherein the number of transmitted signals include the part of transmitted signals and are of a greater number than the part of transmitted signals; and detecting the number of transmitted signals, which include the part of transmitted signals and are of a greater number than the part of transmitted signals, by using the obtained factor matrix.
An embodiment of present invention provides an apparatus for signal detection in a digital wireless communication system with multiple antennas, wherein the apparatus comprises: a signal receiving unit, a channel matrix acquiring unit, a recursion unit for obtaining a factor matrix of an estimate error covariance matrix and a signal detection unit; the signal receiving unit is configured to receive transmitted signals transmitted from a transmitting end, and send the transmitted signals to the channel matrix acquiring unit and signal detection unit; the channel matrix acquiring unit is configured to acquire a channel matrix and send the channel matrix to the recursion unit for obtaining a factor matrix of an estimate error covariance matrix; the recursion unit for obtaining a factor matrix of an estimate error covariance matrix is configured to compute a factor matrix of an estimate error covariance matrix for a part of all the transmitted signals by using the channel matrix; recursively obtain a factor matrix of an estimate error covariance matrix for a number of transmitted signals by using the channel matrix and the factor matrix of the estimate error covariance matrix for the part of transmitted signals, wherein the number of transmitted signals include the part of transmitted signals and are of a greater number than the part of transmitted signals; and send the obtained factor matrix to the signal detection unit; the signal detection unit is configure to detect the number of transmitted signals that include the part of transmitted signals and are of a greater number than the part of transmitted signals, by using the obtained factor matrix.
An embodiment of present invention provides a method for computing a factor matrix of an inversion of a matrix, wherein the method comprises the steps of: computing a factor matrix of an inversion of a sub-matrix of the matrix; recursively obtaining the factor matrix of the inversion of the matrix by using the matrix and the computed factor matrix of the inversion of the sub-matrix of the matrix.
An embodiment of present invention provides an apparatus for computing factor matrix of an inversion of a matrix, wherein the apparatus comprises: a matrix input unit, a first unit and a second unit; the matrix input unit is configured to receive and record the matrix; the first unit is configured to compute factor matrix of an inversion of a sub-matrix of the matrix; the second unit is configured to recursively obtain the factor matrix of the inversion of the matrix by using the matrix and the computed factor matrix of the inversion of the sub-matrix of the matrix and output the factor matrix.
In the method and apparatus for signal detection according to the present invention, the initial value of P1/2 needed for calculating the nulling vector is obtained by recursively computing P1/2 for all the transmitted signals from P1/2 for a part of the transmitted signals. Thereby, the computational load in computing the initial value of P1/2 is reduced and the method is more suitable to be realized with hardware. According to the present invention, P1/2 is a full triangular matrix during the recursion, or may be made full triangular by permuting the rows and columns thereof. Consequently, the initial value of P1/2 is full triangular or may be made full triangular by permuting the rows and columns, which therefore reduces the computational load during the signal detection. Furthermore, according to present invention, before detecting the signals, the received signals were first pre-match filtered, and the nulling factor is computed merely from P1/2, which also reduces the computational load. According to the present invention, many intermediate results may be used during the signal detection, which further reduces the computational load. In the present invention, first, the LDLT factor matrices of the estimate error covariance matrix for all the transmitted signals are recursively obtained by using the LDLT factor matrices of the estimate error covariance matrix for a part of all the transmitted signals, then the initial value of P1/2 which is required for computing the nulling vector is computed. As a result, the errors and delay caused by the square root operations may be eliminated.
In the following, the improvements over prior art in terms of computational speed will now be discussed, with respect to the number of multiplications used during the signal detection.
(1) Comparison between the present invention and prior art on the number of computations needed for computing the initial value of P1/2.
First, the number of computations needed for computing the initial value of P1/2 will be analyzed for the present invention.
It takes
multiplications to compute matrix R by using H.
During the procedure of recursively computing P1/2, when computing
the intermediate results may be fully employed by letting ηm−1=(P(t
multiplications are needed for computing ηm−1=(P(t
multiplications for computing vm−1(t
multiplications are needed in total.
Therefore, it takes
multiplications to compute P1/2.
Similar number of computations is need to recursively compute the initial value of P1/2 by using LDLT factor matrices L and D.
Next, the number of computations required for the solution of the prior art IEEE paper will be evaluated.
N(M2+2(M+1)2)=3NM2+O(MN) complex computations are needed to compute the initial value of P1/2.
During the iteration for signal detection, for each iteration, a transmitted signal with optimal receiving SNR is selected for detection, and the nulling vector is also computed. The dominant computations come from the steps of computing Pm/2Σ and pm1/2·[(Pm(m−1)/2)H(pm1/2)H]·(H(m))H. 2 m2 complex multiplications are needed for each iteration of Pm/2Σ, and m(N+1)+1 complex multiplications are needed for computing the nulling vector. Thus, the M iterations for signal detection require
complex multiplications in total.
By accumulating the multiplications of the above two steps, it totally needs
complex multiplications. Given that
complex multiplications are needed in total.
In summary, the present invention takes
multiplications to compute P1/2, while the solution proposed in the IEEE paper needs 3NM2 multiplications. When M=N, the number of complications required by the present invention is
multiplications, and that of the solution proposed in the IEEE paper is 3M3 multiplications. Thereby, the present invention gains an improvement of 28% over prior art in terms of the computations needed for the above step.
Totally,
multiplications are necessary for the solution proposed in the IEEE paper. Assuming that the other steps are exactly the same as the solution of the IEEE paper, the method of the present invention takes
multiplications. Thus, the speed of the present invention is improved by
times over the solution proposed in the IEEE paper.
(2) The initial P1/2=PM/2 of the present invention is a full triangular matrix.
During the iteration of signal detection, if the orthogonal transform based on Givens Rotation Σ provided by the present invention is used, matrix Pm/2 that can be made full upper triangular by means of row permutation may be considered as a full upper triangular matrix. Thus, matrix P(m−1)/2 derived from
is also a full upper triangular matrix. As a result, all the matrices Pm/2 (m=M, M−1, . . . , 2, 1) are full upper triangular matrix. In computing Pm/2Σ, it is well-known that half of the elements of the matrix are zeros if Pm/2 is full upper triangular, which means roughly half of the computations may be avoided. By using the orthogonal transform based on fewer number of Givens Rotation provided in the present invention, the number of computations may be further decreased.
During the iteration of signal detection, if the orthogonal transform based on Householder provided by the present invention is used, the matrix for the next iteration which is obtained by orthogonal transform is block upper triangular, not always full triangular. Still there are many zero elements in the matrix, thus, it can be approximately considered to reduce the number of computations by half.
For computing Pm/2Σ, the solution of the IEEE paper needs 2 m2 multiplications, while the present invention only needs m2 multiplications. Totally, in the solution of the IEEE paper
multiplications are necessary to compute Pm/2Σ, while only
multiplications are needed for the present invention.
According to the solution of the IEEE paper, m(N+1)+1 complex multiplications are needed for computing the nulling vector in each iteration. The nulling vector used in the present invention is Gm=pm1/2·[({right arrow over (P)}m(m−1)/2)H(pm1/2)H], which needs only m multiplications. Thus,
multiplications are required to calculate the nulling vector according to the solution of the IEEE paper, while for the present invention it takes only
multiplications, thus saving up to
multiplications.
Thus, the speed of the present invention is improved by
times over the solution of the IEEE paper.
(3) In the present invention, each Pm/2 (m=M, M−1, . . . , 2, 1) corresponding to each step of an ordering tM, tM−1, . . . , tm, . . . , t2, t1 for detecting the signals from the M transmitted antennas at the receiving end is also obtained when computing the initial P1/2=PM/2. If the real optimal ordering is the same as or highly similar to this ordering, the obtained each Pm/2 may be used repeatedly, saving the step of obtaining Pm/2Σ by the orthogonal transform Σ. Generally, the slow fading channel under which the V-BLAST operates may be approximately regarded as stable. In such a channel, though the nulling vector may vary accordingly as the channel matrix for each data frame changes, the optimal detection ordering for detecting the data frames changes insignificantly or does not change at all. In this case, it does not need to compute Pm/2Σ, which saves
multiplications. Thus, the computational speed of the present invention is improved by
times over the solution of the IEEE paper.
In summary, the computational speed of the present invention is improved by 3.57 to 5.00 times over the solution of the IEEE paper. An improvement of (nearly) up to five times can be achieved when the predetermined detection ordering tM, tM−1, . . . , tm, . . . , t2, t1 for detecting the signals from the M transmitting antennas at the receiving end is the same or very similar to the real optimal detection ordering.
Comparing with the Cholesky decomposition, the matrix decomposition method and apparatus according to the present invention obtain the factors directly by using a small number of computations, without computing the inversion of the matrix. Thus the computation accuracy is improved and the effect of the intermediate results may be reduced.
In order to make objects, technical solutions and advantages of the disclosure more apparent, a further detailed description of the disclosure is given below with respect to preferred embodiments.
A digital wireless communication system with multiple antennas utilized in the present invention is shown in
The channel matrix H is a matrix of dimension N×M, which is represented as:
The channel matrix H is an N×M complex matrix, which is assumed to be a constant over a period of K symbols. The lengths of the vectors hn:(n=1, 2, . . . , N) and h:m (m=1, 2, . . . , M) are M and N respectively. Here, channel vectors h:1 to h:M included in the channel matrix H denote the effect of the channel on each of the M transmitted signals respectively. Specifically, the channel vector h:m (m=1, 2, . . . , M) comprises channel matrix entries h1m to hNm, which denotes the effect of the channel on the transmitted signal sm at each of the receiving antenna elements b-1 to b-N.
In the system shown in
wherein, K is the sample time and k=1, 2, . . . , K. The above identified relationship may be expressed as
in a vector form. The effect of each of the transmitted signals on the vector {right arrow over (x)} of the received signals is shown in the expanded form {right arrow over (x)}=s1·h:1+s2·h:2+ . . . +sm·h:m+ . . . +sM·h:M+{right arrow over (w)}.
Wherein, {right arrow over (x)}=[x1, x2, . . . , xN]T is a received signal vector of dimension N, {right arrow over (s)}=[s1, s2, . . . , sM]T is a transmitted signal vector of dimension M, {right arrow over (w)}=[w1, w2, . . . , wN]T is a complex vector of additive Gaussian white noise with a mean of zero and a variance of Rww=E{{right arrow over (w)}·{right arrow over (w)}H}=σw2IN×N. Wherein, T and H denote the transposition and conjugate transposition of a vector or matrix respectively, IN×N denotes an N×N identity matrix. Here, it is assumed that the additive noise {right arrow over (w)} is statistically independent in both spatial domain and temporal domain. It is further assumed that the transmitted signals s1, s2, . . . , sM are uncorrelated, which means that the correlation matrix of vector {right arrow over (s)} of the transmitted signals is diagonal, that is Rss=E{{right arrow over (s)}·{right arrow over (s)}H}=σs2IM×M.
In the system shown in
In an embodiment of the present invention, a method for signal detection is described in detail with reference to a scenario of feeding the M transmitting signals directly to the M transmitted antennas. As for the signal detection method for the virtual antenna technology, it simply substitutes the equivalent channel matrix {tilde over (H)} for the channel matrix H.
The Minimum Mean-Square Error (MMSE) estimate of the transmitted signal is {right arrow over (ŝ)}=(HH·H+αIM×M)−1HH{right arrow over (x)}, wherein, the symbol−1 denotes the inversion of a matrix, and α is a constant related to the SNR of the transmitted signals,
In an embodiment of the present invention, the estimate error covariance matrix of e=s−ŝ is calculated by normalizing the variance of the additive Gaussian white noise to 1, that is E{({right arrow over (s)}−{right arrow over (ŝ)})({right arrow over (s)}−{right arrow over (ŝ)})H}=(HH·H+αIM×M)−1. Here, the estimate error covariance matrix is designated with P, and a relationship R=(HH·H+αIM×M) is defined, thus P=R−1. The square root matrix of the estimate error covariance matrix P is designated with P1/2, thus P=P1/2(P1/2)H. As a result, the MMSE estimate of the transmitted signals can be expressed as {right arrow over (ŝ)}=P1/2(P1/2)HHH{right arrow over (x)}.
The method of the present invention can also be realized by multiplying the estimate error covariance matrix by a non-zero constant. In the case of multiplying the estimate error covariance matrix by a non-zero constant, the equation for computing the nulling factor also needs to multiply a number related to the constant, in the step of detecting signals using the nulling factor.
Interference cancellation technology is used in the signal detection method according to the present invention. The principle of the interference cancellation is shown as follows: first, a selected one of the M transmitted signals s1, . . . , sM is detected; second, the effect of the transmitted signals that are already detected is at least partially canceled from the vector of the received signals by using the estimate of the transmitted signal that are already detected. In this step, the problem of the next signal detection is thus reduced to a problem of detecting M−1 transmitted signals, so that the performance of the next detection may be improved. In the next step, i.e., detecting the M−1 transmitted signals, the above interference cancellation method is applied again, and in this way, the procedure may be iterated for M−1 times until the last transmitted signal to be detected is detected.
Assuming the ordering of detecting the totally M transmitted signals transmitted via M distinct transmitting antennas at the receiving end is represented by the sequence numbers of the transmitted signals tM, tM−1, . . . , tm, . . . , t2, t1, the procedure of the interference cancellation may be illustrated as follows:
Firstly, the initial values are set. That is, the initial value of m is set to M, the initial vector of the received signals is set to {right arrow over (x)}M, the initial channel matrix is H(M)=H, and the initial vector of the transmitted signals to be detected is {right arrow over (s)}M={right arrow over (s)}.
Next, the transmitted signals are detected in turn with the interference being canceled by using the above iterative method. Specifically, the tmth transmitted signal is detected to obtain its estimate {right arrow over (s)}t
where H(m−1) denotes a reduced channel matrix obtained by deleting from the channel matrix H(m) the column corresponding to the tmth transmitted signal, and {right arrow over (s)}m−1 denotes a vector obtained by deleting the tmth transmitted signal that are already detected from the vector {right arrow over (s)}m of the transmitted signals. m is decremented by 1 and the iteration continues until all of the M transmitted signals are detected.
It can be seen from the above description that, for a problem of detecting m−1 transmitted signals tm−1, . . . , t2, t1, the relationship between the vector of the received signals and the vector of the transmitted signals is
and the channel matrix corresponding to the m−1 transmitted signals tm−1, t2, t1, is H(m−1). In the case of detecting the m−1 transmitted signals tm−1, . . . , t2, t1, the following matrices may be derived from the channel matrix H(m−1) by using the same method as that of deriving the following matrices using the initial channel matrix H. Specifically, the estimate error covariance matrix is P(m−1)=((H(m−1))H·H(m−1)+αI(m−1)×(m−1))−1, the inversion of the estimate error covariance matrix is R(m−1)=(H(m−1))H·H(m−1)+αI(m−1)×(m−1), the square root matrix of the estimate error covariance matrix P(m−1) is P(m−1)/2), thus P(m−1)=P(m−1)/2(P(m−1)/2)H.
The signal detection procedure of the present invention for the digital wireless communication system with multiple antennas comprises the recursion for computing the initial value of P1/2 and the iteration for signal detection, which will be described in the following respectively.
Recursion for computing the initial value of P1/2: is specifically a recursive procedure for computing the initial value of the square root matrix P1/2 of the estimate error covariance matrix corresponding to the M transmitted signals to be detected. The initial value of P/12 is obtained by a recursive procedure starting from fewer transmitted signals to be detected and working down to more transmitted signals to be detected. The general concept is shown as follows. Firstly, the ordering for detecting the M transmitted signals at the receiving end is set, designated as tM, tM−1, . . . , tm, . . . , t2, t1. If P(m−1)/2 represents the square root matrix of the estimate error covariance matrix in the case of detecting m−1 (m=2, 3, . . . , M) transmitted signals tm−1, t2, t1, the square root matrix of the estimate error covariance matrix P(m)/2 in the case of detecting m transmitted signals tm, . . . , t2, t1 may be recursively obtained from P(m−1)/2. Thus, the square root matrix P(1)/2 of the estimate error covariance matrix is computed for one transmitted antenna, and P(M)/2 is derived from P(1)/2 by means of executing M−1 recursions. That is to say, the initial value of the square root matrix P1/2 of the estimate error covariance matrix corresponding to the M transmitted signals to be detected is obtained.
Iteration for signal detection: is an iterative procedure for detecting the M transmitted signals to be detected. Detection of the transmitted signals is done by a recursive procedure starting from more transmitted signals to be detected and working down to fewer transmitted signals to be detected, thus arriving at an optimal ordering and detecting the M transmitted signals to be detected in turn according to the optimal ordering. The general concept is shown as follows. It selects one of the M transmitted signals to be detected according to a standard and detects the select signal by using the recursively obtained initial value of the square root matrix P1/2=P(M)/2 of the estimate error covariance matrix corresponding to the M transmitted signals to be detected. The effect of the transmitted signal that is detected is then cancelled from the vector of the received signals by using the interference cancellation technology, and the matrix P(M−1)/2 corresponding to M−1 transmitted signals to be detected is recursively obtained from the matrix P(M)/2. In this way, the M transmitted signals may be detected in turn according to the optimal ordering after M−1 recursions.
According to an embodiment of the present invention, when signals are detected, pre-match filtering may be first performed on the vector {right arrow over (x)} of the received signals to obtain the pre-match filtering result z=HH·{right arrow over (x)}. Further, the pre-match filtering may also be performed on the channel matrix H to obtain the correlated channel matrix Φ=HH·H. The pre-match filtering result z and the correlated channel matrix Φ are then used to perform the above iterations for signal detection, wherein HH is referred to as a match filter.
In the above more-to-fewer recursive procedure for the signal detection, the matrix P(m)/2 corresponding to the m transmitted signals to be detected is obtained, while in the fewer-to-more recursive procedure for computing the initial value of P1/2, the matrix P(m)/2 corresponding to the m transmitted signals tm, . . . , t2, t1 to be detected is also obtained. However, the m transmitted signals to be detected corresponding to the two P(m)/2 are normally not exactly the same, although the M transmitted signals to be detected are exactly the same when m=M. To make a distinction between the two P(m)/2 the one obtained from the fewer-to-more recursive procedure for computing the initial value of P1/2 is designated by P(t
In the following, a first embodiment of the method for signal detection in a digital wireless communication system with multiple antennas according to an embodiment of the present invention will be described in detail with reference to
In the system of
At step 301, at the receiving end, M signals transmitted respectively from M transmitting antennas at the transmitting end are received, and the M received signals acquired. Channel matrix H composed of the channel coefficients between the transmitting and receiving antennas are acquired from performing channel estimate on the received signals. The received signals are designated with a vector {right arrow over (x)}. The ordering for detecting the M transmitted signals at the receiving end is predetermined and represented as tM, tM−1, . . . , tm, . . . , t2, t1 by using the indices of the transmitted signals. The channel matrix H is reordered in column accordingly, becoming Ht
At step 302, first, a correlated channel matrix Φ(M)=(Ht
wherein, the symbol * denotes the conjugate of a complex number.
At step 303, a square root matrix P(t
The channel matrix corresponding to the transmitted signal t1 is H(t
Now, it is required to compute the square root matrix P(t
Any P(t
For example, from P(t
Next, the square root matrix, designated as P(t
At step 304, it is determined whether the square root matrix of the estimate error covariance matrix for all the transmitted signals have been obtained, that is, it is determined if m is greater than M. If m is greater than M, it shows that the square root matrix of the estimate error covariance matrix for the M transmitted signals is obtained, then the procedure proceeds to step 308. Otherwise, the square root matrix P(t
At step 305, the channel matrix corresponding to the m transmitted signals that are last detected is H(t
R(t
There is the following recursive relationship between R(t
wherein R(t
It can be seen that both λ1(t
At step 306, the square root matrix P(t
P(t
For an arbitrary square matrix A, it can always be transformed into a full upper triangular matrix B=AΣ by using an orthogonal transform Σ. If A·AH=C, then it always holds that B·BH=(AΣ)·(AΣ)H=AΣΣHAH=A·AH=C. Thus, there must exist a full upper triangular matrix P(t
P(t
where, P(t
for example,
The result of the recursion for computing P(t
At step 307, m is incremented by 1, i.e., m=m+1, then the procedure proceeds to step 304 to recursively compute the square root matrix P(t
At step 308, the square root matrix P(t
Upon acquiring the initial value of the square root matrix of the estimate error covariance matrix for all the transmitted signals to be detected, the procedure proceeds to the flow for computing the detected signals of
At step 400, the initial value of P1/2 which is used in the recursive procedure for signal detection is designated with P(M)/2, i.e., P(M)/2=P1/2. The channel matrix corresponding to P(M)/2 is Ht
At step 401, it is determined whether the last transmitted signal is detected, that is, determining if m is less than 2. If m is less than 2, it shows the transmitted signal under detection is the last transmitted signal, and the procedure proceeds to step 412; otherwise, it shows the transmitted signal under detection is not the last transmitted signal, then the iteration for signal detection is executed and the procedure proceeds to step 402.
At step 402, one signal with the best receiving SNR are identified from the m transmitted signals. A row vector of P(m)/2 that has the smallest length is computed and designated as the lm th row. The lm th row corresponds to the signal with the best receiving SNR among the m transmitted signals, i.e., the signal being detected.
At step 403, the lm th row and the last row (i.e., the mth row) of P(m)/2 are permuted with each other, and the indices of the signals are renumbered by permuting the lm th and the mth entries of the vector f; the lm th row and the last row (i.e., the mth row) of Φ(m) as well as the lm th column and the last column (i.e., the mth column) of Φ(m) are permuted with each other; and the lm th and the last or mth entries of the vector zm are permuted, where, the vector zm represents the pre-match filtered result of the plurality of received signals.
At step 404, it is determined whether all the entries of the row vector with the minimum length of P(m)/2, i.e., the last row of P(m)/2, are all zeroes except for the last entry. If it is determined that all the entries of the row vector with the minimum length of P(m)/2 are all zeroes except for the last entry, the procedure proceeds to step 405; otherwise, it proceeds to step 406.
At step 405, P(m−1)/2 needed for the next iteration as well as Pm1/2 and {right arrow over (P)}m(m−1)/2 that are needed to compute the nulling vector may be directly obtained from
and the procedure proceeds to step 407.
At step 406, the orthogonal transform Σ is performed on and thereby P(m)/2 is transformed into a block upper triangular matrix, that is:
P(m−1)/2 that is needed for the next iteration as well as Pm1/2 and {right arrow over (P)}m(m−1)/2 that are needed to compute the nulling vector may be obtained from the transformed block upper triangular matrix and the procedure proceeds to step 407.
At step 407, the nulling vector may be computed by using pm1/2 and {right arrow over (P)}m(m−1)/2 obtained at step 405 or 406, that is, Gm=pm1/2·[({right arrow over (P)}m(m−1)/2)H(pm1/2)H]
At step 408, the estimate {tilde over (s)}m=GmZm of the signal being detected may be obtained from the computed nulling vector and the result of the pre-match filtering on the received signals.
At step 409, slicing is performed on the estimate {tilde over (s)}m according to the predetermined symbol constellation and thereby ŝm is obtained.
At step 410, the effect of the transmitted signal that is currently detected is canceled from the result of pre-matched filtering on the received signals. Thus, the problem of the next signal detection is reduced to a problem of detecting m−1 transmitted signals by using the interference cancellation. Specifically, the last entry of the column vector zm that has m entries is deleted to obtain a column vector (zm)minus that has (m−1) entries; the interference from the transmitted signal that is currently detected is eliminated from (zm)minus to thus obtain zm−1=(zm)minus−ŝm·φm, where φm is the first m−1 rows of the last column of the matrix Φ(m) i.e., the first m−1 rows of the mth column of the matrix Φ(m).
At step 411, P(m−1)/2 obtained at step 405 or 406 is used for the next iteration. The last row and last column of the matrix Φ(m), or the mth row and mth column of Φ(m) are deleted to obtain Φ(m−1) for the next iteration.
Subsequently, m is decremented by 1, that is, m=m−1, and the procedure proceeds to step 401 to perform the next iteration.
At step 412, the nulling vector corresponding to the last detected signal is G1=P(1)/2·(P(1)/2)H.
At step 413, the estimate {tilde over (s)}1=G1z1 of the last detected signal is obtained.
At step 414, slicing is performed on the estimate {tilde over (s)}1 according to the predetermined symbol constellation and ŝ1 is obtained, then the procedure flow is ended.
According to the flow charts of
According to the ordering of detection, the estimates of the transmitted signals are represented as [ŝM, ŝM−1, . . . , ŝ1]T, where the subscript of the estimate of a transmitted signal in the vector [ŝM, ŝM−1, . . . , ŝ1]T only denotes the ordering for detecting the transmitted signal. The original signal indices can be recovered from the signal indices permutation information recorded in the vector f, where the indices permutation is conducted during the signal detection. Specifically, the mth entry of the vector f is represented as fm, m=M, M−1, . . . , 1, the subscript m of the estimate of the transmitted signal ŝm in the vector [ŝM, ŝM−1, . . . , ŝ1]T is changed to fm, m=M, M−1, . . . , 1, and thus in resulted vector [ŝf
In the procedure for computing the initial value of P1/2 as shown in
In the iteration procedure for detecting the signals from respective transmitted antennas in turn as shown in
A. Orthogonal Transform Based on Givens Rotation
According to the prior art, an orthogonal transform based on Givens Rotation is expressed by Givens (i, j), which only changes the ith and jth columns of a row vector and turns the ith column of the vector to zero.
If the number of the M transmitting antennas in the system shown in
Given that the row vector with minimum length as describe in step 402 is the third row of P(M)/2, the third and fifth rows are permuted according to step 405, and thereby it is obtained:
The last row of P(M)/2 is then transformed to [0 0 0 0 p51/2] by performing orthogonal transform Givens (3, 4) and Givens (4, 5). First, the third and fourth rows of P(M)/2 are transformed to obtain the following matrix:
Next, the fourth and fifth rows of α1 are transformed so as to get the matrix as below:
A block upper triangular matrix is thus obtained after two orthogonal transforms.
In the obtained block upper triangular matrix π2, the element at the fifth row and fifth column and the fifth column vector of π2 are used to compute a nulling vector for the signal currently being detected, and the sub-matrix P(4)/2 composed of the first four rows and columns of π2 is obtained for the next iteration, where,
The matrix P(4)/2 for the next iteration may be changed into a full upper triangular by permuting the third and fourth rows thereof.
Generally, if the matrix Pm/2 (m=M, M−1, . . . , 3) may be transformed into a full upper triangular by simple row permutation, the row vector with the minimum length of the matrix Pm/2 may be permuted to be the last row of Pm/2. After the permutation, if the elements in the last row but before the ith column are all zeroes, then the matrix may become a block upper triangular matrix by being performed orthogonal transforms Givens(i, i+1)Givens(i+1, i+2) . . . Givens(m−1, m). The block upper triangular matrix obtained through the Givens orthogonal transforms may be further transformed into a full upper triangular matrix by simple row permutation. Thus, P(m−1)/2 for the next iteration may be obtained from the Givens orthogonal transformed block upper triangular matrix
and P(m−1)/2 may also be transformed into a full upper triangular matrix via simple row permutation.
The above description shows that if Pm/2 (m=M, M−1, . . . , 3) may be transformed into a full upper triangular matrix by simple row permutation, then P(m−1)/2 for the next iteration, which is obtained by using the Givens orthogonal transforms, may also be transformed into a full upper triangular matrix via simple row permutation. Since the initial value of PM/2 is full upper triangular, each Pm/2 (m=M, M−1, . . . , 3) may be made full upper triangular by simple row permutation through using the Givens orthogonal transforms, and thus nearly half of the elements of the matrix Pm/2 are zeroes.
The matrix Pm/2 in the prior art is not full upper triangular, therefore, m−1 orthogonal transforms based on the Givens Rotations Givens(1,2)Givens(2,3) . . . Givens(m−1,m) are needed to make Pm/2 full upper triangular. The matrix Pm/2 obtained in the present invention may be made full upper triangular by simple row permutation, which takes only m−i orthogonal transforms based on the Givens Rotations, i.e., Givens(i,i+1)Givens(i+1, i+2) . . . Givens(m−1, m) A statistical average of i may be deemed to be m/2, thus, in the step of making Pm/2 full upper triangular, the method of the present invention needs fewer number of Givens Rotations based orthogonal transforms. Meanwhile, roughly half of the elements of the matrix Pm/2 obtained in the present invention are zeroes, and thus the number of computations that are needed for performing Givens Rotations based orthogonal transforms Givens(i, j) is also very small.
It can be easily seen that, the closer to the optimal detection ordering the ordering for detecting the signals from the M transmitting antennas is as assumed at step 301 of
B. Householder Based Orthogonal Transform
It also considers the situation where the number of the M transmitting antennas is 5, and further assumes that the third row is the row vector with minimum length of Pm/2. By permuting the third and fifth rows of Pm/2, it can be obtained:
According to the present available Householder orthogonal transform technology, if there is a 3*3 Householder orthogonal transform Θ3*3 that satisfies [φ33φ34φ35])Θ3*3=[0 0p51/2], then the Householder orthogonal transform
satisfies
After decomposing
by performing Householder orthogonal transform Θ5*5 on P(M)/2, the following may be obtained:
For the full upper triangular matrix P(M)/2, the last row may be made to take the form of [0 0 0 0 p51/2] by applying a 3*3 Householder orthogonal transform on the last three rows of P(M)/2. The Householder orthogonal transformed matrix is a block upper triangular, the sub-matrix of which is used for the next iteration. According to the above result, the matrix used for the next iteration still has many zero-entries, thus the required result may be obtained with a lower-order Householder orthogonal transform, which reduces the computational load significantly over prior art.
It can be easily seen that, as assumed at step 301 of
In summary, no matter the used orthogonal transform is based on Givens Rotation or Householder, at step 301 of
Thus, in a slow fading channel, the ordering for detecting the M transmitting antennas at the receiving end at
As for a fast fading channel, there are also many known technologies for estimating a detection ordering by using channel matrix H, so as to make the estimate detection ordering get closer to the real optimal detection ordering.
In some certain applications, the ordering for detecting all the transmitted signals is fixed. The transmitted signals are detected in turn according to the fixed ordering, without finding the optimal detection ordering during the signal detection. In this case, the ordering for detecting the M transmitted signals at the receiving end preset at step 301 is the fixed detection ordering. For this reason, at step 402, there is no need to determine which one of the signals to be detected shall be selected as the one being detected by finding the row vector with minimum length in the matrix P(m)/2. Rather, the one being detected is selected from the signals to be detected according to the fixed detection ordering. It can be easily seen that the signal to be detected corresponding to the last row of P(m)/2 is each time selected as the one being detected. Thus, step 403 is no longer needed, since row permutation of P(m)/2 is not performed any more. Step 404 is no longer needed either, since in the last row of P(m)/2 only the last element is non-zero. Correspondingly, step 405 is executed every time, and thus step 406 is no longer needed since each time it is step 405 to be executed. The modifications to the above are obvious to those skilled in the art. Therefore, the technical solutions with these modifications are also within the scope of the present invention.
According to the first embodiment of the present invention, the initial value of P1/2 is a full upper triangular matrix. More specifically, the initial value of P1/2 in the first embodiment is a full upper right triangular matrix. Similarly, the initial value of P1/2 may be a matrix in the form of a full triangular matrix, or a matrix that may become full triangular via simple row and column permutations. The former matrix that can become the initial value of P1/2 may specifically include a full triangular matrix whose elements above or below its diagonal are all zeroes, such as full upper right triangular, full upper left triangular, full lower right triangular and full lower left triangular. The latter matrix that can become the initial value of P1/2 may be a matrix that is able to be transformed into a full triangular matrix whose elements above or below the diagonal are all zeroes. Thus, the initial value of P1/2 may take various forms. Accordingly, the ordering of the rows and columns of the intermediate matrices for computing the initial value of P1/2 and signal detection has to be changed. A detailed description is given as follows.
For the square root matrix Pm/2 of the estimate error covariance matrix for m transmitted signals to be detected, each row of Pm/2 corresponds to each of the m transmitted signals to be detected. Thus, if the rows of Pm/2 are permuted, then the indices of the m transmitted signals to be detected have to be permuted as well. However, it can be proved from the definition Pm/2(Pm/2)H=Pm of Pm/2 that the columns of Pm/2 may be permuted freely. For example, if P1m/2 is obtained by a column permutation, it still satisfies that P1m/2(P1m/2)H=Pm=Pm/2(Pm/2)H.
In the first embodiment of the present invention, R(t
Based on the above matrix property, the row and column composed of Ym−1(t
Practically, it is not necessary to determine R(t
may be placed at any of 1th, 2nd, . . . mth rows, and
can be placed at any of 1th, 2nd, . . . , mth columns, while ensuring that the scalar βm−1(t
Thus, the way of adding a row and column by decomposing P(t
Wherein, it is fixed which entries should locate at one row and which entries should locate at one column. Except for this, rows and columns may be permuted freely.
Accordingly, the finally obtained P(t
More specifically, in order to recursively obtain a full lower right triangular matrix P(t
Alternatively, in order to recursively obtain a full lower left triangular matrix P(t
Accordingly, during signal detection, the matrix P(m)/2 has the same property as above, i.e., each column of P(m)/2 may be permuted freely, and each row of corresponds to a transmitted signal. Let's assume that P(m)/2 is a 5×5 matrix, the signal being detected corresponds to the third row, and there are three non-zero elements in the third row, i.e., the elements at the 2nd, 3rd and 5th columns are not zeroes. Under this assumption,
Next, it only needs to find an orthogonal transform to make the third row have only one non-zero element, which may locate at any column of the third row. However, in order to perform as few Givens transforms as possible, it is preferable to use Givens (2, 3) Givens (3, 5) or Givens (5, 3) Givens (2, 3) and so on. As a result, the only non-zero element may only locate at one of the 2nd, 3rd and 5th columns. Given that the only non-zero entry is at the 2nd column, then the orthogonal transformed P(m)/2 may be expressed as:
Therefore, the nulling vector acquired during the signal detection is actually the third column of Pm/2(Pm/2)H, and
This is equivalent to multiplying the third row of P(m)/2 by (Pm/2)H, that is,
It can be seen from the above derivation that the nulling vector used in the signal detection is, a product obtained by multiplying the only non-zero element of the row vector having minimum length in P(m)/2 with the conjugate transposition of the column having the only non-zero element of the minimum length row vector as an element, where P(m)/2 is a square root matrix of the estimate error covariance matrix for the m transmitted signals to be detected, and has only one non-zero element at the row vector having minimum length. Pm−1/2 used for the next signal detection is: a square root matrix of the estimate error covariance matrix for m−1 transmitted signals to be detected, where the estimate error covariance matrix for m−1 transmitted signals is a (m−1)×(m−1) sub-matrix of the estimate error covariance matrix for m transmitted signals to be detected, and the estimate error covariance matrix for m−1 transmitted signals is obtained by deleting from the estimate error covariance matrix for m transmitted signals to be detected, which has only one non-zero element at the row vector having minimum length, the row vector having the minimum length and the column having the only non-zero element of the row vector having the minimum length as an element.
In the recursion procedure as shown in
In the recursion procedure of steps 305 to 307, the recursive variable m may be incremented by a step length equal to or greater than 2, so that P1/2 of the m signals that are last detected may be recursively computed by using a P1/2 of m−2 or less signals that are last detected. For example, if the recursive variable m is incremented by 2, the P(t
where βm−2(t
may be replaced with
Thus, with the modifications made to step 306 as the accordingly made modifications of steps 305 and 307, it is possible to derive P(t
The present invention proposes an efficient algorithm for deriving P(t
The key point of the proposed algorithm is using Coordinate Rotation Digital Computer (CORDIC) iteration algorithm to efficiently compute P(t
The implementation of the CORDIC iteration algorithm is: complex numbers are rotated for a fixed angle on the complex plane for each iteration, and the angle rotated during the Lth iteration is atan(2(−L)), where L=0, 1, 2, . . . , and ‘atan’ denotes an arc tangent function. Angles corresponding to L=0, 1, 2, 3, 4 and 5 are 45.00000, 26.56505, 14.03624, 7.12502, 3.57633 and 1.78991, respectively. It can be easily seen that the angle corresponding to L+1 is roughly equal to half of the angle corresponding to L. The angle of a complex number Z may be rotated 90 degrees or −90 degrees by multiplying Z with a complex number 0+1i or 0−1i. Thus, a complex number Z may be rotated to any angle within a range of [−180, 180] by using
that is, the complex number Z may be rotated to any angle on the complex plane, where N is the number of iterations, which is determined according to the accuracy required for the computation. In each iteration, whether the fixed angle of atan(2(−L)) is increased or decreased is based on the practical requirement.
First, at step 302, when computing
the value of an element on the diagonal is not directly computed, rather, a complex number satisfying gt
rt
A complex number whose square summation of length is z1z1*+z2z2* is first obtained by using CORDIC. z1 and z2 are then respectively mapped to the real axis or x axis of the complex plane by using CORDIC. After obtaining the lengths of |z1| and |z2|, a complex number |z1|+i|z2| is constructed, which is the required complex number. By recursively using the above method for computing a complex number, a complex number gt
is obtained, i.e., gt
For the item ((P(t
if η=(Pt
λ1(t
where the item gt
Other complex numbers βm−1(t
may also be acquired in a practical implementation. Comparing with computing a complex βm−1(t
With the above-described method, βm−1(t
In the above procedure for computing the initial value of P1/2, operations for obtaining square root of a real number are realized with CORDIC iterative algorithm. However, CORDIC devices will be required at the receiving end if CORDIC iterative algorithm is to be used, while not all the receiving ends can meet this requirement. In recursively computing the initial value of P1/2, there is a step for acquiring the square root of a real number in each iteration, such as steps 303 and 306 of
In the procedure for recursively computing the initial value of P1/2 as shown in
According to the above obtained P(t
Similarly, for each of m=1, 2, . . . , M, P(t
Moreover, from the equations P(t
it can be obtained that, D(t
Mathematically, the definition of LDLT factor matrices given in “Matrix Computation”, Science Press, 2001 is: if the 1 matrix of a lower left triangular matrix and the d matrix of a diagonal matrix satisfy the relationship of p=1·d·(1)H, then matrices I and d are referred to as the LDLT factor matrices of the matrix p. According to the property of row and column permutation of matrix, if matrix 1 becomes an upper right triangular matrix L through row and column permutation, matrix d becomes a diagonal matrix D through row and column permutation based on the column permutation of the matrix 1, and matrix p is transformed into a matrix P through row and column permutation based on the row permutation of the matrix 1, the matrices L, D and P still satisfy P=L·D·(L)H. Thus, the LDLT factor matrices L and D of the matrix P of the present invention satisfy the relationship of P=L·D·(L)H, and matrix D may be a diagonal matrix whose elements above or below the diagonal are all zeros, or a matrix that may become said diagonal matrix by means of row and column permutation; matrix L may be a full triangular matrix whose elements above or below the diagonal are all zeros, or a matrix that may become said full triangular matrix by means of row and column permutation. In an embodiment of the present invention, the flow of the inventive method will be described by taking the LDLT factor matrices L and D of the matrix P, where, the matrices L, D and P satisfy the relationship of P=L·D·(L)H, L is an upper right triangular matrix and D is a diagonal matrix.
It is known from the above description that the square root matrix of the estimate error covariance matrix may be obtained by using the LDLT factor matrices L and D of a matrix P, which is the estimate error covariance matrix for the transmitted signals. Thus, the present invention proposes another method for computing the initial value of P1/2, and the key point of which is to recursively compute the factor matrices L and D satisfying LDLT factorization of the estimate error covariance matrix for more transmitted signals to be detected, from the factor matrices L and D satisfying LDLT factorization of the estimate error covariance matrix for fewer transmitted signals to be detected. Then, the square root matrix of the estimate error covariance matrix for all the transmitted signals to be detected are computed from the resulted factor matrices L and D satisfying LDLT factorization of the estimate error covariance matrix for all of the transmitted signals to be detected.
The second embodiment of the signal detection method for the digital wireless communication system with multiple antennas is described in the following.
Step 501 is same as step 301.
Step 502 is same as step 302.
At step 503, the LDLT factor matrices L and D of the estimate error covariance matrix for transmitted signal t1 that is last detected is computed, where the matrices L and D are designated with L(t
L(t
Next, the LDLT factor matrices L and D of the estimate error covariance matrix for the m transmitted signals tm, . . . , t2, t1 that are last detected, will be recursively computed, where the matrices L and D are designated with Lt
First, m is set to 2.
At step 504, it is determined whether the LDLT factor matrices of the estimate error covariance matrix for all the transmitted signals have been obtained, that is, it is determined if m is greater than M. If m is greater than M, it is determined that the LDLT factor matrices of the estimate error covariance matrix for the M transmitted signals are obtained, then the procedure proceeds to step 508; otherwise, the LDLT factor matrices L(t
Step 505 is same as step 305.
At step 506: the LDLT factor matrices L and D, i.e., L(t
The LDLT factor matrices L(t
According to L(t
At step 507, m is incremented by 1, i.e., m=m+1, then the procedure proceeds to step 504 to recursively compute the LDLT factor matrices L(t
At step 508, the LDLT factor matrices, i.e., L(t
At step 509, the initial value of P1/2 is computed by using L(t
P(t
Upon acquiring the initial value of P1/2 according to the above steps of
As described at step 405 of
The flow of
At step 600, the received signals x1, . . . , xN are pre-match filtered to obtain the pre-match filtered result zM=(H(M))H·{right arrow over (x)} for the vector {right arrow over (x)} of the received signals, where, (H(M))H is a match filter; H(M) is the channel matrix corresponding to the predetermined detection ordering and H(M)=Ht
At step 601, it is determined whether the last transmitted signal is detected, that is, determining if m is less than 2. If m is less than 2, it is determined that the transmitted signal being detected is the last transmitted signal, and the procedure proceeds to step 608; otherwise, it is determined that the transmitted signal being detected is not the last transmitted signal, then the iteration for signal detection is executed and the procedure proceeds to step 602.
At step 602, D(t
of step 506.
At step 603, the nulling vectors for the m transmitted signals to be detected is calculated by using χm−1(t
The detailed derivation is shown as follows. Gm is the last row of L(t
which is
At step 604, the estimate {tilde over (s)}m=Gmzm of the signal being detected is obtained from the computed nulling vector and the pre-match filtered received signals.
At step 605, slicing is performed on the estimate {tilde over (s)}m according to the predetermined symbol constellation, thereby obtaining ŝm.
At step 606, the effect of transmitted signal that is being detected is canceled from the result of the pre-match filtering on the vector of the received signals. By using the interference cancellation, the problem of the next signal detection is reduced to a problem of detecting m−1 transmitted signals. Specifically, the last entry of the column vector zm that has m entries is deleted to obtain a column vector (zm)minus that has (m−1) entries; the interference from the transmitted signal being detected is canceled from (zm)minus so as to obtain zm−1=(zm)minus−ŝm·φm, where φm is the last column of the matrix Φ(m), or the first m−1 rows of the last column.
At step 607, D(t
Subsequently, m is decreased by 1, that is, m=m−1, and the procedure proceeds to step 601 to execute the next iteration.
At step 608, the nulling vector corresponding to last detected signal is G1=D(t
At step 609, the estimate {tilde over (s)}1=G1z1 of last detected signal is obtained.
At step 610, slicing is performed on the estimate {tilde over (s)}1 according to the predetermined symbol constellation and thereby ŝ1 is obtained, then the flow ends.
When using the method of
In the above two embodiments, the initial value of P1/2 can be recursively obtained by using the square root matrix P1/2 or matrices L and D of the estimate error covariance matrix P. The signals to be detected may be detected by using initial value of P1/2 or matrices L and D as well. It can be seen from the P=P1/2 (P1/2)H that P1/2 satisfies and P=L·D·(L)H that the matrices L and D satisfy, that matrix P1/2 and matrices L and D are the factors matrices of the matrix P, and one type of factor matrices may be used to recursively compute the other type of factor matrices. Thus, in the present invention, when computing the initial value of P1/2 or the initial values of the matrices L and D, one type of factor matrices may be used to recursively compute the other type of factor matrices. This procedure is obvious to those in the art, thus falling within the scope of protection of the present invention.
The signal detection of the present invention may also be applied to other decoding schemes, such as the decoding method described in “A low complexity near ML V-BLAST algorithm”, IEEE Vehicular Technology Conference 2005. In this decoding method, it assumes that there are totally M transmitted signals transmitted from M respective transmitting antennas. For the first transmitted signal being detected, it is not assigned at the receiving end; rather, it is considered as any of all the possible values at the receiving end. For example, if the transmitted signal is modulated by 16QAM, 16 possible values will be discussed. For each possible value, interference cancellation is performed on the received signals. Then the method of the present invention is applied to the remaining M−1 transmitted signals. In this case, 16 sets of estimate vectors for the M transmitted signals that are detected are acquired, and each vector of the received signals corresponding to each of the estimate vectors is obtained by multiplying the channel matrix H with each set of estimate vectors. A vector of the received signals, which has the nearest Euclidean distance to a vector of actually received signals, is selected from the resultant 16 vectors of the received signals. The set of estimate vectors corresponding to the selected vector of the received signals is the estimate of the M transmitted signals that are detected.
The signal detection method of the present invention may be applied not only to the MIMO communication system as shown in
The signal detection method of the present invention may also be applied to a MIMO Orthogonal Frequency Division Multiplexing (OFDM) communication system. The basic principle of the MIMO+OFDM system is shown as follows.
There are M antennas at the transmitting end, and B sub-carriers are used. The frequency bands of the B sub-carriers are orthogonal to each other, and distinguished from each other by using an OFDM decoder. From each of the M transmitting antennas, B groups of data are transmitted by on B sub-carriers respectively. Thus, the M transmitting antenna totally transmit M*B distinct data.
There are N receiving antennas at the receiving end, which receive N received signals respectively. Each of the N received signals is wideband signal spreading over the B sub-carriers. For each of the N wideband received signals, the received signals on the B sub-carriers are first distinguished by using the OFDM decoder, resulting in B narrow band signal components. The each narrow band signal component of the N received signals may be processed by using the method of the present invention and the estimate of the M narrow band transmitted signals on each sub-carrier is then obtained.
If the OFDM modulation step at the transmitting end and the de-modulation step at the receiving end are ignored, the above MIMO+OFDM system is then equivalent to B narrow band MIMO communication systems with multiple antennas. Each of the narrow band MIMO communication systems with multiple antennas operates on the frequency band of the corresponding sub-carrier. Each of the B narrow bank MIMO communication systems is equivalent to the MIMO communication system with multiple-antenna working under the Rayleigh scattering environment as described in the present invention. Thus, the signal detection method of the present invention may also be applied to the MIMO+OFDM system.
The third embodiment describes an apparatus for implementing signal detection in a MIMO system.
The signal receiving unit is configured to receive transmitted signals transmitted from the transmitting end, and send the transmitted signals to the channel matrix acquiring unit and the signal detection unit; the channel matrix acquiring unit is configured to acquire a channel matrix and send it to the recursion unit for obtaining a factor matrix of an estimate error covariance matrix; the recursion unit for obtaining a factor matrix of an estimate error covariance matrix is configured to compute a factor matrix of an estimate error covariance matrix for a part of all the transmitted signals by using the channel matrix, and recursively obtain a factor matrix of an estimate error covariance matrix for a number of transmitted signals by using the channel matrix and the factor matrix of the estimate error covariance matrix for the part of transmitted signals, wherein the number of transmitted signals include the part of transmitted signals and are of a greater number than the part of transmitted signals, and send the obtained factor matrix to the signal detection unit; the signal detection unit is configure to detect the number of transmitted signals including the part of transmitted signals and being of a greater number than the part of transmitted signals, by using the obtained factor matrix.
If a matrix satisfies P=PH, then there is a Cholesky decomposition P=A·AH for the matrix, where A is a lower left triangular matrix. The LDLT factor matrices of the matrix P, i.e., the lower left triangular matrix L and the diagonal matrix D satisfying P=L·D·LH, are normally referred to as another type of Cholesky factor matrices of the matrix P.
In the various signal detection technologies, there is a need for a method and apparatus for computing Cholesky decomposition of an inversion of a matrix in many situations. If the matrix is R, there are two prior art methods for calculating its Cholesky decomposition. The first one finds the inversion P=R−1 of the matrix R first and then calculates its Cholesky decomposition. The other method finds the Cholesky decomposition R=B·BH of the matrix R first, then it calculates the inversion of B, which is the Cholesky decomposition of the inversion P of the matrix R. Similar to the above methods, there are also two methods for calculating another form of the Cholesky decomposition of an inversion of a matrix. One method calculates the inversion P=R−1 of the matrix R first, and then calculates another form of the Cholesky decomposition of the matrix P. The other method finds another form of Cholesky decomposition R=L·D·LH of the matrix R first, and then finds the inversions of the matrices L and D, which are another form of the Cholesky decomposition of the inversion P of the matrix R.
In the above described steps 301 to 308 of the flow chart shown in
In the above described steps 501 to 508 of the flow chart shown in
A method for computing the factor matrix of an inversion of a matrix will be described in the following. The method will be described in the fourth or the fifth embodiment. The fourth embodiment is in fact a kind of rephrasing of steps 301 to 308 of the flow chart shown in
In the fourth embodiment, the method for computing a square root matrix of an inversion of an M×M matrix will be described. The M×M matrix is represented as
The matrix R meets the requirement that the matrix itself is equal to its conjugate transposition RH.
In the following, steps for computing the square root matrix of the inversion of the matrix R will be described with reference to the flow shown in
At step 801, the square root matrix P(1)/2 of the inversion (R(1))−1 of R(1)=[r11] is computed.
R(1) is a sub-matrix composed of the first row and first column of the matrix R. In this embodiment, the initial sub-matrix for recursion is a sub-matrix with one row and one column. In a practical application, it is obvious that a sub-matrix having two rows and columns up to k rows and columns (k<M) may be used as the initial sub-matrix for recursion.
Any P(1)/2 satisfying P(1)/2(P(1)/2)H=(R(1))−1 may be obtained from P(1)/2(P(1)/2)H=(R(1))−1, for example, P(1)/2=√{square root over ((R(1))−1)}=√{square root over ((r11)−1)} may be obtained.
The recursion variable m is set, i.e., m=2.
At step 802, it is determined whether the factor matrix of the inversion of the matrix R is obtained, that is, whether m is greater than M. If m is greater than M, the procedure proceeds to step 806; otherwise, it proceeds to step 803.
At step 803, a matrix R(m) for the current recursion is obtained. R(m) is obtained by adding one row and one column to the matrix R(m−1) used in the last recursion, specifically,
Where, R(m) is a sub-matrix composed of the first m rows and columns of the matrix R, specifically,
R(m−1) is a sub-matrix composed of the first m−1 rows and columns of the matrix R, specifically,
Ym−1 is a vector composed of the first m−1 entries of the mth column of the matrix R, specifically,
λm is the element at the mth row and mth column of the matrix R, specifically it is rmm.
The sub-matrix R(m) for the recursion is extracted from the diagonal of the matrix R, that is, the sub-matrix R(m) satisfies the requirement that the sub-matrix R(m) is equal to its conjugate transposition (R(m))H.
In a real decomposing procedure, there is no need to get the whole structure of R(m); rather, it only needs to get Ym−1 and λm, which can both be extracted from the matrix R directly.
At step 804, the square root matrix P(m)/2 of the inversion (R(m))−1 of R(m) is computed.
P(m)/2 is recursively computed from P(m)/2 (P(m)/2)H=(R(m))−1.
is a full upper triangular matrix P(m)/2 which satisfies P(m)/2(P(m)/2)H=(R(m))−1, where, P(m−1)/2 is the result of the last recursion or is P(1)/2 obtained at step 801, βm−1 is an arbitrary βm−1 that satisfies and is derived from
such as
Thus, the result of recursively computing
At step 805: m is incremented by one, i.e., m=m+1, then the procedure proceeds to step 802.
During the recursion, m may be incremented by an integer greater than 1, for example, m=m+2, or m=m+3. This means that if a square root matrix of an inversion of a 2×2 sub-matrix is computed in the current recursion, then in the next recursion, a square root matrix of an inversion of a 4×4 sub-matrix may be directly computed, or a square root matrix of an inversion of a 5×5 sub-matrix may directly computed.
At step 806, the square root matrix P(M)/2 of the inversion R−1 of the matrix R is obtained, where the obtained P(M)/2 satisfies the relationship of P(M)/2(P(M)/2)H=R−1.
In the fifth embodiment, the method for computing LDLT factor matrices L and D of an inversion of an M×M matrix will be described. The M×M matrix is represented as
The matrix R meets the requirement that the matrix itself is equal to its conjugate transposition RH.
In the following, steps for computing the matrices L and D of the inversion of the matrix R will be described with reference to the flow shown in
At step 901: the factor matrices L and D of the inversion (R(1))−1 of R(1)=[r11] are computed and designated with L(1) and D(1) respectively.
L(1)=1, D(1)=(R(1))−1.
Where, R(1) is a sub-matrix composed of the first row and first column of the matrix R. In this embodiment, the initial sub-matrix for recursion is a sub-matrix with one row and one column. In a practical application, it is obvious that a sub-matrix having two rows and columns up to k rows and columns (k<M) may be used as the initial sub-matrix for recursion.
The recursion variable m is set to 2, i.e., m=2.
At step 902: it is determined whether the LDLT factor matrices of the inversion of the matrix R are obtained, that is, whether m is greater than M. If m is greater than M, the procedure proceeds to step 906; otherwise, it proceeds to step 903.
At step 903: matrix R(m) for the current recursion is obtained. R(m) is obtained by adding one row and one column to the matrix R(m−1) used in the last recursion, specifically,
Where, R(m) is a sub-matrix composed of the first m rows and columns of the matrix R, specifically,
R(m−1) is a sub-matrix composed of the first m−1 rows and columns of the matrix R, i.e.,
Ym−1 is a vector composed of the first m−1 entries of the mth column of the matrix R, specifically,
λm is the element at the mth row and mth column of the matrix R, specifically it is rmm.
The sub-matrix R(m) for the recursion is extracted from the diagonal matrix of the matrix R, that is, the sub-matrix R(m) satisfies the requirement that the sub-matrix R(m) is equal to its conjugate transposition (R(m))H.
In a real decomposing procedure, there is no need to get the whole structure of R(m); rather, it only needs to get Ym−1 and λm, which can both be extracted from the matrix R directly.
At step 904, the LDLT factor matrices L(m) and D(m) of the inversion (R(m))−1 of R(m) is computed.
The LDLT factor matrices L(m−1) and D(m−1), which satisfy the relationship of L(m−1)D(m−1)(L(m−1))H=(R(m−1))−1, of (R(m))−1 are obtained at step 901 or from the last recursion of step 904.
L(m) and D(m) may be recursively computed according to L(m−1) and D(m−1) as well as λm, Ym−1 obtained at step 903, the result is:
where,
At step 905, m is incremented by one, i.e., m=m+1, then the procedure proceeds to step 902.
At step 906: the LDLT factor matrices L(M) and D(M) of the inversion R−1 of the matrix R is obtained, and the obtained L(M) and D(M) satisfy the relationship of L(M)D(M)(L(M))H=R−1.
According to the fifth embodiment, a square root matrix of an inversion of an M×M matrix may also be computed. For example, in the fifth embodiment, after obtaining the matrices L and D, i.e., L(M) and D(M) of the inversion of the matrix R, it is possible to compute the square root matrix P(M)/2 of the inversion R−1 of the matrix R by using L(M) and D(M). Specifically, a diagonal matrix D(M)/2 satisfying D(M)/2(D(M)/2)H=D(M) may be first obtained from D(M), then P(M)/2 is computed as P(M)/2=L(M)·D(M)/2 the resulted P(M)/2 satisfies the relationship of P(M)/2 (P(M)/2)H=R−1.
A concept may be made clear based on the fourth and fifth embodiments.
By substituting
into P(M)=P(M)/2 (P(M)/2)H, it can be obtained:
It can be seen from the above equation that P(M−1)/2 is not the factor matrix of the sub-matrix of P(M). Only P(M−1)/2(P(M−1)/2)H+vvH is equal to the sub-matrix of P(M).
That is to say, in the previous embodiments of signal detection in a MIMO system, P(m)=P(m)/2(P(m)/2)H (m=1, 2, . . . , M) are not sub-matrices of P(M), rather, each P(m) is the estimate error covariance matrix of the corresponding m (m=1, 2, . . . , M) transmitted signals to be detected. It should be noted that up till then, the other M-m transmitted signals are already detected and their interference on the m transmitted signals to be detected is already cancelled. Therefore, the channel model at that time is equivalent to the model having only m transmitted signals to be detected transmitted at the transmitting end, and the other M-m transmitted signals that are already detected are equivalent to not existing anymore.
P(m)/2 (P(m)/2)H=(R(m))−1 holds true for any m=1, 2, . . . , M, that is, P(m)/2 is the factor matrix of the inversion of R(m), and R(m) is the sub-matrix of the largest R(M). That is to say, the obtained intermediate results P(m)/2 (m=1, 2, . . . , M) are the factor matrix of the inversion of the sub-matrix of R(M).
It can be easily seen that the method for computing a factor matrix of an inversion of a matrix can also be used to compute an inversion of a matrix efficiently. After acquiring the square root matrix P(M)/2 of the inversion R−1 of R at step 806, the matrix product P(M)/2 (P(M)/2)H is further computed, which is the inversion R−1 of the matrix R. On the other hand, after acquiring the LDLT matrices, i.e., L(M) and D(M), of the inversion R−1 of the matrix R at step 906, the matrix product L(M)D(M)(L(M))H is further computed, which is the inversion R−1 of the matrix R.
Moreover, in each embodiment, an element of the matrix R may be expressed in a form other than the value of the element, such form is then used to compute the factor matrix of the inversion of the matrix R. As explain on page 36 of the specification, in order to make it easier to implement with CORDIC, the element rt
A matrix decomposing apparatus is provided according to the sixth embodiment.
The first unit comprises: an initial sub-matrix acquisition unit and an initial factor matrix computation unit; the second unit comprises: a vector and scalar acquisition unit and a recursion unit for obtaining a factor matrix. The initial sub-matrix acquisition unit is configured to acquire initial sub-matrix from the matrix recorded in the matrix input unit and send the initial sub-matrix to the initial factor matrix computation unit; the initial factor matrix computation unit is configured to compute and send factor matrix of an inversion of the initial sub-matrix to the recursion unit for obtaining a factor matrix; the vector and scalar acquisition unit is configured to acquire scalars and vectors required for the recursion from the matrix input unit and send the acquired scalars and vectors to the recursion unit for obtaining a factor matrix; the recursion unit for obtaining a factor matrix is configured to recursively obtaining the factor matrix of the inversion of the matrix, by using the scalars and vectors received from the vector and scalar acquisition unit and factor matrix received from the initial factor matrix computation unit or that obtained from the last recursion, so as to use the obtained factor matrix for the next recursion or have the obtained factor matrix output. The second unit further comprises a recursion control unit. The recursion control unit is configured to set a recursion variable, use the recursion variable to control the recursion, and send the recursion variable to the vector and scalar acquisition unit and the recursion unit for obtaining a factor matrix; the vector and scalar acquisition unit is configured to acquire the scalars and vectors for the present recursion according to the recursion variable received from the recursion control unit; the recursion unit for obtaining a factor matrix is configured to recursively obtain the factor matrix of the inversion of the sub-matrix comprising the vector and scalar according to the recursion variable received from the recursion control unit.
In the following, operations performed by each unit will be described in more detail.
The initial sub-matrix acquisition unit is configured to acquire a sub-matrix composed of a first number of rows and columns of the matrix; the initial factor matrix computation unit is configured to compute a factor matrix of the sub-matrix composed of a first number of rows and columns of the matrix; the vector and scalar acquisition unit is configured to acquire entries of the sub-matrix, which is composed of the second number of rows and columns and including the sub-matrix composed of the first number of rows and columns, but not included in the sub-matrix composed of the first number of rows and columns, and send the acquired entries to the recursion unit for obtaining a factor matrix; the recursion unit for obtaining a factor matrix is configured to recursively obtain the factor matrix of the sub-matrix composed of the second number of rows and columns of the matrix, by taking the last recursively obtained factor matrix of the inversion of the sub-matrix composed of the first number of rows and columns of the matrix as a sub-matrix, and using the acquired entries; the recursion control unit is configured to set the second number greater than the first number; determine whether the factor matrix of the inversion of the matrix are obtained; control the recursion unit for obtaining a factor matrix to output the result if the factor matrix of the inversion of the matrix is obtained; otherwise, assign the second number to the first number, increment the second number by 1 or an integer lager than 1 and send the first and second numbers to the vector and scalar acquisition unit and the recursion unit for obtaining a factor matrix.
More specifically, the initial sub-matrix acquisition unit is configured to acquire a sub-matrix composed of one row and one column of the matrix; the initial factor matrix computation unit is configured to compute a factor matrix of the sub-matrix composed of the one row and one column of the matrix; the vector and scalar acquisition unit is configured to acquire entries of the sub-matrix, which is composed of m rows and m columns and includes the sub-matrix composed of m−1 rows and m−1 columns, but not included in the sub-matrix composed of m−1 rows and m−1 columns, and send the acquired entries to the recursion unit for obtaining a factor matrix; the recursion unit for obtaining a factor matrix is configured to recursively obtain a factor matrix of the sub-matrix composed of m rows and m columns of the matrix, by taking the last recursively obtained factor matrix of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix as a sub-matrix and using the acquired entries; the recursion control unit is configured to set a recursion variable having an initial value of 2, determine whether the factor matrix of the inversion of the matrix are obtained, control the recursion unit for obtaining a factor matrix to output the result if the factor matrix of the inversion of the matrix is obtained, otherwise, increment m by 1 and send the number m to the vector and scalar acquisition unit and the recursion unit for obtaining a factor matrix.
The vector and scalar acquisition unit is configured to extract vector Y and scalar λ from the matrix recorded in the matrix input unit.
When computing the square root matrix of an inversion of a matrix, the initial factor matrix computation unit is configured to compute a square root matrix of the sub-matrix composed of the one row and one column of the matrix; the recursion unit for obtaining a factor matrix is configured to obtain a square root matrix of the sub-matrix composed of m rows and m columns of the matrix by adding a row and a column composed of a vector ν comprising m−1 entries, a zero vector comprising m−1 entries and a scalar β to the square root matrix of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix, wherein, an entry at the intersection of the row and the column is the scalar β, and remaining entries of the column are composed of the vector ν, and remaining entries of the row are composed of the zero vector; wherein, the scalar β is computed from the vector Y, the scalar X and the square root matrix of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix; the vector ν is computed from the scalar β, the vector Y and the square root matrix of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix.
When computing the LDLT factor matrices of an inversion of a matrix, the initial factor matrix computation unit is configured to compute LDLT factor matrices L and D of the sub-matrix composed of the one row and one column of the matrix; the recursion unit for obtaining a factor matrix is configured to obtain the matrix L of the sub-matrix composed of m rows and m columns of the matrix by adding a row and a column composed of a vector μ comprising m−1 entries, a zero vector comprising m−1 entries and a scalar 1 to the matrix L of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix, wherein, an entry at the intersection of the row and the column is the scalar 1, remaining entries of the row are composed of the vector μ, and remaining entries of the column are composed of the zero vector; obtain the matrix D of the sub-matrix composed of m rows and m columns of the matrix by adding a scalar χ to a diagonal of the matrix D of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix, remaining entries of the row and column having the scalar χ as an entry are all zeroes, wherein, the vector μ is computed from the vector Y and the matrices L and D of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix; the scalar χ is computed from the vector Y, the scalar λ, and the matrices L and D of the inversion of the sub-matrix composed of m−1 rows and m−1 columns of the matrix.
The computation results from each unit of the apparatus according to the sixth embodiment are already expressed with detailed equations in the fourth and fifth embodiments, which will not be repeated here.
The above is only preferred embodiments of the disclosure, and is not intended to limit the scope of the disclosure. Any modification, equivalent substitution and improvement within the spirit and scope of the disclosure are intended to be included in the scope of the disclosure.
Patent | Priority | Assignee | Title |
10720982, | Jan 05 2017 | Intel Corporation | Measurement of beam refinement signal |
10756790, | Jun 17 2018 | Tybalt, LLC | Distributed radio system |
11196603, | Jun 30 2017 | Tybalt, LLC | Efficient synthesis and analysis of OFDM and MIMO-OFDM signals |
11570029, | Jun 30 2017 | Tybalt, LLC | Efficient synthesis and analysis of OFDM and MIMO-OFDM signals |
11575555, | Aug 02 2004 | Genghiscomm Holdings, LLC | Carrier interferometry transmitter |
11646929, | Aug 02 2004 | Genghiscomm Holdings, LLC | Spreading and precoding in OFDM |
11671299, | Aug 02 2004 | Genghiscomm Holdings, LLC | Wireless communications using flexible channel bandwidth |
11700162, | May 25 2017 | Tybalt, LLC | Peak-to-average-power reduction for OFDM multiple access |
11784686, | Aug 02 2004 | Genghiscomm Holdings, LLC | Carrier interferometry transmitter |
11791953, | May 26 2019 | Tybalt, LLC | Non-orthogonal multiple access |
11804882, | Aug 02 2004 | Genghiscomm Holdings, LLC | Single carrier frequency division multiple access baseband signal generation |
11894965, | May 25 2017 | Tybalt, LLC | Efficient synthesis and analysis of OFDM and MIMO-OFDM signals |
11917604, | Jan 25 2019 | Tybalt, LLC | Orthogonal multiple access and non-orthogonal multiple access |
8345788, | Dec 05 2008 | Electronics and Telecommunications Research Institute | Method and apparatus for detecting signal |
8472309, | Aug 20 2008 | Qualcomm Incorporated | Using CDMA to send uplink signals in WLANs |
8526296, | Feb 12 2010 | Fujitsu Limited | Signal separation device and signal separating method |
Patent | Priority | Assignee | Title |
5333191, | Apr 22 1993 | InterDigital Technology Corporation | Detection of multifrequency tone signals |
6600796, | Nov 12 1999 | WSOU Investments, LLC | Method and apparatus for receiving wireless transmissions using multiple-antenna arrays |
20030101031, | |||
20040034837, | |||
20050249303, | |||
20050271016, | |||
20060109891, | |||
20090049363, | |||
CN1633051, | |||
CN1725666, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 16 2008 | Huawei Technologies Co., Ltd. | (assignment on the face of the patent) | / | |||
Jun 17 2008 | ZHANG, YI | HUAWEI TECHNOLOGIES CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021421 | /0813 | |
Jun 17 2008 | ZHU, HUFEI | HUAWEI TECHNOLOGIES CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021421 | /0813 |
Date | Maintenance Fee Events |
Jan 29 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 15 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 18 2022 | REM: Maintenance Fee Reminder Mailed. |
Oct 03 2022 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Aug 31 2013 | 4 years fee payment window open |
Mar 03 2014 | 6 months grace period start (w surcharge) |
Aug 31 2014 | patent expiry (for year 4) |
Aug 31 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 31 2017 | 8 years fee payment window open |
Mar 03 2018 | 6 months grace period start (w surcharge) |
Aug 31 2018 | patent expiry (for year 8) |
Aug 31 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 31 2021 | 12 years fee payment window open |
Mar 03 2022 | 6 months grace period start (w surcharge) |
Aug 31 2022 | patent expiry (for year 12) |
Aug 31 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |