# Patent

## Title
Method and constructions for space-time codes for PSK constellations for spatial diversity in multiple-element antenna systems

## Abstract

General binary design criteria for PSK-modulated space-time codes are provided. For linear binary PSK (BPSK) codes and quadrature PSK (QPSK) codes, the rank (i.e., binary projections) of the unmodulated code words, as binary matrices over the binary field, is used as a design criterion. Fundamental code constructions for both quasi-static and time-varying channels are provided.

## Background
This application is a divisional of U.S. patent application Ser. No. 09/397,896 filed Sep. 17, 1999, which issued on Jan. 13, 2004, as U.S. Pat. No. 6,678,263.
This application claims priority to U.S. Provisional patent application Ser. No. 60/101,029, filed Sep. 18, 1998 for “Method and Constructions for Space-Time Codes for PSK Constellations”, and U.S. Provisional patent application Ser. No. 60/144,559, filed Jul. 16, 1999 for “Method and Constructions for Space-Time, Codes for PSK Constellations II”, both of which were filed by A. Roger Hammons, Jr. and Hesham El Gamal.


FIELD OF THE INVENTION
The invention relates generally to PSK-modulated space-time codes and more specifically to using fundamental code constructions for quasi-static and time-varying channels to provide full spatial diversity for an arbitrary number of transmit antennas.
BACKGROUND OF THE INVENTION
Recent advances in coding theory include space-time codes which provide diversity in multi-antenna systems over fading channels with channel coding across a small number of transmit antennas. For wireless communication systems, a number of challenges arise from the harsh RF propagation environment characterized by channel fading and co-channel interference (CCI). Channel fading can be attributed to diffuse and specular multipath, while CCI arises from reuse of radio resources. Interleaved coded modulation on the transmit side of the system and multiple antennas on the receive side are standard methods used in wireless communication systems to combat time-varying fading and to mitigate interference. Both are examples of diversity techniques.
Simple transmit diversity schemes (in which, for example, a delayed replica of the transmitted signal is retransmitted through a second, spatially-independent antenna and the two signals are coherently combined at the receiver by a channel equalizer) have also been considered within the wireless communications industry as a method to combat multipath fading. From a coding perspective, such transmit diversity schemes amount to repetition codes and encourage consideration of more sophisticated code designs. Information-theoretic studies have demonstrated that the capacity of multi-antenna systems significantly exceeds that of conventional single-antenna systems for fading channels. The challenge of designing channel codes for high capacity multi-antenna systems has led to the development of “space-time codes,” in which coding is performed across the spatial dimension (e.g, antenna channels) as well as time. The existing body of work on space-time codes relates to trellis codes and a block coded modulation scheme based on orthogonal designs. Example code designs that achieve full diversity for systems with only a small number of antennas (L=2 and 3) are known for both structures, with only a relatively small number of space-time codes being known. Thus, a need exists for a methodology of generating and using code constructions which allow systematic development of powerful space-time codes such as general constructions that provide full diversity in wireless systems with a large number of antennas.
The main concepts of space-time coding for quasi-static, flat Rayleigh fading channels and the prior knowledge as to how to design them will now be discussed. For the purpose of discussion, a source generates k information symbols from the discrete alphabet χ, which are encoded by the error control code C to produce code words of length N=nLt over the symbol alphabet . The encoded symbols are parsed among Lt transmit antennas and then mapped by the modulator into constellation points from the discrete complex-valued signaling constellation Ω for transmission across a channel. The modulated streams for all antennas are transmitted simultaneously. At the receiver, there are Lr receive antennas to collect the incoming transmissions. The received baseband signals are subsequently decoded by the space-time decoder. Each spatial channel (the link between one transmit antenna and one receive antenna) is assumed to experience statistically independent flat Rayleigh fading. Receiver noise is assumed to be additive white Gaussian noise (AWGN). A space-time code consists as discussed herein perferably of an underlying error control code together with the spatial parsing format.
Definition 1 An L×n space-time code C of size M consists of an (Ln,M) error control code C and a spatial parser π that maps each code word vector cεC to an L×n matrix c whose entries are a rearrangement of those of c. The space-time code C is said to be linear if both C and σ are linear.

Except as noted to the contrary, a standard parser is assumed which maps

 c=(c11, c12, . . . , c1Lt, c21, c22, . . . , c2Lt, . . . , cn1, cn2, . . . , cnLt)εC

to the matrix





  c
  =
  
    
      [
      
        
          
            
              c
              1
              1
            
          
          
            
              c
              2
              1
            
          
          
            ⋯
          
          
            
              c
              n
              1
            
          
        
        
          
            
              c
              1
              2
            
          
          
            
              c
              2
              2
            
          
          
            ⋯
          
          
            
              c
              n
              2
            
          
        
        
          
            ⋮
          
          
            ⋮
          
          
            ⋰
          
          
            ⋮
          
        
        
          
            
              c
              1
              
                L
                t
              
            
          
          
            
              c
              2
              
                L
                t
              
            
          
          
            ⋯
          
          
            
              c
              n
              
                L
                t
              
            
          
        
      
      ]
    
    .
  




In this notation, it is understood that cti is the code symbol assigned to transmit antenna i at time t.

Let ƒ:→Ω be the modulator mapping function. Then s=ƒ(c) is the baseband version of the code word as transmitted across the channel. For this system, the following baseband model of the received signal is presented:




  
    
      
        
          
            y
            t
            j
          
          =
          
            
              
                ∑
                
                  i
                  =
                  1
                
                
                  L
                  t
                
              
              ⁢
              
                
              
              ⁢
              
                
                  α
                  ij
                
                ⁢
                
                  s
                  t
                  i
                
                ⁢
                
                  
                    E
                    s
                  
                
              
            
            +
            
              n
              t
              j
            
          
        
        ,
      
    
    
      
        (
        1
        )
      
    
  




where ytj is the signal received at antenna j at time t; αij is the complex path gain from transmit antenna i to receive antenna j; sti=ƒ(cti) is the transmitted constellation point corresponding to cti; and ntj is the AWGN noise sample for receive antenna j at time t. The noise samples are independent samples of a zero-mean complex Gaussian random variable with variance N0/2 per dimension. The fading channel is quasi-static in the sense that, during the transmission of n code word symbols across any one of the links, the complex path gains do not change with time t, but are independent from one code word transmission to the next. In matrix notation,

 Y=√{square root over (E)}sĀDc+ N,  (2)

where

    
    
         Y=[y11 y21 . . . yn1 y12 y22 . . . yn2 . . . y1Lr y2Lr . . . ynLr],
         N=[n11 n21 . . . nn1 n12 n22 . . . nn2 . . . n1Lr n2Lr . . . nnLr],
        Ā=[α11 α21 . . . αLt1 α12 α22 . . . αLt2 . . . α1Lr α2Lr . . . αLtLr],
    
    






  
    D
    c
  
  =
  
    
      
        [
        
          
            
              
                f
                ⁡
                
                  (
                  c
                  )
                
              
            
            
              0
            
            
              ⋯
            
            
              0
            
          
          
            
              0
            
            
              
                f
                ⁡
                
                  (
                  c
                  )
                
              
            
            
              ⋯
            
            
              0
            
          
          
            
              ⋮
            
            
              ⋰
            
            
              ⋰
            
            
              0
            
          
          
            
              0
            
            
              0
            
            
              ⋯
            
            
              
                f
                ⁡
                
                  (
                  c
                  )
                
              
            
          
        
        ]
      
      
        
          L
          r
        
        ⁢
        
          L
          t
        
        ×
        
          L
          r
        
        ⁢
        n
      
    
    .
  




Let code word c be transmitted. Then the pairwise error probability that the decoder prefers the alternate code word e to c is given by

P(c→e|{αij})=P(V<0|{αij}),

where V=∥Ā(Dc−De)+ N∥2−∥ N∥2 is a Gaussian random variable with mean E{V}=∥Ā(Dc−De)∥2 and variance Var{V}=2N0E{V}. Thus,





  
    
      
        
          
            
              P
              (
              
                V
                <
                0
              
              
            
            ⁢
            
              {
              
                α
                ij
              
              }
            
          
          )
        
        =
        
          Q
          ⁡
          
            (
            
              
                
                
                  
                    A
                    _
                  
                  ⁡
                  
                    (
                    
                      
                        D
                        c
                      
                      -
                      
                        D
                        e
                      
                    
                    )
                  
                
                
              
              
                
                  2
                  ⁢
                  
                    N
                    0
                  
                
              
            
            )
          
        
      
    
    
      
        (
        3
        )
      
    
  
  
    
      
        
          
        
        ⁢
        
          ≤
          
            
              1
              2
            
            ⁢
            exp
            ⁢
            
              
                {
                
                  
                    -
                    
                      1
                      
                        4
                        ⁢
                        
                          N
                          0
                        
                      
                    
                  
                  ⁢
                  
                    
                      
                      
                        
                          A
                          _
                        
                        ⁡
                        
                          (
                          
                            
                              D
                              c
                            
                            -
                            
                              D
                              e
                            
                          
                          )
                        
                      
                      
                    
                    2
                  
                
                }
              
              .
            
          
        
      
    
    
      
        (
        4
        )
      
    
  




For the quasi-static, flat Rayleigh fading channel, equation (4) can be manipulated to yield the fundamental bound:




  
    
      
        
          
            
              P
              (
              
                c
                ->
                e
              
              
            
            ⁢
            
              {
              
                α
                ij
              
              }
            
          
          )
        
        ≤
        
          
            (
            
              1
              
                
                  Π
                  
                    i
                    =
                    1
                  
                  r
                
                ⁡
                
                  (
                  
                    1
                    +
                    
                      
                        λ
                        i
                      
                      ⁢
                      
                        
                          E
                          s
                        
                        /
                        4
                      
                      ⁢
                      
                        N
                        0
                      
                    
                  
                  )
                
              
            
            )
          
          
            L
            r
          
        
      
    
    
      
        (
        5
        )
      
    
  
  
    
      
        
          
        
        ⁢
        
          
            ≤
            
              
                (
                
                  
                    η
                    ⁢
                    
                      
                    
                    ⁢
                    
                      E
                      s
                    
                  
                  
                    4
                    ⁢
                    
                      N
                      0
                    
                  
                
                )
              
              
                
                  -
                  τ
                
                ⁢
                
                  
                
                ⁢
                
                  L
                  r
                
              
            
          
          ,
        
      
    
    
      
        (
        6
        )
      
    
  




where r=rank(ƒ(c)−ƒ(e)) and η=(λ1λ2 . . . λr)1/r is the geometric mean of the nonzero eigenvalues of A=(ƒ(c)−ƒ(e))(ƒ(c)−ƒ(e))H.

This leads to the rank and equivalent product distance criteria for space-time codes.

    (1) Rank Criterion: Maximize the diversity advantage r=rank(ƒ(c)−ƒ(e)) over all pairs of distinct code words c,eεC; and
    (2) Product Distance Criterion: Maximize the coding advantage η=(λ1λ2 . . . λr)1/r over all pairs of distinct code words c,eεC.


The rank criterion is the more important of the two criteria as it determines the asymptotic slope of the performance curve as a function of Es/N0. The product distance criterion is preferably of secondary importance and is ideally optimized after the diversity advantage is maximized. For an L×n space-time code C, the maximum possible rank is L. Consequently, full spatial diversity is achieved if all baseband difference matrices corresponding to distinct code words in C have full rank L.
Simple design rules for space-time trellis codes have been proposed for L=2 spatial diversity as follows:

    
    
        Rule 1. Transitions departing from the same state differ only in the second symbol.
        Rule 2. Transitions merging at the same state differ only in the first symbol.

When these rules are followed, the code word difference matrices are of the form

    
    






  
    
      f
      ⁡
      
        (
        c
        )
      
    
    -
    
      f
      ⁡
      
        (
        e
        )
      
    
  
  =
  
    [
    
      
        
          ⋯
        
        
          
            
              
                
                  x
                  1
                
              
            
            
              
                0
              
            
          
        
        
          ⋯
        
        
          
            
              
                0
              
            
            
              
                
                  x
                  2
                
              
            
          
        
        
          ⋯
        
      
    
    ]
  




with x1, x2 nonzero complex numbers. Thus, every such difference matrix has full rank, and the space-time code achieves 2-level spatial diversity. Two good codes that satisfy these design rules, and a few others that do not, have been handcrafted using computer search methods.

The concept of “zeroes symmetry” has been introduced as a generalization of the above-referenced design rules for higher levels of diversity L≧2. A space-time code has zeroes symmetry if every baseband code word difference ƒ(c)−ƒ(e) is upper and lower triangular (and has appropriate nonzero entries to ensure full rank). The zeroes symmetry property is sufficient for full rank but not necessary; nonetheless, it is useful in constraining computer searches for good space-time codes.
Results of a computer search undertaken to identify full diversity space-time codes with best possible coding advantage have been presented. A small table of short constraint length space-time trellis codes that achieve full spatial diversity (L=2, 3, and 5 for BPSK modulation; L=2 for QPSK modulation) is available. Difficulties, however, are encountered when evaluating diversity and coding advantages for general space-time trellis codes. As a general space-time code construction, delay diversity schemes are known to achieve full diversity for all L≧2 with the fewest possible number of states.
A computer search similar to the above-referenced computer search has identified optimal L=2 QPSK space-time trellis codes of short constraint length. The results agree with the previous results regarding the optimal product distances but the given codes have different generators, indicating that, at least for L=2, there is a multiplicity of optimal codes.
A simple transmitter diversity scheme for two antennas has been introduced which provides 2-level diversity gain with modest decoder complexity. In this scheme, independent signalling constellation points x1, x2 are transmitted simultaneously by different transmit antennas during a given symbol interval. On the next symbol interval, the conjugated signals −x2* and x1* are transmitted by the respective antennas. This scheme has the property that the two transmissions are orthogonal in both time and the spatial dimension.
The Hurwitz-Radon theory of real and complex orthogonal designs are a known generalization this scheme to multiple transmit antennas. Orthogonal designs, however, are not space-time codes as defined herein since, depending on the constellation, the complex conjugate operation that is essential to these designs may not have a discrete algebraic interpretation. The complex generalized designs for L=3 and 4 antennas also involve division by √{square root over (2)}.
To summarize, studies on the problem of signal design for transmit diversity systems have led to the development of the fundamental performance parameters for space-time codes over quasi-static fading channels such as: (1) diversity advantage, which describes the exponential decrease of decoded error rate versus signal-to-noise ratio (asymptotic slope of the performance curve on a log-log scale); and (2) coding advantage, which does not affect the asymptotic slope but results in a shift of the performance curve. These parameters are, respectively, the minimum rank and minimum geometric mean of the nonzero eigenvalues among a set of complex-valued matrices associated with the differences between baseband modulated code words. A small number of interesting, handcrafted trellis codes for two antenna systems have been presented which provide maximum 2-level diversity advantage and good coding advantage.
One of the fundamental difficulties of space-time codes, which has so far hindered the development of more general results, is the fact that the diversity and coding advantage design criteria apply to the complex domain of baseband modulated signals, rather than to the binary or discrete domain in which the underlying codes are traditionally designed. Thus, a need also exists for binary rank criteria for generating BPSK and QPSK-modulated space-time codes.
SUMMARY OF THE INVENTION
The present invention overcomes the disadvantages of known trellis codes generated via design rules having very simple structure. In accordance with the present invention, more sophisticated codes are provided using a method involving design rules selected in accordance with the preferred embodiment of the present invention. These codes are straightforward to design and provide better performance than the known codes. The present invention also provides a significant advance in the theory of space-time codes, as it provides a code design method involving a powerful set of design rules in the binary domain. Current design criteria are in the complex baseband domain, and the best code design rules to date are ad hoc with limited applicability.
The present invention further provides a systematic method, other than the simple delay diversity, of designing space-time codes to achieve full diversity for arbitrary numbers of antennas. The performance of space-time codes designed in accordance with the methodology and construction of the present invention exceed that of other known designs.
Briefly summarized, the present invention relates to the design of space-time codes to achieve full spatial diversity over fading channels. A general binary design criteria for phase shift keying or PSK-modulated space-time codes is presented. For linear binary PSK (BPSK) codes and quadrature PSK (QPSK) codes, the rank (i.e., binary projections) of the unmodulated code words, as binary matrices over the binary field, is a design criterion. Fundamental code constructions for both quasi-static and time-varying channels are provided in accordance with the present invention.
A communication method in accordance with an embodiment of the present invention comprises the steps of generating information symbols for data block frames of fixed length, encoding the generated information symbols with an underlying error control code to produce the code word symbols, parsing the produced code word symbols to allocate the symbols in a presentation order to a plurality of antenna links, mapping the parsed code word symbols onto constellation points from a discrete complex-valued signaling constellation, transmitting the modulated symbols across a communication channel with the plurality of antenna links, providing a plurality of receive antennas at a receiver to collect incoming transmissions and decoding received baseband signals with a space-time decoder.



BRIEF DESCRIPTION OF THE DRAWINGS
The various aspects, advantages and novel features of the present invention will be more readily comprehended from the following detailed description when read in conjunction with the appended drawings in which:
FIG. 1 is a block diagram of an exemplary digital cellular Direct Sequence Code Division Multiple Access (DS-CDMA) base-station-to-mobile-station (or forward) link;
FIG. 2 is a block diagram of a system for a digital cellular system which implements space-time encoding and decoding in accordance with an embodiment of the present invention;
FIG. 3 is a block diagram illustrating space-time encoding and decoding in accordance with an embodiment of the present invention;
FIG. 4 is a block diagram of a full-diversity space-time concatenated encoder constructed in accordance with an embodiment of the present invention; and
FIGS. 5a, 5b, 5c and 5d illustrate how known space-time codes for QPSK modulation over slow fading channels complies with general design rules selected in accordance with an embodiment of the present invention.



Throughout the drawing figures, like reference numerals will be understood to refer to like parts and components.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring to FIG. 1, by way of an example, a conventional digital cellular Direct Sequence Code Division Multiple Access (DSCDMA) base-station-to-mobile-station (or forward) link 10 is shown using a conventional convolutional encoder and Viterbi decoder. FIG. 1 also illustrates the mobile-station-to-base-station (or reverse) link.
At the transmit end, the system 10 in FIG. 1 comprises a data segmentation and framing module 16 where user information bits are assembled into fixed length frames from transmit data blocks 12. The N bits per frame are input to the base station's convolutional encoder 18 of rate r, which produces N/r code symbols at the input of the channel interleave 20. The channel interleave 20 performs pseudo-random shuffling of code symbols, and outputs the re-arranged symbols to the spread spectrum modulator 22. The spread spectrum modulator 22 uses a user-specific transmit PN-code generator 24 to produce a spread spectrum signal which is carried on a RF carrier to the transmitter 26, where a high power amplifier coupled to the transmit antenna 28 radiates the signal to the base station. The techniques of spread spectrum modulation and RF transmission are well known art to one familiar with spread spectrum communications systems.
The signal received at the mobile station antenna 30 is amplified in the RF receiver 32 and demodulated by the spread spectrum demodulator 34, which uses the same PN-code generator 36 as used by the base station transmitter to de-spread the signal. The demodulated symbols are de-interleaved by the channel de-interleaver 38 and input to the Viterbi decoder 40. The decoded information bits are reconstructed using data block reconstruction 42 into receive data blocks 14 and forwarded to the data terminal equipment at the receive end.
With reference to FIG. 2, a digital cellular base-station-to-mobile-station link is shown to illustrate the implementation of space-time encoding and decoding in accordance with an embodiment of the present invention. While CDMA system is used as an example, one familiar with the art would consider the present invention applicable to other types of wireless systems, which can employ other types of multiple access methods such as time division multiple access (TDMA).
Transmit data blocks 52 from the data terminal equipment are segmented and framed 56 into fixed frame length and applied to the mobile's channel space-time encoder 58. The output from a channel encoder 60 is fed to the space-time formatter 62 which determines the parsing (allocation and presentation order) of the coded symbols to the various transmit antennas 70a, 70b, 70c. The spatial formatter output is applied to the spread spectrum modulator 64 which uses a user specific PN-code generator 66 to create spread spectrum signals, carried on a RF carrier via base RF transmitter 68, to the mobile station transmitter. The transmitter, with high power amplifier coupled to the Transmit antenna, radiates the signals via separate transmit antennas to the mobile station.
The signal received at one or more mobile station antenna(s) 72 is amplified in the mobile RF receiver 74 and demodulated in a phase shift keying demodulator 76, which uses the same PN-code generator 78 as used by the base station transmitter, to de-spread the signal. The demodulated symbols are processed at space-time decoder 80 by the space-time de-formatter 82 and input to the channel decoder 84. The decoded information bits are reconstructed 86 into receive data blocks 54 and forwarded to the data terminal equipment at the receive end. Based on the space-time code used, the de-formatter 82 and the decoder 84 can be grouped in a single maximum likelihood receiver.
FIG. 3 illustrates an exemplary communication system 90 having a path 92 from a source and a path 94 to a sink and which can be a system other than a cellular system. The system 90 has a space-time encoder 96 that is similar to the encoder 58 depicted in FIG. 2 in that it comprises a channel encoder 98 and a spatial formatter 100. Plural modulators 102a, 102b, 102c, and so on, are also provided. At the receiver end, a space-time demodulator 104 and a space-time decoder 106 are provided.
With continued reference to FIG. 3, the source generates k information symbols from a discrete alphabet X on the path 92 which are encoded by an error control code C by the space-time encoder 96. The space-time encoder 96 produces code words of length N over the symbol alphabet Y. The encoded symbols are mapped by the modulators 102a, 102b, 102c, and so on, onto constellation points from a discrete, complex-valued signaling constellation for transmission across the channel. The modulated radio frequency signals for all of the L transmit antennas 102a, 102b, 102c, and so on, are transmitted at the same time to the receiver space-time demodulator 104. The space-time channel decoder 106 decodes the signals to the received data path 94. As shown, the receiver provides M receive antennas to collect the incoming transmissions. The received baseband signals are subsequently decoded by the space-time decoder 106. The space-time code preferably includes an underlying error control code, together with the spatial parsing format as discussed below.
FIG. 4 depicts an exemplary concatenated space-time encoder 110 for implementing a full-diversity space-time concatenated coding sequence. The coding sequence employs an outer code 112 which provides signals to a spatial formatter 114. Signals from the spatial formatter 114 are separated for coding at inner code 116a, 116b, 116c, and so on, which provide signals that are modulated, respectively, by modulators 118a, 118b, 118c, and so on, for transmission via antennas 120a, 120b, 120c, and so on. A convolutional encoder applying the binary rank criterion for QPSK modulated space-time codes is shown in block diagram form in FIGS. 5a through 5d in which known trellis space-time codes proposed for QPSK modulation are shown to comply with the general design rules of the present invention. Space-time trellis codes are shown in FIGS. 5a through 5d, respectively, for 4, 8, 16, and 32 states which achieve full spatial diversity. As shown, the delay structures 122, 124, 126, and 128 provided for each respective code design are enough to ensure that L=2 diversity is achieved. In the text below, a number of known codes are shown to be special cases of the general constructions presented in accordance with the present invention. In addition, the present invention provides new delay diversity schemes and constructions such as examples of new BPSK space-time codes for L≧2 and new QPSK space-time codes for L≧2.
The present invention is concerned primarily with the design of space-time codes rather than the signal processing required to decode them. In most cases, the decoding employs known signal processing used for maximum likelihood reception.
The derivation of space-time codes from codes on graphs is a primary feature of the present invention, that is, to define constraints on matrices for linear codes based on graphs to provide full spatial diversity as space-time codes and therefore to design graphical codes for space-time applications. The matrices can be obtained using the present invention. Graphical codes designed in this manner can be decoded using soft-input, soft-output techniques. Thus, performance is close to the Shannon limit. Accordingly, the code constructions or designs of the present invention define the state-of-the-art performance of space-time codes. An improvement of iterative soft-input, soft-output decoding for a space-time channel is marginalization since the receiver need only access the sum of the transmission from the L transmit antennas. This marginalization is improved via iteration.
A general stacking construction for BPSK and QPSK codes in quasi-static fading channels is presented as another novel feature of the present invention. Examples of this construction are given by the rate 1/L binary convolutional codes for BPSK modulation. A preferred class of QPSK modulated codes is the linear rate 1/L convolutional codes over the integers modulo 4. Specific examples of selected block and concatenated coding schemes for L=2 and L=3 antennas with BPSK and QPSK modulation are provided below. In addition, a dyadic construction for QPSK signals using two binary full rank codes is also described below.
Another example is provided below of an expurgated, punctured version of the Golay code 23 that can be formatted as a BPSK-modulated space-time block code achieving full L=2 spatial diversity and maximum bandwidth efficiency (rate 1 transmission). For L=3 diversity, an explicit rate 1 space-time code is derived below which achieves full spatial diversity for BPSK and QPSK modulation. By contrast, known space-time block codes derived from complex, generalized orthogonal designs provide no better bandwidth efficiency than rate 3⁄4.
The de-stacking construction is a method of obtaining good space-time overlays for existing systems for operation over time-varying fading channels. The key advantage of these systems is that of robustness because they exploit time and space diversity. There is coding gain both spatially (from the space-time “stacking”) and temporally (conventional coding gain achieved by “de-stacking”). The system is not dependent entirely on the spatial diversity, which may not be available under all deployment and channel circumstances. Examples of these are obtained from de-stacking the rate 1/L convolution codes (BPSK) and (QPSK).
Multi-level code constructions with multi-stage decoding also follow the design criteria of the present invention. Since binary decisions are made at each level, the BPSK design methodology of the present invention applies. For 8-PSK, the binary rank criteria developed for BPSK and QPSK cases also apply for the special case of L=2 antennas. This allows more sophisticated L=2 designs for PSK than is currently commercially available.
The design of space-time codes in accordance with the present invention will now be described. In Section 1, binary rank criteria for BPSK and QPSK-modulated space-time codes are discussed which are selected in accordance with the present invention. Sections 2 and 3 expand on the use of these criteria to develop comprehensive design criteria in accordance with the present invention. In Section 2, new fundamental constructions for BPSK modulation are provided in accordance with the present invention that encompass such special cases as transmit delay diversity schemes, rate 1/L convolutional codes, and certain concatenated coding schemes. The general problem of formatting existing binary codes into full-diversity space-time codes is also discussed. Specific space-time block codes of rate 1 for L=2 and L=3 antennas are given that provide coding gain, as well as achieve full spatial diversity. In Section 3, 4 analogs of the binary theory are provided in accordance with the present invention. It is also shown that full diversity BPSK designs lift to full diversity QPSK designs. In Section 4, the existing body of space-time trellis codes is shown to fit within the code design criteria of the present invention. Extension of the design criteria to time-varying channels is discussed in Section 5, which describes how multi-stacking constructions in accordance with the present invention provide a general class of “smart-greedy” space-time codes for such channels. Finally, Section 6 discusses the applicability of the binary rank criteria to multi-level constructions for higher-order constellations.
1 Binary Rank Criteria for Space-Time Codes
The design of space-time codes is hampered by the fact that the rank criterion applies to the complex-valued differences between the baseband versions of the code words. It is not easy to transfer this design criterion into the binary domain where the problem of code design is relatively well understood. In section 1, general binary design criteria are provided that are sufficient to guarantee that a space-time code achieves full spatial diversity.
In the rank criterion for space-time codes, the sign of the differences between modulated code word symbols is important. On the other hand, it is difficult to see how to preserve that information in the binary domain. In accordance with the present invention, what can be said in the absence of such specific structural knowledge is investigated by introducing the following definition.
Definition 2 Two complex matrices r1 and r2 is said to be ω-equivalent if r1 can be transformed into r2 by multiplying any number of entries of r1 by powers of the complex number ω.
Interest primiarily lies in the ω-equivalence of matrices when ω is a generator for the signalling constellation Ω. Since BPSK and QPSK are of particular interest, the following special notation is introduced:

BPSK (ω=−1):r1{dot over (=)}r2 denotes that r1 and r2 are (−1)-equivalent.

QPSK (ω=i=√{square root over (−1)}):r1{umlaut over (=)}r2 denotes that r1 and r2 are i-equivalent.

Using this notion, binary rank criteria for space-time codes are derived that depend only on the unmodulated code words themselves. The binary rank criterion provides a complete characterization for BPSK-modulated codes (under the assumption of lack of knowledge regarding signs in the baseband differences). It provides a highly effective characterization for QPSK-modulated codes that, although not complete, provides a fertile new framework for space-time code design.

The BPSK and QPSK binary rank criteria simplify the problem of code design and the verification that full spatial diversity is achieved. They apply to both trellis and block codes and for arbitrary numbers of transmit antennas. In a sense, these results show that the problem of achieving full spatial diversity is relatively easy. Within the large class of space-time codes satisfying the binary rank criteria, code design is reduced to the problem of product distance or coding advantage optimization.
1.1 BPSK-Modulated Codes
For BPSK modulation, the natural discrete alphabet is the field ={0,1} of integers modulo 2. Modulation is performed by mapping the symbol xε to the constellation point s=ƒ(x)ε{−1,1} according to the rule s=(−1)x. Note that it is possible for the modulation format to include an arbitrary phase offset eiφ, since a uniform rotation of the constellation will not affect the rank of the matrices ƒ(c)−ƒ(e) nor the eigenvalues of the matrices A=(ƒ(c)−ƒ(e))(ƒ(c)−ƒ(e))H. Notationally, the circled operator ⊕ is used to distinguish modulo 2 addition from real- or complex-valued (+,−) operations. It will sometimes be convenient to identify the binary digits 0,1ε with the complex numbers 0,1ε. This is done herein without special comment or notation.
Theorem 3 Let C be a linear L×n space-time code with n≧L. Suppose that every non-zero binary code word cεC has the property that every real matrix (−1)-equivalent to c is of full rank L. Then, for BPSK transmission, C satisfies the space-time rank criterion and achieves full spatial diversity L.
Proof: It is enough to note that [(−1)c1−(−1)c2]/2{dot over (=)}c1⊕c2.
It turns out that (−1)-equivalence has a simple binary interpretation. The following lemma is used.
Lemma 4 Let M be a matrix of integers. Then the matrix equation M x=0 has non-trivial real solutions if and only if it has a non-trivial integral solution x=[d1, d2, . . . , dL] in which the integers d1, d2, . . . , dL are jointly relatively prime—that is, gcd(d1, d2, . . . , dL)=1.
Proof: Applying Gaussian elimination to the matrix M yields a canonical form in which all entries are rational. Hence, the null space of M has a basis consisting of rational vectors. By multiplying and dividing by appropriate integer constants, any rational solution can be transformed into an integral solution of the desired form.
Theorem 5 The L×n, (n≧L), binary matrix c=[ c1  c2 . . . cL]T has full rank L over the binary field  if and only if every real matrix r=[ r1  r2 . . . rL]T that is (−1)-equivalent to c has full rank L over the real field .
Proof: () Suppose that r is not of full rank over . Then there exist real α1, α2, . . . , αL, not all zero, for which α1 r1+α2 r2+ . . . +αL rL=0. By the lemma, αi are assumed to be integers and jointly relatively prime. Given the assumption on r and c, ri≡ ci(mod 2). Therefore, reducing the integral equation modulo 2 produces a binary linear combination of the ci that sums to zero. Since the αi are not all divisible by 2, the binary linear combination is non-trivial. Hence, c is not of full rank over .
() Suppose that c is not of full rank over . Then there are rows ci1, ci2, . . . , civ such that ci1⊕ ci2⊕ . . . ⊕ civ= 0. Each column of c therefore contains an even number of ones among these v rows. Hence, the + and − signs in each column can be modified to produce a real-valued summation of these ν rows that is equal to zero. This modification produces a real-valued matrix that is (−1)-equivalent to c but is not of full rank.
The binary criterion for the design and selection of linear space-time codes in accordance with the present invention now follows.
Theorem 6 (Binary Rank Criterion) Let C be a linear L×n space-time code with n≧L. Suppose that every non-zero binary code word cεC is a matrix of full rank over the binary field . Then, for BPSK transmission, the space-time code C achieves full spatial diversity L.
The binary rank criterion makes it possible to develop algebraic code designs for which full spatial diversity can be achieved without resorting to time consuming and detailed verification. Although the binary rank criterion and of the present invention associated theorems are stated for linear codes, it is clear from the proofs that they work in general, even if the code is nonlinear, when the results are applied to the modulo 2 differences between code words instead of the code words themselves.
1.2 QPSK-Modulated Codes
For QPSK modulation, the natural discrete alphabet is the ring 4={0,±1,2} of integers modulo 4. Modulation is performed by mapping the symbol xε4 to the constellation point sε{±1,±i} according to the rule s=ix, where i=√{square root over (−1)}. Again, the absolute phase reference of the QPSK constellation can be chosen arbitrarily without affecting the diversity advantage or coding advantage of a 4-valued space-time code. Notationally, subscripts are used to distinguish modulo 4 operations (⊕4,⊖4) from binary (⊕) and real- or complex-valued (+,−) operations.
For the 4-valued matrix c, the binary component matrices α(c) and β(c) are defined to satisfy the expansion

c=β(c)+2α(c).

Thus, β(c) is the modulo 2 projection of c and α(c)=[c⊖4β(c)]/2.

The following special matrices are now introduced which are useful in the analysis of QPSK-modulated space-time codes:

    
    
        (1) Complex-valued ζ(c)=c+iβ(c); and
        (2) Binary-valued indicant projections: Ξ(c) and Ψ(c).

The indicant projections are defined based on a partitioning of c into two parts, according to whether the rows (or columns) are or are not multiples of two, and serve to indicate certain aspects of the binary structure of the 4 matrix in which multiples of two are ignored.

    
    


A 4-valued matrix c of dimension L×n is of type 1l2L−l×1m2n−m if it consists of exactly l rows and m columns that are not multiples of two. It is of standard type 1l2L−l×1m2n−m if it is of type 1l2L−l×1m2n−m and the first l rows and first m columns in particular are not multiples of two. When the column (row) structure of a matrix is not of particular interest, the matrix is of row type 1l×2L−l (column type 1m×2n−m) or, more specifically, standard row (column) type.
Let c be a 4-valued matrix of type 1l2L−l×1m2n−m. Then, after suitable row and column permutations if necessary, it has the following row and column structure:




  c
  =
  
    
      [
      
        
          
            
              
                c
                -
              
              1
            
          
        
        
          
            
              
                c
                -
              
              2
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                c
                -
              
              l
            
          
        
        
          
            
              2
              ⁢
              
                
                  c
                  _
                
                
                  l
                  +
                  1
                
                ′
              
            
          
        
        
          
            
              2
              ⁢
              
                
                  c
                  _
                
                
                  l
                  +
                  2
                
                ′
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              2
              ⁢
              
                
                  c
                  _
                
                L
                ′
              
            
          
        
      
      ]
    
    =
    
      [
      
        
          
            
              
                h
                _
              
              1
              T
            
          
          
            
              
                h
                _
              
              2
              T
            
          
          
            ⋯
          
          
            
              
                h
                _
              
              m
              T
            
          
          
            
              2
              ⁢
              
                
                  h
                  _
                
                
                  m
                  +
                  1
                
                
                  ′
                  ⁢
                  
                    
                  
                  ⁢
                  T
                
              
            
          
          
            
              2
              ⁢
              
                
                  h
                  _
                
                
                  m
                  +
                  2
                
                
                  ′
                  ⁢
                  
                    
                  
                  ⁢
                  T
                
              
            
          
          
            ⋯
          
          
            
              
                
                  2
                  ⁢
                  
                    
                      h
                      _
                    
                    n
                    
                      ′
                      ⁢
                      
                        
                      
                      ⁢
                      T
                    
                  
                
                ]
              
              .
            
          
        
      
    
  




Then the row-based indicant projection (Ξ-projection) is defined as





  
    Ξ
    ⁡
    
      (
      c
      )
    
  
  =
  
    
      [
      
        
          
            
              β
              ⁡
              
                (
                
                  
                    c
                    -
                  
                  1
                
                )
              
            
          
        
        
          
            
              β
              ⁡
              
                (
                
                  
                    c
                    -
                  
                  2
                
                )
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              β
              ⁡
              
                (
                
                  
                    c
                    -
                  
                  l
                
                )
              
            
          
        
        
          
            
              β
              ⁡
              
                (
                
                  
                    c
                    _
                  
                  
                    l
                    +
                    1
                  
                  ′
                
                )
              
            
          
        
        
          
            
              β
              ⁡
              
                (
                
                  
                    c
                    _
                  
                  
                    l
                    +
                    2
                  
                  ′
                
                )
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              β
              ⁡
              
                (
                
                  
                    c
                    _
                  
                  L
                  ′
                
                )
              
            
          
        
      
      ]
    
    .
  




and the column-based indicant projection (Ψ-projection) is defined as

Ψ(c)=[β( h1T) β( h2T) . . . β( hmT) β( h′m+1 T) β( h′m+2 T) . . . β( h′n T)].

Note that

[Ψ(c)]T=Ξ(cT).  (7)

The first result shows that the baseband difference of two QPSK-modulated code words is directly related to the 4-difference of the unmodulated code words.
Proposition 7 Let C be a 4 space-time code. For x, yεC, let ix−iy denote the baseband difference of the corresponding QPSK-modulated signals. Then,

ix−iy{umlaut over (=)}ζ(x⊖4y).

Furthermore, any complex matrix z=r+is that is (−1)-equivalent to ix−iy has the property that

r≡s≡β(x⊖4y)≡x⊕y(mod 2).

Proof: Any component of ix−iy can be written as

ix−iy=−iy·(1−iδ),

where δ=x⊖4y. Since





  
    1
    -
    
      i
      δ
    
  
  =
  
    {
    
      
        
          
            
              0
              ,
            
            ⁢
            
              
            
          
        
        
          
            δ
            =
            0
          
        
      
      
        
          
            
              
                1
                -
                i
              
              =
              
                
                  -
                  i
                
                ·
                
                  (
                  
                    1
                    +
                    i
                  
                  )
                
              
            
            ,
          
        
        
          
            δ
            =
            1
          
        
      
      
        
          
            
              2
              ,
            
            ⁢
            
              
            
          
        
        
          
            δ
            =
            2
          
        
      
      
        
          
            
              
                1
                +
                i
              
              =
              
                
                  -
                  i
                
                ·
                
                  (
                  
                    
                      -
                      1
                    
                    +
                    i
                  
                  )
                
              
            
            ,
          
        
        
          
            
              
            
            ⁢
            
              
                δ
                =
                
                  -
                  1
                
              
              ,
            
          
        
      
    
  




the entry ix−iy can be turned into the complex number (x⊖4y)+i(x⊕y) by multiplying by ±1 or ±i as necessary. Thus,

ix−iy{umlaut over (=)}(x⊖4y)+i(x⊕y)=ζ(x⊖4y),

as claimed.

For (−1)-equivalence, multiplication by ±i is not allowed. Under this restriction, it is no longer possible to separate z into the terms x⊖4y and x⊕y so cleanly; the discrepancies, however, amount to additions of multiples of 2. Hence, if z=r+is{dot over (=)}ix−iy, then r≡x⊖4y (mod 2) and s≡x⊕y (mod 2).
Theorem 8 Let C a linear, L×n (n≧L) space-time code over 4. Suppose that every non-zero code word cεC has the property that every complex matrix i-equivalent to ζ(c) is of full rank L. Then, for QPSK transmission, C satisfies the space-time rank criterion and achieves full spatial diversity L.
Proof: Since C is linear, the 4-difference between any two code words is also a code word. The result then follows immediately from the previous proposition.
The indicant projections of the 4-valued matrix c provide a significant amount of information regarding the singularity of ζ(c) and any of its i-equivalents. Thus, the indicants provide the basis for our binary rank criterion for QPSK-modulated space-time codes.
Theorem 9 Let c=[ c1 c2 . . . cL]T be an 4-valued matrix of dimension L×n, (n≧L). If the row-based indicant Ξ(c) or the column-based indicant Ψ(c) has full rank L over , then every complex matrix z that is i-equivalent to ζ(c) has full rank L over the complex field .
Proof: Proof for the row-based indicant will now be provided. The proof for the column-based indicant is similar.
By rearranging the rows of c if necessary, any row that is a multiple of 2 can be assumed to appear as one of the last rows of the matrix. Thus, there is an l for which |( ci)≠0 whenever 1≦i≦l and β( ci)=0 for l≦i≦L. The first l rows is called the 1-part of c; the last L−l rows is called the 2-part.
Suppose that




  z
  =
  
    
      [
      
        
          
            
              
                z
                -
              
              1
            
          
        
        
          
            
              
                z
                -
              
              2
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                z
                -
              
              L
            
          
        
      
      ]
    
    =
    
      [
      
        
          
            
              
                
                  r
                  -
                
                1
              
              +
              
                i
                ⁢
                
                  
                    s
                    _
                  
                  1
                
              
            
          
        
        
          
            
              
                
                  r
                  -
                
                2
              
              +
              
                i
                ⁢
                
                  
                    s
                    _
                  
                  2
                
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                
                  r
                  -
                
                L
              
              +
              
                i
                ⁢
                
                  
                    s
                    _
                  
                  L
                
              
            
          
        
      
      ]
    
  




is singular and is i-equivalent to ζ(c). Then there exist complex numbers α1=a1+ib1, α2=a2+ib2, . . . , αL=aL+ibL, not all zero, for which





  
    
      
        
          
            
              α
              1
            
            ⁢
            
              
                z
                _
              
              1
            
          
          +
          
            
              α
              2
            
            ⁢
            
              
                z
                _
              
              2
            
          
          +
          ⋯
          +
          
            
              α
              L
            
            ⁢
            
              
                z
                _
              
              L
            
          
        
        =
        
          
            
              
                ∑
                
                  i
                  =
                  1
                
                L
              
              ⁢
              
                
              
              ⁢
              
                (
                
                  
                    
                      a
                      i
                    
                    ⁢
                    
                      
                        r
                        _
                      
                      i
                    
                  
                  -
                  
                    
                      b
                      i
                    
                    ⁢
                    
                      
                        s
                        _
                      
                      i
                    
                  
                
                )
              
            
            +
            
              i
              ⁢
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  L
                
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    
                      
                        b
                        i
                      
                      ⁢
                      
                        
                          r
                          _
                        
                        i
                      
                    
                    +
                    
                      
                        a
                        i
                      
                      ⁢
                      
                        
                          s
                          _
                        
                        i
                      
                    
                  
                  )
                
              
            
          
          =
          0.
        
      
    
    
      
        (
        8
        )
      
    
  




Without loss of generality, the ai, bi are assumed to be integers having greatest common divisor equal to 1. Hence, there is a nonempty set of coefficients having real or imaginary part an odd integer. The coefficient αi is said to be even or odd depending on whether two is or is not a common factor of ai and bi. It is said to be of homogeneous parity if ai and bi are of the same parity; otherwise, it is said to be of heterogeneous parity.

There are now several cases to consider based on the nature of the coefficients applied to the 1-part and 2-part of z.
Case (i): There is an odd coefficient of heterogeneous parity applied to the 1-part of z.
In this case, taking the projection of (8) modulo 2,




  
    
      
        ∑
        
          i
          =
          1
        
        l
      
      ⁢
      
        
      
      ⁢
      
        
          (
          
            
              β
              ⁡
              
                (
                
                  a
                  i
                
                )
              
            
            ⊕
            
              β
              ⁢
              
                
              
              ⁢
              
                (
                
                  b
                  i
                
                )
              
            
          
          )
        
        ⁢
        
          β
          ⁡
          
            (
            
              
                c
                _
              
              i
            
            )
          
        
      
    
    =
    0
  
  ,




since β( ri)=β( si)=β( ci) by the proposition. By assumption, at least one of the binary coefficients β(ai)⊕β(bi) is nonzero. Hence, this is a non-trivial linear combination of the first l rows of Ξ(c), and so Ξ(c) is not of full rank over .

Case (ii): All of the nonzero coefficients applied to the 1-part of z are homogeneous and at least one is odd; all of the coefficients applied to the 2-part of z are homogeneous (odd or even).
In this case, equation (8) is multiplied by α*/2=(a−ib)/2, where α=a+ib is one of the coefficients applied to the 1-part of z having a and b both odd. Note that α*αi is even if αi is homogeneous (odd or even) and is odd homogeneous if αi is heterogeneous. Hence, this produces a new linear combination, all coefficients of which still have integral real and imaginary parts. In this linear combination, one of the new coefficients is |α|2/2=(a2+b2)/2, which is an odd integer. The argument of case (i) now applies.
Case (iii): All of the nonzero coefficients applied to the 1-part of z are homogeneous and at least one is odd; there is a heterogeneous coefficient applied to the 2-part of z.
In this case, normalization occurs as in case (ii), using one of the odd homogeneous coefficients from the 1-part of z, say α=a+ib. Thus, normalization produces the equation

{tilde over (α)}1 z1+ . . . +{tilde over (α)}l zl+{tilde over (α)}l+1 z′l+1+ . . . +{tilde over (α)}L z′L=0,  (9)

where {tilde over (α)}i=α*αi/2 for i≦l and {tilde over (α)}i=α*αi for i>l.

Taking the projection modulo 2 of the real (or imaginary) part of equation (9) yields




  
    
      
        0
        =
        
          
            
              ∑
              
                i
                =
                1
              
              l
            
            ⁢
            
              
                
                  [
                  
                    
                      β
                      ⁡
                      
                        (
                        
                          
                            a
                            ~
                          
                          i
                        
                        )
                      
                    
                    ⊕
                    
                      β
                      ⁢
                      
                        
                      
                      ⁢
                      
                        (
                        
                          
                            b
                            ~
                          
                          i
                        
                        )
                      
                    
                  
                  ]
                
                ⁢
                
                  β
                  ⁡
                  
                    (
                    
                      
                        c
                        _
                      
                      i
                    
                    )
                  
                
              
              ⊕
              
                
                  ∑
                  
                    i
                    =
                    
                      l
                      +
                      1
                    
                  
                  L
                
                ⁢
                
                  
                    
                      β
                      ⁡
                      
                        (
                        
                          
                            a
                            ~
                          
                          i
                        
                        )
                      
                    
                    ⁢
                    β
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        
                          r
                          _
                        
                        i
                        ′
                      
                      )
                    
                  
                  ⊕
                  
                    
                      ∑
                      
                        i
                        =
                        
                          l
                          +
                          1
                        
                      
                      L
                    
                    ⁢
                    
                      
                        β
                        ⁡
                        
                          (
                          
                            
                              b
                              ~
                            
                            i
                          
                          )
                        
                      
                      ⁢
                      β
                      ⁢
                      
                        
                      
                      ⁢
                      
                        (
                        
                          
                            s
                            _
                          
                          i
                          ′
                        
                        )
                      
                    
                  
                
              
            
          
          ⁢
          
            

          
          ⁢
          
            
          
          =
          
            
              ∑
              
                i
                =
                1
              
              l
            
            ⁢
            
              
                
                  [
                  
                    
                      β
                      ⁡
                      
                        (
                        
                          
                            a
                            ~
                          
                          i
                        
                        )
                      
                    
                    ⊕
                    
                      β
                      ⁢
                      
                        
                      
                      ⁢
                      
                        (
                        
                          
                            b
                            ~
                          
                          i
                        
                        )
                      
                    
                  
                  ]
                
                ⁢
                
                  β
                  ⁡
                  
                    (
                    
                      
                        c
                        _
                      
                      i
                    
                    )
                  
                
              
              ⊕
              
                
                  ∑
                  
                    i
                    =
                    
                      l
                      +
                      1
                    
                  
                  L
                
                ⁢
                
                  
                    
                      β
                      ⁡
                      
                        (
                        
                          
                            a
                            ~
                          
                          i
                        
                        )
                      
                    
                    ⁢
                    β
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        
                          r
                          _
                        
                        i
                        ′
                      
                      )
                    
                  
                  ⊕
                  
                    β
                    ⁡
                    
                      (
                      
                        
                          s
                          _
                        
                        i
                        ′
                      
                      )
                    
                  
                
              
            
          
        
      
      )
    
    .
  
  ⁢
  
    
  




For i≧l+1, it is true that β( r′i)⊕β( s′i)=β( c′i), where ci=2 c′i is the i-th row of c. By assumption, there is a nonzero coefficient in each of the three component sums. Hence, equation (9) establishes a nontrivial linear combination of the rows of Ξ(c).
Case (iv): All of the coefficients applied to the 1-part of z are even, and at least one of the coefficients applied to the 2-part of z is heterogeneous.
In this case, equation (8) is divided by two to get the modified dependence relation

α′1 z1+ . . . +α′l zl+αl+1 z′l+1+ . . . +αL z′L=0,  (10)

where α′i=αi/2 and z′i= zi/2. Projecting modulo 2 gives two independent binary equations corresponding to the real and imaginary parts of equation (10):




  
    
      
        ∑
        
          i
          =
          1
        
        l
      
      ⁢
      
        
          
            [
            
              
                β
                ⁡
                
                  (
                  
                    a
                    i
                    ′
                  
                  )
                
              
              ⊕
              
                β
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    b
                    i
                    ′
                  
                  )
                
              
            
            ]
          
          ⁢
          
            β
            ⁡
            
              (
              
                
                  c
                  _
                
                i
              
              )
            
          
        
        ⊕
        
          
            ∑
            
              i
              =
              
                l
                +
                1
              
            
            L
          
          ⁢
          
            
              
                β
                ⁡
                
                  (
                  
                    a
                    i
                  
                  )
                
              
              ⁢
              β
              ⁢
              
                
              
              ⁢
              
                (
                
                  
                    r
                    _
                  
                  i
                  ′
                
                )
              
            
            ⊕
            
              
                ∑
                
                  i
                  =
                  
                    l
                    +
                    1
                  
                
                L
              
              ⁢
              
                
                  β
                  ⁡
                  
                    (
                    
                      b
                      i
                    
                    )
                  
                
                ⁢
                β
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    
                      s
                      _
                    
                    i
                    ′
                  
                  )
                
              
            
          
        
      
    
    =
    0
  




  
    
      
        ∑
        
          i
          =
          1
        
        l
      
      ⁢
      
        
          
            [
            
              
                β
                ⁡
                
                  (
                  
                    a
                    i
                    ′
                  
                  )
                
              
              ⊕
              
                β
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    b
                    i
                    ′
                  
                  )
                
              
            
            ]
          
          ⁢
          
            β
            ⁡
            
              (
              
                
                  c
                  _
                
                i
              
              )
            
          
        
        ⊕
        
          
            ∑
            
              i
              =
              
                l
                +
                1
              
            
            L
          
          ⁢
          
            
              
                β
                ⁡
                
                  (
                  
                    b
                    i
                  
                  )
                
              
              ⁢
              β
              ⁢
              
                
              
              ⁢
              
                (
                
                  
                    r
                    _
                  
                  i
                  ′
                
                )
              
            
            ⊕
            
              
                ∑
                
                  i
                  =
                  
                    l
                    +
                    1
                  
                
                L
              
              ⁢
              
                
                  β
                  ⁡
                  
                    (
                    
                      a
                      i
                    
                    )
                  
                
                ⁢
                β
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    
                      s
                      _
                    
                    i
                    ′
                  
                  )
                
              
            
          
        
      
    
    =
    0.
  



Setting these two equal gives





  
    
      
        ∑
        
          i
          =
          
            l
            +
            1
          
        
        L
      
      ⁢
      
        
          [
          
            
              β
              ⁡
              
                (
                
                  a
                  i
                
                )
              
            
            ⊕
            
              β
              ⁢
              
                
              
              ⁢
              
                (
                
                  b
                  i
                
                )
              
            
          
          ]
        
        ⁡
        
          [
          
            
              β
              ⁢
              
                
              
              ⁢
              
                (
                
                  
                    r
                    _
                  
                  i
                  ′
                
                )
              
            
            ⊕
            
              β
              ⁡
              
                (
                
                  
                    s
                    _
                  
                  i
                  ′
                
                )
              
            
          
          ]
        
      
    
    =
    0
  
  ,




which is a nontrivial linear combination of the rows β( c′i)=β( r′i)⊕β( s′i), for i≧l+1, of Ξ(c).

Case (v): All of the coefficents applied to the 1-part of z are even, and all of the coefficients applied to the two part of z are homogeneous.
In this case, equation (10) is first used after dividing by two. Recalling that at least one of the coefficients αl+1, . . . , αL is odd, the modulo 2 projection of equation (10) is taken to get (from either the real or imaginary parts) the equation




  
    
      ∑
      
        i
        =
        1
      
      l
    
    ⁢
    
      
        
          [
          
            
              β
              ⁡
              
                (
                
                  a
                  i
                  ′
                
                )
              
            
            ⊕
            
              β
              ⁢
              
                
              
              ⁢
              
                (
                
                  b
                  i
                  ′
                
                )
              
            
          
          ]
        
        ⁢
        
          β
          ⁡
          
            (
            
              
                c
                _
              
              i
            
            )
          
        
      
      ⊕
      
        
          ∑
          
            i
            =
            
              l
              +
              1
            
          
          L
        
        ⁢
        
          
            β
            ⁡
            
              (
              
                a
                i
              
              )
            
          
          ⁡
          
            [
            
              
                β
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    
                      r
                      _
                    
                    i
                    ′
                  
                  )
                
              
              ⊕
              
                β
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    
                      s
                      _
                    
                    i
                    ′
                  
                  )
                
              
            
            ]
          
        
      
    
  
  =
  0.




This is once again a nontrivial linear combination of the rows of Ξ(c).

The binary rank criterion for QPSK space-time codes in accordance with the present invention now follows as an immediate consequence of the previous two theorems.
Theorem 10 (QPSK Binary Rank Criterion I) Let C be a linear L×n space-time code over 4, with n≧L. Suppose that, for every non-zero cεC, the row-based indicant Ξ(c) or the column-based indicant Ψ(c) has full rank L over . Then, for QPSK transmission, the space-time code C achieves full spatial diversity L.
In certain 4 space-time code constructions, there may be no code word matrices having isolated rows or columns that are multiples of two. For example, it is possible for the entire code word to be a multiple of two. In this case, the following binary rank criterion is simpler yet sufficient.
Theorem 11 (QPSK Binary Rank Criterion II) Let C be a linear L×n space-time code over 4, with n≧L. Suppose that, for every non-zero cεC, the binary matrix β(c) is of full rank over  whenever β(c)≠0, and β(c/2) is of full rank over  otherwise. Then, for QPSK transmission, the space-time code C achieves full spatial diversity L.
Proof: Under the specified assumptions, either Ξ(c)=β(c) or Ξ(c)=β(c/2), depending on whether β(c)=0 or not.
The QPSK binary rank criterion is a powerful tool in the design and analysis of QPSK-modulated space-time codes.
2 Theory of BPSK Space-Time Codes
2.1 Stacking Construction
A general construction for L×n space-time codes that achieve full spatial diversity is given by the following theorem.
Theorem 12 (Stacking Construction) Let T1, T2, . . . , TL be linear vector-space transformations from k into n, and let C be the L×n space-time code of dimension k consisting of the code word matrices




  
    
      c
      ⁡
      
        (
        
          x
          _
        
        )
      
    
    =
    
      [
      
        
          
            
              
                T
                1
              
              ⁡
              
                (
                
                  x
                  _
                
                )
              
            
          
        
        
          
            
              
                T
                2
              
              ⁡
              
                (
                
                  x
                  _
                
                )
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                T
                L
              
              ⁡
              
                (
                
                  x
                  _
                
                )
              
            
          
        
      
      ]
    
  
  ,




where x denotes an arbitrary k-tuple of information bits and n≧L. Then C satisfies the binary rank criterion, and thus achieves full spatial diversity L, if and only if T1, T2, . . . , TL have the property that

∀a1, a2, . . . , aLε:

    
    
        T=a1T1⊕a2T2⊕ . . . ⊕aLTL is nonsingular unless a1=a2= . . . =aL=0.
    
    


Proof: () Suppose C satisfies the binary rank criterion but that T=a1Tl⊕a2T2⊕ . . . ⊕aLTL is singular for some a1, a2, . . . , aLε. Then there is a non-zero x0εk such that T( x0)=0. In this case,

T( x0)=a1·T1( x0)⊕a2·T2( x0)⊕ . . . ⊕aL·TL( x0)=0

is a dependent linear combination of the rows of c( x0)εC. Since C satisfies the binary rank criterion, a1=a2= . . . =aL=0.

() Suppose T1, T2, . . . , TL have the stated property but that c( x0)εC is not of full rank. Then there exist a1, a2, . . . , aLε, not all zero, for which

T( x0)=a1·T1( x0)⊕a2·T2( x0)⊕ . . . ⊕aL·TL( x0)=0,

wheere T=a1T1⊕a2T2⊕ . . . ⊕aLTL. By hypothesis, T is nonsingular; hence, x0=0 and c=0.

The vector-space transformations of the general stacking construction can be implemented as binary k×n matrices. In this case, the spatial diversity achieved by the space-time code does not depend on the choice of basis used to derive the matrices.
A heuristic explanation of the constraints imposed on the stacking construction will now be provided. In order to achieve spatial diversity L on a flat Rayleigh fading channel, the receiver is expected to be able to recover from the simultaneous fading of any L−1 spatial channels and therefore be able to extract the information vector x from any single, unfaded spatial channel (at least at high enough signal-to-noise-ratio). This requires that each matrix Mi be invertible. That each linear combination of the Mi must also be invertible follows from similar reasoning and the fact that the transmitted symbols are effectively summed by the channel.
The use of transmit delay diversity provides an example of the stacking construction. In this scheme, the transmission from antenna i is a one-symbol-delayed replica of the transmission from antenna i−1. Let C be a linear [n,k] binary code with (nonsingular) generator matrix G, and consider the delay diversity scheme in which code word c= xG is repeated on each transmit antenna with the prescribed delay. The result is a space-time code achieving full spatial diversity.
Theorem 13 Let C be the L×(n+L−1) space-time code produced by applying the stacking construction to the matrices

M1=[G 0k×(L−1)], M2[0k×1 G 0k×(L−2)], . . . , ML=[0k×(L−1) G],

where 0i×j denotes the all-zero matrix consisting of i rows and j columns and G is the generator matrix of a linear [n,k] binary code. Then C achieves full spatial diversity L.

Proof: In this construction, any linear combination of the Mi has the same column space as that of G and thus is of full rank k. Hence, the stacking construction constraints are satisfied, and the space-time code C achieves full spatial diversity L.
A more sophisticated example of the stacking construction is given by the class of binary convolutional codes. Let C be the binary, rate 1/L, convolutional code having transfer function matrix

G(D)=[g1(D) g2(D) . . . gL(D)].

The natural space-time code C associated with C is defined to consist of the code word matrices c(D)=GT(D)x(D), where the polynomial x(D) represents the input information bit stream. In other words, for the natural space-time code, the natural transmission format is used in which the output coded bits corresponding to gi(x) are transmitted via antenna i. The trellis codes are assumed to be terminated by tail bits. Thus, if x(D) is restricted to a block of N information bits, then C is an L×(N+ν) space-time code, where ν=max1≦i≦L{deg gi(x)} is the maximal memory order of the convolutional code C.

Theorem 14 The natural space-time code C associated with the rate 1/L convolutional code C satisfies the binary rank criterion, and thus achieves full spatial diversity L for BPSK transmission, if and only if the transfer function matrix G(D) of C has full rank L as a matrix of coefficients over .

Proof: Let gi(D)=gi0+gi1D+gi2D2+ . . . +givDv, where i=1, 2, . . . , L. Then, the result follows from the stacking construction applied to the generator matrices




  
    
      M
      i
    
    =
    
      [
      
        
          
            
              g
              i0
            
          
          
            
              g
              i1
            
          
          
            ...
          
          
            
              g
              iv
            
          
          
            0
          
          
            ...
          
          
            0
          
        
        
          
            0
          
          
            
              g
              i0
            
          
          
            
              g
              i1
            
          
          
            ...
          
          
            
              g
              iv
            
          
          
            ⋰
          
          
            ⋮
          
        
        
          
            ⋮
          
          
            ⋰
          
          
            ⋰
          
          
            ⋰
          
          
            ⋰
          
          
            ⋰
          
          
            0
          
        
        
          
            0
          
          
            ...
          
          
            0
          
          
            
              g
              i0
            
          
          
            
              g
              i1
            
          
          
            ...
          
          
            
              g
              iv
            
          
        
      
      ]
    
  
  ,




each of which is of dimension N×(N+ν).

Alternately, Theorem 14 is proven by observing that




  
    
      ∑
      
        1
        ≤
        i
        ≤
        L
      
    
    ⁢
    
      
        a
        i
      
      ⁢
      
        
          g
          i
        
        ⁡
        
          (
          D
          )
        
      
      ⁢
      
        x
        ⁡
        
          (
          D
          )
        
      
    
  
  =
  0




for some





  
    
      x
      ⁡
      
        (
        D
        )
      
    
    ≠
    
      0
      ⁢
      
        
      
      ⁢
      iff
      ⁢
      
        
          ∑
          
            1
            ≤
            i
            ≤
            L
          
        
        ⁢
        
          
            a
            i
          
          ⁢
          
            
              g
              i
            
            ⁡
            
              (
              D
              )
            
          
        
      
    
  
  =
  0.




This proof readily generalizes to recursive convolutional codes.

Since the coefficients of G(D) form a binary matrix of dimension L×(ν+1) and the column rank must be equal to the row rank, the theorem provides a simple bound as to how complex the convolutional code must be in order to satisfy the binary rank criterion. It has been showed that the bound is necessary for the trellis code to achieve full spatial diversity.
Corollary 15 In order for the corresponding natural space-time code to satisfy the binary rank criterion for spatial diversity L, a rate 1/L convolutional code C must have maximal memory order ν≧L−1.
Standard coding theory provides extensive tables of binary convolutional codes that achieve optimal values of free distance dfree. Although these codes are widely used in conventional systems, the formatting of them for use as space-time codes has not been studied previously. A significant aspect of the current invention is the separation of the channel code from the spatial formatting and modulation functions so that conventional channel codes can be adapted through use of the binary rank criteria of the present invention to space-time communication systems. In Table I, many optimal rate 1/L convolutional codes are listed whose natural space-time formatting in accordance with the present invention achieves full spatial diversity L. The table covers the range of constraint lengths ν=2 through 10 for L=2, 3, 4 and constraint lengths ν=2 through 8 for L=5, 6, 7, 8. Thus, Table I provides a substantial set of exemplary space-time codes of practical complexity and performance that are well-suited for wireless communication applications.
There are some gaps in Table I where the convolutional code with optimal dfree is not suitable as a space-time code. It is straightforward, however, to find many convolutional codes with near-optimal dfree that satisfy the stacking construction of the present invention.
In the table, the smallest code achieving full spatial diversity L has ν=L rather than ν=L−1. This is because every optimal convolutional code under consideration for the table has all of its connection polynomials of the form gi(D)=1+ . . . +Dν; hence, the first and last columns of G(D) are identical (all ones), so an additional column is needed to achieve rank L. Other convolutional codes of more general structure with ν=L−1 could also be found using the techniques of the present invention.







TABLE I







Binary Rate 1/L Convolutional Codes with Optimal dfree


whose Natural Space-Time Codes Achieve Full Spatial Diversity












L
ν
Connection Polynomials
dfree
















2
2
5, 7
5




3
64, 74
6




4
46, 72
7




5
65, 57
8




6
554, 744
10




7
712, 476
10




8
561, 753
12




9
4734, 6624
12




10
4672, 7542
14



3
3
54, 64, 74
10




4
52, 66, 76
12




5
47, 53, 75
13




6
554, 624, 764
15




7
452, 662, 756
16




8
557, 663, 711
18




9
4474, 5724, 7154
20




10
4726, 5562, 6372
22



4
4
52, 56, 66, 76
16




5
53, 67, 71, 75
18




7
472, 572, 626, 736
22




8
463, 535, 733, 745
24




9
4474, 5724, 7154, 7254
27




10
4656, 4726, 5562, 6372
29



5
5
75, 71, 73, 65, 57
22




7
536, 466, 646, 562, 736
28










In the stacking construction, the information vector x is the same for all transmit antennas. This is necessary to ensure full rank in general. For example, if T1(k)∩T2(k)≠{ 0}, then the space-time code consisting of the matrices




  
    c
    ⁡
    
      (
      
        
          x
          _
        
        ,
        
          y
          _
        
      
      )
    
  
  =
  
    [
    
      
        
          
            
              T
              1
            
            ⁡
            
              (
              
                x
                _
              
              )
            
          
        
      
      
        
          
            
              T
              2
            
            ⁡
            
              (
              
                y
                _
              
              )
            
          
        
      
    
    ]
  




cannot achieve full spatial diversity even if T1 and T2 satisfy the stacking construction constraints. In this case, choosing x, y so that T1( x)=T2( y)≠ 0 produces a code word matrix having two identical rows. One consequence of this fact is that the natural space-time codes associated with non-catastrophic convolutional codes of rate k/L with k>1 do not achieve full spatial diversity. The natural space-time codes associated with certain Turbo codes illustrate a similar failure mechanism. In the case of a systematic, rate 1⁄3 turbo code with two identical constituent encoders, the all-one input produces an output space-time code word having two identical rows.

2.2 New Space-Time Codes from Old

Transformations of space-time codes will now be discussed.
Theorem 16 Let C be an L×m space-time code satisfying the binary rank criterion. Given the linear vector-space transformation T: m→n, a new L×n space-time code T(C) is constructed consisting of all code word matrices




  
    
      T
      ⁡
      
        (
        c
        )
      
    
    =
    
      [
      
        
          
            
              T
              ⁡
              
                (
                
                  
                    c
                    _
                  
                  1
                
                )
              
            
          
        
        
          
            
              T
              ⁡
              
                (
                
                  
                    c
                    _
                  
                  2
                
                )
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              T
              ⁡
              
                (
                
                  
                    c
                    _
                  
                  L
                
                )
              
            
          
        
      
      ]
    
  
  ,




where c=[ c1 c2 . . . cL]TεC. Then, if T is nonsingular, T(C) satisfies the binary rank criterion and, for BPSK transmission, achieves full spatial diversity L.

Proof: Let c,c′εC, and consider the difference T(c)⊕T(c′)=T(Δc), where Δc=c⊕c′=[Δ c1Δ c2 . . . Δ cL]T≠ 0. Suppose

a1T(Δ c1)⊕a2T(Δ c2)⊕ . . . ⊕aLT(Δ cL)=0.

Then T(Δ c)=0 where Δ c=a1Δ c1⊕a2Δ c2⊕ . . . ⊕aLΔ cL. Since T is nonsingular, Δ c=0. But since C satisfies the binary rank criterion, a1=a2= . . . =aL=0.

Column transpositions applied uniformly to all code words in C, for example, do not affect the spatial diversity of the code. A more interesting interpretation of the theorem is provided by the concatenated coding scheme of FIG. 4 in which T is a simple differential encoder or a traditional [n,m] error control code that serves as a common inner code for each spatial transmission.
Given two full-diversity space-time codes that satisfy the binary rank criterion, they are combined into larger space-time codes that also achieve full spatial diversity. Let A be a linear L×nA space-time code, and let B be a linear L×nB space-time code, where L≦min{nA,nB}. Their concatenation is the L×(nA+nB) space-time code C1=|A|B| consisting of all code word matrices of the form c=|a|b|, where aεA, bεB.
A better construction is the space-time code C2=|A|A⊕B| consisting of the code word matrices c=|a|a⊕b|, where aεA, bεB. (Zero padding is used to perform the addition if nA≠nB.) Thus C2 is an L×(nA+max{nA,nB}) space-time code.
The following proposition illustrates the full spatial diversity of these codes.
Theorem 17 The space-time codes C1=|A|B| and C2=|A|A⊕B| satisfy the binary rank criterion if and only if the space-time codes A and B do.
As an application of the theorem, codes built according to the stacking construction can also be “de-stacked.”
Theorem 18 (De-stacking Construction) Let C be the L×n space-time code of dimension k consisting of the code word matrices




  
    c
    =
    
      [
      
        
          
            
              
                x
                _
              
              ⁢
              
                M
                1
              
            
          
        
        
          
            
              
                x
                _
              
              ⁢
              
                M
                2
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                x
                _
              
              ⁢
              
                M
                L
              
            
          
        
      
      ]
    
  
  ,




where M1, M2, . . . , ML satisfy the stacking construction. Let l=L/p be an integer divisor of L. Then the code Cl consisting of code word matrices





  c
  =
  
    [
    
      
        
          
            
              
                x
                _
              
              1
            
            ⁢
            
              M
              1
            
          
        
        
          
            
              
                x
                _
              
              2
            
            ⁢
            
              M
              
                l
                +
                1
              
            
          
        
        
          ...
        
        
          
            
              
                x
                _
              
              p
            
            ⁢
            
              M
              
                
                  
                    (
                    
                      p
                      -
                      1
                    
                    )
                  
                  ⁢
                  l
                
                +
                1
              
            
          
        
      
      
        
          
            
              
                x
                _
              
              1
            
            ⁢
            
              M
              2
            
          
        
        
          
            
              
                x
                _
              
              2
            
            ⁢
            
              M
              
                l
                +
                2
              
            
          
        
        
          ...
        
        
          
            
              
                x
                _
              
              p
            
            ⁢
            
              M
              
                
                  
                    (
                    
                      p
                      -
                      1
                    
                    )
                  
                  ⁢
                  l
                
                +
                2
              
            
          
        
      
      
        
          ⋮
        
        
          ⋮
        
        
          ⋰
        
        
          ⋮
        
      
      
        
          
            
              
                x
                _
              
              1
            
            ⁢
            
              M
              l
            
          
        
        
          
            
              
                x
                _
              
              2
            
            ⁢
            
              M
              
                2
                ⁢
                l
              
            
          
        
        
          ...
        
        
          
            
              
                x
                _
              
              p
            
            ⁢
            
              M
              L
            
          
        
      
    
    ]
  




is an L/p×pn space-time code of dimension pk that achieves full diversity L/p. Setting x1= x2= . . . = xp= x produces an L/p×pn space-time code of dimension k that achieves full diversity.

More generally, the following construction is provided in accordance with the present invention.

Theorem 19 (Multi-stacking Construction) Let M={M1, M2, . . . , ML} be a set of binary matrices of dimension k×n, n≧k, that satisfy the stacking construction constraints. For i=1, 2, . . . , m, let (M1i, M2i, . . . , Mli) be an l-tuple of distinct matrices from the set M. Then, the space-time code C consisting of the code words





  
    c
    =
    
      [
      
        
          
            
              
                
                  x
                  _
                
                1
              
              ⁢
              
                M
                11
              
            
          
          
            
              
                
                  x
                  _
                
                2
              
              ⁢
              
                M
                
                  l
                  +
                  12
                
              
            
          
          
            ...
          
          
            
              
                
                  x
                  _
                
                m
              
              ⁢
              
                M
                
                  1
                  ⁢
                  m
                
              
            
          
        
        
          
            
              
                
                  x
                  _
                
                1
              
              ⁢
              
                M
                21
              
            
          
          
            
              
                
                  x
                  _
                
                2
              
              ⁢
              
                M
                
                  l
                  +
                  22
                
              
            
          
          
            ...
          
          
            
              
                
                  x
                  _
                
                m
              
              ⁢
              
                M
                
                  2
                  ⁢
                  m
                
              
            
          
        
        
          
            ⋮
          
          
            ⋮
          
          
            ⋰
          
          
            ⋮
          
        
        
          
            
              
                
                  x
                  _
                
                1
              
              ⁢
              
                M
                l1
              
            
          
          
            
              
                
                  x
                  _
                
                2
              
              ⁢
              
                M
                l2
              
            
          
          
            ...
          
          
            
              
                
                  x
                  _
                
                m
              
              ⁢
              
                M
                lm
              
            
          
        
      
      ]
    
  
  ,




is an l×mn space-time code of dimension mk that achieves full spatial diversity l. Setting x1= x2= . . . = xm= x produces an l×mn space-time code of dimension k that achieves full spatial diversity.

These modifications of an existing space-time code implicitly assume that the channel remains quasi-static over the potentially longer duration of the new, modified code words. Even when this implicit assumption is not true and the channel becomes more rapidly time-varying, however, these constructions are still of interest. In this case, the additional coding structure is useful for exploiting the temporal as well as spatial diversity available in the channel. Section 5 discusses this aspect of the invention.
2.3 Space-Time Formatting of Binary Codes
Whether existing “time-only” binary error-correcting codes C can be formatted in a manner so as to produce a full-diversity space-time code C is now discussed. It turns out that the maximum achievable spatial diversity of a code is not only limited by the code's least weight code words but also by its maximal weight code words.
Theorem 20 Let C be a linear binary code of length n whose Hamming weight spectrum has minimum nonzero value dmin and maximum value dmax. Then, there is no BPSK transmission format for which the corresponding space-time code C achieves spatial diversity L>min{dmin,n−dmax+1}.
Proof: Let c be a code word of Hamming weight d=wt c. Then, in the baseband difference matrix (−1)c−(−1)0, between c and the all-zero code word 0, the value −2 appears d times and the value 0 appears n−d times. Thus, the rank can be no more than d, since each independent row must have a nonzero entry, and can be no more than n−d+1 since there must not be two identical rows containing only −2 entries. Therefore, the space-time code achieves spatial diversity at most




  
    L
    ≤
    
      
        min
        
          c
          ∈
          C
        
      
      ⁢
      
        {
        
          
            wt
            ⁢
            
              
            
            ⁢
            c
          
          ,
          
            n
            -
            
              wt
              ⁢
              
                
              
              ⁢
              c
            
            +
            1
          
        
        }
      
    
  
  =
  
    min
    ⁢
    
      
        {
        
          
            d
            min
          
          ,
          
            n
            -
            
              d
              max
            
            +
            1
          
        
        }
      
      .
    
  




This provides a general negative result useful in ruling out many classes of binary codes from consideration as space-time codes.
Corollary 21 If C is a linear binary code containing the all-1 code word, then there is no BPSK transmission format for which the corresponding space-time code C achieves spatial diversity L>1. Hence, the following binary codes admit no BPSK transmission format in which the corresponding space-time code achieves spatial diversity L>1:

    
    
        Repetition Codes
        Reed-Muller Codes
        Cyclic Codes.

As noted in the discussion of the stacking construction, it is possible to achieve full spatial diversity using repetition codes in a delay diversity transmission scheme. This does not contradict the corollary, however, since the underlying binary code in such a scheme is not strictly speaking a repetition code but a repetition code extended with extra zeros.

2.4 Exemplary Special Cases

    
    


In this section, special cases of the general theory for two and three antenna systems are considered exploring alternative space-time transmission formats and their connections to different partitionings of the generator matrix of the underlying binary code.
L=2 Diversity.
Let G=[I P] be a left-systematic generator matrix for a [2k,k] binary code C, where I is the k×k identity matrix. Each code word row vector c=(āIāP) has first half āI consisting of all the information bits and second half āP consisting of all the parity bits, where

āP=āIP

Let C be the space-time code derived from C in which the information bits are transmitted on the first antenna and the parity bits are transmitted simultaneously on the second antenna. The space-time code word matrix corresponding to c=(āIāP) is given by





  c
  =
  
    
      [
      
        
          
            
              
                a
                -
              
              I
            
          
        
        
          
            
              
                a
                -
              
              P
            
          
        
      
      ]
    
    .
  




The following proposition follows immediately from the stacking construction theorem.
Proposition 22 If the binary matrices P and I⊕P are of full rank over , then the space-time code C achieves full L=2 spatial diversity.
As a nontrivial example of a new space-time block code achieving L=2 spatial diversity, it is noted that both




  P
  =
  
    [
    
      
        
          1
        
        
          0
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
      
      
        
          0
        
        
          1
        
        
          1
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
        
          0
        
        
          0
        
        
          0
        
        
          1
        
      
      
        
          1
        
        
          1
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
        
          1
        
        
          0
        
        
          0
        
        
          1
        
        
          0
        
      
      
        
          1
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
        
          1
        
        
          0
        
        
          0
        
        
          1
        
        
          0
        
        
          1
        
      
      
        
          0
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          0
        
        
          0
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
      
      
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          0
        
        
          0
        
        
          0
        
        
          0
        
        
          1
        
        
          1
        
        
          0
        
      
      
        
          1
        
        
          1
        
        
          1
        
        
          0
        
        
          0
        
        
          0
        
        
          1
        
        
          1
        
        
          1
        
        
          0
        
        
          1
        
      
      
        
          1
        
        
          1
        
        
          0
        
        
          0
        
        
          0
        
        
          1
        
        
          0
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
      
      
        
          0
        
        
          1
        
        
          0
        
        
          0
        
        
          1
        
        
          0
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
        
          1
        
      
      
        
          0
        
        
          1
        
        
          0
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          1
        
        
          0
        
      
      
        
          0
        
        
          1
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
        
          0
        
        
          1
        
        
          1
        
        
          0
        
        
          0
        
      
    
    ⁢
    
      
    
    ]
  




and I⊕P are nonsingular over . Hence, the stacking construction produces a space-time code C achieving full L=2 spatial diversity. The underlying binary code C, with generator matrix G=[I|P], is an expurgated and punctured version of the Golay code 23. This is the first example of a space-time block code that achieves the highest possible bandwidth efficiency and provides coding gain as well as full spatial diversity.

The following proposition shows how to derive other L=2 space-time codes from a given one.
Proposition 23 if the binary matrix P satisfies the conditions of the above theorem, so do the binary matrices P2, PT, and UPU−1, where U is any change of basis matrix.
The (a|a+b) constructions are now reconsidered for the special case L=2. Let A and B be systematic binary [2 k,k] codes with minimum Hamming distances dA and dB and generator matrices GA=[I PA] and GB=[I PB], respectively. From the stacking construction, the corresponding space-time codes A and B have code word matrices




  
    
      c
      A
    
    =
    
      [
      
        
          
            
              
                a
                -
              
              I
            
          
        
        
          
            
              
                
                  a
                  _
                
                I
              
              ⁢
              
                P
                A
              
            
          
        
      
      ]
    
  
  ,
  
    
      c
      B
    
    =
    
      
        [
        
          
            
              
                
                  b
                  -
                
                I
              
            
          
          
            
              
                
                  
                    b
                    _
                  
                  I
                
                ⁢
                
                  P
                  B
                
              
            
          
        
        ]
      
      .
    
  




The |a|a⊕b| construction produces a binary [4 k,2k] code C with minimum Hamming distance dC=min{2dA,dB}. A nonsystematic generator matrix for C is given by




  
    G
    C
  
  =
  
    
      [
      
        
          
            
              G
              A
            
          
          
            
              G
              A
            
          
        
        
          
            0
          
          
            
              G
              B
            
          
        
      
      ]
    
    =
    
      
        [
        
          
            
              I
            
            
              
                P
                A
              
            
            
              I
            
            
              
                P
                A
              
            
          
          
            
              0
            
            
              0
            
            
              I
            
            
              
                P
                B
              
            
          
        
        ]
      
      .
    
  




Applying the stacking construction using the left and right halves of GC gives the space-time code C=|A|A⊕B| of Theorem 22, in which the code word matrices are of non-systematic form:





  
    c
    C
  
  =
  
    
      [
      
        
          
            
              
                a
                -
              
              I
            
          
          
            
              
                
                  a
                  -
                
                I
              
              ⊕
              
                
                  b
                  -
                
                I
              
            
          
        
        
          
            
              
                
                  a
                  -
                
                I
              
              ⁢
              
                P
                A
              
            
          
          
            
              
                
                  
                    a
                    -
                  
                  I
                
                ⁢
                
                  P
                  A
                
              
              ⊕
              
                
                  
                    b
                    -
                  
                  I
                
                ⁢
                
                  P
                  B
                
              
            
          
        
      
      ]
    
    .
  




A systematic version is now derived in accordance with the present invention.

Proposition 24 Let A and B be 2×k space-time codes satisfying the binary rank criterion. Let Cs be the 2×2 k space-time code consisting of the code word matrices





  c
  =
  
    
      [
      
        
          
            
              
                
                  a
                  -
                
                I
              
              ⁢
              
                
              
            
          
          
            
              
                
              
              ⁢
              
                
                  b
                  -
                
                I
              
              ⁢
              
                
              
            
          
        
        
          
            
              
                
                  a
                  _
                
                I
              
              ⁢
              
                P
                A
              
            
          
          
            
              
                
                  
                    a
                    _
                  
                  I
                
                ⁢
                
                  P
                  A
                
              
              ⊕
              
                
                  (
                  
                    
                      
                        a
                        _
                      
                      I
                    
                    ⊕
                    
                      
                        b
                        -
                      
                      I
                    
                  
                  )
                
                ⁢
                
                  P
                  B
                
              
            
          
        
      
      ]
    
    .
  




Then Cs also satisfies the binary rank criterion and achieves full L=2 spatial diversity.

Proof: Applying Gaussian elimination to GC and reordering columns produces the systematic generator matrix



  
    
      
        G
        C
      
      =
      
        [
        
          
            
              
                I
                
                  2
                  ⁢
                  k
                  ×
                  2
                  ⁢
                  k
                
              
            
            
              
                P
                C
              
            
          
        
        ]
      
    
    ,
    
      

    
    ⁢
    where
  




  
    
      P
      C
    
    =
    
      
        [
        
          
            
              
                P
                A
              
            
            
              
                
                  P
                  A
                
                ⊕
                
                  P
                  B
                
              
            
          
          
            
              0
            
            
              
                P
                B
              
            
          
        
        ]
      
      .
    
  



Note that PC is nonsingular since PA and PB are both nonsingular. Likewise,




  
    
      I
      
        2
        ⁢
        k
        ×
        2
        ⁢
        k
      
    
    ⊕
    
      P
      C
    
  
  =
  
    [
    
      
        
          
            I
            ⊕
            
              P
              A
            
          
        
        
          
            
              P
              A
            
            ⊕
            
              P
              B
            
          
        
      
      
        
          0
        
        
          
            I
            ⊕
            
              P
              B
            
          
        
      
    
    ]
  




is nonsingular since I⊕PA and I⊕PB are. The rest follows from the stacking construction.

An alternate transmission format for 2×k space-time codes is now considered. Let C be a linear, left-systematic [2 k,k] code with generator matrix




  G
  =
  
    [
    
      
        
          I
        
        
          0
        
        
          
            A
            11
          
        
        
          
            A
            12
          
        
      
      
        
          0
        
        
          I
        
        
          
            A
            21
          
        
        
          
            A
            22
          
        
      
    
    ]
  




where the submatrices I, 0, and Aij are of dimension k/2×k/2. In the new transmission format, the information vector is divided into two parts x1 and x2 which are transmitted across different antennas. Thus, the corresponding space-time code C consists of code word matrices of the form





  
    c
    =
    
      [
      
        
          
            
              
                x
                _
              
              1
            
          
          
            
              
                p
                _
              
              1
            
          
        
        
          
            
              
                x
                _
              
              2
            
          
          
            
              
                p
                _
              
              2
            
          
        
      
      ]
    
  
  ,




where p1= x1A11⊕ x2A21 and p2= x1A12⊕ x2A22.

For such codes, the following theorem gives sufficient conditions on the binary connection matrices to ensure full spatial diversity of the space-time code.
Proposition 25 Let A12, A21, and A=Σi=12(Ai1⊕Ai2) be non-singular matrices over . Then the space-time code C achieves full L=2 spatial diversity.
Proof: The conditions follow immediately from the stacking construction theorem applied to the matrices




  
    
      M
      1
    
    =
    
      [
      
        
          
            I
          
          
            
              A
              11
            
          
        
        
          
            0
          
          
            
              A
              12
            
          
        
      
      ]
    
  
  ,
  
    
      M
      2
    
    =
    
      [
      
        
          
            0
          
          
            
              A
              12
            
          
        
        
          
            I
          
          
            
              A
              22
            
          
        
      
      ]
    
  
  ,




since the sum M=M1⊕M2 may be reduced to the form





  M
  =
  
    [
    
      
        
          I
        
        
          
            
              A
              11
            
            ⊕
            
              A
              12
            
          
        
      
      
        
          0
        
        
          A
        
      
    
    ]
  




by Gaussian elimination.

The conditions of the proposition are not difficult to satisfy. For example, consider the linear 2×4 space-time code C whose code words




  c
  =
  
    [
    
      
        
          
            x
            11
          
        
        
          
            x
            12
          
        
        
          
            p
            11
          
        
        
          
            p
            12
          
        
      
      
        
          
            x
            21
          
        
        
          
            x
            22
          
        
        
          
            p
            21
          
        
        
          
            p
            22
          
        
      
    
    ]
  




are governed by the parity check equations

p11=x12⊕x21⊕x22

p12=x12⊕x22

p21=x11⊕x21

p22=x11⊕x12⊕x21.

The underlying binary code C has a generator matrix with submatrices





  
    
      
        
          
            A
            11
          
          =
          
            [
            
              
                
                  0
                
                
                  0
                
              
              
                
                  1
                
                
                  1
                
              
            
            ]
          
        
      
      
        
          
            A
            12
          
          =
          
            [
            
              
                
                  1
                
                
                  1
                
              
              
                
                  0
                
                
                  1
                
              
            
            ]
          
        
      
    
    
      
        
          
            A
            21
          
          =
          
            [
            
              
                
                  1
                
                
                  0
                
              
              
                
                  1
                
                
                  1
                
              
            
            ]
          
        
      
      
        
          
            A
            22
          
          =
          
            [
            
              
                
                  1
                
                
                  1
                
              
              
                
                  0
                
                
                  0
                
              
            
            ]
          
        
      
    
  
  ,




which meet the requirements of the proposition. Hence, C achieves 2-level spatial diversity.

L=3 Diversity.

Similar derivations for L=3 antennas are straightforward. The following example is interesting in that it provides maximum possible bandwidth efficiency (rate 1 transmission) while attaining full spatial diversity for BPSK or QPSK modulation. The space-time block codes derived from complex generalized orthogonal designs for L>2, on the other hand, achieve full diversity only at a loss in bandwidth efficiency. The problem of finding generalized orthogonal designs of rates greater than 3⁄4 for L>2 is a difficult problem. Further, rate 1 space-time block codes of short length can not be designed by using the general method of delay diversity. By contrast, the following rate 1 space-time block code for L=3 is derived by hand.
Let C consist of the code word matrices



  
    
      c
      =
      
        [
        
          
            
              
                
                  x
                  _
                
                ⁢
                
                  
                
                ⁢
                
                  M
                  1
                
              
            
          
          
            
              
                
                  x
                  _
                
                ⁢
                
                  
                
                ⁢
                
                  M
                  2
                
              
            
          
          
            
              
                
                  x
                  _
                
                ⁢
                
                  
                
                ⁢
                
                  M
                  3
                
              
            
          
        
        ]
      
    
    ,
    
      

    
    ⁢
    where
  




  
    
      
        M
        1
      
      =
      
        [
        
          
            
              1
            
            
              0
            
            
              0
            
          
          
            
              0
            
            
              1
            
            
              0
            
          
          
            
              0
            
            
              0
            
            
              1
            
          
        
        ]
      
    
    ,
    
      
        
          
            
              
                M
                2
              
              =
              
                [
                
                  
                    
                      0
                    
                    
                      0
                    
                    
                      1
                    
                  
                  
                    
                      1
                    
                    
                      0
                    
                    
                      1
                    
                  
                  
                    
                      0
                    
                    
                      1
                    
                    
                      0
                    
                  
                
                ]
              
            
            ,
          
        
        
          
            
              M
              3
            
            =
            
              
                [
                
                  
                    
                      0
                    
                    
                      1
                    
                    
                      0
                    
                  
                  
                    
                      0
                    
                    
                      1
                    
                    
                      1
                    
                  
                  
                    
                      1
                    
                    
                      0
                    
                    
                      1
                    
                  
                
                ]
              
              .
            
          
        
      
    
  



It is easily verified that M1, M2, M3 satisfy the stacking construction constraints. Thus, C is a 3×3 space-time code achieving full spatial diversity (for QPSK as well as BPSK transmission). Since C admits a simple maximum likelihood decoder (code dimension is three), it can be used as a 3-diversity space-time applique for BPSK- or QPSK-modulated systems similar to the 2-diversity orthogonal design scheme.

Similar examples for arbitrary L>3 can also be easily derived. For example, matrix M1 can be interpreted as the unit element in the Galois field GF(23); M2 as the primitive element in GF(23) satisfying α3=1+α; and M3 as its square α2. Since 1, α, α2 are linearly independent over , the BPSK stacking construction of the current invention is satisfied. Any set of linearly independent elements from GF(23) can be similarly expressed as a set of 3×3 matrices satisfying the BPSK stacking construction and hence would provide other examples of L=3 full spatial diversity space-time block codes in accordance with the teachings of the present invention. This construction method extends to an arbitrary number L of transmit antennas by selecting a set of L linearly independent elements in GF(2L).
3 Theory of QPSK Space-Time Codes
Due to the binary rank criterion developed for QPSK codes, the rich theory developed in section 2 for BPSK-modulated space-time codes largely carries over to QPSK modulation. Space-time codes for BPSK modulation are of fundamental importance in the theory of space-time codes for QPSK modulation.
3.1 4 Stacking Constructions
The binary indicant projections allow the fundamental stacking construction for BPSK-modulated space-time codes to be “lifted” to the domain of QPSK-modulated space-time codes.
Theorem 26 Let M1, M2, . . . , ML be 4-valued m×n matrices of standard row type 1l2m−l having the property that

∀a1, a2, . . . , aLε:

    
    
        a1Ξ(M1)⊕a2Ξ(M2)⊕ . . . ⊕aLΞ(ML) is nonsingular unless a1=a2= . . . =aL=0.

Let C be the L×n space-time code of size M=2l+m consisting of all matrices

    
    






  
    
      c
      ⁡
      
        (
        
          
            x
            _
          
          ,
          
            y
            _
          
        
        )
      
    
    =
    
      [
      
        
          
            
              
                (
                
                  
                    x
                    _
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    y
                    _
                  
                
                )
              
              ⁢
              
                M
                1
              
            
          
        
        
          
            
              
                (
                
                  
                    x
                    _
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    y
                    _
                  
                
                )
              
              ⁢
              
                M
                2
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                (
                
                  
                    x
                    _
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    y
                    _
                  
                
                )
              
              ⁢
              
                M
                L
              
            
          
        
      
      ]
    
  
  ,




where ( x y) denotes an arbitrary indexing vector of information symbols xε4l and yεm−l. Then, for QPSK transmission, C the QPSK binary rank criterion and achieves full spatial diversity L.

Proof: Suppose that for some x0, y0, not both zero, the code word c( x0, y0) has Ξ-projection not of full rank over . It must be shown that the matrices Mi do not have the stated nonsingularity property.
Case (i): β( x0)≠0
If there are rows of c that are multiples of two, the failure of the Mi to satisfy the nonsingularity property is easily seen. In this case, there is some row l of c for which

0=β(( X0 y0)Ml)=(β( x0) 0)Ξ(Ml).

Hence, Ξ(Ml) is singular, establishing the desired result.

Therefore, c is assumed to have no rows that are multiples of two, so that Ξ(c)=β(c). Then there exist a1, a2, . . . , aLε, not all zero, such that

0=a1β( x0M1)⊕a2β( x0M2)⊕ . . . ⊕aLβ( x0ML)=β( x0)(a1Ξ(M1)⊕a2Ξ(M2)⊕ . . . ⊕aLΞ(ML)).

Since β( x0)≠0, a1Ξ(M1)⊕a2Ξ(M2)⊕aLΞ(ML) is singular, as was to be shown.

Case (ii): β( x0)=0.
In this case, all of the rows of c are multiples of two. Letting




  
    c
    =
    
      [
      
        
          
            
              
                (
                
                  2
                  ⁢
                  
                    
                      x
                      _
                    
                    0
                    ′
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    0
                  
                
                )
              
              ⁢
              
                M
                1
              
            
          
        
        
          
            
              
                (
                
                  2
                  ⁢
                  
                    
                      x
                      _
                    
                    0
                    ′
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    0
                  
                
                )
              
              ⁢
              
                M
                2
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                (
                
                  2
                  ⁢
                  
                    
                      x
                      _
                    
                    0
                    ′
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    0
                  
                
                )
              
              ⁢
              
                M
                L
              
            
          
        
      
      ]
    
  
  ,




where x′0εl, then





  
    Ξ
    ⁡
    
      (
      c
      )
    
  
  =
  
    
      [
      
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    0
                    ′
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    0
                  
                
                )
              
              ⁢
              
                Ξ
                ⁡
                
                  (
                  
                    M
                    1
                  
                  )
                
              
            
          
        
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    0
                    ′
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    0
                  
                
                )
              
              ⁢
              
                Ξ
                ⁡
                
                  (
                  
                    M
                    2
                  
                  )
                
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    0
                    ′
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    0
                  
                
                )
              
              ⁢
              
                Ξ
                ⁡
                
                  (
                  
                    M
                    L
                  
                  )
                
              
            
          
        
      
      ]
    
    .
  




By hypothesis, there exist a1, a2, . . . , aLε, not all zero, such that

a1·( x′0 y0)Ξ(M1)⊕a2·( x′0 y0)Ξ(M2)⊕ . . . ⊕aL·( x′0 y0)Ξ(ML)=0

Then a1Ξ(M1)⊕a2Ξ(M2)⊕ . . . ⊕aLΞ(ML) is singular as was to be shown.

In summary, the stacking of 4-valued matrices produces a QPSK-modulated space-time code achieving full spatial diversity if the stacking of their Ξ-projections produces a BPSK-modulated space-time code achieving full diversity. Thus, the binary constructions lift in a natural way. Analogs of the transmit delay diversity construction, rate 1/L convolutional code construction, |A|A⊕B| construction, and multi-stacking construction all follow as immediate consequences of the QPSK stacking construction and the corresponding results for BPSK-modulated space-time codes.
Theorem 27 Let C be the 4-valued, L×(n+L−1) space-time code produced by applying the stacking construction to the matrices

M1=[G 0k×(L−1)], M2=[0k×1 G 0k×(L−2)], . . . , ML=[0k×(L−1) G],

where 0i×j denotes the all-zero matrix consisting of i rows and j columns and G is the generator matrix of a linear 4-valued code of length n. If Ξ(G) is of full rank over , then the QPSK-modulated code C achieves full spatial diversity L.

Theorem 28 The natural space-time code C associated with the rate 1/L convolutional code C over 4 achieves full spatial diversity L for QPSK transmission if the transfer function matrix G(D) of C has Ξ-projection of full rank L as a matrix of coefficients over .

Theorem 29 The 4-valued space-time codes C1=|A|B| and C2=|A|A⊕B| satisfy the QPSK binary rank criterion if and only if the 4-valued space-time codes A and B do.

Theorem 30 Let C be the L×n space-time code of size M−2u+m consisting of the code word matrices





  
    c
    =
    
      [
      
        
          
            
              
                (
                
                  
                    x
                    _
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    y
                    _
                  
                
                )
              
              ⁢
              
                M
                1
              
            
          
        
        
          
            
              
                (
                
                  
                    x
                    _
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    y
                    _
                  
                
                )
              
              ⁢
              
                M
                2
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                (
                
                  
                    x
                    _
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    y
                    _
                  
                
                )
              
              ⁢
              
                M
                L
              
            
          
        
      
      ]
    
  
  ,




where xε4u, yεm−u, and the 4-valued M1, M2, . . . , ML of standard row type 1u2m−u satisfy the stacking construction constraints for QPSK-modulated codes. For i=1, 2, . . . , m, let (M1i, M2i, . . . , Mli) be an i-tuple of distinct matrices from the set {M1, M2, . . . , ML}. Then, the space-time code Cl,m consisting of the code words





  c
  =
  
    [
    
      
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    1
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    1
                  
                
                )
              
              ⁢
              
                M
                11
              
            
          
        
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    1
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    1
                  
                
                )
              
              ⁢
              
                M
                21
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    1
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    1
                  
                
                )
              
              ⁢
              
                M
                l1
              
            
          
        
      
      ⁢
      
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    2
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    2
                  
                
                )
              
              ⁢
              
                M
                12
              
            
          
        
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    2
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    2
                  
                
                )
              
              ⁢
              
                M
                22
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    2
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    2
                  
                
                )
              
              ⁢
              
                M
                l2
              
            
          
        
      
      ⁢
      
        
          
            ...
          
        
        
          
            ...
          
        
        
          
            ⋱
          
        
        
          
            ⋯
          
        
      
      ⁢
      
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    m
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    m
                  
                
                )
              
              ⁢
              
                M
                
                  1
                  ⁢
                  m
                
              
            
          
        
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    m
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    m
                  
                
                )
              
              ⁢
              
                M
                
                  2
                  ⁢
                  m
                
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                (
                
                  
                    
                      x
                      _
                    
                    m
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      y
                      _
                    
                    m
                  
                
                )
              
              ⁢
              
                M
                
                  l
                  ⁢
                  
                    
                  
                  ⁢
                  m
                
              
            
          
        
      
    
    ]
  




is an l×mn space-time code of size Mm that achieves full diversity l. Setting ( x1 y1)=( x2 y2)= . . . =( xm ym)=( x y) produces an l×mn space-time code of size M that achieves full diversity.

As a consequence of these results, for example, the binary connection polynomials of Table I can be used as one aspect of the current invention to generate linear, 4-valued, rate 1/L convolutional codes whose natural space-time formatting achieves full spatial diversity L. More generally, any set of 4-valued connection polynomials whose modulo 2 projections appear in the table can be used.
The transformation theorem also extends to QPSK-modulated space-time codes in a straightforward manner.
Theorem 31 Let C be a 4-valued, L×m space-time code satisfying the QPSK binary rank criterion with respect to Ξ-indicants, and let M be an m×n 4-valued matrix whose binary projection β(M) is nonsingular over . Consider the L×n space-time code M(C) consisting of all code word matrices




  
    
      M
      ⁡
      
        (
        c
        )
      
    
    =
    
      [
      
        
          
            
              
                
                  c
                  _
                
                1
              
              ⁢
              M
            
          
        
        
          
            
              
                
                  c
                  _
                
                2
              
              ⁢
              M
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                
                  c
                  _
                
                L
              
              ⁢
              M
            
          
        
      
      ]
    
  
  ,




where c=[ c1  c2 . . . cL]TεC. Then, M(C) satisfies the QPSK binary rank criterion and thus, for QPSK transmission, achieves full spatial diversity L.

Proof: Let c, c′ be distinct code words in C, and let Δc=c⊖4c′. Without loss of generality, Δc is assumed to be of standard row type 1l2L−l. Since β(M) is nonsingular, we have β( x)β(M)=0 if and only if β( x)=0. Hence, M(Δc) is also of standard row type 1l2L−l. It is to be shown that Ξ(M(Δc)) is of rank L.
Note that




  
    
      Ξ
      ⁡
      
        (
        
          M
          ⁡
          
            (
            
              Δ
              ⁢
              
                
              
              ⁢
              c
            
            )
          
        
        )
      
    
    =
    
      [
      
        
          
            
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                        c
                        _
                      
                      1
                      ′
                    
                  
                  )
                
              
              ⁢
              
                β
                ⁡
                
                  (
                  M
                  )
                
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                        c
                        _
                      
                      l
                      ′
                    
                  
                  )
                
              
              ⁢
              
                β
                ⁡
                
                  (
                  M
                  )
                
              
            
          
        
        
          
            
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                        c
                        _
                      
                      
                        l
                        +
                        1
                      
                      ′
                    
                  
                  )
                
              
              ⁢
              
                β
                ⁡
                
                  (
                  M
                  )
                
              
            
          
        
        
          
            ⋮
          
        
        
          
            
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                        c
                        _
                      
                      L
                      ′
                    
                  
                  )
                
              
              ⁢
              
                β
                ⁡
                
                  (
                  M
                  )
                
              
            
          
        
      
      ]
    
  
  ,




where Δ ci=2Δ c′i for i>l. Suppose there are coefficients a1, a2, . . . , aLε such that





  
    
      
        0
        =
        
        ⁢
        
          
            
              
                a
                1
              
              ·
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        c
                        _
                      
                      1
                    
                  
                  )
                
              
            
            ⁢
            
              β
              ⁡
              
                (
                M
                )
              
            
          
          ⊕
          ...
          ⊕
          
            
              
                a
                l
              
              ·
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        c
                        _
                      
                      l
                    
                  
                  )
                
              
            
            ⁢
            
              β
              ⁡
              
                (
                M
                )
              
            
          
          ⊕
        
      
    
  
  
    
      
        
        ⁢
        
          
            
              
                a
                
                  l
                  +
                  1
                
              
              ·
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        c
                        _
                      
                      
                        l
                        +
                        1
                      
                      ′
                    
                  
                  )
                
              
            
            ⁢
            
              β
              ⁡
              
                (
                M
                )
              
            
          
          ⊕
          ...
          ⊕
          
            
              
                a
                L
              
              ·
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        c
                        _
                      
                      L
                      ′
                    
                  
                  )
                
              
            
            ⁢
            
              β
              ⁡
              
                (
                M
                )
              
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          [
          
            
              
                a
                1
              
              ⁢
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        c
                        _
                      
                      1
                    
                  
                  )
                
              
            
            ⊕
            ...
            ⊕
            
              
                a
                l
              
              ⁢
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        c
                        _
                      
                      l
                    
                  
                  )
                
              
            
            ⊕
          
        
      
    
  
  
    
      
        
          
          ⁢
          
            
              
                a
                
                  l
                  +
                  1
                
              
              ⁢
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        c
                        _
                      
                      
                        l
                        +
                        1
                      
                      ′
                    
                  
                  )
                
              
            
            ⊕
            ...
            ⊕
            
              
                a
                L
              
              ⁢
              
                β
                ⁡
                
                  (
                  
                    Δ
                    ⁢
                    
                      
                        c
                        _
                      
                      L
                      ′
                    
                  
                  )
                
              
            
          
          ]
        
        ⁢
        
          
            β
            ⁡
            
              (
              M
              )
            
          
          .
        
      
    
  




Then, since β(M) is nonsingular,

a1β(Δ c1)⊕ . . . ⊕alβ(Δ cl)⊕al+1β(Δ c′l+1)⊕ . . . ⊕aLβ(Δ c′L)=0.

But, by hypothesis, Ξ(Δc) is of full rank. Hence, a1=a2= . . . =aL=0, and therefore Ξ(M(Δc)) is also of full rank L as required.

As in the binary case, the transformation theorem implies that certain concatenated coding schemes preserve the full spatial diversity of a space-time code. Finally, the results in Section 2.4 regarding the special cases of L=2 and 3 for BPSK codes also lift to full diversity space-time codes for QPSK modulation.
3.2 Dyadic-Construction
Two BPSK space-time codes can be directly combined as in a dyadic expansion to produce a 4-valued space-time code for QPSK modulation. If the component codes satisfy the BPSK binary rank criterion, the composite code will satisfy the QPSK binary rank criterion. Such codes are also of interest because they admit low complexity multistage decoders based on the underlying binary codes.
Theorem 32 Let A and B be binary L×n space-time codes satisfying the BPSK binary rank criterion. Then the 4-valued space-time code C=A+2B is an L×n space-time code that satisfies the QPSK binary rank criterion and thus, for QPSK modulation, achieves full spatial diversity L.
Proof: Let z1=a1+2b, and z2=a2+2b2 be code words in C, with a1,a2εA and b1, b2εB. Then the 4 difference between the two code words is

Δz=Δa+2∇a+2Δb,

where Δa=a1⊕a2, Δb=b1⊕b2, and ∇a=(1⊕a1)⊙a2. In the latter expression, 1 denotes the all-one matrix and ⊙ denotes componentwise multiplication. The modulo 2 projection is β(Δz)=Δa, which is nonsingular and equal to Ξ(Δz) unless Δa=0. In the latter case, ∇a=0, so that Δz=2Δb. Then Ξ(Δz)=Δb, which is nonsingular unless Δb=0.

3.3 Mapping Codes to Space-Time Codes

Let C be a linear code of length n over 4. For any code word c, let wi( c) denote the number of times the symbol iε4 appears in c. Furthermore, let wi(C) denote the maximum number of times the symbol iε4 appears in any non-zero code word of C.
The following theorem is a straightforward generalization of the (dmin, dmax) upper bound on achievable spatial diversity for BPSK-modulated codes.
Theorem 33 Let C be a linear code of length n over 4. Then, for any QPSK transmission format, the corresponding space-time code C achieves spatial diversity at most

L≦min{n−w0(C),n−max{w1(C),w2(C),w−1(C)}+1}.

Proof: The same argument applies as in the BPSK case.
It is also worth pointing out that the spatial diversity achievable by a space-time code C is at most the spatial diversity achievable by any of its subcodes. For a linear 4-valued code C, the code 2C is a subcode whose minimum and maximum Hamming weights among non-zero code words-are given by




  
    
      
        
          
            
              d
              min
            
            ⁡
            
              (
              
                2
                ⁢
                C
              
              )
            
          
          =
          
          ⁢
          
            
              min
              
                
                  c
                  _
                
                ∈
                C
              
            
            ⁢
            
              {
              
                
                  
                    w
                    1
                  
                  ⁡
                  
                    (
                    
                      c
                      _
                    
                    )
                  
                
                +
                
                  
                    w
                    
                      -
                      1
                    
                  
                  ⁡
                  
                    (
                    
                      c
                      _
                    
                    )
                  
                
              
              }
            
          
        
        ,
      
    
  
  
    
      
        
          
            d
            max
          
          ⁡
          
            (
            
              2
              ⁢
              C
            
            )
          
        
        =
        
        ⁢
        
          
            max
            
              
                c
                _
              
              ∈
              C
            
          
          ⁢
          
            
              {
              
                
                  
                    w
                    1
                  
                  ⁡
                  
                    (
                    
                      c
                      _
                    
                    )
                  
                
                +
                
                  
                    w
                    
                      -
                      1
                    
                  
                  ⁡
                  
                    (
                    
                      c
                      _
                    
                    )
                  
                
              
              }
            
            .
          
        
      
    
  




Thus, the following result is produced.

Proposition 34 Let C be a linear code of length n over 4. Then, for any QPSK transmission format, the corresponding space-time code C achieves spatial diversity at most

L≦min{dmin(2C),n−dmax(2C)+1}.

4 Analysis of Existing Space-Time Codes

4.1 TSC Space-Time Trellis Codes

Investigation of the baseband rank and product distance criteria for a variety of channel conditions is known, as well as a small number of handcrafted codes for low levels of spatial diversity to illustrate the utility of space-time coding ideas. This investigation, however, has not presented any general space-time code designs or design rules of wide applicability.
For L=2 transmit antennas, four handcrafted 4 space-time trellis codes, containing 4, 8, 16, and 32 states respectively, are known which achieve full spatial diversity. The 4-state code satisfies simple known design rules regarding diverging and merging trellis branches, and therefore is of full rank, but other codes do not. These other codes require a more involved analysis exploiting geometric uniformity in order to confirm that full spatial diversity is achieved. The binary rank criterion for QPSK-modulated space-time codes of the present invention, however, allows this determination to be done in a straightforward manner. In fact, the binary analysis shows that all of the handcrafted codes employ a simple common device to ensure that full spatial diversity is achieved.
Convolutional encoder block diagrams for 4 codes of are shown in FIG. 5. The 4-state and 8-state codes are both linear over 4, with transfer function matrices G4(D)=[D 1] and G8(D)=[D+2D2 1+2D2], respectively. By inspection, both satisfy the QPSK binary rank criterion of the present invention and therefore achieve L=2 spatial diversity.
The 16-state and 32-state codes are nonlinear over 4. In this case, the binary rank criterion of the present invention is applied to all differences between code words. For the 16-state code, the code word matrices are of the following form:




  c
  =
  
    
      [
      
        
          
            
              
                x
                1
              
              ⁡
              
                (
                D
                )
              
            
          
        
        
          
            
              
                x
                2
              
              ⁡
              
                (
                D
                )
              
            
          
        
      
      ]
    
    =
    
      
        
          [
          
            
              
                
                  D
                  +
                  
                    2
                    ⁢
                    
                      D
                      2
                    
                  
                
              
              
                0
              
            
            
              
                
                  1
                  +
                  
                    2
                    ⁢
                    D
                  
                
              
              
                
                  2
                  ⁢
                  
                    D
                    2
                  
                
              
            
          
          ]
        
        ⁡
        
          [
          
            
              
                
                  z
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
            
            
              
                
                  α
                  ⁡
                  
                    (
                    
                      z
                      ⁡
                      
                        (
                        D
                        )
                      
                    
                    )
                  
                
              
            
          
          ]
        
      
      .
    
  




For the 32-state code, the code words are given by





  c
  =
  
    
      [
      
        
          
            
              
                x
                1
              
              ⁡
              
                (
                D
                )
              
            
          
        
        
          
            
              
                x
                2
              
              ⁡
              
                (
                D
                )
              
            
          
        
      
      ]
    
    =
    
      
        
          [
          
            
              
                
                  D
                  +
                  
                    2
                    ⁢
                    
                      D
                      2
                    
                  
                  +
                  
                    2
                    ⁢
                    
                      D
                      3
                    
                  
                
              
              
                
                  3
                  ⁢
                  
                    D
                    2
                  
                
              
            
            
              
                
                  1
                  +
                  D
                  +
                  
                    2
                    ⁢
                    
                      D
                      3
                    
                  
                
              
              
                
                  3
                  ⁢
                  
                    D
                    2
                  
                
              
            
          
          ]
        
        ⁡
        
          [
          
            
              
                
                  z
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
            
            
              
                
                  α
                  ⁡
                  
                    (
                    
                      z
                      ⁡
                      
                        (
                        D
                        )
                      
                    
                    )
                  
                
              
            
          
          ]
        
      
      .
    
  




Due to the initial delay structure (enclosed by dashed box in FIG. 5) that is common to all four code designs, the first unit input zt=±1—or first nonzero input zt=2 if z(D) consists only of multiples of 2—results in two consecutive columns that are multiples of [0 1]T and [1 x]T, where xε4 is arbitrary. The only exception occurs in the case of the 32-state code when the first ±1 is immediately preceded by a 2. In this case, the last nonzero entry results in a column that is a multiple of [1 ±1]T. Hence, the Ψ-projection of the code word differences is always of full rank. By the QPSK binary rank criterion of the present invention, all four codes achieve full L=2 spatial diversity.

For L=4 transmit antennas, the full-diversity space-time code corresponding to the linear 4-valued convolutional code with transfer function G(D)=[1 D D2 D3] is known as a simple form of repetition delay diversity. As noted in Theorem 13, this design readily generalizes to spatial diversity levels L>4 in accordance with the general design criteria of the present invention. The stacking and related constructions discussed above, however, provide more general full-diversity space-time codes for L>2.
4.2 GFK Space-Time Trellis Codes
For all L>2, it is known that trellis-coded delay diversity schemes achieve full spatial diversity with the fewest possible number of trellis states. As a generalization of the TSC simple design rules for L=2 diversity, the concept of zeroes symmetry to guarantee full spatial diversity for L≧2 is known.
A computer search has been undertaken to identify space-time trellis codes of full diversity and good coding advantage. A table of best known codes for BPSK modulation is available which covers the cases of L=2, 3, and 5 antennas. For QPSK codes, the table covers only L=2. The 4-state and 8-state QPSK codes provide 1.5 dB and 0.62 dB additional coding advantage, respectively, compared to the corresponding TSC trellis codes.
All of the BPSK codes satisfy the zeroes symmetry criterion. Since zeroes symmetry for BPSK codes is a very special case of satisfying the binary rank criterion of the present invention, all of the BPSK codes are special cases of the more general stacking construction of the present invention.
The known QPSK space-time codes are different. Some of the QPSK codes satisfy the zeroes symmetry criterion; some do not. Except for the trivial delay diversity code (constraint length ν=2 with zeroes symmetry), all of them are nonlinear codes over 4 that do not fall under any of our general constructions.
The QPSK code of constraint length ν=2 without zeroes symmetry consists of the code words c satisfying




  
    
      
        c
        ⁡
        
          (
          D
          )
        
      
      T
    
    =
    
      
        (
        
          
            a
            ⁡
            
              (
              D
              )
            
          
          ⁢
          
            b
            ⁡
            
              (
              D
              )
            
          
        
        )
      
      ⁡
      
        [
        
          
            
              1
            
            
              
                2
                ⁢
                D
              
            
          
          
            
              
                2
                ⁢
                D
              
            
            
              
                1
                +
                
                  2
                  ⁢
                  D
                
              
            
          
        
        ]
      
    
  
  ,




where a(D) and b(D) are binary information sequences and for simplicity + is used instead of ⊕4 to denote modulo 4 addition. The 4-difference between two code words c1 and c2, corresponding to input sequences (a1(D) b1(D)) and (a2(D) b2(D)), is given by





  
    
      Δ
      ⁢
      
        
      
      ⁢
      c
    
    =
    
      [
      
        
          
            
              
                Δ
                ⁢
                
                  
                
                ⁢
                
                  a
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
              +
              
                2
                ⁢
                
                  ∇
                  
                    a
                    ⁡
                    
                      (
                      D
                      )
                    
                  
                
              
              +
              
                2
                ⁢
                D
                ⁢
                
                  
                
                ⁢
                Δ
                ⁢
                
                  
                
                ⁢
                
                  b
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
            
          
        
        
          
            
              
                2
                ⁢
                D
                ⁢
                
                  
                
                ⁢
                Δ
                ⁢
                
                  
                
                ⁢
                
                  a
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
              +
              
                Δ
                ⁢
                
                  
                
                ⁢
                
                  b
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
              +
              
                2
                ⁢
                
                  ∇
                  
                    b
                    ⁡
                    
                      (
                      D
                      )
                    
                  
                
              
              +
              
                2
                ⁢
                D
                ⁢
                
                  
                
                ⁢
                Δ
                ⁢
                
                  
                
                ⁢
                
                  b
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
            
          
        
      
      ]
    
  
  ,




where Δa(D)=a1(D)⊕a2(D), ∇a(D)=(1⊕a1(D))⊙a2(D), and so forth. Here ⊙denotes componentwise multiplication (coefficient by coefficient).

Note that the 4-difference Δc is not a function of the binary differences Δa(D) and Δb(D) alone but depends on the individual input sequences a(D) and b(D) through the terms ∇a(D) and ∇b(D). If Δa(D)=a0+a1D+a2D2+ . . . +aNDN, (aiε), then

Δa(D)+2∇a(D)=±a0±a1D±a2D2± . . . ±aNDN,

for some suitable choice of sign at each coefficient.

Projecting the code word difference Δc modulo 2 gives




  
    
      β
      ⁡
      
        (
        
          Δ
          ⁢
          
            
          
          ⁢
          c
        
        )
      
    
    =
    
      [
      
        
          
            
              Δ
              ⁢
              
                
              
              ⁢
              
                a
                ⁡
                
                  (
                  D
                  )
                
              
            
          
        
        
          
            
              Δ
              ⁢
              
                
              
              ⁢
              
                b
                ⁡
                
                  (
                  D
                  )
                
              
            
          
        
      
      ]
    
  
  ,




which is nonsingular unless either (i) Δa(D)=0, Δb(D)≠0; (ii) Δb(D)=0, Δa(D)≠0; or (iii) Δa(D)=Δb(D)≠0. For case (i), one finds that





  
    
      Ξ
      ⁡
      
        (
        
          Δ
          ⁢
          
            
          
          ⁢
          c
        
        )
      
    
    =
    
      Δ
      ⁢
      
        
      
      ⁢
      
        
          b
          ⁡
          
            (
            D
            )
          
        
        ⁡
        
          [
          
            
              
                D
              
            
            
              
                1
              
            
          
          ]
        
      
    
  
  ,




which is nonsingular. For case (ii),





  
    
      Ξ
      ⁡
      
        (
        
          Δ
          ⁢
          
            
          
          ⁢
          c
        
        )
      
    
    =
    
      Δ
      ⁢
      
        
      
      ⁢
      
        
          a
          ⁡
          
            (
            D
            )
          
        
        ⁡
        
          [
          
            
              
                1
              
            
            
              
                D
              
            
          
          ]
        
      
    
  
  ,




which is also nonsingular. Finally, in case (iii),





  
    
      
        
          Δ
          ⁢
          
            
          
          ⁢
          c
        
        =
        
          
            [
            
              
                
                  
                    
                      Δ
                      ⁢
                      
                        
                      
                      ⁢
                      
                        a
                        ⁡
                        
                          (
                          D
                          )
                        
                      
                    
                    +
                    
                      2
                      ⁢
                      
                        ∇
                        
                          a
                          ⁡
                          
                            (
                            D
                            )
                          
                        
                      
                    
                    +
                    
                      2
                      ⁢
                      D
                      ⁢
                      
                        
                      
                      ⁢
                      Δ
                      ⁢
                      
                        
                      
                      ⁢
                      
                        a
                        ⁡
                        
                          (
                          D
                          )
                        
                      
                    
                  
                
              
              
                
                  
                    
                      Δ
                      ⁢
                      
                        
                      
                      ⁢
                      
                        a
                        ⁡
                        
                          (
                          D
                          )
                        
                      
                    
                    +
                    
                      2
                      ⁢
                      
                        ∇
                        
                          a
                          ⁡
                          
                            (
                            D
                            )
                          
                        
                      
                    
                  
                
              
            
            ]
          
          .
        
      
    
    
      
        (
        11
        )
      
    
  




Thus, the t-th column of Δc is given by




  
    
      h
      _
    
    t
  
  =
  
    
      [
      
        
          
            
              
                Δ
                ⁢
                
                  
                
                ⁢
                
                  a
                  t
                
              
              +
              
                2
                ⁢
                
                  ∇
                  
                    a
                    t
                  
                
              
              +
              
                2
                ⁢
                
                  
                
                ⁢
                Δ
                ⁢
                
                  
                
                ⁢
                
                  a
                  
                    t
                    -
                    1
                  
                
              
            
          
        
        
          
            
              
                Δ
                ⁢
                
                  
                
                ⁢
                
                  a
                  t
                
              
              +
              
                2
                ⁢
                
                  ∇
                  
                    a
                    t
                  
                
              
            
          
        
      
      ]
    
    .
  




Consider the first k for which Δak=1 and Δak+1=0 (guaranteed to exist since the trellis is terminated). Then the k-th and (k+1)-th columns of Δc are hk=[±1 ±1]T and hk+1=[2 0]T, respectively. Thus, Ψ(Δc) is nonsingular, and the QPSK binary rank criterion is satisfied. Note that it is the extra delay term in the upper expression of equation (11) that serves to guarantee full spatial diversity.

The QPSK code of constraint length ν=3 with zeroes symmetry consists of the code words c satisfying




  
    
      c
      ⁡
      
        (
        D
        )
      
    
    T
  
  =
  
    
      
        (
        
          
            a
            ⁡
            
              (
              D
              )
            
          
          ⁢
          
            b
            ⁡
            
              (
              D
              )
            
          
        
        )
      
      ⁡
      
        [
        
          
            
              
                1
                +
                
                  3
                  ⁢
                  D
                
              
            
            
              
                D
                +
                
                  D
                  2
                
              
            
          
          
            
              2
            
            
              
                2
                ⁢
                D
              
            
          
        
        ]
      
    
    .
  




For this code, the binary rank analysis is even simpler. The projection modulo 2 of the 4 difference Δc between two code words is given by





  
    
      β
      ⁡
      
        (
        
          Δ
          ⁢
          
            
          
          ⁢
          
            c
            ⁡
            
              (
              D
              )
            
          
        
        )
      
    
    =
    
      Δ
      ⁢
      
        
      
      ⁢
      
        
          a
          ⁡
          
            (
            D
            )
          
        
        ⁡
        
          [
          
            
              
                
                  1
                  ⊕
                  D
                
              
            
            
              
                
                  D
                  ⊕
                  
                    D
                    2
                  
                
              
            
          
          ]
        
      
    
  
  ,




which is nonsingular unless Δa(D)=0 and Δb(D)≠0. In the latter case,





  
    
      Δ
      ⁢
      
        
      
      ⁢
      c
    
    =
    
      Δ
      ⁢
      
        
      
      ⁢
      
        
          b
          ⁡
          
            (
            D
            )
          
        
        ⁡
        
          [
          
            
              
                2
              
            
            
              
                
                  2
                  ⁢
                  D
                
              
            
          
          ]
        
      
    
  
  ,




whose Ξ- and Ψ-indicants are nonsingular.

The QPSK code of constraint length ν=3 without zeroes symmetry, consisting of the code words




  
    
      
        c
        ⁡
        
          (
          D
          )
        
      
      T
    
    =
    
      
        (
        
          
            a
            ⁡
            
              (
              D
              )
            
          
          ⁢
          
            b
            ⁡
            
              (
              D
              )
            
          
        
        )
      
      ⁡
      
        [
        
          
            
              
                1
                +
                
                  2
                  ⁢
                  
                    D
                    2
                  
                
              
            
            
              
                D
                +
                
                  2
                  ⁢
                  
                    D
                    2
                  
                
              
            
          
          
            
              
                1
                +
                
                  2
                  ⁢
                  D
                
              
            
            
              2
            
          
        
        ]
      
    
  
  ,




does not satisfy the QPSK binary rank criterion. When Δa(D)=0 but Δb(D)≠0, the code word difference is





  
    
      Δ
      ⁢
      
        
      
      ⁢
      c
    
    =
    
      [
      
        
          
            
              
                Δ
                ⁢
                
                  
                
                ⁢
                
                  b
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
              +
              
                2
                ⁢
                
                  ∇
                  
                    b
                    ⁡
                    
                      (
                      D
                      )
                    
                  
                
              
              +
              
                2
                ⁢
                D
                ⁢
                
                  
                
                ⁢
                Δ
                ⁢
                
                  
                
                ⁢
                
                  b
                  ⁡
                  
                    (
                    D
                    )
                  
                
              
            
          
        
        
          
            
              2
              ⁢
              Δ
              ⁢
              
                
              
              ⁢
              
                b
                ⁡
                
                  (
                  D
                  )
                
              
            
          
        
      
      ]
    
  
  ,




for which Ξ(Δc) and Ψ(Δc) are both singular. The latter can be easily discerned from the fact that the second row of Δc is two times the first row.

4.3 BBH Space-Time Trellis Codes

Another computer search is known for L=2 QPSK trellis codes with 4, 8, and 16 states which is similar to the one discussed above. The results of the two computer searches agree regarding the optimal product distances; but, interestingly, the codes found by each have different generators. This indicates that, at least for L=2 spatial diversity, there is a multiplicity of optimal codes.
All of the BBH codes are non-linear over 4. The 4-state and 16-state codes consist of the following code word matrices:



  
    
      4
      ⁢
      
        -
      
      ⁢
      state
      ⁢
      
        :
      
      ⁢
      
        
      
      ⁢
      
        
          c
          ⁡
          
            (
            D
            )
          
        
        T
      
    
    =
    
      
        (
        
          
            a
            ⁡
            
              (
              D
              )
            
          
          ⁢
          
            b
            ⁡
            
              (
              D
              )
            
          
        
        )
      
      ⁡
      
        [
        
          
            
              
                2
                +
                D
              
            
            
              
                -
                D
              
            
          
          
            
              2
            
            
              
                2
                +
                D
              
            
          
        
        ]
      
    
  




  
    
      16
      ⁢
      
        -
      
      ⁢
      state
      ⁢
      
        :
      
      ⁢
      
        
      
      ⁢
      
        
          c
          ⁡
          
            (
            D
            )
          
        
        T
      
    
    =
    
      
        
          (
          
            
              a
              ⁡
              
                (
                D
                )
              
            
            ⁢
            
              b
              ⁡
              
                (
                D
                )
              
            
          
          )
        
        ⁡
        
          [
          
            
              
                
                  1
                  +
                  
                    2
                    ⁢
                    D
                  
                
              
              
                
                  2
                  +
                  D
                  +
                  
                    2
                    ⁢
                    
                      D
                      2
                    
                  
                
              
            
            
              
                
                  2
                  +
                  
                    2
                    ⁢
                    
                      D
                      2
                    
                  
                
              
              
                
                  2
                  ⁢
                  D
                
              
            
          
          ]
        
      
      .
    
  



The analysis showing that these two codes satisfy the QPSK binary rank criterion is straight-forward and similar to that given for the GFK codes.

The 8-state BBH code consists of the code word matrices




  
    
      
        c
        ⁡
        
          (
          D
          )
        
      
      T
    
    =
    
      
        (
        
          
            a
            ⁡
            
              (
              t
              )
            
          
          ⁢
          
            b
            ⁡
            
              (
              t
              )
            
          
        
        )
      
      ⁡
      
        [
        
          
            
              D
            
            
              1
            
          
          
            
              
                2
                +
                
                  2
                  ⁢
                  D
                
                +
                
                  2
                  ⁢
                  
                    D
                    2
                  
                
              
            
            
              
                2
                +
                
                  2
                  ⁢
                  D
                
              
            
          
        
        ]
      
    
  
  ,




which expression can be rearranged to give





  
    c
    ⁡
    
      (
      D
      )
    
  
  =
  
    
      
        a
        ⁡
        
          (
          D
          )
        
      
      ⁡
      
        [
        
          
            
              D
            
          
          
            
              1
            
          
        
        ]
      
    
    +
    
      2
      ⁢
      
        
          
            b
            ⁡
            
              (
              D
              )
            
          
          ⁡
          
            [
            
              
                
                  
                    1
                    +
                    D
                    +
                    
                      D
                      2
                    
                  
                
              
              
                
                  
                    1
                    +
                    
                      D
                      2
                    
                  
                
              
            
            ]
          
        
        .
      
    
  




Whereas the GFK 8-state code does not satisfy the QPSK binary rank criterion, the BBH 8-state code does and is in fact an example of our dyadic construction C=A+2B. By inspection, the two binary component space-time codes A and B, with transfer functions





  
    
      
        
          
            G
            A
          
          ⁡
          
            (
            D
            )
          
        
        =
        
          [
          
            
              
                D
              
            
            
              
                1
              
            
          
          ]
        
      
    
    
      
        
          
            
              G
              B
            
            ⁡
            
              (
              D
              )
            
          
          =
          
            [
            
              
                
                  
                    1
                    ⊕
                    D
                    ⊕
                    
                      D
                      2
                    
                  
                
              
              
                
                  
                    1
                    ⊕
                    
                      D
                      2
                    
                  
                
              
            
            ]
          
        
        ,
      
    
  




respectively, both satisfy the BPSK binary rank criterion.

These results show that the class of space-time codes satisfying the binary rank criteria is indeed rich and includes, for every case searched thus far, optimal codes with respect to coding advantage.
4.4 Space-Time Block Codes from Orthogonal Designs
Known orthogonal designs can give rise to nonlinear space-time codes of very short block length provided the PSK modulation format is chosen so that the constellation is closed under complex conjugation.
Consider the known design in which the modulated code words are of the form




  
    [
    
      
        
          
            κ
            1
          
        
        
          
            κ
            2
            *
          
        
      
      
        
          
            κ
            2
          
        
        
          
            -
            
              κ
              1
              *
            
          
        
      
    
    ]
  
  ,




where x1, x2 are BPSK constellation points. Assuming the on-axis BPSK constellation, the corresponding space-time block code C consists of all binary matrices of the form





  c
  =
  
    
      [
      
        
          
            a
          
          
            b
          
        
        
          
            b
          
          
            
              1
              ⊕
              a
            
          
        
      
      ]
    
    .
  




This simple code provides L=2 diversity gain but no coding gain. The difference between two modulated code words has determinant




  
    
      det
      ⁢
      
        
        
          
            
              
                
                  
                    
                      (
                      
                        -
                        1
                      
                      )
                    
                    
                      a
                      1
                    
                  
                  -
                  
                    
                      (
                      
                        -
                        1
                      
                      )
                    
                    
                      a
                      2
                    
                  
                
              
            
            
              
                
                  
                    
                      (
                      
                        -
                        1
                      
                      )
                    
                    
                      b
                      1
                    
                  
                  -
                  
                    
                      (
                      
                        -
                        1
                      
                      )
                    
                    
                      b
                      2
                    
                  
                
              
            
          
          ⁢
          
            
              
                
                  
                    
                      (
                      
                        -
                        1
                      
                      )
                    
                    
                      b
                      1
                    
                  
                  -
                  
                    
                      (
                      
                        -
                        1
                      
                      )
                    
                    
                      b
                      2
                    
                  
                
              
            
            
              
                
                  -
                  
                    [
                    
                      
                        
                          (
                          
                            -
                            1
                          
                          )
                        
                        
                          a
                          1
                        
                      
                      -
                      
                        
                          (
                          
                            -
                            1
                          
                          )
                        
                        
                          a
                          2
                        
                      
                    
                    ]
                  
                
              
            
          
        
        
      
    
    =
    
      -
      
        (
        
          
            
              [
              
                
                  
                    (
                    
                      -
                      1
                    
                    )
                  
                  
                    a
                    1
                  
                
                -
                
                  
                    (
                    
                      -
                      1
                    
                    )
                  
                  
                    a
                    2
                  
                
              
              ]
            
            2
          
          +
          
            
              [
              
                
                  
                    (
                    
                      -
                      1
                    
                    )
                  
                  
                    b
                    1
                  
                
                -
                
                  
                    (
                    
                      -
                      1
                    
                    )
                  
                  
                    b
                    2
                  
                
              
              ]
            
            2
          
        
        )
      
    
  
  ,




which is zero if and only if the two code words are identical (a1=a2 and b1=b2). On the other hand, the corresponding binary difference of the unmodulated code words is given by





  
    Δ
    ⁢
    
      
    
    ⁢
    c
  
  =
  
    
      [
      
        
          
            
              
                a
                1
              
              ⊕
              
                a
                2
              
            
          
          
            
              
                b
                1
              
              ⊕
              
                b
                2
              
            
          
        
        
          
            
              
                b
                1
              
              ⊕
              
                b
                2
              
            
          
          
            
              
                a
                1
              
              ⊕
              
                a
                2
              
            
          
        
      
      ]
    
    .
  




But, if a1⊕a2=b1⊕b2=1, for example, the difference is





  
    
      Δ
      ⁢
      
        
      
      ⁢
      c
    
    =
    
      [
      
        
          
            1
          
          
            1
          
        
        
          
            1
          
          
            1
          
        
      
      ]
    
  
  ,




a matrix that is singular over . Hence, C full spatial diversity but does not satisfy the BPSK binary rank criterion.

5 Extensions to Non-Quasi-Static Fading Channels

For the fast fading channel, the baseband model differs from equation (1) discussed in the background in that the complex path gains now vary independently from symbol to symbol:




  
    
      
        
          y
          t
          j
        
        =
        
          
            
              ∑
              
                i
                =
                1
              
              n
            
            ⁢
            
              
                
                  α
                  ij
                
                ⁡
                
                  (
                  t
                  )
                
              
              ⁢
              
                s
                t
                i
              
              ⁢
              
                
                  E
                
                s
              
            
          
          +
          
            
              n
              t
              j
            
            .
          
        
      
    
    
      
        (
        12
        )
      
    
  




Let code word c be transmitted. In this case, the pairwise error probability that the decoder will prefer the alternate code word e to c can be upper bounded by





  
    
      
        
          P
          ⁡
          
            (
            
              
                c
                ->
                e
              
              ❘
              
                {
                
                  
                    α
                    ij
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
                }
              
            
            )
          
        
        ≤
        
        ⁢
        
          
            (
            
              1
              
                
                  ∏
                  
                    t
                    =
                    1
                  
                  n
                
                ⁢
                
                  (
                  
                    1
                    +
                    
                      
                        
                          
                          
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    c
                                    _
                                  
                                  t
                                
                                )
                              
                            
                            -
                            
                              f
                              ⁡
                              
                                (
                                
                                  
                                    e
                                    _
                                  
                                  t
                                
                                )
                              
                            
                          
                          
                        
                        2
                      
                      ⁢
                      
                        
                          E
                          s
                        
                        /
                        4
                      
                      ⁢
                      
                        N
                        0
                      
                    
                  
                  )
                
              
            
            )
          
          
            L
            r
          
        
      
    
  
  
    
      
        
          ≤
          
          ⁢
          
            
              (
              
                
                  μ
                  ⁢
                  
                    
                  
                  ⁢
                  
                    E
                    s
                  
                
                
                  4
                  ⁢
                  
                    N
                    0
                  
                
              
              )
            
            
              
                -
                d
              
              ⁢
              
                
              
              ⁢
              
                L
                r
              
            
          
        
        ,
      
    
  




where ct is the t-th column of c, ēt is the t-th column of e, d is the number of columns ct that are different from ēt, and





  μ
  =
  
    
      
        (
        
          
            ∏
            
              
                
                  c
                  -
                
                t
              
              ≠
              
                
                  e
                  -
                
                t
              
            
          
          ⁢
          
            
              
              
                
                  f
                  ⁡
                  
                    (
                    
                      
                        c
                        _
                      
                      t
                    
                    )
                  
                
                -
                
                  f
                  ⁡
                  
                    (
                    
                      
                        e
                        _
                      
                      t
                    
                    )
                  
                
              
              
            
            2
          
        
        )
      
      
        1
        /
        d
      
    
    .
  




The diversity advantage is now dLr, and the coding advantage is μ.

Thus, the design criteria for space-time codes over fast fading channels are the following:

    (1) Distance Criterion: Maximize the number of column differences d=|{t: ct≠ēt}| over all pairs of distinct code words c, eεC, and
    (2) Product Criterion: Maximize the coding advantage






  μ
  =
  
    
      
        (
        
          
            ∏
            
              
                
                  c
                  -
                
                t
              
              ≠
              
                
                  e
                  -
                
                t
              
            
          
          ⁢
          
            
              
              
                
                  f
                  ⁡
                  
                    (
                    
                      
                        c
                        _
                      
                      t
                    
                    )
                  
                
                -
                
                  f
                  ⁡
                  
                    (
                    
                      
                        e
                        _
                      
                      t
                    
                    )
                  
                
              
              
            
            2
          
        
        )
      
      
        1
        /
        d
      
    
    .
  




     over all pairs of distinct code words c, eεC.

Since real fading channels are neither quasi-static nor fast fading but something in between, designing space-time-codes based on a combination of the quasi-static and fast fading design criteria is useful. Space-time codes designed according to the hybrid criteria are hereafter referred to as “smart greedy codes,” meaning that the codes seek to exploit both spatial and temporal diversity whenever available.



A handcrafted example of a two-state smart-greedy space-time trellis code for L=2 antennas and BPSK modulation is known. This code is a special case of the multi-stacking construction of the present invention applied to the two binary rate 1⁄2 convolutional codes having respective transfer function matrices




  
    
      
        G
        1
      
      ⁡
      
        (
        D
        )
      
    
    =
    
      [
      
        
          
            
              1
              ⊕
              D
            
          
        
        
          
            D
          
        
      
      ]
    
  
  ,
  
    
      
        G
        2
      
      ⁡
      
        (
        D
        )
      
    
    =
    
      
        [
        
          
            
              1
            
          
          
            
              
                1
                ⊕
                D
              
            
          
        
        ]
      
      .
    
  




The known M-TCM example can also be analyzed using the binary rank criteria. Other smart-greedy examples are based on traditional concatenated coding schemes with space-time trellis codes as inner codes.

The general |A|B|, |A|A⊕B|, de-stacking, multi-stacking, and concatenated code constructions of the present invention provide a large class of space-time codes that are “smart-greedy.” Furthermore, the common practice in wireless communications of interleaving within code words to randomize burst errors on such channels is a special case of the transformation theorem. Specific examples of new, more sophisticated smart-greedy codes can be easily obtained, for example, by de-stacking or multi-stacking the space-time trellis codes of Table I. These latter designs make possible the design of space-time overlays for existing wireless communication systems whose forward error correction schemes are based on standard convolutional codes. The extra diversity of the spatial overlay would then serve to augment the protection provided by the traditional temporal coding.
6 Extensions to Higher Order Constellations
Direct extension of the binary rank analysis in accordance with the present invention to general L×n space-time codes over the alphabet 2r for 2r-PSK modulation with r≧3 is difficult. Special cases such as 8-PSK codes with L=2, however, are tractable. Thus, known 8PSK-modulated space-time codes are covered by the binary rank criteria of the present invention.
For general constellations, multi-level coding techniques can produce powerful space-time codes for high bit rate applications while admitting a simpler multi-level decoder. Multi-level PSK constructions are possible using methods of the present invention. Since at each level binary decisions are made, the binary rank criteria can be used in accordance with the present invention to design space-time codes that provide guaranteed levels of diversity at each bit decision.
To summarize, general design criteria for PSK-modulated space-time codes have been developed in accordance with the present invention, based on the binary rank of the unmodulated code words, to ensure that full spatial diversity is achieved. For BPSK modulation, the binary rank criterion provides a complete characterization of space-time codes achieving full spatial diversity when no knowledge is available regarding the distribution of ±signs among the baseband differences. For QPSK modulation, the binary rank criterion is also broadly applicable. The binary design criteria significantly simplify the problem of designing space-time codes to achieve full spatial diversity. Much of what is currently known about PSK-modulated space-time codes is covered by the design criteria of the pressent invention. Finally, several new construction methods of the present invention are provided that are general. Powerful exemplary codes for both quasi-static and time-varying fading channels have been identified based on the constructions of the current invention and the exemplary set of convolutional codes of Table I.

## Claims

1. A method comprising:
parsing code word symbols for allocation to a plurality of antenna elements,
wherein the code word symbols have length of a multiple N of the number of the antenna elements L,
wherein the parsed code word symbols are mapped onto constellation points from a discrete complex-valued signaling constellation for transmission via the antenna elements.

2. The method according to claim 1, further comprising:
segmenting transmit data blocks into fixed frame lengths for generating information symbols, corresponding to the code word symbols, from a discrete alphabet of symbols.

3. The method according to claim 1, further comprising:
transmitting a signal representing the code word symbols according to Code Division Multiple Access (CDMA).

4. The method according to claim 1, further comprising:
transmitting a signal representing the code word symbols according to Time Division Multiple Access (TDMA).

5. The method according to claim 1, wherein the length N of the code word symbols is parsed among L of the antenna elements.

6. The method according to claim 1, wherein the code word symbols are based on a class of space-time codes satisfying a binary rank criteria.

7. The method according to claim 1, wherein the code word symbols are based on a stacking space-time code construction.

8. The method according to claim 1, further comprising:
modulating the parsed code word symbols using binary phase shift keying (BPSK) modulation, wherein the code word symbols are convolutionally encoded for presentation across the antenna elements.

9. The method according to claim 1, wherein the code word symbols are based on a concatenated space-time code having an outer code that is used to satisfy a binary rank criteria.

10. The method according to claim 1, further comprising:
modulating the parsed code word symbols using quadrature phase shift keying (QPSK) modulation, wherein the code word symbols are spacetime codes covered by a stacking, multi-stacking, or de-stacking construction for QPSK.

11. The method according to claim 10, wherein each of the space-time codes is based on formatting an output of a linear convolutional code over the ring of integers modulo 4 for presentation across the antenna elements.

12. The method according to claim 1, further comprising:
modulating the parsed code word symbols using quadrature phase shift keying (QPSK) modulation, wherein the code word symbols are spacetime codes that employ a dyadic construction.

13. The method according to claim 1, further comprising:
modulating the parsed code word symbols using multi-level coded modulation, wherein multi-stage decoding is used and a binary space-time code employed in each level belongs to the class of codes that satisfy the binary rank criterion or any one of a stacking, multi-stacking, or de-stacking construction.

14. The method according to claim 1, wherein M-ary PSK modulation, M=8 or more, is used and a space-time code belongs to a class satisfying the binary rank criteria.

15. The method according to claim 1, wherein the code word symbols are based on graphical space-time codes that are designed such that the code generating matrix satisfies the stacking, multi-stacking, or de-stacking construction.

16. An apparatus comprising:
a spatial formatter configured to parse code word symbols for allocation to a plurality of antenna elements,
wherein the code word symbols have length of a multiple N of the number of the antenna elements L,
wherein the parsed code word symbols are mapped onto constellation points from a discrete complex-valued signaling constellation for transmission via the antenna elements.

17. The apparatus according to claim 16, further comprising:
a framer configured to segment transmit data blocks into fixed frame lengths for generating information symbols, corresponding to the code word symbols, from a discrete alphabet of symbols.

18. The apparatus according to claim 16, wherein the antenna elements transmit a signal representing the code word symbols according to Code Division Multiple Access (CDMA).

19. The apparatus according to claim 16, wherein the antenna elements transmit a signal representing the code word symbols according to Time Division Multiple Access (TDMA).

20. The apparatus according to claim 16, wherein the length N of the code word symbols is parsed among L of the antenna elements.

21. The apparatus according to claim 16, wherein the code word symbols are based on a class of space-time codes satisfying a binary rank criteria.

22. The apparatus according to claim 16, wherein the code word symbols are based on a stacking space-time code construction.

23. The apparatus according to claim 16, further comprising:
a modulator configured to modulate the parsed code word symbols using binary phase shift keying (BPSK) modulation, wherein the code word symbols are convolutionally encoded for presentation across the antenna elements.

24. The apparatus according to claim 16, wherein the code word symbols are based on a concatenated space-time code having an outer code that is used to satisfy a binary rank criteria.

25. The apparatus according to claim 16, further comprising:
a modulator configured to modulate the parsed code word symbols using quadrature phase shift keying (QPSK) modulation, wherein the code word symbols are spacetime codes covered by a stacking, multi-stacking, or de-stacking construction for QPSK.

26. The apparatus according to claim 25, wherein each of the space-time codes is based on formatting an output of a linear convolutional code over the ring of integers modulo 4 for presentation across the antenna elements.

27. The apparatus according to claim 16, further comprising:
a modulator configured to modulate the parsed code word symbols using quadrature phase shift keying (QPSK) modulation, wherein the code word symbols are spacetime codes that employ a dyadic construction.

28. The apparatus according to claim 16, further comprising:
a modulator configured to modulate the parsed code word symbols using multi-level coded modulation, wherein multi-stage decoding is used and a binary space-time code employed in each level belongs to the class of codes that satisfy the binary rank criterion or any one of a stacking, multi-stacking, or de-stacking construction.

29. The apparatus according to claim 16, wherein M-ary PSK modulation, M=8 or more, is used and a space-time code belongs to a class satisfying the binary rank criteria.

30. The apparatus according to claim 16, wherein the code word symbols are based on graphical space-time codes that are designed such that the code generating matrix satisfies the stacking, multi-stacking, or de-stacking construction.

31. A system comprising:
a plurality of antenna elements; and
circuitry configured to parse code word symbols for allocation to the antenna elements,
wherein the code word symbols have length of a multiple N of the number of the antenna elements L,
wherein the parsed code word symbols are mapped onto constellation points from a discrete complex-valued signaling constellation for transmission via the antenna elements.