Full-Rate Full-Diversity Linear Quasi-Orthogonal Space-Time Codes for Any Number of Transmit Antennas

We construct a class of linear quasi-orthogonal space-time block codes that achieve full diversity over quasistatic fading channels for any transmit antennas. These codes achieve a normalized rate of one symbol per channel use. Constellation rotation is shown to be necessary for the full-diversity feature of these codes. When the number of transmit antennas is a power of 2, these codes are also delay “optimal.” The quasi-orthogonal property of the code makes one half of the symbols orthogonal to the other half, and we show that this allows each half to be decoded separately without any loss of performance. We give an iterative construction of these codes with a practical decoding algorithm. Numerical simulations are presented to evaluate the performance of these codes in terms of capacity as well as probability of error versus SNR curves. For some special cases, we compute the pairwise probability of error averaged over all the channel states as a single integral that shows the diversity and coding gain more clearly.


INTRODUCTION
Multiple antenna systems have been of great interest in recent times because of their ability to support higher data rates at the same bandwidth and noise conditions; see, for example, [1,2,3,4,5,6,7,8,9,10,11] and references therein.
For two transmit antennas, Alamouti's orthogonal design gave a full-rate space-time block code with full diversity [6,12]. More general orthogonal designs were later proposed by Tarokh et al. and Tirkkonen that had simple single symbol decoders while offering full diversity [7,13]. Recently, complex orthogonal designs with maximal rates have been proposed by Liang where the entries are restricted to be the complex modulated symbols or their conjugates with or without a sign change [14]. The upper bounds of the rates of generalized complex orthogonal space-time block codes were given in [15].
One of the key aspects of orthogonal designs has been to ensure diversity for any symbol constellation. For more than two transmit antennas and complex constellations, these codes offered on the average a rate of less than one symbol per channel use, where each symbol time period corresponds to a channel use. The highest theoretical code rate for full-diversity code when the symbols are constrained to be chosen from the same constellation was shown to be one symbol per channel use (see [5,Corollary 3.3.1]). (This constraint is relaxed by using rotated constellations and indeed many of the recent papers give space-time codes that offer full diversity for more than one symbols per channel use [16,17]. We discuss this point further below.) More recently, a different approach has been attempted to yield the full diversity where the notion of diversity is made specific to a constellation, and this is also referred to as modulation diversity [18]. More specifically, it has been shown that full-rate and full-modulation diversity is achievable with constellation rotation or linear constellation precoding [18,19], where the transmitted signal is a multiplication of a unitary matrix with a diagonal matrix whose diagonal elements are a function of linearly precoded (or rotated) information symbols. This makes the test of full diversity or the rank criterion trivial by ensuring with proper precoding or constellation rotation that no element in the diagonal becomes zero while taking the difference of two distinct codewords. A similar idea has been presented before in [20] for rotated binary phase shift keying (BPSK) modulation.
The issue of smaller code rate (less than one symbol per channel use) for complex orthogonal designs has been addressed in recent times by the design of quasi-orthogonal codes for achieving higher data rates [21,22,23,24]. The quasi-orthogonal codes were given for 4 transmit antennas with rate 1, and 8 transmit antennas with rate 3/4. These codes sacrificed some orthogonality by making subsets of symbols orthogonal to each other instead of making every single symbol orthogonal to any other. Because of this relaxation of constraints, these codes achieve higher code rates that were hitherto not possible with orthogonal codes. It was shown in [25] that performance of the above quasiorthogonal codes can be improved with constellation rotation. Constellation rotation has also been discussed in [26] as a technique to improve the performance of space-time block codes.
In this paper, we build on earlier work on orthogonal designs and achieving modulation diversity by constellation rotation to propose a quasi-orthogonal structure to iteratively construct full-diversity space-time codes for any transmit antennas. These codes have half the symbols orthogonal to the other half, which allows each orthogonal half to be decoded separately without any loss of performance. Hence the decoding complexity of such a code is considerably smaller. We show that these codes achieve full diversity with appropriate constellation rotations. If the transmit antennas are a power of 2, then these codes are also delay "optimal," that is, the length of block code in symbol periods is same as the number of transmit antennas [27]. We present the numerical results for these codes in terms of probability of error and we also provide a Shannon capacity perspective to these codes. We use the following notation throughout the paper: T and H denote the transpose and conjugate transpose, respectively, of a matrix or a vector; I M and 0 M are M × M identity and null matrices, respectively; A F and Tr(A) denote Frobenius norm and trace of matrix A, respectively; Qfunction is given by Q(x) ∞ x e (−u 2 /2) du/ √ 2π; n! denotes the factorial of n for any nonnegative integer n; C denotes the complex number field; C P denotes a vector of length P whose elements are taken from C; C P×Q denotes a P × Q matrix whose elements are taken from C; j denotes an integer index or √ −1, where the actual value will be evident from the context; Re(x) and Im(x) denote the real and imaginary parts of a complex number x respectively; CN (0, 1) indicates a zero mean and circularly symmetric complex Gaussian variable with unit variance; det{A} denotes the determinant of a square matrix A.

SYSTEM MODEL
Consider a system of M transmit and N receive antennas that we refer to as (M, N) system in this paper. The modulated information symbols to be transmitted are taken Q at a time to form a Q × 1 vector denoted by c = (c 1 , . . . , c Q ) T . This information vector is precoded (i.e., multiplied) by a Q × Q unitary rotation matrix denoted by R Q . Let s = (s 1 , . . . , s Q ) T and This precoded vector s is then passed on to a linear spacetime block code that generates a T × M matrix G Q [s] given by where C's and D's are T × M complex matrices, which completely specify the code. This matrix is transmitted in T channel uses (each channel use is a symbol time period). The average code rate for this system is hence Q/T symbols per channel use. For quasistatic fading channel, the received signal is given by where X and V are the T×N received and noise matrices, and H is the M ×N complex channel matrix that is assumed to be constant over T channel uses and varies independently over the next T channel uses and so on. The entries of H and V are assumed to be mutually independent and CN (0, 1), and ρ is the average SNR per received antenna. We assume that the channel is perfectly known at the receiver but is unknown at the transmitter.

Design criterion
It has been shown in [5] by examining the pairwise probability of error between two distinct information vectors (say c, e ∈ C Q ) that for full diversity, in quasistatic fading chan- should have a rank of M (rank criterion). We assume here that T ≥ M. If for some M, T = M, then the rank criterion could be modified to yield the following: for full diversity, and c = e, We will examine this criterion in the context of proposed codes. In addition, we will examine the coding gain for quasistatic fading channels that is defined to be min c,e where λ i , i = 1, . . . , r, are the nonzero eigenvalues of the For T = M and for a full-diversity achieving code, the coding gain can be simplified as

LINEAR QUASI-ORTHOGONAL CODES
Partition vector s (defined in Section 2) into Q/L parts where L divides Q. These partitions are disjoint and for the purposes of this paper, we will assume that all partitions contain L symbols. We describe these partitions by a set of func- We define a linear quasi-orthogonal code over partitions given by A i , i = 1, . . . , Q/L, to be the one that satisfies Hence the partitions are completely decoupled from each other when we take this product and this is true for any complex vector s. Note that the quasi-orthogonal property is defined for any s ∈ C Q , while the approach we adopt later to prove full diversity is specific to the choice of modulation constellation.

Properties Proposition 1. A Linear space-time code is a quasi-orthogonal code if and only if any of the following holds:
Proof. Using linearity in (7), the left-hand side of (8) is given by Using (9) in the above equation, (8) follows. Suppose that (9) does not hold, then using equation (12), it follows that which contradicts (8).
Define a new vector z whose ith and jth partitions are the same as s and c with i = j. Then using (9), we have We can do this over all i, j with i = j. Then expanding the left-hand side of (11) along similar lines as in (12), (11) follows immediately. Conversely, if (11) is not true, then substituting s = c contradicts (8). (3) is equivalent to ML decoding of each partitions individually by taking the channel model as

Proposition 2. Maximum likelihood (ML) decoding of a linear quasi-orthogonal code with received signal model given by
Proof. ML decoding is given bŷ which is similar to (17a) and hence the effective channel model is given by (16). In (17a), we have used the fact that A 2 F = Tr(A H A); in (17b), we have used (3) and (8); in (17c), we have used (7) and (11); in (17d), we have used the definition of X H (A i (s)) from (16); and in (17e) the fact that Tr(·) is a linear operation.

Construction of a class of linear quasi-orthogonal codes for any M
We construct a class of quasi-orthogonal codes that achieve full rate for any transmit antennas. The construction of the code is iterative that ensures its quasi-orthogonal structure. We will first consider the case of M being a power of 2. A case of other M is dealt with later in this section.

M a power of 2
Consider an M × M code for M transmit antennas that encodes M symbols together and transmits the block code in M channel uses, where M is a power of 2. Hence Q = T = M and the code rate for this code is 1. We will consider quasiorthogonal codes with two disjoint partitions with M/2 symbols in each of them (i.e., L = M/2) that are orthogonal to each other in the sense of (9). The two partitions for M transmit antennas are denoted by A M,1 (s) and A M,2 (s), where a subscript M is added to show that they are for M transmit antennas.
We first define the code and partitions for a single transmit antenna as and A 1,1 (s) = s 1 and A 1,2 (s) = 0, where s ∈ C 1 . We assume that the following properties are true for any M, where M is a power of 2, and for any s, e ∈ C M : Note that by using (P1) and (P2), this can be rewritten as

Iterative construction
We construct a code for 2M transmit antennas that takes a 2M ×1 precoded vector s as input. For simplicity of notation, we will denote the first M elements of s by s M,1 and the last M by s M,2 . Then the quasi-orthogonal code for 2M antennas is constructed as and the code for each partition is written as By using the linearity equation (7), we have For M = 1, this gives the Alamouti's code [6]. For M = 2 case, this iterative structure along with some similar ones were presented in [23]. Table 1  Proof. Omitted.
Note that (P1)-(P5) are true for M = 1. If we assume that they hold for any M with M a power of 2, then using Proposition 3, it holds for 2M. It follows from induction that the constructed code satisfies (P1)-(P5) for any M, where M is a power of 2.
Proof. See the appendix.
It can similarly be shown that We omit the proof because of similarity with Proposition 4. We will use Proposition 4 to prove the full diversity. For M = 2, we obtain by calculation det{G 2 (1)) that makes d M,min (C) > 0. Further, the coding gain of such a system is d 2 M,min (C).
Proof. Firstly, we note that due to quasi-orthogonal structure of the code, we need to prove rank criterion for the partitions instead of the full code. Because of the iterative structure in The proof for G 2M [A 2M,2 (s)] follows along similar lines. The existence of a precoding to guarantee that d M,min (C) = 0 is shown in [18,19,28,29,30] and references therein.
We note here that for 2M transmit antennas, M symbols are precoded together due to quasi-orthogonal structure, while in [18,19], all 2M are precoded together. Since minimum distance typically decreases as M increases, we expect the coding gain to be higher than [18,19]. From [18, equation (6)], the minimum distance for a class of real constellation rotations is dependent on M as d 2 M,min ∼ (M) −M .

M not a power of 2
Until now we have dealt with only those number of transmit antennas that are a power of 2. To address this issue, we have the following proposition. Proof. We first prove that this code is quasi-orthogonal. Assume that the last P − M columns of G P are deleted. Then modified received signal model for this code can be rewritten, without any loss of performance using (3), as whereĤ is a P × N matrix whose first M rows are the same as that M × N matrix H, and the last P − M rows are null vectors; X and V are M × N matrices. Since G P is quasiorthogonal allowing the partitions to be separately decoded for any channel realization, then decoding for any M can also be accomplished by decoding each partition separately. It follows from linearity that G M [A M,i (s)] (i = 1, 2) is obtained from G P [A M,i (s)] by deleting its last P − M columns. Since G P [A P,1 (s)] is full rank, that is, with rank P, then deleting P − M columns makes its rank as M, which is a full-rank P × M matrix and hence has full diversity. This proof is valid if any other P − M columns of G P are deleted instead of the last ones.
We note here that if M is not a power of 2, then the quasiorthogonal code formed above will require P = 2 log 2 (M) channel uses for transmission of one code block. Since P > M, the code is not delay optimal in this case.

Decoding
While (16) implies that performance of a ML decoder will be the same as that of ML decoding of each partition separately by assuming that only one partition is transmitted, it does not give a practical way of decoding these codes when all the partitions are indeed sent together. We provide a practical way of achieving a low complexity ML decoding done over a single partition. We will do this for M being a power of 2. If M is not a power of 2, then one can form a new channel whose rows are a power of 2 as in (28).
We note first that any row of the constructed code either contains the symbols or its conjugates (with possible sign change). This can be seen from the iterative construction in (22) where this property is preserved. It is trivially true for M = 1 in (18). For any h ∈ C M×1 , define a transformation denoted by T that takes conjugates of those elements of M × 1 vector G M [s]h that contains conjugates of elements of s. Hence we can write where E M,i 's are M × (M/2) matrices dependent only on h, and v M,i 's are (M/2) × 1 vectors that contain symbols from partition i, with i = 1, 2.
Proof. It follows from (P5) for any h that where (30a) follows from (P5), and (30b) follows by noting that taking conjugates of elements at the same indices of any vectors M × 1 g 1 and g 2 leaves the product g H 1 g 2 + g H 2 g 2 unchanged. Note that since the partitions are disjoint, (30c) can be true only if E H M,1 (h)E M,2 (h) = 0 for any h ∈ C M .
By taking conjugates appropriately, we can derive a modified signal model from (3) for receive antenna n (n = 1, . . . , N) aŝ where H n is the nth column of H andX n andV n are derived from the nth column of X and V , respectively, by taking the conjugates of some or all their elements. Let the singular value decomposition (SVD) [31] of E M,i (H n ) be given by andŜ i S H i S i = S i . Multiplying both sides of (31) by where we have used (29) to cancel the contribution of the other partition. Note that using (32), it follows that U iŜi S H i U H i V n has the same statistics as V n . Using (21), one can iteratively generate the equivalent channels for each partitions as

NUMERICAL RESULTS
In this section, we provide the numerical results for the constructed codes. We provide both the Shannon capacity perspective of these codes along with the probability of error curves for modulated symbols.

Capacity of quasi-orthogonal codes
The capacity of quasi-orthogonal codes is computed by using (33) to get the equivalent channel for the nth receive antenna. One can write the overall channel matrix taken over all the receive antennas by stacking them as which is an MN × (M/2) matrix. The channel model in this case is given by Note that elements of V are CN (0, 1). By using the above model, we compute the ergodic capacity of quasi-orthogonal codes and plot this along with openloop Shannon capacity in Figure 1 for an (8, 1) system. We also plot the capacity of a rate 1/2 complex orthogonal code [7]. As shown in the figure, the proposed quasi-orthogonal codes are quite close to the Shannon capacity. Note that the Shannon capacity is achievable by an ideal rate 1 complex orthogonal code though such a code is known to exist only for M = 2. In Figure 2, we plot the capacities for an (8,2) system. The quasi-orthogonal code is not as close to the Shannon capacity in this case though it still performs much better than the orthogonal code.

Probability of error
We plot the symbol error rate (SER) versus the average SNR per receive antenna in Figure 3 with QPSK modulation for M = 4, 8, 16, 32 and N = 1. The elements of H are assumed to be i.i.d. and CN (0, 1). For M = 4, we use the rotations described in [25] that were obtained by maximizing the minimum distance of constellation C defined in Proposition 5 and the precoding matrix is given by diag[1, exp(0.52 j)]. For higher M, instead of exhaustive search to find the best precoding matrix, we rotate the ith symbol, i = 1, . . . , M/2, with a phase of (i − 1)π/M. A better choice is also possible. Harddecision sphere decoding was done for each partition separately by using (33). For comparison, we also plot the performance of an ideal full-rate orthogonal code (though unavailable) that has equivalent channel SNR as H 2 F ρ/M and of uncoded QPSK over a channel with only additive white Gaussian noise and no fading for M = N = 1.
Note that the performance is better than that given in [18] and [19, Figure 11]. Also note that because of the orthogonality built into the proposed codes, our codes have lower decoding complexity. For a constellation of size q, the decoding complexity after the preprocessing to separate the two partitions is ∼ q M/2 for the proposed codes, while the decoding complexity is ∼ q M for both [18,19] under ML decoding. Under sphere decoding [32,33], the decoding complexity is approximately cubic with the number of symbols that are jointly decoded: the decoding complexity for the proposed codes is 2O(M 3 /8), and for the codes in [18,19], the decoding complexity is O(M 3 ). Hence there is a significant saving in decoding complexity while there is performance improvement by using the proposed codes.
For higher M, note that the performance of the proposed codes is very close to the ideal codes. Hence any other fullrate code will offer very marginal gains over the proposed codes for higher transmit antennas.

PERFORMANCE ANALYSIS FOR SELECTED CODES
For M = 4, the constructed code is the same as given in [23]. The equivalent channel model for the first partition can be written using (29) as By taking SVD of E 4,1 (h) and discarding the last two rows, we get a simpler 2 × 2 receive signal model by discarding the null rows as where and θ is the rotation applied to increase the minimum distance of constellation C = z 1 + exp( jθ)z 2 as in Proposition 5 (see also [25] for more details). The symbols z 1 and z 2 are the symbols in the first partition, where the indices are chosen as 1, 2 for convenience. In addition to this code, it was shown in [25] that the rate 3/4 quasi-orthogonal code for 8 transmit antennas given in [23] has also two interfering signals and its equivalent channel model can also be written like (38) with While this code does not belong to the class of proposed codes (it is not a full-rate code and the interfering symbols for the proposed code for 8 transmit antennas are 4), we include it here since its analysis is similar to the 4-transmitantenna code. We now determine the pairwise probability of error for these two codes by assuming that the transmitted pair (z 1 , z 2 ) is mistaken as (e 1 , e 2 ). The pairwise probability of error for a given H is given by where where δ 1 = ((z 1 −e 1 )+ j exp( jθ)(z 2 −e 2 )) and δ 2 = ((z 1 −e 1 )− j exp( jθ)(z 2 − e 2 )). We now invoke the clever representation of the Q-function given in [34] to have We now wish to average this integral over the channel H. This may appear to be a formidable exercise, but it can be simplified easily by noting that for some constants a 1 and a 2 with a 1 > 0 and (1 + a 1 ) > a 2 , and for two independent real Gaussian random variables x 1 and x 2 , each of variance 0.5, we have where E{·} denotes the expectation. Note that the integrand in the right-hand side of (43) can be decomposed (by using expressions for γ i and α i ) into MN/2 terms of the form , that in turn can be written in two independent terms of the form a 1 ( , and x 1 , x 2 are real random variables with the statistics defined above. Hence, we can write (43) averaged over the channel as This is a much simpler expression to handle being a single integral. We note that this expression holds true for both M = 4 and M = 8. Note that we have thus far made no assumptions about the constellations used for z 1 and z 2 . We now consider the following cases.

Suboptimal constellations
We define the chosen constellations as suboptimal if for any two distinct pairs, that is, (z 1 , z 2 ) = (e 1 , e 2 ), we have at least one among δ 1 or δ 2 to be zero. A simple example for such a case would be for θ = 0 and z 1 , z 2 chosen from the same constellation that is invariant under a rotation of π such as QPSK, 16-QAM, and so forth. We say for the chosen pair, where Γ(·) denotes the Gamma function and we have used the integral that π/2 0 sin n (x)dx = √ πΓ((1+n)/2)/2Γ(1+n/2). The diversity of this system is clearly MN/2.

Diversity ensuring constellations
We define the chosen constellations to be diversity ensuring if for any two distinct pairs, neither δ 1 or δ 2 is zero. The design of such constellations by rotation for the considered cases can be found [25]. In this case, the pairwise probability of error is upper bounded by where the inequality follows by taking an upper bound of the integrand in (45). This proves the full diversity of the chosen quasi-orthogonal codes for appropriately designed constellations.

CONCLUSIONS
A class of linear quasi-orthogonal codes have been constructed that offer full-rate and full diversity with constellation rotation for any transmit antennas. Due to orthogonal structure in the code, two disjoint partitions containing one half of symbols constituting the code can be decoded separately. A practical decoding algorithm is described to utilize the orthogonality. These codes are closer to the Shannon capacity curves for (M, 1) systems than to the orthogonal codes except for M = 2 in which case the constructed code is the same as an orthogonal code that achieves the Shannon capacity. It may be possible to construct more classes of quasiorthogonal codes in an iterative fashion as described in this paper.