MIMO Decoding System and Method
The present application claims priority from the patent application No. 181398 filed in Israel
on 18 February 2007 by the same applicant and having the same title.
The present invention relates to a spatial-multiplexing MIMO decoding system and method.
PMLMS(tm) - a novel methods for decoding Spatial-Multiplexing MIMO, is claimed as trademark by the present applicant.
BACKGROUND OF THE INVENTION
The present invention relates to MIMO (Multiple-Input, Multiple-Output) communication links. These are communication systems which use several (more than one) transmit (Tx) antennas, and several (more than one) receive (Rx) antennas. The purpose of using MIMO compared to a single antenna for Tx and Rx, is to improve the performance of a communication channel, without increasing the allocated bandwidth.
A problem in MIMO systems is the signal decoding at the receiver. Simple implementations have rather low performance, whereas high performance requires complex, more expensive implementations.
The problem addressed with the present invention relates to an efficient decoding method for the received signals, that is estimating the transmitted signals from the received signals and with a knowledge of the scattering matrix H.
Existing Decoding Methods (Prior Art)
Consider the following existing types of MIMO decoding methods (prior art): 1. Maximum-Likelihood (ML): This is the optimum (best performance) decoding method, but is generally impractical. This method searches all possibilities for all symbols si, s2, .... In general terms, the computational complexity grows exponentially
with the number of Tx antennas and polynomially with the constellation size: O(M"), where n is the number of Tx antennas and M is the size of the constellation (the signaling alphabet). For example, when there are 2 Tx antennas, as illustrated in FIG. 1 and Equation 4: when using QPSK there are 42 = 16 possibilities; when using 16-QAM there are 162 = 256 possibilities; however, when using 64-QAM there are 642 = 4096 possibilities, which ceases to be practical due to the large computational complexity (number of calculations). As a 2nd example, when there are 4 Tx antennas: even 16-QAM ceases to be practical, because there are 164 = 65536 possibilities; moreover, when using 64-QAM there are 644 = 16777216 possibilities; both 16-QAM and 64-QAM have enormous computational complexity (number of calculations) when there are 4 Tx antennas.
2. Sphere-Decoding (an approximation to ML): Search only a subset of the possible parameter-space, usually a sphere or paraboloid in an w-dimensional complex subspace over real and imaginary integers, or equivalently, a 2n-dimensional subspace over integers, where n is the number of Tx antennas. There are various ways to determine the reduced search parameter-space subset, in order to reduce the search size and computations as much as possible, while still achieving a solution that is equal to the Maximum-Likelihood (ML) solution. See [3] and the references therein for an extensive review and description of the current state-of-the-art of Sphere Decoding.
3. Zero-Forcing (also called Decorrelation): Basically, this is a Least-Squares pseudo- inversion when the channel-matrix is rectangular, or a direct matrix inversion when the channel-matrix is square. Generally, this method provides very poor performance due to noise-amplification because some of the channel matrix elements, which are "poor", can cause deterioration of the whole decoding. However, the benefit of this method is its relatively low computational complexity (small number of calculations).
4. Full or Partial MMSE (minimum mean-square error): Take into consideration the noise (and possibly self-interference), in order to reduce or eliminate the noise-amplification found in Zero-Forcing, however, the performance is less than the optimum Maximum- Likelihood (ML) method. There are 2 methods for doing this: (1) Perform MMSE over the full channel matrix; (2) Perform partial MMSE, by treating some of the matrix
columns as self-interference, and take them into account in the decoding process. Generally, the MMSE methods have a small performance advantage over Zero-Forcing. A similar but better method is MMSE with Interference Cancellation (the idea of Successive Interference Cancellation is described in [2]).
5. Turbo-MIMO (jointly with FEC decoding): An iterated version of MMSE with Interference Cancellation, where MtMO decoding is performed jointly with FEC decoding (FEC = forward-error correction code, either Convolutional, or Turbo-Code, or LDPC).
Following are the descriptions of some of these methods:
Zero-Forcing (Decorrelation)
This method is a Least-Squares pseudo-inversion when the channel-matrix is rectangular, or a direct matrix inversion when the channel-matrix is rectangular. Generally, this method provides very poor performance. The benefit of this method is its relatively low computational complexity (small number of calculations).
The equations for Zero-Forcing (Decorrelation) decoding are:
When H is rectangular m x n, with m > n (more Rx antennas than Tx antennas) : Implementation 1 : sZF = \H.H • Hj • ΕLH • y is the Zero - Forcing solution
When H is square, m = n (same number of Rx and Tx antennas) a simplification is : sZF = H"1 • y is the Zero - Forcing solution
%ZF = HardDecision(sZF) Implementation 2 :
Q, R are the QR - decomposition of H :
H = Q -R, Q^ - Q = I, R is upper - triangular sZF = R"1 • (Qff • y) is the Zero - Forcing solution
R"1 is performed using back - substitution s ZF - HardDecision (s w ) Implementation 3 :
U, D, V are the S VD of H :
H = U -D - V* . Uff - U = I, VH - V = I D is diagonal and pos.def.
D = diag(σι ,σ2,..., σn), σ, > 0 s ZF = V • D"1 • (Uff • y ) is the Zero - Forcing solution s ZF = HardDecision(s ZF )
Equation 1: Zero-Forcing (Decorrelation) Method
It is well-known from matrix analysis literature that better numerical accuracy, stability, and sometimes lower computation complexity may be obtained by using various matrix- decomposition methods. For example, the QR-decomposition method is shown in Implementation 2; the SVD (singular-value decomposition) method is shown in Implementation s.
In the equations above, s = HardDecision(s) means: Given an input vector-point s , which is any vector-point with contiguous values, find the closest vector-point s whose vector-element components belong to the constellations (the signaling alphabets) of each of the vector-element components. (The constellation of each of the vector-element components has a discrete set of finite number of values, for example: QPSK, 16-QAM, 64-QAM, etc.) This operation is well- known in the communications literature.
Note that, in order to prepare the decoded symbols for subsequent FEC decoding (FEC = forward-error correction code, either Convolutional, or Turbo-Code, or LDPC), it is usually necessary to create LLR (log-likelihood ratio) values, or other soft-decision metrics, which
indicate the confidence level for each bit in the decoded symbols. This operation is well-known in the communications literature. This operation is a subsequent and separate processing step.
FuII-MMSE (Minimum Mean-Square Error)
This method uses minimum mean-square error estimation (for both rectangular and square channel-matrix) using the full channel-matrix. Generally, this method provides slightly better performance compared to Zero-Forcing, however, the performance is not as good as the optimum Maximum-Likelihood (ML) method.
The equations for full-MMSE decoding are:
When H is any rectangular m x n or square matrix, and σ2 is the noise + interference variance (power) (with any compensation factor) :
Implementation 1 : s MMSB = H^ • (H • Hff + σ 2Iffi Y ■ γ is the full - MMSE solution *MMSB = HardDedsioniSjwsn) Implementation 2 : smiSE = (H* • H + σ2ln Y HH y is the full - MMSE solution *MMSB = HardDecision(ϊκmsE) Implementation 3 :
C is the Cholesky factorization of (Hff ■ H + σ2l,, ) : {μH ■ H + σ2\n ) = CH • C, C is upper - triangular
SMMSE = C
"1 • i
c~H ■ {β-
H ■ y ))
is the ful1 - MMSE solution C
"1 is performed using back - substitution S
MMSE =
Implementation 4 :
U, D, V are the SVD of H :
H = U - D - Vff , UH - U = I, VH - V = I D is diagonal and pos.def.
D = diag(σλ , σ2,..., σn\ σi ≥ 0
Z = (p> + σ%y . J> = diag<r σ' σ" σ" ^
■σ? + σ2 σ2 2 + σ2 ' σl + σ2 h'MSB = V • Z • (u" • y) is the full - MMSE solution *uusB = HardDecision(smm)
Equation 2: Full-MMSE Method
When H is a rectangular m x n matrix, with m > n (more Rx antennas than Tx antennas), Implementation 1 implies an m x m matrix inversion. However, it is well-known from matrix analysis literature that the processing may be reduced such that only an n x n matrix inversion is required, as indicated by Implementation 2. It is well-known from matrix analysis literature that better numerical accuracy, stability, and sometimes lower computation complexity may be obtained by using various matrix-decomposition methods. For example, the Cholesky factorization method is shown in Implementation 3; the SVD (singular- value decomposition) method is shown in Implementation 4.
In the equations above, s = HardDecision(s) means: Given an input vector-point s , which is any vector-point with contiguous values, find the closest vector-point s whose vector-element components belong to the constellations (the signaling alphabets) of each of the vector-element components. (The constellation of each of the vector-element components has a discrete set of finite number of values, for example: QPSK, 16-QAM, 64-QAM, etc.) This operation is well- known in the communications literature.
Note that, in order to prepare the decoded symbols for subsequent FEC decoding (FEC = forward-error correction code, either Convolutional, or Turbo-Code, or LDPC), it is usually necessary to create LLR (log-likelihood ratio) values, or other soft-decision metrics, which indicate the confidence level for each bit in the decoded symbols. This operation is well-known in the communications literature. This operation is a subsequent and separate processing step.
Maximum-Likelihood (ML)
This is the optimum (best performance) decoding method, but is generally impractical. This method searches all possibilities for all symbols si, $2, ... to find the minimum value of the Euclidean vector norm of the error. Mathematically, the Maximum-Likelihood (ML) method can be written as: s^ = arg min ||y - H • s||2 j is the Maximum - Likelihood solution where )|»|| is the squared Euclidean vector norm :
IMI" - yff ■ v is real and non - negative and arg min { } means : s to search for the minimum overall possibilities of the vector s. Equation 3: Maximum-Likelihood (ML) Method
The computational complexity grows exponentially with the number of Tx antennas and polynomially with the constellation size: O(M"), where n is the number of Tx antennas and M is the size of the constellation (the signaling alphabet): QPSK has M= 4, 64-QAM has M = 64, etc.
o
In the equation above, the decoded vector-point s^ already consists of vector-element components that belong to the constellations (the signaling alphabets) of each of the vector- element components. (The constellation of each of the vector-element components has a discrete set of finite number of values, for example: QPSK, 16-QAM, 64-QAM, etc.)
Note that in order to prepare the decoded symbols for subsequent FEC decoding (FEC = forward-error correction code, either Convolutional, or Turbo-Code, or LDPC), it is usually necessary to create LLR (log-likelihood ratio) values, or other soft-decision metrics, which indicate the confidence level for each bit in the decoded symbols. This operation is well-known in the communications literature. This operation is a subsequent and separate processing step.
SUMMARY OF THE INVENTION
An innovative method for decoding Spatial-Multiplexing MTMO is disclosed.
The new method achieves improved performance while using a MDVIO system of lower complexity with respect to prior art methods and systems.
The new decoding method is also applicable to Collaborative MTMO (which is a special case of Spatial-Multiplexing).
The invention is generally illustrated, by way of example, with two embodiments, one for a system with two transmit antennas and the other for a system with more than two transmit antennas.
Benefits of the new method include, inter alia:
1. For a Spatial-Multiplexing system that has 2 Tx antennas, the decoding performance is optimum (best performance), i.e., it achieves a solution that is equal to the Maximum-Likelihood (ML) solution. (It is understood that this performance is valid for a system with any number of Rx antennas.)
2. For a Spatial-Multiplexing system that has more than 2 Tx antennas (e.g., 3 to 8 Tx antennas), its decoding performance is less than the optimum Maximum-Likelihood (ML) performance, but much better than that of the FuIl-MMSE or Zero-Forcing (Decorrelation) methods. As the number of Tx antennas increases above 2, the performance decreases compared to ML (and the performance advantage compared to FuIl-MMSE or Zero-Forcing decreases). However, practical systems use a relatively low number of Tx antennas, e.g., usually not more than 4 Tx antennas, and for these cases, the performance of the current invention is only slightly less than ML, but still better than the FuIl-MMSE or Zero-forcing methods. (It is understood that this performance is valid for a system with any number of Rx antennas.)
3. The computational complexity (number of calculations) is substantially less than that of the Maximum-Likelihood (ML) method. In general terms, for 2 Tx antennas the computational complexity grows linearly with the number of Tx antennas and linearly with the constellation size: OQiAf), and for more than 2 Tx antennas the computational complexity grows with the cube of the number of Tx antennas and linearly with the constellation size: OQi3M), where n is the number of Tx antennas and M is the size of the constellation (the signaling alphabet): QPSK has M = 4, 64-QAM has M= 64, etc. Compare this to the computational complexity of ML, which is: O(M").
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a baseband signal model for 2x2 Spatial-Multiplexing MTMO
FIG. 2 details a Baseband Signal Model for 2-Tx Collaborative MIMO
FIG. 3 details a decoding method suitable for a system with two transmit antennas.
FIG. 4 details a decoding method suitable for a system with more than two transmit antennas.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Definitions of the terms MTMO, Tx, Rx, STC, Spatial-Multiplexing, Collaborative MTMO5 etc., can be found below in the present disclosure.
References
[1] 'TEEE Standard for Local and Metropolitan Area Networks - Part 16: Fixed and
Mobile ," IEEE Standard 802.16e (Mobile) Corrigendal D 12, 14-Oct-05. [2] G. J. Foschini, "Layered Space-Time Architecture for Wireless Communication in a
Fading Environment When Using Multi-Element Antennas," Bell Labs Technical
Journal, vol. 2, pp. 41-59, 1996. [3] Z. Guo and P. Nilsson, "Algorithm and Implementation of the K-Best Sphere
Decoding for MDvIO Detection, " IEEE Journal on Selected Areas in Communications, Vol. 24, No. 3, March 2006.
[4] D. Tse and P. Viswanath, "Fundamentals of Wireless Communications," Cambridge
University Press (ISBN 0-521-84527-0), 2005.
Definitions and Acronyms
Tx: Transmit or transmitters). Rx: Receive or receiver(s).
MTMO: Multiple-input, multiple-output. Communication systems which use several (more than one) Tx antennas, and several (more than one) Rx antennas. The purpose of using
MIMO compared to a single antenna for Tx and Rx, is to improve the signal decoding and detection at the receiver (due to the statistics of signal propagation in the physical space), or to increase the transmission data-rate (without increasing the used bandwidth or modulation), or both (improved decoding together with increased data-rate).
STC: Space- Time Coding. Generally, these are various schemes that take advantage of the physical separation between Tx antennas and between Rx antennas, and the statistics of
signal propagation in the physical space, to increase the noise-immunity of the transmitted signals. Spatial Multiplexing / Layered STC: Forms of space-time coding where redundant information is usually not transmitted, and the increase in the noise-immunity of the transmitted signals is due only to the statistics of the highly scattering signal propagation in the physical space, such as in the well-known V-BLAST scheme (see [2]). This is an Open-Loop method; see FIG. 1. Collaborative MTMO: A specific application of Spatial Multiplexing, where the transmitting antennas belong to different and separate transmitting systems; each separate transmitting system may have only a single Tx antenna. Typically, there is a single common receiving system, which receives the transmissions and decodes them jointly, see FIG. 2, This is a special case of Spatial Multiplexing.
Open-Loop: When the transmitter does not have knowledge of the channels between the Tx and Rx antennas. These methods are suitable for highly mobile scenarios. Closed-Loop: When the transmitter has knowledge of the channels, either exactly, or in some statistical sense, then the transmitter can use some method of Precoding to create optimal transmission signals. The transmitter can obtain the channel state information either via feedback from the receiver or via reciprocity of the channels in TDD systems. These methods are only suitable in fixed or very low mobility scenarios. Beamforming: Forms of signal processing, either in the transmitter (Tx-BF) or receiver (Rx- BF) or both (combined-Tx-and-Rx-BF) for creating a directivity gain in the spatial direction of the desired signal(s), and suppression or nulling in the spatial direction of interferers (and noise) and other non-desired signal sources. MEVIO Decoding methods: Methods for decoding the symbols and data sent using any form of MDVIO. Existing types of decoding methods (prior art): Maximum-Likelihood (ML),
Sphere-Decoding (an approximation to ML), Zero-Forcing (also called Decorrelation), Partial Correlation (Matched Filtering), Full or Partial MMSE (minimum mean-square error), MMSE with Interference Cancellation (IC either Successive (SIC) or Parallel (PIC)), Iterated MMSE with IC, Turbo-MIMO (jointly with FEC decoding). OFDM: Orthogonal Frequency-Division Multiplexing. Communication method resembling multi-carrier modulation, where each subcarrier is placed as close as possible to its neighboring subcarriers, but is orthogonal to them (and therefore does not interfere with them). The processing for modulating and demodulating is usually performed using IFFT and FFT, respectively (Inverse and direct Fast Fourier Transform, respectively). The
complete OFDM symbols are broadband, but each subcarrier observed separately is usually narrowband. This method is used in the communication standard IEEE 802.1 la/g. OFDMA: Orthogonal Frequency-Division Multiple- Access. Communication method similar to OFDM (see above), where the reserved bandwidth is shared between different users; each user is allocated only part (not necessarily all) of the available subcarriers. Different users overlap in time, but not in frequency. It is similar to, and suitable for cellular-type of communications. The complete OFDMA symbols are broadband, but each subcarrier observed separately is usually narrowband. This method is used in the communication standard IEEE 802.16e, see [I]. CDMA: Code-Division Multiple-Access. Communication method based on Direct-Sequence Spread-Spectrum, which uses orthogonal or quasi-orthogonal spreading sequences to separate between different users that share the same reserved bandwidth. Different users overlap in both time as well as frequency, but may be separated using the spreading sequences, since the spreading increases each user's processing gain. It is suitable for cellular-type of communications. The complete CDMA transmission is broadband, but the symbols after de-spreading are narrowband. This method is used in the communication standard WCDMA part of UMTS (also called IMT-2000, an initiative for 3G).
Mathematical Notation
All Greek-letter symbols indicate real (non-complex) scalar numbers (e.g.: α, β,γ). The English-letter symbols: i,j, k, m, n indicate integers, usually used as index variables. All other English-letter symbols indicate complex scalars, vectors, or matrices: lower-case non- bold symbols are scalars (e.g. : h, g ), lower-case bold symbols are column vectors (e.g. : h, g ), upper-case symbols are matrices (e.g.: H, G or H, G).
The notation (•)* is the complex conjugate (for scalars, vectors, or matrices).
In the notation (•) ≡ [(•)* J , T is the transpose (without complex conjugation), and H is the Hermitian-transpose (complex conjugate transpose).
Signal Model for Spatial-Multiplexing MIMO
The signal model described herein is a baseband representation, suitable for (but not limited to):
1. A narrowband single-carrier transmission;
2. Each of the subcarriers in OFDM or OFDMA transmitted symbols (the complete OFDM or OFDMA symbols are broadband, but each subcarrier observed separately is narrowband);
3. The symbols of a CDMA transmission after de-spreading (the complete CDMA transmission is broadband, but the symbols after de-spreading are narrowband).
In the communication system types mentioned above, even in a frequency-selective fading- multipath transmission propagation medium, the baseband representation of the channel from each Tx antenna to every Rx antenna will experience flat-frequency fading, so it may be modeled in baseband by a single complex scalar.
Due to the transmission propagation medium characteristics, the received signals at the Rx antennas are also contaminated by undesired interferers, noise, and other non-desired signal sources. These are modeled by an unknown additive noise component, which generally, may be non-white (colored, i.e. correlated), and possibly non-Gaussian (e.g. due to interferers having M- QAM signals). However, the possible correlation between the components is time-variant and unknown.
FIG. 1 illustrates a baseband signal model for 2x2 Spatial-Multiplexing MTMO
The nomenclature "2x2" denotes the dimensions of the channel-matrix consisting of the channel elements faj .
The symbols 11, or data to be transmitted, are divided in unit 1 into data streams to be transmitted by separate antennas. In this example, the symbol-to-antenna mapper 1 separates the data into two streams to be transmitted through transmit antennas 12 and 13. In other embodiments, more than two transmit antennas may be used.
The transmitted wireless waves travel through space to the receive antennas 21 and 22, two receive antennas in this example, although a different number of receive antennas may be used.
The various paths between the transmit and receive antennas are illustrated, with the scattering matrix (hi 1, hi 2, h21, h22) comprised of complex scalars, indicating the path loss and complex phase rotation in each path.
At the receiver, a symbol detection unit 2 may perform a symbol detection algorithm or method. The detected symbols and LLR values 23 may then be further processed in a FEC decoder unit 3.
The problem addressed with the present invention relates to an efficient decoding method for the received signals, that is estimating the transmitted signals (si, s2 in this example) from the received signals (rl, r2 in this example) and with a knowledge of the scattering matrix H (hi 1, hl2, h21, h22 in this example). The decoding methods may be implemented, for example, in the unit 2.
Note that in general, the number of Tx antennas and Rx antennas does not need to be the same, which implies that the channel-matrix need not be square, but may be rectangular.
A specific well-known application of Spatial Multiplexing (a special case), is Collaborative MIMO. In this application, the transmitting antennas 12 and 13 belong to different and separate transmitting systems 16 and 17, respectively. Typically, there is a single common receiving system 2, which receives the transmissions and decodes them jointly, see FIG. 2. In this example, input symbols streams 112 and 113 are transmitted through separate transmitters 16 and 17, respectively.
Receive antennas 21 and 22 at the receiver implement the multiple-receive component of the system.
In other embodiments, more than two transmit antennas may be used.
The transmitted wireless waves travel through space to the receive antennas 21 and 22, two receive antennas in this example, although a different number of receive antennas may be used.
The new decoding methods of the present invention may be implemented, for example, in the unit 2.
Since this is a special case of Spatial Multiplexing, the signal model and subsequent decoding methods can be applied to this application as well.
Notes:
1. It is assumed that the channel elements Ay have already been estimated with "sufficient" accuracy in a previous preliminary processing step, before symbol decoding. This document does not describe that preliminary estimation process.
2. Note that in general, the number of Tx antennas and Rx antennas does not need to be the same, which implies that the channel-matrix need not be square, but may be rectangular.
3. In some system applications, the power transmitted at each Tx antenna is reduced by Vn according to the total number of Tx antennas, n. For example, in FIG. 1, since there are two Tx antennas, then in some system applications, the power transmitted at each Tx antenna is usually Vz of the total allowed transmit-power P. This is not shown in the drawings, since it is a known gain (attenuation), which is accounted-for during decoding.
Equations of the Baseband Signal Model:
From either FIG. 1 or FIG. 2, considering the equivalent baseband signals n, r2 received at the Rx antennas at the specific symbol-times, the equations defining the baseband signal model are:
O y = H s + v
E[s] = 0, Cov[s] = E[s - S^ ] = I - I constellations are normalized
O data uncorrelated with noise + interference E[hy - ^] = O, VZ
1/, k data uncorrelated with channel
Equation 4: Baseband Signal Model of 2x2 Spatial-Multiplexing MIMO
Note: It is obvious that, when there is a different number of Rx antennas, there will be a corresponding, different number of received baseband signals i\ , and a different number of channel elements JT
1J . For example, in the case of 4 Rx antennas, there will be 4 Rx signals: r
\, J% i% 7% and there will
1 be 8 channel elements: Mi, hn,
^32, A41, A
42. Therefore, the appropriate signal model, with channel-matrix H of dimension 4x2, is:
<=> y = H - s + v
E[s] - 0, Cøv[s] = £[s • s
ff ] = 1 • I constellations are normalized E[\
■ s
H ] = 0 data uncorrelated with noise + interference
^
5 V/ j, k data uncorrelated with channel
Equation 5: Baseband Signal Model of 2x4 Spatial-Multiplexing MEMO
The nomenclature "2x4" denotes the dimensions of the 4x2 channel-matrix H.
It is important and beneficial to use the vector-notation y = H s + v , since this enables considering various generalizations of the equations and subsequent decoding methods; i.e., the vector-notation enables treating any number of Tx and Rx antennas in a unified manner.
The New Decoding Methods
The innovative methods for decoding Spatial-Multiplexing MIMO called PMLMS(tm), are also applicable to Collaborative MEMO (which is a special case of Spatial-Multiplexing).
Benefits
1. For a Spatial-Multiplexing system that has 2 Tx antennas, the decoding performance is optimum (best performance), i.e., it achieves a solution that is equal to the Maximum-Likelihood (ML) solution. (It is understood that this performance is valid for a system with any number of Rx antennas.)
2. For a Spatial-Multiplexing system that has more than 2 Tx antennas (e.g., 3 to 8 Tx antennas), its decoding performance is less than the optimum Maximum-Likelihood (ML) performance, but much better than that of the FuU-MMSE or Zero-Forcing (Decorrealtion) methods. As the number of Tx antennas increases above 2, the performance decreases compared to ML (and the performance advantage compared to FuIl-MMSE or Zero-Forcing decreases). However, practical systems use a relatively low number of Tx antennas, e.g., usually not more than 4 Tx antennas, and for these cases, the performance of the current invention is only slightly less than ML, but still better than the FuIl-MMSE or Zero-forcing methods. (It is understood that this performance is valid for a system with any number of Rx antennas.)
3. The computational complexity (number of calculations) is substantially less than that of the Maximum-Likelihood (ML) method. In general terms, for 2 Tx antennas the computational complexity grows linearly with the number of Tx antennas and linearly with the constellation size: 0{nM), and for more than 2 Tx antennas the computational complexity grows with the cube of the number of Tx antennas and linearly with the constellation size: 0(n3M), where n is the number of Tx antennas and Mis the size of the constellation (the signaling alphabet): QPSK has M= 4, 64-QAM has M= 64, etc. Compare this to the computational complexity of ML, which is: 0(M").
Decoding Method #1
This method is suitable for a system with 2 transmit (Tx) antennas, see FIG. 3.
The baseband signal model is written using vector-notation as: y = H • s + v , as shown in
Equation 4 and Equation 5. It is understood that the mathematical notation is the same for a system with any number of Rx antennas.
In the case of a system with 2 Tx antennas, the equation can be written with separated channel- matrix columns as: y = H s + v
= [h, h2 ]- s + v
= hj5j + h2,y2 + v where h, denotes the 1st column in H, and h2 denotes the 2nd column. For example, when there are 4 Rx antennas :
Equation 6: Development of Baseband Signal Equation
1. Phase 1:
For all M possibilities of the 1st symbol vector-element component s\ in vector s (for example,
64-QAM has M= 64), calculate the following M vector values [51]: g» = gfo(0) = y-iv*iOO, / = I,..,M
Equation 7: Phase 1 of PMLMS for 2 Tx Antennas
2. Phase 2:
For the vectors g,. calculated in Phase 1, calculate [52]:
Zero - Forcing : i2(/) = _L_h? - g,, / = 1,...,M, ||h2f = hf -h2 or :
S
2(Z) = HardDecision($
2(i))
Equation 8: Phase 2 of PMLMS for 2 Tx Antennas
which multiply the vectors g, (in either the Zero-Forcing or MMSE method, respectively), is calculated only once, at the beginning of Phase 2.
In the MMSE method, σ2 is the noise+interference variance (power), with any compensation factor.
In the equation above, s = HardDecision(s) means: Given an input point s , which is any point with contiguous values, find the closest point s that belongs to the constellation (the signaling alphabet). (The constellation has a discrete set of finite number of values, for example: QPSK, 16-QAM, 64-QAM, etc.) This operation is well-known in the communications literature.
3. Phase 3:
For the vectors s, calculated in Phase 2, find the one that attains the minimum value of the Euclidean vector norm of the error. Mathematically, this phase can be written as [53]: s PMLMs = arS s, m 1=1m, ,M | *|'y ~"H ■ s, T " ' I 1S me PMLMS solution where ||»||" is the squared Euclidean vector norm : v||" = v • v is real and non - negative and arg min { } means : to search for the minimum over all M possibilities of the vectors s, (/ = 1,...,M).
Equation 9: Phase 3 of PMLMS for 2 Tx Antennas **End of method**
Note that in order to prepare the decoded symbols for subsequent FEC decoding (FEC = forward-error correction code, either Convolutional, or Turbo-Code, or LDPC), it is usually necessary to create LLR (log-likelihood ratio) values, or other soft-decision metrics, which indicate the confidence level for each bit in the decoded symbols. This operation is well- known in the communications literature. This operation is a subsequent and separate processing step.
Decoding Method #2
This method is suitable for a system with more than 2 transmit (Tx) antennas, see FIG. 4.
The baseband signal model is written using vector-notation as: y = H • s + v , similarly to Equation 4 and Equation 5, however now the dimension of vector s and the width of channel- matrix H are n, where n is the number of Tx antennas in the system, and n > 2. It is understood that the mathematical notation is the same for a system with any number of Rx antennas. The following equations shall illustrate the case where the number m of Rx antennas is equal to or greater than the number n of Tx antennas: m ≥ n .
For simplicity of exposition, but without loss of generality, in the rest of this section we shall assume that the number of Tx antennas is n = 4. It is understood that the processing thus described is valid for any number of Tx antennas.
In the case of 4 Tx antennas, the equation can be written with separated channel-matrix columns as: y = H s + v
= [h, h2 h3 hj s + v
= h,-?, + h2s2 + h3s3 + h4s4 + v where h, denotes the 1st column in H, h2 denotes the 2nd column, etc. For example, when there are 4 Rx antennas :
Equation 10: Development of Baseband Signal Equation
Additionally, the following definition will be necessary:
H7 shall be the channel - matrix H without column number j : H7 = [H1 h^ h;+1 h4]
Examples :
H1 h3 K 1 without h,
H2 h3 K 1 without h.
H3 K K 1 without h3
H4 = [*. h2 h3 1 without h4 Equation 11: Definition of Hj
1. Phase 0:
It is necessary to decide which of the symbols S1 , S2 , s3 , s4 shall be the "main symbol", whose index shall be denoted by k orjmam. This decision is performed according to one of the following criteria [56]:
Criterion Alternative 1 : k = jmmn = arg max {det(H^ • H7 )} det( ) is the matrix determinant
Equation 12: Phase 0, Criterion Alternative 1
Criterion Alternative 2 :
Equation 13: Phase 0, Criterion Alternative 2
2. Phase 1:
For all M possibilities of the "main symbol" vector-element component Sk in vector s (for example, 64-QAM has M= 64), calculate the following M vector values [57]:
g, = φk (0) = y ~ hk • sk (0, i = X-M
Equation 14: Phase 1 of PMLMS for n > 2 Tx Antennas
3. Phase 2: For the vectors g, calculated in Phase 1, calculate [58]:
Zero - Forcing : swlthout k (/) = (Hf • Hfc JT1 • Hf • g, , i = 1,...,JWf or :
MMSE : sWIthout , (/) = (Hf - H, + σ2lY - Hf - g, , i = 1,...,M swthout t(0 = HardDecision(sm±ont k (i)) s, is a vector created from the main symbol sk (i) , and the symbol vector - element components within the vector swlthout k (i) , such that each symbol vector - element component will occupy its correct position within the vector s, .
There are M vectors S1 (i = 1,...,M)
Equation 15: Phase 2 of PMLMS for n > 2 Tx Antennas
In the equation above, either one of the terms (Hf • Hfc Y ■ Hf or (Hf • H^ + Cr2I)"1 • Hf which multiply the vectors g, (in either the Zero-Forcing or MMSE method, respectively), is calculated only once, at the beginning of Phase 2. Moreover, it is understood that there are various implementation alternatives in both Zero-Forcing and MMSE, as shown in Equation 1 and Equation 2, respectively.
In the MMSE method, σ2 is the noise+interference variance (power), with any compensation factor.
In the equations above, s = HardDecision(s) means: Given an input vector-point s , which is any vector-point with contiguous values, find the closest vector-point s whose vector-element components belong to the constellations (the signaling alphabets) of each of the vector-element components. (The constellation of each of the vector-element components has a discrete set of finite number of values, for example: QPSK, 16-QAM, 64-QAM, etc.) This operation is well- known in the communications literature. •
4. Phase 3:
This phase (Phase 3 in the case of more than 2 Tx antennas) is identical to Phase 3 in the case of 2 Tx antennas. It will be repeated here for convenience [59]:
For the vectors s, calculated in Phase 2, find the one that attains the minimum value of the Euclidean vector norm of the error. Mathematically, this phase can be written as:
S PMIMS = arg min Iy -H - S1 ( is the PMLMS solution where |»|| is the squared Euclidean vector norm : ,v| = \H • v is real and non - negative and are min { } means :
S1 I=I, M to search for the minimum over all M possibilities of the vectors s, (/' = 1,...,M).
Equation 16: Phase 3 of PMLMS for n > 2 Tx Antennas
Note that in order to prepare the decoded symbols for subsequent FEC decoding (FEC = forward-error correction code, either Convolutional, or Turbo-Code, or LDPC), it is usually necessary to create LLR (log-likelihood ratio) values, or other soft-decision metrics, which indicate the confidence level for each bit in the decoded symbols. This operation is well- known in the communications literature. TMs operation is a subsequent and separate processing step. **End of method**
General
This is the 2nd part in the description of an innovative method for decoding Spatial-Multiplexing MIMO, called PMLMS(tm).
This is a direct extension of the 1st part, which is described in the original disclosure to which this part forms an addition.
A novel decoding method is also applicable to Collaborative MEVIO, also known as Multi-User MEMO or Multiple- Access MDVlO (which is a special case of Spatial-Multiplexing).
This 2nd part extends the original 1st part with regard to 2 issues:
1. Describes methods and means of preparing MTMO decoded symbols for subsequent FEC decoding (FEC = forward-error correction code, e.g., Convolutional, Turbo-Code, LDPC, etc.). For this step, it is necessary to create LLR (log-likelihood ratio) values, or other Soft- Decision metrics, which indicate the confidence level for each bit in the decoded symbols.
2. Describes methods and means of reducing as much as possible the computational complexity (number of calculations). Specifically, with regard to a system having more than 2 Tx antennas, it is shown how to limit the computational complexity to 0(ji2mM) = 0(n3M), where n is the number of Tx antennas, and is proportional to m, the number of Rx antennas: m = a - n (e.g., m = 5 Rx antennas, n = 4 Tx antennas, a = 1.25), and Mis the size of the largest constellation (the largest signaling alphabet) (e.g., QPSK has M= 4, 64-QAM has M = 64, etc.).
Note: The MIMO decoding invention (PMLMS) described in the 1st part, reduces the computational complexity, with regard to more than 2 Tx antennas, from 0(M") for the
Maximum-Likelihood (ML) method, to 0(n4M) or 0(n3M) using the PMLMS invention, when the outputs are Hard-Decisions. This 2nd part of the invention shows how to ensure that the limit of 0(n3M) is never exceeded when the outputs are either Hard-Decisions or Soft- Decisions (LLRs).
For the definitions of the terms MIMO, Tx, Rx, STC, Spatial-Multiplexing, Collaborative MDVIO, FEC, LLR, etc., see section "Definitions and Notation" in this document.
_
References [5] "IEEE Standard for Local and Metropolitan Area Networks - Part 16: Fixed and
Mobile ," IEEE Standard 802.16e (Mobile) Corrigendal D12, 14-Oct-05. [6] G. J. Foschini, "Layered Space-Time Architecture for Wireless Communication in a Fading Environment When Using Multi-Element Antennas," Bell Labs Technical ■ Journal, vol. 2, pp. 41-59, 1996. [7] Z. Guo and P. Nilsson, "Algorithm and Implementation of the K-Best Sphere Decoding for MIMO Detection, " IEEE Journal on Selected Areas in Communications, Vol. 24, No. 3, March 2006. [8] D. Tse and P. Viswanath, "Fundamentals of Wireless Communications,"
Cambridge University Press (ISBN 0-521-84527-0), 2005. [9] B. M. Hochwald and S. ten Brink, "Achieving near-capacity on a multiple-antenna channel," IEEE Trans. Comm., vol. 51, no. 3, pp. 389-399, Mar. 2003. [10] S. Baro, J. Hagenauer, and M. Witzke, "Iterative detection of MTMO transmission using a list-sequential (liss) detector," in Proc. IEEE Int. Conf. Comm. 2003, pp. 2653-2657, 2003. [H] E. Biglϊeri, A. Nordio, and G. Taricco, "Iterative receivers for coded MIMO signaling," Wireless Comm. and Mobile Comp., no. 4, pp. 697-710, 2004. [12] B. Hassibi, "An efficient square-root algorithm for BLAST," submitted to IEEE
Trans. Sig. Proc, 1999.
[13] G. H. Golub and C. Van Loan, "Matrix Computations, 3rd Edition," Johns Hopkins University Press, 1996.
[14] The MathWorks, MATLAB, version 6.5, release 13, 2002.
[15] Z. Hong and B. L. Hughes, "Robust space-time codes for broadband OFDM systems," in Proc. IEEE WCNC'02, vol. 4, pp. 105-108, Mar. 2002. [16] I. Lee, A. M. Chan, and C. E. W. Sundberg, "Space-time bit interleaved coded modulation for OFDM systems in wireless LAN applications," in Proc. IEEE
ICCOS, vol. 5, pp. 3413-3417, 2003.
[17] P. W. Wolniansky, G. J. Foschini, G. D. Golden, R. A. Valenzuela, "V-BLAST: An architecture for realizing very high data rates over the rich-scattering wireless channel," Proc. IEEE ISSSE-98, September 1998
Definitions and Notation
Definitions and Acronyms
Tx: Transmit or transmitter(s). Rx: Receive or receiver(s).
MEMO: Multiple-input, multiple-output. Communication systems which use several (more than one) Tx antennas, and several (more than one) Rx antennas. The purpose of using MIMO compared to a single antenna for Tx and Rx, is to improve the signal decoding and detection at the receiver (due to the statistics of signal propagation in the physical space), or to increase the transmission data-rate (without increasing the used bandwidth or modulation), or both
(improved decoding together with increased data-rate).
STC: Space-Time Coding. Generally, these are various schemes that take advantage of the physical separation between Tx antennas and between Rx antennas, and the statistics of signal propagation in the physical space, to increase the noise-immunity of the transmitted signals.
Spatial Multiplexing / Layered STC / Space-Division Multiple-Access (SDMA): Forms of space-time coding where redundant information is usually not transmitted, and the increase in the noise-immunity of the transmitted signals is due only to the statistics of the highly scattering signal propagation in the physical space, such as in the well-known V-BLAST scheme (see [17]). This is an Open-Loop method; . In contrast to the regular Spatial-
Multiplexing encoding, also called V-BLAST (see [17]), in D-BLAST (see [2]) there is additional structure and usually redundancy in the encoding, which can improve decoding performance when accounted-for properly.
Collaborative MIMO / Multi-User MTMO / Multiple- Access MIMO: A specific application of Spatial Multiplexing, where the transmitting antennas belong to different and separate transmitting systems; each separate transmitting system may have only a single Tx antenna. Typically, there is a single common receiving system, which receives the transmissions and decodes them j ointly .
This is a special case of Spatial Multiplexing. Since the channel attenuation from separate transmitting systems may be drastically different, then it may necessitate the signal constellation (the signaling alphabet) to be different from each of the transmitting sources (e.g., QPSK has M = 4, 64-QAM has M= 64, etc.). When the separate transmitting systems
do not share encoded data between them, with regard to FEC encoding, only so-called Horizontal Encoding may be used — see definitions of FEC and Horizontal Encoding below. Open-Loop: When the transmitter does not have knowledge of the channels between the Tx and
Rx antennas. These methods are suitable for highly mobile scenarios. Closed-Loop: When the transmitter has knowledge of the channels, either exactly, or in some statistical sense, then the transmitter can use some method of Precoding to create optimal transmission signals. The transmitter can obtain the channel state information either via feedback from the receiver or via reciprocity of the channels in TDD systems. These methods are only suitable in fixed or very low mobility scenarios. Beamforming: Forms of signal processing, either in the transmitter (Tx-BF) or receiver (Rx-BF) or both (combined-Tx-and-Rx-BF) for creating a directivity gain in the spatial direction of the desired signal(s), and suppression or nulling in the spatial direction of interferers (and noise) and other non-desired signal sources. MEMO Decoding methods: Methods for decoding the symbols and data sent using any form of MIMO. Existing types of decoding methods (prior art): Maximum-Likelihood (ML),
Sphere-Decoding (an approximation to ML), Zero-Forcing (also called Decorrelation), Partial Correlation (Matched Filtering), Full or Partial MMSE (minimum mean-square error), MMSE with Interference Cancellation (IC either Successive (SIC) or Parallel (PIC)), Iterated MMSE with IC, Turbo-MIMO (jointly with FEC decoding). OFDM: Orthogonal Frequency-Division Multiplexing. Communication method resembling multi-carrier modulation, where each subcarrier is placed as close as possible to its neighboring subcarriers, but is orthogonal to them (and therefore does not interfere with them). The processing for modulating and demodulating is usually performed using IFFT and FFT, respectively (Inverse and direct Fast Fourier Transform, respectively). The complete OFDM symbols are broadband, but each subcarrier observed separately is usually narrowband. This method is used in the communication standard IEEE 802.11a/g. OFDMA: Orthogonal Frequency-Division Multiple- Access. Communication method similar to OFDM (see above), where the reserved bandwidth is shared between different users; each user is allocated only part (not necessarily all) of the available subcarriers. Different users overlap in time, but not in frequency. It is similar to, and suitable for cellular-type of communications. The complete OFDMA symbols are broadband, but each subcarrier observed separately is usually narrowband. This method is used in the communication standard IEEE 802.16e, see [I].
CDMA: Code-Division Multiple-Access. Communication method based on Direct-Sequence Spread- Spectrum, which uses orthogonal or quasi-orthogonal spreading sequences to separate between different users that share the same reserved bandwidth. Different users overlap in both time as well as frequency, but may be separated using the spreading sequences, since the spreading increases each user's processing gain. It is suitable for cellular-type of communications. The complete CDMA transmission is broadband, but the symbols after de-spreading are narrowband. This method is used in the communication standard WCDMA part of UMTS (also called DVIT-2000, an initiative for 3G). FEC: Forward-Error Correction code. In digital communications, this is a method of introducing deliberate redundancy in the data-transmission, in a way that enables the correction of bit- and/or symbol-errors at the receiver(s). Well-known types of FEC are: Hamming, Reed- Solomon, Convolutional, Turbo-Code, LDPC, etc. See also the definition of LLR below. LLR (Log-Likelihood Ratio) / Soft-Decision metric: In a decoder for a FEC (forward-error correction) code at the receiver, there usually is a considerable performance advantage to operate on soft-decision input metrics, as opposed to hard-decisions. A Hard-Decision means that each code symbol component is pre-quantized prior to decoding, to one of a discrete set of values from the original signaling alphabet. In contrast to this, a Soft-Decision metric is a method of indicating the confidence level for each bit in the decoded symbols. A theoretically rigorous method for soft-decisions is an LLR (log-likelihood ratio). Vertical Encoding: A case or application when the FEC encoding is common over all the transmitted symbols from all Tx antennas in a MEMO system. This provides increased diversity, and hence may provide increased noise-immunity compared to Horizontal Encoding - see below. This case may be considered as a special case or application of Bit- Interleaved Coded Modulation (BICM) applied to MTMO, see [15], [16]. Horizontal Encoding: A case or application when the FEC encoding is separate for each stream of transmitted symbols from each Tx antenna separately. In applications of Collaborative MEVIO (also known as Multi-User MDVIO or Multiple- Access MTMO), in which the separate transmitting systems do not share encoded data between them, with regard to FEC encoding, only Horizontal Encoding may be used; this is because the lack of data sharing prevents one transmitting system from encoding its own data within the same FEC encoding as that of another transmitting system.
Mathematical Notation
All Greek-letter symbols indicate real (non-complex) scalar numbers (e.g.: α,β,γ). The English-letter symbols: /, j, k, m, n indicate integers, usually used as index variables. All other English-letter symbols indicate complex scalars, vectors, or matrices: lower-case non- bold symbols are scalars (e.g.: h,g ), lower-case bold symbols are column vectors (e.g.: h,g ), upper-case symbols are matrices (e.g.: H, G or H, G).
The notation (•)* is the complex conjugate (for scalars, vectors, or matrices).
In the notation {•)** ≡ ((•)*/ , T is the transpose (without complex conjugation), and if is the Hermitian-transpose (complex conjugate transpose).
IGNORE: See above for the actual equation(s) which remain valid.
Equation 17. IGNORE Equation 18. IGNORE
Equation 19. IGNORE
Equation 20. IGNORE
Equation 21. IGNORE
Equation 22. IGNORE Equation 23. IGNORE
Equation 24. IGNORE
Equation 25. IGNORE
Equation 26. IGNORE
Equation 27. IGNORE Equation 28. IGNORE
Equation 29. IGNORE
Equation 30. IGNORE
Equation 31. IGNORE
Equation 32. IGNORE Equation 33. IGNORE
Equation 34. IGNORE
Equation 35. IGNORE Equation 36. IGNORE Equation 37. IGNORE Equation 38. IGNORE Equation 39. IGNORE Equation 40. IGNORE Equation 41. IGNORE Equation 42. IGNORE Equation 43. IGNORE Equation 44. IGNORE Equation 45. IGNORE
Signal Model for Spatial-Multiplexing MIMO
In cases where/when it is possible to estimate the statistics of the noise+interference, then these estimations are used in a preliminary pre-processing step in order to maintain the assumptions of the signal model given below. The methods and means of performing these estimations and pre- processing are beyond the scope of this invention description. Some of them are well-known in the communications literature.
A specific well-known application of Spatial Multiplexing (a special case), is Collaborative MIMO, also known as Multi-User MIMO or Multiple-Access MIMO. In this application, the transmitting antennas belong to different and separate transmitting systems. Typically, there is a single common receiving system, which receives the transmissions and decodes them jointly. See F. Since this is a special case of Spatial Multiplexing, the signal model and subsequent decoding methods can be applied to this application as well.
Equations of the Baseband Signal Model:
The additive noise+interference is assumed to obey the following statistics: E[\] = 0 zero - mean
Cov[v] = E[\ • \H ] = σ2 - I equal - variance, uncorrelated components v is symmetrically complex. Equation 46: Assumed Noise+interference Statistics where σ2 is the noise+interference variance (power), with any compensation factor. In cases where/when it is possible to estimate the statistics of the noise+interference, then these estimations are used in a preliminary pre-processing step in order to maintain the assumptions of the signal model given here. The methods and means of performing these estimations and pre- processing are beyond the scope of this invention description. Some of them are well-known in the communications literature.
The additive noise+interference is assumed to obey the following statistics:
E[v] = 0 zero - mean
Cov[ v] = E[y - \a] = σ2 -I equal - variance, uncorrelated components v is symmetrically complex.
Equation 47: Assumed Noise+Interference Statistics where σ2 is the noise+interference variance (power), with any compensation factor. In cases where/when it is possible to estimate the statistics of the noise+interference, then these estimations are used in a preliminary pre-processing step in order to maintain the assumptions of the signal model given here. The methods and means of performing these estimations and preprocessing are beyond the scope of this invention description. Some of them are well-known in the communications literature.
Note:
It is important and beneficial to note that using the vector-notation y = H • s + v enables considering different generalizations of the equations and subsequent decoding methods; i.e., the vector-notation enables treating any number of Tx and Rx antennas in a unified manner.
Existing Methods for Soft-Decision Output MIMO Decoders (Prior Art)
In general, there are various methods to obtain soft-decision output metrics from MIMO decoders. Usually, each MEMO decoding method has different techniques for generating the soft-decision output metrics, according to viability or simplicity of implementation suited to the particular MIMO decoding method.
In the following discussion, it is assumed that the transmitted symbols are s] y j = I,..., n in the vector s of the baseband signal model similarly to the examples shown in Equation 4. The dimension (length) of vector s and the width of channel-matrix H are n, where n is the number of Tx antennas in the system, and n ≥ 2. Furthermore, each symbol Sj consists of a possibly different number of bits, according to its modulation. The combined group of bits from all symbols shall be denoted [bt ]/=1 n , with nB bits . For example, in a system with 2 Tx antennas, si (from the 1st Tx antenna) is modulated as QPSK (signaling alphabet size Mi = 4) and s2 (from the 2nd Tx antenna) is modulated as 64-QAM (signaling alphabet size M2 = 64), then si consists ofthe 2 bits bl ,b2 and s2 consists of the 6 bits bs , b4, b5, b6, b7,bs ; the combined group ofbits is:
[bj ]l=h = [bλ ,b2,b3,b4,b5 ,b6,b7,bs \ nB = 8 bits . Note that enumerating the bits starting with / = 1 (i.e., / = 1,...,8) instead of / = O (i.e., / = 0,...,7 ) as customary in computer arithmetic, is not significant in the present discussion.
Note: In a system with Horizontal Encoding (see definition in section "Definitions and Acronyms"), the bits within symbols transmitted from different Tx antennas shall be destined (as soft-decision output metrics) to different FEC decoders at the receiver.
Consider the following non-exhaustive list of existing methods for soft-decision output MEvIO decoders (prior art):
Maximum-Likelihood (ML)
Maximum-Likelihood (ML) is the optimum (best performance) decoding method, but is generally impractical. This method searches all possibilities for all symbols si, s2, ... . In general
terms, the computational complexity grows exponentially with the number of Tx antennas and polynomially with the constellation size: 0(Ad"), where n is the number of Tx antennas and M is the size of the constellation (the signaling alphabet).
Obtaining soft-decision output metrics for ML: Since all symbols are searched, various soft-decision output metric alternatives exist; one of the best soft-decision output metrics is the LLR (Log-Likelihood Ratio), which is based on rigorous theoretical concepts. Since all symbols are searched, then for a specific bit bi, all possibilities are examined for both bi = 0 and bi = 1, from which the optimum (best performance) LLR soft-decision output value can be obtained. In this case, both the Exact LLR (incorporating all values of the metrics), as well as the Max-Log approximation (using only the minimal value for bi = 0 and minimal value for bi - 1), can be calculated.
The Exact LLR is derived as the ratio of the a-posteriori probabilities of the values for bit be
L Tikireh rhuood AR»at Hio = Pr^ = 1ly —) = Pr(y rh - l) - Pr(^ = I) =
Pr(δ, = θ|y) Pr(y|δ, = 0) .Pr(i; = 0) where :
Pr(oz = l|y) = a ~ posteriori probability of bl = 1 given received y Pr(έ; = 1) = 1 - Pr(έz = O)3 is the a - priori probability of bit bl = 1.
Since log(-) is a monotonously increasing function, it preserves the ordering, while reducing only the dynamic - range :
∑f
pr(y|s(^l)).πPrωϊ
When Pr(έ, = 1) = Fτ(b, = 0) = 0.5, then :
2 . is the squared Euclidean vector norm Equation 48: Exact LLR for Maximum-Likelihood
Note 1: In the development above, the probability distribution function (pdf) of a zero-mean symmetrically complex Gaussian-distributed random vector v with m equal-variance uncorrelated components (Cov[v] = σ
2l
m) is:
Also note that it is different than the distribution function for a real vector w:
Note 2: The definition given above for LLRi results in a signed metric, which is positive for a logical "1" bit value, and negative for a logical "0" bit value. Obviously, if the FEC decoder requires the opposite polarity convention, it is trivial to accommodate for such a requirement simply by inverting the sign of the LLR soft-decision output metric values before inputting them to the FEC decoder.
A well-known and useful approximation to the Exact LLR is the Max-Log approximation: The Max -Log approximation : log(exp(α) + exp(6))
= max{α, b) or in our case :
Therefore :
Equation 49: Development of the Max-Log Approximation for the LLR
To summarize, the Max-Log approximation to the LLR for Maximum-Likelihood is:
Y1 (0) = min |y - H • s(3, = 0)||2 j the minimum, with s such that bl = 0 Y1 (1) = min j|y - H • s(δ, = 1)| j the minimum, with s such that bt = 1
||»|| is the squared Euclidean vector norm
H is the m x n channel - matrix, and y is the received m x 1 signal vector
LLR1 = -^- (Y1 (0) - Y1 (I)), is the Max - Log LLR for bit / σ σ2 can be neglected, because the same for all bits. Equation 50: Max-Log Approximation LLR for Maximum-Likelihood
Sphere-Decoding
Sphere-Decoding is a class of decoding which approximates Maximum-Likelihood (ML) by searching only a subset of the possible parameter-space, usually a sphere or paraboloid in an n- dimensional complex subspace over real and imaginary integers, or equivalently, a 2rι- dimensional subspace over integers, where n is the number of Tx antennas. There are various ways to determine the reduced search parameter-space subset, in order to reduce the search size and computations as much as possible, while still achieving a solution that is equal to the Maximum-Likelihood (ML) solution.
Obtaining soft-decision output metrics for Sphere-Decoding: In general, there are 2 general classes of possibilities: (1) keeping a variable-length list of candidate solutions, from which the LLR soft-decision output metrics may be found; and (T) constraining the search- space to a fixed size. Class (1) is exemplified by the List Sphere-Decoder of [9] and the List- Sequential Sphere Decoder of [10]. The disadvantages of class (1) are variable decoding duration, the necessity for large buffers, and an architecture which is not well-suited for implementation in hardware. Class (2) is exemplified by the Modified KSE (MKSE) decoder of [3], which has a fixed decoding duration, and is well-suited for implementation in hardware. The disadvantage of class (2) is a possible loss in performance compared to the optimum Maximum-Likelihood (ML), because the fixed size of the search-space may not include the minimal metric either for bit b, = 0, or for bit b, - 1, or for both. See [3] and the references therein for an extensive review and description of the current state-of-the-art of
Sphere Decoding.
jo
Zero-Forcing (Decorrelation)
Zero-Forcing, also called Decorrelation, is basically a Least-Squares pseudo-inversion when the channel-matrix is rectangular, or a direct matrix inversion when the channel-matrix is square. Generally, this method provides very poor performance due to noise-amplification because some of the channel matrix elements, which are "poor", can cause deterioration of the whole decoding. However, the benefit of this method is its relatively low computational complexity (small number of calculations).
Obtaining soft-decision output metrics for ZF: Since the Zero-Forcing decoder is a linear operation on the received signal vector, the decoded symbols following this linear operation will be inherently "soft" in the sense that they usually do not exactly match any of the signal constellation values, prior to making a hard-decision.
Following are possibilities for Soft-Decision output metrics when using Zero-Forcing decoding:
H is the m x n channel - matrix, with m ≥ n (more Rx antennas than Tx antennas, or equal), and y is the received m x 1 signal vector
S2P = (HH ■ H)"1 HH y is the "soft" Zero - Forcing solution sZP = HαrdDecisionβzp.) sZF Q)1 = 0) is closest symbol to S2, , such that bx = 0 szp Q)1 — 1) is closest symbol to S2P , such that bx = 1 Note : either S217 Q)1 = 0) = S27, or sZFφ; = 1) = sZF. Possibility 1 : ζι (0) - ||s ZF ~ s ZF Φι - 0)|| , ||«|| is the squared vector norm ζx (1) = ||sZF - sZF Q)1 = 1)|| , |»|| is the squared vector norm
C2P - Cov[sZF ] = σ2 \HH • HJ , σ2 can be neglected (same for all bits)
[*]
JJ is j th diagonal element of the matrix,
and j is the symbol index of the symbol s
} which includes bit b
v
LLR1 « CQj (ζ, (0) - ζt (I)), is the approximation to LLR for bit / Possibility 2 : ζt (0) = jJH - (S2J7 - S2P Q)1 = 0))|| , ||»|| is the squared vector norm ζj (V) = IJH • (S2P - S27 Q)1 - 1))| , ||«|| is the squared vector norm
LLR1 « — — (ζj (0) - ζt (I)), is the approximation to LLR for bit / σ2 σ can be neglected in the last equation, because the same for all bits.
Equation 51: Approximation to LLR for Zero-Forcing
Full or Partial MMSE
MMSE (minimum mean-square error) takes into consideration the noise (and possibly self- interference), in order to reduce or eliminate the noise-amplification found in Zero-Forcing, however, the performance is less than the optimum Maximum-Likelihood (ML) method. There are 2 methods for doing this: (1) Perform MMSE over the full channel matrix; (2) Perform partial MMSE, by treating some of the matrix columns as self-interference, and take them into account in the decoding process. Generally, the MMSE methods have a small performance advantage over Zero-Forcing. A similar but better method is MMSE with Interference
Cancellation (the idea of Successive Interference Cancellation with regard to MDVIO decoding is described in [2] for D-BLAST and [17] for V-BLAST). It is observed that the successive decoding order originally described for V-BLAST in [17] is "strongest first" at each stage (see also [12]), whereas the decoding order described in the 1st part of this PMLMS invention with regard to Hard-Decision outputs is "weakest first".
Obtaining soft-decision output metrics for Full MMSE: Since the Full MMSE decoder is a linear operation on the received signal vector, the decoded symbols following this linear operation will be inherently "soft" in the sense that they usually do not exactly match any of the signal constellation values, prior to making a hard-decision.
Following are possibilities for Soft-Decision output metrics when using Full MMSE decoding:
H is the m x n channel - matrix, with m ≥ n (more Rx antennas than Tx antennas, or equal), y is the received m xl signal vector, and σ
2 is the noise + interference variance (power) (with any compensation factor) s
Mffi
Y H
H y is the "soft" full - MMSE solution
SJME = HardDecision{im4SE ) smm Q)1 = 0) is closest symbol to sλMSE , such that bt = 0 sm<tsE Φι = l) is closest symbol to 8,« , such that bx = 1 Note : either %miSE Q)1 = 0) = s^ or %mdSE Q)1 = 1) = smdSE . Possibility ! :
Mi (0) = p uus
E - s
mm Q
y 1 = 0)|| , 11*11 is the squared vector norm μιθ) ~ "
SMMSE
SMMSE : ' (
^ is the squared vector norm
ω, = , [•] , , is / th diagonal element of the matrix,
and j is the symbol index of the symbol Sj which includes bit bv LLR1 « a>j {μt (0) - μt (I)), is the approximation to LLR for bit / Possibility 2 :
H
M0) = (SM«£ Sλ<β'JSE Q3I ~ O)) is squared vector norm
M1Q) = \SMMSE SMMSE (Pl ~ V/ is squared vector norm σi,,
H is the m x n channel - matrix, and σ2 is the noise + interferen ce variance (power) (with any compensation factor)
LLR1 « — j- (βj (0) - μ: (I)), is the approximation to LLR for bit / σ σ2 can be neglected in the last equation, because the same for all bits. Equation 52: Approximation to LLR for FuIl-MMSE
Obtaining soft-decision output metrics for MMSE with Interference Cancellation: At each stage of the decoding process, following the cancellation of previous symbols based on a hard-decision, the decoding consists of MMSE decoding incorporating nulling. Therefore, at each stage, the approximate LLR for bit / is a similar expression as the one for fuU-MMSE above, but where the channel-matrix is one with the appropriate nulling structure and reduced number of columns (due to previously cancelled symbols).
Obtaining soft-decision output metrics for Iteratively Decoded D-BLAST systems: See
Turbo-MDVIO below.
Turbo-MIMO (Iterative Decoding) Turbo-MIMO, also called Iterative Decoding, is an iterated version of MMSE with Interference Cancellation, where MIMO decoding is performed jointly with FEC decoding (FEC = forward- error correction code, either Convolutional, or Turbo-Code, or LDPC). The advantage of an iterative receiver (employing the so-called turbo decoding principle) with regard to MDvIO decoding, is that it reaches the Maximum- Likelihood solution, and can even consistently reach the capacity of the MTMO channel over fast-fading. The disadvantages are increased system complexity and non-modular system structure, both of which are caused by too tight integration with the FEC decoder, as well as increased hardware memory resources. An inherent requirement of an iterative receiver (employing the so-called turbo decoding principle) with regard to MEVIO decoding, is that the MEVIO decoder must have soft-decision output metrics and be able to take advantage of a-priory information for decoding bits, as well as the FEC decoder, which must have soft-decision output metrics and (obviously) be able to accept soft-inputs. One of the first adaptations of an iterative receiver (employing the so-called turbo decoding principle) to MEVIO is [9], See also [11] which presents a survey. In order to implement such an iterative receiver, it is possible to employ any type of MIMO decoder which has soft-decision output metrics (but due to the turbo decoding principle, it does not necessarily need to reach the Maximum-Likelihood (ML) solution); popular choices are various forms of Sphere-Decoders (which do not necessarily reach the ML solution), especially those with a fixed decoding duration - see above.
Obtaining soft-decision output metrics for Iteratively Decoded D-BLAST systems: In contrast to the regular Spatial-Multiplexing encoding, also called V-BLAST (see [17]), in D- BLAST (see [2]) there is additional structure and usually redundancy in the encoding, which can improve decoding performance when accounted-for properly. Decoding systems for D- BLAST sometimes employ non-optimum decoders for intermediate results, however, the structure (and optiona; redundancy), together with the application of iterative decoding by combining the FEC decoding results, can provide excellent overall performance after relatively few iterations; see [11]; note the disadvantages of iterative receivers mentioned above.
It is well-known from matrix analysis literature (see [13], [14]) that better numerical accuracy, stability, and sometimes lower computation complexity may be obtained by using various matrix-decomposition methods. The application of these techniques to the Zero-Forcing and MMSE methods has been presented in the 1st part of the PMLMS invention description (see separate doc).
In the equations above for the soft-decision output metrics of Zero-Forcing and MMSE, s = HardDecision($) means: Given an input vector-point s , which is any vector-point with contiguous values, find the closest vector-point s whose vector-element components belong to the constellations (the signaling alphabets) of each of the vector-element components. (The constellation of each of the vector-element components has a discrete set of finite number of values, for example: QPSK, 16-QAM, 64-QAM, etc.) This operation is well-known in the communications literature.
Existing Methods for Computational Complexity
Reduction (Prior Art)
It is well-known from matrix analysis literature (see [13], [14]) that better numerical accuracy, stability, and sometimes lower computation complexity may be obtained by using various matrix-decomposition methods. For example: QR decomposition, SVD (singular-value decomposition), and Cholesky factorization. The application of these techniques to the Zero- Forcing and MMSE methods has been presented in the 1st part of the PMLMS invention description (see separate doc).
The computational complexity (number of calculations) of QR or SVD decompositions of a complex- valued rectangular matrix A of dimensions m xn, m ≥ n , is approximately 0(n2m), see [13]. In cases when m and n are linearly related as m = a n and of the same order-of- magnitude (e.g., m = 5, n = 4, a = 1.25), then it is valid to say that the complexity is: 0(n2m) = O{n3).
The complexity of a Cholesky factorization of a complex- valued square Hermitian positive- definite matrix B of dimensions n x n , is approximately OQi3), see [13].
Observe that the computational complexities of the QR, SVD, and Cholesky decompositions are of the same order-of-magnitude: O(n3).
In our case, in the role of matrix A, there is a complex channel-matrix H of dimensions m x n, m ≥ n , where n is the number of Tx antennas, and is proportional to m, the number of Rx antennas: m = a - n (e.g., m = 5 Rx antennas, n - 4 Tx antennas, a = 1.25). In practical cases of interest, m and n are of the same order-of-magnitude, i.e., the proportionality factor a between m and n is not large. Defining B = HH ■ H , then B is a complex- valued square Hermitian non- negative-definite matrix of dimensions nxn .
In some cases, such as the one to be presented in this 2nd part of the PMLMS invention description, it is necessary to obtain several decompositions of related matrices, which are related to the channel-matrix H, and differ one from the other (and from the original matrix H) by a single column.
Specifically, the following definition shall be necessary, and is equivalent to Equation 11 in the 1st part; it is reproduced here for convenience.
Assume that the matrix H has dimensions 5 x 4 Qn - 5, n = 4) for illustrational purposes, then a matrix H/ is defined as:
H
y shall be the channel - matrix H without column number j :
Examples :
H1 h3 K 1 without Fi1
H2 h3 K 1 without h2
H3 h2 h4 } without h3
H4 h2 h3 1 without h4
Equation 53: Definition of Hj
Therefore, all the matrices H/ shown above have dimensions 5 x 3 .
Obviously, the specific dimensions shown here are only for illustrational purposes; the definition of the matrices H _,. , j = l,..., n each of dimensions m x (n - ϊ) , are applicable to any m x n matrix H.
It is well-known from matrix analysis literature (see [13], [14]) that if the QR or SVD decompositions of the original matrix H have already been computed, then it is possible to obtain the respective decompositions of a matrix Hy as updates of the existing decompositions of H, i.e., without the need to re-compute the complete decompositions. This update is achieved in the case of a QR decomposition of H, by performing up to Oinni) = OQr2) Givens rotations, to both of the existing R and Q matrices, to obtain Ry and Qj. The advantage of this strategy is a computational savings. Specifically, the complexity of the decomposition updates are only OQvn) = OQi2), compared to a re-compute of the complete decompositions, whose complexity is 0(Qi-l)2m) = 0Qι2m) = OQi3). See [13]. A similar method exists for updating an existing SVD decomposition. This decomposition updating operation shall be denoted in this document by: [Q7-, R;.] = UpdateRemoveColumnQR(Q,"R,j) in the case of QR decomposition, and by:
[V j , D . , Yj ] = UpdateRemoveColumnSVD(V ', D, V, j) in the case of SVD decomposition.
Therefore, when it is necessary to obtain the QR or SVD decompositions for all n matrices H
y, j = I,..., n , then a simplistic separate re-computation for each Hy separately will result in a
computational complexity: riθ((η-\)
2m) = 0(nn
2m) = 0(n
3m) = O(n
4), whereas using n separate updates, one for each H/ separately will result in a computational complexity: nθ(rmi) = 0{nnm)
The dimensions of the various matrices in the decomposition of H: m x n when m ≥ n , in the case of a QR decomposition are: Q: m xn, R: « x « in the "economy-size" representation (R is upper- triangular), but can be Q: m xm, R: m xn in the "full-size" representation (R is upper- triangular in the sense: non-zero on and above the elements [Rl ; ), see [14]. The dimensions of the decomposition of Bj: m x (n -ϊ) (whether performed directly or obtained using updates as described above) are: Qj: m x (n - 1) , R/': (n - 1) x (n - 1) in the most "economy-size" representation (R/ is upper-triangular), but can be Qj: m x m , R/: m x (n — 1) in the "full-size" representation (R/ is upper-triangular in the sense: non-zero on and above the elements [R;-]M ).
Similarly, in the case of SVD, there are also "economy- size" and "full-size" representations, see [14].
Defining B = Hff • H (dimension n x n ), and B^. = Hy ff - H7 (dimension (n - 1) x (// - 1) ), then it is somewhat tricky to update an existing Cholesky factorization C of B (dimension n x n ) to the factorization Cj of B/ (dimension (« - 1) x (n - 1) ), assuming B and B/ are positive-definite. This type of Cholesky update will not be discussed.
An existing method for computational complexity reduction which was specifically tailored for decoding Spatial-Multiplexing MIMO (V-BLAST) with computational complexity O(n3) instead oϊθ{n4) is described in [12]. However, it incorporates the "strongest first" successive decoding order at each stage, originally described for V-BLAST in [17]. This existing decoding method is known to be sub-optimal in terms of decoding performance. Whereas in the present invention, described in the 1st part of the invention with regard to Hard-Decision outputs, the decoding order is "weakest first", as given by Equation 54 in this 2nd part document, which is a reproduction of Equation 12 from the 1st part document. See also the section "Description of the Invention for Computation Reduction when Outputs are Hard-Decisions" in this document.
Innovative Decoding Method
The innovative method for decoding Spatial-Multiplexing MIMO (the new invention), called "PMLMS" - This decoding method is also applicable to Collaborative MTMO, also known as Multi-User MTMO or Multiple- Access MEVIO (which is a special case of Spatial-Multiplexing).
Benefit 4
For a Spatial-Multiplexing system that has 2 Tx antennas, and employs a receiver with a FEC decoder (FEC = forward-error correction code, e.g., Convolutional, Turbo-Code, LDPC, etc.) which admits Soft-Decision input metrics, then the decoding performance of this disclosed MTMO decoding invention with LLR Soft-Decision output metrics is optimum (best performance), i.e., it achieves a solution that is equal to the Maximum-Likelihood (ML) solution when LLR Soft-Decision output metrics are used. (It is understood that this performance is valid for a system with any number of Rx antennas.)
Benefit 5
For a Spatial-Multiplexing system that has more than 2 Tx antennas, and employs a receiver with a FEC decoder (FEC = forward-error correction code, e.g., Convolutional, Turbo-Code, LDPC, etc.) which admits Soft-Decision input metrics, then the decoding performance of this disclosed MDVIO decoding invention with LLR Soft-Decision output metrics is less than the optimum Maximum-Likelihood (ML) performance when LLR Soft-Decision output metrics are used, but much better than that of the FuIl-MMSE or Zero-Forcing (Decorrelation) methods when LLR Soft-Decision output metrics are used. As the number of Tx antennas increases above 2, the performance decreases compared to ML (and the performance advantage compared to FuIl- MMSE or Zero-Forcing decreases), however, when LLR Soft-Decision output metrics are used, the performance degradation compared to ML is very small, especially in practical systems which use a relatively low number of Tx antennas, e.g., usually not more than 4 Tx antennas. It is emphasized that the present invention is not limited to any number of Tx antennas. (It is understood that this performance is valid for a system with any number of Rx antennas.)
Benefit 6
Claim 3, stated in the 1st part of the invention disclosure, is hereby extended to the case of a MIMO decoder with Soft-Decision output metrics, namely: The computational complexity (number of calculations) is substantially less than that of the Maximum-Likelihood (ML) method
with Soft-Decision output metrics. In general terms, for 2 Tx antennas the computational complexity grows linearly with the number of Tx antennas and linearly with the constellation size: OQnM) = 0{nM), and for more than 2 Tx antennas the computational complexity grows with the cube of the number of Tx antennas and linearly with the constellation size: 0Qt2mM) = 0(n3M), where n is the number of Tx antennas, and is proportional to m, the number of Rx antennas: m - a - n (e.g., m = 5 Rx antennas, n = 4 Tx antennas, a — 1.25), andMis the size of the largest constellation (the largest signaling alphabet): QPSK has M= 4, 64-QAM has M= 64, etc. Compare this to the computational complexity of ML with Soft-Decision output metrics, which is: O(M"). To emphasize, the exact computational complexity for more than 2 Tx antennas is OQi2 mM), however, in practical cases of interest, m and n are of the same order-of-magnitude, i.e., the proportionality factor a between m and n is not large, then it is valid to say that the complexity is: 0Qι2mM) = 0{n3M). Similarly, for 2 Tx antennas: OQnM) = OQiM).
Benefit 7 (also relevant for 1st part) The disclosed MTMO decoding invention (both with Hard-Decision outputs, described in the 1st part, and with Soft-Decision output metrics, described in this 2nd part) can support the case where the symbols from the different Tx antennas belong to different signal constellation sizes and shapes, i.e., the signaling alphabet and modulation type for symbols from the different Tx antennas may be different (e.g., symbols from the 1st Tx antenna may be modulated as QPSK which has signaling alphabet size M- 4, symbols from the 2nd Tx antenna may be modulated as 64-QAM which has signaling alphabet size M= 64, etc.). To emphasize, what is claimed is not a scheme of using different constellation sizes and shapes (different signaling alphabets and modulation types) for each of the Tx antennas; but rather, it is claimed that the disclosed MIMO decoding invention can indeed successfully support the case of different simultaneous signal constellation sizes and shapes. Such a situation is prevalent in Collaborative MEVIO (also known as Multi-User MTMO or Multiple- Access MIMO), usually with so-called Horizontal Encoding, however, this claim is not limited to Collaborative MTMO, and the benefit and utility of the present invention can be applied in other situations and cases as well, with regard to different simultaneous signal constellation sizes and shapes.
Description of the Invention for Computation Reduction when Outputs are Hard-Decisions
The 1st part of the invention (in a separate document), reduces the computational complexity, with regard to more than 2 Tx antennas, from O(M"~) for the Maximum-Likelihood (ML) method, to 0(t?4M) or CKn3M) using the invention, when the outputs are Hard-Decisions. This section of the 2nd part of the invention shows how to ensure that the limit of OQJ3M) is never exceeded when the outputs are Hard-Decisions.
In the 1st part of the invention (concerned with Hard-Decision outputs), with regard to more than 2 Tx antennas, the principal computational complexity (number of calculations), occurs in 2 places:
1. In Phase 0, which describes methods and means for deciding which of the symbols shall be the "main symbol", especially the 1st criterion alternative, which requires calculating the values of several matrix determinants. See Equation 54 below.
2. In Phase 2, which calculates a Zero-Forcing or MMSE solution using a reduced matrix Hfc, and requires inverting a matrix. See Equation 55 below.
The relevant calculation descriptions are reproduced here for convenience. They make use of the definition of matrices Hy in Equation 53, which is equivalent to Equation 11 in the 1st part document.
Equation 54 below is a reproduction of Equation 12 from the 1st part document: Criterion Alternative 1 : k = jmαin = arg max {det(H J • H j )\ det( ) is the matrix determinant
Equation 54: Phase 0 from 1st Part for n > 2 Tx Antennas, Criterion Alternative 1
Equation 55 below is a reproduction of the relevant fragment extracted from Equation 15 from the 1st part document:
Zero -Forcing : swithout k(i) = (Hf - HJ"1 - Hf - g,., i = L...,M
Equation 55: Fragment of Phase 2 from 1st Part for n > 2 Tx Antennas
4y
Note 1: It is observed that the successive decoding order originally described for V-BLAST in [17] is "strongest first" at each stage (see also [12]), whereas the decoding order described in the 1st part of the invention with regard to Hard-Decision outputs is "weakest first", as given by Equation 54 above, which is a reproduction of Equation 12 from the 1st part document. It is "weakest first" because the chosen criterion maximizes the decoding reliability of the symbols remaining after the "main symbol" has been canceled. This is also evident in the 2nd criterion alternative for Phase 0, given by Equation 13 from the 1st part document.
Note 2: In terms of performance, the 1st criterion alternative for Phase 0 is to be preferred over the 2nd criterion alternative for Phase 0 (given by Equation 13 from the 1st part document). In terms of computational complexity, the 2nd criterion alternative is obviously simpler to implement, however, the method and means shown below can improve the attractiveness of the 1st criterion alternative with regard to computational complexity.
The following is a description of a method and means for ensuring that the computational complexity limit of 0(n2mM) = 0{n3M) is never exceeded, with regard to a MEMO decoder with Hard-Decision outputs.
Pre-Processing Phase for Preferred Embodiment:
Perform the QR decomposition of the m x n matrix H :
[Q, R] = QRDecompositioniβ) (Q and R are the QR decomposition of H) Obtain a separate QR decomposition update for each one of the n matrices H } :
[Q j , R ; ] = UpdateRemoveColumnQR(Q, R, j), j = \,...,n
Note 1 : These n separate updates are independent one of the other.
Note 2 : The matrices H} are not actually necessary, so not computed nor stored.
Equation 56: Pre-Processing Phase for n > 2 Tx Antennas
Where the operation [Q7 , R } ] = UpdateRemoveCo!umnQR(Q, R, j) denotes the reduced computational complexity update of the QR decomposition with regard to removal of column / from matrix H. This operation has been described in the prior-art section entitled "Existing Methods for Computational Complexity Reduction (Prior Art)".
Preferred Embodiment of Phase 0, Criterion Alternative 1 :
Criterion Alternative 1 :
For each of the n matrices R } , calculate the product of the absolute - values of its diagonal elements (the calculation is separate for each matrix j out of the n) :
S1 = PJ Pj Ld ' J - ^—> n (l*]d,d denotes d th diagonal element) d=l, ,n-l
Decide which of the n symbols shall be the " main symbol" k according to :
Note : In cases where n is very large and/or the dynamic range of the diagonal elements is large, the following alternative embodiment shall be preferred :
Pi
= Σ
logr
+ [
R J
d d \ J = h-,n ([
• L,d
is d th diagonal elem.) d=\, ,n-\
) ε is a small positive number, e g., ε = 10
~3.
Equation 57: Preferred Embodiment of Phase 0 from 1st Part
It is observed that mathematically: δ
} =
and that the square-root does not affect the operation of the decision employing maximum, since it is a monotonously increasing function. Similarly, for the alternative embodiment using the logarithm.
Preferred Embodiment of Fragment of Phase 2:
Zero - Forcing : s Wlthout k (i) = R,"1 • (Qf • g, ] i = \,...,M Rk ~l is performed using back - substitution.
Equation 58: Preferred Embodiment of Fragment of Phase 2 from 1st Part
It is understood that a similar method and means can be used to obtain the IVlMSE solution in the fragment of Phase 2, instead of the Zero-Forcing solution in the fragment of Phase 2, as described above.
It is understood that the SVD (singular-value decomposition), and the appropriate operation [U; , D7 , VJ = UpdateRemoveColumnSVD(XJ, D, V, j) , can be used instead of the QR decomposition and the operation [Q; ,R; ] = UpdateRemoveCoh(τmiQR(Q,R, j) shown above.
PAGE MISSING UPON PUBLICATION
Description of the Invention with Soft-Decision Output Metrics
This 2nd part of the invention also extends the 1st part (in a separate document), with regard to Soft-Decision output metrics.
A MIMO decoder that is able to output soft-decision metrics can provide a considerable performance advantage (compared to using hard-decision outputs) when subsequent FEC decoding (FEC = forward-error correction code, e.g., Convolutional, Turbo-Code, LDPC, etc.) is capable of admitting Soft-Decision input metrics. For this step, it is necessary to create LLR (log-likelihood ratio) values, or other Soft-Decision metrics, which indicate the confidence level for each bit in the decoded symbols.
The following are descriptions of a methods and means for enabling LLR Soft-Decision output metrics in the low-complexity high-performance MIMO decoder invention. Two embodiment alternatives are presented, followed by criteria for determining the preferred embodiment between the 2 alternative choices.
Specific Notation and Definitions
The descriptions shall deal with the cases of exactly 2 and more than 2 Tx antennas in a combined and unified manner, for generality of presentation. It is understood that in the special case of 2 Tx antennas, the computational complexity may be greatly reduced (e.g., matrix operations become vector operations, or even scalar operations).
The baseband signal model is written using vector-notation as: y = H • s + v , similarly to the examples shown in Equation 4. The dimension (length) of vector s and the width of channel- matrix H are n, where n is the number of Tx antennas in the system, and n ≥ 2. It is understood that the mathematical notation is the same for a system with any number of Rx antennas. The following equations shall illustrate the case where the number m of Rx antennas is equal to or greater than the number n of Tx antennas: m ≥ n .
In the following descriptions, it is assumed that the transmitted symbols are s}, j = 1,..., n in the vector s. Furthermore, each symbol s, consists of a possibly different number of bits, according
to its modulation. The combined group of bits from all symbols shall be denoted
[bt ];=] ng , with nB bits . For example, in a system with 2 Tx antennas, si (from the 1st Tx antenna) is modulated as QPSK (signaling alphabet SiZeM1 = 4) and s2 (from the 2nd Tx antenna) is modulated as 64-QAM (signaling alphabet size M2 = 64), then 57 consists of the 2 bits 5, , b2 and s2 consists of the 6 bits b3,b4,b5,b6,b7,bs ; the combined group of bits is:
[bj ]/=1 ,,B = [&J , b2 , b3 , b4 , b5 , b6 , bη , bs \ nB = 8 bits . Note that enumerating the bits starting with /
= 1 (i.e., / = 1, ... ,8 ) instead of / = 0 (i. e. , / = 0, ... ,7 ) as customary in computer arithmetic, is not significant in the present disclosure. This specific example is for illustrational purposes only; the present invention is not limited to it.
Note: In a system with Horizontal Encoding (see definition in section "Definitions and Acronyms"), the bits within symbols transmitted from different Tx antennas will be destined (as soft-decision output metrics) to different FEC decoders at the receiver.
For simplicity of exposition, but without loss of generality, in the rest of this section it shall occasionally be assumed that the number of Tx antennas is n = 4, for illustrational purposes only; the present invention is not limited to it. It is understood that the processing thus described is valid for any number of Tx antennas.
In the case of 4 Tx antennas, the baseband signal model equation can be written with separated channel-matrix columns as: y = H - s + v
= Ji1S1 + h2s2 + h3s3 + h4s4 + v where h j denotes the 1st column in H, h2 denotes the 2nd column, etc. For example, when there are 5 Rx antennas :
Equation 59: Development of Baseband Signal Equation
Additionally, the following definition shall be necessary, and is equivalent to Equation 11 in the 1st part; it is reproduced here for convenience.
Assume that the matrix H has dimensions 5 x 4 (m = 5, n = 4) for illustrational purposes, then a matrix H/ is defined as:
H; shall be the channel - matrix H without column number j :
H; = [h, h^, h,+] h4]
Examples :
H1 h3 h4 1 without hj
H2 = [h, h3 K 1 without h2
H3 h2 K 1 without h3
H4 h2 h3 1 without h4
Equation 60: Definition of Hj
Therefore, all the matrices Hy shown above have dimensions 5 x 3 .
Obviously, the specific dimensions shown here are only for illustrational purposes; the definition of the matrices H; , j — \,..., n each of dimensions m x (n — Y) , are applicable to any m x n matrix H.
With the definition in Equation 60 above, it is possible to write Equation 59 also as: y = H s + v
where swlthout ; denotes the vectors without the symbol s} i.e., the dimension of swlthout ; is : (»- l) xl.
Note : There are« different possibilities for this equation, corresponding to the n possible values of j.
Equation 61: Another Form of Baseband Signal Equation
Pre-Processing Phase for Both Embodiment Alternatives
Pre-Processing Phase:
Perform the QR decomposition of the m xn matrix H :
[Q, R] = QRDecomposition(S) (Q and R are the QR decomposition of H) Obtain a separate QR decomposition update for each one of the n matrices H ;. :
[Q j , Ry ] = UpdateRenιoveColumnQR(Q, R, j), j = l,...,n
Note 1 : These n separate updates are independent one of the other.
Note 2 : The matrices H7 are not actually necessary, so not computed nor stored.
Equation 62: Pre-Processing Phase Where the operation [Q y. , R y ] = UpdateRemo veCohimnQR (Q, R, j) denotes the reduced computational complexity update of the QR decomposition with regard to removal of column / from matrix H. This operation has been described in the prior-art section entitled "Existing Methods for Computational Complexity Reduction (Prior Art)".
It is understood that the SVD (singular-value decomposition), and the appropriate operation [XJj , D j , Vj ] = UpdateRemoveColumnSVD(XJ, D, V, j) , can be used instead of the QR decomposition and the operation [Q^R7 ] = UpdateRemoveCoh/mnQR(Q,~R, j) shown above.
Note: The pre-processing phase described above is valid for n ≥ 2 , however, in the special case of 2 Tx antennas, performing the following operations may reduce the computational complexity:
For « = 2 Tx antennas :
The QR decomposition of the m x n matrix H is not performed at all.
R
;. and Q
y are obtained directly by :
Q1 ^ q1 = h2 /τ1 , Q2 = q2 = hx /τ2
Equation 63: Simplified Pre-Processing Phase for n = 2 Tx Antennas
Embodiment Alternative 1
It is assumed (as a pre-requisite requirement) that the Pre-Processing Phase in Equation 62 above has already been performed, and its results are available.
The following description is written for simplicity of exposition, however, it shall be understood (by those versed in the art) that some operations are independent of others, and can therefore be performed separately, in parallel. For example, in the following description all calculations with regard to thej'-th symbol S1 (out of the n symbols) are independent of the calculations for the other symbols; therefore, the calculation with regard to different symbols (for each J) can be performed separately, in parallel to the calculations for the other symbols.
Phase 1 : For each symbol Sj (they'-th vector-element component of vector s), and for all its M3 possible values (for example, 64-QAM hasil^ = 64), calculate the following vector values: For each j = l,...,n :
SJ.. = s(s, (θ)= y -hj - ^ (0. 7 = i,..,M,
Note : The total number of calculated vector values is :
J=I, ,»
If all n symbols have equal alphabet sizes : M = M, V/, then the total number of vector values will be : nM.
Equation 64: Phase 1 of Alternative 1 of PMLMS with Soft-Decisions
Phase 2: For the vectors gy , calculated in Phase 1, calculate:
For each j - \,...zn \
Zero-Forcing : sWIth0Ut J (/) = (H? - HJ )"1 Hf - gΛ!, / = 1,...,M;
or :
MMSE : swlthout ; (/) = (Hf - H^a2I)"1 - Hf - gj>!, / = l,...,Mj
= similar using QR decomposition, i = \,...,Mj Swithout ; (0 = HardDecision(smthmt ] (/)) S7 1 is a vector created from the symbol S1 (i) , and the symbol vector - element components within the vector swlthout ; (/) , such that each symbol vector - element component will occupy its correct position within the vector s; ] . There areM; vectorssJ ; (/' = 1,...,Mj) End of "for each j" block. Note : Rj " is performed using back - substitution. The preferred embodiment : using QR decomposition.
Equation 65: Phase 2 of Alternative 1 of PMLMS with Soft-Decisions
In the MMSE method, σ2 is the noise+interference variance (power), with any compensation factor.
In the equations above, s = HardDecision(i) means: Given an input vector-point s , which is any vector-point with contiguous values, find the closest vector-point s whose vector-element components belong to the constellations (the signaling alphabets) of each of the vector-element components. (The constellation of each of the vector-element components has a discrete set of finite number of values, for example: QPSK3 16-QAM, 64-QAM, etc.) This operation is well- known in the communications literature.
It is understood that the Zero-Forcing or MMSE partial estimations can be computed using SVD (singular- value decomposition), instead of the QR decomposition shown above. This requires that the Pre-Processing Phase in Equation 62 above performs SVD updates rather than QR updates.
Phase 3:
Clarification explanation: Each symbol Sj (they-th vector-element component of vector s) consists of nB (j) = log2 (M } ) bits [bt] out of the total of nB bits within the complete vector s.
For each specific bit / within symbol S3, half of the M} possible values of symbol S3 will have bi = 0, and half of them will have bι = l. Because the vectors s; , calculated in Phase 2 for each specific value of / where created using all M1 possible values of symbol S3, then for each specific value of/, half of the vectors sj ; will have h = 0, and half of them will have h = \.
The following definition is based on the preceding clarification explanation: For each specific value of j, denote they-th subset of vectors s^ ; with bι = 0 as:
{s Λ, (b, = 0)}, and denote they-th subset of vectors s;>1 with bi = 1 as: jsy , {bx = 1)} . Each of these 2 non-overlapping subsets has M } /2 different vectors.
Equation 66: Definition of Subsets of Vectors with Bit-Values 0 and 1
The LLR Soft-Decision output metrics for bits [b,] are calculated using the vectors s; , calculated in Phase 2, as:
For each / = l,...,n :
For bits bt within symbol s :
Ti(O) = min |y - H • sΛ, (b, = 0)|21 with j th subset of s } _, that have bx = 0
Y1 (1) = min j|y - H ■ s; , (bt = 1)1 j with j th subset of sΛ, that have b, = 1
Note : There are (Mj /2) vectors in each of the 2 non - overlapping subsets ψj,, Φι - °)} 2^ ψj,, Φt - 1)} See their definition .
LLR1 ~ -\ (Y1 (Q) - Y1 (I)), is the Max - Log LLR for bit / σ σ2 can be neglected, because the same for all bits. End of "for each /block.
Il 11°
|*|| is the squared Euclidean vector norm
H is the m x n channel - matrix, and y is the received m xl signal vector.
Equation 67: Phase 3 of Alternative 1 of PMLMS with Soft-Decisions
Embodiment Alternative 2
It is assumed (as a pre-requisite requirement) that the Pre-Processing Phase in Equation 62 above has already been performed, and its results are available.
Step A:
Perform the operations for obtaining the MIMO decoding with Hard-Decisions, as described in the 1st part of the invention (in a separate document), noting that Hard-Decision processing for more than 2 Tx antennas (n > 2) is different than for 2 Tx antennas (ii = 2), and making use of the following preferred embodiments described in this 2n document: - Equation 57: Preferred Embodiment of Phase 0 from 1st Part, and:
- Equation 58: Preferred Embodiment of Fragment of Phase 2 from 1st Part.
The outputs from this processing step are the following outputs from the Hard-Decision estimation: - The index k of the "main symbol", and:
- The Hard-Decision estimation of the symbol st (which is the Mh vector-element component of the Hard-Decision estimation output vector sfMa/Stff<ml_Dteblon).
Step B: Perform the operations similarly to the description above for Embodiment Alternative 1 of MEVIO decoding with Soft-Decisions (in this 2nd document), with the following restriction: each of the Phases 1, 2, and 3 shall not be performed over all n symbols j = \,...,n , but rather only for the single symbol Sk, i.e., for a single symbol with index / = k, where k is the "main symbol" obtained in Step A above.
The outputs from this processing step are the final LLR Soft-Decision output metrics for the bits within symbol Sk. The symbol $k consists of nB(k) = log2(Mfc) bits [bj out of the total of nB bits within the complete vector s, therefore, there are nB (k) = log2 (M k) LLR metrics as outputs from this step.
Step C:
Define a new received signal vector ynew, and a new m x (n - 1) channel-matrix ΕLnew with its associated decomposition and sub-matrices: y new = y — hfc " s k index k and estimation sk are outputs from Step A ~Αnew = H^ = matrix H without column h^
Rnew = Rfc where Q k and R^ are the QR decomposition of H^ which were available prior Step A as a pre - requisite requirement (together with the other Q} and R7 , j = \...zn).
H)IβWj j - matrix H)iew without its j th column h new> p j = 1, ... , n - 1
Equation 68: Definition of New Received Vector and Channel-Matrix
Perform the following updates:
Obtain a separate QR decomposition update for each one of the w - 1 matrices Ε.
new :
Note 1 : These n - 1 separate updates are independent one of the other.
Note 2 : The matrices H new } are not necessary, so not computed nor stored.
Equation 69: New Decomposition Updates Where the operation [QnβMW ,RWJ ] = UpdateRemoveCohi})mQR(Qnew,RnewJ) denotes the reduced computational complexity update of the QR decomposition with regard to removal of columny from matrix Hπew. This operation has been described in the prior-art section entitled "Existing Methods for Computational Complexity Reduction (Prior Art)".
It is understood that SVD (singular- value decomposition) updating operations can be used instead of the QR updating operations, as indicated below Equation 62.
Also note that in the special case of n = 3 Tx antennas, the channel-matrix Hnew will have 2 columns, and therefore the simplified processing in Equation 63 could therefore be applied to TLnew, instead of Equation 69.
Step D:
Perform the operations similarly to the description above for Embodiment Alternative 1 of MIMO decoding with Soft-Decisions (in this 2nd document), applying Phases 1, 2, and 3 with
the difference that all processing is performed on the new vector ynew, the new m x (n — 1) channel-matrix Hπew, and the new updated decompositions QneWι J and R,KMW-, j = 1,..., « -1 (instead of y, H, Qy and R; , j - 1,..., n ). Note that since H«eil, has n - 1 columns, then the index j in Phases 1, 2, and 3 will count up to n - 1 (instead of up to ή).
The outputs from this processing step are the final LLR Soft-Decision output metrics for the bits within the complete vector s except for the LLR metrics for the bits within symbol Sk, which have already been obtained in Step B above. The number of LLR output metrics in this step is nB - nB (k) = nB - log2 (M k) out of the total of nB for the complete vector s. Therefore, the outputs from Step B together with those from the current Step D provide all nB of the required LLR Soft-Decision output metrics.
Obviously, it may be required to arrange the LLR Soft-Decision output metrics from Step B together with those from the current Step D within a common output vector, buffer, or any other type of memory structure or interface mechanism.
Preferred Embodiment
The following criteria determine the preferred embodiment between the 2 alternative choices presented above.
Embodiment Alternative 1 should be preferred when either one (or both) of the following 2 criteria is valid: ■ When the MTMO decoder in a specific receiver is intended to be simple to implement.
■ When the complete system has 2 Tx antennas.
Embodiment Alternative 2 should be preferred when the following combined criterion is valid:
■ When the complete system has more than 2 Tx antennas, and when the MIMO decoder in a specific receiver operating within this system is intended to provide the best possible performance.
The reason for the preferences above, is based on the following assertions:
1. Alternative 1 is simpler to implement than Alternative 2.
2. Alternative 1 and Alternative 2 both provide similarly optimum performance in a system that has 2 Tx antennas, in terms of bit error-rate (BER) performance.
3. Alternative 2 provides better performance than Alternative 1 in a system that has more than 2 Tx antennas, in terms of bit error-rate (BER) performance.
It will be recognized that the foregoing is but one example of a system and method within the scope of the present invention and that various modifications will occur to those skilled in the art upon reading the disclosure set forth hereinbefore.