Abstract:
An equalization method and apparatus for a downlink channel in a telecommunication system transmitting MC-CDMA symbols on a plurality of carrier frequencies, in which a plurality of links are established between a transmitter and a plurality of receivers in order to transmit a plurality of coded signals, each link using a distinct access code amongst N possible codes, there being P links for P users where P is less than N. The equalization including the formation and use of a matrix of reduced size based upon the number of links being P by eliminating matrix elements relating to the unused codes and effecting an estimation of the said transmitted symbols according to a mean square error minimization criterion.

Description:
FIELD OF THE INVENTION 
   The present invention concerns an equalization method and device for the downlink channel of a telecommunications system of the MC-CDMA type. More particularly, the present invention concerns an equalization method and device of the GMMSE type. 
   DESCRIPTION OF THE RELATED 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&#39;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 d k (i) be the i th  symbol to be transmitted from the user k, where d k (i) belongs to the modulation alphabet. The symbol d k (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 T c , the total duration of the spreading sequence corresponding to a symbol period T. The results of the multiplication of the symbol d k (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  before being transmitted to the parallel to serial converter  140 . 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 the addition (not shown) of a suffix chosen so as to be identical to the start of the said symbol. The symbol thus obtained is 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, a base station transmits the data for a user k in the form of frames of I symbols, each symbol d k (i) being spread by a real signature c k (t) with a duration equal to the symbol period T, such that c k (t)=0 if t ∉[0,T]. The signal modulated at time t=i.T+l.T c  can then be written, if the guard intervals between MC-CDMA symbols are omitted: 
                     S   k     ⁡     (   t   )       =       ∑     i   =   0       I   -   1       ⁢       ∑     l   =   0       L   -   1       ⁢       v   k     ·       c   k     ⁡     (     l   ·     T   c       )       ·       d   k     ⁡     (   i   )       ·     exp   ⁡     (       j   ·   2     ⁢   π   ⁢           ⁢     l   /   L       )                     (   1   )               
where v 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 . 
   The demodulated received signal is sampled at the “chip” frequency and the samples belonging to the guard interval are eliminated (elimination not shown). The signal obtained can be written: 
                   R   ⁡     (   t   )       =         ∑     k   =   0       K   -   1       ⁢       ∑     i   =   0       I   -   1       ⁢       ∑     l   =   0       L   -   1       ⁢         h   kl     ⁡     (   i   )       ·     v   k     ·     c   kl     ·       d   k     ⁡     (   i   )       ·     exp   ⁡     (       j   ·   2     ⁢   π   ⁢           ⁢     l   /   L       )               +     b   ⁡     (   t   )                 (   2   )               
where K is the number of users, c kl =c k (l.T c ), and where h kl (i) represents the response of the channel of the user k to the frequency of the sub-carrier l of the MC-CDMA symbol transmitted at time i.T and where b(t) is the received noise.
 
   If the downlink channel is considered, the transmission channels have identical characteristics and it is possible to write h kl =h l . The study will be limited hereinafter to the downlink channel. 
   The samples obtained by sampling at the “chip” frequency are put in parallel in a serial to parallel converter  210  before undergoing an FFT in the module  220 . The samples in the frequency domain, output from  220 , are equalised and despread by the signature of the user k. To do this, the samples of the frequency domain are multiplied by the coefficients q l .c kl * in the multipliers  230   0 , . . . ,  230   L−1 , and then added at  240  in order to supply an output symbol {circumflex over (d)} k (i). 
   Different possibilities of equalization have been envisaged in the state of the art:
         MRC (Maximum Ratio Combining) defined by the use of the coefficients q l =h l * where.* denotes the complex conjugate;   EGC (Equal Gain Combining) defined by the use of the coefficients q l =e −jφl  where h l =ρ l .e jφl ;   ZF (Zero Forcing) where q l =h l   −1 (i);   zero forcing ZF with threshold (Th) where q l =h l   −1 (i); if |h l (i)|&lt;Th and q l= 0 (or q l =e −jφl ) otherwise;   the Minimum Mean Square Error (MMSE) algorithm for minimising the mean square error on each of the carriers:       

             q   l     =       h   l   *                h   l          2     +     σ   2               
where σ 2  is the variance of the noise on the carrier.
 
   In MC-CDMA, the presence of a guard period makes it possible to neglect the intersymbol interference. The equalization can therefore be effected simply by means of a simple multiplication by a complex coefficient, carrier by carrier. 
   The receiver illustrated in  FIG. 2  decodes the data of a user k without taking account of the interference due to the other users. For this reason it is referred to as single user or SU. 
   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. Hlard and J. Citerne entitled “A novel linear MMSE detection technique for MC-CDMA” published in Electronics Letters, Vol. 36, No. 7, pages 665–666, Mar. 30, 2000. The equalization method proposed no longer operates carrier by carrier but MC-CDMA symbol by MC-CDMA symbol, taking account of all the carriers. It is for this reason also referred to as GMMSE (Global Minimum Mean Square Error) or, equivalently, M-MMSE (Matrix Minimum Mean Square Error) equalization. Its purpose is to minimize the mean square error between the estimated symbols {circumflex over (d)} k (i) and the transmitted symbols d k (i). 
   An MC-CDMA receiver with GMMSE equalization for a user k (also referred to in this case as per user MMSE) has been depicted in  FIG. 3 . It differs from that of  FIG. 2  in that the equalization is effected by means of a multiplication  331  by a matrix Q of the signals of the different carriers. After despreading by multiplication at  332   0 , . . . ,  332   L−1  with the signature of the user k and adding at  340 , the signal obtained is multiplied at  360  by the transmission level v k  relating to the user k in order to supply an estimated symbol {circumflex over (d)} (the time index i will be omitted for reasons of simplification). 
   An MC-CDMA receiver with GMMSE equalization, estimating the symbols d k  transmitted to the different users, has been depicted in  FIG. 4 . The modules  410 ,  420  and  431  are identical to the modules  310 ,  320  and  331 . The despreading is effected at  432 , by means of the multiplication by the matrix C H  where C is the matrix of the N possible codes (. H  designates the conjugate transpose). More precisely, the matrix C is the matrix whose columns consist of the N possible codes c k , k=0, . . . , N−1, each code c k  being a vector whose components form the sequence c lk . The output vector of  432  is subjected to a multiplication at  433  by the matrix V H  where V=Diag(v 0 , . . . , v N−1 ) is the diagonal matrix representing the amplitudes v k  of the signals transmitted by the base station to the N possible users. When the base station serves fewer than N users, or in other words when the system is not working at full load, the transmission levels corresponding to the unused codes are zero. 
   The MC-CDMA signal output from the FFT step,  420 , can be written in the form of a vector Y of dimension N whose components correspond to the different carriers. Taking the above notations, Y can be expressed as a function of the vector D of the symbols d k  transmitted to the different users:
 
 Y=HCVD+b=AD+b   (3)
 
where A=HCV and where b is the vector of the noise components.
 
   The diagonal matrix H represents the frequency response of the channel to the different subcarriers, that is to say H=Diag (h 0 , h 1 , . . . , h N−1 ). 
   The vector Y is an observable from which it is possible to estimate the vector D by Wiener filtering. If {circumflex over (D)} is the vector of the estimated symbols for the different users according to the Wiener-Hopf equation:
 
 {circumflex over (D)}=R   DY   R   YY   −1   Y= ( R   DD   A   H )( AR   DD   A   H   +σ   b   2   .I   N ) −1   Y   (4)
 
   where R DY , R YY , R DD  are respectively the covariance matrix of Y and D and the autocovariance matrices of Y and D. If it is assumed that the transmitted symbols d k  are decorrelated, this gives R DD =I N  and therefore:
 
 {circumflex over (D)}=A   H ( AA   H +σ b   2   .I   N ) −1   Y   (5)
 
   Since A H =V H C H H H  it is deduced from (5) that the equalization matrix Q can be put in the form:
 
 Q=H   H ( AA   H +σ b   2   .I   N ) −1   (6)
 
   As indicated by (6), the equalization operation depends on the calculation of the matrix AA H  and the inversion of the matrix AA H +σ b   2 .I N  (or equivalently the resolution of a linear system of rank N). These calculations consume resources of the mobile terminal, all the more so if they have to be performed frequently, notably in the case of rapid variations on the transmission channel. However, it is known that the resources of the terminals constitute precisely the critical part of a mobile telecommunication system. 
   The problem at the basis of the present invention is to propose a GMMSE equalization method for a downlink channel of an MC-CDMA telecommunication system which does not use significant calculation resources. 
   This problem is resolved by the invention defined as an equalization method for a downlink channel in a telecommunication system transmitting MC-CDMA symbols on a plurality of carrier frequencies, in which a plurality of links are established between a transmitter and a plurality of receivers in order to transmit a plurality of coded signals, each link using a distinct access code amongst N possible codes, and in which, for at least one receiver, a vector (Y) representing the components of the signal received by the receiver on the different carrier frequencies is subjected to a filtering step adapted for supplying an observable vector (Z, Z′) and the said observable vector is used for effecting an estimation of the said transmitted symbols according to a mean square error minimisation criterion. 
   Advantageously, the said estimation comprises the calculation of the matrix A H A+σ b   2 I N  with A=HCV where H is a matrix giving the characteristics of the transmission channel at the different carrier frequencies, C is the matrix of the possible codes, V is a diagonal matrix giving the transmission levels of the coded signals by means of the said N possible codes, σ b   2  is the noise variance and I N  is the unity matrix of size N×N. The said estimation can comprise a step of resolving a system of linear equations Ω{circumflex over (D)}=Z where Ω=A H A+σ b   2 I N , Z is the said observable vector and {circumflex over (D)} is the vector of the symbols estimated for the different links. 
   According to one embodiment, the matrix B=C H |H|H| 2 C is calculated where C is the matrix of the possible codes and H is a matrix giving the characteristics of the transmission channel at the different carrier frequencies. 
   It is possible to select, from the transmission levels, real or estimated, of the signals coded by means of the said N possible codes, one subset of codes amongst the N possible codes. In this case, the matrix B can advantageously be reduced to a matrix B′ of size P×P by retaining only the P rows and P columns corresponding to the selected codes, and the matrix C of the possible codes to a matrix C′ of size N×P by retaining only the P columns corresponding to the selected codes. The matrix will then be calculated in the form B′=C′ H |H| 2 C′ where H is a matrix giving the characteristics of the transmission channel of the different carrier frequencies. 
   If P codes amongst N are selected, the matrix V=Diag(v 0 , . . . , v N−1 ), where the v i  values are the real or estimated values, can be reduced to a matrix V′ of size P×P now containing only the levels associated with the said selected codes, the said estimation comprising a step of calculating the matrix Ω′=V′ H B′V′+σ b   2 .I P  where σ b   2  is the variance of the noise on each carrier and I P  is the unity matrix of size P×P. In this case, the said estimation can comprise a step of resolving a system of linear equations Ω′{circumflex over (D)}′=Z′, where Z′ is the reduction of the observable vector Z to the P components corresponding to the codes selected and where {circumflex over (D)}′ is the vector of the symbols estimated on the different links using the said selected codes. 
   The invention is also defined by an equalization device for a telecommunication system receiver of the MC-CDMA type, comprising means for implementing the equalization method as disclosed above. Finally, the invention concerns a receiver for a telecommunication system of the MC-CDMA type comprising such an equalization device. 

   
     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 single user MC-CDMA receiver known from the state of the art; 
       FIG. 3  depicts schematically the structure of an MC-CDMA receiver using a per user MMSE equalization, known from the state of the art; 
       FIG. 4  depicts schematically the structure of an MC-CDMA receiver using a GMMSE equalization, known from the state of the art; 
       FIG. 5  depicts schematically the structure of an MC-CDMA receiver using an equalization method according to a first embodiment of the invention; 
       FIG. 6  depicts schematically the structure of an MC-CDMA receiver using an equalization method according to a second embodiment of the invention. 
   

   DETAILED DESCRIPTION OF INVENTION 
   A first idea for simplifying the equalization operation is to take advantage of the fact that the system does not generally work at full load. When the number P of users actually present is less than the number N of possible codes, a matrix V′ of size P×P is constructed, obtained from the matrix V by eliminating the elements relating to the unused codes. It can be assumed, without loss of generality, that these codes bear the indices 0, . . . P−1, and hence V′=Diag(v 0 , . . . , v P−1 ). The matrix C can also be reduced to a matrix C′ of size N×P containing only the columns which correspond to the codes used. The matrix A, the product of the matrices H,C and V, is then also reduced to a matrix A′ of size N×P: A′=HC′V′ and the vector Y is written: Y=A′D′+b where D′ is the vector D reduced to the components corresponding to the P users present. 
   Equation (5) can then be put in the form:
 
 {circumflex over (D)}′=A′   H ( A′A′   H +σ b   2   .I   N ) −1   Y   (7)
 
   However, equation (7) unfortunately does not afford any substantial simplification of the calculations since it involves the matrix A′A′ H , which is still of size N×N although A′ is of reduced size N×P. The size of the matrix to be inverted (or equivalently the rank of the system of linear equations to be resolved) is therefore still a function of the number N of possible codes, that is to say still a function of the maximum number of users which the system can support. 
   It was assumed up to now that a user used only one code. In more general terms, the assumption will be made that a plurality of links can be established between the transmitter and a user, each link employing a distinct code. According to this definition, a transmission channel between the transmitter and a user can support several links. Thus N becomes the maximum number of links which can be authorised by the system and P is the number of links actually established. 
   The general idea at the basis of the invention is to find a formulation of the equalization operation capable of simplification when the number P of links (of codes used) is less than the maximum number N. 
   Consider the vector Y output from the FFT, it has been seen that Y=AD+b where D is the vector of the symbols to be estimated. Let Z=A H Y be the result of the matched filtering of Y: it is known that Z is an exhaustive summary of Y. It is possible to take as an observable the vector Z instead of Y and estimate the vector D from this observable by means of a Wiener filtering. The estimated vector {circumflex over (D)} is therefore written:
 
 {circumflex over (D)}=R   DZ   R   ZZ   −1   Z   (8)
 
   However
 
 R   DZ   =E ( DY   H   A )=( R   DD   A   H   +R   Db ) A=A   H   A  and likewise
 
 R   ZZ   =A   H   AR   DD   A   H   A+A   H   R   bb   A= ( AA   H +σ b   2   I   N ) A   H   A  from which
 
 {circumflex over (D)}= ( A   H   A+σ   b   2   I   N ) −1   Z= ( A   H   A+σ   b   2   I   N ) −1   A   H   Y   (9)
 
   When the system is not working at full load, it is possible to reduce the matrix A to a matrix A′ and to rewrite equation (9) in the reduced form:
 
 {circumflex over (D)}= ( A′   H   A′+σ   b   2   I   P ) −1   A′   H   Y   (10)
 
   where I P  is the unity matrix of size P×P. 
   It will be noted that this new estimation formula now requires only the inversion of a matrix of size P×P (or equivalently the resolution of a linear system of P equations with P unknowns) instead of a matrix of size N×N as before. The estimation of the symbols is considerably simplified thereby, all the more so when the load on the system is lower. 
   It will now be shown that, according to one embodiment of the invention, the calculation of the matrix A′ H A′ appearing in equation (10) can be simplified further when the matrix of the code C has certain properties. In fact, consider first of all the matrix A H A. This can also be expressed as:
 
 A   H   A=V   H ( C   H   H   H   HC ) V=V   H ( C   H   |H|   2   C ) V=V   H   BV   (11)
 
where B=C H |H| 2 C.
 
   Assume first of all that the code used is a Walsh-Hadamard (WH) code. It will be recalled that the WH code can be generated like the columns of a matrix C 2p  obtained by recurrence: 
   
     
       
         
           
             
               
                 
                   C 
                   
                     2 
                     ⁢ 
                     p 
                   
                 
                 = 
                 
                   
                     
                       [ 
                       
                         
                           
                             
                               C 
                               p 
                             
                           
                           
                             
                               C 
                               p 
                             
                           
                         
                         
                           
                             
                               C 
                               p 
                             
                           
                           
                             
                               - 
                               
                                 C 
                                 p 
                               
                             
                           
                         
                       
                       ] 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     and 
                     ⁢ 
                     
                       
                           
                       
                       ⁢ 
                       
                           
                       
                     
                     ⁢ 
                     
                       C 
                       1 
                     
                   
                   = 
                   
                     [ 
                     1 
                     ] 
                   
                 
               
             
             
               
                 ( 
                 12 
                 ) 
               
             
           
         
       
     
   
   The matrix is real, symmetrical and equal to its own inverse. In addition, the sequences are orthogonal. 
   The elements of C can be expressed in the form: c ij =(−1) &lt;ij&gt;  where &lt;i, j&gt; is the scalar product of the binary representations of i and j: 
   
     
       
         
           
             〈 
             
               i 
               , 
               j 
             
             〉 
           
           = 
           
             
               ∑ 
               k 
             
             ⁢ 
             
               
                 i 
                 k 
               
               ⁢ 
               
                 j 
                 k 
               
             
           
         
       
     
   
   The following property is derived therefrom:
 
c ki   * c kj =c k,i⊕j   (13)
 
where i⊕j represents the bitwise addition of the integers i and j.
 
This is because:
 
                 ∑   n     ⁢       i   n     ⁢     k   n         +       ∑   n     ⁢       j   n     ⁢     k   n           =         ∑   n     ⁢       (       i   n     +     j   n       )     ⁢     k   n         =       ∑   n     ⁢         (     i   ⊕   j     )     n     ⁢     k   n                 
and therefore &lt;k,i&gt;+&lt;k,j&gt;=&lt;k,i⊕j&gt;.
 
The result of (13) is that the conjugate product of two WH codes is still a WH code.
 
   Assume now that the codes used are Fourier codes, defined by: c i,k =exp(−j 2πik/N). The matrix of the code is symmetrical.
 
c *   k,i c kj =c kj−i   (14)
 
where “j−i” designates here the subtraction modulo N.
 
   The result here too is that the combined product of two Fourier codes is still a Fourier code. 
   This property can be extended to a family of codes obtained by “rotation” of the previous codes (and for this reason referred to as rotated codes) as presented in the article by A. Bury et al. entitled “Diversity comparison of spreading transforms for multi-carrier spread spectrum transmission methods” published in Electronic Wireless 2000 Proceedings, Dresden, Germany. The matrix of a rotated code is defined by:
 
 C   r   =C. D ( r )  (15)
 
where D is a diagonal matrix defined by the vector r=(r 0 , . . . , r N−1 ) T  that is to say D=Diag(r0, . . . , rN−1) where r i =exp(jφ i ).
 
   It is important to note that coding N symbols intended for N users by means of the matrix of a rotated code is equivalent to effecting a rotation of each of these symbols through an angle φ i  and then applying the matrix of the initial code. In other words, a rotated code of an initial code can boil down to the initial code at the cost of a rotation of the constellation for each of the users. 
   If the matrix C of the initial code relates to a Fourier code, then, for the rotated Fourier code:
 
 c   k,i   r*   c   k,j   r   =r   i   *   ·c   k,i   .r   j   .c   k,j =exp(φ j −φ i )·c k,j-i =λ ij   ·c   k,j-i   r   (16)
 
with λ ij =φ j −φ i −φ j-i  
 
Likewise, for a rotated Hadamard code:
 
 c   k,i   r*   c   k,j   r   =r   i   *   ·c   k,i   .r   j   ·c   k,j =exp(φ j −φ i )· c   k,j⊕i =λ ij   c   k,j⊕i   r   (17)
 
with λ ij =φ j −φ i −φ j⊕i  
 
Subsequently, the codes satisfying the following property will be considered:
 
 c   k,j   *   c   k,j =λ ij   ·c   k,f(i,j)  or λ ij   ·c   k,f(i,j)   *  which will be denoted λ fj   ·c   k,f(i,j)   (*)   (18)
 
where f(i,j) is an index dependent on i and j and describing 0 to N-1 with i constant or with j constant and where λ ij  is a complex number in general depending on the indices i and j.
 
   In this case the coefficients b ij  of the matrix B=C H |H| 2 C can be expressed by: 
   
     
       
         
           
             
               
                 
                   b 
                   ij 
                 
                 = 
                 
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         0 
                       
                       
                         N 
                         - 
                         1 
                       
                     
                     ⁢ 
                     
                       
                         
                            
                           
                             h 
                             k 
                           
                            
                         
                         2 
                       
                       ⁢ 
                       
                         c 
                         
                           k 
                           , 
                           i 
                         
                         * 
                       
                       ⁢ 
                       
                         c 
                         
                           k 
                           , 
                           j 
                         
                       
                     
                   
                   = 
                   
                     
                       λ 
                       ij 
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           0 
                         
                         
                           N 
                           - 
                           1 
                         
                       
                       ⁢ 
                       
                         
                           
                              
                             
                               h 
                               k 
                             
                              
                           
                           2 
                         
                         ⁢ 
                         
                           c 
                           
                             k 
                             , 
                             
                               f 
                               ⁡ 
                               
                                 ( 
                                 
                                   i 
                                   , 
                                   j 
                                 
                                 ) 
                               
                             
                           
                           
                             ( 
                             
                                 
                             
                             * 
                             
                                 
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 19 
                 ) 
               
             
           
         
       
     
   
   First of all, for example, the first row of the matrix B is calculated, that is to say the coefficients b 0j , and then the other rows are derived therefrom by permutation and multiplication: 
   
     
       
         
           
             
               
                 
                   b 
                   ij 
                 
                 = 
                 
                   
                     
                       
                         λ 
                         ij 
                       
                       
                         λ 
                         
                           o 
                           , 
                           j 
                         
                       
                     
                     ⁢ 
                     
                       b 
                       
                         0 
                         , 
                         
                           
                             f 
                             0 
                             
                               - 
                               1 
                             
                           
                           ⁡ 
                           
                             ( 
                             
                               f 
                               ⁡ 
                               
                                 ( 
                                 
                                   i 
                                   , 
                                   j 
                                 
                                 ) 
                               
                             
                             ) 
                           
                         
                       
                       
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           
                               
                           
                           * 
                           
                               
                           
                           ) 
                         
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     where 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         f 
                         0 
                       
                       ⁡ 
                       
                         ( 
                         k 
                         ) 
                       
                     
                   
                   = 
                   
                     f 
                     ⁡ 
                     
                       ( 
                       
                         0 
                         , 
                         k 
                       
                       ) 
                     
                   
                 
               
             
             
               
                 ( 
                 20 
                 ) 
               
             
           
         
       
     
   
   If a table of f 0   −1 f and, where applicable, of λij/λo,j, is available, calculation of the matrix B requires only the calculation of one of its rows. By way of example, expression (20) is written in the case of a WH code: b ij =b 0,i⊕j . 
   If for example use is made of a WH code, a rotated WH code, a Fourier code or a rotated Fourier code, the first row of the matrix B can advantageously be obtained by simple transform of the vector ρ=(|h 0 | 2 , . . . , |h N−1 | 2 ) T . 
   This is because, in the case of a WH code, the first row is obtained by Hadamard transform of ρ: 
                   b     0   ,   j       =         ∑     k   =   0       N   -   1       ⁢              h   k          2     ⁢     c     k   ,   0       ⁢     c     k   ,   j           =         ∑     k   =   0       N   -   1       ⁢              h   k          2     ⁢     c     k   ,     0   ⊕   j             =         ∑     k   =   0       N   -   1       ⁢              h   k          2     ⁢     c     k   ,   j           =       ∑     k   =   0       N   -   1       ⁢       c     j   ,   k       ⁢            h   k          2                       (   21   )               
and, in the case of a Fourier code, the first row is obtained by Fourier transform of ρ:
 
                   b     0   ,   j       =         ∑     k   =   0       N   -   1       ⁢              h   k          2     ⁢     c     k   ,   0     *     ⁢     c     k   ,   j           =         ∑     k   =   0       N   -   1       ⁢              h   k          2     ⁢     c     k   ,     j   -   0             =         ∑     k   =   0       N   -   1       ⁢              h   k          2     ⁢     c     k   ,   j           =       ∑     k   =   0       N   -   1       ⁢       c     j   ,   k       ⁢            h   k          2                       (   22   )               
Advantageously, the Fourier transform will be effected by means of an FFT.
 
   If rotated versions of these codes are used, the coefficients of the first row of B are derived from (21) and (22) by means of a simple multiplication by complex coefficient. 
   In general terms, if the code employed satisfies property (18), notably for a Hadamard, rotated Hadamard, Fourier or rotated Fourier code, advantageously a row of the matrix B will be calculated (or a column since it is hermitian) and the other rows (or respectively the other columns) will be deduced therefrom by means of permutation and where necessary multiplication operations. 
   Consider now the matrix A′ H A′ appearing in the estimation calculation (10). The matrix A′ can also be written A′=(HC)′V′ where (HC)′ is the reduction of the matrix HC to its first P columns. A first expression of A′ H A′ is deduced therefrom:
 
 A′   H   A′=V′   H ( C   H |H| 2   C )′ V′=V′   H   B′V′   (23)
 
According to this variant, first of all the matrix B=C H |H| 2 C is calculated using the simplified method, disclosed above, and then the reduction in dimension is carried out.
 
   Alternatively, the matrix A′ H A′ can be obtained directly from A′=HC′V′. A second expression of A′ H A′ is derived therefrom:
 
 A′   H   A′=V′   H ( C′   H   |H|   2   C′ ) V′   (24)
 
According to this variant, first of all the matrix of the codes C is reduced, and then matrix C′ H |H| 2 C′ is calculated.
 
   When the number of codes P is small, the calculation of A′ H A′ according to formula (24) will be opted for. This calculation results in approximately (NP 2 +2P 2 +NP) operations. 
   If, on the other hand, the reduction in the number of codes is not very great, the calculation according to formula (23) will be opted for, in so far as there exists a fast algorithm for the application of the transform C. This calculation is all the more simple since, in the majority of cases, the codes of the matrix C satisfy property (18). If use is made for example of a WH code, the first row of the matrix B is obtained by a Hadamard transform of the vector ρ=(|h 0 | 2 , . . . , |h N−1 | 2 ) T  requiring Nlog 2 (N) operations. The complete calculation of A′ H A′ requires (Nlog 2 (N)+2P 2 ) operations. This operation will therefore be more effective if log 2 (N) is smaller than P 2 .This conclusion also applies when the code used is a Fourier code. 
   Advantageously, it is possible to pass dynamically from the calculation of A′ H A′ according to (23) to the calculation according to (24) and vice-versa, depending on the value of P. 
   It was assumed up to now that the reduction of the matrices consisted of being limited to the components relating to the codes used. In fact, a more extensive reduction can be obtained on the basis of one of the following criteria: 
   (I) the P−1 (P a given integer such that P&lt;N) codes c m distinct from c k  associated with the highest levels v m  are selected. This is because the high transmission level signals have a higher jamming potential than the others; 
   (II) the codes c m  distinct from c k  associated with the levels v m &gt;Th where Th is a predetermined threshold, are selected. Advantageously, the threshold Th will be adaptive and will depend on the transmission level for the user in question. Then the codes c m  will be selected such that: v m &gt;μv k  with, for example, 0&lt;μ&lt;1. If the receiver of the user k uses several codes of indices k l , . . . , k Δ , that is to say if the user has established several links with the base station (the channel of a user then consists of several links), account will be taken of the code of index k δ ε{k I , . . . , kΔ} associated with the lowest level v kδ  in and the codes c m  will be selected such that: v m &gt;μ.v kδ . 
   Naturally, a combination of the above criteria can also be envisaged. Furthermore, in addition to the selection from the transmission levels, it is possible to select, from amongst those adopted according to this criterion, only the most intrinsically jamming codes (that is to say excluding any consideration of transmission level) for the code in question. This is because it is known, for example from the article by D. Mottier and D. Castelain entitled ‘spreading sequence allocation procedure for MC-CDMA transmission systems’, published in VTC&#39; Fall 2000, September 2000 and included here by reference, that, if the coefficients h k  of the channel are correlated, for a given user code, certain codes, for equal transmission levels, are more jamming than others. More precisely, the interference between two codes c i  and c j  is related to the properties of the “product” sequence w ij , defined by w ij [k]=c i [k]c j   * [k]. This selection criterion will be referred to as the intrinsic jamming criterion. 
     FIG. 5  illustrates a GMMSE equalizer according to a first embodiment of the invention. 
   The modules  510 ,  520  are identical to the modules  410  and  420  of  FIG. 4 . The vector v=(v 0 , . . . , v N−1 ) T  of the transmission levels, received or estimated by the receiver of the user k in question, is submitted at  570  to a selection module using a selection criterion according to (I) or (II), possibly in combination with the intrinsic jamming criterion. The selection module  570  determines a set F k ⊂{0 , . . . , N−1 } of code indices to be selected and transmits it to the multiplexers  551 ,  561  and  571 . The multiplexer  571  selects the components of v relating to the indices of F k  in order to supply the vector of reduced size v′. Likewise, the multiplexers  551  and  561  supply respectively the matrices of reduced size B′ and C. The module  550  is an adapted filter supplying Z′=A′ H Y. It should be noted that, strictly speaking, the expression “adapted filtering” is suited only to the case where the selection contains all the indices of the codes used. It will be extended to the case where the weakly interfering codes are not selected. The matrix calculation module  590  then calculates the matrix Ω′=V′ H B′V′+σ b   2 .I P  and transmits it to the estimation module  580 . The latter resolves the linear system of P equations with P unknowns {circumflex over (d)} k : Ω′{circumflex over (D)}′=Z′. 
     FIG. 6  illustrates a GMMSE equalizer according to a second embodiment of the invention. 
   The modules  610 ,  620 ,  650 ,  651 ,  661 ,  670 ,  671 ,  680 ,  690  are respectively identical to the modules  510 ,  520 ,  550 ,  551 ,  561 ,  570 ,  571 ,  580 ,  590  in  FIG. 5 . 
   As before, the module  650  effects an adapted filtering on the vector Y and supplies the vector Z′=A′ H Y. The equalizer here comprises two possible branches for calculating B′ according to the value of P: 
   If P 2 &gt;log 2 N, the calculation is effected in the upper branch comprising the modules  660  and  661 . The vector ρ=(|h 0 | 2 , . . . , |h N−1 | 2 ) T  issuing from a channel estimator is subjected at  660  to a transform (Hadamard or Fourier) corresponding to the code used for supplying the first row of the matrix B. Then, using a table giving the permutation of the indices f 0   −1 f, the module  660  generates, by means of (20), the other rows of the matrix B. The multiplexer  661  next reduces the matrix B to a matrix B′ of size P×P according to the set F k  of indices to be selected, supplied by the selection module  670 . 
   On the other hand, if P 2 ≦log 2 N, the calculation is effected in the lower branch. The module  662  receives from the module  651  the reduced matrix C′ and directly calculates the matrix B′ according to B′=C′ H |H| 2 C′. The matrix calculation module  690  receives the vector of reduced size v′ from the multiplexer  671  and the matrix B′ of the upper branch or of the lower branch, according to circumstances. It calculates the matrix Ω′=V′ H B′V′+σ b   2 .I P  and transmits it to the module  680 . The latter then resolves the linear system of P equations with P unknowns {circumflex over (d)} k : Ω′{circumflex over (D)}′=Z′. 
   Although the MC-CDMA reception device using the equalization method according to the invention has been depicted in the form of functional modules, it goes without saying that all or part of this device can be implemented by means of a single processor either dedicated or programmed for fulfilling all the functions described or in the form of a plurality of processors either dedicated or programmed for each fulfilling some of the said functions.