0% found this document useful (0 votes)
82 views

Generalized ABBA Space-Time Block Codes

This document proposes and analyzes generalized ABBA space-time block codes (GABBA STBCs) for multiple-input multiple-output (MIMO) wireless systems. GABBA STBCs systematically construct linear, full-rate and full-diversity STBCs for any number of transmit antennas that allow orthogonal decoding with near-optimal performance. The codes are obtained by generalizing existing ABBA STBCs in a way that provides modulation independence, scalability, and low decoding complexity compared to maximum likelihood decoding. Bit error rate performance of GABBA STBCs is analyzed and shown to approach capacity bounds with orthogonal decoding.

Uploaded by

farhanjanu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

Generalized ABBA Space-Time Block Codes

This document proposes and analyzes generalized ABBA space-time block codes (GABBA STBCs) for multiple-input multiple-output (MIMO) wireless systems. GABBA STBCs systematically construct linear, full-rate and full-diversity STBCs for any number of transmit antennas that allow orthogonal decoding with near-optimal performance. The codes are obtained by generalizing existing ABBA STBCs in a way that provides modulation independence, scalability, and low decoding complexity compared to maximum likelihood decoding. Bit error rate performance of GABBA STBCs is analyzed and shown to approach capacity bounds with orthogonal decoding.

Uploaded by

farhanjanu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

1

Generalized ABBA Space-Time Block Codes


Giuseppe Thadeu Freitas de Abreu,
[email protected]
Center for Wireless Communications, University of Oulu
P.O. box 4500, 90014-Oulu, Finland
arXiv:cs.IT/0510003 v1 2 Oct 2005

Abstract

Linear space-time block codes (STBCs) of unitary rate and full diversity, systematically constructed over arbitrary
constellations for any number of transmit antennas are introduced. The codes are obtained by generalizing the existing
ABBA STBCs, a.k.a quasi-orthogonal STBCs (QO-STBCs). Furthermore, a fully orthogonal (symbol-by-symbol)
decoder for the new generalized ABBA (GABBA) codes is provided. This remarkably low-complexity decoder relies
on partition orthogonality properties of the code structure to decompose the received signal vector into lower-dimension
tuples, each dependent only on certain subsets of the transmitted symbols. Orthogonal decodability results from the
nested application of this technique, with no matrix inversion or iterative signal processing required. The exact bit-
error-rate probability of GABBA codes over generalized fading channels with maximum likelihood (ML) decoding is
evaluated analytically and compared against simulation results obtained with the proposed orthogonal decoder. The
comparison reveals that the proposed GABBA solution, despite its very low complexity, achieves nearly the same
performance of the bound corresponding to the ML-decoded system, especially in systems with large numbers of
antennas.

I. I NTRODUCTION

The design of space-time codes (STCs) as building blocks of multiple-input-multiple-output (MIMO) systems
[1] has been a popular research topic in wireless communications since the discovery of the Alamouti scheme [2]
and the orthogonal space-time block-codes (OSTBC) [3], [4].
Although STC techniques were originally envisioned for rather modest spatial-temporal dimensions, the last few
years has seen a growing interest on techniques suitable for large/scalable MIMO systems [5], [6]. Arguably, this
recent owes mainly to two related developments. The first is the advance the antenna technology enabling the design
of compact multi-mode antennas [7]–[9] which, though small in size, can provide a large number of independent
channels by exploiting spatial, pattern and polarization diversities [10]. The second is the increasing popularity of
distributed and cooperative systems [11]–[13].
These recent developments provide a rationale for the feasibility of MIMO systems of not only large but, in
fact, variable dimensions. For example, in the case of compact multi-mode antennas, MIMO setups of different
dimensions may occur because the number of channels effectively made available by the spatial, pattern and
polarization diversities dependents on the physical scattering properties of the environment. Analogously, in the

October 4, 2005 DRAFT


2

case of distributed architectures, variable MIMO setups arise naturally since the cooperative transmission can only
be employed after the group of cooperating devices is assembled [14].
MIMO techniques can significantly improve both user and rate capacities (efficiencies) of wireless communica-
tions systems [15], [16]. Although space-time transmission diversity techniques in point-to-point links are known
to be sub-optimum from a Shannon capacity viewpoint [17], these techniques have their extremely low-complexity
to their advantage. This trade-off argument is especially compelling when considered that the capacity achieved
by MIMO systems is in practice significantly limited by the use of digital modulation [18]. It is in distributed,
cooperative diversity systems, however, that the flexibility of scalable space-time coding techniques have the most
of their potential [19], [20].
Given the above, it is fair to say that, when considering space-time block codes as building blocks for scalable
MIMO systems, modulation-independence, generalized and systematic constructibility, orthogonal (symbol-by-
symbol) decodability and rate-unitariness1 are the most essential features to be sought. These requirements make
a strong case for linear STBCs and since existing techniques such as the Alamouti scheme, the OSTBCs and the
maximum-rate minimum-delay (MRMD) STBCs are either limited to a small number of antennas, or to particular
constellations, or undermined by sub-unitary rateness [21], [22], many have taken upon the challenge of designing
alternative solutions. To cite a few examples, the universal STCs by Gamal et al. [23], the full-rate full-diversity
(FRFD) STCs by Xiaoli et al. [24], the full-rate full-diversity orthogonal STBC scheme by He et al. [25] and the
variable-rate STBCs by Kim et al. [26].
Each of the above-mentioned methods are clever techniques representing a step forward in the quest for high-
performing, low-complexity STBCs with no or little rate-loss. To the best of our knowledge, however, these and
other similar contributions fail to simultaneously deliver a systematic design, scalable to any number of transmit
antennas, applicable to arbitrary constellations and allowing a linear, symbol-by-symbol decoding method with
performance comparable to that of the maximum likelihood (ML) decoder.
In this paper, a family of space-time block codes that satisfies all these objectives is introduced. The codes are
obtained by generalizing the ABBA (a.k.a quasi-orthogonal) STBCs (QO-STBCs) presented in [27]–[29]. A linear,
orthogonal decoder for the proposed generalized ABBA (GABBA) STBCs is also provided. The performance of
the new codes is also studied both analytically and through computer simulations. In particular, the exact bit error
rate (BER) probability of GABBA codes over uncorrelated memoryless fading channels with unequal powers and
arbitrary statistics is derived under the assumption of perfect channel knowledge at the receiver and ML decoding.
Comparing those results against computer simulations, it is shown that orthogonally decoded GABBA STBCs
achieve nearly the same performance of achievable with the ML decoder (which is prohibitively complex for
large codes and higher-order constellations), especially in systems with a relatively large number of antennas at the
receiver. The transmission rates theoretically achieved by the GABBA codes are compared against the corresponding

1 Rate is here understood as the ratio between the number of transmissions epochs and the number of symbols transmitted per block. For a
formal definition, please refer to 5.

October 4, 2005 DRAFT


3

Shannon SIMO bound [16], [30], showing that GABBA codes have the potential to reach the capacity of the SIMO
channel, despite the remarkably low-complexity involved in the technique.

II. S YSTEMATIC C ONSTRUCTION OF GABBA-STBC S

A. Preliminaries

To the best of our knowledge, a simple and systematic method to construct linear, full(unitary)-rate1, modulation-
independent STBCs for any number of antennas is yet to be demonstrated. In [27], Tirkkonen et al. conjectured
that larger ABBA STBCs codes could “probably be constructed by repeatedly iterating the ABBA scheme.” It will
be shown here that this conjecture was almost correct, except that the generalized construction involves two distinct
ABBA schemes.
Consider a vector sK of symbols taken from a non-ambiguous arbitrary complex constellation S ∈ CQ
−{0} :

sK , [s1 , · · · , sK ]T ∈ S K×1 , (1)

T
where denotes transpose.
Definition 1 (Linear Space-time Block Encoding Matrix):
The term linear space-time block encoding matrix will be used throughout this paper in reference to matrices of
the form  
c ··· c1,K
 1,1
. .. ..  K×nt
C(sK) =  ..
 .  ∈ C−{0} ,
.  (2)
cK,1 · · · cK,K
where each element ci,j relates to one and only one symbol sk ∈ sK , such that ci,j ∈ {sk , −sk , s∗k , −s∗k }.
Notice that definition 1 rules out constructions based on linear combinations of entries of the symbol vector, such
as the rate 3/4 code that appears in [3].
Definition 2 (Raw Symbol, Raw Encoding Matrix):
The symbol sk from which an entry ci,j of a linear space-time block encoding matrix C(sK) derives, is referred
to as the raw symbol of ci,j , and is denoted by hci,j i. Likewise, the matrix hC(sK )i consisting of the raw symbols
of the space-time block encoding matrix C(sK ) is referred to as the raw encoding matrix of C(sK ).
Definition 3 (Dense STBCs):
A linear space-time block code matrix C(sK) is said to be dense if and only if (iff) hci,j i =
6 0 ∀ (i, j).
Definition 4 (Complete STBCs):
A linear space-time block code matrix C(sK) is said to be complete iff it satisfies both the following conditions:
i) hci,↓(sK )i =
6 hcj,↓(sK )i ∀ i 6= j ,
ii) 6 hc↓,j(sK )i ∀ i 6= j .
hc↓,i(sK )i =
In plain words, if the rows and columns of an encoding channel matrix represent different transmit epochs
and different transmit spatial channels, respectively, definition 3 implies that at every transmit epoch, all diversity
branches are utilized. On the other hand, according to definition 4, the raw columns and raw rows of a complete

October 4, 2005 DRAFT


4

T
encoding matrix C(sK) are, simultaneously, mutually exclusive permutations of sK and sK , respectively. These
two properties ensure that the code fully exploits the “raw diversity” of the channel, as defined in [27, section II,
§1]. Notice that the K-by-nt rectangular matrices resulting from column partitions of a dense and complete linear
space-time block encoding matrix C(sK) preserve this property. For simplicity, such matrices will also be, therefore,
referred to as dense and complete.
Definition 5 (Rate):
The rate of a linear space-time block code described by the matrix C(sK) is defined as the ratio between the
number of independent raw symbols and the number of linearly independent rows in C(sK).
Notice that, according to definition 5, a linear space-time block code as defined here can, at most, achieve a
unitary rate. Therefore, the terms rate-one and full-rate will be hereafter used interchangeably in reference to a
linear STBCs of rate 1.
Definition 6 (Real Orthogonality):
A pair of vectors a and b ∈ Cn×1 is said to be real orthogonal to one another iff
n
X
aT ·b ≡ bT ·a = ai bi = 0. (3)
i=1

Definition 6 is introduced in order make clear the distinction between the orthogonality property given in equation
(3) and the notion of vector orthogonality which is usually defined, in complex Hilbert spaces, over the product of
a vector against the transpose-conjugate of another [31].
Definition 7 (Block-orthogonal STBCs):
A matrix C ∈ Cn×m is said to be block-orthogonal iff there exists a permutation C of C such that
 
D 1 0
C · CH =  , (4)
0 D2
H
where denotes Hermitian.
Furthermore, C is said to be real block-orthogonal iff a permutation C exists such that
 
D 1 0
C · CT =  . (5)
0 D2

Definitions 6 and 7 establish a slight generalization of the concept of quasi-orthogonality, in the sense presented in
[27]–[29], with quasi-orthogonality resulting in the special case where the dimensions of D1 and D2 are identical.
The notion of real orthogonality will be used later in the derivation of the GABBA orthogonal decoder, in section
IV.
Definition 8 (Manifold Matrices):
Consider the generating function defined below over the space of complex-valued square matrices A, B ∈ CK×K ,
 
A B
X(A, B) ,  . (6)
−B A

October 4, 2005 DRAFT


5

The 1st order ABBA manifold matrix of the vector s2 = [s1 , s2 ], denoted by X[s1 ,s2 ] , is defined as the outcome of
X(s1 , s2 ), with si ∈ S. Accordingly, the 2nd order ABBA manifold matrix of the symbol vector s4 = [s1 , s2 , s3 , s4 ]
with generating function X is defined as the outcome of X(X[s1 ,s2 ] , X[s3 ,s4 ] ) and denoted by X2[s1 ,s2 ,s3 ,s4 ] .
In general, the n-th order ABBA manifold matrix of the vector sK with generating function X is defined as the
(n−1) (n−1)
outcome of X(XsK/2 , Xs̃K/2 ) and denoted by XnsK , where s̃K/2 is the complementary symbol given below

s̃K/2 , [sK/2+1 , · · · , sK ]T . (7)

Lemma 1 (Commutativeness of n-th Order Manifold Matrices):


The n-th order manifold matrices of independent, equal-sized vectors aK and bK ∈ CK×1 commute with respect
to matrix product.
Proof: Let us rewrite XnaK and XnbK in terms of their half block-partitions:
   
(n−1) (n−1)
X aK/2 XãK/2   A 1 B 1
XnaK ≡ (n−1) (n−1)
= , (8)
−XãK/2 XaK/2 −B1 A1
   
(n−1) (n−1)
XbK/2 Xb̃ A 2 B 2
XnbK ≡ (n−1)
K/2  
(n−1)
= . (9)
−Xb̃ XbK/2 −B2 A2
K/2

Writing the products XnaK · XnbK and XnbK · XnaK explicitly and using standard block-partition properties we
obtain,  
A 1 ·A 2 −B 1 ·B 2 A 1 ·B 2 +B 1 ·A 2
XnaK · XnbK =  , (10)
−(A1 ·B2 +B1 ·A2 ) A1 ·A2 −B1 ·B2
 
A 2 ·A1 −B 2 ·B 1 A 2 ·B 1 +B 2 ·A1
XnbK ·XnaK =  . (11)
−(A2 ·B1 +B2 ·A1 ) A2 ·A1 −B2 ·B1
It is clear from equations (10) and (11) that the condition for the n-th order manifold matrices XnaK and XnbK to
commute is that their minors A1 , B1 , A2 and B2 commute. These minors are, in turn, (n−1)-th order manifold
matrices (see equations (8) and (9)) and, therefore, commute under the same condition. Since the minors of first-
order ABBA manifold matrices are complex scalars, the commutativeness of XnaK and XnbK with respect to matrix
product follows immediately, by induction.

B. GABBA Encoding Matrices

We can now introduce the major result of this section.


Theorem 1 (Construction of GABBA Matrices):
For any given number of transmit antennas nt ∈ N+ , there exists a dense, complete and block-orthogonal GABBA
matrix for rate-one space-time block encoded transmission of symbols taken from any complex-valued arbitrary
constellation S.
Proof: The proof is constructive. For any given nt , let n = ⌈log2 nt⌉ and K = 2n , where ⌈x⌉ denotes the
(n−1)
smallest integer greater or equal to x. Next, construct the (n−1)-th order ABBA manifold matrix XsK/2 of the

October 4, 2005 DRAFT


6

(n−1)
symbol vector sK/2 , and the (n−1)-th ABBA order manifold matrix Xs̃K/2 of the complimentary symbol vector
s̃K/2 , both with the generating function X given in equation (6).
Next, construct the dense and complete GABBA mother encoding matrix C(sK) by computing
(n−1)
C(sK) = YsnK = Y (X(n−1)
sK/2 , Xs̃K/2 ), (12)

with Y (A, B) defined as  


A B
Y (A, B) ,  . (13)
H H
−B A
For obvious reasons, Y (A, B) is referred to as the wrapping function.
Notice that the manifold matrices X(n−i) are constructed over 2(n−i) vectors each carrying a mutually exclusive
partition of sK tuples of symbols and, furthermore, that at each iteration of X, these arguments are in opposite
quadrants of the resulting matrix. The same occurs with the final “wrapping” operation, i.e., the application of
equation (13). It is therefore clear that the GABBA mother encoding matrices are dense and complete.
It is also evident that YsnK are square matrices of size K = 2n . Therefore, the capital scalar K will, hereafter,
exclusively denote integer powers of two. Rectangular (K–by–nt) GABBA encoding matrix are obtained by simply
selecting any nt columns of C(sK). Since columnwise partition does not affect the density and completeness of
C(sK), GABBA encoding matrices Cnt are also dense and complete, which concludes the proof.
Hereafter we shall simplify the notation slightly and write CK , instead of C(sK), for the K-by-K GABBA
mother encoding matrix. Accordingly, the matrix obtained by selecting nt columns of CK will be denoted by Cnt .
The following property is an immediate consequence of Theorem 1.
Corollary 1 (Block-orthogonality of GABBA Encoding Matrices):
GABBA mother encoding matrices are quasi-orthogonal and GABBA encoding matrices are block-orthogonal.
Proof: The K–by–K GABBA mother encoding matrix is given by
   
(n−1) (n−1)
XsK/2 Xs̃K/2 A B
C(sK) ,  H  H= . (14)
(n−1) (n−1)
− Xs̃K/2 XsK/2 −BH AH

Writing the product C(sK)·C(sK)H explicitly, and after trivial algebraic manipulations, we obtain
 
H H
A·A + B·B B·A − A·B
C(sK)·C(sK)H =  . (15)
(B·A − A·B)H A·AH + B·BH
Equation (15) indicates that the quasi-orthogonality of GABBA mother matrices is conditioned on the commu-
tativeness of its minors (A, B) and, therefore, follows directly from Lemma 1.
Rectangular (K–by–nt) GABBA matrices Cnt are obtained by arbitrarily selecting nt columns of C(sK), that is,
by selection a total of nt column vectors out of the sets {c↓,1(sK ), · · · , c↓,K/2(sK )} and {c↓,1+K/2(sK ), · · · , c↓,K(sK )}.
Since this columnwise partition does not affect the orthogonality between these two sets, the corresponding mother
encoding matrix, Cnt are obviously block-orthogonal, which concludes the proof.

October 4, 2005 DRAFT


7

An example of a GABBA mother encoding matrix with K = 32 and a Matlab implementation of the encoder
described in this section are given in Appendix I. The reader is encouraged to inspect the example provided and to
utilize the program in order to generate GABBA matrices of various sizes and verify their block-orthogonality2.

III. Q UASI -O RTHOGONAL D ECODING GABBA C ODES

A. Preliminaries

Consider the problem of decoding the received signal vector corresponding to the transmission of a GABBA
matrix Cnt through a memoryless block-fading channel hnt in the presence of an additive noise vector nK . At a
given receive antenna, such a received signal vector can be modeled as

r = Cnt · hnt + nK = HK · s̄K + nK , (16)

where s̄K is the augmented symbol vector, defined as

s̄K , [s1 , · · · , sK , s∗1 , · · · , s∗K ]T , (17)


where denotes complex conjugate.
Examples of the use of alternative representations of the linear STBC receive vector, similar to that given in
equation (16), can be found in the literature. For instance, in [32], the idea was employed in order derive a simpler
decoder for OSTBCs, and in [29], the transformation was used to construct the quasi-orthogonal decoder for the
4-by-4 code there proposed.
We have shown, however, that this technique can be expanded well beyond the relatively straightforward applica-
tions suggested in [32] and [29]. In particular, we have shown in [33], [34] that a more elaborate utilization of these
transformation can be exploited to construct a novel decoder for OSTBCs which enables its use in time-selective
fading channels. In this section, we build on the concepts laid in [33], [34] in order to show that GABBA codes
are indeed orthogonally decodable.

B. Structure of GABBA Encoded Channel Matrices

Equation (16) indicates that HK are constructed by simply re-arranging the corresponding channel entries
appropriately. These matrices are, therefore, hereafter referred to as the GABBA encoded channel matrices.
Begin by noticing that when the transmitter has a number nt < K of antennas, an nt column-partition of the
corresponding K-by-K GABBA mother encoding matrix is utilized. Mathematically, this is equivalent to the case
when K − nt columns of CK and rows of h (corresponding to the “unused” antennas) assume zero values3 , leading

2 Instructions on how to generate a GABBA encoding matrix of symbolic variables are given as comments in the Matlab code provided.
Note that the Symbolics Tool Box is required. To encode a numerical symbol vector s, simply call the function as usual giving s as input. To
inspect the block orthogonality of the GABBA encoding matrices, first generate a symbolic GABBA mother encoding matrix <C> and then
type <C’*C>.
3 This is the reason why we maintain the notation HK in equation (16)

October 4, 2005 DRAFT


8

to a sparse HK , but leaving unaffect its real quasi-orthogonality properties. It is, therefore, sufficient to consider
mother matrices HK when studying the properties of GABBA encoded channel matrices Hnt .
Before we proceed, let us introduce some additional terminology .
Definition 9 (Notation for Matrix Partitions):
The symbol [A]P:p denotes the left (P=L), right (P=R), upper (P=U) or lower (P=D) partition of the matrix A,
containing its p leftmost, rightmost,uppermost and lowermost columns/rows, respectively.
Definition 10 (Notation for Matrix Reorientation):
The symbols A† and A‡ denote, respectively, the bottom-up and the left-to-right reorientations of a matrix A
(a.k.a. flip upside-down and flip left-right operations). Trivial properties of these operations are:
†
A† = A, (18a)

A† ·b = (A·b) = A†‡ ·b†. (18b)

where A ∈ Cn×m and b ∈ Cm×1 .


Next, observe that due to the structures of CK and s̄K , HK can be written as
 
HK1 0
HK =  , (19)
0 HK2
where HK1 and HK2 are both K/2–by–K matrices.
The following result can then be stated and proved.
Lemma 2 (Construction of GABBA Encoded Channel Matrices):
The non-zero minors HK1 and HK2 of the GABBA encoded channel matrix HK are given by

HK1 = [Hnh+ ]U:K/2, (20)


K

HK2 = [H̃nh ]U:K/2, (21)


K

+
where Hnh+ and H̃nh are n-th order manifold matrices of the extended channel vector hK and the modified channel
K K

vector hK , respectively,

+
hK , [h1 , · · · , 0, · · · , hk , · · · , 0, · · · , hnt , · · · , 0]T, (22)
| {z }
hnt extended with K−nt zero-entries
 + D:K/2 + U:K/2
hK , [[hK ] [hK ] ] = [hK/2+1 , · · · , 0, · · · , hnt , · · · , 0 , h1 , · · · , hk , · · · , 0, · · · , hK/2 ]T, (23)
| {z }| {z }
+ +
last K/2 entries of hK first K/2 entries of hK

with the corresponding generating functions H and H̃ given by


 
A B
H(A, B) ,  , (24)
B −A
 
A −B
H̃(A, B) ,  . (25)
B A

October 4, 2005 DRAFT


9

Proof: The proof is constructive. The noise-independent terms of the first K/2 entries of r can be written as
     
s s2  h h h s
 1
 1
  1 2 1
R:(K−2)   R:(K−2)
K [CK ]U:2  [HK1 ]U:2  
U: 2      
[Cnt ] · h= −s2 s1 ·
 =
h2  h2 −h1   s2 = HK1 · sK .
·
  K D:2
      
[CK ]U: 2 [h]D:(K−2) [HK1 ]D:(K/2−2) [s]D:(K−2) (26)

Equation (26) derives directly from the structure of CK (see section II-B), and reveals that HK1 is the upper
+
half-partition of the n-th order manifold matrix of hK , with the generating function given by equation (24).
Analogously, the noise-independent terms of the last K/2 entries of r (flipped upside-down), can be written as
 K †
[Cnt ]D: 2 · h=
   
∗ ∗
∗ ∗ sK sK hK hK
−sK −sK−1 † U : 2 2 −1 [C† ]U : 2 
 −h1 −h2 †‡
U:2
2 +1 2 +2 [H†‡ ]U : 2 

 [CK ]R :K −2 2 K R : K −2  [HK 2
]R :K −2 K2 R : K
−s∗ s∗ ∗ ∗ −2
·hK = h2 −h1 −hK hK ·s∗†=
L : −2 s
  K
= K−1 K
K
2 K −sK 2 L :
2
−2 2

 2 −1 2   2 +2 2 +1 
   
† U :K/2 †‡ D:K/2−2
[CK ]D :K/2−2 [H K2 ]
†‡
= HK 2
·s∗† = (HK2 ·s∗ )† = HK

2
·s∗ . (27)

From equation (27) it is found that HK2 has the following structure:
 
hK/2+1 −hK/2+2 U:2 −h1 h2 U:2

 [HK2 ]R :K −2 [HK2 ]R :K/2−2

HK2 =  hK/2+2 hK/2+1 L :K/2−2 −h
2 −h1 . (28)
 
[HK2 ]D:K/2−2

Equation (28) finally reveals that HK2 is the upper half-partition of the n-th order manifold matrix of hK , with
the generating function given in equation (25), which concludes the proof.
Lemma 2 gives an algorithm to construct GABBA encoded channel matrices of any size, and reveals the similarity
in the construction of the GABBA mother encoding, and encoded channel matrices. As an example, the minors HK1
and HK2 of the encoded channel matrix corresponding to C32 are shown in Appendix II. A Matlab implementation
of the algorithm is also provided. The reader is again encouraged to inspect the example, as well as to utilize the
program to generate GABBA encoded channel matrices of various sizes and verify the veracity of equation (16).

C. Properties of GABBA Encoded Channel Matrices

Let us now introduce the following property of GABBA encoded channel matrices.
Lemma 3 (Quasi-orthogonality of GABBA Encoded Channel Matrices):
The following property holds and is referred to as the quasi-orthogonality of GABBA Encoded Channel Matrices4 :
 
Ĥ1 0
HhnH n nT n∗
+ ·H + + H  ·H 
h h h
,P= , (29)
K K K K
0 Ĥ2

4 This represents a slight abuse of the terminology introduced earlier, given that the property is defined over a sum of matrix products. We
believe, however, that this does not contribute to any confusion and simplifies that language somewhat. The reason why such a product sum of
Hn+ and Hn is considered is to became clear soon, when the procedure for orthogonal decoding is introduced.
hK hK

October 4, 2005 DRAFT


10

where Ĥ1 and Ĥ2 are K/2–by–K/2 matrices.


+ U:K/2  U:K/2
Proof: Let Ai and Bi be manifold matrices of the sub-vectors [hK ] and [hK ] , such that:
a) A1 and B1 are structured as described by the generating function given in equation (24);

b) A2 and B2 are structured as described by the generating function given in equation (25);

c) Ai depend on the K/2-tuple ha , [h1 , · · · , hK/2 ], while Bi depend on the K/2-tuple hb , [hK/2+1 , · · · , hK ].
From equations (24) and (25) we then have
 
Ĥ1 P̂
P = , (30)
P̂H Ĥ2
where

Ĥ1 = |A1|2+ |B1|2 +AT2 ·A∗2+BT2 ·B∗2 , (31)

Ĥ2 = |A2|2+ |B2 |2 +AT1 ·A∗1+BT1 ·B∗1 , (32)

P̂ = P̂1 − P̂H1 , (33)

P̂1 , AH1 ·B1+AT2 ·B∗2 , (34)

Form equation (33) it is seen hat the quasi-orthogonality of the GABBA encoded channel matrices, as defined
in equation (29), can result from two independent, and both sufficient, conditions:
i) P̂1 = P̂H
1 (“weak” condition)

ii) P̂1 = 0 (“strong” condition)


The commutativeness of manifold matrices established by Lemma 1 implies5 that P̂1 = P̂T1 . It is therefore evident
that the weak condition is only satisfied if either the matrices Ai and Bi or, equivalently, CK are/is real-valued6.
The strong condition ii, on the other hand, is generally satisfied, as shown below.
Let A1 = H(A1,1 , B1,1 ), B1 = H(A1,2 , B1,2 ), A2 = H̃(A2,1 , B2,1 ), B2 = H̃(A2,2 , B2,2 ), where A1,j and B1,j
are build over the the first and second half partitions of ha , respectively, while A2,j and B2,j are build over the
first and second half partitions of hb , respectively. Then, P̂1 can be written as:
dependent on dependent on
[h1 ,··· ,hK/4 ] [hK/2+1 ,··· ,h3K/4 ]
z
 }| {  z }| {   
H H
A1,1 B1,1 A1,2 B1,2 B2,1 A2,1 B∗2,2 −A∗2,2
T T
P̂1,1 P̂1,2
P̂1 =  · +  · =  . (35)
BH H
1,1 −A1,1 B1,2 −A1,2 −AT2,1 BT2,1 A∗2,2 B∗2,2 P̂2,1 P̂2,2
| {z } | {z }
dependent on dependent on
[hK/4+1 ,··· ,hK/2 ] [h3K/4+1 ,··· ,hK ]

5 Although the generating function considered in Lemma 1 differs from those given by equations (24) and (25), the extension of the proof to
these generating functions is trivial.
6 In the later case because then the linear combination of the received signal vector can be performed independently over the in-phase and
quadrature components of the channel vector hnt , splitting the corresponding encoded channel matrix HK into real and imaginary parts.

October 4, 2005 DRAFT


11

From equations (29), (30), (34) and (35), and due to the properties a, b and c listed above, it is evident that the
sum-product structure of P propagates to P̂, to P̂1 , to its blocks P̂i,j , and so fourth. For example P̂1,1 is given by

∗ ∗ ∗ ∗
P̂1,1 = (AH1,1 ·A1,2 +BH T T H H T T H
1,1 ·B1,2 +B2,1 ·B2,2 −A2,1 ·A2,2 )−(A1,1 ·A1,2 +B1,1 ·B1,2 +B2,1 ·B2,2 −A2,1 ·A2,2 ) =
same generating function
z }| {
= AH1,1·A1,2 −A1,1 ·AH1,2 + · · · = ÃH1 · B̃1 − B̃1 · ÃH1 + · · · (36)
|{z} |{z} | {z }
dependent on dependent on same structure as P̂1
[h1 ,··· ,hK/4 ] [hK/4+1 ,··· ,hK/2 ]

Ultimately, this structure propagates to each of the scalar elements p̂1(n,m) of P̂1 , yielding
K/2
X
p̂1(n,m) = (ha∗i hbi+hai hb∗i )−(ha∗i hbi+hai hb∗i )∗= 0, (37)
i=1

where the set of pairs {(ha1 , hb1 ), · · · , (haK/2 , hbK/2 )} are different for each (n, m)-th element of the matrix.
Equation (37), together with the fact that Ĥ1 and Ĥ2 are matrices of the same size, implies the quasi-diagonality
of P̂, which concludes the proof.
The reader is invited to utilize the Matlab code provided in Appendix II-A to generate GABBA channel encoded
matrices of various sizes and verify its quasi-orthogonality property algebraically7.

D. Quasi-orthogonal Decodability

The quasi-orthogonality of GABBA encoded channel matrices has the following consequence.
Theorem 2 (GABBA Quasi-Orthogonal Decodability):
The receive vector rK corresponding to a GABBA STBC K-by-nt transmitted through a memoryless block-
fading channel with additive noise can be linearly combined so as to produce the following pair of vectors r̂K1 and
r̂K2 , respectively dependent on the mutually exclusive K/2-tuple of symbols, as shown below

r̂K1 =HK/2 ·sK/2 + nK/21 , (38)

r̂K2 =HK/2 ·s̃K/2 + nK/22 . (39)


Proof: Consider the following linear combination:

H U:K
r̂K = [HK ] ·rK + r∗K ·[HK
T R:K
] . (40)

7 This is accomplished as follows. First, give the variable K an appropriate (power-of-two) value. For example, type <K=32;> in the
command line (the brackets <> not included) to make K = 32. Next, generate the corresponding symbolic GABBA encoded channel
matrix HK and its non-zero minors HK1 and HK2 with the command <[H,H1,H2]=GABBAEncodedChannelMatrix([],K);>. If
desired, omit the semicolon or type <H1> or <H2> to verify that the matrices generated are not numeric, but symbolic (algebraic) entities.
Compute the algebraic outcome of the sum-product P by typing <P=H1’*H1+H2.’*conj(H2);>. Verify the algebraic values of the minors
of P corresponding to P̂ and P̂H by typing P(1:K/2,K/2+1:end) and P(K/2+1:end,1:K/2), respectively. Notice also that there are
additional pairs of orthogonal vectors in the GABBA encoded matrices. This property will be exploited in section IV to devise a fully orthogonal
decoder for the GABBA codes. In order to inspect the quasi-orthogonality property over real matrices, compute the the sum-product P with
<P=H1.’*H1+H2.’*H2;>. Notice the interesting difference in the results. For example, for K = 8, the sum-product P is in fact diagonal!

October 4, 2005 DRAFT


12

Due to the block structure of HK , it is clear that the noise independent-terms in equation (40) can be split into
the following independent components:
   
∗ ∗  
 H U: K  HK1·sK  T U:
K  HK
1
·sK H U: 2
K
T U: 2
K

r̂K1 = [HK1 ] 2 0·  + 0 [HK2 ] 2 · = [HK1 ] ·HK1+[HK2 ] ·HK2 ·sK = ĤK1·sK/2,
∗ ∗
HK2·sK HK ·s
2 K
(41)
   
 
 H D: K  HK1·sK  K  H∗ ·s∗ K K
T D: 2  K1 K  H D: 2 T D: 2 ∗
r̂K2= [HK 1
] 2 0 · + 0 [HK
2
] · = [HK 1
] ·HK1+[HK 2
] ·HK 2
·sK = ĤK2·s̃K/2 .
∗ ∗
HK2·sK HK2·sK
(42)

It is left to prove that the matrices ĤK1 and ĤK2 , which are referred to as equivalent encoded channel matrices,
are identical. From equations (24) and (26); and from equations (25) and (26), we have
 
A1 B1
HK1 =  , (43)
B1 −A1
 
B2 −A2
HK2 =  . (44)
A2 B2
Substituting these into equations (41) and (42), we have, straightforwardly:
    U: K
∗ ∗ 2
A1 B1 B2 −A2
ĤK1 = [ A1 B1 ]·
 H H   +[ B2 A2 ]·
T T    = |A1|2 +|B1|2 +BT2 ·B∗2 +AT2 ·A∗2 , HK/2 , (45)
B1 −A1 A∗2 B∗2

    D: K
2
A1 B1 B∗ ∗
−A2
ĤK2 = [ BH −AH1 ]·  +[ −AT BT2 ]·  2  = |A1|2+|B1|2+BT2·B∗2+AT2·A∗2 , HK/2 , (46)
1 2
B1 −A1 A∗2 B∗2
which concludes the proof.
Referring to equations (41) through (44), it is clear that equations (45) and (46) can be combined into
1 H T ∗

ĤK1 = ĤK2 = HK/2 = HK · HK1 + HK · HK , (47)
2 1 2 2

which removes the need for partitioning the minors HK1 and HK2 when computing the GABBA reduced encoded
channel matrix.
The reader is invited to inspect the quasi-orthogonal decodability of GABBA codes using the Matlab programs
provided in Appendices I and II8 .

8 To work with the examples of Appendices I and II, type <K=32;>. Generate the GABBA encoded channel matrix
with the command <[H,H1,H2]=GABBAEncodedChannelMatrix([],K);>. Next, type <for k=1:K/2,eval([’syms s’
num2str(k)]),end;> to define K/2 symbolic variables. Construct the symbol vector with its last K/2 entries reduced to zeros
with <s=[];for k=1:K/2,eval([’s=[s;s’ num2str(k) ’];’]),end> and <szeros=[s;zeros(K/2,1)];>. Apply the
GABBA encoder with <C=GABBAEncoder(szeros);>. Type <r=H*[szeros;conj(szeros)];> to obtain the receive vector and,
finally, type <rhat2=H(:,K/2+1:K)’*r+(r’*H(:,3*K/2+1:2*K)).’;> and <expand(rhat2)>, obtaining a vector of algebraic
zeros which confirms that the outcome of the linear combination given by equation (42) is independent of the first K/2 symbols in sK . Similarly,
type <szeros=[zeros(K/2,1);s];> and <C=GABBAEncoder(szeros);> to generate and encode a symbol vector with its first K/2
entries padded with zeros. Compute the received signal vector with <r=H*[szeros;conj(szeros)];> and the linear combination given
by equation (41) with <rhat1=H(:,1:K/2)’*r+(r’*H(:,K+1:3*K/2)).’;>. Finally, inspect the result with <expand(rhat1)>.

October 4, 2005 DRAFT


13

In light of the similarities between equations (38) and (39) and the equivalent system description given in equation
(16), the matrix HK/2 will be hereafter referred to as the GABBA reduced encoded channel matrix.
Theorem 2 establishes that the GABBA codes admit a quasi-orthogonal decoder similar to that described in
[27]–[29] and, therefore, can be seen as a complete generalization of the ABBA scheme previously known for
limited number of antennas only. In the next section it will be shown, however, that a fully orthogonal decoder for
the proposed GABBA codes also exists.

IV. O RTHOGONAL D ECODING OF GABBA C ODES

A. Properties of GABBA Reduced Encoded Channel Matrices

The essence behind Theorem 2 is that the n-th order manifold structure of the GABBA encoded channel matrices,
which ensures their quasi-orthogonality, ultimately enables the decomposition of the received vector into two vectors
each dependent of mutually exclusively K/2-tuples of transmitted symbols. Similarly, it will be shown that the
symbol-by-symbol decodability of GABBA codes derives from additional orthogonalities in the reduced encoded
channel matrix, beyond those proved in Theorem 2.
To this end, let us first introduce the following result.
Lemma 4 (Structure of GABBA Reduced Encoded Channel Matrices):
GABBA reduced encoded channel matrices HK/2 are (n− 1)-th order manifold matrices with generating function
as given in equation (25).
Proof: In similarity to Lemma 3, let us write the minors Ai and Bi in equations (45) and (46) one step more
explicitly, yielding A1 = H(A1,1 , B1,1 ), B1 = H(A1,2 , B1,2 ), A2 = H̃(A2,1 , B2,1 ) and B2 = H̃(A2,2 , B2,2 ). Then,
the equivalent encoded channel matrix HK/2 can be written as
   
2 2 2 T ∗ T ∗ H H T ∗ T ∗
X  |A 1,i | +|B 1,i | +B 2,i ·B 2,i+A 2,i ·A 2,i A1,i ·B 1,i −B 1,i ·A 1,i −B 2,i ·A2,i+A 2,i ·B 2,i  A −B
HK =  = .
2 i=1 BH H T ∗ T ∗ 2 2 T ∗ T ∗ B A
1,i ·A1,i − A1,i ·B1,i +B2,i ·A2,i−A2,i ·B2,i |A1,i | +|B1,i | +B2,i ·B2,i+A2,i ·A2,i
(48)
It is evident from equation (48) that HK/2 has the structure described by equation (25). Proceeding in a similar
manner it is straightforward to show that, furthermore, the minors A and B also have the same structure. In other
words, HK/2 can be constructed by iterating the generating function given by equation (25) n−1 times and, therefore,
is a (n−1)-th order manifold matrix.
The fact that GABBA reduced encoded channel matrices HK/2 have a manifold structure similar to that HK
prompted us to investigate its orthogonality properties. One difficulty in dealing with the reduced matrices in
algebraic form, however, is that its elements are sums of products of the channel estimates. A solution to this
problem is to relabel the entries of HK/2 . A Matlab program that can be used to systematically relabel the entries

October 4, 2005 DRAFT


14

of GABBA reduced channel matrices is provided in Appendix III-A9 . Another solution is to simply rely on the
proof of Lemma 4, and construct the relabeled GABBA reduced encoded channel as the manifold matrix of a
channel vector of length with the . The corresponding Matlab code is provided in Appendix III-B10 . Finally, one
could also use the program given in Appendix II-B and generate the (n−1)-th manifold matrix as the second minor
of the GABBA encoded channel matrix (i.e., the matrix <H2>), using a modified channel vector as input11 .
Empowered by the ability to algebraically generate GABBA reduced channel matrices of any size, one can easy
inspect their properties. Such an inspection quickly reveals that GABBA reduced channel matrices are real quasi-
orthogonal (see definitions 6 and 7), i.e., there is a permutation that can be applied to a reduced GABBA encoded
matrices such that the first half columns(rows) of the resulting permuted matrix are real-orthogonal to the remaining
half columns(rows).
For example, it is found that first and fourth columns(rows) of the 4-by-4 GABBA reduced encoded channel matrix
are real-orthogonal to its second and third columns(rows). Likewise, the {1, 4, 6, 7}-th columns(rows) of the 8-by-8
GABBA reduced encoded channel matrix are real-orthogonal to its {2, 3, 5, 8}-th columns(rows).. Analogously, the
{1, 4, 6, 7, 10, 11, 13, 16}-th and {2, 3, 5, 8, 9, 12, 14, 15}-th columns and rows of the 16-by-16 GABBA reduced
encoded channel matrix are mutually real-orthogonal, and so fourth. Though rather hard to prove in a concise and
generalized fashion, these results are easy to verify algebraically (for example, using the Matlab programs given
in Appendix III), and indicate a clear pattern of real-orthogonality between the vectors of the GABBA reduced
encoded channel matrices, which is conjectured to behave as follows.
Conjecture 1 (Real Quasi-Orthogonality Pattern of GABBA Reduced Encoded Channel Matrices):
Consider the function  
⌊log2 N⌋−1j k
X x
pN (x) = modx·⌊log2 N ⌋ − x + , 2 , (49)
n=1
2n

where ⌊x⌋ denotes the largest integer no greater than x and mod(x, 2) denotes the rest of division by 2.
Let the sets p0:N and p1:N be respectively given by

p0:N = {1, · · · , i, · · · }, such that pN (i) = 0, (i 6 N ), (50)

p1:N = {2, · · · , j, · · · }, such that pN (j) = 1, (j 6 N ). (51)

9 Before running the program, type in a value for the variable K, e.g., <K=32;> and generate the corresponding GABBA en-
coded channel matrix and its minors with the command <[H,H1,H2]=GABBAEncodedChannelMatrix([],K);>. Finally, type
<[Hhat1,Hhat2]=RelabelH(H1,H2,1)> to generate and display the GABBA reduced encoded channel matrices. Notice that the
outcomes <Hhat1> and <Hhat2> are generated independently and yield the same results, as proven in Theorem 2. It is also evident from the
h i
results that GABBA reduced encoded channel matrices are (n − 1)-th order manifold matrices with generating function H̃(A, B) = AB A
−B
,
as proved in Lemma 4.
10 To use the program, assuming that the variable K has been assigned a power-of-two value, simply type
<H=RelabeledGABBAReducedEncodedChannelMatrix(16)>. Notice that, in order to remain coherent to the notation used
throughout the paper, the relabeled matrix outputted is of size K/2.
11 To generate the modified channel vector, type <h=[];for k=1:K/2, eval([’h=[h;h’ num2str(k) ’];’]),end> and
<h=[h(K/4+1:K/2);h(1:K/4)]> into the command line, after giving the variable <K> an appropriate (power of 2) value.

October 4, 2005 DRAFT


15

If HK/2 denotes the K/2-by-K/2 GABBA reduced encoded channel matrix, then the permuted matrix given
below is real quasi-orthogonal
 
HK/2 = [HK/2 ]p0:K/2 [HK/2 ]p1:K/2 . (52)

That is, the p0:N -th columns(rows) of the N -by-N GABBA reduced encoded channel matrix are real-orthogonal
to its p1:N -th columns(rows).
A Matlab program to generate the permutation indexes p0:N and p1:N is provided in Appendix IV.
Conjecture 1 is algebraically verifiable for matrices of very large sizes and, therefore, is nearly as strong as
theorem for most practical purposes. Indeed, using the programs provided in Appendices III and IV, it is found
that conjecture 1 is hold true for matrices as large as Matlab can handle in symbolic form12 , which is beyond the
dimension of virtually any foreseeable MIMO application! The reader is invited to test our claims13 .

B. Orthogonal Decodability of the Original ABBA Code

The real quasi-orthogonality of GABBA reduced encoded matrices implies that the vectors r̂K1 and r̂K2 , of
equations (41) and (42), can be further decomposed into a total of 4 vectors, each dependent of mutually exclusively
K/4-tuples of transmitted symbols as follows.
First, notice that the real quasi-orthogonality property of HK/2 ensures that,
 
H 1 0
HTK ·HK =  . (53)
2 2 0 H2
Let r̂K1 , r̂K2 , sK/2 and s̃K/2 be the permuted versions of the vectors r̂K1 , r̂K2 , sK/2 and s̃K/2 , respectively. Then,
equations (41) and (42) can be rewritten as (see also equations (45) and (46)),

r̂K1 = HK/2 · sK/2 , (54)

r̂K2 = HK/2 · s̃K/2 . (55)

Substituting equation (53) into these equations we obtain,


U:K/4
T
r̂K1,1 = [HK/2 · r̂K1 ]U:K/4 = H1 · [sK/2 ]U:K/4 = H1 · [sK ][p0:K/2 ] , (56)
U:K/4
T
r̂K1,2 = [HK/2 · r̂K1 ]D:K/4 = H2 · [sK/2 ]D:K/4 = H2 · [sK ][p1:K/2 ] , (57)
D:K/4
T
r̂K2,1 = [HK/2 · r̂K2 ]U:K/4 = H1 · [s̃K/2 ]U:K/4 = H1 · [sK ][p0:K/2 ] , (58)
D:K/4
T
r̂K2,2 = [HK/2 · r̂K2 ]D:K/4 = H2 · [s̃K/2 ]D:K/4 = H2 · [sK ][p1:K/2 ] . (59)

12 This is dependent on the amount of memory available in platform used. We have verified the conjecture to hold over GABBA encoded
channel matrices of sizes up to K = 1024.
13 After generating an algebraic and relabeled GABBA reduced encoded channel matrix, construct the vectors p0:N and p1:N
with the command <[p0,p1]=PermutationIndexes(1:K/2)> and type <H(:,p0).’*H(:,p1)>, <H(:,p1).’*H(:,p0)>,
<H(p0,:)*H(p1,:).’> or <H(p1,:)*H(p0,:).’> to verify the real-orthogonalities of the column- and row-wise partitions of <H>.

October 4, 2005 DRAFT


16

T
The last terms in equations (56) through (59) are obtained by recalling that the product HK/2 · HK/2 is a sparse
matrix with the elements of H1 distributed across its p0:K/2 columns and rows, and with the elements of H2
distributed across its p1:K/2 columns and rows, such that the half-partitions of p0:K/2 are, respectively, the indexes
of the symbols in the permuted vectors [sK/2 ]U:K/4 and [s̃K/2 ]U:K/4 and, likewise, p1:K/2 is the set of indexes of the
symbols in [sK/2 ]D:K/4 and [s̃K/2 ]D:K/4 , respectively.
In particular, for the case of K = 4, where the GABBA code reduces to the a variation of the original ABBA
code, equations (56) through (59) ensure the full decoupling of all four symbols encoded. In that case, it is trivial
to show that H1 and H2 reduce to identical scalar numbers, such that equations (56) through (59) need only be
normalized accordingly to yield soft estimates of the encoded symbols.
For the convenience of the reader, explicit calculations for the orthogonal decoding of the 4-by-4 GABBA code
are put together in a Matlab script file provided in Appendix V-A. One needs only to study and execute the file to
verify the veracity of our claims.

C. Orthogonal Decodability of GABBA Codes

It was shown, so far, that the quasi-orthogonality of GABBA encoded channel matrices and the real quasi-
orthogonality of GABBA reduced encoded channel matrices enable the orthogonal decodability of the 4-by-4
GABBA code, which is a variation of the original ABBA scheme proposed in [27]–[29].
In this subsection, it will be shown that the orthogonal decodability is a general property of the GABBA codes.
To this end, it is sufficient to show that the real quasi-orthogonality of GABBA reduced encoded channel matrices
propagates to the minors H1 and H2 , and so forth.
Conjecture 2 (Real Quasi-Orthogonality of Second-Order GABBA Reduced Encoded Channel Matrices):
Let H1 and H2 denote the minors of the real-product of two K/2-by-K/2 permuted GABBA reduced encoded
channel matrices, as given in equation (53). Then, the second-order GABBA reduced encoded channel matrix,
defined as
2
HK/4 , HT1 · H2 = HT2 · H1 , (60)

is a real quasi-orthogonal matrix.


2 2
Furthermore, let the HK/4 denote the permuted version of HK/4 such that
 
2
2T 2 H 1 0
HK ·HK = . (61)
4 4 0 H22
Such a permutated matrix is given by

2
 2 p 2

HK/4 = [HK/4 ] 0:K/4 [HK/2 ]p1:K/4 , (62)

where p0:K/4 and p1:K/4 are as in equations (50) and (51).

October 4, 2005 DRAFT


17

Again, the veracity of conjecture 2 can be easily verified for values of K as large as Matlab is able to handle14
and, therefore, has the strength of a theorem form most practical purposes.
The similarity between Conjectures 1 and 2 is evident. In fact, these results can be can be combined and
generalized as follows.
Conjecture 3 (Real Quasi-Orthogonality of n-th Order GABBA Reduced Encoded Channel Matrices):
Let the n-th GABBA reduced encoded channel matrix defined15 by
1 ∗

HK/2 , H
HK T
· HK1 + HK · HK , (n = 1) (63)
2 1 2 2

n−1 T
n
HK/2n , (H1 ) · Hn−1
2 = (Hn−1 T n−1
2 ) · H1 (1 < n 6 log2 K). (64)

Then, for all 1 6 n 6 log2 K, the permutation

n
 n n

n = [HK/2n ] [HK/2n] ,
p0:K/2n p1:K/2n
HK/2 (65)

is such that  
Hn1 0
HnKT ·HnK = , (66)
2n 2n 0 Hn2
with Hn1 and Hn2 reducing to a complex scalar at n = log2 K.
In other words, GABBA reduced encoded channel matrices of n-th order are real quasi-orthogonal.
The claims stated in conjecture 3 are, once more, verifiable to matrices of very large sizes and, therefore, are a
solid results that can be used with the strength of a theorem for all cases of practical interest. A Matlab script file
is provided in Appendix VI-A to facilitate this verification.
The orthogonal decodability of GABBA codes is an immediate and obvious consequence of the real quasi-
orthogonality of GABBA reduced encoded channel matrices. The following algorithm to obtain orthogonal estimates
of all symbols encoded in GABBA encoding matrix can be inferred directly from conjecture 3.
Algorithm 1 (Orthogonal Decoding of GABBA Codes with a Multi-antenna Receiver):
Consider a K-by-nr matrix constructed from the collection of independent receive vectors rK1 :1 , · · · , rK1 :nr ,
each obtained at a different receive antenna, corresponding to the transmission of a K-by-nt GABBA encoding
matrix through a MIMO channel consisting of nt transmit and nr receive antennas. Assume that the nt -by-1 channel
vectors hnt :1 , · · · , hnt :nr at all receive antennas are perfectly known. Then, orthogonal estimates of all symbols
encoded in GABBA encoding matrix are obtained as follows:

14 For instance, input a value for the variable K, e.g., <K=32;>, and type in the command
<H=RelabeledGABBAReducedEncodedChannelMatrix(K);> to generate a relabeled, algebraic GABBA reduced encoded
channel matrix of desired size. Next, compute the second-order GABBA reduced encoded channel matrix algebraically through
the real-product <HH=H.’*H;>, as in equation (60). Verify the commutativeness of the product as implied in that equation
with the command <HH==H*H.’>, which should return a matrix of logical “ones”. Then, compute the permutation indexes with
<[p1,p2]=PermutationIndexes(1:K/2);> and, finally, type in <HH(p1,p2)> and <HH(p2,p1)> to verify that the off-
diagonal minors of the permuted second-order GABBA reduced encoded channel matrix are indeed null-matrices. If desired, type in
<HH(p1,p1)> and <HH(p2,p2)> to inspect the diagonal minors corresponding to H21 and H22 in equation (61).
15 For convenience, equation (47) is repeated in equation (63).

October 4, 2005 DRAFT


18

1) For every i-th receive antenna, construct the corresponding K-by-2K GABBA encoded channel matrix as
described in Lemma 2;
2) For every i-th receive antenna, combine the received vector as shown in equations (41) and (42), obtaining two
independent reduced receive vectors r̂K1 :i and r̂K2 :i ;
3) For every i-th receive antenna, use equation (63) to construct the 1st order GABBA reduced encoded channel
matrix HK/2:i ;
4) Add the first reduced receive vectors r̂K1 :i across the receive antennas, obtaining r̂K1 :Σ ;
5) Add the second reduced receive vector r̂K2 :i across the receive antennas, obtaining r̂K2 :Σ ;
6) Add the 1st order GABBA reduced encoded channel matrix across the receive antennas, obtaining HK/2n:Σ ;
7) Set n = 1;
8) Multiply the aggregate reduced receive vectors r̂Kj :Σ , (j = 1, · · · , 2n ) by the transpose of the aggregate n-th
order GABBA reduced encoded channel matrix HK/2n :Σ , obtaining 2n+1 new aggregate reduced receive vectors,
each dependent on mutually exclusive K/2(n+1) -tuples of transmitted symbols (see equations (56) through (59));
9) Compute the permutation indexes p0:K/2n and p1:K/2n ;
10) Obtain a higher-order GABBA reduced encoded channel matrices by partitioning HK/2n :Σ , as in equation (65);
11) If n < log2 K − 1, increment n by 1 and return to step 8;
12) Otherwise, the symbols have been fully decoupled. Normalize the combined signals16 r̂Kj :Σ , (j = 1, · · · , 2n )
by the GABBA reduced encoded channel matrix (which at this point has been reduced to a scalar) to obtain the
soft estimate of the corresponding symbol.
Notice that right after step 6 of algorithm 1, we have:
nr
P nr
P
r̂K1 :Σ = (r̂K1 :i + nK1 :i ) = (HK/2:i · sK/2 + nK1 :i ) = HK/2:Σ · sK/2 + nK1 :Σ , (67)
i=1 i=1
Pnr Pnr
r̂K2 :Σ = (r̂K2 :i + nK2 :i ) = (HK/2:i · s̃K/2 + nK2 :i ) = HK/2:Σ · sK/2 + nK2 :Σ , (68)
i=1 i=1

where nK1 :i , nK2 :i , nK1 :Σ and nK2 :Σ are noise vectors.


It is clear from equation (48) that the diagonal elements of each 1st order GABBA reduced encoded channel
Pnt
matrix HK/2:i are real scalars given by j=1 |hj:i |2 , while all remaining elements are independent complex numbers.
Consequently, the summation of the vectors r̂K1 :Σ and r̂K2 :Σ across the receive antennas – which incurs in no loss
of information, nor in any decrease of signal to noise ratio – significantly reduces the complexity the orthogonal
soft-decoding procedure in a multi-antenna receiver, by eliminating the need for the parallel processing of the signal
streams at all receive antennas independently.
Notice also that the soft estimates obtained at step 12 of 1 are not in a trivial ascending ordered. In fact,
although the symbols are split into two K/2-tuples with indexes arranged in ascending order up to the first linear
combination, at the following steps each of the tuples are split into two tuples arranged according to the sequences

16 The notation is slightly abused here for the sake of simplicity.

October 4, 2005 DRAFT


19

p0:K/2n and p1:K/2n . Therefore, the soft symbol estimates obtained by the GABBA orthogonal decoder are ordered
in accordance with the sequence computed as follows.
Algorithm 2 (Order of GABBA Orthogonal Soft Estimates):
Start with the matrix " #
1 2 · · · K/2
P1 = . (69)
K/2 + 1 K/2 + 2 · · · K
Next, for n = {2, · · · , log2 K}, partition the matrix P n in half (columnwise) and stack the two partitions,
obtaining " #
[P n−1 ]p0:K/2n
Pn = , (70)
[pn−1 ]p1:K/2n

where p0:N and p1:N are computed as described in conjecture 1.


Then, the j-th entry of the resulting column vector P log2 K is the index of the symbol corresponding to the j-th
orthogonal soft estimate output by algorithm 1.
A Matlab implementation of algorithms 1 and 2, combined into a fully orthogonal decoder for the GABBA
codes, is provided in Appendix VII. The reader is encouraged to test the generality, speed and numeric efficient of
the technique17. Try large values of K and nr over numeric symbol taken for different constellations to experience
the remarkable low-complexity and flexibility of the GABBA decoder18. Emulate the case of nt < K by simply
puncturing arbitrary columns of the GABBA mother encoding matrix and padding the rows of the corresponding
encoded channel matrix with zeros.
As a final remark for this section, we emphasize that the decoding procedure described in algorithm 1 is not
to be confused with a zero forcing or any iterative technique such as the minimum mean square error (MMSE)
decoder. Indeed, in the proposed decoder, all transmitted symbols are decoupled through linear combinations of the
received signal vector, without any assumptions on the modulation scheme or any knowledge/estimation of the noise
statistics, and without resorting to matrix inversions. Instead, as shown in the preceding sections, the orthogonality
of the soft symbol estimated is ensured by the quasi-orthogonality of the encoded channel matrix and the real
quasi-orthogonality of the reduced encoded channel matrix of different orders.
In fact, it is evident that the nested calculation described in algorithm 1 can be reduced to a single-step
implementation, where the linear combination weights Fk:1 and Fk:2 required to obtain the orthogonal estimate of
each symbol sk are first computed from the corresponding products of GABBA reduced encoded channel matrices,

17 For instance, after giving the variables K and nt desired values, type <s=(randn(K,1)+j*randn(K,1));> to generate a symbol
vector taking from a complex Gaussian constellation and and GABBA-encode it with <C=GABBAEncoder(s);>. Then, generate a Rayleigh
block-fading channel matrix with the command <hh=(randn(K,nr)+j*randn(K,nr));> and compute the corresponding receive signal
matrix with <rr=C*hh;>. Employ the GABBA decoder to obtain the soft orthogonal estimates of the transmitted symbols calling the function
<sx=GABBADecoder(rr,hh);>. Finally, verify the results by listing the original and the orthogonal estimate symbol vector next to one
another with <[s sx]>, or compute the norm of their difference with <norm(s-sx)>.
18 Note that Matlab’s floating point relative accuracy is of approximately 2·10−16 . Extremely large values of K may cause Matlab to overflow.
This problem can be avoided by normalizing the intermediate quantities.

October 4, 2005 DRAFT


20

and then applied directly over the original received signal vector, as shown in equation (71)

H
ŝk = Fk:1 ·rK + r∗K ·Fk:2
T
= αk · sk + ñk , (71)
(nP
r ,nt )
where αk is a real scalar proportional to |hi,j |2 , while ñk is the linear combination of the original noise
(i,j)=(1,1)
terms nk (see equation (16)) with independent, complex coefficients.
In other words, it can be said that the GABBA orthogonal decoding “algorithm” is a true extension of the
Alamouti decoder, currently available for the case of nt = 2. The flexibility in handling with GABBA codes of
different sizes (scalability), and the relatively easy expressions involved are, nevertheless, advantages of the nested
implementation here described.

V. P ERFORMANCE OF GABBA C ODES

In this section, performance of GABBA codes in uncorrelated fading channels of generalized statistics is studied
both analytically and through simulations.
Given the difficulty in computing explicitly the coefficients αk , as well as the corresponding coefficients multiply-
ing the noise terms in ñk , the exact BER probability of orthogonally decoded GABBA codes is hard to determine
in a generalized and fashion. Therefore, we shall take the approach of deriving analytical expressions (bounds)
corresponding to the ML decoder (whose complexity is prohibitive for large systems and high-order constellations),
and compare the curves with simulation results obtained using the proposed GABBA orthogonal decoder.

A. Performance of GABBA Codes with ML Decoding: Analysis of Exact BER Probability

The BER probability of digitally modulated signals in a fading channel can be computed by averaging the
corresponding error probability in the additive white Gaussian noise (AWGN) channel over the statistics of the
fading process [35]. In a setting with nt transmit and nr receive antennas, a ML-decoded rate-one STBC with full
diversity is equivalent to a (nt × nr )-branch maximum ratio combined receive diversity system with receive power
equal to nr , i.e., where the unitary transmit power is shared amongst all the nt transmit channels [36].
Consider an nt -by-nr MIMO set-up in which the constellation-energy-to-noise-power ratio (Es/No) of the n-th
pair of transmit-to-receive antennas is denoted γn , and where the envelope fading process corresponding to that
diversity branch is described by a continuous probability density function (PDF) pΓn(γn ). Let Pb (γn ) denote the
BER probability of the digital modulation system over the n-th branch under AWGN conditions. Following the
arguments in the previous paragraph, the BER probability of the full-rate full-diversity GABBA codes over this
MIMO structure is given by
Z∞ Z∞ ntY
×nr
P̄b (γ) = ··· Pb (γn ) ·pΓn(γn ) dγ1 · · · dγnt nr . (72)
0 0 n=1
| {z }
(nt ×nr )−fold

October 4, 2005 DRAFT


21

1) M -ary PSK Modulation:


The BER of M -ary PSK modulated signals over the AWGN channel were (believed to be) calculated exactly by
Lee in [37]. A minor error (occurring at higher-order constellations) was recently discovered by Lassing et al. and
corrected in [38], [39]. In particular, from [38, eqs. (2) and (3)], we have
M−1
1 X
Pb:PSK (γ|M ) = d¯k:PSK · Pk:PSK (γ|M ), (73)
log2 M
k=1

with
  log2 M>2  
k k X k k
¯
dk:PSK = 2 + +2 2i + 2i , (74)

M M i=2

where ⌊x⌉ rounds x to its nearest integer, and Pk:PSK (γ|M ) is the probability that a received M -ary PSK symbol
falls k sectors away from the sector it belongs to due to the effect of AWGN, under the signal-to-noise ratio γ.
A convenient formula for Pk:PSK (γ|M ) can be derived19 from [40, eq. (24)], yielding
 − +

π(1−δk
Z ) sin2 (πδk− ) π(1−δk
Z ) sin2 (πδk+ )
1  −γ· sin2 (θ) −γ· sin2 (θ) 
Pk:PSK (γ|M ) =  e dθ − e dθ , (75)

0 0

where, for uniform M -ary PSK constellations, we have


2k − 1
δk− = , (76)
M
2k + 1
δk+ = . (77)
M
Equation (75) also appears (with a minor error, however) in [35, pp. 201, eq. (129)].
Substituting equation (75) into equation (73), and the consequent result into equation (72), one realizes that
the moment generating function (MGF) approach (see [35]) can be easily applied in the computation of the exact
average BER probability of M -ary PSK over fading channels. In fact, equation (72) can be rewritten as
M−1
1 X 
P̄b:PSK (γ|M ) = d¯k · I(δk− , gPSK (δk− ), nt · nr ) − I(δk+ , gPSK (δk+ ), nt · nr ) , (78)
2 log2 M
k=1

with the functions gPSK (δ) and I(δ, g, N ) respectively given by

gPSK (δ) = sin2 (πδ), (79)


 
1 π(1−δ)
R N
Q g
I(δ, g, N ) = · µγ − 2 dθ, (80)
π 0 n=1 n sin (θ)
where µγn(x) is the MGF of the PDF pΓn(γn ).
The exact BER integral formula given in equation (78) can be easily extended to the case of a STBC with rate ρ
and transmit diversity order20 η. To this end, one needs only to realize that in a linear STBC of rate ρ and diversity
η, each symbol is transmitted 1/ρ times by each transmit antenna (so that the energy of the transmit constellation

19 To this end, notice that in our context [40, ∆Φ = 0]. From [40, eq. (18b)], this gives [40, A = −Φ]. Finally, let [40, A] be given by the
left and right angles defining each PSK sector. The difference between the formulas at adjacent delimiting angles gives equation (75).
20 Transmit diversity order is understood as the ratio between the diversity gain achieved by the STBC, to the number of transmit antennas.

October 4, 2005 DRAFT


22

increases proportionally); and that the diversity order η < nt can be translated as a uniform loss in the diversity
contributions of all branches in the systems. These observations lead to
M−1  
1 X
P̄b:PSK (γ|M, ρ, η) = d¯k · I(δ
˜ − , gPSK (δ − ), nt · nr |ρ, η) − I(δ
k k
˜ + , gPSK (δ + ), nt · nr |ρ, η) ,
k k (81)
2 log2 M
k=1
where
π(1−δ) !η
Z N 
˜ g, N |ρ, η) = 1 · g
Y
I(δ, µγn − dθ. (82)
π n=1
ρ · sin2 (θ)
0
Equation (81) is a general, simple and exact formula for the BER probability of linear STBCs of rate ρ and
diversity order η employing uniform M -ary PSK modulation over an ensemble of uncorrelated fading channels
with arbitrary and unequal statistics.
2) M -ary QAM Modulation:
In similarity to the previous subsection, an exact formula for the performance of linear STBCs over M -ary QAM
constellation can be derived as follows. The exact BER probability for QAM modulation in the AWGN channel
was derived by Cho et al. [41]. In particular, for regular M -ary QAM constellations we have, from [41, eq. (16)],

log2
1 XM
Pb:QAM (γ|M ) = √ Pk:QAM (γ|M ). (83)
log2 M k=1
In equation (83), Pk:QAM (γ|M ) is the probability that the k-th bit in the M -ary symbol is in error, which can
be put from [41, eq. (14)] into the more convenient form shown below

(1−2−k ) M−1  q 
2 X 2γ
Pk:QAM (γ|M ) = √ di:QAM · Q (2i + 1) ( M−1 ) , (84)
M i=0
where  k−1

i·2
√  j k
k−1
di:QAM = (−1) M 2k−1 − i·2

M
+ 1
2 , (85)

and Q(x) is the Gaussian Q-function, given by


π
Z2 −x2
1 2
Q(x) = · e (θ) dθ.
sin (86)
π
0
The similarities between equations (73) and (83), and between equations (75) and (84) are evident. Substituting
equations (83) through (86) into equation (72), and invoking the MGF method, we obtain
√  √ 
log2 M (1−2−k ) M−1  
2 X X 1
P̄b:QAM (γ|M ) = √ √  di:QAM · I , gQAM (i), nt · nr  , (87)
M log2 M k=1 i=0
2

where
3 (2i + 1)2
gQAM (i) = · . (88)
2 (M − 1)
Again, equation (87) can be generalized to STBCs of rate ρ and diversity order η by replacing equation (80)
with equation (82), which gives
√  √ 
log2
2 XM (1−2−k ) M −1
X 1
 
P̄b:QAM (γ|M, ρ, η) = √ √  di:QAM · I˜ , g (i), nt · nr |ρ, η  . (89)
M log2 M i=0
2 QAM
k=1

October 4, 2005 DRAFT


23

For convenience, a Matlab implementation of the above-derived analytical BER probability formulas over un-
correlated and unequal fading channels of Hoyt, Rice, Rayleigh and Nakagami statistics [42]–[45] is provided in
Appendix VIII.
Closed form formulas corresponding to equations (81) and (89) can most likely be derived (at least under certain
conditions) using ideas found, for instance, in [35]. Given the simplicity and conciseness of the formulas provided,
as well as the accurate results obtained with these equations, however, it is unlikely that the resulting expressions
(which oftentimes involve terms dependent on factorials) would be of use.

B. Performance of Orthogonally Decoded GABBA Codes: Simulations and Comparisons

In this section, the performance of orthogonally decoded GABBA codes are compared to the exact formulas
(bounds) derived above.
1) Equipower Rayleigh Block-fading Channels:
First, in figure 1, the BER performance of a large GABBA code (nt = 64) simulated over independent and
identically distributed (i.i.d.) Rayleigh fading channels is compared against the corresponding analytical BER
probability bound. The simulated results (white markers) were obtained with the orthogonal, symbol-by-symbol
decoder described in subsection IV-C, while the analytical results (black markers) were computed using equation
(87), with ρ = 1 and η = 1.
A number of important conclusions can be inferred from the comparison. Firstly, the remarkably low complexity of
the scheme is emphatically illustrated. Indeed, in order to decode a single block, the ML-decoder, whose performance
is associated to the analytical (analytical) curves shown in the figure, would require the minimization of a decision
metric over all possible 64-tuples composed of 64-QAM constellation symbols, resulting in the prohibitive decoding
complexity of O(6464 ). Likewise, a quasi-orthogonal decoding procedure would require the minimization of two
independent decision metrics over all possible 32-tuples of 64-QAM symbols, yielding an equally prohibitive
decoding complexity of O(2 · 6432 ). In contrast, the proposed orthogonal decoder requires merely the comparison
of each orthogonal symbol estimate against the 64 possible symbols in the constellation, the same complexity of
an uncoded system.
Secondly, hard evidence is provided to the fact that the GABBA orthogonal decoder is not a mere zero-forcing
technique. This is true because the performance loss of the symbol-by-symbol decoding procedure relative to its
bound decreases with the number of receive antennas. In other words, no systematic penalty in signal-to-noise ratio
is payed by the use of the GABBA orthogonal decoder. It is difficult to determine exactly the reason why the
simulated results obtained with the orthogonal decoder do not match exactly the bounds. The difference between
the analytical and simulated curves shown in figure 1 could, in principle, be caused by coloration of noise samples
in the decoupled symbol estimates. Since the noise terms at the output of the decoder are linear combinations of
the original noise vector, with coefficients given by sum-products of the uncorrelated channel, noise coloration is
rather unlikely, especially with large codes and more so when multiple receive antennas are used. This author is
led to conclude therefore, that the problem is (even if partly, but substantially) caused by rounding errors inserted

October 4, 2005 DRAFT


24

by limitations of the simulation platform utilized (in this case Matlab). Anyhow, given the extreme contrast in the
complexities involved by each of the alternatives compared, the results shown in figure 1 are nothing but remarkable.
Finally, it is clearly shown that the diversity order attained by the GABBA STBC with its orthogonal decoder is
the same as the one theoretically achievable with the ML decoder. This claim is consistent with the discussion of
section IV, and is further supported by the results shown in figure 2. In this figure, the simulated and analytical BER
probabilities of GABBA codes of various sizes over QPSK modulated signals in the Rayleigh fading channel are
compared. It is found that even with a small number of receive antennas (nr = 2), the performance of orthogonally
decoded GABBA codes is close to the theoretical bound, and that the difference between does not increase with
the number of transmit antennas nt , i.e., as larger codes are used21 .
2) Unequal Block-fading Channels of Same Statistics:
The point of figures 1 and 2 was to illustrate how the GABBA codes and the corresponding orthogonal decoder
provide a realistic, high-performing solution for a large, flexible, linear STBC achieving full-rate and full-diversity
over i.i.d. fading channels.
Next, we turn our attention to the effects of unequal diversity branches and on the performance of GABBA codes
or, in other words, to the effect of utilizing large GABBA codes in the presence of non-i.i.d. fading channels. Our
objectives are two-fold, first, to verify that the impact of unequal power and/or unequal statistics of the space-time
channels is less significant as the number of transmit antennas increases (larger codes); and, second, to illustrate
the flexibility and accuracy of the BER expression given in equation (87).
First, consider the case of channels with the same fading statistics but different powers [46], [47]. This case can
be associated to a distributed scenario [12] with cooperative GABBA space-time encoded transmission, where the
multiple cooperating transmitters are in the same environment (same channel statistics), but at different locations
(different signal strengths at the receiver). The cooperation is assumed to be perfect, i.e., cooperating transmitters
are perfectly synchronized and coordinated, such that their transmit signals arrive at the receiver at the same time,
at every transmission epoch22.
It is also assumed that the average power of each transmit channel is an independent random uniformly distributed
in the interval [0, Pmax ]. Let the average power of the k-th transmit channel be denoted by p̄k . We start by asking
ourselves what is the power distribution profile (across the different transmit channels) that best describes the
average scenario faced by the system. Notice that if the statistics of all channels are the same, all diversity branches
can, without loss of generality, be relabeled into ascending order. Mathematically we have:

℘1 6 · · · 6 ℘k 6 · · · 6 ℘K , (90)

21 Except when going from nt = 2 to nt = 4. This is because at nt = 2 the GABBA code reduces to the Alamouti scheme, which admits
a linear orthogonal decoder identical to the ML decoder.
22 A practical example would be an indoor OFDM multi-cast system, where several base-stations are reliably connected to one another
(e.g., via cable) and transmit the same signal (e.g. a video steam) cooperatively to a wireless user. The OFDM set-up not only provides for
memoryless channels but also ensures that a synchronous transmission (synchronized acess-points) results in synchronous reception for all users
in the premises.

October 4, 2005 DRAFT


25

The random ℘k is referred to as the k-th order statistic of the ensemble {p̄1 , · · · , p̄K }. For Pmax = 1, the expected
value of the k-th order statistic ℘k is given by [48, pp. 665, eq. (7.9.20)]
Z1
K!
℘¯k = · xk · (1 − x)K−k dx. (91)
(k − 1)!(K − k)!
0

The integral in equation (91) is a variation of the well-known Beta function [48, pp. 544, eq. (6.12.1)] (a.k.a.
Euler’s integral of the first kind), which has no general solution. Fortunately, for {k, K} ∈ N, it is easy to show
(see Appendix IX) that
Z1
(K − k)!k!
xk · (1 − x)K−k dx = . (92)
(K + 1)!
0

From equations (91) and (92), we finally obtain, for a general value of Pmax ,
k
℘¯k = Pmax . (93)
K +1
In figure 3, the simulated and analytical performances of GABBA codes of sizes 4 and 64, over 16QAM-modulated
symbols in an ensemble of Rice block-fading channels with equal and unequal (linear) power distributions are
compared. It can be seen that the impact of an unequal power distribution on the ergodic performance of GABBA-
encoded systems loses relevance when large codes are used. As a side product of the comparison, it is once again
verified that orthogonally decoded GABBA codes (simulated results) perform very close to the analytical bound
2k
(in this case given by equation (87) in combination with equation (82), with N = K, ρ = 1 and γn = ).
K
3) Block-fading Channels of Different Statistics:
Next, the performances of GABBA codes in uncorrelated block-fading channels with equal and unequal statistics
are compared. Results obtained both analytically and through computer simulations are shown in figure 4. The curves
corresponding to the unequal fading channels were obtained by assigning to the k-th branch a fading severity factor
P
mk and a power factor Ωk such that mk spans the interval [0.5, 4] uniformly, with mk+1 > mk , while Ωk = 1,
with Ωk+1 < Ωk . In other words, the channels experiencing more severe fading are also the most powerful ones,
such that no particular channel in the ensemble is “dominant”. This distribution of parameters is selected so as to
prevent a few channels to dominate the others, ensuring that, instead, all branches have significance in providing
diversity. This selection of parameters is associated to scenario faced by peer-to-peer MIMO systems employing
diversity-optimized multi-mode adaptive antennas with orthogonal pattern adaptability23.
The comparison in figure 4 demonstrates how the use of a large GABBA code results in more robustness against
shadowing and other effects that may affect the power distribution and fading statistics of the diversity branches
available in peer-to-peer MIMO systems with multi-mode antennas.

23 It is assumed here that the beamforming strategy is such that narrow beams are pointed towards stronger multipath components while wider
beams are formed towards portions of the space characterized by more dispersive multipath clusters. A consequence of such approach would
be that the narrower beams would collect less energy (fewer multipath components), but exhibit less severe fading, In contrast, while the wider
beams would collect more energy (more multipath components), but also exhibit severer fading.

October 4, 2005 DRAFT


26

The unitary rate and full diversity achieved by GABBA codes ensure that they outperform all (presently known)
alternative STBCs of linear construction and comparable complexity (orthogonally decodability). It is, therefore, of
little use to show comparisons between GABBA codes and other linear STBCs such as the Alamouti scheme [2],
the OSTBC [3], [4], and the maximal-rate minimum-delay (MRMD) codes [22]. The comparison of these codes
can, nevertheless, be easily performed analytically utilizing equations (78) and (87), by simply selecting for each
technique the corresponding values of ρ (for rate) and η (for diversity order).

VI. S HANNON , AND M ODULATION -C ONSTRAINED R ATE C APACITIES

In this section, the performance of the proposed GABBA codes is analyzed from a capacity point of view.
The Shannon capacities (over Gaussian constellations) of MIMO systems in ergodic and deterministic fading
channels were derived in [16], [30]. More recently, the modulation-constrained rate capacity (maximum average
throughput) of MIMO systems over M -ary PSK constellations has also been derived [18]. It is known, however,
that the rate capacity of linear STBCs (which do not provide multiplexation gain) is bound by the Shannon capacity
of the corresponding SIMO channel [17].
It is of interest, therefore, to compare the average throughput theoretically achievable by GABBA codes in
systems utilizing different modulation schemes over ensembles of nt -by-nr antennas against the ergodic capacity
of the equivalent 1-by-nr SIMO channel. Given the exact BER probability formulae derived in section V-A, a
simple yet effective approach at hand is to consider the rate capacity of GABBA codes with hard-decision on the
orthogonal symbol estimates. In this case, one can simply considering the binary symmetric channel (as seen from
the input of the space-time block encoder up to the output of the corresponding decoder, with the physical MIMO
fading channel included), with the transition probabilities given by P̄b and 1 − P̄b , respectively [49]. This leads to
 
 
CM (γ) = ρ · M · 1 + P̄b · log2 P̄b + 1− P̄b · log2 1− P̄b , (94)

where P̄b is computed with equations (78) or (87), at the given signal-to-noise ratio, considering the corresponding
number of transmit and receive antennas nt and nr , and with parameters ρ = 1 and η = 124 .
Using equation (94), the hard-decision modulation-constrained rate capacities of GABBA codes of different
sizes, achieved with different modulation schemes, in both dominant transmit (nt > nr ) and receive (nr > nt )
diversity scenarios, are compared against the SIMO Shannon capacity in figures 5(a) and 5(b), respectively. It is
found that GABBA-encoded systems with optimized modulation comes to roughly 1 bit/sec/Hz from the Shannon
SISO capacity. This is a rather remarkable performance when considered that the Shannon capacity is related to
an unfeasible Gaussian modulation and soft-decision decoding. In contrast, the modulation-dependent rates shown
for the GABBA scheme can be reached at significantly lower complexities, through concatenation with efficient
inner codes such LDPC or Turbo Codes [50], and employing hard decision at the symbol-level. In other words, it
is learned from figures 5(a) and 5(b), that the considerably more complex soft-symbol decoding of GABBA codes
(concatenated with an inner code) would only improve the rate of the system by 1 bit/sec/Hz.

24 For simplicity, all these parameters are omitted from the notation of P̄b .

October 4, 2005 DRAFT


27

It is also noticeable from figures 5(a) and 5(b) that for lower signal-to-noise ratios and relatively lower-order
constellations (up to 64QAM), the GABBA codes considered (nt = 4 and nt = 16) actually come to less than
1 bit/sec/Hz from the Shannon bound. This result is further illustrated in figure 6, where the achievable rates of
balanced MIMO systems (nt = nr ) employing optimum modulation and GABBA codes of different sizes25 are
compared to the corresponding SIMO Shannon capacities. It is interesting to notice that MIMO system with the
GABBA scheme and optimum modulation exhibits the same general behavior as the “ideal” Shannon bound when
it comes to rate increase in proportion to the number of antennas used in the system.

VII. C ONCLUSIONS

In this paper, a family of linear space-time block codes (STBCs) of unitary rate and full diversity, systematic
constructed over arbitrary constellations for any number of transmit antennas are introduced. The codes were
obtained from a generalization of the existing ABBA STBCs, a.k.a quasi-orthogonal STBCs (QO-STBCs) and,
therefore, are denominated generalized ABBA (GABBA) codes (see section II-B).
It was also shown that the GABBA codes admit fully orthogonal (symbol-by-symbol) decoding. Two key ideas
underlie the derivation of the orthogonal GABBA decoder. The first is a transformation applied to the system
equation (see section III-A), that exposes the relationship between the code structure and the interference amongst
symbols embedded in the same encoding block, characterizing it in terms of an equivalent encoded channel matrix
(see section III-B). The second is the exploitation of partition orthogonality properties present in structure of the
GABBA codes, which are shown to be transferred to the corresponding encoded channel matrices. It was shown that,
as a consequence of these techniques/properties, the received signal vector can decomposed into lower-dimension
tuples, each dependent only on certain subsets of the transmitted symbols, via simple linear combinations with
coefficients derived directly from the channel estimates. Orthogonal decodability results from the nested application
of such linear combinations, with no matrix inversion or iterative signal processing required.
The performance of the proposed GABBA codes were studied both analytically and through computer simulations.
The exact BER probability of the codes with ML the decoder over generalized (uncorrelated) fading channels was
derived analytically, under the assumption of perfect channel knowledge at the receiver (see section V-A). The
formulae were then compared to simulation results obtained with the proposed orthogonal decoder. The comparison
reveals that the proposed GABBA solution, despite its very low complexity, achieves nearly the same performance
of the bound corresponding to the ML-decoded system, especially in systems with large numbers of antennas (see
section V-B).
A brief analysis of the average transmission rate achieved with GABBA codes was also provided. The analysis
indicate that the transmission rates achievable with the full(unitary)-rate full-diversity GABBA codes over optimized
constellations, with the corresponding orthogonal decoder and hard symbol decision, have the potential to come 1
bit/sec/Hz from the theoretical bound given by the Shannol SIMO channel capacity. It has been shown that higher

25 The curves are the envelopes of all possible regular modulations ranging from BPSK to 4096QAM, with hard-decision at the symbol level.

October 4, 2005 DRAFT


28

rates can be achieved using unitary-rate STBCs as building blocks in a layered structure. Such approaches have
already been demonstrated for the known ABBA scheme and OSTBCs [51, Chap. 9], [52], [53]. It is foreseeable,
therefore, that these techniques extend naturally to the family of GABBA codes here introduced, with the added
flexibility, scalability and low complexity to its advantage.
In addition to the equations, proofs and figures found in the main body of the paper, extensive material is provided
in the appendices to allow the verification of all claims, including explicit examples and Matlab implementations
of the encoder, the decoder and the BER formulae.

October 4, 2005 DRAFT


29

GABBA Codes in Rayleigh Fading


0
(nt = 64, 64QAM)
10

−1
10

−2
10
BER

−3
10

Simulated (nr = 2)
−4
10 Analytical (nr = 2)
Simulated (nr = 4)
Analytical (n = 4)
r
−5 Simulated (nr = 8)
10
Analytical (nr = 8)
Simulated (nr = 16)
Analytical (nr = 16)
−6
10
4 6 8 10 12 14 16 18 20 22 24 26
SNR (in dB)

Fig. 1. Performance of the GABBA code C64 over 64-QAM modulation in Rayleigh block-fading channels with various numbers of receive
antennas. Simulated results (white markers) were obtained using the orthogonal GABBA decoder described in section IV-C, while analytical
results (black markers) were obtained with equation (87), with ρ = 1 and η = 1 (full-rate full-diversity).

October 4, 2005 DRAFT


30

GABBA Codes in Rayleigh Fading


(nr = 2; QPSK)
0 0
10 10

−1 −1
10 10

−2 −2
10 10
BER (Simulated)

BER (Analytical)
−3 −3
10 10

−4 −4
10 10

−5 nt = 2 −5 nt = 2
10 10
nt = 4 nt = 4
nt = 8 nt = 8
nt = 64 nt = 64
−6 −6
10 10
−8 −4 0 4 8 12 16 20 −8 −4 0 4 8 12 16 20
Es/No (in dB) Es/No (in dB)

Fig. 2. Performance of GABBA codes of different sizes over QPSK symbols in Rayleigh block-fading channels with 2 receive antennas.
Simulated results (white markers) were obtained using the orthogonal GABBA decoder described in section IV-C, while analytical results (black
markers) were computed using equation (87), with ρ = 1 and η = 1 (full-rate full-diversity).

October 4, 2005 DRAFT


31

GABBA Codes in Rice Fading


−3
(nr = 4, m = 1.5,−316QAM)
10 10
Eq. (nt = 4) Eq. (nt = 4)
Uneq. (nt = 4) Uneq. (nt = 4)
Eq. (nt = 64) Eq. (nt = 64)
Uneq. (n = 64) Uneq. (n = 64)
t t
−4 −4
10 10
BER (Simulated)

BER (Analytical)
−5 −5
10 10

−6 −6
10 10

−7 −7
10 10
11 12 13 14 15 16 17 18 11 12 13 14 15 16 17 18
Es/No (in dB) Es/No (in dB)

Fig. 3. Performance of GABBA codes of different sizes over 16QAM symbols in Rice block-fading channels with 4 receive antennas. Simulated
results (white markers) were obtained using the orthogonal GABBA decoder described in section IV-C, while analytical results (black markers)
were computed using equation (87), with ρ = 1 and η = 1. Both simulated and analytical results are given for channels with equal and unequal
(linear) power distribution profiles across the transmit channels (see section V-B.2).

October 4, 2005 DRAFT


32

GABBA Codes in Generalized Fading Channels


(nr = 2, m ∈ [0.5 4], 8PSK)
−2 −2
10 10
Eq. (nt = 4) Eq. (nt = 4)
Uneq. (nt = 4) Uneq. (nt = 4)
Eq. (nt = 64) Eq. (nt = 64)
−3 Uneq. (n = 64) −3 Uneq. (n = 64)
10 t 10 t
BER (Simulated)

−4 −4

BER (Analytical)
10 10

−5 −5
10 10

−6 −6
10 10

−7 −7
10 10
10 11 12 13 14 15 16 17 18 19 20 10 11 12 13 14 15 16 17 18 19 20
Es/No (in dB) Es/No (in dB)

Fig. 4. Performance of GABBA codes of different sizes over 8PSK symbols in generalized block-fading channels with 2 receive antennas.
Simulated results (white markers) were obtained using the orthogonal GABBA decoder described in section IV-C, while analytical results (black
markers) were computed using equation (87), with ρ = 1 and η = 1. Both simulated and analytical results are given for channels with linear
power distribution (see section V-B.2) and fading severity factors m spanning the interval [0.5, 4], as well as equipower channels, and a mean
fading severity factor m = 2.5.

October 4, 2005 DRAFT


33

GABBA Throughput × Shannon Capacity


(m = 1; nt = 16; nr = 4)
13
Shannon SIMO Capacity
12 GABBA Throughput 4096QAM

11

10 1024QAM

9
Average Rate (bits/sec/Hz)

8 256QAM

6 64QAM

4 16QAM

3 8PSK

2 QPSK

1 BPSK

0
−6 −2 2 6 10 14 18 22 26 30 34 38 42
Es/No (dB)

(a) Dominant transmit diversity.

GABBA Throughput × Shannon Capacity


(m = 1; nt = 4; nr = 16)
13
Shannon SIMO Capacity
12 GABBA Throughput 4096QAM

11

10 1024QAM

9
Average Rate (bits/sec/Hz)

8 256QAM

6 64QAM

4 16QAM

3 8PSK

2 QPSK

1 BPSK

0
−6 −2 2 6 10 14 18 22 26 30 34 38 42
Es/No (dB)

(b) Dominant receive diversity.

Fig. 5. 4,Modulation
October 2005 constrained achievable rate (throughput) of GABBA codes of different sizes in Rayleigh fading channel and with different
DRAFT
modulation schemes against signal-to-noise ratio.
34

GABBA Throughput × Shannon SIMO Capacity


(m = 1; nt = nr; SNR = {0,3,6,9} dB)
9

7
Average Rate (bits/sec/Hz)

3 Dark markers: SIMO Capacity


White markers: GABBA Throughput
SNR = 0
2 SNR = 3
SNR = 6
SNR = 9
1
4 8 12 16 20 24 28 32 36 40 44 48
Number of Transmit and Receive Antennas

Fig. 6. Throughput of GABBA codes against number of transmit and receive antennas (nt = nr ) in Rayleigh fading channel with optimized
modulation.

October 4, 2005 DRAFT


35

A PPENDIX I
GABBA E NCODER

A. Example: GABBA Mother Encoding Matrix (K = 32)


 
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32
−s2 s1 −s4 s3 −s6 s5 −s8 s7 −s10 s9 −s12 s11 −s14 s13 −s16 s15 −s18 s17 −s20 s19 −s22 s21 −s24 s23 −s26 s25 −s28 s27 −s30 s29 −s32 s31
−s3 −s4 s1 s2 −s7 −s8 s5 s6 −s11 −s12 s9 s10 −s15 −s16 s13 s14 −s19 −s20 s17 s18 −s23 −s24 s21 s22 −s27 −s28 s25 s26 −s31 −s32 s29 s30
 s4 −s3 −s2 s1 s8 −s7 −s6 s5 s12 −s11 −s10 s9 s16 −s15 −s14 s13 s20 −s19 −s18 s17 s24 −s23 −s22 s21 s28 −s27 −s26 s25 s32 −s31 −s30 s29 
 −s5 −s6 −s7 −s8 s1 s2 s3 s4 −s13 −s14 −s15 −s16 s9 s10 s11 s12 −s21 −s22 −s23 −s24 s17 s18 s19 s20 −s29 −s30 −s31 −s32 s25 s26 s27 s28 
 s6 −s5 s8 −s7 −s2 s1 −s4 s3 s14 −s13 s16 −s15 −s10 s9 −s12 s11 s22 −s21 s24 −s23 −s18 s17 −s20 s19 s30 −s29 s32 −s31 −s26 s25 −s28 s27 
 s7 s8 −s5 −s6 −s3 −s4 s1 s2 s15 s16 −s13 −s14 −s11 −s12 s9 s10 s23 s24 −s21 −s22 −s19 −s20 s17 s18 s31 s32 −s29 −s30 −s27 −s28 s25 s26 
−s8 s7 s6 −s5 s4 −s3 −s2 s1 −s16 s15 s14 −s13 s12 −s11 −s10 s9 −s24 s23 s22 −s21 s20 −s19 −s18 s17 −s32 s31 s30 −s29 s28 −s27 −s26 s25
 −s9 −s10 −s11 −s12 −s13 −s14 −s15 −s16 s1 s2 s3 s4 s5 s6 s7 s8 −s25 −s26 −s27 −s28 −s29 −s30 −s31 −s32 s17 s18 s19 s20 s21 s22 s23 s24 
 s10 −s9 s12 −s11 s14 −s13 s16 −s15 −s2 s1 −s4 s3 −s6 s5 −s8 s7 s26 −s25 s28 −s27 s30 −s29 s32 −s31 −s18 s17 −s20 s19 −s22 s21 −s24 s23 
 s11 s12 −s9 −s10 s15 s16 −s13 −s14 −s3 −s4 s1 s2 −s7 −s8 s5 s6 s27 s28 −s25 −s26 s31 s32 −s29 −s30 −s19 −s20 s17 s18 −s23 −s24 s21 s22 
 −s12 s11 s10 −s9 −s16 s15 s14 −s13 s4 −s3 −s2 s1 s8 −s7 −s6 s5 −s28 s27 s26 −s25 −s32 s31 s30 −s29 s20 −s19 −s18 s17 s24 −s23 −s22 s21 
s13 s14 s15 s16 −s9 −s10 −s11 −s12 −s5 −s6 −s7 −s8 s1 s2 s3 s4 s29 s30 s31 s32 −s25 −s26 −s27 −s28 −s21 −s22 −s23 −s24 s17 s18 s19 s20
 −s14 s13 −s16 s15 s10 −s9 s12 −s11 s6 −s5 s8 −s7 −s2 s1 −s4 s3 −s30 s29 −s32 s31 s26 −s25 s28 −s27 s22 −s21 s24 −s23 −s18 s17 −s20 s19 
 −s15 −s16 s13 s14 s11 s12 −s9 −s10 s7 s8 −s5 −s6 −s3 −s4 s1 s2 −s31 −s32 s29 s30 s27 s28 −s25 −s26 s23 s24 −s21 −s22 −s19 −s20 s17 s18 
 s16 −s15 −s14 s13 −s12 s11 s10 −s9 −s8 s7 s6 −s5 s4 −s3 −s2 s1 s32 −s31 −s30 s29 −s28 s27 s26 −s25 −s24 s23 s22 −s21 s20 −s19 −s18 s17 
 −s∗
17 s∗
∗ s∗ −s∗ s∗ −s∗ −s∗ s∗ s∗ −s∗ −s∗ s∗ −s∗ s∗ s∗ −s∗
18 19 ∗ 20 21 ∗ 22 23 ∗ 24 25 ∗ 26 27 ∗ 28 29 30 31 ∗ 32 s1
∗ −s∗
2 −s∗
3 s∗
4 −s∗
5 s∗
6 s∗
7 −s∗
8 −s∗
9 s10
∗ s∗ −s∗ s∗ −s∗ −s∗ s∗
11 ∗ 12 ∗ 13 ∗14 15 ∗ 16 
 −s∗
18 −s17 s∗ 20 s19 s∗ 22 s21 −s∗ 24 −s23 s∗ 26 s25 −s∗ 28 −s27 −s∗ 30 −s∗29 s∗32 s31 s∗ 2 s∗
1 −s∗
4 −s∗
3 −s∗
6 −s∗
5 s∗
8 s∗
7 −s∗
10 −s∗ s∗ s s s −s∗ −s 
C32 = −s∗ ∗ −s∗ s∗ s∗ −s∗ s∗ −s∗ s∗ −s∗ s∗ −s∗ −s∗ s∗ −s∗ s∗ s∗ −s∗ s∗ −s∗ −s∗ s∗ −s∗ s∗ −s∗ ∗9 −s12
∗ s11∗ s14 ∗ −s13
∗ s16∗ −s15∗ 
19 s20∗ −s17∗ −s18∗ s23 24 21 ∗ s22 ∗ s27 28 ∗ 25 ∗ 26 31 32 29 30 3 4 1 2 7 8 5 6 11 ∗s 12 ∗9 10 15 ∗16 13 ∗ 14
 −s∗
20 −s∗19 ∗ 18 ∗ 17 ∗
∗ s∗
24 ∗ 23 s∗ 22 ∗ 21 ∗
∗ s∗
28 ∗ 27 s26 s25 −s∗ 32 −s∗
∗ −s∗
31 ∗ 30 −s∗

29 s∗

4 s∗
3 s∗
2 s∗
1 −s∗
8 −s∗
7 −s∗
6 −s∗
5 −s∗
12 −s∗11 −s10 −s
∗ s∗
9 16 s15 s∗14 s∗ 13

 −s∗
21 s 22 s 23 −s 24 −s 17 s 18 s 19 −s 20 s 29 −s 30 −s ∗ s∗
31 32 s ∗
25 −s 26 −s 27 s 28 s 5 −s∗
6 −s∗
7 s∗
8 s∗
1 −s∗
2 −s∗
3 s∗
4 −s∗
13 s14 s∗ 15 −s∗16 −s∗9 s∗
10 s∗
11 −s12 
 −s∗
22 −s∗
∗ s∗ s∗ −s∗ −s∗ s∗ s∗ s∗ s∗ −s∗ −s∗ s∗ s∗ −s∗ −s∗
21 ∗ 24 ∗ 23 ∗ 18 17 ∗ 20 19 ∗ 30 29 ∗ 32 ∗ 31 ∗ 26 25 28 ∗ 27 s∗

6 s∗
5 −s∗
8 −s∗
7 s∗
2 s∗
1 −s∗
4 −s∗
3 −s∗
14 −s∗
∗ s∗ s∗ −s∗ −s∗ s∗ s∗
13 ∗ 16 ∗ 15 ∗ 10 ∗9 12 11

 −s∗ −s19 s∗ −s17 s∗ s −s∗ ∗ s∗ −s∗ s∗ −s∗ s∗ −s∗ s∗ −s∗ −s∗ ∗ s∗ 
 23 s∗ 24 −s∗21 s22 20 18
∗ s31 32 s∗ 29 −s∗30 s∗ 27 −s∗28 ∗ 25 −s∗26 s∗ 7 8 5 6 3 4 1 2 15 s∗ 16 −s∗
13 s14 −s∗ 11 s12 −s 9 10 
−s∗ −
24 ∗s −
23 ∗s −
22 ∗s ∗ −s∗
21 ∗ −
20 ∗s ∗ −s∗
19 ∗ −
18 ∗s 17 32
∗ s∗
31 ∗s 30 ∗s 29 ∗s s
28 27 s 26 ∗s 25 s 8 s∗
7 s∗
6 s∗
5 s∗
4 s∗
3 s∗
2 s∗
1 −s∗
16 −s 15 −s14 −s∗13 −s12 −s∗
11 −s∗
10 −s∗9
 ∗ ∗ ∗
−s25 s26 s27 −s28 s29 −s30 −s31 s32 −s17 s18 s19 −s20 s21 −s22 −s23 s24 s9 ∗ ∗ ∗ ∗
−s10 ∗
−s11 ∗
s12 ∗
−s13 ∗
s14 ∗
s15 ∗
−s16 s1 −s2 −s3 s4 −s5 s6 s7 −s∗
∗ ∗ ∗ ∗ ∗ ∗ ∗ 
 8 
 −s∗
26 −s∗
∗ s∗ s∗ s∗ s∗ −s∗ −s∗ −s∗ −s∗ s∗ s∗ s∗ s∗ −s∗ −s∗ s∗
25 ∗ 28 ∗ 27 ∗ 30 29 32 ∗ 31 ∗ 18 ∗ 17 20 19 ∗ 22 21 24 ∗ 23 ∗10 s∗
9 −s∗
12 −s∗
11 −s∗
14 −s∗
13 s∗
16 s∗
15 s∗
2 s∗1 −s∗
4 −s∗3 −s∗6 −s∗
5 s∗
8 s∗7 
 −s∗
27 s∗ 28 −s∗25 s26 s∗

31 −s32 s∗

29 −s30 −s∗ 19 s20 −s∗
∗ s∗
17 18 s∗

23 −s24 s∗

21 −s22 s∗11 −s∗
12 s∗
9 −s∗
10 −s∗
15 s∗
16 −s∗
13 s∗
14 s∗
3 −s∗
∗ s∗ −s∗ −s∗ s∗ −s∗ s∗
4 1 2 7 8 5 6 
 ∗
−s28 −s27 −s26 −s∗ 25 s32 s∗ 31 s30 s∗ 29 −s20 −s∗ 19 −s18 −s∗ 17 s24 s∗ 23 s22 s∗ 21 s12 s∗
11 s∗
10 s∗
9 −s∗
16 −s∗
15 −s∗
14 −s∗
13 s∗
4 s∗ 3 s∗

2 s∗

1 −s∗
∗ ∗
8 −s7 −s∗

6 −s∗

5 
 −s∗
29 s∗
∗ s∗ −s∗ −s∗ s∗ s∗ −s∗ −s∗ s∗ s∗ −s∗ −s∗ s∗ s∗ −s∗ s∗
30 ∗ 31 ∗ 32 ∗ 25 26 27 ∗ 28 ∗ 21 ∗ 22 ∗ 23 ∗ 24 17 18 19 ∗ 20 ∗13 −s∗
14 −s∗
15 s∗
16 s∗
9 −s∗
10 −s∗
11 s∗
12 s∗
5 −s 6 −s∗7 s8 s1 −s∗2 −s∗3 s∗ 4 
 −s∗
30 −s∗29 s∗ 32 s31 −s∗

26 −s25 s∗

28 s27 −s∗ 22 −s21 s24 s23 −s∗ 18 −s∗
∗ s∗
17 20 s∗ 19 s14 s∗
13

−s16 −s∗
15 s∗
10 s∗
9 −s∗
12 −s∗
11
∗ ∗ ∗ ∗
s6 s5 −s8 −s7 s2 s1 −s4 −s3 ∗ 
−s31 s32 −s29 s∗

30 −s27 s∗ 28 −s25 s∗ 26 −s23 s∗ 24 −s∗21 s∗22 −s∗19 s20 −s∗ 17 s18 s∗15 −s∗
16 s∗
13 −s∗
14 s∗
11 −s∗
12 s∗
9 −s∗
10 s∗
7 −s∗
∗ s∗ −s∗ s∗ −s∗ s∗ −s∗
8 5 6 3 4 1 2
−s∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
32 −s31 −s30 −s29 −s28 −s27 −s26 −s25 −s24 −s23 −s22 −s21 −s20 −s19 −s18 −s17 s16
∗ ∗ ∗ s∗
15 s∗
14 s∗
13 s∗
12 s∗
11 s∗
10 s∗
9 s∗ ∗ ∗
8 s7 s6 s5 s4 s3 s2 s1
∗ ∗ ∗ ∗

B. Matlab Function: Generator of GABBA Mother Encoding Matrices

function C = GABBAEncoder(s)
% Input: vector s of numeric or symbolic entries corresponding to symbols
% Output: GABBA mother encoding matrix C
% Ex.: syms s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16
% s = [s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16];
% C = GABBAEncoder(s);
k = length(s); % Must be a power of 2
s = reshape(s,[1 1 k]);
while k > 2;
for n = 1:k/2,
C(:,:,n) = ABBA1(s(:,:,2*n-1),s(:,:,2*n));
end
s = C;
clear C;
k = k/2;
end
C = ABBA2(s(:,:,1),s(:,:,2));
% --- Auxiliary functions ---
function C = ABBA1(x,y); C = [[x y];[-y x]];
function C = ABBA2(x,y); C = [[x y];[-y’ x’]];

October 4, 2005 DRAFT


36

A PPENDIX II
GABBA E NCODED C HANNEL M ATRIX

A. Example: Minors of GABBA Encoded Channel Matrix (K = 32)


 
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32
 h2 −h1 h4 −h3 h6 −h5 h8 −h7 h10 −h9 h12 −h11 h14 −h13 h16 −h15 h18 −h17 h20 −h19 h22 −h21 h24 −h23 h26 −h25 h28 −h27 h30 −h29 h32 −h31
 h3 h4 −h1 −h2 h7 h8 −h5 −h6h11 h12 −h9 −h10 h15 h16 −h13 −h14 h19 h20 −h17 −h18 h23 h24 −h21 −h22 h27 h28 −h25 −h26 h31 h32 −h29 −h30

 
 h4 −h3 −h2 h1 h8 −h7 −h6 h5h12 −h11 −h10 h9 h16 −h15 −h14 h13 h20 −h19 −h18 h17 h24 −h23 −h22 h21 h28 −h27 −h26 h25 h32 −h31 −h30 h29
 h5 h6 h7 h8 −h1 −h2 −h3 −h4h13 h14 h15 h16 −h9 −h10 −h11 −h12 h21 h22 h23 h24 −h17 −h18 −h19 −h20 h29 h30 h31 h32 −h25 −h26 −h27 −h28

 
 h6 −h5 h8 −h7 −h2 h1 −h4 h3h14 −h13 h16 −h15 −h10 h9 −h12 h11 h22 −h21 h24 −h23 −h18 h17 −h20 h19 h30 −h29 h32 −h31 −h26 h25 −h28 h27
 h7 h8 −h5 −h6 −h3 −h4 h1 h2h15 h16 −h13 −h14 −h11 −h12 h9 h10 h23 h24 −h21 −h22 −h19 −h20 h17 h18 h31 h32 −h29 −h30 −h27 −h28 h25 h26

 
 h8 −h7 −h6 h5 −h4 h3 h2 −h1h16 −h15 −h14 h13 −h12 h11 h10 −h9 h24 −h23 −h22 h21 −h20 h19 h18 −h17 h32 −h31 −h30 h29 −h28 h27 h26 −h25
H321= h h h h h h h h −h −h −h −h −h −h −h −h h25 h26 h27 h28 h29 h30 h31 h32 −h17 −h18 −h19 −h20 −h21 −h22 −h23 −h24

 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 
h10 −h9 h12 −h11 h14 −h13 h16 −h15 −h2 h1 −h4 h3 −h6 h5 −h8 h7 h26 −h25 h28 −h27 h30 −h29 h32 −h31 −h18 h17 −h20 h19 −h22 h21 −h24 h23
h11 h12 −h9 −h10 h15 h16 −h13 −h14 −h3 −h4 h1 h2 −h7 −h8 h5 h6 h27 h28 −h25 −h26 h31 h32 −h29 −h30 −h19 −h20 h17 h18 −h23 −h24 h21 h22

 
h12 −h11 −h10 h9 h16 −h15 −h14 h13 −h4 h3 h2 −h1 −h8 h7 h6 −h5 h28 −h27 −h26 h25 h32 −h31 −h30 h29 −h20 h19 h18 −h17 −h24 h23 h22 −h21
h13 h14 h15 h16 −h9 −h10 −h11 −h12 −h5 −h6 −h7 −h8 h1 h2 h3 h4 h29 h30 h31 h32 −h25 −h26 −h27 −h28 −h21 −h22 −h23 −h24 h17 h18 h19 h20

 
h14 −h13 h16 −h15 −h10 h9 −h12 h11 −h6 h5 −h8 h7 h2 −h1 h4 −h3 h30 −h29 h32 −h31 −h26 h25 −h28 h27 −h22 h21 −h24 h23 h18 −h17 h20 −h19
h15 h16 −h13 −h14 −h11 −h12 h9 h10 −h7 −h8 h5 h6 h3 h4 −h1 −h2 h31 h32 −h29 −h30 −h27 −h28 h25 h26 −h23 −h24 h21 h22 h19 h20 −h17 −h18
h16 −h15 −h14 h13 −h12 h11 h10 −h9 −h8 h7 h6 −h5 h4 −h3 −h2 h1 h32 −h31 −h30 h29 −h28 h27 h26 −h25 −h24 h23 h22 −h21 h20 −h19 −h18 h17

 
h17 −h18 −h19 h20 −h21 h22 h23 −h24 −h25 h26 h27 −h28 h29 −h30 −h31 h32 −h1 h2 h3 −h4 h5 −h6 −h7 h8 h9 −h10 −h11 h12 −h13 h14 h15 −h16
h18 h17 −h20 −h19 −h22 −h21 h24 h23 −h26 −h25 h28 h27 h30 h29 −h32 −h31 −h2 −h1 h4 h3 h6 h5 −h8 −h7 h10 h9 −h12 −h11 −h14 −h13 h16 h15
h19 −h20 h17 −h18 −h23 h24 −h21 h22 −h27 h28 −h25 h26 h31 −h32 h29 −h30 −h3 h4 −h1 h2 h7 −h8 h5 −h6 h11 −h12 h9 −h10 −h15 h16 −h13 h14
 
h20 h19 h18 h17 −h24 −h23 −h22 −h21 −h28 −h27 −h26 −h25 h32 h31 h30 h29 −h4 −h3 −h2 −h1 h8 h7 h6 h5 h12 h11 h10 h9 −h16 −h15 −h14 −h13
h21 −h22 −h23 h24 h17 −h18 −h19 h20 −h29 h30 h31 −h32 −h25 h26 h27 −h28 −h5 h6 h7 −h8 −h1 h2 h3 −h4 h13 −h14 −h15 h16 h9 −h10 −h11 h12
 
h22 h21 −h24 −h23 h18 h17 −h20 −h19 −h30 −h29 h32 h31 −h26 −h25 h28 h27 −h6 −h5 h8 h7 −h2 −h1 h4 h3 h14 h13 −h16 −h15 h10 h9 −h12 −h11
h23 −h24 h21 −h22 h19 −h20 h17 −h18 −h31 h32 −h29 h30 −h27 h28 −h25 h26 −h7 h8 −h5 h6 −h3 h4 −h1 h2 h15 −h16 h13 −h14 h11 −h12 h9 −h10
 
h24 h23 h22 h21 h20 h19 h18 h17 −h32 −h31 −h30 −h29 −h28 −h27 −h26 −h25 −h8 −h7 −h6 −h5 −h4 −h3 −h2 −h1 h16 h15 h14 h13 h12 h11 h10 h9
H322=h −h −h h −h h h −h h −h −h h −h h h −h −h h h −h h −h −h h −h h h −h h −h −h h

 25 26 27 28 29 30 31 32 17 18 19 20 21 22 23 24 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8
h26 h25 −h28 −h27 −h30 −h29 h32 h31 h18 h17 −h20 −h19 −h22 −h21 h24 h23 −h10 −h9 h12 h11 h14 h13 −h16 −h15 −h2 −h1 h4 h3 h6 h5 −h8 −h7
h27 −h28 h25 −h26 −h31 h32 −h29 h30 h19 −h20 h17 −h18 −h23 h24 −h21 h22 −h11 h12 −h9 h10 h15 −h16 h13 −h14 −h3 h4 −h1 h2 h7 −h8 h5 −h6
 
h28 h27 h26 h25 −h32 −h31 −h30 −h29 h20 h19 h18 h17 −h24 −h23 −h22 −h21 −h12 −h11 −h10 −h9 h16 h15 h14 h13 −h4 −h3 −h2 −h1 h8 h7 h6 h5
h29 −h30 −h31 h32 h25 −h26 −h27 h28 h21 −h22 −h23 h24 h17 −h18 −h19 h20 −h13 h14 h15 −h16 −h9 h10 h11 −h12 −h5 h6 h7 −h8 −h1 h2 h3 −h4
 
h30 h29 −h32 −h31 h26 h25 −h28 −h27 h22 h21 −h24 −h23 h18 h17 −h20 −h19 −h14 −h13 h16 h15 −h10 −h9 h12 h11 −h6 −h5 h8 h7 −h2 −h1 h4 h3
h31 −h32 h29 −h30 h27 −h28 h25 −h26 h23 −h24 h21 −h22 h19 −h20 h17 −h18 −h15 h16 −h13 h14 −h11 h12 −h9 h10 −h7 h8 −h5 h6 −h3 h4 −h1 h2
h32 h31 h30 h29 h28 h27 h26 h25 h24 h23 h22 h21 h20 h19 h18 h17 −h16 −h15 −h14 −h13 −h12 −h11 −h10 −h9 −h8 −h7 −h6 −h5 −h4 −h3 −h2 −h1

B. Matlab Function: Generator of GABBA Encoded Channel Matrices

function [H, H1, H2] = GABBAEncodedChannelMatrix(h,K)


% Input: vector of numeric or symbolic entries corresponding to channel estimates
% Output: GABBA encoded channel matrix H
% Example: syms h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16
% h = [h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16]
% H = GABBA_EncodedChannelMatrix(h)
if nargin == 2,
for k = 1:K % Must be a power of 2
eval([’syms h’ num2str(k)]);
end
h = [];
for k = 1:K,
eval([’h = [h; h’ num2str(k) ’];’]);
end

October 4, 2005 DRAFT


37

else
K = length(h); % Must be a power of 2
end
H1 = reshape(h,[1 1 K]);
H2 = reshape([h(K/2+1:end) h(1:K/2)],[1 1 K]);
while K >= 2;
for n = 1:K/2,
C1(:,:,n) = ABBA1(H1(:,:,2*n-1),H1(:,:,2*n));
C2(:,:,n) = ABBA2(H2(:,:,2*n-1),H2(:,:,2*n));
end
H1 = C1;
H2 = C2;
clear C1 C2;
K = K/2;
end
K = length(h);
H = [H1(1:K/2,:) zeros(K/2,K); zeros(K/2,K) H2(1:K/2,:)];
% --- Auxiliary functions ---
function C = ABBA1(x,y); C = [[ x y];[ y -x]];
function C = ABBA2(x,y); C = [[ x -y];[ y x]];

A PPENDIX III
R ELABELING OF GABBA R EDUCED E NCODED C HANNEL M ATRICES

A. Matlab Function: Relabels GABBA Reduced Encoded Channel Matrices

function [Hhat1,Hhat2] = RelabelH(H1,H2,flag)


% Input: H1, H2 - minors of GABBA (reduced) encoded channel matrix
% flag - 1 if minors are from GABBA encoded channel matrix
% 2 if minors are from GABBA reduced encoded channel matrix
% Output: relabeled outcome of (sum) product
%
K = length(H1);
switch flag,
case 1,
H = conj((H1*H1’ + H2*H2’)/2);
H1 = H(1:K/2,1:K/2);
H2 = H(1+K/2:K,1+K/2:K);

October 4, 2005 DRAFT


38

case 2,
H = H1.’*H2;
[p0, p1] = PermutationIndexes(1:K);
H1 = H(p0,p0);
H2 = H(p1,p1);
end
Hhat1 = zeros(K/2);
Hhat2 = zeros(K/2);
for k = 1:K/2,
eval([’syms h’ num2str(k)]);
Hhat1 = Hhat1 + ...
eval([’double(expand(H1-H1(1,’ num2str(k) ’))==0).*h’ num2str(k) ’;’])...
-eval([’double(expand(H1+H1(1,’ num2str(k) ’))==0).*h’ num2str(k) ’;’]);
Hhat2 = Hhat2 + ...
eval([’double(expand(H2-H1(1,’ num2str(k) ’))==0).*h’ num2str(k) ’;’])...
-eval([’double(expand(H2+H1(1,’ num2str(k) ’))==0).*h’ num2str(k) ’;’]);
end

B. Matlab Code: Generator of Relabeled GABBA Reduced Encoded Channel Matrices

function H = RelabeledGABBAReducedEncodedChannelMatrix(K)
N = K/2;
h = [];
for n = 1:N % Must be a power of 2
eval([’syms h’ num2str(n)]);
eval([’h = [h; h’ num2str(n) ’];’]);
end
H = reshape(h,[1 1 N]);
while N >= 2;
for n = 1:N/2,
C(:,:,n) = ABBA2(H(:,:,2*n-1),H(:,:,2*n));
end
H = C; clear C;
N = N/2;
end
% --- Auxiliary functions ---
function C = ABBA2(x,y); C = [[ x -y];[ y x]];

October 4, 2005 DRAFT


39

A PPENDIX IV
P ERMUTATION I NDEXES

A. Matlab Function: Generator of Permutation Indexes p0:N and p1:N

function [p0, p1] = PermutationIndexes(k)


% Input: vector of indexes k = 1,2,...K
% Output: permutation indexes describing the real quasi-orthogonality
% of GABBA equivalent encoded channel matrices
% Example: [p0, p1] = PermutationIndexes(1:32)
N = length(k);
p = k;
for n = 1:ceil(log2(N))-1,
p = p + floor((k-1)/(2ˆn));
end
p = mod(p,2);
p0 = find(p); p1 = find(p-1);

A PPENDIX V
E XAMPLE : O RTHOGONAL D ECODING OF THE 4- BY-4 GABBA C ODE

A. Matlab Script: Explicit Calculations for Orthogonal Decoding of the 4-by-4 GABBA Code

% Script: orthogonal soft-decoding of the 4-by-4 GABBA code


clear all
K = 4;
syms s1 s2 s3 s4 % Symbolic variables declaration
s = [s1 s2 s3 s4].’; % Algebraic symbol vector
C = GABBAEncoder(s); % Algebraic GABBA code (variation of original ABBA)
H = GABBAEncodedChannelMatrix([],K); % Algebraic GABBA encoded channel matrix
r = H*[s;conj(s)]; % Algebraic receive vector
% Linear combinations corresponding to equations 38 and 39
r_hat(:,1) = collect(collect(expand(H(:,1:2)’*r + (r’*H(:,5:6)).’),s1),s2);
r_hat(:,2) = collect(collect(expand(H(:,3:4)’*r + (r’*H(:,7:8)).’),s3),s4);
% Constructing the GABBA encoded channel matrix algebraically
H1 = H(1:K/2, 1:K); % First minor
H2 = H((1+K/2):K, (1+K):2*K); % Second minor
% Algebraic GABBA reduced encoded channel matrix
HH = simple(conj((H1*H1’ + H2*H2’)/2));

October 4, 2005 DRAFT


40

% At this point verify that:


HH*[s1;s2] == collect(collect(r_hat(:,1),s1),s2) % Results ones if true
HH*[s3;s4] == collect(collect(r_hat(:,2),s3),s4) % Results ones if true
% Real quasi-orthogonality of GABBA reduced encoded channel matrix
HHH = HH.’*HH; % Results in a diagonal matrix with identical entries
% The soft symbol estimates are the result of the linear combinations
% corresponding to equqations 53 through and 55, normalized by the entries
% of the diagonal matrix HHH, which are identical
s_hat = [];
s_hat = [s_hat; simple((HH.’*r_hat(:,1))/HHH(1))];
s_hat = [s_hat; simple((HH.’*r_hat(:,2))/HHH(1))]

A PPENDIX VI
E XAMPLE : O RTHOGONAL D ECODING OF THE 4- BY-4 GABBA C ODE

A. Matlab Script: Explicit Calculations for the Inspection of Orthogonal Decodability of GABBA Codes

clear
% Input the size of GABBA mother encoding matrix
K = input(’Enter value of K (must be a power of 2): ’); fprintf(’\n’);
for n = 1:log2(K)-1,
if n == 1,
% Generate relabeled algebraic first-order reduced encoded matrix
H1 = RelabeledGABBAReducedEncodedChannelMatrix(K); H2 = H1;
else
% Generate relabeled algebraic higher-order reduced encoded matrix
[H1,H2] = RelabelH(H1,H2,2);
end
H = H1.’*H2;
[p1,p2] = PermutationIndexes(1:K/2ˆn);
% Displaying the real-orthogonality of n-th order reduced matrix
fprintf([’Off-diagonal Minors of the Real-Product of Permuted GABBA’ ...
’ Reduced Encoded Channel Matrix of Order ’ num2str(n) ’\n’])
H(p1,p2) H(p2,p1)
fprintf([’Type "return" and press ENTER to continue\n’])
% Waiting for input to continue
keyboard
end

October 4, 2005 DRAFT


41

A PPENDIX VII
T HE GABBA O RTHOGONAL D ECODER

A. Matlab Function: GABBA Orthogonal Decoder (Nested Implementation)

function s_hat = GABBADecoder(rr,hh)


% Inputs: rr = received signal vector(s) (one comlum per receive antenna)
% hh = channel estimate vector(s) (one comlum per receive antenna)
% Output: s_hat = ordered vector of solf orthogonal symbol estimates
[K,nr] = size(rr); r_hat = zeros(K/2,2); H = zeros(K/2,K/2,2);
for a = 1:nr,
r = rr(:,a); h = hh(:,a);
% -------- First Stage ---------
Hk = GABBAEncodedChannelMatrix(h);
for n = 1:2,
r_hat(:,n) = r_hat(:,n) + Hk(:,1 + (n-1)*K/2 : n*K/2)’*r ...
+ (r’*Hk(:, 1 + K + (n-1)*K/2 : K + n*K/2)).’;
end
H1 = Hk(1:K/2,1:K); H2 = Hk((1+K/2):K,(1+K):2*K);
H(:,:,1) = H(:,:,1) + conj((H1*H1’ + H2*H2’)/2);
end
H(:,:,2) = H(:,:,1);
clear r rr h hh H1 H2 Hk
% --- Normalizing Intermediate Quantities ---
NormH = norm(H(:,:,1)); H = H/NormH; r_hat = r_hat/NormH;
% ------- Higher Stages --------
Ps = [[1:K/2].’ [(1:K/2) + K/2].’];
if K > 2,
[p1,p2] = PermutationIndexes(1:K/2);
for i = 1:(log2(K)-1),
r = r_hat; r_hat = [];
Ps_hat = Ps; Ps = [];
for n = 1:2ˆi,
Ps = [Ps Ps_hat(p1(1:K/(2ˆ(i+1))),n) Ps_hat(p2(1:K/(2ˆ(i+1))),n)];
v = H(:,:,mod(n,2)+1).’*r(:,n);
r_hat = [r_hat v(p1(1:K/(2ˆ(i+1)))) v(p2(1:K/(2ˆ(i+1))))];
end

October 4, 2005 DRAFT


42

H_hat = H(:,:,1).’*H(:,:,2); H = [];


H(:,:,1) = H_hat(p1(1:K/(2ˆ(i+1))),p1(1:K/(2ˆ(i+1))));
H(:,:,2) = H_hat(p2(1:K/(2ˆ(i+1))),p2(1:K/(2ˆ(i+1))));
% --- Normalizing Intermediate Quantities ---
NormH = norm(H(:,:,1)); H = H/NormH; r_hat = r_hat/NormH;
% -------------------------------------------
end
end
% ----------------------------
for n = 1:K,
s_hat(Ps(n),1) = r_hat(n)/H(:,:,mod(n+1,2)+1);
end

A PPENDIX VIII
E XACT BER P ERFORMANCE OF STBC S IN H OYT, R ICE , R AYLEIGH AND NAKAGAMI FADING C HANNELS

function BER = BER_STBC_GeneralFading(esno,Omod,ModType,m,Omega,nr,rho,eta,Naka)


% Inputs:
% esno = vector of constellation-energy-to-noise-power ratio figures (in dB)
% Omod = number of bits per symbol
% ModType = 0 for QAM, 1 for PSK
% m = vector of "m" parameters (one entry per transmit antenna)
% Omega = vector of "Omega" parameters (one entry per transmit antenna)
% nr = number of receive antennas
% rho = rate of the STBC as defined in Definition 5
% eta = diversity order, as defined in footnote 24
% Naka = leave empty for physically binding, exact, Rice-Hoyt channel model;
% or input a dummy value for results with the Nakagami approximation.
global g phi s gamma flag
flag = 0;
if nargin == 9,
flag = 1;
end
nt = length(Omega);
if length(m) ˜= length(Omega),
m = m(1)*ones(length(Omega),1);
end

October 4, 2005 DRAFT


43

K = 5000; M = 2ˆOmod;
sigma2Vec = (10.ˆ(-esno/10));
if ModType
% PSK case
for k = 1:M-1,
d(k) = 2*abs(k/M - round(k/M));
for i = 2:Omod,
d(k) = d(k) + 2*abs(k/(2ˆi) - round(k/(2ˆi)));
end
end
for n = 1:length(esno),
P_minus = []; P_plus = [];
for k = 1:M-1,
% - First integral
delta = (2*k-1)/M; phi = linspace(1e-50,pi*(1-delta),K);
g = (sin(delta*pi)ˆ2)/rho; s = -g./(sin(phi).ˆ2);
for a = 1:nt,
gamma = Omega(a)/(sigma2Vec(n));
MGF_minus(a,:) = MGF_Explicit(m(a)).ˆ(nr*eta);
end
P_minus(k) = phi(2)*trapz(prod(MGF_minus,1));
% - Second integral
delta = (2*k+1)/M; phi = linspace(1e-50,pi*(1-delta),K);
g = (sin(delta*pi)ˆ2)/rho; s = -g./(sin(phi).ˆ2);
for a = 1:nt,
gamma = Omega(a)/(sigma2Vec(n));
MGF_plus(a,:) = MGF_Explicit(m(a)).ˆ(nr*eta);
end
P_plus(k) = phi(2)*trapz(prod(MGF_plus,1));
end
BER(n) = sum(d.*(P_minus - P_plus))/(2*pi*Omod);
end
else
% QAM case
phi = linspace(1e-50,pi/2,K);
for n = 1:length(esno),

October 4, 2005 DRAFT


44

for k = 1:Omod/2,
I = [];
for i = 0:((1-1/2ˆk)*sqrt(M)-1),
g = (3*(2*i+1)ˆ2)/(2*(M-1)*rho);
s = -g./(sin(phi).ˆ2);
for a = 1:nt,
gamma = Omega(a)/(sigma2Vec(n));
MGF(a,:) = MGF_Explicit(m(a)).ˆ(nr*eta);
end
P(i+1,k) = ((-1)ˆfloor((i*2ˆ(k - 1))/sqrt(M)))* ...
(2ˆ(k-1)-floor( (i*2ˆ(k - 1))/sqrt(M) + 1/2))* ...
trapz(prod(MGF,1));
end
end
BER(n) = 4*phi(2)*sum(sum(P,1),2)/(sqrt(M)*pi*Omod);
end
end
% --- Moment Generating Functions ---
function MGF = MGF_Explicit(m)
global g phi s gamma flag
if flag,
% Nakagami channel
MGF = (1 - s*gamma/m).ˆ(-m);
else
switch m > 1,
case 0 % Hoyt channel (reduces to Rayleigh for m = 1)
q = sqrt((1 - 2*sqrt(m-mˆ2))/(2*m - 1));
MGF = 1./sqrt(1 - 2*s*gamma + ((2*s*gamma*q).ˆ2)/((1+qˆ2)ˆ2));
case 1 % Rice channel (reduces to Rayleigh for m = 1)
k = sqrt(mˆ2 - m)/(m - sqrt(mˆ2 - m));
MGF = ((1 + k)./(1 + k - s*gamma)).*exp(k*s*gamma./(1 + k - s*gamma));
end
end

October 4, 2005 DRAFT


45

A PPENDIX IX
D ERIVATION OF E QUATION (92)

Let
Z1
Ik = xk · (1 − x)K−k dx, with k, K ∈ N. (95)
0

By parts we obtain
1 Z1
k K−k k k
Ik = x · (1 − x) + · xk−1 · (1 − x)K−k+1 dx = Ik−1 . (96)
0 K −k+1 K −k+1
0

At k = 0 we have,
Z1
1
I0 = (1 − x)K dx = . (97)
K+1
0

By induction we then find


k · (k − 1) · · · 1 1 (K − k)!k!
Ik = · = . (98)
(K − k + 1) · (K − k + 2) · · · K K + 1 (K + 1)!

R EFERENCES

[1] D. Gesbert, M. Shafi, D. shan Shiu, P. J. Smith, and A. Naguib, “From theory to practice: An overview of MIMO space-time coded
wireless systems,” IEEE J. Select. Areas Commun., vol. 21, pp. 281 – 302, Apr. 2003.
[2] S. M. Alamouti, “A simple transmit diversity technique for wireless communications,” IEEE J. Select. Areas Commun., vol. 11, no. 8, pp.
1451 – 1458, Oct. 1998.
[3] V. Tarokh, H. Jafarkhani, and A. R. Calderbank, “Space-time block codes from orthogonal designs,” IEEE Trans. Inform. Theory, vol. 45,
no. 5, pp. 1456 – 1467, July 1999.
[4] ——, “Space-time block coding for wireless communications: Performance results,” IEEE J. Select. Areas Commun., vol. 17, no. 2, pp.
451 – 460, Mar. 1999.
[5] E. Biglieri and A. Tulino, “Designing space-time codes for large number of receive antennas,” Electronic Letters, vol. 37, pp. 1073 – 1074,
Aug. 2001.
[6] E. Biglieri, A. Nordio, and G. Tarico, “Doubly iterative decoding of space-time turbo codes with a large number of antennas,” IEEE Trans.
Commun., vol. 53, pp. 773 – 779, May 2005.
[7] B. N. Getu and J. B. Andersen, “The MIMO cube: A compact MIMO antenna,” IEEE Trans. Wireless Commun., vol. 4, no. 3, pp. 1136
– 1141, May 2005.
[8] C. Waldschmidt and W. Wiesbeck, “Compact wide-band multimode antennas for MIMO and diversity,” IEEE Trans. Antennas Propagat.,
vol. 52, no. 8, pp. 1963 – 1969, Aug. 2004.
[9] F. Thudor and A. Louzir, “An extremely compact pattern diversity antenna for wlan,” in Proc. IEEE Antennas and Propagation Society
International Symposium, vol. 4, Cesson-Sévigné, France, June16-21 2002, pp. 60 – 63.
[10] C. B. Dietrich Jr., K. Dietze, J. R. Nealy, and W. L. Stutzman, “Spatial, polarization, and pattern diversity for wireless handheld terminals,”
IEEE Trans. Antennas Propagat., vol. 49, no. 9, pp. 1271 – 1281, Sept. 2001.
[11] B. D. van Veen, O. Leblond, V. P. Mani, and D. J. Sebald, “Distributed adaptive algorithms for large dimensional MIMO systems,” IEEE
Trans. Signal Processing, vol. 48, pp. 1076 – 1085, Apr. 2000.
[12] J. N. Laneman and G. W. Wornell, “Distributed space-time-coded protocols for exploiting cooperative diversity in wireless networks,”
IEEE Trans. Inform. Theory, vol. 49, no. 10, pp. 2415 – 2425, Oct. 2003.

October 4, 2005 DRAFT


46

[13] M. Uysal and O. Canpolat, “On the distributed space-time signal design for a large number of relay terminals,” in Proc. IEEE Wireless
Communications and Networking Conference (WCNC), vol. 2, New Orleans, U.S.A., Mar. 13-17 2005, pp. 990 – 994.
[14] S. Barbarossa, L. Pescosolido, D. Ludovici, L. Barbetta, and G. Scutari, “Cooperative wireless networks based on distributed space-time
coding,” in Proc. IEEE International Workshop on Wireless Ad-hoc Networks (IWWAN), Oulu, Finland, May 31-June 3 2004.
[15] T. M. Cover and A. A. El-Gamal, “Capacity theorems for the relay channel,” IEEE Trans. Inform. Theory, vol. 25, no. 5, pp. 572 – 584,
Sept. 1979.
[16] E. Telatar, “Capacity of multi-antenna gaussian channels,” AT&T Bell Labs Technical Memo, June 1995.
[17] S. Sandhu and A. Paulraj, “Space-time block codes: a capacity perspective,” IEEE Commun. Lett., vol. 4, no. 12, pp. 384 – 386, Dec.
2000.
[18] W. He and C. N. Georghiades, “Computing the capacity of a MIMO fading channel under psk signaling,” IEEE Trans. Inform. Theory,
vol. 51, pp. 1794 – 1803, May 2005.
[19] J. N. Laneman, “Cooperative diversity in wireless networks: Algorithms and architectures,” Ph.D. dissertation, Massachusetts Institute of
Technology, Cambridge, U.S.A., Sept. 2002. [Online]. Available: http://allegro.mit.edu/pubs/posted/doctoral/2002-laneman-phd.pdf
[20] X. Li, M. Chen, and W. Liu, “Application of stbc-encoded cooperative transmissions in wireless sensor networks,” IEEE Signal Processing
Lett., vol. 12, pp. 134 – 137, Feb. 2005.
[21] H. Wang and X.-G. Xia, “Upper bounds of rates of complex orthogonal space-time block codes,” IEEE Trans. Inform. Theory, vol. 49,
no. 10, pp. 2788– 2796, Oct. 2003.
[22] O. Tirkkonen and A. Hottinen, “Square-matrix embeddable space-time block codes for complex signal constellations,” IEEE Trans. Inform.
Theory, vol. 48, no. 2, pp. 384 – 395, Feb. 2002.
[23] H. El-Gamal and M. O. Damen, “Universal space-time coding,” IEEE Trans. Inform. Theory, vol. 49, no. 5, pp. 1097 – 1119, May 2003.
[24] X. Ma and G. B. Giannakis, “Full-diversity full-rate complex-field space-time codes,” IEEE Trans. Signal Processing, vol. 51, pp. 2917
– 2930, Nov. 2003.
[25] L. He and H. Ge, “A new full-rate full-diversity orthogonal space-time block coding scheme,” IEEE Commun. Lett., vol. 7, no. 12, pp.
590 – 592, Dec. 2003.
[26] I.-M. Kim and V. Tarokh, “Variable-rate space-time block codes in m-ary psk systems,” IEEE J. Select. Areas Commun., vol. 21, no. 3,
pp. 362 – 373, Apr. 2003.
[27] O. Tirkkonen, A. Boaru, and A. Hottinen, “Minimal non-orthogonality rate 1 space-time block code for 3+ tx antennas,” in Proc. IEEE
International Symposium on Spread-Spectrum Technology and Applications (ISSSTA), vol. 2, Parsippany, U.S.A., Sept.6-8 2000, pp. 429
– 432.
[28] H. Jafarkhani, “A quasi-orthogonal space-time block code,” IEEE Trans. Commun., vol. 49, no. 1, pp. 1 – 4, Jan. 2001.
[29] C. B. Papadias and G. J. Foschini, “Capacity-approaching space-time codes for systems employing four transmitter antennas,” IEEE Trans.
Inform. Theory, vol. 49, no. 3, pp. 726 – 732, Mar. 2003.
[30] G. Foschini and M. Gans, “On limits of wireless communications in a fading environment when using multiple antennas,” Kluwer
International Journal on Wireless Personal Communications, vol. 6, pp. 311 – 335, Mar. 1999.
[31] G. H. Golub and C. F. van Loan, Matrix Computations, 3rd ed. New York, NY: Johns Hopkins Univ. Press, Nov. 1996.
[32] X. Li, T. Luo, G. Yue, and C. Yin, “A squaring method to simplify the decoding of orthogonal space-time block codes,” IEEE Trans.
Commun., vol. 49, no. 10, pp. 1700 – 1703, Oct. 2001.
[33] G. T. F. de Abreu and R. Kohno, “Orthogonal decoding of space-time block codes in fast fading,” in Proc. IEEE International Symposium
on Information Theory (ISIT’03), Yokohama, Japan, June 29 - July 4 2003, p. 155.
[34] G. T. F. de Abreu, H. Ochiai, and R. Kohno, “Linear maximum likelihood decoding of space-time block coded ofdm systems for mobile
communications,” IEE Proceedings on Communications - Special Issue on Wireless LAN Systems and Internetworking, vol. 151, no. 5,
pp. 447 – 459, Oct. 2004.
[35] M. K. Simon and M.-S. Alouini, Digital Communication over Fading Channels: A Unified Approach to Performance Analysis. New
York, NY: Wiley, 2000.
[36] J. G. Proakis, Digital Communications, Fourth Edition. New York, NY: Mc-Graw-Hill, 2000.
[37] P. J. Lee, “Computation of the bit error rate of coherent m-ary psk with gray code bit mapping,” IEEE Trans. Commun., vol. 34, no. 5,
pp. 488 – 491, May 1986.

October 4, 2005 DRAFT


47

[38] J. Lassing, E. G. Str om, T. Ottosson, and E. Agrell, “The exact symbol and bit error probabilities of coherent m-ary psk,” in Proc. IEEE
International Symposium on Information Theory (ISIT’03), Yokohama, Japan, June 29 - July 4 2003, p. 11.
[39] J. Lassing, E. G. Str om, E. Agrell, and T. Ottosson, “Computation of the exact bit-error rate of coherent m-ary psk with gray code bit
mapping,” IEEE Trans. Commun., vol. 51, no. 11, pp. 1758 – 1760, Nov. 2003.
[40] R. F. Pawula, “Distribution of the phase angle between two vectors perturbed by gaussian noise ii,” IEEE Trans. Commun., vol. 50, no. 2,
pp. 576 – 583, Mar. 2001.
[41] K. Cho and D. Yoon, “On the general ber expression of one- and two-dimensional amplitude modulations,” IEEE Trans. Commun., vol. 50,
no. 7, pp. 1074 – 1080, July 2002.
[42] R. S. Hoyt, “Probability functions for the modulus and angle of normal complex variate,” Bell Syst. Tech. J., vol. 26, pp. 318 – 359, Apr.
1947.
[43] S. O. Rice, “Statistical properties of a sine wave plus random noise,” Bell Syst. Tech. J., vol. 27, pp. 109 – 157, Jan. 1948.
[44] L. Rayleigh, “On the resultant of a large number of vibrations of the same pitch and of arbitrary phase,” Philosophical Mag., vol. 27,
no. 6, pp. 460 – 469, June 1889.
[45] M. Nakagami, “The m-distribution—A general formula of intensity distribution of rapid fading,” in Statistical Methods of Radio Wave
Propagation, W. C. Hoffman, Ed. Oxford, U.K.: Pergamon, 1960, pp. 3 – 36.
[46] J. B. Andersen, T. S. Rappaport, and S. Yoshida, “Propagation measurements and models for wireless communications channels,” IEEE
Commun. Mag., vol. 33, pp. 42 – 49, Jan. 1995.
[47] C. Perez-Vega and J. L. G. Garcia, “Polarisation behaviour in the indoor propagation channel,” Electronic Letters, vol. 33, pp. 898 – 899,
May 1997.
[48] D. Zwillinger, S. G. Krantz, and K. H. Rosen, Standard Mathematical Tables and Formulae, 30th ed. CRC Press, 1996.
[49] T. M. Cover and J. A. Thomas, Elements of Information Theory. New York, NY: American Mathematical Society, 1991.
[50] S. Lin and D. J. C. Jr., Error Control Coding, 2nd ed. Upper Saddle River, New Jersey: Prentice Hall, 2004.
[51] A. Hottinen, O. Tirkkonen, and R. Wichman, Multi-antenn Transceiver Techniques for 3G and Beyond, 1st ed. West Sussex, England:
John Wiley & Sons, 2003.
[52] B. A. Sethuraman, B. S. Rajan, and V. Shashidhar, “Full-diversity, high-rate space-time block codes from division algebras,” IEEE Trans.
Inform. Theory, vol. 49, no. 10, pp. 2596 – 2616, Oct. 2003.
[53] B. Hassibi and B. Hochwald, “High-rate codes that are linear in space and time,” IEEE Trans. Inform. Theory, vol. 48, no. 7, pp. 1804 –
1824, July 2002.

October 4, 2005 DRAFT

You might also like