Low complexity maximum-likelihood-based method for estimating emitted symbols in a SM-MIMO receiver

09654252 ยท 2017-05-16

Assignee

Inventors

Cpc classification

International classification

Abstract

A receiver estimates a vector of emitted symbols over a MIMO transmission channel which is emitted by emitting antennas. The receiver receives a vector of received symbols on receiving antennas. Estimation of the vector of emitted symbols is made by calculating a metric associated with a criterion for each vector of a subset of all possible vectors of emitted symbols and selecting an estimation for said vector of emitted symbols as the vector of emitted symbols among said subset which minimizes said metric.

Claims

1. A method for estimating a vector of emitted symbols over a MIMO transmission channel emitted by a first plurality of emitting antennas, comprising: receiving a vector of received symbols on a second plurality of receiving antennas; and estimating said vector of emitted symbols by: representing a set of all possible vectors of emitted symbols using a maximum likelihood equation, the maximum likelihood equation containing a plurality of expressions; determining a subset of the set of all possible vectors of emitted symbols by replacing some of the symbols of the vector of emitted symbols with approximations, wherein the approximations are determined by setting some of the expressions of the maximum likelihood equation to zero, and solving each of those expressions for a single different variable, and wherein the replacing comprises using the solved expressions to reduce a number of variables in the subset of the set of all possible vectors compared to the set of all possible vectors, calculating a metric associated with a criterion for each vector of the subset of the set of all possible vectors of emitted symbols, and selecting an estimation for said vector of emitted symbols as the vector of emitted symbols among said subset which minimizes said metric.

2. The method of claim 1, wherein the emitted symbols belong to a constellation; and wherein replacing some of the symbols of the vector of emitted symbols with approximations comprises performing a slicing operation on the constellation.

3. The method of claim 1, wherein said metric is a Euclidean distance yH.Math.x.sup.2 associated with a criterion yH.Math.x, wherein y represents the vector of received symbols, x represents each vector, and H represents a transfer function matrix for the MIMO transmission channel.

4. The method of claim 3, wherein selecting the estimation comprises performing a QR decomposition of said criterion.

5. An electronic device, comprising: a receiving circuit configured to receive a vector of received symbols at a plurality of receiving antennas; and a processing circuit configured to estimate a vector of emitted symbols by: representing a set of all possible vectors of emitted symbols using a maximum likelihood equation, the maximum likelihood equation containing a plurality of expressions, determining a subset of the set of all possible vectors of emitted symbols by replacing some of the symbols of the vector of emitted symbols with approximations, wherein the approximations are determined by setting some of the expressions of the maximum likelihood equation to zero, and solving each of those expressions for a single different variable, and wherein the replacing comprises using the solved expressions to reduce a number of variables in the subset of the set of all possible vectors compared to the set of all possible vectors, calculating a metric associated with a criterion for each vector of the subset of the set of all possible vectors of emitted symbols, and selecting an estimation for said vector of emitted symbols as the vector of emitted symbols among said subset which minimizes said metric.

6. The electronic device of claim 5, wherein the emitted symbols belong to a constellation; and wherein the processing circuit is configured to replace some of the symbols of the vector of emitted symbols with approximations comprises performing a slicing operation on the constellation.

7. A method for estimating a vector of emitted symbols over a MIMO transmission channel emitted by a first plurality of emitting antennas, comprising: receiving a vector of received symbols on a second plurality of receiving antennas, each of the received symbols being one of a constellation of all possible symbols; estimating a vector of emitted symbols by: generating a raw estimation for the vector of emitted symbols as a function of the vector of received symbols, slicing the raw estimation so as to produce a sliced estimation for the vector of emitted symbols, determining a first subset of possible estimates neighboring a first symbol of the raw estimation in the constellation, determining a second subset of possible estimates neighboring estimates of a second symbol of the raw estimation in the constellation, wherein the estimates of the second symbol of the raw estimation are determined based on the first subset, forming a subset of all possible vectors of emitted symbols based upon at least the sliced estimation, the first subset, and the second subset, calculating a metric associated with a criterion for each vector of the subset of all possible vectors of emitted symbols, and selecting a minimizing vector of emitted symbols from among the subset of all possible vectors of emitted symbols which minimizes the metric to act as a final estimation for the vector of emitted symbols.

8. The method of claim 7, wherein generating the raw estimation comprises using a zero forcing technique to generate the raw estimation.

9. The method of claim 7, wherein generating the raw estimation comprises using a minimum mean square error technique to generate the raw estimation.

10. The method of claim 7, wherein the metric is an Euclidean distance yH.Math.x.sup.2 associated with a criterion yH.Math.x, wherein y represents the vector of received symbols, x represents each vector, and H represents a transfer function matrix for the MIMO transmission channel.

11. The method of claim 10, wherein selecting the minimizing vector comprises performing a QR decomposition of the criterion.

12. An electronic device, comprising: a receiving circuit configured to receive a vector of received symbols at a plurality of receiving antennas; and a processing circuit configured to estimate a vector of emitted symbols by: generating a raw estimation for the vector of emitted symbols as a function of the vector of received symbols, each of the received symbols being one of a constellation of all possible symbols, determining a first subset of possible estimates neighboring a first symbol of the raw estimation in the constellation, determining a second subset of possible estimates neighboring estimates of a second symbol of the raw estimation in the constellation, wherein the estimates of the second symbol of the raw estimation are determined based on the first subset, forming a subset of all possible vectors of emitted symbols based upon at least the sliced estimation, the first subset, and the second subset, calculating a metric associated with a criterion for each vector of the subset of all possible vectors of emitted symbols, and selecting a minimizing vector of emitted symbols from among the subset of all possible vectors of emitted symbols which minimizes the metric to act as a final estimation for the vector of emitted symbols.

13. The electronic device of claim 12, wherein the processing circuit is configured to generate the raw estimation by using a zero forcing technique to generate the raw estimation.

14. The electronic device of claim 12, wherein the processing circuit is configured to generate the raw estimation by using a minimum mean square error technique to generate the raw estimation.

15. The electronic device of claim 12, wherein the metric is an Euclidean distance yH.Math.x.Math..sup.2 associated with a criterion yH.Math.x, wherein y represents the vector of received symbols, x represents each vector, and H represents a transfer function matrix for the MIMO transmission channel.

16. The electronic device of claim 15, wherein the processing circuit is configured to select the minimizing vector by performing a QR decomposition of the criterion.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Further features and advantages will appear from the following description of embodiments of the invention, given as non-limiting examples, with reference to the accompanying drawings listed hereunder, wherein:

(2) FIG. 1 shows a high-level architecture of a spatially-multiplexed MIMO system;

(3) FIG. 2 shows an example for a constellation relating to a 16-QAM modulation scheme;

(4) FIG. 3 shows a comparison of the performance of the QRM-MLD method and of the method of an embodiment, called LC-QR-MLD;

(5) FIG. 4 shows a comparison of the performance of the QRM-MLD method and of the method of another embodiment;

(6) FIG. 5 shows a possible implementation for an OSIC-based receiver RCV, according to an embodiment;

(7) FIGS. 6A, 6B, 6C, 6D shows constellation diagram on which are depicted steps of determination of a subset of possible vector of emitted symbols according to an embodiment; and

(8) FIG. 7 shows a comparison of the performance of the QRM-MLD method and of the method according to an embodiment called OSIC.

DETAILED DESCRIPTION OF THE DRAWINGS

(9) FIG. 1 depicts a MIMO system using spatial multiplexing.

(10) Such a system can be implemented for OFDM communication systems. Orthogonal Frequency-Division Multiplexing (OFDM), also referred to as multi-carrier modulation (MCM) or discrete multi-tone modulation (DMTM), splits up and encodes high-speed incoming serial data, modulating it over a plurality of different carrier frequencies (called subcarriers) within a communication channel to transmit the data from one user to another. The serial information is broken up into a plurality of sub-signals that are transmitted simultaneously over the subcarriers in parallel.

(11) By spacing the subcarrier frequencies at intervals of the frequency of the symbols to transmit, the peak power of each modulated subcarrier lines up exactly with zero power components of the other modulated subcarriers, thereby providing orthogonality (independence and separability of the individual subcarriers). This allows a good spectral efficiency (close to optimal) and minima inter-channel interference (ICI), i.e. interferences between the subcarriers.

(12) For this reason, OFDM is used in many applications. Many digital transmission systems have adopted OFDM as the modulation technique such as digital broadcasting terrestrial TV (DVB-T), digital audio broadcasting (DAB), terrestrial integrated services digital broadcasting ISDB-T), digital subscriber line (xDSL), WLAN systems, e.g. based on the IEEE 802.11 a/g standards, Cable TV systems, etc.

(13) OFDM systems based on MIMO communication scheme are often referred to as MIMO-OFDM and are used to increase the transmission bit-rate. Embodiments herein are however applicable to other implementations of the MIMO principles.

(14) In FIG. 1, only the elements related to the MIMO systems and useful for the understanding of the invention are depicted. This schema shows an emitter EMT and a receiver RCM communicating through a communication channel TC, through an array of N.sub.T emitting antennas and N.sub.R receiving antennas.

(15) In MIMO systems, each emitting antenna can emit a symbol, respectively x.sub.1, x.sub.2, x.sub.3 . . . x.sub.NT to potentially all the N.sub.R receiving antennas. The symbols are demultiplexed by the spatial stream generator SSG. The symbols x.sub.1, x.sub.2, x.sub.3 . . . x.sub.NT are received as a serial stream by the spatial stream generator SSG, which then generates N.sub.T signals sent in parallel by the N.sub.T emitting antennas.

(16) The received symbols respectively y.sub.1, y.sub.2, y.sub.3 . . . y.sub.NR are therefore a combination of the symbols emitted by the emitting antennas.

(17) Between an emitting antenna i and a receiving antenna j, the transmission channel TC can be modeled by a transfer function h.sub.ij. There are therefore N.sub.RN.sub.T subchannels and transfer functions h.sub.ij.

(18) The values of the emitted and received symbols, x.sub.i, y.sub.j respectively, and of the transfer functions h.sub.ij are complex values.

(19) The emitted symbols may comply with different modulation schemes. An example of such a modulation scheme is the QAM scheme (Quadrature Amplitude Modulation).

(20) The QAM scheme comprises transmitting a signal by two amplitude modulated carriers. The carriers are usually sinusoids and phased by 90 to each other, i.e. in quadrature.

(21) Some common implementations of the QAM scheme transmit quantified values on both carriers. The different possible values are then often represented as a constellation as depicted in the FIG. 2. The constellation of this example relates to a 16-QAM scheme, i.e. wherein the modulated signal can take one among 16 possible values.

(22) The signal is represented as a complex value; typically the horizontal axis represents the real axis and the vertical axis represents the imaginary axis. The 16 possible values form an alphabet of the signal and are depicted as dots together with the value in bits (coded on 4 bits).

(23) Accordingly, each of the emitted symbols x.sub.i takes values among the 16 possible complex values of the alphabet of the constellation.

(24) From the explanation given above, it is possible to express the received symbols by the equation:
y=H.Math.x+z
wherein x and y represent respectively the vector of the emitted and received symbols, so that: x=[x.sub.1, x.sub.2, x.sub.3 . . . x.sub.NT].sup.T and y[y.sub.1, y.sub.2, y.sub.3 . . . y.sub.NR].sup.T, H represents the transfer function matrix for the transmission channel TC and z represents the noise over this channel.

(25) The noise z is usually a white Gaussian noise with a variance of .sub.z.sup.2. This noise differs according to the subchannels. The noise z is then expressed as a vector of N.sub.R values: z=[z.sub.1, z.sub.2, z.sub.3 . . . z.sub.NR].sup.T.

(26) The matrix H is formed with the transfer function h.sub.ij of each subchannel. Accordingly, the matrix H is an N.sub.RN.sub.T matrix.

(27) We can also note h.sub.i the i.sup.th column vector of the matrix H. Therefore, the previous equation can also be written as:
y=h.sub.1x.sub.1+h.sub.2x.sub.2+h.sub.3x.sub.3+ . . . +h.sub.NTx.sub.NT+z

(28) The problem to be solved then by the receiver is to detect the emitted symbols x, i.e. to determine the emitted symbols x, knowing the received symbols y and the transfer functions being estimated.

(29) A typical technique for doing this is to use a Maximum Likelihood (ML) detection method based on a criterion to be minimized. This criterion can be associated to a metric. This metric is typically a Euclidian distance.

(30) According to an embodiment, then using a maximum likelihood-based method consists in calculating the Euclidian distance yH.Math.x.sup.2 of the criteria yH.Math.x, i.e. the Euclidian distance between the received signal vector and the product of possible emitted vectors with the estimated transfer function H for the transmission channel.

(31) In general, we note C.sup.NT the set of all these possible emitted symbols vectors (which depends on the number N.sub.T of emitting antennas). Each symbol of the vector belongs to the alphabet of the constellation, as depicted in the example of the FIG. 2.

(32) Then, the problem to be solved is to calculate the Euclidian distance yH.Math.x.sup.2 and to determine an estimation {circumflex over (x)}.sub.ML of the most probable emitted signal vector x, i.e. the one which minimizes this Euclidian distance. This can be written as:

(33) x ^ ML = argmin x C N T .Math. y - H .Math. x .Math. 2

(34) It is known in the art that the maximum likelihood method achieves the optimal performance as the maximum a posteriori (MAP) detection, when all the emitted symbols vectors are equally likely.

(35) However, its complexity increases exponentially according to the modulation order (i.e. the size of the constellation associated with the modulation scheme) and the number of emitting antennas.

(36) For instance an exhaustive search over the set of possible solutions for a 64-QAM communication system having N.sub.R receiving antennas consists in considering 64.sup.NR possibilities. Even with only 2 receiving antennas, this implies already 4096 possibilities.

(37) Consequently, this method cannot be used in real-life implementation, but it serves as a basis to which other methods are compared, since its represents the best possible performance.

(38) Only a subset of all possible vectors of emitted symbols is considered for calculating the metric and for selecting an estimate for the emitted vectors of symbols.

(39) Accordingly, the complexity of the maximum likelihood-based methods is decreased and these methods are usable within the context of real-time systems, like, for instance OFDM transmission systems, for decoding high-order modulated signals (e.g. 16-QAM and above).

(40) In order to reduce the number of considered possible vectors to a subset of all the possibilities, several methods can be used.

(41) According to a first implementation, the subset is determined by defining intervals for each symbols of the vector of emitted symbols. The number of possible emitted vector of symbols is then limited, symbols by symbols: the excursion of each symbol is limited within the interval, so that a subset of all possible vectors of emitted symbols is defined.

(42) The intervals are provided by a sphere decoding process.

(43) Accordingly, a QR decomposition of a real channel matrix associated with the transfer function matrix is performed.

(44) First, the complex equation y=H.Math.x+z is converted into a real system, by decomposing each complex term y, x and z as the sum of its real part and of its imaginary part multiplied by the imaginary number j. The equation can then be written as:

(45) [ y 1 R + j .Math. y 1 I y 2 R + j .Math. y 2 I .Math. y N R N + j .Math. y N R I ] = [ h 11 R + j .Math. h 11 I h 12 R + j .Math. h 12 I .Math. h 1 N T R + j .Math. h 1 N T I h 21 R + j .Math. h 21 I h 22 R + j .Math. h 22 I .Math. h 2 N T R + j .Math. h 2 N T I .Math. .Math. .Math. h N R 1 R + j .Math. h N R 1 I h N R 2 R + j .Math. h N R 2 I .Math. h N R N T R + j .Math. h N R N T I ] [ x 1 R + j .Math. x 1 I x 2 R + j .Math. x 2 I .Math. x N T R + j .Math. x N T I ] + [ z 1 R + j .Math. z 1 I z 2 R + j .Math. z 2 I .Math. z N R R + j .Math. z N R I ]

(46) In this equation, we note x.sub.iR=Re(x.sub.i), i.e. the real part of the complex emitted symbol x.sub.i; and x.sub.iI=Im(x.sub.i), i.e. the imaginary part of the complex symbol x.sub.i. Similarly, we note y.sub.iR=Re(y.sub.i), i.e. the real part of the complex received symbol y.sub.i; and y.sub.iI=Im(y.sub.i), i.e. the imaginary part of the complex symbol y.sub.i.

(47) Similarly, we can also note h.sub.ijR=Re(h.sub.ij), and h.sub.ijI=Im(h.sub.ij), as well as z.sub.iR=Re(z.sub.i), and z.sub.iI=IM(z.sub.i).

(48) Taking the example of a 22 MIMO transmission channel TC, this equation becomes as follows:

(49) [ y 1 R + j .Math. y 1 I y 2 R + j .Math. y 2 I ] = [ h 11 R + j .Math. h 11 I h 12 R + j .Math. h 12 I h 21 R + j .Math. h 21 I h 22 R + j .Math. h 22 I ] .Math. [ x 1 R + j .Math. x 1 I x 2 R + j .Math. x 2 I ] + [ z 1 R + j .Math. z 1 I z 2 R + j .Math. z 2 I ]

(50) The real and imaginary parts for this equation can be respectively expressed as:

(51) [ y 1 R y 2 R ] = [ h 11 R h 12 R h 21 R h 22 R ] [ x 1 R x 2 R ] - [ h 11 I h 12 I h 21 I h 22 I ] [ x 1 I x 2 I ] + [ z 1 R z 2 R ] = [ h 11 R h 12 R - h 11 I - h 12 I h 21 R h 22 R - h 21 I - h 22 I ] [ x 1 R x 2 R x 1 I x 2 I ] + [ z 1 R z 2 R ] and [ y 1 I y 2 I ] = [ h 11 I h 12 I h 11 R h 12 R h 21 I h 22 I h 21 R h 22 R ] [ x 1 R x 2 R x 1 I x 2 I ] + [ z 1 I z 2 I ]

(52) These two equations can be merged together to form a new one by putting real and imaginary parts in same vectors and matrices y, H, x, z:

(53) [ y 1 R y 2 R y 1 I y 2 I ] y = [ h 11 R h 12 R - h 11 I - h 12 I h 21 R h 22 R - h 21 I - h 22 I h 11 I h 12 I h 11 R h 12 R h 21 I h 22 I h 21 R h 22 R ] H [ x 1 R x 2 R x 1 I x 2 I ] x + [ z 1 R z 2 R z 1 I z 2 I ] z

(54) Then, according to the sphere detection method, the problem to be solved consists in finding solutions of the following solution

(55) arg min x _ .Math. y _ - H _ x _ .Math. 2 = arg min x _ ( x _ - x _ ^ ) T H _ T H _ ( x _ - x _ ^ )

(56) Using QR decomposition, this equation can also be written:
(x{circumflex over (x)}).sup.TH.sup.TH(x{circumflex over (x)})=(x{circumflex over (x)}).sup.TR.sup.TR(x{circumflex over (x)})=R(x{circumflex over (x)}).sup.2 wherein {circumflex over (x)} represents the searched solution, i.e. the value of the vector x associated with the vector x of emitted symbols to be estimated, and wherein:

(57) .Math. R ( x _ - x _ ^ ) .Math. 2 = .Math. [ r 11 r 12 r 13 r 14 0 r 22 r 23 r 24 0 0 r 33 r 34 0 0 0 r 44 ] [ x _ 1 - x _ ^ 1 x _ 2 - x _ ^ 2 x _ 3 - x _ ^ 3 x _ 4 - x _ ^ 4 ] .Math. 2

(58) According to the definition of y, H, x, z given earlier,
x.sub.1=x.sub.1R=Re(x.sub.1)
x.sub.2=x.sub.2R=Re(x.sub.2)
x.sub.3=x.sub.1I=Im(x.sub.1)
x.sub.4=.sub.2I=Im(x.sub.2)

(59) The same equation can be decomposed as:

(60) .Math. R ( x _ - x _ ^ ) .Math. 2 = .Math. r 44 ( x _ 4 - x _ ^ 4 ) .Math. 2 + .Math. r 33 ( x _ 3 - x _ ^ 3 ) + r 34 ( x _ 4 - x _ ^ 4 ) .Math. 2 + .Math. r 22 ( x _ 2 - x _ ^ 2 ) + r 23 ( x _ 3 - x _ ^ 3 ) + r 24 ( x _ 4 - x _ ^ 4 ) .Math. 2 + .Math. r 11 ( x _ 1 - x _ ^ 1 ) + r 12 ( x _ 2 - x _ ^ 2 ) + r 13 ( x _ 3 - x _ ^ 3 ) + r 14 ( x _ 4 - x _ ^ 4 ) .Math. 2

(61) This expression is used by some solutions known in the art under the general name of sphere decoder or universal lattice decoding algorithm. It has for instance been described in the article Maximum Likelihood sequence estimation from the lattice viewpoint by W. Mow, in IEEE Transactions on Information Theory, vol. 40, no. 5, pp. 1591-1600, in year 1994, the disclosure of which is incorporated by reference.

(62) The principle of the sphere decoding algorithm is to search the closest lattice point to the received vector within a hyper-sphere radius, where each possible vector is represented by a lattice point in a lattice field. It is usually based on the Finke-Pohst enumeration to explore all the lattice points inside the hypersphere centered at the received symbol vector.

(63) This Sphere Decoding (SD) algorithm allows lowering the computational complexity compared with maximum likelihood decoding approaches.

(64) However, the average complexity of the SD algorithm is shown to be polynomial in the number N.sub.T of transmit antennas over a certain range of Signal-to-Noise Ratio (SNR) and number of transmit antennas, while the worst case complexity is still exponential.

(65) According to embodiments, the sphere decoding is not used for finding the estimate for the emitted vector of symbols, but for reducing the set of the possible emitted vectors of symbol wherein the estimate is searched by maximum-likelihood-based decoding methods.

(66) In other words, both sphere decoding and maximum-likelihood-based decoding methods are used together, in such a way that the overall complexity is reduced, whereas each of the approaches, separately, presents complexity issues.

(67) Accordingly a first step can be implemented to use the previous equation for determining a subset among all possible vectors of emitted symbols. This subset will then be used, within a second step, as the space within which an estimate is selected, according to maximum-likelihood-based methods, i.e. as the one which minimizes a given metric, e.g. a Euclidian distance, as it will be exposed below.

(68) In this first step, the subset is defined by finding intervals for each of the symbols of the vector x: instead of being free to take any possible values of the constellation, each symbol will be limited to an interval, so that the size of the search space used during the second step is considerably reduced.

(69) As the values of the symbols are complex values, the intervals should be understood as one interval for the real part and one interval for the imaginary part of each symbol.

(70) The intervals for each symbols of the vector can be determined through an iterative process, wherein the determination of a first interval for a first symbol can allow the determination of a second interval for a second symbol, etc. At the end of the process, intervals for all the symbols are defined.

(71) Referring again to the previous equation, first, candidate values are chosen for x.sub.4{circumflex over (x)}.sub.4 within the hyper-sphere determined by the radius R.sub.SD, so that |r.sub.44(x.sub.4{circumflex over (x)}.sub.4|.sup.2R.sub.SD.sup.2. In other words x.sub.4{circumflex over (x)}.sub.4 is chosen in the following range:

(72) - R SD r 44 x _ 4 - x _ ^ 4 R SD r 44
wherein R.sub.SD represents the radius of the hypersphere.

(73) This radius can be given according to the equation:

(74) 0 R SD = .Math. r 44 ( x _ 4 - x _ ^ 4 ) .Math. 2 + .Math. r 33 ( x _ 3 - x _ ^ 3 ) + r 34 ( x _ 4 - x _ ^ 4 ) .Math. 2 + .Math. r 22 ( x _ 2 - x _ ^ 2 ) + r 23 ( x _ 3 - x _ ^ 3 ) + r 24 ( x _ 4 - x _ ^ 4 ) .Math. 2 + .Math. r 11 ( x _ 1 - x _ ^ 1 ) + r 12 ( x _ 2 - x _ ^ 2 ) + r 13 ( x _ 3 - x _ ^ 3 ) + r 14 ( x _ 4 - x _ ^ 4 ) .Math. 2

(75) As the purpose of the usage of the sphere decoding is different, some modification to the algorithm can be done, so as to reduce its complexity while still providing the efficiency required for the aim of this first step.

(76) Accordingly, the error terms, i.e. the differences between evaluated symbols and the estimate, are approximated by a predetermined factor m.Math.d, wherein m and d are two parameters: m representing the complexity and d the constellation distance between consecutive points.

(77) d is simply the minimum vertical (imaginary) or horizontal (real) distance between two neighboring constellation points as depicted in the example of FIG. 2.

(78) m may depend on several factors that determines the receiver performance such as: signal to noise ratio (SNR), channel estimation precision, time recovery precision, frequency synchronization precision, etc.

(79) A high value for m increases the BER vs. SNR performance, but increases also the LC-QR-MLD algorithm. For this reason a compromise should be found. In practice, the value for m is determined by simulations; many parametric simulations are done to find the minimum value of m necessary to attain the needed BER vs. SNR performance.

(80) Replacing the error terms by such a predetermined factor allows dramatically reducing the complexity of the sphere decoding process, while keeping it efficient enough for determining good subsets of candidate vectors of emitted symbols. Good subset means here that the subset should be narrow enough to decrease the complexity of the second step, but also the subset should contain the optimal solution.

(81) It has been proved that this embodiment results in a good efficiency, as it will be shown below.

(82) The radius R.sub.SD of the hypersphere can then be given by the expression
R.sub.SD=r.sub.44.sup.2+(r.sub.33+r.sub.34).sup.2+(r.sub.22+r.sub.23+r.sub.24).sup.2+(r.sub.11+r.sub.12+r.sub.13+r.sub.14).sup.2(md).sup.2

(83) From this radius R.sub.SD, a range can be determined for the expression x.sub.4{circumflex over (x)}.sub.4. This range implicitly defines an interval for the corresponding symbol of the vector of emitted symbols x. In this example, x.sub.4 corresponds to the imaginary part of the symbol x.sub.2 for which, thus, an interval is defined.

(84) Once this interval is defined, the next symbol is considered within the iterative process.

(85) According to this example, candidate values are chosen for x.sub.3{circumflex over (x)}.sub.3 within the hyper-sphere determined by the radius R.sub.SD, so that
|r.sub.44(x.sub.4{circumflex over (x)}.sub.4)|.sup.2+|r.sub.33(x.sub.3{circumflex over (x)}.sub.3)+r.sub.34(x.sub.4{circumflex over (x)}.sub.4)|.sup.2R.sub.SD.sup.2.

(86) Knowing the range within which the values of x.sub.4{circumflex over (x)}.sub.4 can be, it is straightforward to determine such range for x.sub.3{circumflex over (x)}.sub.3. This range should be defined so as to be the widest possible (i.e. by using the extreme values of the expression x.sub.4{circumflex over (x)}.sub.4).

(87) This range implicitly defines an interval for the real part of the symbol x.sub.2.

(88) Once this interval is defined, the next symbol is considered within the iterative process.

(89) According to this example, candidate values are chosen for x.sub.2{circumflex over (x)}.sub.2 within the hyper-sphere determined by the radius R.sub.SD, so that
|r.sub.44(x.sub.4{circumflex over (x)}.sub.4)|.sup.2+|r.sub.33(x.sub.3{circumflex over (x)}.sub.3)+r.sub.34(x.sub.4{circumflex over (x)}.sub.4)|.sup.2+|r.sub.22(x.sub.2{circumflex over (x)}.sub.2)+r.sub.23(x.sub.3{circumflex over (x)}.sub.3)+r.sub.24(x.sub.4{circumflex over (x)}.sub.4)|.sup.2R.sub.SD.sup.2

(90) Knowing the range within which the values of x.sub.4{circumflex over (x)}.sub.4 and x.sub.3{circumflex over (x)}.sub.3 can be, it is straightforward to determine such range for x.sub.2{circumflex over (x)}.sub.2. This range should be defined so as to be the widest possible (i.e. by using the extreme values of the expressions x.sub.4{circumflex over (x)}.sub.4 and x.sub.3{circumflex over (x)}.sub.3).

(91) This range implicitly defines an interval for the imaginary part of the symbol x.sub.1.

(92) Once this interval is defined, the next symbol is considered within the iterative process.

(93) According to this example, candidate values are chosen for x.sub.1{circumflex over (x)}.sub.1 within the hyper-sphere determined by the radius R.sub.SD, so that
|r.sub.44(x.sub.4{circumflex over (x)}.sub.4)|.sup.2+|r.sub.33(x.sub.3{circumflex over (x)}.sub.3)+r.sub.34(x.sub.4{circumflex over (x)}.sub.4)|.sup.2+|r.sub.22(x.sub.2{circumflex over (x)}.sub.2)+r.sub.23(x.sub.3{circumflex over (x)}.sub.3)+r.sub.24(x.sub.4{circumflex over (x)}.sub.4)|.sup.2+|r.sub.11(x.sub.1{circumflex over (x)}.sub.1)+r.sub.12(x.sub.2{circumflex over (x)}.sub.2)+r.sub.13(x.sub.3{circumflex over (x)}.sub.3)+r.sub.14(x.sub.4{circumflex over (x)}.sub.4)|.sup.2R.sub.SD.sup.2

(94) Knowing the range within which the values of x.sub.4{circumflex over (x)}.sub.4, x.sub.3{circumflex over (x)}.sub.3 and x.sub.2{circumflex over (x)}.sub.2 can be, it is straightforward to determine such range for x.sub.1{circumflex over (x)}.sub.1. This range should be defined so as to be the widest possible (i.e. by using the extreme values of the expressions x.sub.4{circumflex over (x)}.sub.4, x.sub.3{circumflex over (x)}.sub.3 and x.sub.2{circumflex over (x)}.sub.2).

(95) This range implicitly defines an interval for the real part of the symbol x.sub.1.

(96) At the end of this last step, the symbols x.sub.1, x.sub.2 of the emitted vector x have been limited to intervals, both for their real and imaginary parts. These intervals define subsets C1, C2 for, respectively, the symbols x.sub.1 and x.sub.2, among all the possible emitted symbols.

(97) The subset of the possible vectors, resulting of these two subsets C1, C2, is dramatically reduced compared with the full range of possibilities, leading to a decreased complexity of the estimation method.

(98) In a second step of the detection method, this subset is used as the space within which an estimate is selected, according to maximum-likelihood-based methods, i.e. as the one which minimizes a given metric.

(99) According to an embodiment, the metric is a Euclidian distance yH.Math.x.sup.2 associated with a criterion yH.Math.x.

(100) This criterion represents a maximum-likelihood-based criterion for which the minimal solution is sought.

(101) In embodiments, this criterion can be decomposed by a QR decomposition. QR decomposition is a decomposition of a matrix into a product of an orthogonal matrix Q and an upper triangular matrix R. QR decomposition is often used to solve the linear least squares problem and is the basis for a particular eigenvalue algorithm, the QR algorithm.

(102) The metric can then be rewritten as follows:

(103) .Math. y - H .Math. x .Math. = .Math. y - Q .Math. R .Math. x .Math. = .Math. Q H ( y - Q .Math. R .Math. x ) .Math. = .Math. y ~ - R .Math. x .Math.

(104) This QR decomposition is used in the QRM-MLD algorithms (QR decomposition with order M Maximum Likelihood Decoding), like those known in the art and fully described in the literature. In the prior art, the aim is to find the vector x than minimizes this equation, knowing that each symbols of this vector belongs to full set of the constellation's possibilities. In the case of high order QAM constellation (e.g. 64 QAM and above), huge processing is needed to find the best symbols.

(105) The symbols belong to subsets of this full set, as previously defined.

(106) Taking back the previous example of a 22 MIMO communication system (wherein N.sub.T=N.sub.R=2), the metric expression can be decomposed as:

(107) .Math. y - H .Math. x .Math. 2 = .Math. [ y ~ 1 y ~ 2 ] - [ r 11 r 12 0 r 22 ] .Math. [ x 1 x 2 ] .Math. = .Math. y ~ - r 22 x 2 .Math. 2 + .Math. y ~ 1 - r 11 x 1 - r 32 x 2 .Math. 2

(108) According to embodiments, the aim becomes to find the vector x=(x.sub.1,x.sub.2).sup.T minimizing this expression, with x.sub.1C1 and x.sub.2C2. This vector can be considered as the emitted symbol.

(109) Except that the symbols are limited to given subset, this minimization problem can be solved according to the known-in-the art algorithms, like the QRM-MLD algorithm. Since these techniques are well documented and thus easily accessible to the man skilled in the art, they won't be described in details here.

(110) It is considered sufficient to say that the QRM-MLD method is a sort of trial and error method, where M best candidates for a first symbol are determined, as the one which minimizes a first term, and then the other candidates for the other symbols are determined according to the previous determination, until a full vector is determined.

(111) In the example of the 22 MIMO system, First, M candidate symbols x.sub.2 are determined, corresponding to the M smallest values of the term |{tilde over (y)}.sub.2r.sub.22x.sub.2|.sup.2, knowing that x.sub.2C2; Then, M candidate symbols x.sub.1 are determined, corresponding to the M smallest values of the expression |{tilde over (y)}.sub.2r.sub.22x.sub.2|.sup.2+|{tilde over (y)}.sub.1r.sub.11x.sub.1r.sub.32x.sub.2|.sup.2, knowing that x.sub.1C1 and x.sub.2 belongs to the M previously determined candidates for x.sub.2.

(112) The symbols which are determined form the estimate for the vector of emitted symbols.

(113) FIG. 3 shows a comparison of the performance of the QRM-MLD method and of the method of the invention, called LC-QR-MLD for Low Complexity QR decomposition based Maximum Likelihood Decoding. It shows BER (Bit Error Rate) versus SNR (Signal to Noise Ratio).

(114) The QRM-MLD performances are depicted for two complexity values, M=4, M=16.

(115) It shows clearly that the performance of the LC-QR-MLD method, even with a low complexity parameter (m=4) is similar to the high-complexity QRM-MLD method, supposed to be optimal. However, high-complexity QRM-MLD method is not easily usable in practice, and decreasing its complexity involves a clear loss in performance (see curve of QRM-MLD, with M=4).

(116) Another embodiment includes determining the subset by replacing some of the symbols of the vector of emitted symbols by an approximation.

(117) For the clarity of the explanation, a 44 MIMO system is taken as example (N.sub.T=N.sub.R=4).

(118) Accordingly, the metric can be written as:

(119) .Math. y - H .Math. x .Math. 2 = .Math. [ y ~ 1 y ~ 2 y ~ 3 y ~ 4 ] - [ r 11 r 12 r 13 r 14 0 r 22 r 23 r 24 0 0 r 33 r 34 0 0 0 r 44 ] .Math. [ x 1 x 2 x 3 x 4 ] .Math. = .Math. y 4 ~ - r 44 x 4 .Math. 2 + .Math. y ~ 3 - r 33 x 3 - r 34 x 4 .Math. 2 + .Math. y ~ 2 - r 22 x 2 - r 23 x 3 - r 24 r 4 .Math. 2 + .Math. y ~ 1 - r 11 x 1 - r 12 x 2 - r 13 x 3 - r 14 x 4 .Math. 2

(120) In order to find the estimate {x.sub.1, x.sub.2, x.sub.3, x.sub.4} for the vector x of emitted symbols, the following equation should be solved:

(121) { x 1 , x 2 , x 3 , x 4 } = arg min x 1 , x 2 , x 3 , x 4 C 4 { .Math. y 4 ~ - r 44 x 4 .Math. 2 + .Math. y ~ 3 - r 33 x 3 - r 34 x 4 .Math. 2 + .Math. y ~ 2 - r 22 x 2 - r 23 x 3 - r 24 r 4 .Math. 2 + .Math. y ~ 1 - r 11 x 1 - r 12 x 2 - r 13 x 3 - r 14 x 4 .Math. 2 }

(122) Once again, solving such an equation is a highly complex system, when all the symbols belong to the constellation associated with the modulation scheme and if this modulation scheme is 16 QAM or above.

(123) For example, the symbols x.sub.1 and x.sub.2 are chosen for being replaced by approximations.

(124) In this previous equation, the terms |{tilde over (y)}.sub.2r.sub.22x.sub.2r.sub.23x.sub.3r.sub.24x.sub.4|.sup.2 and |{tilde over (y)}.sub.1r.sub.11x.sub.1r.sub.12x.sub.2r.sub.13x.sub.3r.sub.14x.sub.4|.sup.2 are minimized to zero. Due to the orthogonality of the problem formulation, the conditional maximum likelihood decision on the symbols x.sub.1 and x.sub.2 can be made by a simple threshold test, i.e.:

(125) x ^ 1 ( x 3 , x 4 ) = round ( y ~ 1 - r 11 x 1 - r 12 x 2 - r 13 x 3 - r 14 x 4 r 11 ) x ^ 2 ( x 3 , x 4 ) = round ( y ~ 2 - r 22 x 2 - r 23 x 3 - r 24 x 4 r 22 )

(126) The round operation is a simple slicing operation to the constellation elements. It allows reducing the complexity of the QRM equation by reducing the number of unknowns.

(127) These two expressions can then be reintroduced into the previous equation, so that the final estimate is then given by

(128) { x ^ 1 ( x 3 , x 4 ) , x ^ 2 ( x 3 , x 4 ) , x ^ 3 , x ^ 4 } = arg min x 3 , x 4 C 2 { .Math. y 4 ~ - r 44 x 4 .Math. 2 + .Math. y ~ 3 - r 33 x 3 - r 34 x 4 .Math. 2 + .Math. y ~ 2 - r 22 x 2 ( x 3 , x 4 ) - r 23 x 3 - r 24 r 4 .Math. 2 + .Math. y ~ 1 - r 11 x 1 ( x 3 , x 4 ) - r 12 x 2 ( x 3 , x 4 ) - r 13 x 3 - r 14 x 4 .Math. 2 }

(129) This expression contains only two unknowns x.sub.3, x.sub.4, instead of 4 in the regular QRM-MLD algorithm. The number of possibilities to be evaluated is then reduced from C.sup.4 to C.sup.2. The decrease in complexity is therefore significant.

(130) Despite this reduced complexity, the performance of the LC-QR-MLD method according to this embodiment of the invention is comparable to the optimal QRM-MLD as depicted on the FIG. 4.

(131) In a similar way to FIG. 3, FIG. 4 shows in a BER versus SNR diagram, curves corresponding to this embodiment of the LC-QR-MLD method and to the legacy QRM-MLD with two difference complexities: M=4, M=16

(132) It clearly shows also that decreasing the complexity of the QRM-MLD to the same level (M=m=4) than the LC-QR-MLD algorithm dramatically reduces its performance.

(133) A third embodiment comprises avoiding the non-linear nature of the QRM-MLD approaches.

(134) The performance of the linear detection methods known in the art is much lower than the non-linear ones, like the QRM-MLD. However, they have the advantage of being less complex and therefore to require simpler hardware implementations.

(135) It is here proposed to improve the performance without increasing the complexity significantly by a so-called Ordered Successive Interference Cancellation (OSIC) method. Such an OSIC method leads to a simple maximum-likelihood verification, with thus similar performances than the non-linear maximum-likelihood methods, without their complexity.

(136) FIG. 5 shows a possible implementation for an OSIC-based receiver RCV. In this example, the emitter has N.sub.T=4 antennas, so that the receiver RCV shall determine estimates for 4 emitted symbols, {circumflex over (x)}.sub.1, {circumflex over (x)}.sub.2, {circumflex over (x)}.sub.3, {circumflex over (x)}.sub.4

(137) The receiver comprises a bank of linear receiving circuits RCV1, RCV2, RCV3, RCV4. Each receiving circuit RCV1, RCV2, RCV3, RCV4 is dedicated to the determination of an estimate symbol, respectively {circumflex over (x)}.sub.1, {circumflex over (x)}.sub.2, {circumflex over (x)}.sub.3, {circumflex over (x)}.sub.4 and adapted to determine a subset, respectively C.sub.1, C.sub.2, C.sub.3, C.sub.4 for each symbol.

(138) The symbols are estimated in cascade, so that an estimate made by receiving circuit is reintroduced in the next receiving circuit to subtract it from the received signal y. The remaining signal {tilde over (y)}.sub.1, {tilde over (y)}.sub.2, {tilde over (y)}.sub.3 with reduced interference can be used then by the subsequent receiving circuits, RCV2, RCV3, RCV4.

(139) Each of the receiving circuits computes a part of the equation,
y=h.sub.(1){circumflex over (x)}.sub.(1)+h.sub.(2){circumflex over (x)}.sub.(2)+h.sub.(3){circumflex over (x)}.sub.(3)+ . . . +h.sub.(NT){circumflex over (x)}.sub.(NT)+z

(140) wherein x.sub.(i) represent the symbol to be detected in the i.sup.th order, which may be different from the emitted symbol at the i.sup.th antenna since x.sub.(i) depends on the order of detection.

(141) A right detection means to have {circumflex over (x)}.sub.(i)=x.sub.(i)

(142) The receiving circuits RCV1, RCV2, RCV3, RCV4 comprises estimating means EM1, EM2, EM3, EM4 respectively, which computes the estimates {circumflex over (x)}.sub.(1), {circumflex over (x)}.sub.(2), {circumflex over (x)}.sub.(3), {circumflex over (x)}.sub.(4). More precisely, the estimating means computes first some raw estimates {hacek over (x)}.sub.(1), {hacek over (x)}.sub.(2), {hacek over (x)}.sub.(3), {hacek over (x)}.sub.(4) which are then sliced to provide the slices estimates {circumflex over (x)}.sub.(1), {circumflex over (x)}.sub.(2), {circumflex over (x)}.sub.(3), {circumflex over (x)}.sub.(4). As it will be explained, these sliced estimates form a subset of all the possible emitted symbols. They are then provided to the ML verification module MLV as candidates within which the final estimate {circumflex over (x)}.sub.1, {circumflex over (x)}.sub.2, {circumflex over (x)}.sub.3, {circumflex over (x)}.sub.4 is selected. This estimate can be selected as previously explained by calculating a metric associated with a criterion. The metric can be an Euclidian distance yH.Math.x.sup.2 associated with a criterion yH.Math.x.

(143) The raw estimates {hacek over (x)}.sub.(1), {hacek over (x)}.sub.(2), {hacek over (x)}.sub.(3), {hacek over (x)}.sub.(4) can be determined according to any linear algorithms, e.g. techniques known in the art like the Zero Forcing (ZF) technique or the MMSE (Minimum Mean Square Error) decoding technique.

(144) Both techniques are well described in the literature, like for instance in Performance analysis of macrodiversity MIMO systems with MMSE and ZF receivers in flat Rayleigh fading by D. A. Basnayaka, P. J. Smith and P. A. Martin in IEEE Transactions on Wireless Communications, vol. 12, no. 5, pp. 2240-2251, May 2013, the disclosure of which is incorporated by reference.

(145) Other techniques are also possible as this embodiment is not dependent on any technique, provided this is a linear technique.

(146) In the following explained example, it is supposed that a MMSE decoding technique is used. According to the MMSE decoding technique, a MMSE weight matrix (or Wiener filter):
W.sub.MMSE(H.sup.H.Math.H+.sub.z.sup.z.Math.I).sup.1H.sup.H

(147) Then, the rows of this matrix can be used separately by the receiving circuits: the first row is used by the receiving circuit RCV1, the second row by the receiving circuit RCV2, etc.

(148) The sliced estimates at the output of an estimating mean EMi are reintroduced as input of the next receiving circuit RCVi+1, so as to compute the input y.sub.i+1 that is provided to the estimating mean EMi+1:
{tilde over (y)}.sub.(i+1)={tilde over (y)}.sub.(i)h.sub.(i+1).Math.{circumflex over (x)}.sub.(i+1)

(149) At any estimation mean EMi, if {circumflex over (x)}.sub.(1)=x.sub.(i), then the interference is successfully cancelled in the course of estimating x.sub.(i+1). However, if {circumflex over (x)}.sub.(i)x.sub.(i) then error propagation is incurred because the MMSE weight that has been designed under the condition of {circumflex over (x)}.sub.(i)=x.sub.(i) is used to estimate x.sub.(i+1).

(150) To avoid this possibility that impairs the decoding processing, this embodiment of the invention can consider not only the sliced estimate {circumflex over (x)}.sub.(i) but also the neighbors of the raw estimate (non-sliced) {hacek over (x)}.sub.(i).

(151) FIGS. 6A, 6B, 6C, 6D show the constellation diagram associated with a QAM 256 modulation scheme, with the successive determination of subsets C1, C2, C3, C4 corresponding the successive receiving circuits RCV1, RCV2, RCV3, RCV4.

(152) In FIG. 6A, the subset C1 is depicted as a square around the raw estimate {hacek over (x)}.sub.(1). This subset comprises several possible estimates {circumflex over (x)}.sub.(1). The subset C1 can be determined as the minimal set of constellation points surrounding the raw estimate. In the example, there are 4 possible estimates {circumflex over (x)}.sub.(1)1, {circumflex over (x)}.sub.(1)2, {circumflex over (x)}.sub.(1)3, {circumflex over (x)}.sub.(1)4.

(153) These 4 direct neighbors are provided to the next receiving circuit RCV2. Each possible neighbor serves as basis for determining estimates {hacek over (x)}.sub.(2)1, {hacek over (x)}.sub.(2)2, {hacek over (x)}.sub.(2)3, {hacek over (x)}.sub.(2)4 for the second symbol x.sub.(2).

(154) FIG. 6B shows these estimates on the constellation diagram. On the basis of these estimates, a subset C2 is determined as the constellation points which are direct neighbors of {hacek over (x)}.sub.(2)1, {hacek over (x)}.sub.(2)2, {hacek over (x)}.sub.(2)3, {hacek over (x)}.sub.(2)4. Consequently, in this example, 9 direct neighbors are determined within C2, {circumflex over (x)}.sub.(3)1, {circumflex over (x)}.sub.(3)2, {circumflex over (x)}.sub.(3)3, {circumflex over (x)}.sub.(3)4, {circumflex over (x)}.sub.(3)5, {circumflex over (x)}.sub.(3)6, {circumflex over (x)}.sub.(3)7, {circumflex over (x)}.sub.(3)8{circumflex over (x)}.sub.(3)9.

(155) These 9 direct neighbors are provided to the next receiving circuit RCV3. Each possible neighbor serves as basis for determining estimates {hacek over (x)}.sub.(3)1, {hacek over (x)}.sub.(3)2, {hacek over (x)}.sub.(3)3, {hacek over (x)}.sub.(3)4, {hacek over (x)}.sub.(3)5, {hacek over (x)}.sub.(3)6, {hacek over (x)}.sub.(3)7, {hacek over (x)}.sub.(3)8{hacek over (x)}.sub.(3)9 for the third symbol x.sub.(3).

(156) FIG. 6C shows these estimates on the constellation diagram. On the basis of these estimates, a subset C3 is determined as the constellation points which are direct neighbors of {hacek over (x)}.sub.(3)1, {hacek over (x)}.sub.(3)2, {hacek over (x)}.sub.(3)3, {hacek over (x)}.sub.(3)4, {hacek over (x)}.sub.(3)5, {hacek over (x)}.sub.(3)6, {hacek over (x)}.sub.(3)7, {hacek over (x)}.sub.(3)8{hacek over (x)}.sub.(3)9. Consequently, in this example, 20 direct neighbors are determined within C3, {circumflex over (x)}.sub.(4)1, {circumflex over (x)}.sub.(4)2, {circumflex over (x)}.sub.(4)3, {circumflex over (x)}.sub.(4)4, {circumflex over (x)}.sub.(4)5, {circumflex over (x)}.sub.(4)6, {circumflex over (x)}.sub.(4)7, {circumflex over (x)}.sub.(4)8 . . . {circumflex over (x)}.sub.(4)20.

(157) These 20 direct neighbors are provided to the next receiving circuit RCV4. Each possible neighbor serves as basis for determining estimates {hacek over (x)}.sub.(4)1, {hacek over (x)}.sub.(4)2, {hacek over (x)}.sub.(4)3, {hacek over (x)}.sub.(4)4, {hacek over (x)}.sub.(4)5, {hacek over (x)}.sub.(4)6, {hacek over (x)}.sub.(4)7, {hacek over (x)}.sub.(4)8 . . . {hacek over (x)}.sub.(4)20 for the fourth symbol x.sub.(4).

(158) FIG. 6D shows these estimates on the constellation diagram. On the basis of these estimates, a subset C4 is determined as the constellation points which are direct neighbors of {hacek over (x)}.sub.(4)1, {hacek over (x)}.sub.(4)2, {hacek over (x)}.sub.(4)3, {hacek over (x)}.sub.(4)4, {hacek over (x)}.sub.(4)5, {hacek over (x)}.sub.(4)6, {hacek over (x)}.sub.(4)7, {hacek over (x)}.sub.(4)8 . . . {hacek over (x)}.sub.(4)20.

(159) Consequently, in this example, 25 direct neighbors are determined within C4.

(160) Consequently, 4 constellations C1, C2, C3, C4 have been defined, which define a subset of all the possibilities of the vectors x of emitted symbols. Each constellation comprises a much more reduced alphabet than the original alphabet (here 256 for a QAM-256 modulation scheme).

(161) Then, the ML verification module MLV takes this subset as input to select a final estimate {circumflex over (x)}.sub.ML for the vector x.

(162) x ^ ML = arg min x ^ 1 C 1 , x ^ 2 C 2 , x ^ 3 C 3 , x ^ 4 C 4 .Math. y - H x ^ .Math. 2

(163) This embodiment allows decreasing the complexity of the ML-based solutions, by taking benefit of a reducing of the possible vectors x to consider through linear estimation methods. However this solution has dramatically better performance than the linear methods.

(164) FIG. 7 shows a comparison of the performance of the QRM-MLD method and of the method of the invention, called OSIC. It shows BER (Bit Error Rate) versus SNR (Signal to Noise Ratio).

(165) The QRM-MLD performances are depicted for a high complexity value, M=16. The OSIC method is shown with (OSICML) the ML step implemented by the ML verification module MLV, and without this ML verification.

(166) It shows clearly that the performance of the OSIC method is similar to the high-complexity QRM-MLD method, supposed to be optimal. Due to the linearity of the method (except the ML verification step), the complexity is far lower and the ML verification step is performed on a limited constellation so that the overall complexity is still far lower.

(167) The invention has been described with reference to preferred embodiments. However, many variations are possible within the scope of the invention.