Minimizing the Complexity of Fast Sphere Decoding of STBCs
aa r X i v : . [ c s . I T ] M a y Minimizing the Complexity of Fast SphereDecoding of STBCs
G. R. Jithamithra and B. Sundar Rajan,
Dept of ECE, Indian Institute of Science,Bangalore 560012, IndiaEmail: { jithamithra,bsrajan } @ece.iisc.ernet.in Abstract — Decoding of linear space-time block codes (STBCs)with sphere-decoding (SD) is well known. A fast-version of theSD known as fast sphere decoding (FSD) has been recentlystudied by Biglieri, Hong and Viterbo. Viewing a linear STBCas a vector space spanned by its defining weight matrices overthe real number field, we define a quadratic form (QF), calledthe Hurwitz-Radon QF (HRQF), on this vector space and givea QF interpretation of the FSD complexity of a linear STBC.It is shown that the FSD complexity is only a function of theweight matrices defining the code and their ordering, and notof the channel realization (even though the equivalent channelwhen SD is used depends on the channel realization) or thenumber of receive antennas. It is also shown that the FSDcomplexity is completely captured into a single matrix obtainedfrom the HRQF. Moreover, for a given set of weight matrices,an algorithm to obtain a best ordering of them leading to theleast FSD complexity is presented. The well known classes oflow FSD complexity codes (multi-group decodable codes, fastdecodable codes and fast group decodable codes) are presentedin the framework of HRQF.
I. I
NTRODUCTION & P
RELIMINARIES
Consider a minimal-delay space-time coded Rayleigh quasi-static flat fading MIMO channel with full channel state infor-mation at the receiver (CSIR). The input output relation forsuch a system is given by Y = HX + N , (1)where H ∈ C n r × n t is the channel matrix and N ∈ C n r × n t isthe additive noise. Both H and N have entries that are i.i.d.complex-Gaussian with zero mean and variance 1 and N respectively. The transmitted codeword is X ∈ C n t × n t and Y ∈ C n r × n t is the received matrix. The ML decoding metricto minimize over all possible values of the codeword X , is M ( X ) = k Y − HX k F . (2) Definition 1:
A linear STBC [1]: A linear STBC C over areal (1-dimensional) signal set S , is a finite set of n t × n t matrices, where any codeword matrix belonging to the code C is obtained from, X ( x , x , ..., x K ) = K X i =1 x i A i , (3)by letting the real variables x , x ..., x K take values from areal signal set S , where A i are fixed n t × n t complex matricesdefining the code, known as the weight matrices. The rate ofthis code is K n t complex symbols per channel use. We are interested in linear STBCs, since they admit SphereDecoding (SD) [2] which is a fast way of decoding for thevariables. A further simplified version of the SD known asthe fast sphere decoding (FSD) [3] (also known as conditionalML decoding) was studied by Biglieri, Hong and Viterbo. Thequadratic form (QF) approach has been used in the context ofSTBCs in [4] to determine whether Quaternion algebras orBiquaternion algebras are division algebras, an aspect dealingwith the full diversity of the codes. This approach has not beenfully exploited to study the other characteristics of STBCs.In this paper, we use this approach to study the fast spheredecoding (FSD) complexity of STBCs (a formal definition ofthis complexity is given in Subsection II-B).Designing STBCs with low decoding complexity has beenstudied widely in the literature. Orthogonal designs with singlesymbol decodability were proposed in [5], [6], [7]. For STBCswith more than two transmit antennas, these came at a costof reduced transmission rates. To increase the rate at the costof higher decoding complexity, multi-group decodable STBCswere introduced in [8], [9], [10]. Fast decodable codes (codesthat admit FSD) have reduced SD complexity owing to the factthat a few of the variables can be decoded as single symbolsor in groups if we condition them with respect to the othervariables. Fast decodable codes for asymmetric systems usingdivision algebras have been recently reported [11]. Goldencode and Silver code are also examples of fast decodable codesas shown in [12] and [13]. The properties of fast decodablecodes and multi-group decodable codes were combined anda new class of codes called fast group decodable codes werestudied in [14]. A. Hurwitz-Radon Quadratic Form
In this subsection we define the Hurwitz Radon quadraticform (HRQF) on any STBC. We first recall some basics aboutquadratic forms. More details can be seen in [15].
Definition 2:
Let F be a field with characteristic not 2, and V be a finite dimensional F -vector space. A quadratic formon V is defined as a map Q : V −→ F such that it satisfiesthe following properties. • Q ( a v ) = a Q ( v ) for all v ∈ V and all a ∈ F . • The map B ( v , w ) = [ Q ( v + w ) − Q ( v ) − Q ( w )] forall v , w ∈ V is bilinear and symmetric.If we consider V as an n -dimensional vector space over F ,then we can also consider the quadratic form as a homoge-eous polynomial of degree two, i.e., for ≤ i, j ≤ n , wehave scalars m ij such that Q ( v ) = Q ( v , v , ..., v n ) = n X i,j =1 m ij v i v j (4)for all v = [ v , ..., v n ] ∈ V . Hence, we can associate a matrix M = ( m ij ) with the quadratic form such that Q ( v ) = vMv T . Definition 3:
The Hurwitz Radon quadratic form is a mapfrom the STBC C = n X = P Ki =1 x i A i o to the field of realnumbers R , i.e., Q : C −→ R given by Q ( X ) = X ≤ i ≤ j ≤ K x i x j d ij , (5)where X is an element of the STBC and d ij = k A i A Hj + A j A Hi k F . Theorem 1:
The map defined by (5) is a quadratic form.
Proof:
The map Q needs to satisfy the conditions asdefined in Definition 2. We have Q ( a X ) = X i,j ax i .ax j .d ij = a X i,j x i .x j .d ij = a Q ( X ) and B ( X , Y ) = 12 [ Q ( X + Y ) − Q ( X ) − Q ( Y )] should be bilinear and symmetric where X = P Ki =1 x i A i and Y = P Ki =1 ( y i A i ) . Substituting and simplifying, we get B ( X , Y ) = 12 X i,j [ x i y i d ii + ( x i y j + x j y i ) d ij ] . It is clearly seen that this map is bilinear and symmetric.We can associate a matrix with the HRQF. If we define thematrix M = ( m ij ) where i, j = 1 , , ..., K such that m ij = d ij , then we can write the HRQF as Q ( x ) = xMx T , where x = [ x x ... x K ] . Notice that M is a symmetric matrix and m ij = 0 if and only if A i A Hj + A j A Hi = .The following example shows that the FSD complexitydepends on the ordering of the weight matrices or equivalentlythe ordering of the variables. Example 1:
Let us consider the Silver code given by: X = X a ( s , s ) + TX b ( z , z ) , (6)where X a and X b take the Alamouti structure, and X a ( s , s ) = (cid:20) s − s ∗ s s ∗ (cid:21) , X b ( z , z ) = (cid:20) z − z ∗ z z ∗ (cid:21) , T = (cid:20) − (cid:21) and [ z , z ] T = U [ s , s ] T , where U is aunitary matrix chosen to maximize the minimum determinantand is given by U = √ (cid:20) j − j j − j (cid:21) . Let all the variables take values from a signal set ofcardinality M . If we order the variables (and hence the weightmatrices) as [ s I , s Q , s I , s Q , s I , s Q , s I , s Q ] , then the R matrix for SD has the following structure R = t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 0 0 t , where t denotes non zero entries. We can clearly see thatthe Silver code admits fast decoding with this ordering withFSD complexity M . However, if we change the ordering to [ s I , s Q , s I , s Q , s I , s Q , s I , s Q ] , then the R matrix forSD has the following structure R = t t t t t t t t t t t t t t t
00 0 0 t t t t t t t t t t t t t t t , where t denotes non zero entries. With this ordering, the FSDcomplexity increases to M .The contributions of this paper are as follows: • We give a formal definition of the FSD complexity of alinear STBC (Subsection II-B.) • With the help of HRQF, it is shown that the FSD com-plexity of the code depends only on the weight matricesof the code with their ordering, and not on the channelrealization (even though the equivalent channel when SDis used depends on the channel realization) or the numberof receive antennas. • A best ordering (not necessarily unique) of the weightmatrices provides the least FSD complexity for the STBC.We provide an algorithm to be applied to the HRQFmatrix which outputs a best ordering.The remaining of the paper is organized as follows: InSection II the known classes of low ML decodable codes,the system model and the formal definition of the FSDcomplexity of a linear STBC are given. In Section III, weshow that the FSD complexity depends completely on theHRQF and not on the channel realization or the number ofreceive antennas. In Section IV, we present an algorithm tomodify the HRQF matrix in order to obtain a best orderingof the weight matrices to obtain the least FSD complexity.Concluding remarks constitute Section V.
Notations:
Throughout the paper, bold lower-case letters areused to denote vectors and bold upper-case letters to denotematrices. For a complex variable x , x I and x Q denote the realand imaginary part of x , respectively. The sets of all integers,all real and complex numbers are denoted by Z , R and C ,respectively. The operation of stacking the columns of X onebelow the other is denoted by vec ( X ) . The Kronecker productis denoted by ⊗ , I T and O T denote the T × T identity matrixand the null matrix, respectively. For a complex variable x ,the ˇ( (cid:5) ) operator acting on x is defined as follows ˇ x , (cid:20) x I − x Q x Q x I (cid:21) . he ˇ( (cid:5) ) operator can similarly be applied to any ma-trix X ∈ C n × m by replacing each entry x ij by ˇ x ij , i = 1 , , · · · , n, j = 1 , , · · · , m, resulting ina matrix denoted by ˇ X ∈ R n × m . Given a complexvector x = [ x , x , · · · , x n ] T , ˜ x is defined as ˜ x , [ x I , x Q , · · · , x nI , x nQ ] T . II. S
YSTEM M ODEL AND D EFINITION OF
FSD
COMPLEXITY
For any Linear STBC with variables x , x ..., x K given by(3), the generator matrix G [3] is defined by ^ vec ( X ) = G ˜ x , where ˜ x = [ x , x ..., x K ] T . In terms of the weight matrices,the generator matrix can be written as G = h ^ vec ( A ) ^ vec ( A ) · · · ^ vec ( A K ) i . Hence, for any STBC, (1) can be written as ^ vec ( Y ) = H eq ˜ x + ^ vec ( N ) , where H eq ∈ R n r n t × K is given by H eq = (cid:0) I n t ⊗ ˇ H (cid:1) G , and ˜ x = [ x , x ..., x K ] , with each x i drawn from a 1-dimensional (PAM) constellation. Using the above equivalentsystem model, the ML decoding metric (2) can be written as M (˜ x ) = k ^ vec ( Y ) − H eq ˜ x k F . Using QR decomposition of H eq , we get H eq = QR where Q ∈ R n r n t × K is an orthonormal matrix and R ∈ R K × K is an upper triangular matrix. Using this, the ML decodingmetric now changes to M (˜ x ) = k Q T ^ vec ( Y ) − R ˜ x k F = k y ′ − R ˜ x k F . (7)If we have H eq = [ h h ..., h K ] , where h i , i ∈ , , ..., K arecolumn vectors, then the Q and R matrices have the followingform obtained by the Gram-Schmidt orthogonalization: Q = [ q q ... q K ] , (8)where q i , i ∈ , , ..., K are column vectors, and R = k r k h q , h i h q , h i · · · h q , h K i k r k h q , h i · · · h q , h K i k r k · · · h q , h K i ... ... ... . . . ... · · · k r K k , (9)where r = h , q = r k r k and for i = 2 , ...K, r i = h i − i − X j =1 (cid:10) q j , h i (cid:11) q j , q i = r i k r i k . A. Multi-group decodability, fast decodability and fast groupdecodability
In case of a multi-group decodable STBC, the variables canbe partitioned into groups such that the ML decoding metricis decoupled into submetrics such that only the members ofthe same group need to be decoded jointly. It can be formallydefined as [9], [16], [17]:
Definition 4:
An STBC is said to be g -group decodableif there exists a partition of { , , ..., K } into g non-emptysubsets Γ , Γ , ..., Γ g such that the following condition issatisfied: A l A Hm + A m A Hl = , whenever l ∈ Γ i and m ∈ Γ j and i = j .If we group all the variables of the same group together in (7),then the R matrix for the SD [2], [18] in case of multi-groupdecodable codes will be of the following form: R = ∆ · · · ∆ · · · ... ... . . . ... · · · ∆ g , (10)where ∆ i , i = 1 , , ..., g is a square upper triangular matrix.Now, consider the standard SD of an STBC. Suppose the R matrix as defined in (9) turns out to be such that when we fixvalues for a set of symbols, the rest of the symbols becomegroup decodable, then the code is said to be fast decodable.Formally, it is defined as follows: Definition 5:
An STBC is said to be fast SD if there existsa partition of { , , ..., L } where L ≤ K into g non-emptysubsets Γ , Γ , ..., Γ g such that the following condition issatisfied h q i , h j i = 0 ( i < j ) , (11)whenever i ∈ Γ p and j ∈ Γ q and p = q where q i and h j areobtained from the QR decomposition of the equivalent channelmatrix H eq = [ h h ..., h K ] = QR with h i , i ∈ , , ..., K ascolumn vectors and Q = [ q q ... q K ] with q i , i ∈ , , ..., K as column vectors as defined in (8).Hence, by conditioning K − L variables, the code becomes g -group decodable. As a special case, when no conditioningis needed, i.e., L = K , then the code is g -group decodable.The R matrix for fast decodable codes will have the followingform: R = (cid:20) ∆ B (cid:21) , (12)where ∆ is an L × L block diagonal, upper triangular matrix, B is a square upper triangular matrix and B is a rectangularmatrix.Fast group decodable codes were introduced in [14]. Thesecodes combine the properties of multi-group decodable codesand the fast decodable codes. These codes allow each of thegroups in the multi-group decodable codes to be fast decoded.The R matrix for a fast group decodable code will have theollowing form: R = R · · ·
00 R · · · ... ... . . . ... · · · R g , (13)where each R i , i = 1 , , ..., g will have the following form: R i = (cid:20) ∆ i B i i (cid:21) , (14)where ∆ i is an L i × L i block diagonal, upper triangularmatrix, B i is a square upper triangular matrix and B i isa rectangular matrix. The structure of the R matrix for eachof the codes defined above depends upon the ordering of theweight matrices. If we change the ordering of the weightmatrices, the R matrix may lose its structure and no longerexhibit the desirable decoding properties. The Silver code ofExample 1 illustrates this aspect. In the following subsection,we give a formal definition of the FSD complexity. B. FSD Complexity of an STBC
In this section we define the FSD complexity of an STBC.First we consider a single group decodable case and definethe FSD complexity for a particular ordering. We then extendthe definition to a multi-group decodable STBC. Let C bean STBC with the weight matrices A , ..., A K , where all thevariables take values from a signal set of cardinality M . Let R be the matrix obtained by the QR decomposition used forSD. Let the ordering of the weight matrices used to obtain the R matrix be A , ..., A K . Denote by l the number of variablesthat need to be conditioned, when we use FSD on the R matrix.After conditioning l variables, let the rest of the variablesbe p -group decodable. In case the code is not fast spheredecodable, then we set l to the total number of variablesin the matrix. Denote by R i the submatrix containing thevariables of the i -th group after conditioning l variables inthe R matrix and by n i the number of variables in the i -th group, where ≤ i ≤ p . We can use FSD on each ofthe R i matrices now. Let us denote by l ,i the number ofvariables that need to be conditioned, when we use FSD onthe R i matrix. After conditioning l ,i variables in R i , letthe rest of the variables be p ,i -group decodable. Let p =max i ( p ,i ) . Denote by R i ,i the submatrix containing thevariables of the i -th group after conditioning l ,i variables inthe R i matrix and by n i ,i the number of variables in the i -th group, where ≤ i ≤ p . It may so happen that p ,i < p for some i . In such cases we set n i ,i = 0 for i > p ,i . Wecontinue this process till we cannot apply FSD any more. Thisprocess terminates since there are a finite number of variablesand the number of variables are decreasing with each iterationof the FSD. Let the process stop after λ such iterations. In the ( λ − -th iteration, we have the following: Let us denoteby l ,i ,i ,...,i λ − the number of variables that need to beconditioned, when we use FSD on the R i ,i ,...,i λ − matrix.After conditioning l ,i ,i ,...,i λ − variables in R i ,i ,...,i λ − , letthe rest of the variables be p ,i ,i ,...,i λ − -group decodable. Let p λ = max i ,i ,...,i λ − (cid:0) p ,i ,i ,...,i λ − (cid:1) . Denote by R i ,i ,...,i λ the submatrix containing the variables of the i λ -th groupafter conditioning l ,i ,i ,...,i λ − variables in the R i ,i ,...,i λ − matrix and by n i ,i ,...,i λ the number of variables in the i λ -th group where ≤ i λ ≤ p λ . On the last iteration, we have l ,i ,i ,...,i λ = n i ,i ,...,i λ for ≤ i λ ≤ p λ .Let k ,i ,i ,...,i j − = max i j (cid:0) l ,i ,i ,...,i j + k ,i ,i ,...,i j (cid:1) for ≤ j ≤ λ , ≤ i j ≤ p j and k ,i ,i ,...,i λ = 0 and k =max i ( k ,i ) . Definition 6:
We define the FSD complexity of a singlegroup decodable STBC for the given ordering to be M l + k .In case of a multi-group decodable code with g groups, the R matrix will be a block diagonal matrix. We then calculatethe FSD complexity of each group independently as describedabove and choose the maximum among them as the FSDcomplexity of the STBC. Definition 7:
We define the FSD complexity of a multi-group decodable STBC with g groups to be max i (cid:0) M l i + k i (cid:1) , where ≤ i ≤ g .We present a few examples to get a better understanding ofFSD complexity. Example 2:
Let the R matrix be of the form: R = a a a a a a a a a a a a a a a a a a a a a a a a a
00 0 0 0 0 0 0 a . Now if we use FSD on this matrix, we will condition l = 4 variables and obtain a -group decodable code. We have R = (cid:20) a a a (cid:21) , R = (cid:20) a a a (cid:21) . Since the number of variables in each of the above matricesare , we have n = n = 2 . We cannot condition any morevariables in either R or R . So the process stops here andwe set l , = 2 and l , = 2 . We have k , = k , = 0 ,k = max ( l , + k , , l , + k , ) = 2 . The FSD complexity of this STBC for the given ordering is M l + k = M . Example 3:
Let the R matrix be of the form: R = a , a , a , t t a , a , a , t t a , a , t t a , t t a , a , t t a , a , t t a , a , t t a , t t t t t . Now if we use FSD on this matrix, we will condition l = 2 variables and obtain a -group decodable code. We have R = a , a , a , a , a , a , a , a , a , , = a , a , a , a , a , a , a , . Since the number of variables in each of the above matrices are , we have n = n = 4 . Now if we use FSD on R , we cancondition l , = 2 variables and obtain a -group decodablecode. If we use FSD on R , we can condition l , = 1 variableand obtain a -group decodable code. We now have R , = (cid:2) a , (cid:3) , R , = (cid:2) a , (cid:3) , R , = (cid:2) a , (cid:3) , R , = (cid:2) a , (cid:3) , R , = (cid:2) a , (cid:3) ,n , = n , = n , = n , = n , = 1 and n , = 0 . We cannot condition any more variables in any of thesematrices. So the process stops here and we set l , , = l , , = l , , = l , , = l , , = 1 . We have k , , = k , , = k , , = k , , = k , , = 0 ,k , = max ( l , , + k , , , l , , + k , , ) = 1 ,k , = max ( l , , + k , , , l , , + k , , , l , , + k , , ) = 1 ,k = max ( l , + k , , l , + k , ) = 3 . The FSD complexity of this STBC for the given orderingis M l + k = M .III. HRQF AND
FSD
COMPLEXITY
In this section we show that the HRQF matrix is enough todetermine the FSD complexity of an STBC and hence the FSDcomplexity is independent of the channel matrix realizationor the number of receive antennas. Towards this end, weprove that the zeros in the R matrix which determine the FSDcomplexity are also zeros in the HRQF matrix. First we definean ordered partition of a set. Definition 8:
We call a partition of { a , a , ..., a K } into g non-empty subsets Γ , Γ , ..., Γ g with cardinalities K , K , ..., K g an ordered partition if { a , ..., a K } ∈ Γ , { a K +1 , ..., a K + K } ∈ Γ and so on, till n a P g − i =1 K i +1 , ..., a P gi =1 K i o ∈ Γ g . Now we address the class of multi-group decodable codes.
Lemma 1:
Consider an STBC C = P Ki =1 x i A i . Let M denote the HRQF matrix of this STBC. If there exists anordered partition of { , , ..., K } into g non-empty subsets Γ , Γ , ..., Γ g such that m ij = 0 whenever i ∈ Γ p and j ∈ Γ q and p = q , then the code is g -group sphere decodable. In otherwords, the FSD complexity of the STBC is determined by theHRQF matrix. Proof:
Let R be the matrix obtained from the QRdecomposition of H eq . For the code to be g -group spheredecodable, we need to prove that r ij = 0 , whenever i ∈ Γ p and j ∈ Γ q and p = q . We know from [12] that if A i A Hj + A j A Hi = is satisfied for some i, j then the corresponding columns inthe H eq matrix are orthogonal, i.e., h h i , h j i = 0 . We also know that m ij = 0 if and only if A i A Hj + A j A Hi = . Let L p = P pq =1 | Γ q | where p = 1 , , ..., g and L = 0 .For any group Γ p , we need to prove that r ij = 0 for L p − +1 ≤ i ≤ L p and L p + 1 ≤ j ≤ K . Consider the first group Γ .We have m ij = 0 for ≤ i ≤ L and L + 1 ≤ j ≤ K . Weneed to prove that the R matrix has zero entries at the samelocations. The proof for this is by induction.For i = 1 and for any j ≥ L + 1 , h q , h j i = 1 k h k h h , h j i = 0 since q = k h k h . Now, let h q l , h j i = 0 for all l < i for any i such that ≤ i ≤ L . We have, h q i , h j i = 1 k r i k " h h i − i − X l =1 h q l , h i i q l , h j i = 1 k r i k " h h i , h j i − i − X l =1 h q l , h i ih q l , h j i = 0 , since h h i , h j i = 0 as m ij = 0 and h q l , h j i = 0 for l < i , byinduction hypothesis.Now consider the p -th group Γ p . Let the induction hypoth-esis be true for all groups , , ...p − . Consider r ij where L p − + 1 ≤ i ≤ L p and L p + 1 ≤ j ≤ K . We have, r ij = h q i , h j i = 1 k r i k " h h i − i − X l =1 h q l , h i i q l , h j i = 1 k r i k " h h i , h j i − i − X l =1 h q l , h i ih q l , h j i = 0 , since h h i , h j i = 0 as m ij = 0 and h q l , h j i = 0 for l < i bythe induction hypothesis.We now consider an example to illustrate the above lemma. Example 4:
Consider the × ABBA code given by [19]: X = (cid:20) x + jx − x + jx − x + jx x + jx (cid:21) , where x i ∈ R for i = 1 , , , . This is a two group decodablecode with { x , x } belonging to one group and { x , x } belonging to the other. The structure of the HRQF matrix M and the R matrix are given below with [ x , x , x , x ] as theordering of the variables and the weight matrices, M = t t t t t t t t , R = t t t t t t , where t denotes the non-zero entries. As it can be seen, theupper triangular portion of M matrix and the R matrix havethe same structure.Now we move on the class of fast decodable codes. Lemma 2:
Consider an STBC C = P Ki =1 x i A i . Let M denote the HRQF matrix of this STBC. If there exists anordered partition of { , , ..., L } where L ≤ K into g non-empty subsets Γ , Γ , ..., Γ g such that m ij = 0 whenever ∈ Γ p and j ∈ Γ q and p = q , then the code is fast decodableor conditionally g -group decodable. Proof:
The proof follows from the proof of Lemma 1 byreplacing K with L .We now consider an example to illustrate the above lemma. Example 5:
Consider the Silver code as mentionedin Example 1. If we order the variables (andhence the weight matrices) in the following fashion [ s I , s Q , s I , s Q , s I , s Q , s I , s Q ] , then the HRQF matrix M and the R matrix will have the following structure: M = t t t t t t t t t t t t t t t t t t t tt t t t t t t t t t t t t t t t t t t t , R = t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 0 0 t , where t denotes the non-zero entries. As it can be seen, theupper triangular portion of the matrix M , has a structurethat admits fast decodability which is conditionally -groupdecodable if considered as the R matrix.We now turn to the class of fast group decodable codes. Lemma 3:
Consider an STBC C = P Ki =1 x i A i . Let M denote the HRQF matrix of this STBC. If there exists anordered partition of { , , ..., K } into g non-empty sub-sets Γ , Γ , ..., Γ g with cardinalities K , K , ..., K g such that m ij = 0 whenever i ∈ Γ p and j ∈ Γ q and p = q , and if anygroup Γ i admits fast decodability, i.e., there exists an orderedpartition of nP i − l =1 K l + 1 , P i − l =1 K l + 2 , ..., P i − l =1 K l + L i o where L i ≤ K i , into g i non-empty subsets Υ i , Υ i , ..., Υ i gi such that m rs = 0 whenever r ∈ Υ i p and s ∈ Υ i q and p = q , i = 1 , , ..., g , then the code is fast group decodable. Proof:
The proof follows from the proofs of lemmas 1and 2.We now consider an example to illustrate the above lemma.
Example 6:
Consider the fast group decodable STBC [14]given in (15) .Let the ordering of the variables (and hence the weightmatrices) be [ s , s , ..., s ] . This STBC is two group decod-able with s in one group and { s , s , ..., s } in the other.The second group is conditionally five group decodable. TheHRQF matrix M and the R matrix are given in (16) and (17)respectively, where t denotes the non zero entries. M = t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 t t t t t t t t t t t t t t t t t t t t t t t t
00 0 t t t t t t t t
00 0 t t t t t t t t
00 0 t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t (16) R = t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 t t t t t t t t
00 0 0 0 0 0 t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 0 0 0 0 t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t (17) As we have seen from Lemmas 1, 2 and 3, the FSDcomplexity of the STBC depends only upon the HRQF matrix M and not on the H eq matrix, i.e., the FSD complexity isindependent of the channel matrix and the number of receiveantennas. It can be completely captured into a single matrixobtained from the set of weight matrices and their ordering.IV. A LGORITHM FOR A B EST O RDERING OF THE W EIGHT M ATRICES
As seen in Example 1, the ordering of weight matricesdetermines the FSD complexity of an STBC. We have alsoseen that the HRQF matrix completely determines the FSDcomplexity of an STBC. In this section we present an algo-rithm that uses the HRQF matrix as an input and manipulates itin order to obtain a best possible ordering of weight matrices.We do so by using row and column permutations of theHRQF matrix. The rows and columns of the HRQF matrixare in one to one correspondence with the ordering of theweight matrices. Hence, if we change the ordering of theweight matrices, the HRQF matrix changes accordingly andvice verse. For example, any transposition in the ordering ofthe weight matrices will result in swapping the correspondingrows and columns (since HRQF matrix is symmetric) of theHRQF matrix.
Remark 1:
Note that we cannot perform such a manipula-tion on the R matrix since it depends not only on the order ofweight matrices but on the channel matrix as well. Also, all theentries of the R matrix do not depict the HR orthogonality ofthe weight matrices, i.e., the ( i, j ) -th entry of the matrix maynot be zero even if the i -th and j -th weight matrices are HRorthogonal. Hence, the R matrix needs to be calculated each = s + js + js + js + js s + js + s + js s + js + s + js − s − js + s + js − s + js − s + js s + js + js − js − js s − js + s − js s − js − s + js − s + js − s + js − s − js − s − js s − js + js − js + js s − js − s + js s − js − s + js − s − js + s + js − s − js + s + js s − js + js + js − js (15) time the ordering of the weight matrices is changed which isnot so in the case of the HRQF matrix.The algorithm to get a best possible ordering is given inAlgorithm 1 in the next page. An important structural property of the HRQF matrix:
Before we delve into the proof of correctness of the algorithm,let us make a few observations regarding the structure of theHRQF matrix for various scenarios of decoding. Let C bean STBC with weight matrices A , ..., A K and correspondingvariables x , ..., x K . The code C can be multi-group decod-able, fast-decodable, fast group decodable or none of these.The structure of the upper triangular portion of the HRQFmatrix for the first three of these are shown in the equations(10), (12) and (13) respectively. In case the code does not allowany of these forms of decoding, the ordering of the variables isimmaterial. Let ∆ be a best ordering of the variables. Withoutloss of generality, let the first variable in this ordering belabelled x . Irrespective of the type of decoding provided bythe code, we notice that all the variables that need to be jointlydecoded with x are adjacent to it in the HRQF matrix. Theseare followed by the set of zeros which indicate all the variableswhich are Hurwitz-Radon orthogonal with the previous set.These are further followed by the variables that are to beconditioned in order to obtain this group-decodable structure.In case of multi-group decodable codes, this is a null set. Proof of Correctness:
We need to show that the algorithmproduces a best possible ordering for FSD complexity. Thealgorithm uses the structural property of the HRQF matrixfor obtaining a best ordering. Given any ordering Λ , with thefirst variable as x , the algorithm partitions the variables intothree sets - Λ , Λ and Λ . In case of multi-group decodingand fast group decoding, Λ contains all the variables thatbelong to the same group as x . In case of fast decoding, itrepresents the set of variables that need to be jointly decodedwith x after conditioning. Λ contains all the variables HRorthogonal with Λ . Λ contains the variables that need to beconditioned. This will be an empty set in case of multi-groupdecoding and hence multi-group decoding can be consideredas fast decoding with no conditioned variables. The algorithmis recursively run on the sets Λ and Λ to further order thevariables (as in case of fast group decoding).First, we fix the first variable in the given ordering. Let itbe x i for some ≤ i ≤ K . The algorithm starts with only x i in Λ , all variables which are HR orthogonal with x i ina temporary set Λ t and the rest of the variables in Λ .Thevariables HR orthogonal with x i can be easily identified asthey correspond to the zero entries in the first row. For ease ofmanipulation, we move all the variables in the set Λ t adjacent x i in the ordering. This is equivalent to grouping all the zerosin the first row and placing them adjacent to the (1,1) entry, as these denote all the variables HR orthogonal with x i . Thecurrent ordering of variables is - { x i , Λ t , Λ } . For the workingof the algorithm, the following set operations are synonymouswith the following matrix operations on the HRQF matrix: • Moving a variable x j into Λ - Suppose the variable x j is the p -th element in the current ordering, we move the p -th column to the ( | Λ | + 1) -th column shifting the restof the columns to the right and then we move the p -throw to the ( | Λ | + 1) -th row shifting the rest of the rowsdownwards. Update the ordering accordingly. • Moving a variable x j into Λ - Suppose the variable x j is the p -th element in the current ordering, we move the p -th column to the last column shifting the rest of thecolumns to the left and then we move the p -th row to thelast row shifting the rest of the rows upwards. Update theordering accordingly. • Moving a variable x j into Λ - No change. Only thecardinalities of Λ and Λ t will change accordingly.The algorithm works in two stages. • First, we find the largest L ≤ K such that | Λ | + | Λ | = L. • In the second stage, since the variables in Λ and Λ will be decoded separately, we consider the submatricesrepresenting them as HRQF matrices of some STBC andrun the first step of the algorithm on them recursively.Let x k be the first variable in Λ t . It is currently the secondvariable in the overall ordering. We now proceed to find allthe variables that are HR orthogonal with x k and not HRorthogonal with Λ , since these will need to be jointly decodedwith the variables in Λ . This can be found as follows. Ifany variable is HR orthogonal with x k , it will have a zeroentry in the column corresponding to x k . Hence we traversedown the column represented by x k to find the next zeroentry. Let it be found in the p -th row corresponding to thevariable x l . We also need to ensure that this variable is notHR orthogonal with Λ . So, we traverse the p -th row fromcolumn 1 to column | Λ | and check for any non-zero entries.In case any of them are found, it means that this variableneeds to be jointly decoded with Λ . We add x l to Λ . Wenow repeat the procedure on the variable x k again until all thevariables have been exhausted. Since there are a finite numberof variables, this process terminates. Note that it is possiblethat a few members from Λ t may move into Λ during thisprocess. These variables will be accounted for later. We nowadd x k to Λ . We have now managed to create two sets whichare HR orthogonal and the current ordering of the variables is { Λ , Λ , Λ t , Λ } .We now proceed to the next variable in Λ t . Let this be x j .We need to ensure that x j is HR orthogonal with Λ . Thiscan be easily checked by counting the consecutive number nput : The HRQF matrix - M = ( m ij ) , the size of the HRQF matrix - K × K , the input ordering - input ordering Output : The best possible FSD complexity - best dec cmplxty andits corresponding ordering - best ordering - current ordering = input ordering - best dec cmplxty = K ; i = 1 repeat - Shift all the zero entries in the first row next to the first element- Let the number of zeros in the first row be num zero cols - grp size = 1 ; cur zero col = 2 . (Var under consideration) if num zero cols = 0 then - dec cmplxty = K endelse repeat - flag = 0 - Let no. of consecutive zeros in cur zero col be n . if n < grp size then - Move the cur zero col -th variable to the end(Move the corresponding row and column to the endand moving the rest of the rows and columnsupwards).- Update current ordering .- num zero cols = num zero cols − endif n ≥ cur zero col − then - grp size = cur zero col − Marker :- Find the next zero along the cur zero col columnfrom the cur zero col row.- Let the next zero be found in the j -th row. for t = 1 to grp size doif m jt = 0 then - flag = 1 endendif flag = 1 then - Move up the j -th variable to the grp size + 1 -th position. - Update current ordering .- grp size = grp size + 1 - cur zero col = cur zero col + 1 - jump back to Markerendif flag = 0 then - cur zero col = cur zero col + 1 (No morezeros left in this column to check) endenduntil cur zero col ≤ grp size + num zero cols ;- top hrqf matrix = upper left grp size × grp size matrix. (With ordering top hrqf ordering ).- bot hrqf matrix = square matrix from row, column = grp size + 1 to row, column = grp size + num zero cols .(With ordering bot hrqf ordering ). Run the current algorithm on the top and bottom matrices - [ top dec cmplxity, best top ordering ] = order hrqf ( top hrqf matrix, top hrqf size, top ordering ) - [ bot dec cmplxity, best bot ordering ] = order hrqf ( bot hrqf matrix, bot hrqf size, bot ordering ) - Update current ordering with best top ordering and best bot ordering .- Number of variables conditioned: cond vars = K − grp size − num zero cols .- dec cmplxty = cond vars + max { top dec cmplxity, bot dec cmplxity } endif best dec cmplxty > dec cmplxty then - best dec cmplxty = dec cmplxty - best ordering = current ordering end - Circularly shift the variables (rows and columns)- Update current ordering - i = i + 1 until i = K ; Algorithm 1 : The algorithm to obtain a best ordering ofweight matrices - order hrqf of zeros in its column from the top of the column. If it isequal to | Λ | , then x j is HR orthogonal with Λ . We add x j to Λ in this case. Otherwise, we move x j to Λ . It may sohappen that x j may be HR orthogonal with Λ and the alreadyexisting members of Λ . This can be checked by counting theconsecutive numbers of zeros in its column from the top of thecolumn and matching cardinalities. In such a case, we repeatthe procedure of finding any variable that needs to be jointlydecoded with Λ on this variable as well. If any such variableexists, we move that variable and the pre-existing variables of Λ into Λ . This is needed for fast group decoding scenarios.We continue this procedure till we have exhausted all thevariables of Λ t . We have now produced three sets Λ , Λ and Λ . Λ and Λ are HR orthogonal w.r.t. one another if wecondition them on the variables of Λ .We still need to process Λ and Λ further. We repeatthe same procedure on these variables considering them asindependent HRQF matrices. If the cardinality of Λ is thesame as that of the HRQF matrix row/column size, then westop this procedure as it cannot be ordered any further andset the FSD complexity to | Λ | . This process terminates asthe sizes of Λ and Λ keep reducing with each iteration andthere are a finite number of variables. We calculate the FSDcomplexity of this ordering as - | Λ | + max ( d , d ) where d and d are the FSD complexities of Λ and Λ respectively.Since we are dealing with fast sphere decoding and groupingthe variables as sets Λ , Λ and Λ are the only possible waysto obtain a structure that will allow FS decoding, these are allthe orderings we need to consider if we take x i as the firstvariable. Hence, we have exhausted all the possible orderingswhich can provide FS decoding with x i as the first variable,and a best possible FSD complexity for this case has beenfound by the above steps. Now, if we run through all thevariables of the STBC making each one of them the firstvariable in turn and repeating the above procedure, we can findout a best possible FSD complexity for all possible orderings.Since all the variables have been given a chance to be thefirst variable, we have exhausted all possible orderings thatoffer FS decoding. And hence, the ordering provided by thealgorithm is a best possible ordering for FSD complexity. (cid:4) Remark 2:
Since the algorithm recursively orders each set,it is capable of even ordering variables in scenarios whereany group obtained from conditioning of variables admitsconditional decoding.We now illustrate the working of the algorithm with anexample.
Example 7:
Consider the Silver code presentedin Example 1. If we order the variables as [ s I , s I , s Q , s Q , s Q , s I , s I , s Q ] , we get the followingHRQF matrix and the R matrix for this ordering: M = t t t t t t t t t tt t t t t t t t t t t t t t tt t t t t t t t t t t t t t t ; = t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 0 0 t . The FSD complexity for this ordering is M . And thisordering does not admit fast decoding as well.When we run the algorithm on the given HRQF matrix, thetwo sets Λ and Λ are formed, which are HR orthogonalwith each other. In this case, Λ = { s Q , s I , s Q } and Λ = { s I } . The conditioned variables will be present inthe set Λ = { s I , s Q , s Q , s I } . The HRQF matrix at thisstage is as given by (18). The ordering of the variables atthe end of this stage is [ s I , s Q , s I , s Q , s I , s Q , s Q , s I ] .Now, the variables from both sets Λ and Λ are run throughthe algorithm again. So, the top left × matrix and the nextblock diagonal × matrix are both fed to the algorithm.Since this is already the best possible ordering of these sets,the matrix M remains the same after this stage. And the fi-nal ordering obtained is [ s I , s Q , s I , s Q , s I , s Q , s Q , s I ] .The R matrix for this ordering is given by (19) M = t t t t t t t t t t t t t t t t t t t tt t t t t t t t t t t t t t t t t t t t (18) R = t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 0 0 t (19)The FSD complexity for this R matrix is M which is thebest possible complexity for the Silver code. Example 8:
Consider the fast group decodable code pre-sented in Example 6. If we order the variables as [ s , s , ..., s , s , s , s , ..., s ] , we get the followingHRQF matrix and the R matrix: M = t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 0 0 0 0 t t t t t t t t t t t t t t t t tt t t t t t t t t t t t t t t t t t t t t t t tt t t t t t t t t t t t t t t tt t t t t t t t , R = t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 t t t t t t t t
00 0 0 0 0 t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 0 0 0 t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t . The FSD complexity for this R matrix is M but the bestpossible FSD complexity is M . When we run the algorithmon the given HRQF matrix, the two sets Λ and Λ are formed,which are HR orthogonal with each other. In this case, Λ = { s , s , s , s , s , s , s , s , s , s , s , s , s , s , s } and Λ = { s } . The set Λ is empty as this provides a groupdecoding scenario. Now, the variables from both sets arerun through the algorithm again. So, the top left × matrix and the bottom right × matrix are both fed to thealgorithm. The top left matrix is ordered according to thefast decoding algorithm as presented in the previous example.Since the bottom right matrix is a × matrix, it is returnedwithout change. The final ordering of variables obtained is [ s , s , s , s , s , s , s , s , s , s , s , s , s , s , s , s ] .The M and the R matrix for this ordering is as shown below. M = t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 t t t t t t t t
00 0 0 0 t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 , = t t t t t t t t t t t t t t t t t t t t t t t t
00 0 0 t t t t t t t t
00 0 0 0 t t t t t t t t
00 0 0 0 0 t t t t t
00 0 0 0 0 0 t t t t t t t t t t t t t
00 0 0 0 0 0 0 0 0 t t t t t t t t t t t
00 0 0 0 0 0 0 0 0 0 0 t t t
00 0 0 0 0 0 0 0 0 0 0 0 t t t t
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 . This ordering gives us the FSD complexity of M .V. C ONCLUSION
In this paper we have analysed the FSD complexity of anSTBC using quadratic forms. We have shown that the HRQFcompletely categorizes the FSD complexity of an STBC andhence it is independent of the channel and the number ofreceive antennas. We have provided an algorithm to obtaina best ordering of weight matrices to get the best decodingperformance from the code.A
CKNOWLEDGEMENTS