# Patent

## Title
Multi-user detection in an MC-CDMA telecommunication system

## Abstract

A multi-user detection method and device for a receiver in a multi-carrier code division multiple access telecommunication system, each communication to or from a user of the system being coded with a signature, the signal received by said receiver being decomposed into a first plurality of frequency components
The frequency components are subjected to a first filtering matched to the respective signatures of a second plurality of users and to the common or respective responses of the transmission channels associated to said communications to or from said users.
The output of the first filtering is subjected to a forward filtering followed by an estimation of the symbols transmitted to or by the users.
The estimated symbols are subjected to a backward filtering, the output of said backward filtering being subtracted from the output of the forward filtering prior to the estimation.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a multi-user detection method for a receiver in a multi-carrier code division multiple access system and more specifically to a multi-user detection method with multiple access interference cancellation. The present invention concerns also a MC-CDMA receiver implementing such a multi-user detection method.
2. Description of the Background Art
Multi-Carrier Code Division Multiple Access (MC-CDMA) combines OFDM (Orthogonal Frequency Division Multiplex) modulation and the CDMA multiple access technique. This multiple access technique was proposed for the first time by N. Yee et al. in the article entitled “Multicarrier CDMA in indoor wireless radio networks” which appeared in Proceedings of PIMRC'93, Vol. 1, pages 109-113, 1993. The developments of this technique were reviewed by S. Hara et al. in the article entitled “Overview of Multicarrier CDMA” published in IEEE Communication Magazine, pages 126-133, December 1997.
Unlike the DS-CDMA (Direct Sequence Code Division Multiple Access) method, in which the signal of each user is multiplied in the time domain in order to spread its frequency spectrum, the signature here multiplies the signal in the frequency domain, each element of the signature multiplying the signal of a different sub-carrier.
More precisely, FIG. 1 shows the structure of an MC-CDMA transmitter for a given user k. Let bk(i) be the ith symbol to be transmitted from the user k, where bk(i) belongs to the modulation alphabet. The symbol bk(i) is first of all multiplied at 110 by a spreading sequence or signature of the user, denoted ck(t), consisting of N “chips”, each “chip” being of duration Tc, the total duration of the spreading sequence corresponding to a symbol period T. The results of the multiplication of the symbol bk(i) by the different “chips” are converted by the serial to parallel converter 120 into a block of L symbols, where L is in general a multiple of N. It will be considered, for reasons of simplification of presentation, that L=N. The block of L symbols is then subjected to an inverse fast Fourier transformation (IFFT) in the module 130. In order to prevent intersymbol interference, a guard interval, with a length greater than the duration of the pulse-type response of the transmission channel, is added to the MC-CDMA symbol. This interval is obtained by appending a suffix (denoted Δ) identical to the start of the said symbol. Before being transmitted to the parallel to serial converter 140, the symbols thus obtained are amplified at 150 in order to be transmitted over the user channel. It can therefore be seen that the MC-CDMA method can be analysed into a spreading in the spectral domain (before IFFT) followed by an OFDM modulation.
In practice, the user k transmits his data in the form of frames of I symbols, each symbol bk(i) being spread by a real signature ck(t), typically a Walsh-Hadamard signature, with a duration equal to the symbol period T, such that ck(t)=0 if t ∉[0, T[. The signal modulated at time t=(i−1).T+(l−1).Tc can then be written, if the guard intervals between MC-CDMA symbols are omitted:




  
    
      
        
          
            S
            k
          
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            ∑
            
              i
              =
              1
            
            I
          
          ⁢
          
            
          
          ⁢
          
            
              ∑
              
                l
                =
                1
              
              L
            
            ⁢
            
              
            
            ⁢
            
              
                ω
                k
              
              ·
              
                
                  c
                  k
                
                ⁡
                
                  (
                  
                    
                      (
                      
                        l
                        -
                        1
                      
                      )
                    
                    ·
                    
                      T
                      c
                    
                  
                  )
                
              
              ·
              
                
                  b
                  k
                
                ⁡
                
                  (
                  
                    i
                    -
                    1
                  
                  )
                
              
              ·
              
                exp
                ⁡
                
                  (
                  
                    
                      j
                      ·
                      2
                    
                    ⁢
                    
                      
                        π
                        ⁡
                        
                          (
                          
                            l
                            -
                            1
                          
                          )
                        
                      
                      /
                      L
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




where ωk is the amplitude of the signal transmitted by the user k, assumed to be constant for a transmission unit.

An MC-CDMA receiver for a given user k has been illustrated schematically in FIG. 2. This receiver is known as single-user detection receiver (or SUD receiver) because the detection takes only into account the symbols transmitted to (or from) the user in question.
The demodulated received signal is sampled at the “chip” frequency. The signal thus obtained can be written:




  
    
      
        
          R
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            
              ∑
              
                k
                =
                1
              
              K
            
            ⁢
            
              
            
            ⁢
            
              
                ∑
                
                  i
                  =
                  1
                
                I
              
              ⁢
              
                
              
              ⁢
              
                
                  ∑
                  
                    l
                    =
                    1
                  
                  L
                
                ⁢
                
                  
                
                ⁢
                
                  
                    
                      h
                      kl
                    
                    ⁡
                    
                      (
                      
                        i
                        -
                        1
                      
                      )
                    
                  
                  ·
                  
                    ω
                    k
                  
                  ·
                  
                    c
                    kl
                  
                  ·
                  
                    
                      b
                      k
                    
                    ⁡
                    
                      (
                      
                        i
                        -
                        1
                      
                      )
                    
                  
                  ·
                  
                    exp
                    ⁡
                    
                      (
                      
                        
                          j
                          ·
                          2
                        
                        ⁢
                        
                          
                            π
                            ⁡
                            
                              (
                              
                                l
                                -
                                1
                              
                              )
                            
                          
                          /
                          L
                        
                      
                      )
                    
                  
                
              
            
          
          +
          
            n
            ⁡
            
              (
              t
              )
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




where K is the number of users, ckl=ck((l−1).Tc), hkl(i) represents the response of the channel of the user k to the frequency of the subcarrier l of the MC-CDMA symbol transmitted at time i.T and where n(t) is the received noise.

If the downlink channel is considered, the transmission channels have identical characteristics and therefore hkl=hl.
The samples obtained by sampling at the “chip” frequency are put in parallel in a serial to parallel converter 210 and stripped from the suffix (Δ) before undergoing an FFT in the module 220.
In MC-CDMA, the presence of the guard period makes it possible to neglect the intersymbol interference. For a given subcarrier (hereinafter simply called carrier), the equalisation can therefore be performed by a single tap, i.e. by a multiplication by a complex coefficient. In the SUD receiver, the equalisation is performed carrier-by-carrier i.e. by applying one of the known equalisation methods: MRC (Maximum Ratio Combining), EGC (Equal Gain Combining), ZF (Zero Forcing) or MMSE (Minimum Mean Square Error) independently on each carrier. The equalising coefficients thus obtained are denoted qk,1, . . . , qk,L on FIG. 2.
The samples in the frequency domain, output from 220, are multiplied by the equalising coefficients and the signature of the user k in 2400, . . . , 240L-1 (for despreading) before being added in 250. The result is an estimation {circumflex over (b)}k(i) of the transmitted symbol bk(i).
The multiuser detection techniques are known notably in CDMA telecommunications systems. They have the common characteristic of taking account of the interference generated by the other users.
A multiuser detection or MUD technique for MC-CDMA was presented in the article by J-Y. Beaudais, J. F. Hélard and J. Citerne entitled “A novel linear MMSE detection technique for MC-CDMA” published in Electronics Letters, Vol. 36, No. 7, pages 665-666, 30 March 2000. The equalisation method proposed no longer operates carrier by carrier but MC-CDMA symbol by MC-CDMA symbol, taking account of all the carriers and all the signatures of the active users. For this reason it is called GMMSE (Global Minimum Mean Square Error) equalisation or, equivalently, M-MMSE (Matrix Minimum Mean Square Error) equalisation. Its purpose is to minimise the mean square error between the estimated symbols {circumflex over (b)}k(i) and the transmitted symbols bk(i).
An MC-CDMA receiver with GMMSE equalisation for a user k has been shown in FIG. 3. Its structure differs from that of FIG. 2 in that the equalisation is effected by means of a multiplication 330 by a matrix Q of the signals of the different carriers. The despread signal obtained at the output of the adder 350 gives the estimated symbol {circumflex over (b)}k(i).
Furthermore, structures of MUD MC-CDMA receivers using either a parallel interference cancellation (PIC) scheme or a serial interference cancellation scheme (SIC) have been proposed in the article by J-Y. Beaudais et al. Parallel interference cancellation consists in iteratively cancelling the multiple access interference (MAI) by subtracting for a given user the contributions due to the other users, these contributions being obtained, for a given step, by respreading the symbols estimated at the previous step and filtering them with filters modelling their respective transmission channels. In contrast, serial interference cancellation consists in successively eliminating the contributions of the users in a cascade of stages, each stage eliminating the contribution of a particular user, commencing by the contribution of highest power.
FIG. 4 illustrates the structure of a MC-CDMA receiver with parallel interference cancellation. For the sake of clarity, only the part related to a user k has been represented. In FIG. 4, r(i) denotes the output of the FFT, i.e. the vector of frequency components supplied by stage 320 in FIG. 3 at time i.T. These components are subjected to a first equalisation in 410. More precisely, 410 provides for an equalisation for the K-1 transmission channels associated with the users k′=1, . . . K, k′≠k. If we consider the downlink receiver, the transmission channels are identical, the equalisation 410 amounts to a simple multiplication by an L×L matrix and the output is a vector of dimension L. In the uplink receiver however, K-1 matrices are involved, each matrix corresponding to a transmission channel of a user. These K-1 matrices are represented by the tensor {tilde over (Q)}(1), where the index (1) stands for the first cancellation stage. After equalisation, the received MC-CDMA symbols are despread in 420 with the K-1 signatures of the users k′=1, . . . K, k′≠k. and detected in 430. This first estimation does not take into account the MAI. The detected symbols are then respread by said signatures in 440 and the MC-CDMA symbols thus obtained are filtered by K-1 filters modelling the transmission channels of the users k′. Each filter can be represented by an L×L diagonal matrix and the K-1 matrices are represented by the tensor {tilde over (H)}. Here again, if the downlink receiver is considered, the latter matrices are identical. In any case, the K-1 outputs of 450 give the respective contributions of the users k′ to the MAI. They are subtracted from r(i) (delayed so as to compensate for the processing time in 410-450) in 4601, . . . , 460K-1. The output of 460K-1 is a version of r(i) freed of a first estimation of MAI. The process can be repeated so as to refine the estimation of the MAI and jointly improve the detection of the symbols. The last stage is followed by a classical single-user equalisation in 470, despreading in 480 and symbol detection in 490 as in FIG. 2.
The proposed parallel and serial cancellation schemes in MC-CDMA are rather complex in particular for the uplink receiver since some processing stages are performed at the carrier level and therefore involve (K-1).L operations in parallel where K is the number of users and L is the number of carriers.
BRIEF SUMMARY OF THE INVENTION
The object of the present invention is to propose a MC-CDMA receiver with multi-user detection and MAI removal which is simpler than those known from the prior art. In particular, the object of the invention is to propose a MC-CDMA receiver of said type which is simpler when the number of users is low.
The above mentioned object is attained by a multi-user detection method as claimed in appended claim 1 and a multi-user receiver as claimed in independent claim 10. Further advantages are given by the technical features recited in the dependent claims.



BRIEF DESCRIPTION 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 schematically the structure of an MC-CDMA transmitter known from the state of the art;
FIG. 2 depicts schematically the structure of a first MC-CDMA receiver known from the state of the art;
FIG. 3 depicts schematically the structure of a second MC-CDMA receiver known from the state of the art;
FIG. 4 depicts schematically the structure of an MC-CDMA receiver with parallel interference cancellation as known from the state of the art;
FIG. 5 depicts schematically the structure of an MC-CDMA receiver with decision feedback multi-user detection according to the invention.



DETAILED DESCRIPTION OF THE INVENTION
Once again the context of a MC-CDMA receiver with K users will be referred to. The L frequency components output by the FFT at time i can be regarded as a vector r(i)=(r1(i), . . . , rL(i))T, the expression of which can be derived from (2):

r(i)=C(i)Dωb(i)+η(i)   (3)

where b(i)=(b1(i), . . . , bK(i))T is the vector of the K transmitted symbols, Dω=diag(ω1, . . . , ωK) is a diagonal matrix, the elements of which are the amplitudes ωk of the symbols transmitted by the users, η(i)=(η1(i), . . . , ηL(i))T is the vector of the noise components on the OFDM multiplex and





  
    
      
        
          C
          ⁡
          
            (
            i
            )
          
        
        =
        
          [
          
            
              
                
                  
                    c
                    11
                  
                  ⁢
                  
                    
                      h
                      11
                    
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                
              
              
                ⋯
              
              
                
                  
                    c
                    
                      1
                      ⁢
                      K
                    
                  
                  ⁢
                  
                    
                      h
                      
                        1
                        ⁢
                        K
                      
                    
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                
              
            
            
              
                ⋮
              
              
                
                  
                
              
              
                ⋮
              
            
            
              
                
                  
                    c
                    L1
                  
                  ⁢
                  
                    
                      h
                      L1
                    
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                
              
              
                ⋯
              
              
                
                  
                    c
                    LK
                  
                  ⁢
                  
                    
                      h
                      LK
                    
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        4
        )
      
    
  




is a matrix combining the effect of spreading and of channel propagation.

In the downlink, all the users share the same channel and the matrix C(i) can be expressed by C(i)=H(i)CD where H(i)=diag(h1(i), . . . , hL(i)) and CD is the L×K matrix containing the codes of the active users:




  
    
      
        
          C
          D
        
        =
        
          
            (
            
              
                c
                1
              
              ⁢
              
                
              
              ⁢
              ...
              ⁢
              
                
              
              ⁢
              
                c
                K
              
            
            )
          
          =
          
            [
            
              
                
                  
                    c
                    11
                  
                
                
                  ⋯
                
                
                  
                    c
                    
                      1
                      ⁢
                      K
                    
                  
                
              
              
                
                  ⋮
                
                
                  
                    
                  
                
                
                  ⋮
                
              
              
                
                  
                    c
                    L1
                  
                
                
                  ⋯
                
                
                  
                    c
                    LK
                  
                
              
            
            ]
          
        
      
    
    
      
        (
        5
        )
      
    
  




If we assume that the components of the noise η(i) are AWGN (Additive White Gaussian Noise) with covariance matrix E[η(i)ηH(i)]=N0IL where IL is the L×L identity matrix, the maximum likelihood detection of the transmitted signal consists in finding the symbol b which minimises the quadratic distance dEmin2(b) between the received signal and the signal expected to be received if b was transmitted. Hence, from (3), said symbol b should minimise:

dE2(b)=∥r(i)−C(i)Dωb∥2   (6)

Equivalently, since r(i) is known, said symbol b should minimise the expression:

d2(b)=∥C(i)Dωb∥2−2Re<C(i)Dωb;r(i)>  (7)

where the scalar product <C(i)Dωb;r(i)>can be expressed:





  
    
      
        
          〈
          
            
              
                C
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                D
                ω
              
              ⁢
              b
            
            ;
            
              r
              ⁡
              
                (
                i
                )
              
            
          
          〉
        
        =
        
          
            
              ∑
              
                
              
            
            
              
                k
                =
                1
              
              ⁢
              
                
              
            
            
              K
              ⁢
              
                
              
            
          
          ⁢
          
            ω
            k
          
          ⁢
          
            b
            k
            *
          
          ⁢
          
            
              ∑
              
                l
                =
                1
              
              L
            
            ⁢
            
              
            
            ⁢
            
              
                
                  c
                  lk
                  *
                
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                
                  h
                  lk
                  *
                
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                
                  r
                  l
                
                ⁡
                
                  (
                  i
                  )
                
              
            
          
        
      
    
    
      
        (
        8
        )
      
    
  
  
    
      
        
          Let
          ⁢
          
            
          
          ⁢
          us
          ⁢
          
            
          
          ⁢
          define
          ⁢
          
            
          
          ⁢
          
            
              y
              k
            
            ⁡
            
              (
              i
              )
            
          
        
        =
        
          
            ω
            k
          
          ⁢
          
            
              ∑
              
                l
                =
                1
              
              L
            
            ⁢
            
              
            
            ⁢
            
              
                
                  c
                  lk
                  *
                
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                
                  h
                  lk
                  *
                
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                
                  r
                  l
                
                ⁡
                
                  (
                  i
                  )
                
              
            
          
        
      
    
    
      
        (
        9
        )
      
    
  




the output of a filter matched to the signature of the user k and the propagation channel. yk(i) may also be viewed as the Maximum Ratio Combining of the components rl(i) of the received vector r(i), for user k. Equation (8) can be simply reformulated:





  
    
      
        
          〈
          
            
              
                C
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                D
                ω
              
              ⁢
              b
            
            ;
            
              r
              ⁡
              
                (
                i
                )
              
            
          
          〉
        
        =
        
          
            
              ∑
              
                
              
            
            
              
                k
                =
                1
              
              ⁢
              
                
              
            
            
              K
              ⁢
              
                
              
            
          
          ⁢
          
            b
            k
            *
          
          ⁢
          
            
              y
              k
            
            ⁡
            
              (
              i
              )
            
          
        
      
    
    
      
        (
        10
        )
      
    
  




Let us denote y(i)=(y1(i), . . . , yK(i))T the observation vector of the outputs yk(i) for the K users. According to (7) and (10), the vector y(i) represents a sufficient statistic for the maximum likelihood detection of the transmitted vector b(i).
It is important to note, that using y(i) instead of r(i) for the multiuser detection advantageously reduces the observation dimension from L to K. The observation vector y(i) may be written in a matrix form from equation (9):

y(i)=DωCH(i)r(i)   (11)

where ●H denotes the transpose-conjugate. By replacing expression (3) in expression (11), the observation y(i) can be obtained as a function of the transmitted vector b(i):

y(i)=DωCH(i)C(i)Dωb(i)+n(i)=R(i)b(i)+n(i)   (12)

where

R(i)=DωCH(i)C(i)Dω

and

E[n(i)nH(i)]=N0R(i)

It has been described in French patent application FR0104050 filed by the Applicant on 22.03.2001 and included hereinafter by reference a multiuser detection method based on Wiener filtering of the observation vector y(i). According to this method, the vector of the estimated symbols {circumflex over (b)}(i)=({circumflex over (b)}1(i), . . . , {circumflex over (b)}K(i))T is obtained from:

{circumflex over (b)}(i)=Fy(i)   (13)

where the matrix F is given by the Wiener-Hopf formula:

F=RbyRyy−1   (14)

and where Rby, Ryy are the covariance matrix of b and y and the autocovariance of y respectively.

The basic idea underlying the invention is to propose a decision-feedback detector cancelling the interference corresponding to the already detected symbols of the other users. As further explained, this interference cancellation is made at the symbol level and not at the carrier level.
The structure of the decision-feedback detector according to the invention is illustrated in FIG. 5. The detector comprises a filter 510 matched to the signatures of the users and to the response(s) of the propagation channel(s) (the plural stands for the uplink). The filter 510 multiplies the vector r(i) of the frequency components by the matrix DωCH (i) in order to output the observation vector y(i) according to equation (11). The detector comprises also a forward filter 520 and a backward filter 550. The forward filter performs a multiplication of the observation vector y(i) by a matrix F(i) while the backward filter performs a multiplication of the vector {circumflex over (b)}(i) of the estimated symbols by a matrix B(i). The backward filter is causal within the meaning of multi-user detection (only the contribution of the already detected symbols of the other users are cancelled), i.e. the matrix B(i) is strictly lower triangular. The output of the backward filter is subtracted from the output of the forward filter in 530 to give a new observation vector:

z(i)=F(i)y(i)−B(i){circumflex over (b)}(i)   (15)

which is substantially freed from MAI. The symbols for the different users are estimated from the observation vector z(i) in estimating means 540. The vector {circumflex over (b)}(i) of the estimated symbols is supplied to the backward filter 550.

According to a first embodiment of the invention, the matrices F(i) and B(i) are chosen to meet a zero-forcing (ZF) criterion.
The Cholesky factorisation of the hermitian matrix R(i) gives:

R(i)=LH(i)L(i)   (16)

where L(i) is a lower triangular matrix. Let now {tilde over (y)}(i) be defined as {tilde over (y)}(i)=L−H(i)y(i) where the notation L−H(i) stands for (LH(i))−1. From (12) we have therefore:

{tilde over (y)}(i)=L(i)b(i)+ñ(i)   (17)

Since E[ñ(i)ñH(i)]=N0IK the observation vector y(i) has been whitened by the multiplication by L−H(i). L(i) being lower triangular, user k is only disturbed by the interference coming from the already detected users 1 to k-1, i.e. the components of {tilde over (y)}(i) can be expressed as:





  
    
      
        
          
            
              y
              ~
            
            k
          
          ⁡
          
            (
            i
            )
          
        
        =
        
          
            
              
                L
                kk
              
              ⁡
              
                (
                i
                )
              
            
            ⁢
            
              
                b
                k
              
              ⁡
              
                (
                i
                )
              
            
          
          +
          
            
              ∑
              
                
                  k
                  ′
                
                =
                1
              
              
                k
                -
                1
              
            
            ⁢
            
              
            
            ⁢
            
              
                
                  L
                  
                    kk
                    ′
                  
                
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                
                  b
                  
                    k
                    ′
                  
                
                ⁡
                
                  (
                  i
                  )
                
              
            
          
          +
          
            
              
                n
                ~
              
              k
            
            ⁡
            
              (
              i
              )
            
          
        
      
    
    
      
        (
        18
        )
      
    
  




If we choose:

F(i)=L−H(i)   (19)

B(i)=L(i)−diag(L(i))

we have:

z(i)={tilde over (y)}(i)−(L(i)−diag(L(i))){circumflex over (b)}(i)   (20)

and therefore:





  
    
      
        
          
            z
            k
          
          ⁡
          
            (
            i
            )
          
        
        =
        
          
            
              
                y
                ~
              
              ⁡
              
                (
                i
                )
              
            
            -
            
              
                ∑
                
                  
                    k
                    ′
                  
                  =
                  1
                
                
                  k
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    L
                    
                      kk
                      ′
                    
                  
                  ⁡
                  
                    (
                    i
                    )
                  
                
                ⁢
                
                  
                    
                      b
                      ^
                    
                    
                      k
                      ′
                    
                  
                  ⁡
                  
                    (
                    i
                    )
                  
                
              
            
          
          =
          
            
              
                
                  L
                  kk
                
                ⁡
                
                  (
                  i
                  )
                
              
              ⁢
              
                
                  b
                  k
                
                ⁡
                
                  (
                  i
                  )
                
              
            
            +
            
              
                
                  n
                  ~
                
                k
              
              ⁡
              
                (
                i
                )
              
            
          
        
      
    
    
      
        (
        21
        )
      
    
  




where we have assumed that the estimated symbols up to k-1 are correct i.e. {circumflex over (b)}k′(i)=bk′(i) for k′=1, . . . , k-1.

Since the zk(i) are completely decorrelated, a detection freed from the influence of MAI is achieved in 540.
According to a second embodiment of the invention, the matrices F(i) and B(i) are chosen to meet a MMSE criterion.
Let ε(i)=z(i)−b(i) be the error between the observation vector and the vector of the transmitted symbols. The purpose of the MMSE criterion is to minimise the mean square of this error:

J=E└ε(i)|2┘=TraceE[ε(i)εH(i)]  (22)

If we develop, ε(i)εH(i)=(z(i)−b(i))(z(i)−b(i))H, the second term of the equation can be written:

(F(i)y(i)−B(i){circumflex over (b)}(i)−b(i))(F(i)y(i)−B(i){circumflex over (b)}(i)−b(i))H=((F(i)R(i)−IK)b(i)−B(i){circumflex over (b)}(i) +F(i)n(i))((F(i)R(i)−IK)b(i)−B(i){circumflex over (b)}(i)+F(i)n(i))H  (23)

Assuming that the transmitted symbols are not correlated, that the detected symbols are correct and that the modulation is of normalised power, we have:

E[{circumflex over (b)}(i){circumflex over (b)}H(i)]≈IK   (24)

E[{circumflex over (b)}(i)bH(i)]≈IK

and:

E[b(i)bH(i)]=IK   (25)

Bearing in mind that E[n(i)nH(i)]=N0R(i), we obtain from (23), (24) and (25):

E[ε(i)εH(i)]=(F(i)R(i)−IK)(F(i)R(i)−IK)H+B(i)BH(i)+N0F(i)R(i)FH(i)−(F(i)R(i)−IK)BH(i)−B(i)(F(i)R(i)−IK)H   (26)

From (22) and (26) we calculate the gradient of J as a function of F(i):

grad(J)=(F(i)R(i)−IK)*RT(i)+N0F*(i)RT(i)−B*(i)RT(i)   (27)

In order to minimise J, we must have:

grad(J)=0F*(i)(N0RT(i)+R*(i)RT(i)=(IK+B*(i)RT(i)F(i)=(IK+B(i))(N0IK+R(i))−1   (28)

The criterion being minimised with respect to F(i), the lower triangular matrix B(i) which minimises the criterion remains to be found. Replacing (28) into (26), we obtain:

E[ε(i)εH(i)]=N0(IK+B(i))(N0IK+R(i))−1(IK+B(i))H   (29)

The zero value of the gradient does not guarantee that B(i) is a lower triangular matrix. In order to verify that this condition is met, the following Cholesky decomposition may be used:

N0IK+R(i)=LN0HLN0   (30)

where LN0 is lower triangular. If we replace (30) into (29), we obtain:

E[ε(i)εH(i)]=N0(IK+B(i))LN0−1LN0−H(IK+B(i))H=N0L′L′H   (31)

where L′=(IK+B(i))LN0−1 is lower triangular. Hence,





  
    
      
        
          Trace
          ⁢
          
            
          
          ⁢
          
            E
            ⁡
            
              [
              
                
                  ɛ
                  ⁡
                  
                    (
                    i
                    )
                  
                
                ⁢
                
                  
                    ɛ
                    H
                  
                  ⁡
                  
                    (
                    i
                    )
                  
                
              
              ]
            
          
        
        =
        
          
            
              N
              0
            
            ⁢
            
              
            
            ⁢
            
              Trace
              ⁡
              
                (
                
                  
                    L
                    ′
                  
                  ⁢
                  
                    L
                    
                      ′
                      ⁢
                      
                        
                      
                      ⁢
                      H
                    
                  
                
                )
              
            
          
          =
          
            
              
                
                  N
                  0
                
                ⁢
                
                  
                    ∑
                    
                      i
                      =
                      1
                    
                    K
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      ∑
                      
                        j
                        =
                        1
                      
                      i
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        
                        
                          L
                          ij
                          ′
                        
                        
                      
                      2
                    
                  
                
              
              ≥
              
                
                  N
                  0
                
                ⁢
                
                  
                    ∑
                    
                      i
                      =
                      1
                    
                    K
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    L
                    ii
                    ′2
                  
                
              
            
            =
            
              
                
                  N
                  0
                
                ⁢
                
                  
                    ∑
                    
                      i
                      =
                      1
                    
                    K
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      (
                      
                        
                          (
                          
                            1
                            +
                            0
                          
                          )
                        
                        ⁢
                        
                          
                            (
                            
                              L
                              
                                N
                                0
                              
                              
                                -
                                1
                              
                            
                            )
                          
                          ii
                        
                      
                      )
                    
                    2
                  
                
              
              =
              
                
                  N
                  0
                
                ⁢
                
                  
                    ∑
                    
                      i
                      =
                      1
                    
                    K
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      (
                      
                        L
                        
                          N
                          0
                        
                      
                      )
                    
                    ii
                    
                      -
                      2
                    
                  
                
              
            
          
        
      
    
    
      
        (
        32
        )
      
    
  




since B(i) is assumed strictly lower triangular. If we choose:

B(i)=diag−1{LN0}LN0−IK   (33)

where the notation diag−1{LN0} stands for (diag(LN0))−1 we obtain:

E[ε(i)εH(i)]=N0diag−1{LN0}LN0LN0−1LN0−HLN0Hdiag−H{LN0}=N0diag−2{LN0}  (34)

and, consequently,





  
    
      
        
          Trace
          ⁢
          
            
          
          ⁢
          
            (
            
              E
              ⁡
              
                [
                
                  
                    ɛ
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                  ⁢
                  
                    
                      ɛ
                      H
                    
                    ⁡
                    
                      (
                      i
                      )
                    
                  
                
                ]
              
            
            )
          
        
        =
        
          
            N
            0
          
          ⁢
          
            
              ∑
              
                i
                =
                1
              
              K
            
            ⁢
            
              
            
            ⁢
            
              
                (
                
                  L
                  
                    N
                    0
                  
                
                )
              
              ii
              
                -
                2
              
            
          
        
      
    
    
      
        (
        35
        )
      
    
  




which is indeed the minimum of TraceE[ε(i)εH(i)] according to (32).

Replacing the expression (33) into (28), we get the matrices of the forward and backward filters for the MMSE decision-feedback detection:

F(i)=diag−1{LN0}LN0−H  (36)

B(i)=diag−1{LN0}LN0−IK

More generally, F(i) and B(i) can be chosen proportional to the expressions given in (36).
If the symbols bk(i) are QPSK modulated, the following matrices can alternatively be chosen:

F(i)=LN0−H  (37)

B(i)=LN0−diag{LN0}

Indeed, by replacing the expressions (36) in (15), we obtain:

z(i)=diag−1{LN0}(LN0−Hy(i)−(LN0−diag−1{LN0}){circumflex over (b)}(i))   (38)

The detection of QPSK symbols is based on the signs of their respective real and imaginary parts. Since the terms of the diagonal matrix diag−1{LN0}are real positive, it suffices to consider the term in brackets for the detection.
However, if soft values are to be used after decision-feedback detection or if other types of modulation are employed, the factor (LN0)ii−1 introduced by expression (36) for each user k must be taken into account.
The first and second embodiments of the invention both achieve MAI cancellation at the symbol level instead of operating at the carrier level. This significantly reduces the complexity of implementation, especially when the number of active users is less than the number of carriers in the OFDM multiplex.
Both embodiments apply equally to downlink and uplink receivers, the filter 510 having a simpler structure for the downlink.
Although the multi-user detection device for an MC-CDMA receiver according to the invention has been described in terms of functional modules e.g. filters or estimating means, it goes without saying that all or part of this device can be implemented by means of a single processor either dedicated for fulfilling all the functions depicted or in the form of a plurality of processors either dedicated or programmed for each fulfilling one or some of said functions.

## Claims

1. A multi-user detection method for a receiver in a multi-carrier code division multiple access telecommunication system, each communication to or from a user of the system being coded with a signature, the signal received by said receiver being decomposed into a first plurality (L) of frequency components corresponding to a first plurality (L) of carriers, comprising:
subjecting said first plurality (L) of frequency components to a first filtering matched to the respective signatures of a second plurality (K) of users and to common or respective responses of the transmission channels associated to said communications to or from said users, where K is less than L,
subjecting the output of said first filtering to a forward filtering followed by an estimation of the symbols transmitted to or by said users,
subjecting said estimated symbols to a backward filtering, the output of said backward filtering being subtracted from the output of said forward filtering prior to said estimation.

2. The multi-user detection method of claim 1 wherein said backward filtering comprises a multiplication by a strictly lower triangular matrix, named backward matrix, of a second plurality of estimated symbols respectively transmitted to or by said second plurality (K) of users.

3. The multi-user detection method of claim 2, wherein said forward filtering comprises a multiplication by a K×K matrix, named forward matrix, where K is the value of said second plurality.

4. The multi-user detection method of claim 3, wherein said forward matrix is derived from a matrix R having the form R=G.GH with G=D.CH where D is a diagonal matrix indicating the relative amplitudes of the symbols transmitted to or by said users, C is a matrix characteristic of the signatures of said users and of said transmission channels, .H is the transpose conjugate.

5. The multi-user detection method of claim 4, wherein said forward matrix is obtained by a Cholesky factorisation of said matrix R giving a lower triangular matrix L such that R=LH.L, said forward matrix being chosen equal to (LH)−1 and said backward matrix being chosen equal to L-diag(L) where diag(L) is the diagonal matrix constituted by the diagonal elements of L.

6. The multi-user detection method of claim 4, wherein said forward matrix is obtained by a Cholesky factorisation of the matrix R+NOIK where NO is the noise power and IK is the K×K identity matrix, said Cholesky factorisation giving a lower triangular matrix LNO such that R+NOIK= LHNO. LNO, said forward matrix being chosen proportional to {diag(LNO)}−1. {LHNO}−1 and said backward matrix being chosen proportional to {diag(LNO)}−1.LNO-IK where diag(LNO) is the diagonal matrix constituted by the diagonal elements of LNO.

7. The multi-user detection method of claim 4, wherein, said transmitted symbols being issued from a QPSK modulation, said forward matrix is obtained by a Cholesky factorisation of the matrix R+NOIK where NO is the noise power and IK is the K×K identity matrix, said Cholesky factorisation giving a lower triangular matrix LNO such that R+NOIK=LHNO.LNO, said forward matrix being chosen proportional to {LHNO}−1 and where and said backward matrix being chosen proportional to LH NO-daig(LNO) where diag(LNO) is the diagonal matrix constituted by the diagonal elements of LNO.

8. The multi-user detection method of claim 7, wherein said first filtering consists in a multiplication of said frequency components by said diagonal matrix D and by said matrix CH.

9. The multi-user method of claim 8, wherein said matrix C is chosen equal to:




  C
  =
  
    [
    
      
        
          
            
              c
              11
            
            ⁢
            
              h
              11
            
          
        
        
          ⋯
        
        
          
            
              c
              
                1
                ⁢
                K
              
            
            ⁢
            
              h
              
                1
                ⁢
                K
              
            
          
        
      
      
        
          ⋮
        
        
          
            
          
        
        
          ⋮
        
      
      
        
          
            
              c
              L1
            
            ⁢
            
              h
              L1
            
          
        
        
          ⋯
        
        
          
            
              c
              LK
            
            ⁢
            
              h
              LK
            
          
        
      
    
    ]
  




where the coefficients clk, l=1, . . . , L are e coefficients of the signature coding the communication to or from user k=1, . . . , K and hlk, l=1, . . . , L are coefficients representing the frequency response of the channel used by said communication at the different carrier frequencies.

10. A multi-user receiver for a multi-carrier code division multiple access telecommunication system, each communication to or from a user of the system being coded with a signature, the signal received by said receiver being decomposed into a first plurality (L) of frequency components corresponding to a first plurality (L) of carriers, comprising:
means for subjecting said first plurality (L) of frequency components to a first filtering matched to the respective signatures of a second plurality (K) of users and to common or respective responses of the transmission channels associated to said communications to or from said users, where K is less than L,
means for subjecting the output of said means for first filtering to a forward filtering followed by an estimation of the symbols transmitted to or by said users to create estimated symbols,
means for subjecting said estimated symbols to a backward filtering, the output of said means for backward filtering being subtracted from the output of said forward filtering prior to said estimation by said means for estimating.