Abstract:
Enhanced performance is achieved by combining channel coding with the space-time coding principles. With K synchronized terminal units transmitting on N antennas to a base station having M≧K receive antennas, increased system capacity and improved performance are attained by using a concatenated coding scheme where the inner code is a space-time block code and the outer code is a conventional channel error correcting code. Information symbols are first encoded using a conventional channel code, and the resulting signals are encoded using a space-time block code. At the receiver, the inner space-time block code is used to suppress interference from the other co-channel terminals and soft decisions are made about the transmitted symbols. The channel decoding that follows makes the hard decisions about the transmitted symbols. Increased data rate is achieved by, effectively, splitting the incoming data rate into multiple channels, and each channel is transmitted over its own terminal.

Description:
REFERENCE TO RELATED APPLICATIONS 
   This application is related to:
     U.S. application Ser. No. 09/074,224, filed May 7, 1998, titled “Transmitter Diversity Technique for Wireless Communications,” which is based U.S. Provisional Applications No. 60/059,016 filed Sep. 16, 1997; 60/059,219 filed Sep. 18, 1997; and 60/063,780 filed Oct. 31, 1997;   U.S. application Ser. No. 09/149,163 filed Sep. 4, 1999, titled “Combined Interference Cancellation and Maximum Likelihood Decoding of Block Space-Time Coded Modulation,” which is based on U.S. Provisional Application No. 60/061,145, filed Oct. 6, 1997; and   U.S. application Ser. No. 09/114,838, filed Jul. 14, 1998, titled “Combined Array Processing and Space-Time Coding,” which is based on U.S. Provisional Application No. 60/052,689, filed Jul. 17, 1997.
 
This application claims the benefit of U.S. Provisional Application No. 60/099,212, filed Sep. 4, 1998.
   

   BACKGROUND OF THE INVENTION 
   This invention relates to wireless communication and, more particularly, to techniques for effective wireless communication in the presence of fading, co-channel interference, and other degradations. 
   Physical limitations of wireless channels present a fundamental technical challenge to reliable communication. Bandwidth limitations, propagation loss, time variance, noise, interference, and multipath fading make the wireless channel a narrow “pipe” that does not easily accommodate the flow of data. Further challenges come from power limitation, size, and speed of devices that are employed within portable wireless apparatus. 
   Employing multiple transmit antennas at both the base and the remote stations increases the capacity of wireless channels, and information theory provides a measure of this increase. The standard approach to exploit this capacity is linear processing at the receiver, as described, for example, by J. Winters, J. Salz and R. D. Gitlin, in “The impact of antenna diversity an the capacity of wireless communication systems”  IEEE Trans. Communications , Vol. 42. No. 2/3/4, pp. 1740–1751, February/March/April 1994. Transmit diversity has been explored by Wittneben in “Base station modulation diversity for digital SIMULCAST,”  Proc. IEEE&#39;VTC , pp. 505–511, May 1993, and by Seshadri and Winters in “Two signaling schemes for improving the error performance of frequency-division-duplex (FDD) transmission systems using transmitter antenna diversity,”  International Journal of Wireless Information Networks , Vol. 1, No. 1, 1994. The Wittneben and Seshadri et al papers approach transmit diversity from a signal processing point of view. 
   Space-time codes combine signal processing at the receiver with coding techniques appropriate to multiple transmit antennas. See, for example, V. Tarokh, N. Seshadri, and A. R. Calderbank in “Space-Time Codes For High Data Rate Wireless Communication: Performance Analysis and Code Construction,”  IEEE Trans. Info. Theory , Vol. 44, No. 2, pp. 744–765, March 1998. The space-time approach provides significant gain over the aforementioned prior art. Specific space-time codes designed for 2–4 transmitting antennas perform well in slowly varying fading environments (such as indoor transmission) and come with in 2–3 dB of the theoretical outage capacity. Outage capacity is described, for example, by J. Foschini, Jr. and M. J. Gans, “On limits of wireless communication in a fading environment, when using multiple antennas,”  Wireless Personal Communication , Vol. 6, No. 3, pp. 311–335, March 1998. The bandwidth efficiency of the codes described in the Tarokh et al paper is about 3–4 times that of the current systems. The most important contributor to the improved performance is diversity, which may be thought of as providing a number of replicas of the transmitted signal to the receiver, with some replicas being less attenuated by fading. The space-time codes presented in the Tarokh et al paper provide an optimized trade-off between constellation size, data rate, diversity gain, and trellis complexity 
   When the number of transmit-antennas is fixed, decoding complexity (measured, for example, by the number of trellis states in the decoder) increases exponentially with transmission rate. This can be refined to some extent by designing space-time codes with a multi-level structure and adopting multi-stage decoding, as described by Tarokh et al. For a moderate number of transmit antennas (3–6), this method provides higher data rates while reducing the decoding complexity. However, there is a penalty to be paid for simplified decoding. Multi-stage decoding is sub-optimal, due in part to magnification in the error coefficient, and this performance penalty means that alternative solutions are needed for achieving very high data rates. 
   In order to achieve very high data rates on narrowband wireless channels, many antennas are needed at both the transmitter and the receiver. Consider a wireless communication system employing n transmit and m receive antennas, where the subchannel between each transmit and receive antenna is quasi-static Rayleigh, flat, and independent of others. If n is fixed, then the capacity increases logarithmically with m. On the other hand, if m is fixed then intuition suggests that there must come a point where adding more transmit antennas will not make much difference. Indeed, this can be seen in the mathematics of outage capacity, shown by Foschini and Gans in the aforementioned paper. Thus, it turns out that in the presence of one receive antenna little can be gained in terms of outage capacity by using more than 4 transmit antennas. A similar argument shows that if there are two receive antennas, using 6 transmitting antennas provides almost all of the capacity increase that can be obtained. 
   If n increases and m≧n, then information theory shows that the capacity of the system increases at least linearly as a function of n. Thus, it makes sense to increase the number of antennas at both receiver and transmitter in order to obtain higher capacities. Employing many antennas at both transmitter and receiver creates a multiple-input multiple-output system where the number of degrees of freedom is given by the product of the number of transmit and receive antennas. 
   Foschini considered such a system in “Layered space-time architecture for wireless communication in a fading environment when using multi-element antennas,”  Bell Labs Technical Journal , Vol. 1, No. 2, Autumn 1996. He proposed a multi-layered structure that, in principle, can achieve a tight lower bound on the capacity. If n transmit and n receive antennas are used, then at the receiver the transmitted signal from transmit antenna  1  is treated as the desired signal, while the signals transmitted from other transmit antennas are treated as interference. Linear processing is then used to suppress the interfering signals using n receive-antennas, providing a diversity gain of one. Once the signal transmitted from antenna  1  is correctly detected, the signal transmitted from antenna  2  is treated as the desired signal while the signals transmitted from transmit antennas  3 ,  4 , . . . , n are treated as interference. The contribution of the signal transmitted from antenna  1 , now that it has been detected, is subtracted from the signal received at receiver antennas  1  through n. Thereafter, detection of the signal transmitted by antenna  2  proceeds with linear processing that is applied to suppress the interfering signals from antennas  3  through n. This provides a diversity gain of two. This process is repeated until all the transmitted signals are detected. Clearly, the worst case diversity in this architecture is one. For such a system, long frames of data combined with powerful coding techniques are needed to achieve the lower bound on outage capacity. 
   In the aforementioned Ser. No. 09/114,838 application, an arrangement is disclosed that provides enhanced performance which is realized by employing a perspective that combines array signal processing with channel coding. Specifically, antennas at the transmitter are partitioned into small groups, and individual space-time codes are used to transmit information from each group of antennas. At the receiver, an individual space-time code is decoded by a linear array processing technique that suppresses signals transmitted by other groups of antennas by treating them as interference. The contribution of the decoded signal to other received signal is then subtracted from those received signals. What results is a simple receiver structure that provides diversity and coding gain over uncoded systems with a given diversity gain. This combination of array processing at the receiver and coding techniques for multiple transmit antennas provides reliable and very high data rate communication over wireless channels. One advantage of the group interference suppression method over the Foschini architecture is that the number of receive antennas can be less than the number of transmit antennas. 
   In the aforementioned Ser. No. 09/149,163 application, an arrangement is disclosed wherein K synchronized terminal units transmit on N antennas to a base station having M≧K antennas. An improvement is achieved by employing both interference cancellation (IC) and maximum likelihood (ML) decoding. More specifically, space-time block coding is employed in transmitters that employ N transmit antennas each, and the signals are received in a receiver that employs M receiving antennas. By exploiting the structure of the space-time block code, K−1 interfering transmitting units are cancelled at the receiver, regardless of the number of transmitting antennas, N, when decoding the signals transmitted by a given mobile unit. Also disclosed is an arrangement where signals of a first terminal unit are decoded first, and the resulting decoded signals are employed to cancel their contribution to the signals received at the base station antennas while decoding the signals of the remaining K−1 terminal units. The process is repeated among the remaining K−1 terminal units. 
   SUMMARY OF THE INVENTION 
   Enhanced performance is achieved by combining channel coding with the space-time coding principles disclosed in the &#39;163 applications. More specifically, with K synchronized terminal units transmitting on N antennas to a base station having M≧K receive antennas, increased system capacity and improved performance are attained by using a concatenated coding scheme where the inner code is a space-time block code and the outer code is a conventional channel error correcting code. That is, information symbols are first encoded using a conventional channel code. The channel code encoded signal is then encoded using a space-time block code, and transmitted over N antennas. At the receiver, the inner space-time block code is used to suppress interference from the other co-channel terminals and soft decisions are made about the transmitted symbols. The channel decoding that follows makes the hard decisions about the transmitted symbols. 
   Increased data rate is achieved by, effectively, splitting the incoming data rate into multiple channels, and each channel is transmitted over its own terminal. Viewed another way, information symbols from a transmitting terminal is split into L parallel streams. Stream l is encoded using a channel code with rate R l  and then coded with a space-time block encoder with N transmitting antennas. Advantageously, the coding rates are chosen such that R 1 &lt;R 2 , &lt; . . . , &lt;R L . 

   
     BRIEF DESCRIPTION OF THE DRAWING 
       FIG. 1  depicts an arrangement that, illustratively, includes a base station  30  with four antennas, a terminal units  20  with two antennas, and a terminal unit  20  with two antennas; and 
       FIG. 2  illustrates a terminal unit that splits the input signal into two streams, and each stream is transmitted over a separate two-antenna arrangement. 
   

   DETAILED DESCRIPTION 
     FIG. 1  illustrates a unit  10  that employs a space-time block coding unit  13  that is followed by a conventional constellation mapper and pulse shaping circuit  16 . The output of circuit  16  is fed to two transmitting antennas  11  and  12 . The input symbols to the space-time block encoder are divided into groups of two symbols each, and at a given symbol period, the two symbols in each group {c 1 , c 2 } are transmitted simultaneously from the two antennas. The signal transmitted from antenna  11  is c 1  and the signal transmitted from antenna  12  is c 2 . In the next symbol period, the signal −c 2 * is transmitted from antenna  11  and the signal c 1 * is transmitted from antenna  12 . 
   In receiver  20 , signals are received by antennas  21  and  22  and are applied to detector  25 . Channel estimators  23  and  24  operate on the incoming signal of antennas  21  and  24 , respectively, in a conventional manner to develop estimates of the channel parameters. Those estimates are applied to detector  25 . In the mathematical development of the algorithms disclosed herein, it is assumed that the channel from each of the two transmit antennas remains fixed over a two consecutive symbol periods. That is,
 
 h   i ( nT )= h   i (( n+ 1) T ),  i= 1,2  (1)
 
To ascertain the channel characteristics, the transmitter carries out a calibration session, during which pilot signals or tones are transmitted. It is the signals that are received during the calibration session that are utilized by the channel estimator circuits  23  and  24 , which are well known circuits.
 
Maximum Likelihood Detection
 
   The received signals at antenna  21  can be expressed as
 
 r   1   =h   1   c   1   +h   2   c   2 +η 1   (2)
 
 r   2   =−h   1   c   2   *+h   2   c   1   *+η   2   (3)
 
where r 1  and r 2  are the received signals over two consecutive symbol periods, h 1 , denotes the fading channel between transmit antenna  11  and receive antenna  21 , h 2  denotes channel between transmit antenna  12  and receive antenna  21 , and η 1  and η 2  are noise terms, which are assumed to be complex Gaussian random variables with zero mean and power spectral density N 0 /2 per dimension. Defining the vectors r=[r 1 r 2 *] T , c=[c 1 c 2 ] T , and η=[η 1 η 2 *] T , equations (2) and (3) can be rewritten in a matrix form as
 
 r=H·c+η,   (4)
 
where the channel matrix H is defined as
 
                 H   =       [           h   1           h   2               h   2   *           -     h   1   *             ]     .             (   5   )               
The vector η is a complex Gaussian random vector with zero mean and covariance N 0 ·I. Defining C as the set of all possible symbol pairs c={c 1 , c 2 }, and assuming that all symbol pairs are equi-probable, it can be easily shown that the optimum maximum likelihood (ML) decoder selects from C the symbol pair ĉ that minimizes the expression ∥r−H·ĉ∥ 2 . This can be written as
 
   
     
       
         
           
             
               
                 
                   c 
                   ^ 
                 
                 = 
                 
                   arg 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       min 
                       
                         
                           c 
                           ^ 
                         
                         ∈ 
                         C 
                       
                     
                     ⁢ 
                     
                       
                         
                            
                           
                             r 
                             - 
                             
                               H 
                               · 
                               
                                 c 
                                 ^ 
                               
                             
                           
                            
                         
                         2 
                       
                       . 
                     
                   
                 
               
             
             
               
                 ( 
                 6 
                 ) 
               
             
           
         
       
     
   
   It was shown by S. Alamouti in “Space Block Coding: A simple Transmitter Diversity Scheme for wireless Communications,” submitted to IEEE JSAC September 1997, that the diversity order of the above space-time block code is equivalent to that of a two branch maximal ratio receive combining (MRRC). Alamouti also showed that, because of the orthogonality of the matrix H, this decoding rule decomposed into two separate decoding rules for c 1  and c 2 . The uncertainity, Δ c , of the decoded symbols ĉ is defined as
 
Δ c   =∥r−H·ĉ∥   2 .  (7)
 
   The maximum likelihood (ML) rule of equation (6) can be simplified by realizing that the channel matrix H is orthogonal; that is, that H*H=(|h 1 | 2 +|h 2 | 2 )I. This yields a modified received vector,
 
 {tilde over (r)}=H*r =( |h   1 | 2   +|h   2 | 2 )· c+{tilde over (η)},   (8)
 
where {tilde over (η)}=H*η. This leads to
 
                   c   ^     =     arg   ⁢           ⁢       min       c   ^     ∈   C       ⁢                r   ~     -       (              h   1          2     +            h   2          2       )     ·     c   ^              2     .                 (   9   )               
Thus it follows that by using a simple linear combining, the decoding rule of equation (9) reduces to two separate, and much simpler, decoding rules for c 1  and c 2 . When using a signaling constellation with 2b constellation points, this reduces the number of decoding metrics that have to be computer for ML decoding from 2 2b  to 2×2 b .
 
   When receiver  20  uses M receiver antennas, the received vector at antenna m is
 
 r   m   =H   m   ·c+η   m ,  (10)
 
where the channel matrix H m  is defined as
 
                   H   m     =       [           h     1   ⁢   m             h     2   ⁢   m                 h     2   ⁢   m     *           -     h     1   ⁢   m     *             ]     .             (   11   )               
In this case, the optimum ML decoding rule is
 
                     c   ^     =     arg   ⁢           ⁢       min       c   ^     ∈   C       ⁢       ∑     m   =   1     M     ⁢           ⁢              r   m     -       H   m     ·     c   ^              2             ,           (   12   )               
and the corresponding uncertainty, Δ c , of the decoded symbols ĉ is defined by
 
                   Δ   c     =       ∑     m   =   1     M     ⁢           ⁢                r   m     -       H   m     ·     c   ^              2     .               (   13   )               
As before, in the case of M receive antennas, the decoding rule can be simplified by premultiplying the received signal by H m *.
 
   As indicated above,  FIG. 1  shows two terminal units  10  and  30 , and the issue that needs to be addressed is the detection performance at the base station receiver when the two terminal units synchronously transmit over the same time and frequency channel. 
   In the notation below, g 11  denotes the fading channel between transmit antenna  31  and receive antenna  21 , g 12  denotes the channel between antenna  31  and antenna  22 , g 21  denotes the channel between antenna  32  and antenna  21 , and g 22  denotes the channel between antenna  32  and antenna  22 . Also, {c 1 ,c 2 } and {s 1 ,s 2 } denote the two symbols transmitted from terminal units  10  and  30 , respectively. 
   At receiver  20 , the received signals over two consecutive symbol periods at receive antenna  21 , r 11  and r 12 , are
 
 r   11   =h   11   c   1   +h   21   c   2   +g   11   s   1   +g   21   s   2 +η 11   (14)
 
 r   12   =−h   11   c   2   *+h   21   c   1   *−g   11   s   2   *+g   21   s   1 *+θ 12 .  (15)
 
Defining r 1 =[r 11 r 12 *] T , c=[c 1  c 2 ] T , s=[s 1  s 2 ] T , and n 1 =[η 11  η 12 *] T  equations (14) and (15) can be rewritten in matrix form as
 
 r   1   =H   1   ·c+G   1   ·s+n   1 ,  (16)
 
where the channel matrices H 1  and G 1  between the transmitter units  10  and  30  and receive antenna  21  are given by
 
                     H   1     =     [           h   11           h   21               h   21   *           -     h   11   *             ]       ,       and   ⁢           ⁢     G   1       =       [           g   11           g   21               g   21   *           -     g   11   *             ]     .               (   15   )               
The vector n 1 =[η 11 η 12 *] T  is a complex Gaussian random vector with zero mean and covariance N 0 ·I. Similarly, the received signals over two consecutive symbol periods at receive antenna  22 , r 21  and r 22 , are
   r   21   =h   12   c   1   +h   22   c   2   +g   12   s   1   =g   22   s   2 =η 21 .  (16)   r   22   =−h   12   c   2   *+h   22   c   1   *−g   12   s   2   *+g   22   s   1   *+η   22 .  (17) 
In a similar fashion, defining r 2 =[r 21 r 22 *] T  and n 2 =[η 21 η 22 *] T  equations (16) and (17) can be rewritten as
   r   2   =H   2   ·c+G   2   ·s+n   2 ,  (18) 
where the channel matrices H 2  and are given by
 
                     H   2     =     [           h   12           h   22               h   22   *           -     h   12   *             ]       ,       and   ⁢           ⁢     G   2       =       [           g   12           g   22               g   22   *           -     g   12   *             ]     .               (   19   )               
Equations (14) and (18) can be combined to yield the matrix form
 
                 r   =       [           r   1               r   2           ]     =         [           H   1           G   1               H   2           G   2           ]     ⁢           [         c           s         ]     +       [           n   1               n   2           ]     .                 (   20   )               
Minimum Mean-Squared Error Interference Cancellation (MMSE IC)
 
   When seeking to detecting and decode signals {c 1 , c 2 } by minimizing a mean-squared error criterion, the goal is find a linear combination of the received signals such that the mean-squared error in detecting the signals {c 1 , c 2 } is minimized. In general terms, this can be expressed by an error cost function that is to be minimized, such as the function 
                     J   ⁡     (     α   ,   β     )       =                  ∑     i   =   1     4     ⁢           ⁢       α   i   *     ⁢     r   i         -     (         β   i   *     ⁢     c   1       +       β   i   *     ⁢     c   2         )            2     =                α   *     ·   r     -       β   *     ·   c            2         ,           (   21   )               
where r=[r 1  r 2  r 3  r 4 ] T =[r 11  r 12  r 21  r 22  ] T .
 
   One may note that a minimum is certainly reached when both α and β are equal to 0, but that, of course, is not desired. Therefore, either β 1  or β 2  is set to 1. 
   When β 1  is set to 1, we get the following minimization criterion from equation (21) 
                       J   1     ⁡     (       α   1     ,     β   1       )       =                  ∑     i   =   1     5     ⁢       α     1   ⁢   i     *     ⁢     r     1   ⁢   i           -     c   1            2     =                    α   ~     1   *     ⁢       r   ~     1       -     c   1            2     =       J   1     ⁡     (       α   ~     1     )             ,           (   22   )               
where α 1 =[α 11 , α 12 , α 13 , α 14 , −β 2 ]=[α 1 −β 2 ] and {tilde over (r)} 1 =[r T  c 2 ] T . From this it can be seen that
 
                       r   ~     1     =           [         H       0             0   T         1         ]     ⁢           [           c   ~               c   2           ]     +     [         n           0         ]       =       R   ·     d   1       +     η   ~           ,           (   23   )               
where 0=[0 0 0 0] T .
 
   What is needed is to select {tilde over (α)} 1  so that the expected value of the expression in equation (22) is minimized. That is, select {tilde over (α)} 1  to minimize 
                               E   ⁢     {       J   1     ⁡     (       α   ~     1     )       }       =       ⁢       E   ⁢     {       J   1     ⁡     (       α   ~     1     )       }       =     E   ⁢     {       (           α   ~     1   *     ⁢       r   ~     1       -     c   1       )     ⁢       (           α   ~     1   *     ⁢       r   ~     1       -     c   1       )     *       }                     =       ⁢           α   ~     1   *     ⁢   E   ⁢     {         r   ~     1     ⁢       r   ~     1   *       }     ⁢       α   ~     1       +     E   ⁢     {       c   1     ⁢     c   1   *       }       -     E   ⁢     {         r   ~     1     ⁢     c   1   *       }     ⁢       α   ~     1   *       -     E   ⁢     {       c   1     ⁢       r   ~     1       }     ⁢         α   ~     1     .                       (   24   )                 
Taking the partial derivative with respect to {tilde over (α)} 1  and setting it to zero results in
 
                       [         M         h   2               h   2   *         1         ]     ⁢           [           α   1   *               -     β   2             ]     =     [           h   1             0         ]       ,           (   25   )               
where
 
             M   =       HH   *     +       1   Γ     ⁢   I         ,         
Γ is the signal to noise ratio, I is the 4 by 4 identity matrix, h 1 , is the first column of H, and h 2  is the second column of H. It follows that
 α 1 =( M−h   2   h   2 *) −1   h   1  and β 2   *=h   2 *( M−h   2   h   2 *) −1   h   1 .  (26) 
It can be shown that
 
                       (     M   -       h   2     ⁢     h   2   *         )       -   1       =       M     -   1       +         M     -   1       ⁢     h   2     ⁢     h   2   *     ⁢     M     -   1           1   -       h   2   *     ⁢     M     -   1       ⁢     h   2               ,           (   27   )               
which yields
 
                   β   2   *     =           h   2   *     ⁢     M     -   1       ⁢     h   1         1   -       h   2   *     ⁢     M     -   1       ⁢     h   2           .             (   28   )               
From the structure of the matrix H we can easily verify that h 1  and h 2  are orthogonal. Using this fact and the structure of the matrix M, it can be shown that
 β 2 =0  (29) α 1   =M   −1   h   1 .  (30) 
Hence, the MMSE IC solution given by equations (29) and (30) will minimize the mean-squared error in c 1  without any regard to c 2 . Considering the alternative cost function when β 2  is set to 1, a similar analysis leads to the conclusion that
 β 1 =0  (31) α 2   =M   −1   h   2   (32) 
In this case, the MMSE IC solution given by equations (31) and (32) will minimize the mean-squared error in c 2  without any regard to c 1 . Therefore, from equations (29)–(32), we can easily see that the MMSE interference canceller for signals from terminal unit  10  will consist of two different sets of weights α 1  and α 2  for c 1  and c 2 , respectively. The weights for decoding signals from terminal  30  can be obtained in a similar fashion, as expected. Thus, the decoding of signals from terminal units  10  and  30  can be performed with a single subroutine MMSE.DECODE in decoder  25  as follows:
 
                           (     c   ,     Δ   c       )     =     MMSE   .     DECODE   ⁡     (       r   1     ,     r   2     ,     H   1     ,     H   2     ,     G   1     ,     G   2     ,   Γ     )           ⁢     
     {           =   □           =   □                 r   ~     =       [           r   1   T           r   1   T           ]     T             =   □           =   □                 H   ~     =     [           H   1           G   1               H   2           G   2           ]             =   □           =   □               M   =       HH   *     +       1   Γ     ⁢   I               =   □           =   □                 h   1     =         [           h   11           h   21   *           h   12           h   22   *           ]     T     =     first   ⁢           ⁢   column   ⁢           ⁢   of   ⁢           ⁢   H               =   □           =   □                 h   2     =         [           h   21           -     h   11   *             h   22           -     h   21   *             ]     T     =     second   ⁢           ⁢   column   ⁢           ⁢   of   ⁢           ⁢   H               =   □           =   □                   α   1   *     =       M     -   1       ⁢     h   1         ,       α   2   *     =       M     -   1       ⁢     h   2                 =   □           =   □                 c   ^     =         arg   ⁢             ⁢             ⁢   min           c   ^     1     ,         c   ^     2     ⁢   ε   ⁢           ⁢   C         ⁢     {                  α   1   *     ⁢     r   ~       -       c   ^     1            2     +              α   1   *     ⁢     r   ~       -       c   ^     2              }               =   □           =   □                   Δ   c     =                  α   1   *     ⁢     r   ~       -       c   ^     1            2     +                α   1   *     ⁢     r   ~       -       c   ^     2            2         ⁢     
     }           =   □           =   □                 
With such a subroutine, both ŝ and ĉ can be estimated, as follows:
 ( ĉ,Δ )= MMSE .DECODE( r   1   ,r   2   ,H   1   ,H   2   ,G   1   ,G   2 ,Γ)  (33) ( ŝ,Δ )= MMSE .DECODE( r   1   ,r   2   ,G   1   ,G   2   ,H   1   ,H   2 ,Γ)  (34) 
   Additional improvement can be realized by employing a two-step interference cancellation approach. In this two-step approach, the receiver decodes signals from both terminals using the subroutine MMSE.DECODE disclosed above. Assuming that symbols from the terminal unit  10  ĉ 0  have been decoded correctly, the receiver can, then, perfectly cancel the contribution of the terminal unit  10  in the received signal vectors r 1  and r 2 . The receiver then uses x 1  and x 2 , the received signal vectors after canceling signals from terminal unit  10 , to re-decode symbols ŝ 0  from terminal unit  30  using the optimum ML decoding rule in equation (10). Assuming that the symbols from terminal unit  10  have been decoded correctly, the performance for terminal unit  30  will be equivalent to that with 2 transmit and 2 receive antennas (which is equivalent to 4 branch MRC diversity). The receiver then repeats the above step assuming that symbols from terminal unit  30  ŝ 1  have been decoded correctly using the MMSE.DECODE subroutine. As before, the receiver cancels the contribution of terminal unit  30  in the received signal vectors r 1  and uses y 1  and y 2 , the received signal vectors after cancelling signals from terminal unit  30 , to re-decode symbols from terminal unit  10  ĉ 1  using the optimum ML decoding rule in equation (10). Also as before, assuming that symbols from terminal unit  30  have been decoded correctly, the performance for terminal unit  10  will be equivalent to that with 2 transmit and 2 receive antennas. Letting Δ 0 =Δ c     0   +Δ s     0    and Δ 1 =Δ c     1   +Δ s     1    denote the overall uncertainty for ĉ 0  and ŝ 0 , and for ĉ 1  and ŝ 1 , respectively, the receiver compares the overall uncertainty and chooses the pair (ĉ 0 ,ŝ 0 ) if Δ 0 &lt;Δ 1 , and (ĉ 1 ,ŝ 1 ) otherwise. The two-step interference cancellation and ML decoding algorithm is presented below in pseudo-code subroutine II.MMSE.DECODE. 
   
     
       
         
             
           
             
               
                 
                   
                     
                       ( 
                       
                         
                           c 
                           ^ 
                         
                         , 
                         
                           s 
                           ^ 
                         
                       
                       ) 
                     
                     = 
                     
                       II 
                       . 
                       
                         DECODE 
                         ⁡ 
                         
                           ( 
                           
                             
                               r 
                               1 
                             
                             , 
                             
                               r 
                               2 
                             
                             , 
                             
                               H 
                               1 
                             
                             , 
                             
                               H 
                               2 
                             
                             , 
                             
                               G 
                               1 
                             
                             , 
                             
                               G 
                               2 
                             
                             , 
                             Γ 
                           
                           ) 
                         
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   { 
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       ( 
                       
                         
                           
                             c 
                             ^ 
                           
                           0 
                         
                         , 
                         
                           Δ 
                           
                             c 
                             , 
                             o 
                           
                         
                       
                       ) 
                     
                     = 
                     
                       MMSE 
                       . 
                       
                         DECODE 
                         ⁡ 
                         
                           ( 
                           
                             
                               r 
                               1 
                             
                             , 
                             
                               r 
                               2 
                             
                             , 
                             
                               H 
                               1 
                             
                             , 
                             
                               H 
                               2 
                             
                             , 
                             
                               G 
                               1 
                             
                             , 
                             
                               G 
                               2 
                             
                             , 
                             Γ 
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       
                         x 
                         1 
                       
                       = 
                       
                         
                           r 
                           1 
                         
                         - 
                         
                           
                             H 
                             1 
                           
                           · 
                           
                             
                               c 
                               ^ 
                             
                             o 
                           
                         
                       
                     
                     , 
                     
                         
                     
                     ⁢ 
                     
                       
                         x 
                         2 
                       
                       = 
                       
                         
                           r 
                           2 
                         
                         - 
                         
                           
                             H 
                             2 
                           
                           · 
                           
                             
                               c 
                               ^ 
                             
                             o 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       ⁢ 
                       
                         ( 
                         s 
                         ) 
                       
                     
                     = 
                     
                       
                         
                            
                           
                             
                               x 
                               1 
                             
                             - 
                             
                               
                                 G 
                                 1 
                               
                               · 
                               s 
                             
                           
                            
                         
                         2 
                       
                       + 
                       
                         
                            
                           
                             
                               x 
                               2 
                             
                             - 
                             
                               
                                 G 
                                 2 
                               
                               · 
                               s 
                             
                           
                            
                         
                         2 
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       
                         
                           s 
                           ^ 
                         
                         o 
                       
                       = 
                       
                         
                           
                             arg 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             min 
                           
                           
                             s 
                             ∈ 
                             S 
                           
                         
                         ⁢ 
                         
                           ( 
                           
                             ( 
                             s 
                             ) 
                           
                           ) 
                         
                       
                     
                     , 
                     
                         
                     
                     ⁢ 
                     
                       
                         Δ 
                         
                           s 
                           , 
                           o 
                         
                       
                       = 
                       
                         ⁢ 
                         
                           ( 
                           s 
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       ( 
                       
                         
                           
                             s 
                             ^ 
                           
                           1 
                         
                         , 
                         
                           Δ 
                           
                             s 
                             , 
                             1 
                           
                         
                       
                       ) 
                     
                     = 
                     
                       MMSE 
                       . 
                       
                         DECODE 
                         ⁡ 
                         
                           ( 
                           
                             
                               r 
                               1 
                             
                             , 
                             
                               r 
                               2 
                             
                             , 
                             
                               H 
                               1 
                             
                             , 
                             
                               H 
                               2 
                             
                             , 
                             
                               G 
                               1 
                             
                             , 
                             
                               G 
                               2 
                             
                             , 
                             Γ 
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       
                         y 
                         1 
                       
                       = 
                       
                         
                           r 
                           1 
                         
                         - 
                         
                           
                             G 
                             1 
                           
                           · 
                           
                             
                               s 
                               ^ 
                             
                             1 
                           
                         
                       
                     
                     , 
                     
                         
                     
                     ⁢ 
                     
                       
                         y 
                         2 
                       
                       = 
                       
                         
                           r 
                           2 
                         
                         - 
                         
                           
                             G 
                             2 
                           
                           · 
                           
                             
                               s 
                               ^ 
                             
                             1 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       ⁢ 
                       
                         ( 
                         c 
                         ) 
                       
                     
                     = 
                     
                       
                         
                            
                           
                             
                               y 
                               1 
                             
                             - 
                             
                               
                                 H 
                                 1 
                               
                               · 
                               c 
                             
                           
                            
                         
                         2 
                       
                       + 
                       
                         
                            
                           
                             
                               y 
                               2 
                             
                             - 
                             
                               
                                 H 
                                 2 
                               
                               · 
                               c 
                             
                           
                            
                         
                         2 
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       
                         
                           
                             c 
                             ^ 
                           
                           1 
                         
                         = 
                         
                           
                             
                               arg 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               min 
                             
                             
                               c 
                               ⁢ 
                               
                                   
                               
                               ∈ 
                               C 
                             
                           
                           ⁢ 
                           
                             ( 
                             
                               ( 
                               c 
                               ) 
                             
                             ) 
                           
                         
                       
                       , 
                       
                           
                       
                       ⁢ 
                       
                         
                           Δ 
                           
                             c 
                             , 
                             1 
                           
                         
                         = 
                         
                           ⁢ 
                           
                             ( 
                             c 
                             ) 
                           
                         
                       
                     
                     ⁢ 
                     
                       
 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         If 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           
                             
                               Δ 
                               
                                 c 
                                 , 
                                 o 
                               
                             
                             + 
                             
                               Δ 
                               
                                 s 
                                 , 
                                 o 
                               
                             
                           
                           ) 
                         
                       
                       &lt; 
                       
                         ( 
                         
                           
                             Δ 
                             
                               c 
                               , 
                               1 
                             
                           
                           + 
                           
                             Δ 
                             
                               s 
                               , 
                               1 
                             
                           
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         ( 
                         
                           
                             c 
                             ^ 
                           
                           , 
                           
                             s 
                             ^ 
                           
                         
                         ) 
                       
                       = 
                         
                       ⁢ 
                       
                         ( 
                         
                           
                             
                               c 
                               ^ 
                             
                             o 
                           
                           , 
                           
                             
                               s 
                               ^ 
                             
                             o 
                           
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Else 
                     ⁢ 
                     
                       
 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         ( 
                         
                           
                             c 
                             ^ 
                           
                           , 
                           
                             s 
                             ^ 
                           
                         
                         ) 
                       
                       = 
                       
                         ( 
                         
                           
                             
                               c 
                               ^ 
                             
                             1 
                           
                           , 
                           
                             
                               s 
                               ^ 
                             
                             1 
                           
                         
                         ) 
                       
                     
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
 
                   
                   } 
                 
               
             
           
         
       
     
   
   With appreciation of the above-disclosed theoretical background, we realized that enhanced performance is attained by devoting the space-time block coding to interference cancellation and ML decoding, while another coding schema may be used to overcome channel-caused degradations, such as fading. Accordingly, each of the transmitters in  FIG. 1  includes a channel coder ( 14  and  34 , respectively) that is interposed between the input signal and the transmitter&#39;s space-time block coder. Channel coders  14  and  24  can employ any conventional channel error correcting code (for example a trellis code, or a convolutional code). 
   At receiver  20 , the inner space-time block code is decoded in element  26  and is used to suppress interference from the various co-channel terminals, using the MMSE approach disclosed above. Element  26  forms the two interference canceling vectors α i1  and α i1  corresponding to some terminal, i, and element  27  forms the two decision variables
 
ξ 1 =α 1   *r  and ξ 2 =α 2   *r.   (35)
 
Those decisions, however, are used as soft decisions of the transmitted information symbols, and are fed to channel decoder  28 , which is a conventional decoder that corresponds to the type of encoding performed in channel encoders  14  and  34 . Thus, in the arrangement depicted in  FIG. 1 , the structure of an inner coder is used for interference suppression, such that many co-channel terminals can operate simultaneously while providing diversity. The output of the inner code space-time decoder forms the input to the outer coder decoder, which decides on the transmitted information while providing protection against channel errors.
 
     FIG. 2  presents an arrangement for increasing the data rate or throughput in wireless systems. In  FIG. 2 , the information to be transmitted is demultiplexed in element  40  into two streams. One stream is applied to channel encoder  41 , and the other stream is applied to channel encoder  51 . The output of channel encoder  41  is applied to space-time block encoder  42 , and then to mapper and pulse shaper  43  and antennas  44  and  45 . Similarly, the output of channel encoder  51  is applied to space-time block encoder  52 , and then to mapper and pulse shape  53  and antennas  54  and  45 . Generalizing, information symbols from a transmitting terminal are split into L parallel streams. Stream l is then encoded using a channel code with rate R l  and then coded with a space-time block encoder with N transmitting antennas. The coding rates can be the same, but an advantage accrues when the coding rates are chosen such that R 1 &lt;R 2 , &lt; . . . , &lt;R L . In such a case, symbols transmitted in stream l will have better immunity against channel errors as compared to symbols transmitted in stream u where u&gt;l. The base station receiver is assumed to be equipped with at least L receive antennas. The base station receiver treats each stream as a different user and uses the iterative interference cancellation techniques disclosed above, or the ones disclosed in the aforementioned &#39;163 application. Since the first stream has the smallest coding rate R l , it has the best immunity against the channel errors and most likely it will be error free. The receiver then uses the decoded symbol of stream l to subtract the contributions of the first stream in the total received signals, while decoding the remaining L−l streams. In decoding the remaining L−l streams, the decoder decodes signals from the second stream first, since it has the best immunity against channel errors among the remaining L−l streams (due to its lowest rate, R 2  from among the remaining streams). Then the receiver uses the decoded symbols for the second stream to cancel out its contribution in the received signal. This process is repeated until all streams are decoded. 
   It can be shown that, in this case, the system throughput is given by 
                   ρ   =       1   L     ⁢       ∑     l   =   1     L     ⁢           ⁢       R   l     ⁡     (     1   -     FER   l       )             ,           (   36   )               
where FER l  is the frame error rate of stream l.