Abstract:
A method of detecting a plurality of symbols (d k (i)) transmitted by or for a plurality K of users, each symbol belonging to a modulation constellation and being the subject of a spectral spreading by means of a spreading sequence, the method including a filtering step adapted for supplying a real vector (z) characteristic of the received signal, at least the closest neighbor of the vector being sought within a lattice of points (Ξ) generated by the modulation constellations, the search being limited to candidate vectors (x), each of whose components (b i ) has a value lying within a search interval defined by a lower bound (B i   − )and an upper bound (B i   + ), the bounds being chosen so that each of the intervals comprises only component values of points situated within a sphere with a predetermined radius (√{square root over (C)}) and belonging to a modulation constellation.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims priority under 35 U.S.C. § 119 and the international convention to French application No. 00 17255, filed Dec. 22, 2000. 
     BACKGROUND OF THE INVENTION 
     1 Field of the Invention 
     The present invention concerns a multiuser detection method and device. More particularly, the present invention concerns a maximum likelihood multiuser detection method and device for a DS-CDMA (Direct Sequence Code Division Multiple Access) telecommunication system. 
     2 Description of Related Art 
     In a DS-CDMA mobile telecommunication system, the separation of the communications coming from or going to the different users is achieved by multiplying each complex symbol of a user by a spreading sequence which is peculiar to him, also referred to for this reason as the user signature. The spreading frequency (chip rate) being greater than the frequency of the symbols, the signal transmitted by each user is distributed (or spread) in the space of the frequencies. The ratio between the band occupied by the spread signal and the band occupied by the information signal is referred to as the spreading factor. On reception, the separation of a given user is obtained by means of a filtering adapted to the corresponding signature. When the transmission channel has a plurality of propagation paths, the output of the adapted filtering contains as many correlation peaks. Each path of the channel can be modelled by a complex multiplicative coefficient and a delay. The signals being propagated along the different paths can be aligned and combined by means of complex coefficients which are conjugates of the path coefficients, thus effecting a filtering adapted to the transmission channel. In order to simplify the terminology, the general expression “filtering adapted to the user k” will encompass both the filtering operation adapted to the signature of the user k and the filtering operation adapted to the transmission channel. 
     To combat the interference between signals destined for (the downlink) or coming from (the uplink) the different users, multiuser detection methods have been proposed, and notably iterative detection methods such as those known as PIC (Parallel Interference Cancellation) and SIC (Serial Interference Cancellation). They are based on the iteration of an interference elimination cycle including the estimation of the symbols transmitted, the evaluation of the interferences and their subtraction from the signals received. Although of high performance, these methods are not optimal since they do not provide an estimation in the sense of the maximum likelihood of the symbols transmitted by the different users. 
     A method of multiuser detection with maximum likelihood inspired by the Viterbi algorithm was proposed by S. Verdu in an article entitled “Minimum probability of error for asynchronous Gaussian multiple access channels”, published in IEEE Transactions on Information Theory, pages 85–96, January 1986, but its complexity is prohibitive since it varies exponentially with the number of users. 
     More recently a method of multiuser detection with maximum likelihood using a representation by a lattice of points was proposed by L. Brunel et al, in an article entitled “Euclidian space lattice decoding for joint detection in CDMA system” published in Proceedings of ITW, page 129, June 1999. According to this method, a vector characteristic of the received signal representing a statistic sufficient for the maximum likelihood detection of the symbols transmitted by the different users is determined. It is shown under certain conditions that the characteristic vector can be represented as the point in a lattice disturbed by a noise. The detection then consists of seeking the point in the lattice closest to the point corresponding to the vector received. However, the dimension of the lattice to be used generally being 2·K where K is the number of users, the number of points to be tested is still very high. 
     BRIEF SUMMARY OF THE INVENTION 
     To simplify detection, it has been proposed to limit the search for the closest neighbour to the points in the lattice belonging to a sphere centered around the point received. This simplified detection method, referred to as the “method of detection by spheres”, will be disclosed below: 
     The context is a multiple access mobile telecommunication system with direct sequence spectrum spreading (DS-CDMA) comprising K users communicating synchronously with a base station. 
     Let d k (i) be the complex symbol sent by the user k at instant i. This symbol belongs to the modulation constellation A k  used by the user k, which will also be referred to as the alphabet of symbols of the user k. Each user k transmits a block of N symbols with an amplitude of the signal a k . The symbols are spread by a complex signature s k (t)=s k   R (t)+j·s k   I (t) with a duration equal to the symbol period T:
 
 s   k ( t )=0 if  t∉[ 0,  T] 
 
The K complex symbols d k (i)=d k   R (i)+j·d k   I (i) transmitted at instant i are placed in a row vector of real values d 2 (i) defined as:
 
 d   2 ( i )=( d   1   R ( i ),  d   1   I ( i ), . . . ,  d   K   R ( i ),  d   K   I ( i ))  (1)
 
The corresponding modulated signal is then, as a function of the time t: 
               S   t     =       ∑     i   =   0       N   -   1       ⁢           ⁢       ∑     k   =   1     K     ⁢           ⁢       a   k     ⁢       d   k     ⁡     (   i   )       ⁢       s   k     ⁡     (     t   -   iT     )                     (   2   )             
 
It is assumed that the channel is an ideal channel with white additive Gaussian noise.
 
Let r t =S t +η t  be the signal received at time t and η t  a complex Gaussian noise of zero mean whose components have a variance N 0 .
 
Let the row vector be y 2 (i)=(y 1   R (i), y 1   I (i), . . . , y K   R (i), y K   I (i)) such that y k (i)=y k   R (i)+j·y k   I (i) is the complex output at instant i of the filter adapted to the user k: 
                       y   k     ⁡     (   i   )       ⁢     =   Δ     ⁢       ⁢       ∫     -   ∞       +   ∞       ⁢         s   k   *     ⁡     (     t   -   iT     )       ⁢   n   ⁢           ⁢     ⅆ   t                     =       ⁢         ∑     l   =   1     K     ⁢           ⁢       a   l     ⁢       d   l     ⁡     (   i   )       ⁢       ∫   0   T     ⁢         s   l     ⁡     (   t   )       ⁢       s   k   *     ⁡     (   t   )       ⁢           ⁢     ⅆ   t             +       n   k     ⁡     (   i   )                     =       ⁢         ∑     l   =   1     K     ⁢           ⁢       a   l     ⁢       d   l     ⁡     (   i   )       ⁢     R   lk         +       n   k     ⁡     (   i   )                       (   3   )             
 
with 
         R   lk     =         ∫   0   T     ⁢         s   l     ⁡     (   t   )       ⁢       s   k   *     ⁡     (   t   )       ⁢           ⁢     ⅆ   t         =       R   lk   R     +       j   ·     R   lk   I       ⁢           ⁢   f             
         for   ⁢           ⁢   k     ,     l   =   1     ,   …   ⁢           ,       K   ⁢           ⁢   and   ⁢           ⁢       n   k     ⁡     (   i   )         =       ∫   0   T     ⁢         η   t     ·       s   k   *     ⁡     (     t   -     i   ·   T       )         ⁢           ⁢     ⅆ   t               
 
The autocorrelation matrix of the spreading sequences will be denoted R(i).
 
     If the complex elements of (3) are decomposed into their real and imaginary parts, there is obtained: 
               [         y   k   R     ⁡     (   i   )       +     j   ·       y   k   I     ⁡     (   i   )           ]     =         ∑     l   =   1     K     ⁢           ⁢       a   l     ⁡     [           b   l   R     ⁡     (   i   )       ⁢     R   lk   R       -         b   l   I     ⁡     (   i   )       ⁢     R   lk   I         ]         +     j   ·       ∑     l   =   1     K     ⁢           ⁢       a   l     ⁡     [           b   l   R     ⁡     (   i   )       ⁢     R   lk   I       +         b   l   I     ⁡     (   i   )       ⁢     R   lk   R         ]           +     [         n   k   R     ⁡     (   i   )       +     j   ·       n   k   I     ⁡     (   i   )           ]               (   4   )             
 
Let A 2 =Diag(a 1 , a 1 , . . . , a K , a K ) and R 2  be the matrix of size 2K×2K such that: 
               R   2     =     [           R   11   R           R   11   I         ⋯         R     1   ⁢           ⁢   K     R           R     1   ⁢   K     I               -     R   11   I             R   11   R         ⋯         -     R     1   ⁢   K     I             R     1   ⁢   K     R             ⋮       ⋮                   ⋮       ⋮             R     K   ⁢           ⁢   1     R           R     K   ⁢           ⁢   1     I         ⋯         R   KK   R           R   KK   I               -     R     K   ⁢           ⁢   1     I             R     K   ⁢           ⁢   1     R         ⋯         -     R   KK   I             R   KK   R           ]             (   5   )             
 
Equation (4) can then be put in matrix form:
 
 y   2 ( i )= d   2 ( i )M 2   +n   2 ( i )  (6)
 
where M 2  is a real matrix of size 2K×2K defined by M 2 =A 2 R 2  and where the noise vector n 2 (i)=(n 1   R (i), n 1   I (i), . . . , n K   R (i), n K   I (i)) has N 0 R 2  as its covariance matrix.
 
     It will be demonstrated below that y 2 (i), as given by equation (6), can be represented as a point in a lattice Λ 2  of dimension 2·K, with a generator matrix M 2  corrupted by a noise n 2 . 
     The term real lattice of points Λ of dimension κ will be used for any set of vectors of R κ  satisfying:
 
x=b 1   v   1   +b   2   v   2   + . . . +b   κ   v   κ  where b i   εZ, ∀i= 1, . . . , κ
 
and where {v 1 , v 2 , . . . , vκ} is a base on R κ .
 
     An example of a lattice of points of dimension 2 has been shown in  FIG. 1 . 
     The points in the lattice form an additive abelian sub-group of R κ , and it is also the smallest sub-group of R κ  containing the vectors {v 1 , v 2   , . . . ,v   κ } and a Z-modulus of R κ . These base vectors form the rows of the generator matrix G for the lattice. It is therefore possible to write x=bG where
 
 b =( b   1   , . . . , b   κ )ε Z   κ .  (7)
 
     The region delimited by the base vectors is referred to as the fundamental parallelotope and its volume, denoted vol(Λ) and det(Λ), is referred to as the fundamental volume. This fundamental volume is none other than the modulus of the vectorial product of the κ base vectors and is therefore equal to |det(G)| where det designates the determinant. Though there are several possible choices for the generator matrix for the same lattice, on the other hand there is only one value for the fundamental volume. 
     The Voronoi region V or Dirichlet cell of a point x belonging to the lattice is all the points of R κ  closer to x than any other point in the lattice. The volume of this region is equal to the fundamental volume. 
     The stacking radius ρ of the lattice is the radius of the largest sphere inscribed in the Voronoi region and the radius of coverage that of the smallest sphere circumscribed in this same region. The stacking radius is therefore the radius of the spheres whose stacking constitutes the lattice of points and the radius of coverage is that of the smallest spheres which, centred on the points in the lattice, make it possible to cover the entire space R κ . The density of the lattice is the ratio between the volume of the sphere of radius ρ and the fundamental volume. Finally, the coefficient of error (the kissing number) τ(Λ) of the lattice is the number of spheres tangent to one and the same sphere in the stack or, in other words, the number of neighbours of a point in the lattice, situated at the minimum distance d Emin =2ρ. 
     Consider once again equation (6). The components of the vector d 2 (i) belong to a finite alphabet A of cardinal: 
               Card   ⁡     (   A   )       =       ∏     k   =   1     K     ⁢           ⁢     Card   ⁡     (     A   k     )                 (   8   )             
 
     The term A will be used for the constellation of the system (or simply constellation) as opposed to A k  said to be modulation constellations. 
     Assume for example that the components d k   R (i) and d k   I (i) are PAM modulation symbols of order M:
 
 d   k   R ( i )ε{− M +1, − M+ 3 , . . . , M− 3,  M− 1} and  (9)
 
 d   k   I ( i )ε{− M +1, − M+ 3, . . . ,  M− 3,  M− 1}  (10)
 
If the transformation is effected: 
           d   k     ′   ⁢           ⁢   R       ⁡     (   i   )       =         1   2     ⁢     (         d   k   R     ⁡     (   i   )       +   M   -   1     )     ⁢           ⁢   and   ⁢           ⁢       d   k     ′   ⁢           ⁢   I       ⁡     (   i   )         =       1   2     ⁢     (         d   k   I     ⁡     (   i   )       +   M   -   1     )             
 
or again vectorially: 
                 d   2   ′     ⁡     (   i   )       =       1   2     ⁢     (         d   2     ⁡     (   i   )       +     v   M       )               (   11   )             
 
where v M =(M−1, M−1, . . . , M−1)
 
the components d′ k   R (i) and d′ k   I (i) are elements of Z and consequently d′ 2 (i) is a vector of Z 2K .
 
     In general terms, if there exists an affine transformation transforming the components d k   R (i) and d k   I (i) into elements of Z, the vector d′ 2 (i) can be represented by a vector of Z 2K . 
     In a similar manner, the corresponding transformation is effected on y 2 (i), that is to say: 
                 y   2   ′     ⁡     (   i   )       =       1   2     ⁢     (         y   2     ⁡     (   i   )       +       v   M     ⁢     M   2         )               (   12   )             
 
     By means of this transformation, which is assumed to be implicit hereinafter, the vector d 2 (i)M 2  then belongs to a lattice of points Λ 2  of dimension 2·K as defined by equation (7) with G=M 2 . The vector y 2 (i) can then be considered to be a point in the lattice Λ 2  corrupted by a noise n 2 (i). 
     If it is assumed that the components of the noise vector n 2 (i) are centred independent random Gaussian variables, the problem of detection in the sense of the maximum likelihood of the symbols transmitted by the different users amounts to a search for the point z 2  in the lattice Λ 2  such that its distance to y 2 (i) is at a minimum. 
     In reality, the components of the noise vector n 2 (i) are correlated and the covariance matrix of n 2 (i) is N 0 R 2 . 
     In order to boil down to the decorrelated case it is necessary, prior to the decoding, to effect an operation of whitening of the noise. 
     The matrix R being hermitian, the autocorrelation matrix R 2  is symmetrical defined positive and can therefore be the subject of a Cholesky factorisation:
 
 R   2   =W   2   W   2   T   (13)
 
     where W 2  is an inferior triangular matrix of size 2K×2K. 
     A whitened observation vector is defined:
 
 {tilde over (y)}   2 ( i )= y   2 ( i ) W   2   T     −1     (14)
 
and a new lattice of points Ω 2  consisting of vectors of components ({tilde over (x)} 1   R (i), {tilde over (x)} 1   I (i), . . . , {tilde over (x)} K   R (i), {tilde over (x)} K   I (i)) with {tilde over (x)} 2 (i)=x 2 (i)W 2   T     −1    where x 2 (i) is a vector of components (x 1   R (i), x 1   I (i), . . . , x K   R (i), x K   I (i)) belonging to Λ 2 . The lattice Ω 2  has an inferior triangular real matrix as its generator matrix A 2 W 2 .
 
     It can easily be shown that, after whitening, the covariance matrix of the filtered noise n 2 (i)W 2   T     −1    is equal to N 0 I 2K  where I 2K  is the identity matrix of dimension 2K. The detection therefore comprises a first step of whitening the observation vector followed by a step of seeking the closest neighbour within the lattice of points Ω 2 . 
     In order to reduce the number of points to be tested, as illustrated in  FIG. 1 , it is possible to limit the search to a sphere centred around the point {tilde over (y)} 2 . In practice, the choice of the radius of the sphere results from a compromise: it must not be too large in order not to lead to an excessively high number of points and sufficiently large to include at least the closest neighbour. 
       FIG. 2  depicts schematically a multiuser detection device using a method of detection by spheres. The received signal r t  is filtered by a battery of filters adapted to each of the users,  210   1 , . . . ,  210   K . The real and imaginary components of the observation vector y 2 (i) output from the adapted filters are transmitted to a matrix calculation unit performing the spectral whitening operation according to equation (14). The real and imaginary components of the whitened vector {tilde over (y)} 2 (i) are then transmitted to a unit for detection by spheres seeking the closest neighbour of the point received within the lattice Ω 2  of dimension 2·K. The coordinates of the closest neighbour directly give the real and imaginary components of the estimated symbols {circumflex over (d)} k (i) for the different users. 
     The step of searching for the closest neighbour is greedy in calculation time, which may prove very disadvantageous when the number of users is high. 
     The aim of the present invention is to propose a simplification of the method of detection by spheres. 
     To this end, the invention is defined by a method of detecting a plurality of symbols (d k (i)) transmitted by or for a plurality K of users, each symbol belonging to a modulation constellation and being the subject of a spectral spreading by means of a spreading sequence, the said method comprising a filtering step adapted for supplying a real vector (z) characteristic of the said received signal, at least the closest neighbour to the said vector being sought within a lattice of points (Ξ) generated by the said modulation constellations, the said search being limited to candidate vectors (x), each of whose components (b i ) has a value lying within a search interval defined by a lower bound (B i   − ) and an upper bound (B i   + ), the said bounds being chosen so that each of the said intervals comprises only values of components of points situated within a sphere of predetermined radius (√{square root over (C)}) and belonging to a modulation constellation. 
     Advantageously, for a component with a given index i, each pair of lower (B i   − ) and upper (B i   + ) bounds is calculated from a quantity T i  characteristic of the width of the search interval for the said component. This characteristic quantity is determined by recurrence on the index i: the characteristic quantity (T i ) for a given index is determined from the quantity with the previous index (T i+1 ) and the value of a component (b i+l ) chosen in the search interval ([B i+1   − , B i+1   + ]) relating to the component with the previous index. 
     For a candidate vector component with a given index (2k), the lower bound of the search interval will be advantageously chosen so as to be greater than the smallest integer (M 2k   − ) corresponding to a symbol of the modulation constellation (A k ) and the upper bound of the search interval will be chosen so as to be less than the greatest integer (M 2k   + ) corresponding to a symbol of the modulation constellation. 
     For a first vector candidate component with a given index (2k−1), the lower bound of the search interval will be chosen so as to be greater than a first integer (M 2k−1   − ) and the upper bound of the search interval will be chosen so as to be less than a second integer (M 2k−1   + ), the said first and second integers being determined from the value of a second component (b 2k ) of the vector candidate such that the first and second components relate to one and the same user. 
     Advantageously, the said first and second integers are respectively determined as the smallest value and the largest value of the first component such that the complex number defined by the value of the said first component and the value of the said second component is a symbol of the modulation constellation of the said user. 
     The search for the closest neighbour is preferably carried out by scanning at the said search intervals one by one for the different component indices (i) and by choosing a component value (b i ) in each of the said intervals, the bounds of each interval being determined according to the width of the interval with the previous index (i+1) and the component value (b i+1 ) chosen in this same interval. 
     According to one embodiment, if, during the said search, the norm (∥w∥) of a candidate vector is less than the radius of the said sphere, the radius is updated to the value of the said norm. 
    
    
     
       BRIEF DESCRIPTIONS OF THE SEVERAL VIEWS OF THE DRAWINGS 
       The characteristics of the invention mentioned above, as well as others, will emerge more clearly from a reading of the following description given in relation to the accompanying figures, amongst which: 
         FIG. 1  depicts a lattice of points useful to the detection method employed in the receiver illustrated in  FIG. 2 ; 
         FIG. 2  depicts schematically the structure of a multiuser DS-CDMA receiver using a method of detection by spheres; 
         FIG. 3  depicts a flow diagram for the search for the closest neighbour used in the method of detection by spheres according to the invention; 
         FIG. 4  depicts an example of a user modulation constellation. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Consider once again a DS-CDMA telecommunication system with K users functioning in synchronous mode. As seen above, the detection of the symbols transmitted by the different users in the sense of the maximum likelihood can be reduced to a search amongst the points in a lattice (Ω 2 ) for the closest neighbour of the point corresponding to the received signal. 
     In the case where the spreading sequences are real or more generally real multiples of the same complex number, it can be shown that the search can be carried out in a lattice with a dimension reduced to K. This is because, the imaginary terms of the matrix R 2  and consequently of the matrix M 2  being zero, it is possible to boil down to a lattice of real points Λ of dimension K and of generator matrix M:
 
 y   R ( i )= d   R ( i ) M ( i )+ n   R ( i )  (15)
 
 y   I ( i )= d   I ( i ) M ( i )+ n   I ( i )  (16)
 
where y R (i), d R (i), n R (i) (or respectively y I (i), d I (i), n I (i)) are the vectors consisting of the real parts (or respectively of the imaginary parts) of the components of y(i), d(i), n(i); M(i)=AR(i) where R(i) is the matrix consisting of the coefficients 
         R   lk     =       ∫   0   T     ⁢         s   l     ⁢     (   t   )       ⁢       s   k     ⁢     (   t   )       ⁢           ⁢     ⅆ   t             
 
and A is the vector of the amplitudes of the K users. The observation vectors y R (i) and y I (i) belong to R K . After any transformation according to an equation of the same type as (12), the vectors y R (i) and y I (i) can be considered to be points in a lattice Λ of generator matrix M(i) corrupted by noise.
 
     It can easily be shown that the noise vectors n R (i) and n I (i) both have the covariance matrix N 0 ·R(i). R being a symmetrical matrix defined positive, it can be factorised according to a Cholesky decomposition: R=WW T  where W is an inferior triangular real matrix of size K×K. In order to decorrelate the noise components, the real observation vectors y R (i) and y I (i) are first of all subjected to a whitening operation:
 
 {tilde over (y)}   R ( i )= y   R ( i ) W   T     −1     (17)
 
 {tilde over (y)}   I ( i )= y   I ( i ) W   T     −1     (18)
 
     Secondly, the closest neighbours of the vectors {tilde over (y)} R (i) and {tilde over (y)} I (i) belonging to the lattice of points Ω formed by the vectors {tilde over (x)}(i)=x(i)W T     −1   , where x(i) belongs to Λ, are sought. It should be noted that the generator matrix of the lattice Ω is equal to AW, an inferior triangular real matrix. In addition, it can easily be shown that, after whitening, the covariance matrices of the filtered noises n R (i)W T     −1    and n I (i)W T     −1    are both equal to N 0 I K  where I K  is the identity matrix of dimension K. 
     When the symbols of or for the users are transmitted asynchronously, the modelling of the system is more complex since it is necessary to take account of the fact that a symbol of a user can interfere with two or even several consecutive symbols of another user. It can be shown in this case that it is possible to boil down to a search for the closest neighbour within a lattice of dimension 2·K′ (K′ in the case of real signatures) with K′&gt;K where K′ is a function of the number of symbols not yet estimated which may interfere with each other. The detection is however not optimum in the sense of the maximum likelihood. 
     In all cases, the problem is to determine the point x in a lattice Ξ of dimension κ closest to the received whitened vector {tilde over (y)}, which amounts to minimising the metric 
               m   ⁡     (       y   ~     /   x     )       =         ∑     i   =   1     κ     ⁢           ⁢                y   ~     i     -     x   i            2       =              y   ~     -   x          2               (   19   )             
 
     where {tilde over (y)}=x+η, η=(η 1 , . . . , η 78 ) is the noise vector and x=(x 1 , . . . , x κ ) is a point belonging to the lattice. The noise vector η has independent real components in a Gaussian distribution of zero mean. 
     It should be noted that the vector y(i) does not need to be whitened if use is made of a metric based on the covariance matrix:
 
 m ( y/x )=( y−x ) R   −1 ( y−x ) T   (20)
 
     Hereinafter, for reasons of simplification, the observation vector, whitened ({tilde over (y)}(i)) or not (y(i)) will be termed z and the metric acting in equation (19) or (20) will be termed ∥.∥. 
     The points in the lattice Ξ can be described by the vectors x=bG where b=(b 1 , . . . , b κ ) has components b i  belonging to the ring of the integers Z and where G is the generator matrix of the lattice. The rows of the matrix G are denoted {v 1 , v 2 , . . . , v κ }. By definition these vectors form a base of the lattice. 
     The set of transmitted symbols is limited to an alphabet of finite size A κ ⊂Z κ  referred to as a constellation. This constellation is determined by the modulation constellations used by (or for) the κ users and the cardinal of the alphabet A κ  is the product of the cardinals of the different modulation alphabets. It is assumed that the complex points of each of these constellations have real values and evenly distributed imaginary values. 
     As has been seen, an exhaustive decoding would require a search for the closest neighbour throughout A κ . The decoder advantageously restricts its calculation to the points which are situated within an area of the constellation situated around the received point, preferably inside a sphere of given radius √{square root over (C)} centred on the received point as depicted in  FIG. 1 . Only the points in the lattice situated at a quadratic distance less than C from the received point are therefore considered for the minimisation of the metric (19). 
     In practice, the decoder effects the following minimisation: 
                 min     x   ⁢           ⁢   ε   ⁢           ⁢   Ξ       ⁢          z   -   x            =       min       w   ⁢           ⁢   ε   ⁢           ⁢   z     -           ⁢   Ξ       ⁢        w                  (   21   )             
 
     To do this, the decoder seeks the smallest vector w in the translated set z−Ξ. The vectors z and w can be expressed as:
 
z=           G with          =(ρ 1 , . . . , ρ κ )
 
w=ξG with ξ=(ξ 1 , . . . , ξ κ )  (22)

     It is important to note that ρ and ξ are real vectors. As w=z−x, where x belongs to the lattice Ξ, this gives the equation 
           ξ   i     =         ρ   i     -       b   i     ⁢           ⁢   for   ⁢           ⁢   i       =   1       ,   …   ⁢           ,       κ   ⁢           ⁢   with   ⁢           ⁢   w     =       ∑     i   =   1     κ     ⁢           ⁢       ξ   i     ⁢       v   i     .               
 
     The vector w is a point in the lattice whose coordinates ξ i  are expressed in the translated reference frame centred on the received point. The vector w belongs to a sphere of quadratic radius C centred at 0 if:
 
∥ w∥   2   =Q (ξ)=ξ GG   T ξ T   ≦C   (23)
 
     In the new system of coordinates defined by ξ, the sphere of quadratic radius C centred at y is therefore transformed into an ellipsoid centred on the origin. The Cholesky factorisation of the Gram matrix Γ=GG T  gives Γ=ΔΔ T , where Δ is an inferior triangular matrix of elements δ ij . 
     It should be noted that, if the vector y has been whitened, it is not necessary to effect this factorisation since the generator matrix for the lattice is already triangular and inferior. 
     However, where prior whitening has not been carried out, and therefore where Cholesky decomposition is necessary: 
               Q   ⁡     (   ξ   )       =         ξΔΔ   T     ⁢     ξ   T       =                Δ   T     ⁢     ξ   T            2     =         ∑     i   =   1     κ     ⁢           ⁢       (         δ   12     ⁢     ξ   i       +       ∑     j   =     i   +   1       κ     ⁢           ⁢       δ     j   ⁢           ⁢   i       ⁢     ξ   j           )     2       ≤   C                 (   24   )             
 
By putting 
                       q   ii     =         δ   ii   2     ⁢           ⁢   for   ⁢           ⁢   i     =   1       ,   …   ⁢           ,                   q   ij     =           δ   ij       δ   jj       ⁢           ⁢   for   ⁢           ⁢   j     =   1       ,   …   ,     ;     i   =     j   +   1         ,   …   ⁢           ,                 (   25   )             
 
there is obtained 
               Q   ⁡     (   ξ   )       =       ∑     i   =   1     κ     ⁢           ⁢         q   ii     ⁡     (       ξ   i     +       ∑     j   =     i   +   1       κ     ⁢           ⁢       q   ji     ⁢     ξ   j           )       2               (   26   )             
 
     Being concerned first of all with the range of possible variations of ξ κ , and then by adding the components one by one, the following κ inequalities are obtained, which define all the points within the ellipsoid: 
                   q   κκ     ⁢     ξ   κ   2       ≤   C     ⁢     
     ⁢             q       κ   -   1     ,     κ   -   1         ⁡     (       ξ     κ   -   1       +       q     κ   ,     κ   -   1         ⁢     ξ   κ         )       2     +       q   κκ     ⁢     ξ   κ   2         ≤   C     ⁢     
     ⁢       ∀     l   ⁢           ⁢   ε   ⁢     {     1   ;   κ     }         ,         ∑     i   =   l     κ     ⁢           ⁢         q   ii     ⁡     (       ξ   i     +       ∑     j   =     i   +   1       κ     ⁢           ⁢       q   ji     ⁢     ξ   j           )       2       ≤   C               (   27   )             
 
It can be shown that the inequalities (27) make it necessary for the integer components of b to satisfy: 
                 ⌈       -       C     q   κκ           +     ρ   κ       ⌉     ≤     b   κ     ≤     ⌊         C     q   κκ         +     ρ   κ       ⌋       ⁢     
     ⁢       ⌈       -         C   -       q   κκ     ⁢     ξ   κ   2           q       κ   -   1     ,     κ   -   1               +     ρ     κ   -   1       +       q     κ   ,     κ   -   1         ⁢     ξ   κ         ⌉     ≤     b     κ   -   1       ≤     ⌊       -         C   -       q   κκ     ⁢     ξ   κ   2           q       κ   -   1     ,     κ   -   1               +     ρ     κ   -   1       +       q     κ   ,     κ   -   1         ⁢     ξ   κ         ⌋       ⁢     
     ⁢       ⌈       -         1     q   ii       ⁢     (     C   -       ∑     l   =     i   +   1       κ     ⁢           ⁢         q   ll     ⁡     (       ξ   l     +       ∑     j   =     l   +   1       κ     ⁢           ⁢       q   jl     ⁢     ξ   j           )       2         )           +     ρ   i     +       ∑     j   =     i   +   1       κ     ⁢           ⁢       q   ji     ⁢     ξ   j           ⌉     ≤     b   i       ⁢     
     ⁢       b   i     ≤     ⌊           1     q   ii       ⁢     (     C   -       ∑     l   =     i   +   1       κ     ⁢           ⁢         q   ll     ⁡     (       ξ   l     +       ∑     j   =     l   +   1       κ     ⁢           ⁢       q   jl     ⁢     ξ   j           )       2         )         +     ρ   i     +       ∑     j   =     i   +   1       κ     ⁢           ⁢       q   ji     ⁢     ξ   j           ⌋               (   28   )             
 
where ┌x┐ is the smallest integer greater than the real number x and └x┘ is the largest integer smaller than the real number x.
 
     The decoder has κ internal counters, namely one counter per dimension, each counter counting between a lower and upper bound as indicated in (28), given that each counter is associated with a particular pair of bounds. In practice these bounds can be updated recursively. We put: 
               S   i     =         S   i     ⁡     (       ξ     i   +   1       ,   …   ⁢           ,     ξ   κ       )       =       ρ   i     +       ∑     j   =     i   +   1       κ     ⁢           ⁢       q   ji     ⁢     ξ   j                     (   29   )                 T     i   -   1       =         T     i   -   1       ⁡     (       ξ   i     ,   …   ⁢           ,     ξ   κ       )       =       C   -       ∑     l   =   1     κ     ⁢           ⁢         q   ll     ⁡     (       ξ   l     +       ∑     j   =     l   +   1       κ     ⁢           ⁢       q   jl     ⁢     ξ   j           )       2         =       T   i     -         q   ii     ⁡     (       ξ   i     +     S   i     -     ρ   i       )       2                   (   30   )             
 T   i−1   =T   i   −q   ii ( S   i   −b   i ) 2 (31) 
     with T κ =C 
     Using equations (29) to (31), the range of variation of each component b i  is determined recursively, commencing with the component b κ : 
               L   i   -     ≤     b   i     ≤     L   i   +             (   32   )                 with   ⁢           ⁢     L   i   -       =         ⌈       -         T   i       q   ii           +     S   i       ⌉     ⁢           ⁢   and   ⁢           ⁢     L   i   +       =     ⌊           T   i       q   ii         +     S   i       ⌋               (   33   )             
 
     The ranges of variation defined by (33) are advantageously restricted so as not to unnecessarily test points which are situated outside the constellation. It should be stated that each user k uses a constellation of symbols A k , each symbol of the constellation being a complex number whose real and imaginary parts (possibly after affine transformation) are elements of Z. The general case is first of all taken where the lattice is of dimension 2K, where K is the number of users. For each user k, the dimensions 2k and 2k−1 bearing the complex symbol transmitted by or for the user k are considered. As indicated in  FIG. 3 , the constellation, or equivalently the modulation constellation of the user k, is first of all projected onto the dimension 2k. This projection defines an interval [M 2k   − , M 2k   + ]. The search interval [B 2k   − , B 2k   + ] is then defined where:
 
 B   2k   − =Upp( L   2k   −   , M   2k   − ) and  B   2k   + =Low( L   2k   +   , M   2k   + )  (34)
 
and an integer b 2k  is chosen in this interval. The component b 2k  then defines an interval [M 2k−1   − , M 2k−1   + ] for the component b 2k−1  as indicated in  FIG. 3 . A search interval [B 2k−1   − , B 2k−1   + ] is then defined by:
 
 B   2k−1   − =Upp( L   2k−1   −   , M   2k−1   − ) and  B   2k−1   + =Low( L   2k−1   +   , M   2k−1   + )  (34′)
 
By proceeding in this way it is ensured that the closest neighbour is sought only amongst candidates which are both situated in the search sphere and points in the constellation.
 
     The situation is slightly different when real spreading sequences are used and therefore when the lattice is of dimension K (where K is the number of users). In this case, the real and imaginary values of the symbols are the subject of parallel searches in a lattice (Λ, Ω) of dimension K The calculation of the search bounds (and the choice of the values of the components) relates by turns to the real part and the imaginary part, in an interleaved fashion. 
     In the simple example where the modulation employed on a dimension i is a PAM modulation of order M, the integer coordinate b i  of the point sought must be between 0 and M−1. The search bounds are adjusted by B i   − =Upp(L i   −   i , 0) and B i   + =Low(L i   + , M−1) so that the counter associated with the component b i  does not travel over points which are situated outside the search sphere or outside the constellation. This adjustment of the search bounds considerably accelerates the algorithm for detection by spheres. 
     In addition, the search within the sphere can be accelerated still further by updating the radius √{square root over (C)} with the last calculated Euclidian norm ∥w∥. 
     The initial value of the search radius √{square root over (C)} must be chosen in an appropriate manner. This is because the number of points in the lattice situated within the decoding sphere increases with C. This is why the choice of a large value of C disadvantages the decoding algorithm whilst the search sphere may be empty if C is too low. 
     So as to be sure that the decoder finds at least one point in the lattice, a search radius greater than the radius of coverage of the lattice is advantageously chosen. It can for example be taken so as to be equal to the upper Rogers bound: 
                 C     κ     =       (     κlogκ   +   κloglogκ   +     5   ⁢   κ       )     ×            det   ⁡     (   G   )              V   κ                 (   35   )             
 
     where V κ  is the volume of a sphere of unity radius in the real space R κ . 
       FIG. 3  depicts a flow diagram for the search for the closest neighbour used in the method of detection by spheres according to the invention. 
     The vector z, the matrix G and the initial value C are the parameters transmitted to the search method. 
     It will be assumed that the situation prevails where κ=2K, the simplified case κ=K being derived therefrom without difficulty. 
     In a first step  301 , the Cholesky factorisation of the Gram matrix Γ=GG T  is carried out if the vector z has not resulted from a whitening (otherwise the matrix G is, as has been seen, already triangular and inferior). The coefficients q ij  are calculated according to equation (25) and the values ρ k  are calculated by the equation: (           =zG −1 .
     At step  302  the quadratic value of the smallest current distance is initialised to C: D min   2 =C and the recursive calculation of the search bounds is initialised by: T κ =C, S i =ρ i , i=1, . . . , κ. The values of bounds M i   − , M i   +  are also determined with i=2k, k=1, . . . , K and next K tables are constructed giving the values M i   − , M i   +  with i=2k−1, k=1, . . . , K corresponding to the different possible values b 2k . 
     At step  303  the index of the search dimension is initialised, that is to say i=κ. 
     At step  304  the values L i   − , L i   +  are calculated by means of equation (33). B i   − , B i   +  are determined by means of equation (34) if i is even. If i is odd, M i   − , M i   +  are determined from the table (i+1)/2 and the value of b i+1 . The bounds B i   − , B i   +  are next determined according to equation (34′). In addition, b i  is initialised to the value B i   − −1. 
     At step  305  the value of b i  is incremented by 1: b i =b i +1. 
     Step  306  consists of a test: b i &gt;B i   + ? 
     If the test at  306  is negative, step  307  is passed to and it is tested whether i&gt;1. 
     If the test at  307  is positive, the search bounds are calculated step by step. At step  310 , T i−1 =T i −q 11 (S i −b i ) 2  and ξ i =ρ i −b i  are calculated and then, at step  311 , 
         S     i   -   1       =       ρ     i   -   1       +       ∑     j   =   i     κ     ⁢           ⁢       q     j   ,     i   -   1         ⁢     ξ   j               
 
is calculated. Next i is decremented at  312  before returning to step  304  in order to calculate the search bounds for i−1.
 
     When the test at  307  is negative, step  308  is passed to in order to calculate the quadratic norm ∥w∥ 2  of the vector w relating to the current point by ∥w∥ 2 =T κ −T 1 +q 11 (S 1 −b 1 ) 2 . Then it is tested whether ∥w∥ 2 &lt;D min   2 . If such is not the case  305  is continued with. On the other hand, if the minimum distance is improved, step  313  is passed to, at which the components b i  of the vector x corresponding to this minimum are stored. The minimum quadratic distance is updated by D min   2 =∥w∥ 2  and the size of the search sphere by T κ =∥w∥ 2 . The search procedure is recommenced by returning to  303 . 
     If the test at  306  is positive, that is to say if the upper search bound is reached for the current dimension, it is tested at  321  whether i=κ. If such is the case, the search is terminated at  320  and the last vector x stored is the closest neighbour. On the other hand, if the test is negative, the search continues by incrementing i at step  322  and returning to step  305 .