Abstract:
In a method of wireless transmission, space time matrices are used to spread the transmission of data over two or more transmit antennas and/or over two or more symbol intervals. Initially, blocks of data are encoded as symbols, each being a complex amplitude selected from a symbol constellation. A finite set of space-time matrices, referred to as “dispersion matrices,” is predetermined. In transmission, a group of symbols are transmitted concurrently. Each of the symbols to be transmitted is multiplied by a respective dispersion matrix. Thus, a composite matrix, proportional to a sum of dispersion matrices multiplied by their corresponding symbols, is modulated onto a carrier and transmitted. In reception, knowledge of the dispersion matrices is used to recover the transmitted symbols from the received signals corresponding to the composite matrix that was transmitted.

Description:
FIELD OF THE INVENTION  
         [0001]    This invention relates to wireless radiofrequency communication, and more specifically, to methods of signal modulation for communication using multiple-antenna arrays.  
         ART BACKGROUND  
         [0002]    In wireless communication, certain advantages are offered by the use of multiple antenna elements for transmission, whether with one or with more than one receiving antenna element. These advantages include the potential to mitigate fading effects, and the potential to increase data transmission rates in a propagation channel of given characteristics.  
           [0003]    A variety of schemes have been proposed for modulating data to be transmitted from a multiple-element array. In some of these schemes, referred to generally as space-time modulation, the data are transmitted in the form of codewords distributed in space—i.e., across the antenna array—and in time. Such a codeword comprises a plurality of complex-valued amplitudes modulated onto a carrier wave.  
           [0004]    Within a given time interval, referred to as a symbol interval, a complex amplitude (which might be zero) is transmitted from each element of the antenna array. Conversely, at each element of the array, a sequence of amplitudes is transmitted over a succession of symbol intervals. The concurrent transmission of amplitudes from the elements of the array during one symbol interval is referred to as a channel use.  
           [0005]    A codeword of the kind described above can be represented by a matrix. The respective entries of the matrix are proportional to the complex amplitudes to be transmitted. Each column of the matrix corresponds, e.g., to a respective transmitting antenna, and each row corresponds, e.g., to a respective symbol interval.  
           [0006]    A variety of schemes have also been proposed for recovering the transmitted data from signals received by a single receiving antenna or a multiple-element receiving antenna array. Mathematical models of the propagation channel between the transmitting and receiving antennas generally include a matrix of channel coefficients, each such coefficient relating the amplitude received at a given element of the receiving array to the amplitude transmitted from a given element of the transmitting array. In some of the known reception schemes, the channel coefficients are assumed to be known, exemplarily from measurements made using pilot signals.  
           [0007]    When the channel coefficients are known, methods of signal recovery can be used that effectively invert the channel matrix. Both direct and indirect methods are known for effectively inverting the channel matrix. Among the indirect methods are Maximum Likelihood (ML) detectors. Given an estimate of the channel matrix and a received signal, an ML detector computes a likelihood score for each of a plurality of candidate codewords, and selects that candidate codeword that yields the highest score. Because of noise and uncertainties in the channel coefficients due to fading, received signals are generally corrupted to a greater or lesser extent. Thus, it is advantageous to use codewords for which the likelihood scores have high discriminating power, even in the presence of fading and noise.  
           [0008]    One known method of space time modulation is V-BLAST. In V-BLAST, an initial stream of data is apportioned into separate sequences of amplitudes, each of which is independently transmitted from one of the transmitting antenna elements. In effect, the codeword can be represented by a row vector having M entries, where M is the number of transmitting antennas. The single row represents a single symbol interval. Typically, a new codeword is transmitted in each symbol interval. The independent sequence of amplitudes transmitted by each antenna can be referred to as a substream because it contains a respective subset of the data in the initial data stream.  
           [0009]    Several schemes have been described for recovering V-BLAST signals. Some such schemes use ML detectors. According to another such scheme, the entries of the transmitted vector are recovered one-by-one, with each successive recovery utilizing the results of the previous recoveries. One example of such a scheme is described in the co-pending U.S. patent application Ser. No. 09/438,900, filed Nov. 12, 1999 by B. Hassibi under the title “Method and Apparatus for Receiving Wireless Transmissions Using Multiple-Antenna Arrays,” and commonly assigned herewith.  
           [0010]    V-BLAST is advantageous in that it can be used for communication at relatively high data rates without excessive computational complexity in the decoding of the received signals. However, the decoding schemes that offer the lowest complexity require that the number N of receiving antennas must equal or exceed the number M of transmitting antennas. Such a requirement is disadvantageous when, for example, a large installation such as a base station is transmitting to a small installation such as a hand-held mobile wireless terminal.  
           [0011]    Another method of space time modulation is described in S. M. Alamouti, “A simple transmitter diversity scheme for wireless communications,”  IEEE J. Sel. Area Comm.  (October 1998) 1451-1458. In the Alamouti scheme, each codeword is distributed over two transmit antennas and two symbol intervals. Each codeword is determined by two distinct complex amplitudes, each belonging to a respective substream. In the first symbol interval, one of the amplitudes is transmitted from the first antenna, and the other amplitude is transmitted from the second antenna. In the second symbol interval, the complex amplitudes are interchanged between the two antennas, one of the complex amplitudes changes sign, and the complex conjugates of the resulting amplitudes are transmitted. Significantly, when a codeword of this kind is expressed in the form of a matrix, the matrix has orthogonal columns.  
           [0012]    One drawback of the Alamouti scheme is that it makes the most efficient use of the theoretical information capacity of the propagation channel only when there is a single receiving antenna. The channel capacity is used less efficiently when further receiving antennas are added. Thus, gains that might otherwise be expected in data rate and fading resistance from multiple-antenna receiving arrays are not fully realized.  
           [0013]    Extensions of the Alamouti scheme to more than two transmitting antennas and more than two symbol intervals per codeword are also known. The Alamouti scheme and its extensions are referred to generally as orthogonal designs because the matrices that represent the codewords are required to be orthogonal; that is, each column of such a matrix is orthogonal to every other column of the matrix. A further requirement of orthogonal designs is that for a matrix to represent a codeword, all columns of the matrix must have the same energy. In this regard, the “energy” of a column is the scalar product of that column with its complex conjugate.  
           [0014]    Until now, there has been an unmet need for a space-time modulation scheme that can handle high data rates with relatively low decoding complexity and that uses the potentially available channel capacity with relatively high efficiency for any combination (M, N) of transmission and reception antennas.  
         SUMMARY OF THE INVENTION  
         [0015]    We have invented such a scheme. Our scheme uses space-time matrices to spread the transmission of data over two or more transmit antennas and/or over two or more symbol intervals. ( A “matrix” in this regard may consist of a single column or a single row.) Initially, blocks of data are encoded as complex amplitudes selected from a finite set of such amplitudes. (Complex values include those that are pure real and pure imaginary.) We refer to, each selected complex amplitude as a “symbol,” and we refer to the finite set as a “constellation.” If the constellation has r elements, then each symbol carries log 2  r bits of information.  
           [0016]    The constellation is predetermined, and also a fixed, finite set of space-time matrices is predetermined. We refer to the matrices in this set as “dispersion matrices.” In the following discussion of an exemplary embodiment of the invention, we let Q represent the number of dispersion matrices in the fixed, finite set.  
           [0017]    In transmission, Q symbols are transmitted concurrently. Each of the Q symbols to be transmitted is multiplied by a respective dispersion matrix. A composite matrix, proportional to the sum of all Q dispersion matrices multiplied by their corresponding symbols, is transmitted according to the principles of space-time modulation described above.  
           [0018]    The elements of the dispersion matrices are advantageously selected according to a procedure that seeks to drive the rate at which data can be sent and received toward the information-theoretic channel capacity.  
           [0019]    We have found that orthogonal designs fall significantly short of achieving the information-theoretic capacity of the channel whenever there are more than two transmitting antennas or more than one receiving antenna.  
           [0020]    In contrast to transmission methods using orthogonal designs, our method does not constrain the columns of the transmitted, composite matrix to be orthogonal or to have equal energies.  
           [0021]    In reception, knowledge of the dispersion matrices is used to recover the Q symbols from the received signals corresponding to the composite matrix that was transmitted.  
           [0022]    In a broader aspect of the invention, the total number of dispersion matrices is 2Q. Half of the dispersion matrices are used to spread the real parts of the Q symbols, and the other half are used to spread the imaginary parts of the Q symbols. Alternatively, half of the dispersion matrices are used to spread the Q symbols, and the other half are used to spread the complex conjugates of the Q symbols. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0023]    [0023]FIG. 1 is a conceptual drawing of a multiple-antenna wireless communication system of the prior art.  
         [0024]    [0024]FIG. 2 is a conceptual diagram showing the operation of linear dispersion coding according to the invention in some embodiments.  
         [0025]    [0025]FIG. 3 is a flowchart illustrating the application of a criterion on the maximality of mutual information for designing a linear dispersion code according to the invention in some embodiments.  
         [0026]    [0026]FIG. 4 is a graph showing the theoretical performance of certain coding techniques in terms of bit-error rate (ber) or block-error rate (bler) as a function of signal-to-noise ratio (SNR). Compared in the figure are the results of theoretical modeling of a linear dispersion code (solid curves labeled “LD Code”) and an orthogonal design (broken curves labeled “OD”). 
     
    
     DETAILED DESCRIPTION  
       [0027]    Certain general features of space-time modulation will now be described with reference to FIG. 1. Let there be M transmit antennas  10 . 1 - 10 .M, and N receive antennas  15 . 1 - 15 .M. Let the propagation channel be reasonably well modeled as a narrow-band, flat-fading channel that is effectively constant and known to the receiver for a duration whose length is at least T symbol intervals. The transmitted signal can then be written as a T×M matrix S that governs the transmission over the M antennas during the interval.  
         [0028]    Illustrated schematically in FIG. 1 is the transmission of the first row of the signal matrix S. During the first of T symbol intervals, the complex amplitude S 11  is modulated onto a radiofrequency carrier and transmitted from antenna  10 . 1 , and each of the remaining complex amplitudes S 12 , . . . , S 1M  is modulated onto the carrier and transmitted from a corresponding antenna  10 . 2 , . . . ,  10 .M.  
         [0029]    At the receiving end, all of the transmitted amplitudes are intercepted by each of the N receiving antennas  15 . 1 - 15 .N, with varying attenuations and phase delays determined by the characteristics of the propagation channel, which is described by the matrix H of channel coefficients. Thus, after demodulation to baseband, the signal from each receiving antenna resulting from each channel use is a linear combination of the amplitudes S 12 , . . . , S 1M , with complex weights determined by the propagation channel, plus additive noise. The outputs over T symbol intervals, corresponding to the response of the receiver to the transmission of matrix S, can be represented as a T×N matrix X+V, where X contains the linear combinations described above, and V contains the additive noise. Illustrated schematically in FIG. 1 is the receipt of the first row of matrix X+V.  
         [0030]    Certain features of the present invention will now be described with reference to FIG. 2. The steps shown in FIG. 2 are merely illustrative. Those skilled in the art will appreciate that numerous alternative procedures will bring about equivalent results, and thus fall within the scope and spirit of the present invention.  
         [0031]    A sequence  20  of data, exemplarily a binary sequence of 0&#39;s and 1&#39;s, is parsed into substreams. In the example shown, the number Q of substreams is  3 , and each block of data in a substream carries three bits of information. A block  25  of data from each substream is mapped to a symbol  30  selected from constellation  35 . The illustrative constellation shown in FIG. 2 is a set of eight uniformly spaced points on the unit circle in the complex plane. More typically, the constellation will be an r-PSK or r-QAM constellation.  
         [0032]    In the example shown, the image of each block of data is a respective one of the symbols s 1 ,s 2 ,s 3 . Each of these symbols directly multiplies a respective dispersion matrix A 1 ,A 2 ,A 3 . In process  40 , the complex conjugate is taken of each symbol, thus generating a further symbol. Each of the resulting complex conjugates multiplies a respective dispersion matrix B 1 , B 2 , B 3 . In process  45 , which is represented in the figure as a summation element, the signal matrix S is constructed by summing the six dispersion matrices, with each weighted by its corresponding symbol.  
         [0033]    More generally, Q symbols s 1 , . . . , s Q  are selected from an appropriate constellation. The signal matrix S is constructed according to:  
               S   =       ∑     q   =   1     Q                     (         α   q          A   q       +     j                   β   q          B   q         )         ,           (   1   )                               
 
         [0034]    where  
           s   q =α q   +jβ   q   , q= 1, . . .  Q.    (2)  
         [0035]    We refer to a code of this kind as a rate R=(Q/T)log 2 r linear dispersion (LD) code. The code is completely specified by the fixed T×M complex matrices A 1 , . . . , A Q  and B 1 , . . . , B Q , which we refer to as dispersion matrices. Each individual codeword is determined by the scalars {s 1 , . . . , s Q }.  
         [0036]    Alternatively, S is expressed by:  
               S   =       ∑     q   =   1     Q                     (         s   q          C   q       +       s   q   *          D   q         )         ,           (   3   )                               
 
         [0037]    where the C q  and D q  are the fixed T×M dispersion matrices.  
         [0038]    In specific implementations, one or more of the A q  or B q , or one or more of the C q  or D q , matrices could be zero. In fact, it is essential only that there be at least Q non-zero dispersion matrices.  
         [0039]    As noted above, in a narrow-band, flat-fading, multi-antenna communication system with M transmit and N receive antennas, the transmitted and received signals are related by a linear relationship. We here represent that relationship by:  
               x   =             ρ   M                       Hs     +   υ       ,           (   4   )                               
 
         [0040]    where the complex N-dimensional vector x denotes the vector of complex received signals during any given channel use, the complex M-dimensional vector s denotes the vector of complex transmitted signals, the complex N×M matrix H denotes the channel matrix, and the complex N-dimensional vector v denotes additive noise which, for purposes of theoretical analysis, is assumed to be spatially and temporally white; i.e., to be CN (0,1) (zero-mean, unit-variance, complex-Gaussian) distributed. For analytical purposes, the channel matrix H and transmitted vector s are assumed to have unit variance entries, implying that E tr HH*=MN and Es*s=M, where E (.)denotes the statistical expected value. Assuming that the quantities H, s, and υ are random and independent, the normalization  
           ρ   M                                        
 
         [0041]    in Eq. (4) will insure that ρ is the signal-to-noise ratio (SNR) at the receiver independently of M. For analytical purposes, it is also often (although not invariably) assumed that the channel matrix H also has CN (0,1) entries.  
         [0042]    The entries of the channel matrix are assumed to be known to the receiver but not to the transmitter. This assumption is reasonable if training or pilot signals are sent to learn the channel, which is then constant for some coherence interval. The coherence interval of the channel is preferably large compared to M.  
         [0043]    When the channel is effectively constant for at least T channel uses we may write for each symbol interval t,  
                 x   t     =           ρ   M            Hs   t       +     υ   t         ,                t   =   1     ,   …   ,   T   ,           (   5   )                               
 
         [0044]    so that defining X T =[x 1 x 2 . . . x T ], S T =[s 1 s 2 . . . s T ] and V T =[υ 1 υ 2 . . . υ T ], we obtain  
               X   T     =           ρ   M            HS   T       +       V   T     .               (   6   )                               
 
         [0045]    It is generally more convenient to write this equation in its transposed form  
               X   =           ρ   M          SH     +   V       ,           (   7   )                               
 
         [0046]    where we have omitted the transpose notation from H and simply redefined this matrix to have dimension M×N. The complex T×N matrix X is the received signal, the complex T×M matrix S is the transmitted signal, and the complex T×N matrix V is the additive CN (0,1) noise. In X, S, and V, time runs vertically and space runs horizontally.  
         [0047]    We note that, in general, the number of T×M matrices S needed in a codebook can be quite large. If the rate in bits/channel use is denoted R, then the number of matrices is 2 RT . For example, with M=4 transmit and N=2 receive antennas the channel capacity at ρ=20 dB (with CN (0,1) distributed H) is more than 12 bits/channel use. Even with a relatively small block size of T=4, we need 2 48 ≈10 14  matrices at rate R=12.  
         [0048]    LD codes can readily generate the very large constellations that are needed. Moreover, because of their structure, they also allow efficient real-time decoding.  
         [0049]    Decoding. An important property of the LD codes is their linearity in the variables {α q ,β q }, leading to efficient decoding schemes such as those used in connection with V-BLAST. To see this, it is useful to write the block equation  
             X   =             ρ   M          SH     +   V     =           ρ   M              ∑     q   =   1     Q                       (         α   q          A   q       +     j                   β   q          B   q         )        H         +   V               (   8   )                               
 
         [0050]    in a more convenient form. We decompose the matrices in Eq. (8) into their real and imaginary parts to obtain  
                 X   R     +     j                   X   1         =           ρ   M              ∑     q   =   1     Q                       [         α   q          (       A     R   ,   q       +     j                   A     I   ,   q           )       +     j                   β        (       B     R   ,   q       +     j                   B     I   ,   q           )           ]          (       H   R     +     j                   H   1         )           +     V   R     +     j                     V   I     .                 (   9   )                               
 
         [0051]    Denoting the columns of X R , X 1 , H R , H 1 , V R , and V 1  by x r,n , x I,1 , h R,n , h I,n , v R,n , and v I,n , where n=1, . . . , N, we form the single real system of equations  
                   [           x     R   ,   1                 x     I   ,   1               ⋮             x     R   ,   N                 x     I   ,   N             ]          =           ρ   M            H   ~            [           α   1               β   1             ⋮             α   Q               β   Q           ]            +       [           υ     R   ,   1                 υ     I   ,   1               ⋮             υ     R   ,   N                 υ     I   ,   N             ]              ,           (   10   )                               
 
         [0052]    where the equivalent 2NT×2Q real channel matrix is given by  
             H   =           [           [           A     R   ,   1             -     A     I   ,   1                   A     I   ,   1             A     R   ,   1             ]           [           h     R   ,   1                 h     I   ,   1             ]           [           -     B     I   ,   1               -     B     R   ,   1                   B     R   ,   1             -     B     I   ,   1               ]           [           h     R   ,   1                 h     I   ,   1             ]         …         [           A     R   ,   Q             -     A     I   ,   Q                   A     I   ,   Q             A     R   ,   Q             ]           [           h     R   ,   1                 h     I   ,   1             ]           [           -     B     I   ,   Q               -     B     R   ,   Q                   B     R   ,   Q             -     B     I   ,   Q               ]           [           h     R   ,   1                 h     I   ,   1             ]             ⋮                   ⋮                   ⋰       ⋮                   ⋮                         [           A     R   ,   1             -     A     I   ,   1                   A     I   ,   1             A     R   ,   1             ]           [           h     R   ,   N                 h     I   ,   N             ]           [           -     B     I   ,   1               -     B     R   ,   1                   B     R   ,   1             -     B     I   ,   1               ]           [           h     R   ,   N                 h     I   ,   N             ]         …         [           A     R   ,   Q             -     A     I   ,   Q                   A     I   ,   Q             A     R   ,   Q             ]           [           h     R   ,   N                 h     I   ,   N             ]           [           -     B     I   ,   Q               -     B     R   ,   Q                   B     R   ,   Q             -     B     I   ,   Q               ]           [           h     R   ,   N                 h     I   ,   N             ]           ]               (   11   )                               
 
         [0053]    We now introduce the following definitions:  
                   [           x     R   ,   1                 x     I   ,   1               ⋮             x     R   ,   N                 x     I   ,   N             ]               =   Δ          x   ~       ;             [           α   1               β   1             ⋮             α   Q               β   Q           ]               =   Δ          s   ~       ;       [           υ     R   ,   1                 υ     I   ,   1               ⋮             υ     R   ,   N                 υ     I   ,   N             ]                 =   Δ          v   .               (   12   )                               
 
         [0054]    We have a linear relation between the input and output vectors {tilde over (s)} and {tilde over (x)}, respectively:  
                 x   ~     =           ρ   M            H   ~                     s   ~       +   υ       ,           (   13   )                               
 
         [0055]    where the equivalent channel {tilde over (H)} is known to the receiver because the original channel H, and the dispersion matrices {A q , B q } are all known to the receiver. (Those skilled in the art will appreciate that an equivalent treatment can be formulated in terms of the dispersion matrices {C q , D q } in place of the matrices {A q , B q }. The matrices {C q , D q } are defined by Eq. (3), above.)  
         [0056]    The receiver simply uses Eq. (11) to find the equivalent channel. The system of equations between transmitter and receiver is not undetermined as long as  
         Q≦NT.  
         [0057]    We may therefore use any decoding technique already known for use, e.g., with V-BLAST, such as successive nulling and cancellation, its efficient square-root implementation, or sphere decoding. The most efficient implementations of these schemes generally require O(Q 3 ) computations and have roughly constant complexity in the size of the signal constellation r. Sphere decoding, which is an efficient species of maximum-likelihood decoding, will in at least some cases be particularly advantageous.  
         [0058]    Design of the dispersion matrices. In a broad sense, the mutual information between the input vector {tilde over (s)} and the output vector {tilde over (x)} is a measure of channel capacity as constrained by our definition of the “equivalent channel,” and contingent on the choice of dispersion matrices. When maximized, the mutual information expresses the maximum data rate achievable through the use of linear dispersion codes as described here, for given values of Q and T and for given numbers of transmit and receive antennas.  
         [0059]    For purposes of the exemplary design method to be described below, we now define the mutual information between the input vector {tilde over (s)} and the output vector {tilde over (x)} as  
           1     2      T          E                 log                 det                   (       I     2      NT       +       ρ   M          H   ~                       H   ~     T         )       ,                         
 
         [0060]    where E (.) denotes the statistical expected value, I 2NT  is the identity matrix of dimension 2NT, and {tilde over (H)} T  is the transpose of the matrix {tilde over (H)}.  
         [0061]    As a general practice, we find it useful to take Q=min(M,N)T since this tends to maximize the mutual information between {tilde over (s)} and {tilde over (x)} while still having some coding effects.  
         [0062]    We choose {A q ,B q } to maximize the mutual information between {tilde over (s)} and {tilde over (x)}. We formalize the design criterion as follows.  
         [0063]    1. Choose Q≦NT (typically, Q=min(M,N)T).  
         [0064]    2. Choose {A q , B q } that solve the optimization problem  
                 C   LD          (     ρ   ,   T   ,   M   ,   N     )       =       max       A   q     ,     B   q     ,     q   =   1     ,     …                 Q                1     2      T          E                 log                   det        (       I     2      NT       +       ρ   M          H   ~            H   ~     T         )                   (   14   )                               
 
         [0065]    subject to one of the following constraints  
         Σ q=1   Q ( trA   q   *A   q   trB   q   *B   q )=2 TM    
         [0066]    [0066]                 tr                   A   q   *          A   q       =       tr                   B   q   *          B   q       =     TM   Q         ,     q   =   1     ,     …                 Q             (ii)                     A   q   *          A   q       =         B   q   *          B   q       =       T   Q          I   M           ,     q   =   1     ,     …                 Q             (iii)                                 
         [0067]    where {tilde over (H)} is given by Eq. (11) with the entries of h R,n  and h I,n  having independent N(0,½) entries. (In our theoretical studies, we have assumed that the channel matrix H has independent CN(0,1) entries. However, our mutual information criterion is also readily applied for designing linear dispersion codes appropriate to channels described by other statistical distributions.)  
         [0068]    The problem expressed by Eq. (14) can be solved subject to any of the constraints (i)-(iii). Constraint (i) is simply the power constraint of Eq. (8) that ensures E tr SS*=TM. Constraint (ii) is more restrictive and ensures that each of the transmitted signals α q  and β q  are transmitted with the same overall power from the M antennas during the T channel uses. Finally, constraint (iii) is the most stringent, since it forces the signals α q  and β q  to be dispersed with equal energy in all spatial and temporal directions.  
         [0069]    We have empirically found that of two codes with similar mutual informations, the one satisfying the more stringent constraint performs better.  
         [0070]    The constraints (i)-(iii) are convex in the dispersion matrices {A q ,B q }. However, the cost function  
         1     2      T          E                 log                 det                   (       I     2      NT       +       ρ   M          H   ~                       H   ~     T         )                           
 
         [0071]    is neither concave nor convex in the variables {A q ,B q }. Therefore, it is possible that Eq. (14) has local maxima. Nevertheless, we have been able to solve Eq. (14) with relative ease using gradient-based methods and it does not appear that local minima pose a great problem.  
         [0072]    The block length T is essentially also a design variable. Although it must be chosen shorter than the coherence time of the channel, it can be varied to help the optimization of Eq. (14). We have found that choosing M≦T≦2M often yields good performance.  
         [0073]    It should be noted that any code designed for a given number of receive antennas is also readily used for a greater number of receive antennas.  
         [0074]    With reference to FIG. 3, there is input at block  50  of that figure a statistical description of the propagation channel H. At block  60 , the block length T, the size M of the transmit array, and the size N of the receiving array are provided to the processor. At block  65 , the number Q is specified. At block  70 , the optimization problem is solved to determine the set of 2Q dispersion matrices that maximizes the mutual information. At block  75  the processor outputs the dispersion matrices and the equivalent channel matrix {tilde over (H)}. At block  80 , a calculated value of the mutual information is output by the processor.  
       EXAMPLE  
       [0075]    We will present an orthogonal design of block length T=4 for M=3 transmit antennas, and will then compare the orthogonal design to a linear dispersion code for M=3 transmit antennas and N=1 receive antennas. The orthogonal design is written in terms of {α q } and {β q } as  
             S   =           4   3            [             α   1     +     j                   β   1                 α   2     +     j                   β   2                 α   3     +     j                   β   3                     -     α   2       +     j                   β   2                 α   1     -     j                   β   1             0               -     α   3       +     j                   β   3             0           α   1     -     i                   β   1                 0           -     α   3       +     j                   β   3                 α   2     -     i                   β   2               ]       .             (   15   )                               
 
         [0076]    It turns out that this orthogonal design is also an LD code because, as we have found, it is a solution to Eq. (14) for T=4 and Q=3. It achieves a mutual information of 5.13 bits/channel use at ρ=20 dB, whereas the channel capacity is 6.41 bits/channel use.  
         [0077]    To find a better LD code, we first observe that it is advantageous for Q to obey the constraint Q≦NT, with N=1 and T=4. Therefore Q≦4, and we choose Q=4. After optimizing (14) using a gradient-based search, we find:  
             S   =                 [             α   1     +     α   3     +     j        [           β   2     +     β   3         2       +     β   4       ]                     α   2     -     α   4         2            j        [         β   1       2       +         β   2     -     β   3       2       ]             0                   -     α   2       +     α   4         2       -     j        [         β   1       2       +         β   2     -     β   3       2       ]                 α   1     -     j        β   2       +       β   3       2                 -         α   2     +     α   4         2         +     j        [         β   1       2       -         β   2     -     β   3       2       ]                 0               α   2     +     α   4         2       +     j        [         β   1       2       -         β   2     -     β   3       2       ]                 α   1     -     α   3     +     j        [           β   2     +     β   3         2       -     β   4       ]                         α   2     -     α   4         2       +     j        [         β   1       2       +         β   2     -     β   3       2       ]                 -     α   3       +     j                   β   4                 -         α   2     +     α   4         2         +     j        [         β   1       2       -         β   2     -     β   3       2       ]               ]                 (   16   )                               
 
         [0078]    This code has a mutual information of 6.25 bits/channel use at ρ=20 dB, which is most of the channel capacity. FIG. 4 compares the performance of the orthogonal design of Eq. (15) with the LD code of Eq. (16) at rate R=6. (The rate of either code is (Q/T) log 2 r; we achieve R=6 by having the orthogonal design send 256-QAM, and the LD code send 64-QAM.) The decoding in both cases is the efficient form of nulling/cancelling described in U.S. patent application Ser. No. 09/438,900. We see from FIG. 4 that the LD code performs uniformly better. It is worth noting that the matrix S in Eq. (16) has orthogonal columns.  
         [0079]    Mathematical Details  
         [0080]    Normalization of the dispersion matrices. For purposes of theoretical analysis, we have assumed that the transmit signal S is normalized such that E tr SS*=TM. This induces the following normalization on the matrices {A a ,B q }:  
                 ∑     q   =   1     Q                     (       tr                   A   q   *          A   q       +     tr                   B   q   *          B   q         )       =     2        TM   .               (   8   )                               
 
         [0081]    Mathematical formulas for use in solving the optimization problem. In this section, we compute the gradient of the cost function of Eq. (14). To help compute this gradient, we rewrite the cost function in Eq. (14) as  
               1     2      T          E                 log                   det        (       I     2      NT       +       ρ   M            ∑     q   =   1     Q                    [             A   ~     q         ⋯       0           ⋮       ⋰       ⋮           0       ⋯           A   ~     q           ]          [             H   ~     1             ⋮               H   ~     N           ]            [             H   ~     1             ⋮               H   ~     N           ]       T          [             A   ~     q         ⋯       0           ⋮       ⋰       ⋮           0       ⋯           A   ~     q           ]       T         +     (         B   ~     q     ←       A   ~     q       )       )               (   17   )                               
 
         [0082]    where for q=1, . . . , Q and n=1, . . . , N, we have defined  
                   A   ~     q     =     [           A     R   ,   q             -     A     I   ,   q                   A     I   ,   q             A     R   ,   q             ]       ,         B   ~     q     =     [           -     B     I   ,   q               -     B     R   ,   q                   B     R   ,   q             -     B     I   ,   q               ]       ,         H   ~     n     =       [           h     R   ,   n                 h     I   ,   n             ]     .               (   18   )                               
 
         [0083]    The subscript “R” denotes “real part”, and “I” denotes “imaginary part”.  
         [0084]    Define the matrix appearing in the log det(.) of Eq. (17) as Z. That is,  
       Z   =       (       I     2      NT       +       ρ   M            ∑     q   =   1     Q                    [             A   ~     q         ⋯       0           ⋮       ⋰       ⋮           0       ⋯           A   ~     q           ]          [             H   ~     1             ⋮               H   ~     N           ]            [             H   ~     1             ⋮               H   ~     N           ]       T          [             A   ~     q         ⋯       0           ⋮       ⋰       ⋮           0       ⋯           A   ~     q           ]       T         +     (         B   ~     q     ←       A   ~     q       )       )     .                           
 
         [0085]    Define:  
                 P   q     =     E        (           Z     -   1            [             H   ~     1             ⋮               H   ~     N           ]            [         H   ~     1   T                   ⋯                     H   ~     N   T       ]            [             A   ~     1         ⋯       0           ⋮       ⋰       ⋮           0       ⋯           A   ~     q           ]       )         ,           (   19   )                 R   q     =       E        (           Z     -   1            [             H   ~     1             ⋮               H   ~     N           ]            [         H   ~     1   T                   ⋯                     H   ~     N   T       ]            [             B   ~     q         ⋯       0           ⋮       ⋰       ⋮           0       ⋯           B   ~     q           ]       )       .             (   20   )                               
 
         [0086]    The gradients of the cost function  
       f   =       1     2      T            E              ·   log                   det                 Z                           
 
         [0087]    are given by:  
                 [       ∂     f        (     A     R   ,   q       )           ∂     A     R   ,   q           ]     ij     =         2      ρ     TM            ∑     n   =   1     N          (       P     q   ,     i   +       (       2      n     -   2     )        T       ,     j   +       (       2      n     -   2     )        M           +     P     q   ,     i   +       (       2      n     -   1     )        T       ,     j   +       (       2      n     -   1     )        M             )                 (   21   )                   [       ∂     f        (     A     I   ,   q       )           ∂     A     I   ,   q           ]     ij     =         2      ρ     TM            ∑     n   =   1     N          (       P     q   ,     i   +       (       2      n     -   1     )        T       ,     j   +       (       2      n     -   2     )        M           -     P     q   ,     i   +       (       2      n     -   2     )        T       ,     j   +       (       2      n     -   1     )        M             )                 (   22   )                   [       ∂     f        (     B     R   ,   q       )           ∂     B     R   ,   q           ]     ij     =         2      ρ     TM            ∑     n   =   1     N          (       R     q   ,     i   +       (       2      n     -   1     )        T       ,     j   +       (       2      n     -   2     )        M           -     R     q   ,     i   +       (       2      n     -   2     )        T       ,     j   +       (       2      n     -   1     )        M             )                 (   23   )                   [       ∂     f        (     B     I   ,   q       )           ∂     B     I   ,   q           ]     ij     =           -   2        ρ     TM            ∑     n   =   1     N            (       R     q   ,     i   +       (       2      n     -   2     )        T       ,     j   +       (       2      n     -   2     )        M           +     R     q   ,     i   +       (       2      n     -   1     )        T       ,     j   +       (       2      n     -   1     )        M             )     .                 (   24   )