Patent Publication Number: US-6339612-B1

Title: Method and apparatus for joint detection of data in a direct sequence spread spectrum communications system

Description:
FIELD OF THE INVENTION 
     The present invention relates generally to joint detection of data signals and, in particular, to joint detection of data symbols simultaneously transmitted over a shared communications channel and distinguished by user-specific signature or spreading sequences. 
     BACKGROUND OF THE INVENTION 
     Since the early 1990&#39;s, code division, multiple access (CDMA) cellular communications systems have been designed based on direct-sequence spread-spectrum (DS-SS) principles. In such systems, multiple users simultaneously occupy the same radio frequency channel, separated only by user-specific spreading or signature sequences. Probably the best known contemporary example of this approach to cellular system design is that defined by Personal Station-Base Station Compatibility Requirements for 1.8 to 2.0 GHz CDMA Personal Communication Systems” (American National Standards Institute (ANSI) J-STD-008), or, broadly equivalently, the Telecommunications Industry Association Interim Standard 95 (TIA IS-95). 
     Recently, proposals for so-called “3-rd Generation” cellular communication systems have been made to the European Telecommunications Standards Institute (ETSI) for adoption within the Universal Mobile Telecommunications System (UMTS) standardization process. Among the proposals are systems based on Direct-Sequence, Spread-Spectrum (DS-SS) technology. One such candidate system, which is particularly relevant to the present invention, is usually referred to in the UMTS community as the TD-CDMA system (for “Time-Division Code-Division Multiple Access”). That system makes use of a combination of time- and code-division techniques as a means of improving overall system capacity while purportedly retaining compatibility with 2 nd  Generation systems, notably the Group Special Mobile (GSM) cellular communications system. 
     As can be seen from FIG. 1, the TD-CDMA air interface incorporates both TDMA and CDMA elements. The TDMA component is provided by dividing each radio frequency channel into frames of 4.615 ms duration, with each frame further divided into time slots of approximately 577 us in length. The CDMA element is permitted by the allocation to each user of a unique 16-ary Walsh-Hadamard orthogonal spreading code which is used to spread the Quadrature Phase Shift Keyed (QPSK) or Quadrature Amplitude Modulation (16-QAM) data symbol sequences comprising the useful part of each user&#39;s transmission. 
     The mobile station (MS) or base station (BS) transmission within any timeslot is referred to a ‘burst’. As presently envisaged, the TD-CDMA air interface supports two distinct burst types, the general structure of which is shown in FIG.  1 . The so-called type-1 burst transmits a data sub-burst of 28 data symbols, followed by a midamble of length 296 chips (used for channel estimation purposes), a second sub-burst of 28 data symbols, and finally a guard period of 58 chips; the type-2 burst transmits 34 symbols in each sub-burst, with midamble and guard period durations of 107 and 55 chips respectively. In both cases the length of each burst is 1250 chips. The same burst structures are used for both forward and reverse links, although since the forward link represents a point-multipoint transmission, the content of the midamble segment is slightly different in that case. This is of no consequence, however, for the present purposes. Accordingly, the description of the drawings below will focus on reverse link operation, pointing out differences between the forward and reverse only when these are significant for the description of the invention. 
     FIG. 2 shows a communication system employing a TD-CDMA air interface. A single timeslot is shown by the figure, within which K mobile stations  201 - 209  are simultaneously active. In the example shown, the mobile station population  201 - 209  transmits simultaneously on a specific timeslot, distinguished by length-16 spreading codes c (1)  through c (k)  respectively. It is important to note that—unlike IS-95 systems in which the sequence used to spread each symbol is a sub-sequence of a much longer sequence—the same code c (k)  is used continuously to spread each data symbol from the same user. In other words, the received signal at BS  200  comprises a plurality of time overlapping coded signals from individual mobile stations, each transmitted within the same timeslot and distinguishable by a specific signature sequence. 
     The use of conventional DS-SS receivers such as the RAKE receiver is not, however, envisaged for use in the TD-CDMA system. Rather, receiver designs capable of simultaneously or jointly recovering the data symbols transmitted by the population of mobile stations operating within the same timeslott frequency within a given cell or sector are intended. Examples of such receivers are described in articles Lupas R., Verdu S., “Linear Multiuser Detectors for Synchronous Code-Division Multiple-Access Channels”, IEEE Trans. Inf. Theory, vol. 35, no. 1, January 1989, Klein A., Baler P. W., “Linear Unbiased Data Estimation in Mobile Radio Systems Applying CDMA”, IEEE J. Sel. Areas Comm., vol. 11, no. 7, September 1993, Blanz J., Klein A., Nashan M., Steil A., “Performance of a Cellular Hybrid C/TDMA Mobile Radio System Applying Joint Detection and Coherent Receiver Antenna Diversity”, IEEE J, Sel. Areas Comm., vol. 12. No. 4, May 1994, and Jung P., “Joint Detection with Coherent Receiver Antenna Diversity in CDMA Mobile Radio Systems”, IEEE Trans. Veh. Tech., vol. 44, no. 1, February 1995. 
     The receivers described in the above-mentioned references perform joint detection using block linear joint sequence detectors. The computational complexity of the methods used to solve the system of equations arising from the above methods can, however, be very large. This results in receivers that are costly and consume large amounts of power. Therefore, a need exists for a method and apparatus for joint detection of data signals that requires less computational complexity, resulting in less costly, lower power receivers. 
     Put more generally, a need exists for a method and apparatus to reduce the computational complexity of linear joint detectors where the signature sequences of the users are constant over a block (or burst) of symbols, and where some external means are provided—in the form, for example, of a midamble or pilot sequence—for performing channel estimation. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a prior-art Time-division, Code-division Multiple Access (TD-CDMA) air interface incorporating both Time Division Multiple Access (TDMA) and Code Division Multiple Access (CDMA) elements. 
     FIG. 2 is a block diagram of a communication system utilizing the TD-CDMA air interface of FIG. 1 for a single timeslot. 
     FIG. 3 is a block diagram of a mobile station and base station illustrating transmission and reception of signals in the TD-CDMA communication system of FIG. 2 in accordance with the preferred embodiment of the present invention. 
     FIG. 4 is a block diagram of the digital signal processor of FIG. 3 in accordance with the preferred embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE DRAWINGS 
     Although the following description relates to the candidate UMTS TD-CDMA system, it will be readily appreciated that the invention may apply to any CDMA system in which the signature sequences assigned to each user do not change from symbol to symbol over some fixed interval of time, and where some means of channel estimation are provided. For the particular TD-CDMA example, the interval is the burst (or more precisely, the sub-burst) and the midamble provides the means of channel estimation. 
     Joint detection of data signals according to the invention in such a CDMA communication system proceeds generally as follows. A digital signal processor (DSP) first extracts the midamble portion of the burst (FIG. 1) received on each antenna and generates, using the channel estimation function, an estimate of the complex-valued channel impulse response defined from each user to each antenna. Next, the DSP forms the convolution of the assigned user signature sequences with the channel impulse response estimate associated with each user and each antenna. A detector, as described by the detailed description of the invention below, then utilizes the resulting set of convolved signal vectors to create a system of sub-matrices and then solves that system of sub-matrices in order to extract the underlying modulated data symbol information from each user. The detector outputs soft-decision symbol information for use in subsequent error control decoding. Unlike prior-art detectors, creating the system of sub-matrices to extract the data symbol soft decision information results in less computational complexity than the direct approaches of the references mentioned above, resulting in receivers which are less costly and consume lower amounts of power compared to the prior-art joint detection receivers. 
     Now, in more detail, FIG. 3 illustrates a general signal model within which the present invention may be described. In the preferred embodiment of the present invention each user (an example of which is mobile station  301 ) utilizes a particular 16-ary spreading sequence  303  to spread each of the symbols  302  transmitted within a burst (i.e. each data sub-burst of FIG.  1 ), although any spreading sequence length may be used. This is distinct from existing DS-SS cellular communications systems such as J-STD-008 or IS-95, in which both short and long codes have repetition intervals that are much greater than the symbol duration. Note that FIG. 3 shows only transmission of the first sub-burst of the burst of FIG. 1 since this is all that is necessary for description of the preferred embodiment. Transmission of the user midamble sequences and data sub-burst  2  is implicit. 
     Returning to FIG. 3, during a specific timeslot, the first mobile station  301  transmits a sequence of N complex-valued symbols  302  with each symbol spread using spreading sequence c (1)    303 . The spread signal is then filtered by a chip pulse-shaping filter p(t)  330 , frequency-converted to carrier frequency f 1  using frequency converter  305 , and transmitted by antenna  306 . All the K-1 other mobile stations behave similarly, using codes c (2)  through c (k) , respectively. 
     BS  200  supports spatially diverse signal reception by providing K a  widely separated antennas  308 - 310 , which may be omni-directional or sectored antennas. Since BS  200  provides K a  antennas, a set of K.K a  baseband-equivalent radio-frequency channels may be defined, with channel h (k,ka) (t,τ) describing the complex channel impulse response linking mobile station k to base station antenna k a . (Assuming mobile stations have only a single antenna, the case of forward link transmission is obtained by simply setting K a =1). 
     The signal received on base station antenna  308  is frequency converted to complex baseband form by mixer  311  and then processed by chip pulse matched filter  314  before being sampled by a quadrature analog-digital converter (ADC)  317 . The sampled signal is subsequently distributed to Digital Signal Processor (DSP)  320  where the present invention is located. The signals received from other antennas  309 - 310  are similarly converted to sampled baseband signals for distribution to DSP  320 . In the preferred embodiment of the present invention ADC  317  operates at the chip rate, i.e. at 1/T c  sample rate, although it will be obvious that the invention may be easily extended to include oversampling designs in which the ADC samplerate is p/T c  where p is an integer oversampling rate. 
     In the preferred embodiment of the present invention mobile station transmit timing correction (similar to that employed in the GSM cellular communication system) is employed for the reverse link of the TD-CDMA system such that the bursts of the K simultaneously active users are observed quasi-synchronously at the BS receiver. That is, the bursts are received at the BS receiver aligned in time except for a timing error of the order of a fraction of the symbol duration T s , or equivalently of the order of a few chips duration. 
     Accordingly, ADC&#39;s  317 - 319  may be configured to sample (at chip spacing) the nominal received burst interval corresponding to the burst structure of FIG. 1, with any residual timing error incorporated simply as a shift in the channel estimate. As a result, data symbol recovery for each timeslot may be performed by examining the length-1250 (as stated above the timeslot duration is 1250 chips) complex-valued baseband signals s (ka)  recovered from each antenna, and which span the duration of the received timeslot. The extent of the received signal s (ka)  is shown in FIG.  1 . 
     FIG. 4 is a block diagram of DSP  320  in accordance with the preferred embodiment of the present invention. The blocks indicate specific functions to be implemented, mapped onto a programmable DSP with possibly multiple ALU&#39;s, or onto an application-specific VLSI device. In the preferred embodiment of the present invention DSP  320  would be a DSP such as a Texas Instruments TMSC320C80 or TMSC320C60 processor, or some other suitable programmable DSP. 
     DSP  320  first extracts the midamble portion of the received signal vectors s (ka)  and generates an estimate within channel estimator  401  of the channel h (k,ka) (t,τ) corresponding to each user-antenna pair by making use of the known midamble sequence m (see FIG.  1 ). This operation may be done using a variety of known channel estimation methods, including matched filtering, or periodic inverse filtering such as the approach described in Steiner B., Jung P., “Optimum and Sub-optimum Channel Estimation for the Uplink of CDMA Mobile Radio Systems with Joint Detection”, by European Trans. Telecom., vol. 5, January-February 1994. The output of the channel estimator  401  is a set of K.K a  channel impulse response estimates, available at T c -spacing, of length-W and represented by the vectors: 
     
       
         h (k,ka) =(h 1   (k,ka) , h 2   (k,ka) , . . . , (h W   (k,ka )) T   (1) 
       
     
     where T is the transposition operator. 
     Next, in the convolution block  402 , the DSP  320  forms the convolution of each known user signature sequence c (k)  with the channel impulse response estimate associated with each user-antenna pair. That is, the convolution block  402  forms the convolution of the channel estimate h (k,ka)  with the each code vector c (k)  (for k a =1, . . . , K a ) to generate a set of K.K a  vectors: 
     
       
         b (k,ka) =(b 1   (k,ka) , b 2   (k,ka) , . . . , b Q+W−1   (k,ka) ) T =h (k,ka) *c (k)   (2) 
       
     
     This set of K.K a  vectors then enter the data symbol detector  403 . 
     In order to describe the invention, consider demodulation of only the length-N data sequence comprising the first sub-burst of the burst structure illustrated in FIG.  1 . Demodulation of the second sub-burst is performed in similar fashion and so need not be described separately. 
     Say the desired length-N transmitted data sequence for sub-burst 1 of user k is denoted by the vector d (k) : 
     
       
         d (k) =(d 1   (k) , d 2   (k) , . . . , d N   (k) ) T , n=1, . . . , N  (3) 
       
     
     where the complex data symbols are taken from an M-ary alphabet V={ν 1 , ν 2 , . . . , ν M }. Any alphabet may be used in theory, although in practice the TD-CDMA system proposes 4-ary (QPSK) or rectangular 16-ary (16-QAM) alphabets. Introducing a transmitted symbol vector as 
     
       
         d=(d 1   T , d 2   T , . . . , d N   T ) T   (4) 
       
     
     where 
     
       
         d n =(d n   (1) , d n   (2) , . . . , d n   (K) ) T , n=1, . . . , N,  (5) 
       
     
     By constructing a sub-system equation (will be described in detail later) as:                u   n     =     {               A   1          d   n   +          w   n       ,             n   =   1     ,   ⋯              ,     N   -   1                     A     B   ,   1            d   n   +          w   n       ,           n   =   N                     (   6   )                         
     decoder  403  utilizes the sub-system to solve for d n  in order to recover the data symbols d n   (k) , n=1, . . . , N transmitted by MS k. 
     The description of a preferred embodiment of the present invention will be outlined in three parts, covering: 
     1. Generation of the Sub-System Equation (Eq.(6)); 
     2. Solving the Sub-System Equation for d n  Using a Forward Propagation Multiuser Joint Detection Technique (FPMJD); and 
     3. Solving the Sub-System Equation for d n  Using a Forward-Backward Propagation Multi-User Joint Detection (FBPMJD) technique. 
     Generation of the Sub-System Equation 
     As discussed above, each of the data symbols d n   (k) , n=1, . . . , N transmitted by MS k is spread by user-specific signature sequence: 
     
       
         c (k) =(c I   (k) , c 2   (k) , . . . , c Q   (k) ) T   (7) 
       
     
     consisting of Q 1  generally complex-valued chips at chip interval T c . 
     At antenna k a , the T c -spaced signal observation over the duration of the symbol sequence d (k)  is denoted by vector e (ka) , of length NQ+W−1. 
     
       
         e (ka) =(e 1   (ka) , e 2   (ka) , . . . , e (NQ+W−1)   (ka) ) T , k a =1, . . . , K a   (8) 
       
     
     With a total of K a  antennas, an overall, concatenated signal observation can be denoted by the vector e, 
     
       
         e=(e (1)     T   , e (2)     T   , . . . , e (Ka)     T   ) T   (9) 
       
     
     where e (ka) , k a =1, . . . , K a  is given in Eq.(8). 
     In addition to the spread signal components, vector e also contains internally generated receiver thermal noise as well as channel interference due to users in different cells. These signal components are denoted by the vector n, 
     
       
         n=(n (1)     T   , n (2)     T   , . . . , n Ka)     T   ) T   (10) 
       
     
     where 
      n (ka) =(n 1   (ka) , n 2   (ka) , . . . , n (NQ+W−1)   (ka) ) T , k a =1, . . . , K a   (11) 
     Now, as a starting point in efficiently partitioning the detection problem, decoder  403  defines a matrix partition parameter as,              p   =     ⌈       Q   +   W   -   1     Q     ⌉             (   12   )                         
     Decoder  403  then creates a set of subsystem matrices as:                A   m     (   ka   )       =         [           b         (     m   -   1     )        Q     +   1       (     1   ,   ka     )             b         (     m   -   1     )        Q     +   1       (     2   ,   ka     )           ⋯         b         (     m   -   1     )        Q     +   1       (     K   ,   ka     )                 b         (     m   -   1     )        Q     +   2       (     1   ,   ka     )             b         (     m   -   1     )        Q     +   2       (     2   ,   ka     )           ⋯         b         (     m   -   1     )        Q     +   2       (     K   ,   ka     )               ⋮       ⋮       ⋮       ⋮             b   mQ     (     1   ,   ka     )             b   mQ     (     2   ,   ka     )           ⋯         b   mQ     (     K   ,   ka     )             ]                   1     ≤   m   &lt;   p             (   13   )                         
     The p-th submatrix A p   (ka)  is created by defining a zero-padding operator T A  defined as:                T   A     =       [           I       (         (     2   -   p     )        Q     +   W   -   1     )     ×     (         (     2   -   p     )        Q     +   W   -   1     )                 0         ]       Q   ×     (         (     2   -   p     )        Q     +   W   -   1     )                 (   14   )                         
     and then defining the submatrix A p   (ka)  created by decoder  403  as:                A   p     (   ka   )       =       T   A          [           b         (     p   -   1     )        Q     +   1       (     1   ,   ka     )             b         (     p   -   1     )        Q     +   1       (     2   ,   ka     )           ⋯         b         (     p   -   1     )        Q     +   1       (     K   ,   ka     )                 b         (     p   -   1     )        Q     +   2       (     1   ,   ka     )             b         (     p   -   1     )        Q     +   2       (     2   ,   ka     )           ⋯         b         (     p   -   1     )        Q     +   2       (     K   ,   ka     )               ⋮       ⋮       ⋮       ⋮             b     Q   +   W   -   1       (     1   ,   ka     )             b     Q   +   W   -   1       (     2   ,   ka     )           ⋯         b     Q   +   W   -   1       (     K   ,   ka     )             ]               (   15   )                         
     Similarily, decoder  403  creates a series of submatrices related to the last symbol vector d N  determination beginning from:                A     B   ,   1       (   ka   )       =     [           b   1     (     1   ,   ka     )             b   1     (     2   ,   ka     )           ⋯         b   1     (     K   ,   ka     )                 b   2     (     1   ,   ka     )             b   2     (     2   ,   ka     )           ⋯         b   2     (     K   ,   ka     )               ⋮       ⋮       ⋮       ⋮             b     Q   +   W   -   1       (     1   ,   ka     )             b     Q   +   W   -   1       (     2   ,   ka     )           ⋯         b     Q   +   W   -   1       (     K   ,   ka     )             ]             (   16   )                         
     and then using operator                T   B     =       [         0         I     Q   ×   Q               0       0         ]         (     Q   +   W   -   1     )     ×     (     Q   +   W   -   1     )                 (   17   )                         
     to form 
     
       
         A B,m   (ka) =T B A B,m−1   (ka) , m=2, . . . , p  (18) 
       
     
     The sub-matrices A m   (ka) , m=1, . . . , p have dimension Q×K, and A B,m   (ka) , m=1, . . . , p have dimension (Q+W−1)×K, respectively. 
     By constructing a Ka(NQ+W−1)×KN matrix A as: 
     
       
         A=(A (1)     T   , A (2)     T   , . . . , A (Ka)     T   ) T ,  (19) 
       
     
     where                A     (     k   a     )       =     [           A   1     (     k   a     )           0       0       ⋯       0       0       ⋯       0       0             A   2     (     k   a     )             A   1     (     k   a     )           0       ⋯       0       0       ⋯       0       0             A   3     (     k   a     )             A   2     (     k   a     )             A   1     (     k   a     )           ⋯       0       0       ⋯       0       0           ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮             A   p     (     k   a     )             A     p   -   1       (     k   a     )             A     p   -   2       (     k   a     )           ⋯       0       0       ⋯       0       0           0         A   p     (     k   a     )             A     p   -   1       (     k   a     )           ⋯       0       0       ⋯       0       0           0       0         A   p     (     k   a     )           ⋯       0       0       ⋯       0       0           0       0       0       ⋯       0       0       ⋯       0       0           ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮           0       0       0       ⋯         A   1     (     k   a     )           0       ⋯       0       0           0       0       0       ⋯         A   2     (     k   a     )             A   1     (     k   a     )           ⋯       0       0           ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮       ⋮           0       0       0       ⋯         A     p   -   1       (     k   a     )             A     p   -   2       (     k   a     )           ⋯       0       0           0       0       0       ⋯         A   p     (     k   a     )             A     p   -   1       (     k   a     )           ⋯         A   1     (     k   a     )           0           0       0       0       ⋯       0         A     B   ,   p       (     k   a     )           ⋯         A     B   ,   2       (     k   a     )             A     B   ,   1       (     k   a     )             ]             (   20   )                         
     the received noisy signal vector e can then be presented by 
     
       
         e=Ad+n  (21) 
       
     
     where d is given in Eq.(4), and e is given in Eq.(9), respectively. The system matrix A can be manipulated by the decoder  403  to make determination of the data symbol vector d more efficient, and so decoder  403  creates a set of matrices and vectors defined as                  A   m     =     [           A   m     (   1   )                 A   m     (   1   )               ⋮             A   m     (     k   a     )             ]       ,       A     B   ,   m       =     [           A     B   ,   m       (   1   )                 A     B   ,   m       (   1   )               ⋮             A     B   ,   m       (     k   a     )             ]       ,                m   =   1     ,   …              ,   p           (   22   )                         
     where p, the matrix partition parameter, is given in Eq.(12), A m   (ka)  and A B,m   (ka)  are given in Eq.(13) through Eq.(18). In order to properly reflect the re-arrangement of the concatenated system matrix, the received signal vector e and noise vector n must correspondingly be re-arranged as:                r   n     (     k   a     )       =     [           e         (     n   -   1     )        Q     +   1       (     k   a     )           ⋯               e   nQ     (     k   a     )       ]     T     ,     n   =   1     ,   …              ,     N   -   1     ,                     (   23   )                 r   N     (     k   a     )       =     [           e         (     N   -   1     )        Q     +   1       (     k   a     )           ⋯             e     NQ   +   W   -   1       (     k   a     )       ]     T                                         r   n     =       [           r   n       (   1   )     T             r   n       (   2   )     T           ⋯         r   n       (     K   a     )     T             ]     T       ,     n   =   1     ,   …              ,   N           (   24   )                 w   n     (     k   a     )       =     [           n         (     n   -   1     )        Q     +   1       (     k   a     )           ⋯               n   nQ     (     k   a     )       ]     T     ,     n   =   1     ,   …              ,     N   -   1     ,                     (   25   )                 w   N     (     k   a     )       =     [           n         (     N   -   1     )        Q     +   1       (     k   a     )           ⋯             n     NQ   +   W   -   1       (     k   a     )       ]     T                                         w   n     =       [           w   n       (   1   )     T             w   n       (   2   )     T           ⋯         w   n       (     K   a     )     T             ]     T       ,     n   =   1     ,   …              ,   N           (   26   )                         
     allowing the modified data vector r n  to be put in matrix form as                r   n     =     {               ∑     m   =   2     n            A   m          d     n   -   m   +   1           +       A   1          d   n       +     w   n               n   =   1     ,   …              ,   p                   ∑     m   =   2     p            A   m          d     n   -   m   +   1           +       A   1          d   n       +     w   n               n   =     p   +   1       ,   …              ,     N   -   1                     ∑     m   =   2     p            A     B   ,   m            d     N   -   m   +   1           +       A     B   ,   1            d   N       +     w   N             n   =   N                     (   27   )                         
     Additionally by defining u n  as:                u   n     =     {             r   n     -       ∑     m   =   2     n            A   m          d     n   -   m   +   1                     n   =   1     ,   …              ,   p                 r   n     -       ∑     m   =   2     p            A   m          d     n   -   m   +   1                     n   =     p   +   1       ,   …              ,     N   -   1                   r   n     -       ∑     m   =   2     p            A     B   ,   m            d     N   -   m   +   1                   n   =   N                     (   28   )                         
     the sub-system equation representing the relation between the transmitted symbols and the observed signals can be finally expressed as:                u   n     =     {                 A   1          d   n       +     w   n       ,             n   =   1     ,   …              ,     N   -   1                       A     B   ,   1            d   n       +     w   n       ,           n   =   N                     (   29   )                         
     where A 1  and A B,1  given in Eq.(22) form the corresponding sub-system matrices. In the embodiment of the present invention, two iteration procedures are proposed for estimating the transmitted data symbol vector d based on the sub-system form of Eq.(29); one is called forward propagation multiuser joint detection (FPMJD), the other is called forward-backward propagation multiuser joint detection (FBPMJD). In the following sections, the two procedures are described separately in detail. 
     Forward Propagation Multiuser Joint Detection (FPMJD) Technique 
     Prior to describing the preferred embodiment of FPMJD, the following discussion sets out a necessary background for FPMJD analysis. 
     Assume that M (FP)  is a forward propagation estimate operator. When a zero-forcing (ZF) criteria is considered, M (FP)  is defined as: 
     
       
         M ZF   (FP) =(A 1   H A 1 ) −1 A 1   H   
       
     
     
       
         M B,ZF   (FP) =(A B,1   H A B,1 ) −1 A B,1   H   (30) 
       
     
     where M ZF   (FP)  is used for estimating d n , n=1, . . . , N−1, while M B,ZF   (FP)  is used for estimating d N , respectively, 
     According to Eq(29), if u n , is known, d n  can be obtained by                  d   ^       n   ,   ZF       =     {             M   ZF     (   FP   )            u   n               n   =   1     ,   …              ,     N   -   1                   M     B   ,   ZF       (   FP   )            u   n             n   =   N                     (   31   )                         
     However, as stated in Eq.(29), the vectors u n , n=1, . . . , N, are dependent on prior data symbols. By iteratively substituting the prior estimated data symbols {circumflex over (d)} m , m=n−min{n−1, p−1}, . . . , n−1, an estimate û n , n=1, . . . , N, of u n  can be obtained by decoder  403 , i.e.,                  u   ^     n     =     {             r   n     -       ∑     m   =   2     n            A   m            d   ^       n   -   m   +   1                     n   =   1     ,   …              ,   p                 r   n     -       ∑     m   =   2     p            A   m            d   ^       n   -   m   +   1                     n   =     p   +   1       ,   …              ,     N   +   1                   r   n     -       ∑     m   =   2     p            A     B   ,   m              d   ^       N   -   m   +   1                   n   =   N                     (   32   )                         
     The estimated ZF solution of the system in Eq.(29) can be obtained by                  d   ^       n   ,   ZF       =     {             M   ZF     (   FP   )              u   ^     n               n   =   1     ,   …              ,     N   -   1                   M     B   ,   ZF       (   FP   )              u   ^     n             n   =   N                     (   33   )                         
     In the preferred embodiment of the present invention it can also be assumed that the noise and the transmitted symbols are uncorrelated, i.e., the noise covariance matrix, denoted as R n , and the transmitted symbol covariance matrix, denoted as R d , are in the form of 
     
       
         R n =σ n   2 I R d =σ d   2 I  (34) 
       
     
     where I is the identity matrix, σ n   2  and σ d   2  are the noise and symbol variances, respectively. 
     When a minimum meansquare (MMSE) criteria is considered, the MMSE estimate operator M (FP)  is defined as:                      M   MMSE     (   FP   )       =         (         A   1   H          A   1       +         σ   n   2       σ   d   2          I       )       -   1            A   1   H                     M     B   ,   MMSE       (   FP   )       =         (         A     B   ,   1     H          A     B   ,   1         +         σ   n   2       σ   d   2          I       )       -   1            A     B   ,   1     H                     (   35   )                         
     Similarily to the previously decided zero-forcing operator, M MMSE   (FP)  is used for estimating d n , n=1, . . . , N−1, and M B,MMSE   (FP)  is used for estimating d N , respectively. The MMSE solutions of the system in Eq.(29) can be obtained by                  d   ^       n   ,   MMSE       =     {             M   MMSE     (   FP   )              u   ^     n               n   =   1     ,   …              ,     N   -   1                   M     B   ,   MMSE       (   FP   )              u   ^     n             n   =   N                     (   36   )                         
     In the preferred embodiment therefore, decoder  403  utilizes a FPMJD iterative procedure to estimate d n  as follows: 
     1) for n=1. . . N, get û n  from r n  and estimated {circumflex over (d)} m , m=n−min{n−1, p−1}, . . . , n−1, (Eq.(32)) 
     2) calculate the current estimation of d n  through {circumflex over (d)} n =M (FP)  û n  (Eq.(33) or Eq.(36)) 
     where M (FP)  is the estimate operator defined in Eq.(30) or Eq.(35). 
     This above described technique results in an estimate of {circumflex over (d)} n , n=1, . . . , N with a slight loss of system performance due to the fact that detection of each symbol is based on a local and not global least-square or minimum-mean square criterion. To improve the system performance, in another embodiment of the present invention a technique called forward-backward propagation (FBP) is utilized by decoder  403 . This technique is described below. 
     Forward-Backward Propagation Multi-User Joint Detection (FBPMJD) 
     Prior to describing the preferred embodiment of FBPMJD, the following discussion sets out a necessary background for FBPMJD analysis. First, constructing,                B   =     [           A   1               A   2           ]       ,       B   B     =     [           A     B   ,   1                 A     B   ,   2             ]               (   37   )                         
     where, A 1 , A 2 , A B,1 , and A B,2  are given in Eq.(22), and let                  x   n     =     [           w     n   -   1                 w   n           ]       ,     n   =   2     ,   …              ,   N           (   38   )                 z   n     =         u   ^     n     -       A   1            d   ^     n       +       A   2            d   ^       n   -   1                   (   39   )                   a   n     =     [             u   ^       n   -   1                 z   n           ]       ,     n   =   2     ,   …              ,   N           (   40   )                         
     where w n , n=1, . . . , N, is given in Eq.(25) and Eq.(26), and û n , n=1, . . . , N, is given in Eq.(32), respectively. The vector a n  can be put in matrix form                a   n     =     {               Bd     n   -   1       +     x   n       ,             n   =   2     ,   …              ,     N   -   1                       B   B          d     n   -   1         +     x   n       ,           n   =   N                     (   41   )                         
     The system in Eq.(41) characterizes a backward propagation procedure for data symbol estimation, so the data symbol estimation operator of the system is called a backward propagation estimate operator denoted as M (BP) . 
     Now if a zero-forcing (ZF) criteria is considered for data estimation, the backward propagation estimate operator M (BP)  can be defined as                  M   ZF     (   BP   )       =         (       B   H        B     )       -   1            B   H              
            M     B   ,   ZF       (   BP   )       =         (       B   B   H          B   B       )       -   1            B   B   H                 (   42   )                         
     where M ZF   (BP)  is used for estimating d n , n=1, . . . , N−2, and M B,ZF   (BP)  is used for estimating d N−1 , respectively, 
     According to Eq(41), the backward propagation zero-forcing estimate of d n , n=1, . . . , N−1, can be obtained by                  d     ^   ^           n   -   1     ,   ZF       (   BF   )       =     {             M   ZF     (   BP   )            a   n               n   =   2     ,   …              ,     N   -   1                   M     B   ,   ZF       (   BP   )            a   n             n   =   N                     (   43   )                         
     Similarily, assume that the noise covariance matrix R n , and the transmitted symbol covariance matrix R d  are given in Eq.(34), then the backward MMSE estimate operator can be defined as                      M   MMSE     (   BP   )       =         (         B   H        B     +         σ   n   2       σ   d   2          I       )       -   1            B   H                     M     B   ,   MMSE       (   BP   )       =         (         B   B   H          B   B       +         σ   n   2       σ   d   2          I       )       -   1            B   B   H                     (   44   )                         
     and the backward propagation MMSE estimate of d n , n=1, . . . , N−1, are obtained by decoder  403  by solving:                    d   ^     ^         n   -   1     ,   MMSE       (   BF   )       =     {             M   MMSE     (   BP   )            a   n               n   =   2     ,   …              ,     N   -   1                   M     B   ,   MMSE       (   BP   )            a   n             n   =   N                     (   45   )                         
     Getting the solution from Eq.(43) or Eq.(45) is based on knowing vectors an, which, in the preferred embodiment, can be obtained by decoder  403  through the forward propagation procedure (FP). That is, solving Eq.(43) or Eq.(45) actually involves two procedures: the forward propagation procedure characterized by Eq.(29) and the backward propagation procedure characterized by Eq.(41). We hence call the resulted solution of Eq.(41) the forward-backward solution. The detailed description to get the forward-backward solution            d     ^   ^       n     ,     n   =   1     ,   ⋯              ,   N   ,                   
     through the forward-backward propagation procedure is presented as follows: 
     For n=1, N 
     get û n  from r n  and {circumflex over (d)} m , m=n−min {n−1, p−1}. . . , n−1. (Eq.(32)) 
     get a forward propagation estimation of d n   (k) . (Eq.(33) or Eq.(36)) 
     get z n  from û n  and estimated {circumflex over (d)} m , m=n−1, n. (Eq. (39)) 
     get a n  from û n−1  and z n . (Eq.(40)) 
     get a backward propagation estimation of            d     n   -   1         ^   ^       .                   
      (Eq.(43) or Eq.(45)) 
     update the forward propagation solution:            d     n   -   1       ^     =       d     n   -   1         ^   ^                       
     End 
     determine the last estimated data symbol:            d   N       ^   ^       =       d   N     ^                     
     Unlike prior-art estimation procedures, the above-described joint estimation techniques (FPMJD and FBPMJD) result in less computational complexity. The results in receivers which are less costly and consume lower amounts of power when compared to prior-art joint detection receivers. 
     The descriptions of the invention, the specific details, and the drawings mentioned above, are not meant to limit the scope of the present invention. For example, although the above description was in the context of a reverse link, the invention may be applied equally to both forward and reverse links. Additionally, the above discussion referred to a generic burst structure comprising two distinct blocks of data symbols. Clearly both type-1 and type-2 TD-CDMA burst types are within the scope of the above discussion. Additionally, in order to support higher data rate services, it has been proposed that a single user may transmit on more than one timeslot with a frame, or may transmit more than one data symbol sequences (requiring more than a single spreading code to be allocated to that user). Nevertheless, it is intended that the present invention encompass any data symbol sequence that may be utilized. It is the intent of the inventors that various modifications can be made to the present invention without varying from the spirit and scope of the invention, and it is intended that all such modifications come within the scope of the following claims.