Trellis Coded Block Codes: Design and Applications - Semantic Scholar

2 downloads 0 Views 1MB Size Report
TCBC are realized using off-the-shelf trellis and block en- coders and trellis decoders. ... the Shannon's limit, these codes use very long code lengths. Hence, the ...
JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

73

Trellis Coded Block Codes: Design and Applications Ganesan Thiagarajan, Chandra R. Murthy Department of ECE, Indian Institute of Science, Bangalore Email: [email protected], [email protected]

Abstract—This paper presents a new family of block codes referred to as Trellis Coded Block (TCB) codes, which are built using a trellis code and a linear block code (LBC). The TCB code (TCBC) construction is based on an algebraic structure inherent to many LBCs, which allows one to partition an LBC into sub-sets with a constant distance between every pair of code words in the subset. The proposed uniform sub-set partitioning is used to increase the minimum distance of the code, as in trellis coded modulation (TCM). However, unlike conventional TCM, the coding and modulation steps are separated in TCBC. An advantage of this construction is that it can be applied to both discrete as well as continuous channels, while conventional TCM is typically designed for continuous channels. The proposed TCBC is shown to be useful in a variety of applications including forward error correction, low rate quasi-orthogonal sequence generation, lattice code construction, etc. Moreover, the encoder and decoder for TCBC are realized using off-the-shelf trellis and block encoders and trellis decoders. Simulation results demonstrate the performance benefits offered by the TCBC in a variety of applications, and compares them to other existing stateof-the-art codes.

I. I NTRODUCTION Error correcting codes are used in communication systems to provide coding gain, which in turn reduces the energy per bit required for reliable communication. Besides providing a large coding gain, the key features of a good error correcting code include low encoding and decoding complexity, low latency (delay), etc. Some excellent surveys on the state-of-the-art in classical coding theory include [1]–[3] and [4]. Although modern codes such as low density parity check (LDPC) codes [5] and turbo codes [6] come within a few tenths of a dB from the Shannon’s limit, these codes use very long code lengths. Hence, the complexity and latency of the decoder is large, which limits their usage in latency-constrained systems. For example, the LDPC decoder in the IEEE 802.11n receivers cannot use a large number of iterations since the receiver (Rx) must send an acknowledgement to the transmitter (Tx) within the short inter-frame spacing (SIFS) time interval. Thus, it is a challenge to design codes with a desired coding gain and at the same time meet the latency and decoding complexity constraints. In this paper, we propose a new class of low latency codes that also allow low complexity decoding and can be built using existing linear block and trellis codes. Manuscript received October 07, 2011; accepted October 31, 2011.

© 2012 ACADEMY PUBLISHER doi:10.4304/jcm.7.1.73-85

We also propose a non-iterative trellis decoder which is amenable to parallel implementation, and hence, the trellis decoder can result in a decoding delay that is significantly smaller than the code length. We demonstrate several interesting features of these codes, namely, that they are applicable to discrete (e.g., binary symmetric channel) as well as continuous (e.g. additive white Gaussian noise (AWGN), Rayleigh fading, etc.) channels. The proposed codes illuminate and exploit an algebraic structure that is inherent in many existing linear block codes. We start with a brief review of of known algebraic structures in linear block codes. The fundamental structure of a linear block code (LBC) is that it is a group [7], closed under addition and that all possible n length code-words (n-tuple) can be divided into cosets. There are four known ways of partitioning LBCs: (i) the sub-codes obtained by a coset decomposition [8], [9], (ii) sub-codes of smaller length which constitute the parent code by concatenation [10], (iii) an association scheme to group code-pairs with a given Hamming distance between them [11], and (iv) decomposing n-tuple codes into cosets using finite groups that exploit the algebraic structure available in a Cartesian product space [12]. In this paper, we describe another algebraic structure which allows one to partition the code into disjoint uniform sub-sets (uniform codes are defined in Sec. II)1 . It was shown in [8], [9] that one can obtain a coding gain from coset codes, by using the coset (sub-code) partition structure and selecting the cosets using the output of a trellis code. In [14], the minimum distance of a composite code was improved upon by assigning a code (or a coset) to the transition of fully connected finite state machines. We use an analogous distance improvement technique, but in the Hamming (metric) space. Moreover, the code-partitioning is done within the given code, rather than code-partitioning on the lattice (expanded constellation) or expanded code [15]. Recently, the equitable partitioning of the binary n-tuple vector space, denoted Fn2 , was generalized in [16]. The partitioning considered in this paper is different from this work in that we partition code-words within a given LBC, rather than use the LBC to partition Fn2 . 1 Preliminary

work in this direction was done in [13]

74

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

However, the design of low latency codes that are based on existing trellis and block codes and yet can attain a given target coding gain is relatively unexplored in the literature, and is the main focus of this work. Our main contributions are as follows: • •







A new algebraic result describing partitioning of linear block codes into uniform sub-sets is presented. An encoder/decoder structure which utilizes the uniform sub-set partitioning in the Hamming space (and hence is usable in both discrete and continuous channels) is proposed. The codes so constructed are referred to as trellis coded block codes (TCBC). The proposed decoder is shown to be a maximum likelihood sequence detection (MLSD) decoder. Analytical expressions for an upper bound on the bit-error-rate (BER) performance of the TCBC are provided. The theory of TCB codes is extended to construct codes for the Multiple-Input Multiple-Output (MIMO) channel using the Frobenius norm as the distance metric. The proposed TCBC are applied in different scenarios to illustrate the performance benefits that can be obtained.

Perhaps the most practically useful implication of this work is that it provides a systematic method of constructing fixed length codes with a desired minimum distance property, using off-the-shelf block and convolutional codes as building blocks. These provide a system designer a convenient way to custom design codes with desired distance properties while also meeting a given decoding latency requirement. The rest of this paper is organized as follows. Section II describes the new algebraic structure of LBCs. Section III presents the TCB code construction based on the algebraic structure of LBCs. This section also describes the encoding and decoding architectures for the TCBC and discusses the rate, complexity and decoding latency of the constructed codes. Section IV describes several novel applications for the proposed codes. Section V provides simulation results to illustrate the performance of TCBCs, and Section VI concludes the paper. We use the following notation. We use |X| to denote the cardinality of the set X. A block code C with elements of length n and |C| = q k code-words is denoted as a (n, k)q code where q is the cardinality of the finite field used to construct C. The minimum distance of C is denoted as dmin (C), and the (n, k)q code with dmin = d is represented as the (n, k, d)q code. The element-by-element multiplication of two code-words x and y is represented as x ∗ y. The Hamming weight of a code word c1 is denoted as WH (c1 ). The Hamming distance between two code-words c1 and c2 is denoted as DH (c1 , c2 ). {φ} denotes the null set and 0 denotes the all zero vector. ⌊x⌋ denotes the largest integer smaller than x and ⌈x⌉ denotes the smallest integer larger than x. © 2012 ACADEMY PUBLISHER

II. U NIFORM S UB - SET PARTITIONING The following definitions are used in the description of the new algebraic structure of LBC in the binary field Fn2 . Definition 1: Uniform set: A set in Fn2 is said to be uniform if the distance du between any pair of elements is a constant. Note that the above definition differs from that of the equi-distant codes used in the coding theory literature [17] in that a uniform set need not be closed under addition. Definition 2: Maximal uniform set: A uniform set U is said to be maximal if it is the largest possible set in terms of cardinality, for the given length n and the uniform distance du . Definition 3: Non-trivial set: A set U is said to be non-trivial if it contains atleast 3 non-zero elements. If the uniform code is linear, it is a constant weight code, except for the all zero code-word. Hadamard codes [17] are an example of such a uniform code. One straightforward method of partitioning a given code into uniform sub-sets is pair-wise partitioning2, where elements are grouped into pairs, such that the distance between the pairs is constant, as explained in the Lemma below. Lemma 1: For any LBC, there exists a disjoint codeword pair set (partitioning) such that distance between the code-word pairs is constant. In fact, there exists at least one code-word pair partition for every Hamming weight in the code’s distance spectrum. Proof: Let d be a distance in the distance spectrum of C. Then, there exists atleast one code-word c1 such that DH (c1 , 0) = d. Now, add any other code-word c2 to both 0 and c1 to get the codeword pair (c2 , c1 + c2 ) satisfying DH (c2 , c1 + c2 ) = d. Proceeding this way, we can create disjoint code pairs with distance d for every Hamming weight in the distance spectrum of C. While the above Lemma is useful, it is desirable to have partitions that have more than two code-words in each subset. This is because having fewer subsets helps reduce the complexity of the outer trellis code that will be introduced later. That is, we seek to find a partition C=

L [

Ci ,

(1)

i=1

such that Ci ∩ Cj = {φ} , 1 ≤ i, j ≤ L , i 6= j, where L is the number of constituent uniform sub-sets and Ci , i = 1, 2, . . . , L are non-trivial uniform sub-codes. In the sequel, Theorem 1 asserts that such partitioning exists for many binary LBCs. Now, we state and prove some useful properties of uniform linear sub-codes, which will set the stage for stating Theorem 1. Lemma 2: The distance du for any non-trivial uniform linear code C0 is even. Moreover, the uniform code is linear if and only if du = 2WH (c0 ∗ c1 ) for any two non-zero c0 , c1 ∈ C0 . Proof: See Appendix A. 2 This pair-wise partitioning is unrelated to the association scheme [11]. Association schemes find all pairs of code-words that are at various Hamming distances whereas pairwise partitioning finds disjoint pairwise subsets of the parent code.

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

Remark: An immediate consequence of the above Lemma is that the uniform distance of a non-trivial linear uniform code and its even parity extension code are the same. This property will be used in the derivations to follow. Lemma 3: Let c0 , c1 , c2 belong to a uniform linear code with distance du and ci 6= 0, for i = 0, 1, 2. Then, c0 = c1 + c2 if and only if WH (c0 ∗ c1 ∗ c2 ) = 0. Proof: See Appendix B. Remark: Combining Lemmas 2 and 3, it is immediate to see that if WH (c0 ∗ c1 ∗ c2 ) = du /4, then WH (c0 + c1 + c2 ) = du , where c0 , c1 and c2 belong to a uniform linear code C0 with atleast 8 code-words. Lemma 4: There exists a non-trivial uniform sub-code Cu of the rate-1 code Fn2 with  n if n = 4k  2   n−1 if n = 4k + 1 2 du = (2) n+2 if n = 4k + 2  2   n+1 if n = 4k + 3, 2 where k is an integer ≥ 1. Moreover, a uniform linear subset CF 0 which spans a vector space with dimension at least 2 can be constructed from Cu . Proof: See Appendix C. We can now state the main theorem of this section. Theorem 1: For a binary LBC C, if C0 , CF 0 ∩ C is a non-trivial uniform set for some CF satisfying the 0 properties in Lemma 4, the following hold: (i) Tiling property: C0 and its cosets tile C and one can build Cmax , a linear maximal uniform sub-code of 0 C, from the cosets of C0 , (ii) Cardinality bounds: The cardinality of C0 is bounded as 22 ≤ |C0 | ≤ 2⌊log2 n+1⌋ , and (iii) Cardinality of the maximal linear uniform set: ∗ |C0 | = 2j +1 where j ∗ ≥ 1 is the largest integer such that (a) C0 has a subset Cj ∗ with cardinality j ∗ + 1 and non-zero entries such that du , (3) 2j ∗ where c0 , c1 , . . . , cj ∗ ∈ Cj ∗ , and (b) For l = 1, 2, . . . , j ∗ − 1, for all subsets Cl of Cj ∗ with cardinality l + 1, WH (c0 ∗ c1 ∗ . . . ∗ cj ∗ ) =

du , 2l abuse of

WH (c0 ∗ c1 ∗ . . . ∗ cl ) =

(4)

where, with a slight notation, c0 , c1 , . . . , cl ∈ Cl . Proof: See Appendix D. Discussion: The above theorem leads to the following procedure for obtaining uniform sub-codes for a given code C: (i) Find code-words in C with Hamming weight du given by (2). Denote this sub-set as Cu . (ii) Find a sub-set of Cu that is closed by using the linearity conditions (3) and (4) in case (iii) of Theorem 1. Denote this sub-set as C0 . (iii) Now, C0 and its cosets form a uniform partitioning of C. © 2012 ACADEMY PUBLISHER

75

If no non-trivial C0 can be found in step (ii), then a nontrivial uniform sub-code partitioning does not exist for the code C. In this case, we partition the code into subsets with pairs of elements. The sub-sets are constructed from the pair of code-words formed by the all-zero code-word and one of the code-words in Cu , and its cosets. Note that the partitioning of C into its maximal uniform linear sub-codes is not unique. However, the number of partitions L is unique due to the linearity of the sub-codes. Moreover, for a given number of subsets, the uniform subset partitioning results in the maximum possible dmin among all possible partitions into non-trivial subsets. The utility of finding uniform distance sub-codes with large cardinality, as given by Theorem 1, will be seen in the TCBC construction, presented in the next section. Specifically, the larger the cardinality of the uniform subsets, the lesser the complexity of the CC associated with constructing the TCB code. Examples: The following examples illustrate the uniform partitioning given in Theorem 1. The Hamming (7, 4, 3)2 code can be partitioned into two maximal uniform sub-sets3 as follows: C0 = {0, 1, 6, 7, 10, 11, 12, 13} and C1 = {2, 3, 4, 5, 8, 9, 14, 15}. All the code words in each sub-set are at an equal Hamming distance (du = n+1 = 4) from each other. Another example 2 is the maximum length shift register (MLSR) (6, 3, 3)2 code4 , which can be partitioned into C0 = {1, 2, 5, 6} and C1 = {0, 3, 4, 7}. The Hamming distance between any pair of elements in both sub-sets C0 and C1 is du = n+2 = 4. Hadamard codes are themselves max2 imal uniform codes. Hence, any partition would give a non-maximal, but uniform sub-sets with du = n2 . The MLSR (9, 4, 3)2 code5 can be partitioned into uniform cosets with C0 = {0, 2, 9, 11} and uniform distance du = n−1 = 4. The binary Golay (23, 12, 7)2 code 2 can be partitioned into 512 cosets of 8 elements each. Elements in the uniform linear coset is listed here as an illustration: C0 = {0, 120, 79, 929, 1434, 1764, 1739, 2508}. The uniform distance of this sub-set C1 is 12. It can be noticed that for these binary LBCs, the uniform n+2 n+1 distance of the sub-sets is n2 , n−1 2 , 2 or 2 , as given in (2). Finally, an example of a code without a non-trivial uniform sub-code partitioning is the MLSR (9, 3, 4) code6 with C0 = {0, 1} and du = n−1 2 = 4. III. T RELLIS C ODED B LOCK C ODES We now introduce TCBC, a new family of codes based on the aforementioned uniform subset partitioning. We construct the (n, k) TCB code with k input bits and noutput bits as follows. Let l of the k bits be input into a rate ml trellis code, whose output selects one of 2m 3 The code-words in the sub-set are denoted by indices which are the decimal equivalent of the binary data vectors in the code C. The binary data vectors are the binary k-tuples which get multiplied by the generator matrix G to generate the code-words in C. 4 C = {00,16,23,35,47,51,64,72} in octal notation. 5 C = {000, 075, 107, 172, 217, 262, 310, 365, 436, 443, 531, 544, 621, 654, 726, 753} in octal notation. 6 C = {000, 164, 235, 351, 472, 516, 647, 723} in octal notation.

76

sub-sets (partitions) of an (n, k − l + m) LBC, and the k − l additional input bits select one of the code-words in the selected sub-set, resulting in an (n, k) TCB code. Note that, n is the length of the LBC C with 2k−l+m codewords, which is partitioned into 2m uniform sub-sets with 2k−l code-words in each sub-set. The minimum distance of this hybrid code is determined by the smaller of the (constant) minimum distance between code-words in each sub-set and K−1 l dmin , where K is the constraint length of the CC and dmin is the minimum distance of the parent LBC. We choose K m such that K−1 l dmin > min1≤i≤2 dmin (Ci ), and hence the minimum distance of the TCB code is determined by the uniform distance in any sub-set (assigned to parallel transitions of the trellis of the CC). Thus, by choosing the sub-set partitioning appropriately, one can obtain a coding gain in a conceptually similar manner to TCM/coset codes. Hence, the TCBC can be viewed as a generalization of TCM, where the modulation is not integrated with the codeword construction. This enables the use of TCBC for both continuous (e.g., the AWGN) as well discrete (e.g., the binary symmetric) channels. Also, as the modulation scheme is not coupled with the code design, the signal constellation choice, shaping, etc become flexible. A. Encoder and Decoder Structure We now describe the encoding and decoding operations in the proposed TCBC. For simplicity of exposition, we first illustrate the central idea through an example construction, and then present a general procedure for code construction. Figure 1 shows an example of a TCB encoder that uses the Hamming (7, 4) code as the parent LBC. The encoder comprises a trellis code, which selects the sub-set indices (v0 , v1 ), a look-up-table (LUT) which selects the data word based on sub-set indices and the remaining input data bits (v2 , v3 ), followed by the LBC encoder. The entries of the LUT enforce the sub-set partition structure. For example, for a 4 subset partitioning of the Hamming (7, 4) code as C0 = {0, 1, 6, 7}, C1 = {10, 11, 12, 13}, C2 = {2, 3, 4, 5} and C3 = {8, 9, 14, 15}, if (v0 v1 v2 v3 ) = (0000), the LUT will select the first code-word in C0 , if (v0 v1 v2 v3 ) = (1111), the LUT will select the fourth code-word in C3 , and so on. The complete LUT for the TCBC (7, 3) using the Hamming (7, 4) code is given in Table I as an illustration. Once the data-words to be encoded are determined, the output of the LUT denoted as (u0 ,u1 ,u2 ,u3 ) is sent to a conventional Hamming (7, 4) block encoder which generates the 7-bit code-word. These coded bits can be transmitted on a binary symmetric channel (BSC) as is, or can be mapped into the constellation symbols of any digital modulation scheme such as binary phase shift keying (BPSK) and transmitted on an additive white Gaussian noise (AWGN) channel. The decoder structure is shown in Figure 2. A trellis decoder (e.g., Viterbi decoder, Fano decoder, etc.) is used for detecting the sub-set index. The branch metric © 2012 ACADEMY PUBLISHER

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

TABLE I LUT MAPPING FOR TCB (7,3) CODE . v0 v1 v2 v3 0000 0001 0010 0011 0100 0101 0110 0111

Fig. 1.

u0 u1 u2 u3 0000 0001 0110 0111 0100 0101 0010 0011

v0 v1 v2 v3 1000 1001 1010 1011 1100 1101 1110 1111

u0 u1 u2 u3 1100 1101 1010 1011 1000 1001 1110 1111

An example of a TCBC encoder.

for each transition in the trellis is chosen to be the smallest distance between the received word and the codewords in the sub-code selected by the output of the trellis assigned to that transition. Once sub-set indices are estimated (after tracing the data bits back as in the Viterbi decoder), this information is used to compute the distance (Hamming/Euclidean) between the transmitted (block) code word and the code-words in the selected subset/coset. The code-word with the least distance is used to estimate the remaining data bits. Thus, the decoder can be constructed using off-the-shelf Viterbi and (block) sub-set minimum distance decoders as its components. This enables an efficient hardware implementation of the decoder compared to a brute force minimum distance decoder. Now, we describe a design procedure for constructing CBC a TCBC with a desired dTmin and rate nk . Design Procedure: CBC (i) For the given dTmin , compute the code length n T CBC such that du = dmin , where du is given by (2). (ii) Choose any LBC of length n and rate rL > nk . Denote the minimum distance of the LBC by dLBC min . (iii) Find a maximal linear uniform partitioning of the chosen LBC. In case non-trivial partitioning is not possible, choose a different LBC. Let the number of sub-codes be L = 2m . Note that L is a power of 2

Fig. 2.

An example of a TCBC decoder.

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

since the sub-codes are cosets of a linear sub-code. (iv) Compute l = m+k−n rL . Choose a rate ml CC with LBC constraint length K satisfying K−1 l dmin > du . (v) Send l out of the k input bits into the ml rate CC. Select one of the 2m sub-codes of the LBC based on the m output bits of the CC. Use the remaining k − l bits to choose one of the codewords from the selected sub-code. That k − l > 0 can be seen from the following argument. Since l = m + k − nrL , we have n rL −m = k−l. The fact that rL > m n implies that k − l > 0. Thus, the n-bit TCBC codeword is completely determined for every k input bits. The n bit codeword sequence is now transmitted over the channel after suitable constellation mapping and modulation. At the receiver, the process is reversed: the output of the channel is used to compute the metrics of a Viterbi decoder, which detects the l input bits of the CC. The remaining k − l bits are detected using a minimum distance decoder for the coset chosen by the output of the Viterbi decoder. The minimum distance decoder does not impose a significant computational burden on the receiver since it computes distances only to codewords within the sub-code. Moreover, the following Lemma asserts that the proposed decoder is a maximum likelihood sequence detector (MLSD). Lemma 5: The proposed TCB decoder is an MLSD decoder for both binary symmetric and AWGN channels. Proof: See Appendix E. B. Rate and Coding Gain Recall that the parent LBC used to generate the TCB code has a rate rL = k−l+m . The TCBC itself has a n rate rT = nk . Hence, the rate loss associated with TCBC is m−l n . By choosing m = l + 1, one can restrict the loss in TCB encoder to be n1 . In many practical codes, the improvement due to increased minimum distance compensates for this small loss ( n1 ) in the coding rate, and hence the proposed TCBC offers an overall coding gain improvement compared to the parent LBC. Here, the coding gain of a code is defined as the product of its minimum distance and rate. The goal of the TCBC construction prescribed above is to ensure that the gain in the minimum distance due to the uniform distance partitioning offsets the small rate loss incurred in the encoding process. This is analogous to the gain obtained in conventional TCM via first doubling the constellation size followed by set partitioning to increase the minimum distance. Discussion: Suppose the LBC C with minimum distance dmin can be partitioned into the union of uniform cosets with du given by (2). Then, for the rate nk TCBC designed using the procedure mentioned above with C as the parent LBC, if dmin < du ≤ K−1 l dmin , we have GT > GL , i.e., the coding gain of TCBC, denoted GT , is higher than that C, denoted GL . To illustrate this, consider a modified notation where we use (n, k, d) LBC to design (n, k − (m − l)) TCB code. Table II shows bounds on the ratio of coding gains GT /GL for three © 2012 ACADEMY PUBLISHER

77

TABLE II R ATIO OF C ODING G AINS (n, k, dmin )

du

du dmin

(7, 4, 3) (15, 11, 3) (23, 12, 7)

4 8 12

4/3 8/3 12/7

GT /GL for (m − l)= ⌊(k − 1)/2⌋ 1 12/12 1 48/33 80/33 84/84 132/84

choices of the parent (n, k, dmin ) code. It can be seen that for (m − l) ≤ ⌊ k−1 2 ⌋, the GT /GL is greater than or equal to 1, i.e., there is a coding gain improvement for the TCBC especially when du /dmin is close to 2. Here, we have used the fact that in the designed (n, k −(m−l)) TCB code, the number of bits (m − l) is at most (k − 2). It also can be noticed that du /dmin is closer to 2 which compensates for small rate associated with various values of (m − l) ≥ 1. C. Latency and Complexity The TCBC encoder builds its codewords by concatenating short length codewords. Moreover, the short length codes are connected via a trellis to enable MLSD at the receiver. Thus, the length of a TCB code-word is an integer multiple of the length of the parent code used in the encoder, and can be chosen by the system designer depending on the latency constraints. Also, from the TCBC decoder structure, it can be observed that one need not wait till the entire TCB code-word is received, in order to decode the message bits. In fact, the maximum delay incurred in the receiver is the trace-back length used by the Viterbi decoder, which is typically set at about 10 times the constraint length of the CC. Thus, independent of the length of the TCBC, the decoder can start decoding the message bits after receiving a few parent code-words, which will be much smaller than the actual length of the code. From the proposed encoder and decoder structures for TCBC, it can be seen that the complexity of encoding and decoding is significantly smaller than traditional LBC encoders and decoders with the same rate and overall length. If one has to encode and decode large length block codes without any hierarchical structure, it would involve large generator matrices and look-up tables. The optimal ML decoder for such a code would clearly have formidable computational requirements. Even for codes with structure, the complexity of encoding and decoding in extended Galois-field arithmetic and root-finding algorithms is non-trivial. Hence, constructing large length block codes with structure and good distance property is not an easy task. In this context, TCBCs offer the advantage that they can be used to systematically build good, large length block codes using existing LBCs, and their minimum distance can be easily characterized. The TCBC encoder has an additional CC code (compared to an LBC) whose complexity is negligible when compared to the complexity of an LBC encoder of the same overall length. Moreover, the LBC encoder needs to

78

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

TABLE III C OMPARISON OF TCB AND TCM C ODES Property Coding and Modulation Rate dmin Parallel transition bits Channel supported

TCM Code

Decoding

MLSD

TCB Code

Combined l & constellation m CONST ) f (dCC f ree , dmin

Separate l & partitioning m f (dCC f ree , K, du , l)

uncoded Continuous

coded Continuous or discrete MLSD and min. distance decoder

can be shown that PbBSC

≈ +

PbAW GN



+ work only at the sub-set level, which is a significant computational advantage. The TCBC decoder also implements a Viterbi decoder whose trellis complexity is 2K+l , where K is the constraint length of the CC and l is the number of input bits given to the rate ml CC encoder. Although the bit metric computation for each of the transitions in the trellis of the CC requires 2k−l distance computations, total distance computation is only 2k per trellis stage. After the Viterbi decoding, a minimum distance decoder is used for decoding the remaining k − l bits at the subset level, which requires only 2k−l distance computations. Note that the minimum distance decoder can reuse the information available in the branch metrics assigned to the trellis, thus further saving on the computational cost. Thus, the TCBC decoder performs MLSD decoding of large length block codes at very low complexity, without constructing the trellis structure of the concatenated parent LBC. D. Further Properties and Performance Bounds We now make the following observations regarding the proposed TCB code. (i) TCBC as a generalized TCM code: The TCBC can be considered as a generalized version of the classical TCM code, since it can separate the coding and modulation, as opposed to TCM. Some key similarities and differences between the TCB and TCM codes are listed in Table III. In Table III, ST dCON represents the minimum distance of the min constellation used in TCM. Another difference between TCBC and TCM is that the parallel transition bits in TCBC are coded using codewords within the sub-block code. (ii) From Theorem 1, the maximum uniform partitioning results in partitions with large cardinality for the given du , leading to small m in the rate ml CC used to build the code. Codes with small m and high rate are readily available from off-the-shelf designs [18], which simplifies the TCB code construction. (iii) The uniform distance helps in bounding the bit error rate (BER) of the code, since all error events for parallel transitions have the same effect on the overall BER. For example, using the union bound and the theory of multi-level coding (MLC) [19], it © 2012 ACADEMY PUBLISHER

k1 BdCC f ree k n

CC

2df ree [p(1 − p)]

dCC f ree 2

k2 d˜ d˜ ˜ p (1 − p)(n−d) , k k1 BdCC f ree k

s

Q

(5)

2dCC f ree R1 Eb σn2 

s ˜ 2 Eb k2 Bd˜  2dR , Q k σn2

  (6)

where k = k1 + k2 = nR, Q(x) is the standard Gaussian tail function, BdCC is the number of f ree neighbors of the trellis code at distance dCC f ree , and d˜ = mini dmin (Ci ). IV. A PPLICATIONS

OF

TCB C ODES

In this section, four different applications of TCBC are presented to demonstrate the usefulness of the proposed codes. A. FEC Codes Based on TCBC The construction of codes for applications such as deep-space missions, storage in magnetic/optical medium, etc require very large minimum distance codes, so that they can operate at very low SNRs and/or the target Pb is very small, of the order 10−10 . TCB codes provide a systematic way for constructing codes with such large minimum distance by choosing the right sub-set partitioning from the underlying parent code and a trellis code whose minimum distance is the same or larger than that of the uniform sub-set obtained from the partitioning. 9 = 0.39 rate As an example construction, a 23 TCB (23q, 9q, 12) code is built using the binary Golay (23, 12, 7) code as parent code along with a rate 6 CC 9 trellis code with df ree = 3 and constraint length K = 7 (See Figure 3). Here, q is an integer > 1 which denotes the number of code-word sequences used to build the long-length code. The asymptotic coding gain from this new Forward Error Correction (FEC) code is 10 log10 ( 12×9 23 ) = 6.7 dB which is 1.5 dB higher than the coding gain CL of the parent code. Figure 7 illustrates the performance of this code with BPSK modulation over an AWGN channel with a block length of 1000 uncoded bits. The coding gain of about 6 dB relative to uncoded BPSK is clear from the graph. Similarly, one can construct a TCB (31q, 10q, 16)2 code of rate 0.32, using the BCH (31, 11, 11) code as parent code and a rate 87 CC, offering an asymptotic coding gain of 10 log10 ( 16×10 31 ) = 7.12 dB. Thus, one can construct FECs with a desired minimum distance and rate by uniform sub-set partitioning of the LBC and using a CC with the required constraint length and rate to build the TCBC.

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

Fig. 3. Encoder structure for TCBC-based FEC Using binary Golay code(23,12,7).

B. Low Rate Quasi-Orthogonal TCB Codes Low rate orthogonal (LRO) codes are used in the uplink of a CDMA system, where they provide tolerance against co-channel interferers. LRO codes have a rate of 2−K , where K is the constraint length of the code. They can be considered as Hadamard codes indexed by the contents of a shift register. Recognizing that Hadamard codes are maximal uniform codes, LRO codes can be viewed as TCBC with trivial uniform sub-set partitioning (i.e, with 1 element in each sub-code). That is, the contents of a K-bit shift register selects a sub-set index, and the corresponding row of Hadamard matrix is transmitted. However, one can build a low rate quasi-orthogonal code using the principles of TCBC. We describe such a code construction for illustration, which has a coding gain advantage as well as a rate advantage, when compared to an LRO code of the same length. Consider a (16, 3.5)2 code constructed with quasi-Hadamard code-words by concatenating Hadamard-8 (LRO-8 denoted as H8 ) and Hadamard-4 (LRO-4 denoted as H4 ) code words as shown below.   H8 HT4  HT4   H16,12 =   HT4  T H4 H8

The columns of this matrix can be treated as 12 codewords of length 16 and can be partitioned into 4 orthogonal sub-sets with 3 elements in each. This code and the uniform sub-set partitioning can be used to build a (16q, 2.5q) TCBC, which provides a coding gain over the LRO-16 code. For the above calculation of coding gain of TCBC, a rate 12 CC with dCC f ree = 3 is assumed and 1 trit is assumed to be equivalent to 1.5 bits. In the encoder, the output of the CC selects the sub-set index and the 1 trit input selects one of the 3 codewords in the selected sub-set. The coding gain of a LRO-16 code is 10 log10 (8 × 4/16) = 3 dB. However, with the proposed quasi-orthogonal code, one can get 10 log10 (16 × 2.5/16) = 3.97 dB, i.e, an additional coding gain of 0.97 dB as well as a higher coding rate 1 ( 2.5 16 instead of 16 ) compared to the LRO-16 code. C. TCBC Based Lattice Codes Lattice codes are capacity achieving coset codes for the AWGN channel [20], obtained by set partitioning of a lattice into cosets and using a trellis code to select the cosets. © 2012 ACADEMY PUBLISHER

79

Using the Lemma 3 in [9], one can associate a lattice with every linear block code. Here, we illustrate such an 8dimensional lattice code construction with a TCB (8q, 3q) code that uses an extended Hamming (8, 4) code as parent LBC and the QPSK constellation. The TCBC (8q, 3q) is constructed using a rate 32 CC whose output selects one of the code-word pairs7 , and one uncoded bit selects one of the code-words in the pair. To construct the lattice code, we need to partition both the lattice as well as the codewords of the extended Hamming code. First, we partition the extended Hamming code into pairs at the maximum distance (d˜ = 8) from each other as described above. Second, the lattice is partitioned into 32 sub-lattices with 8 elements each. Since the QPSK constellation is employed (4 consecutive QPSK symbols make 1 lattice point in the R8 lattice), the total number of lattice points available is 44 = 256. As an illustration, the coset-0 (lattice Λ) in an 8-dimensional real vector space (R8 ) is given by {(s0 ,s0 ,s0 ,s0 ), (s0 ,s0 ,s3 ,s3 ), (s0 ,s3 ,s1 ,s1 ), (s0 ,s3 ,s2 ,s2 ), (s1 ,s1 ,s1 ,s2 ), (s1 ,s1 ,s2 ,s1 ), (s1 ,s2 ,s0 ,s3 ), (s1 ,s2 ,s3 ,s0 ) }, where the modulation symbol mapping is given by s0 = (−1, 1), s1 = (1, 1), s2 = (−1, −1) and s3 = (1, −1), corresponding to the QPSK constellation points. It can be verified that the minimum distance of the lattice (coset0) is 8. Although there are 32 sub-lattices, only 16 of them are employed here for ease of implementation. In the next section, a performance comparison between the conventional (CC-based) lattice code and the proposed TCBC-based lattice code is shown. The two codes use the same set of sub-lattices and have identical data rates, but it will be seen that the TCBC-based lattice code offers a better BER performance. The conventional lattice code is CC-based, and consists of a rate 43 CC followed by TCM which generates a code with overall rate 68 (see Figure 4a). Thus, the 8 bits after the CC are mapped to 4 QPSK symbols represented by a point in 8-dimensional lattice. In the above, an alternate construction via a TCBC (8, 3) code was described, which gives out the coset leads and 3 additional bits select the constellation symbols as in the conventional case (see Figure 4b) (i.e., 8 input bits select the code-word to be transmitted). The reason for the better performance exhibited by the TCBC is that it is driven by a rate 23 3 CC which offers a higher dCC f ree than the rate 4 CC in the conventional lattice code. The performance comparison of these two approaches is shown in the next section. D. Space-Time TCB Codes It turns out that some of the existing extended spacetime block codes (e.g., [15], [21]) can in fact be viewed as TCB codes built based on the uniform sub-set partitioning. One such example is the super-orthogonal space-time trellis codes (SO-STTC) [15]. In SO-STTC, a super set of STBCs for multi-input multi-output (MIMO) systems is found in order to improve the coding gain while achieving 7 The uniform cosets for the extended Hamming code are given by {0, 15}, {1, 14}, {2, 13}, {3, 12}, {4, 11}, {5, 10}, {6, 9} and {7, 8}.

80

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

TABLE IV PARAMETERS FOR THE SER P ERFORMANCE S TUDY.

CBC dTf ree 4 6 7

Fig. 4. Encoder structure for (a) CC-based and (b) TCBC-based lattice encoders.

dH (Ci ) 4 7 7

CC Rate 1/2 2/3 2/3

CC P oly. [3; 7] [7 4 1; 1 2 3] [13 6 13; 6 13 17]

K 3 3 4

Another work that can be viewed as a TCBC construction for MIMO is one where the extended-STBC code is used to send auxiliary information bits, which are transmitted along with the data bits without extending the bandwidth or the constellation size. Figure 5 shows the block diagram for such an encoder. It is shown via simulations that the diversity available for data bits can be made available for the auxiliary bits as well, by carefully choosing the unitary rotation matrices. Moreover, this method has additional advantage that it creates an STTC [23] by connecting the orthogonal STBCs [24] with a trellis generated by a CC. In the next section, this method is shown to outperform the existing methods in terms of the coding gain achievable. V. S IMULATION R ESULTS

Fig. 5. code.

Encoder for MIMO-TCBC using extended O-STBC as parent

the full diversity. That is, an STBC is extended into a super-orthogonal STBC super-set, and the super-set is set-partitioned. The partitions are selected via a trellis code and specific code word in a sub-set is selected by additional data bits. Thus, an SO-STBC can be viewed as a TCB code in the MIMO scenario. The super-set is created by parametrization of the code-word; for example, by adding an additional rotation in the Alamouti code [22], the code is parametrized as   x1 ejθ x2 C(x1 , x2 , θ) = , −x∗2 ejθ x∗1 where setting θ = 0 leads to the regular Alamouti code. Using this parametrization, all possible 2 × 2 orthogonal code matrices can be created without increasing the number of constellation alphabets. This forms the parent code for TCBC, and is partitioned such that the diversity order and coding gain are maximized in the sub-sets. The code partitioning proposed in [15] in fact leads to a uniform sub-set with respect to the distance metric d(c1 , c2 ) = kc1 −c2 k2F . On similar lines, Siwamogsatham et al. parametrized the STBCs using unitary rotation matrices and extended the STBC into a super-code [21]. This extended code is partitioned and used as an M-TCM code. This partitioning for maximum diversity and coding gain creates uniform sub-sets, and hence this code can also be viewed as a TCBC-based on the extended STBC. © 2012 ACADEMY PUBLISHER

In this section, Monte-Carlo simulation results are presented to illustrate the performance gains due to the proposed TCB codes. A. Binary Symmetric Channel To demonstrate the coding gain in a BSC, MonteCarlo simulations are performed with TCBC-based on the Hamming (7, 4) code as the underlying LBC. The encoder and decoder structures shown in Figures 1 and 2 are used to obtain a TCB (7, 3) code for various values CBC of dTf ree . The various LBC partitioning and CC codes used for the simulations are listed in Table IV. Note  that the rate of the all the three codes is the same 37 , but higher coding gain is obtained by the codes that have higher trellis complexity. The SER curves are plotted in Fig. 6. The SER in these plots are computed using 108 data bits with 103 bits in each symbol. CBC = The SER performance of the TCB (7, 3) with dTf ree 4 is similar to that of the Hamming (7, 4) code since a CBC dTf ree of 3 or 4 will have roughly the same SER. It can be observed that the slope of the SER curve matches that of the theoretical curve (of a hypothetical code of the same length and chosen minimum distance) more closely at low channel cross over probability (equivalently high SNR). A higher dH (Ci ) improves the performance, as expected. For higher channel cross-over probability (equivalently low SNR), the SER is worse than the theoretical number due to error propagation in the multi-stage decoding (MSD). Finally, the several orders of magnitude improvement in SER relative to the parent LBC obtained using the proposed TCBC is clear from the graph.

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

0

Frame/Bit Error Rate (FER/BER)

10 Symbol Error Rate (SER)

HammTCB(7,3)−Dmin=3 Ideal−Dmin=3 HammTCB(7,3)−Dmin=7 −2

10

Ideal−Dmin=7 Ideal−Dmin=5

−4

10

−6

10

−3

−2

−1

10 10 10 Channel Cross over Probability

SER of TCBC (7, 3) using the Hamming (7, 4) code in BSC.

Fig. 6.

Bit Error Rate (BER)

Golay TCB(23,9) K=7

Golay TCB(23,11) K=4 CC(2,1) K=4

−4

10

Uncoded BPSK (Theory)

−5

10

−6

10

2

4

6

8

10

Eb/No in dB

Fig. 7. Comparison of CC and TCBC for R = 0.5, K = 4 with example TCBC-FEC construction.

B. AWGN Channel The performance gain from TCBC in the AWGN channel is now demonstrated through Monte-Carlo simulations. The TCB and CC code-words are mapped suitably to BPSK or QPSK symbols, and sent over the AWGN channel. The performance the proposed codes are compared with a CC code of the same rate and trellis complexity. For benchmarking, the BER performance is also compared with Turbo codes of the same length and rate for two different number of iterations in the Turbo decoder. 1) Comparison with CC Codes: Here, the TCBC is compared to a CC with the same rate and trellis complexity. The outputs of the CC and TCBC are encoded as BPSK symbols and transmitted on an AWGN channel. Figure 7 compares the BER of a rate 0.47 TCBC against a rate 12 CC with K = 4. The rate 21 CC is generated using the polynomials [17 13]. The Golay-TCB (23q, 11q, 12) code is generated using the rate 98 CC with K = 4 given in [18]. It can be seen that the proposed code outperforms the CC by 0.5 dB at a BER of 10−5 for a block length of 1000 bits. Moreover, this code and CC achieve a coding gain of about 4.25 dB and 3.5 dB respectively, relative to uncoded transmission for a 1000 bit block length. © 2012 ACADEMY PUBLISHER

81

0

10

−2

10

−4

10

−6

10

turbo(1000,200),iter=10 turbo(1000,200),iter=10 Golay−TCBC(920,200),K=6 Golay−TCBC(920,200),K=6

FER BER FER BER

−8

10

1

2

3

4 5 Eb/No in dB

6

7

Fig. 8. Comparison of the Turbo code (1000, 200) and Golay-TCBC (920, 200)

2) Comparison with Turbo codes: For comparison purposes, a rate 15 parallel concatenated turbo code with a block length of 175 bits is constructed using a rate 31 CC generated by the polynomials [7 5 3] in the systematic form. This rate 15 code is decoded using an iterative softoutput-Viterbi-algorithm (SOVA) decoder [25]. Note that, this turbo code can be considered as a (175, 35) block code. For comparison, TCBC (161, 35) is constructed using q = 7 consecutive symbols of a TCBC (23q, 5q, 12) (whose rate is slightly higher than that of the turbo code) which is built based on the binary Golay (23, 12, 7) code. The Golay-TCBC is constructed using the rate 92 CC8 . The turbo decoder is run with 10 and 100 iterations. The BER and SER of the two decoders are plotted in Figure 10. It can be observed that there is little difference in performance of the turbo code and the TCB code for 10 iterations in the turbo decoder at an SER of 10−3 . Also, the TCBC performs less than 0.5 dB worse than the turbo code for 100 iterations in the turbo decoder at the same SER. Note that, the decoder of TCBC is noniterative and hence can be parallelized to decode with low latency, which is not possible in the case of iterative decoders. Thus, TCB provides an alternate coding and decoding method with low latency which can perform nearly as well as turbo codes in AWGN, when the symbol size is of the order of a few hundred bits. Figure 8 shows the performance of the turbo code (1000, 200) for 10 iterations and Golay-TCBC (920, 200). It can be observed that performance gap is about 1 dB. 3) Comparison with CC-based lattice codes: Figure 9 compares the BER performance of a CC-based lattice code and a TCB based lattice code constructed as explained in the previous section. Both codes are rate 68 codes, and the BER of uncoded-QPSK is also plotted for comparison. The TCB-based code outperforms the CC-based lattice code, for the same trellis complexity and using the same lattice partition in R8 . The CCbased lattice code comprises a (4, 3) CC generated using 8 CC(9,2) is defined by the [6, 3, 7, 6, 3, 7, 6, 3, 7; 3, 10, 17, 3, 10, 17, 3, 10, 17].

polynomials

Bit Error Rate (BER)

82

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

CC−Lattice(8,6) TCB−Lattice(8,6) uncoded−QPSK

−2

10

−3

10

−4

10

compared at the same power level. In this simulation, a rate 2/5 convolutional code defined by the polynomials [1 0 2 0 4; 0 1 0 2 0] is used with K = 4. A cyclic group of unitary precoding matrices with 32 elements is used as Tn ’s. Figure 11 shows the comparison of BER as function of SNR. It can be observed that the BER of data and auxiliary bits shows more than 3 dB coding gain as well as a fourth order diversity when compared to regular Alamouti STBC.

−5

10

2

10 8 10 SNR in dB

Alamouti (2Tx,2Rx) Data Bits MIMO−TCBC (2Tx,2Rx) Data Bits MIMO−TCBC (2Tx,2Rx) Aux. Bits Diversity=4

12

Comparison of the CC-based and TCBC lattice codes (8, 6).

Fig. 9.

Frame/Bit Error Rate (FER/BER)

6

0

10

−1

10

Bit Error Rate (BER)

4

0

10

−2

10

−4

10

−2

10

−6

10 −3

10

BER FER

−4

10

−5

10

4

6

8 10 SNR in dB

12

14

Fig. 11. Comparison of MIMO-TCBC and Alamouti Code for Nt = Nr = 2, with 8-PSK symbols.

TCBC(161,35)−K=6 Turbo(175,35)−Iter=10 Turbo(175,35)−Iter=100

−6

10

1

Fig. 10. (161, 35)

2

3

4 5 Eb/No in dB

6

7

Comparison of Turbo code (175, 35) and Golay-TCBC

polynomials [0 2 1 3; 2 1 1 3; 3 2 2 2] with K = 6, dCC f ree = 4 and TCB-based lattice code comprises a (3, 2) CC generated using polynomials [ 3 6 7; 14 1 17] with 8 K = 6, dCC f ree = 6. The lattice code is generated in R using QPSK constellation points. The lattice code-words are transmitted over an AWGN channel and decoded using the CC-based lattice decoder and TCB-based lattice decoder, respectively. In both decoders, the coded bits are recovered using a standard Viterbi decoder and the uncoded bits are recovered using a minimum distance decoder. C. MIMO Rayleigh Fading Channel To demonstrate the performance gains in a fading channel, comparison is made with the regular STBC and a space-time TCBC based STTC using a 2 transmit and 2 receive antenna communication system. Figure 11 shows the BER performance under Rayleigh block-fading conditions. In this simulation, the Alamouti code [22] using 8-PSK constellation symbols, (i.e., the auxiliary bits are made part of the data by increasing the constellation size) is compared with the MIMO-TCBC using QPSK symbols and 2 bits sent as auxiliary bits per O-STBC symbol. Thus, both methods send data at the same rate, and are © 2012 ACADEMY PUBLISHER

VI. C ONCLUSIONS In this paper, a new algebraic structure of binary linear block codes (LBC) was presented and a new family of codes referred to as trellis coded block codes was introduced, which can be used in discrete as well as continuous channels. The procedure developed here can be used to obtain a coding gain starting from any LBC. It was shown that, at a small loss in the rate ( n1 ), the BER performance can be improved relative to the parent code. Such codes could come in handy when one needs to design codes with short length and low decoding latency. This is made possible via the uniform sub-set partitioning of block codes. A simple encoder/decoder structure which uses an off-the-shelf block encoder and a Viterbi decoder was proposed. It was shown that the proposed decoder is a maximum likelihood sequence detector. Analytical expressions for bounds on the BER performance of the TCB code were obtained based on the theory of multistage decoding. It was also shown that using the proposed decoder structure, the latency of decoding can be made significantly smaller than the length of the block code. Moreover, the non-iterative decoder for the TCBC enables parallel hardware implementation. Four different applications of the proposed TCBCs were provided to illustrate their utility in practical systems. Finally, Monte-Carlo simulation results demonstrated the performance gains in BSC, AWGN and MIMO fading channels. A limitation of the TCBC is that depending on the size of the parent LBC, one could require a high rate CC with large l and m, which may not be available in off-the-shelf designs.

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

Future work could explore the use of iterative techniques to improve the performance of the TCBC decoder and extension of the TCBC for non-binary block codes. A PPENDIX A. Proof of Lemma 2 Let C0 be a linear uniform code with distance du . Since C0 is non-trivial and linear, there exist c0 , c1 , c2 ∈ C0 such that c2 = c0 + c1 and ci 6= 0 for i = 0, 1, 2. Now, the Hamming weight of c2 is can be expanded as follows: WH (c2 ) = WH (c0 ) + WH (c1 ) − 2WH (c0 ∗ c1 )

(7)

Since the Hamming weight of c0 , c1 and c2 are all equal to du , the above equation simplifies to du = 2[du − WH (c0 ∗ c1 )],

(8)

and hence du is even. Moreover, WH (c0 ∗ c1 ) = du /2. To show the converse, let C0 be a uniform code with du = 2WH (c0 ∗ c1 ). Then, WH (c0 + c1 ) = 2[du − WH (c0 ∗ c1 )] = du ,

(9)

and hence c2 ∈ C0 . This proves that C0 is linear with respect to the code-words c0 , c1 , c2 . B. Proof of Lemma 3 Consider the sum c0 + c1 + c2 . Using Lemma 2, one can write WH (c0 + c1 + c2 ) = du + du − 2WH (c0 ∗ (c1 + c2 )) = 2du − 2WH (c0 ∗ c1 + c0 ∗ c2 ) = 2[du − du + 2WH (c0 ∗ c1 ∗ c2 )] = 4WH (c0 ∗ c1 ∗ c2 )

(10)

which shows that if WH (c1 ∗ c2 ∗ c3 ) = 0, then c0 = c1 + c2 . For the converse, let c2 = c0 + c1 . Substituting for c2 , we get WH (c0 ∗ c1 ∗ c2 ) = WH (c0 ∗ c1 + c0 ∗ c1 ) = WH (0), which establishes the result. C. Proof of Lemma 4 First, we show that a non-trivial uniform sub-code Cu ⊂ Fn2 exists with distance du given in (2) and then show that a linear subset CF 0 can be obtained from this sub-code. Let Mn=4k+i denote the cardinality of the uniform set with code-words of length n = 4k + i for various integer values of k ≥ 1, and i = 0, 1, 2, 3. Since Hadamard matrices exist for n = 1, 2 and 4k [26], there exist uniform codes with distance du = n/2 with atleast n code-words for these values of n. That is, M4k ≥ n and du = n/2. Moreover, the Hadamard code has the all zero vector as one of its columns. Hence, the Hadamard code can be shortened by 1 bit corresponding to the all zero column, without loss of the distance properties of © 2012 ACADEMY PUBLISHER

83

the code. This implies that M4k+3 ≥ n and du = n+1 2 . When du = n+1 2 , the Plotkin bound   du MPlotkin ≤ 2 , 2du − n is known to achieve the equality for uniform codes [27], and therefore M4k+3 = n + 1. To compute a bound on the cardinality for n = 4k + 1, consider appending any non-zero column of the Hadamard code for n = 4k to the same code. The appended code has n code-words with code length (n + 1). Since each column of the Hadamard code has n/2 non-zero values, n/2 codewords of the extended code with n = 4k + 1 have n du = n−1 2 . Thus, M4k+1 ≥ 2 . To compute the cardinality for n = 4k + 2, consider the 1 bit shortened code from n = 4k + 3. 2 in [28], it follows that l From Theorem. m  n+1 du M4k+3 M4k+2 ≥ = and du = n+2 n 2 2 . For n ≥ 4, this lower bound is ≥ 2. Thus, we have shown that a uniform sub-code of Cu exists with even-valued du given by (2) and that the cardinality of the sub-code is at least 2 for k ≥ 1. Now, consider any two non-zero code-words and their sum. This creates a non-trivial uniform code. Moreover, c0 , c1 , c0 + c1 and 0 can be used to form CF 0 , which is now a non-trivial linear uniform sub-code of Fn2 with uniform distance du given by (2). Therefore, CF 0 has a cardinality of atleast 4 including the all zero code-word 0. Hence, the dimension of the vector space spanned by CF 0 is at least 2. D. Proof of Theorem 1 We first prove (i). Note that C0 is linear and its cosets tile C, as C0 is an intersection of C and a linear set. Let Cmax represent a subset of C that is both linear and a 0 maximal uniform set, and has the same uniform distance as C0 . Then, there exists a unitary transform between the basis vectors of Cmax and C0 . Therefore, without loss 0 of generality, we can transform the code words in Cmax 0 such that it forms a superset of C0 and preserves the uniform distance property. That is, C0 ⊆ Cmax . Then, 0 if |C0 | < |Cmax |, there exists atleast one coset of C0 0 such that its union with C0 preserves the uniform distance property. This can be achieved by picking any code word c ∈ Cmax ,c ∈ / C0 . Now, c + C0 forms a coset of C0 0 and the coset belongs to Cmax since it is linear. Thus, 0 C0 ∪ (C0 + c) is still a linear uniform set. One can now repeat this procedure of combining the cosets of C0 to obtain Cmax . 0 The bounds on the cardinality of C0 in (ii) follow from the arguments presented in the proof of Lemma 4. The lower bound follows since C0 is a non-trivial uniform set. The upper bound follows from the Plotkin bound and using the fact that the number of elements is a power of 2. To show (iii), it can be seen from (7) in the proof of Lemma 2 that  ∗ j∗ X du k k+1 j , WH (c0 + c1 + . . . + cj ∗ ) = 2 (−1) k 2k k=1 (11)

84

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

where the first 2k arises because of the number of levels of the recursive expansion of the Hamming weight using (7), and the 2k in the denominator Pnarises because of the conditions in (3) and (4). Since k=1 (−1)k+1 nk = 1, the above summation equals du . This shows that the Hamming weight of the sum of c0 , c1 , . . . , cj ∗ is du . Using a similar procedure, we can show the uniform distance property of any linear combination of the code-words c0 , c1 , . . . , cj ∗ . The cardinality of the set comprising all ∗ linear combinations of these j ∗ + 1 vectors is 2j +1 . E. Proof of Lemma 5 Let XN ∈ C L be code sequence of length N = nL generated by a TCB encoder. Let YN be the received code sequence after possible corruption by noise. The signal model for YN is given by YN = XN ⊕ ZN , where ZN represents the noise sequence and the operator ⊕ represents the XOR operation in the BSC and real/complex addition in the AWGN channel. ˆ N such that The MLSD decoder chooses a sequence X ˆ XN = arg maxXN Pr(YN |XN ). For a given channel error probability, the MLSD decoder will pick XN which differs from YN in the least number of bit positions (or Euclidean distance for the AWGN channel). Since XN is a concatenation of code-words from the parent code, and the noise i.i.d., one can write QL samplesi are i Pr(YN |XN ) = Pr(y |x ), where yni and xin , n n i=1 1 ≤ i ≤ L are the individual code-words used to construct YN and XN , respectively. The TCB decoder employs minimum distance decoding to decide on the individual code-words xn once the sequence of sub-code indices are known from the Viterbi decoder. Hence, Pr(yni |xin ) are maximized by the TCB decoder for every n-tuple. Moreover, note that the Viterbi decoder finds the maximum likelihood sequence of subcode indices. Hence, we need to only show that the branch metric used for the Viterbi decoder is optimum. Recall that the branch metric used for each transition of the trellis is the smallest distance of the received n-tuple yn from each of the uniform sub-codes. Let xn ∈ C be the codeword that is at the least distance from yn . The minimum distance between xn and yn is the same as the minimum distance between the closest codeword to yn in Ci , the sub-code containing the code-word xn . Hence, the chosen branch metric is optimum in the sense of maximum posteriori probability, and the decoder is an MLSD decoder. ACKNOWLEDGEMENTS The authors would like to thank Andrew Thangaraj for providing several useful inputs into this work. The work of the first author was supported in part by Texas Instruments India Pvt. Ltd. R EFERENCES [1] J. K. Wolf, “A survey of coding theory: 1967-1972,” IEEE Trans. on Information Theory, vol. IT-19, no. 4, pp. 381–389, July 1973.

© 2012 ACADEMY PUBLISHER

[2] M. Sudan, “Coding theory: Tutorial and survey,” in Proceedings of 42nd IEEE Symposium, ser. Foundations of Computer Science, 2001, pp. 36–53. [3] A. R. Calderbank, “The art of signalling: Fifty years of coding theory,” IEEE Transactions on Information Theory, vol. 44, no. 6, pp. 2561–2595, Oct 1998. [4] D. J. Costello and D. G. Forney, “Channel coding: The road to channel capacity,” Proceedings of IEEE, no. 6, pp. 1150–1177, Jun 2007. [5] R. G. Gallagher, Low-density parity-check codes. MIT Press, Cambridge, 1963. [6] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near shannon limit error-correcting coding and decoding: Turbo-codes,” in in IEEE Int. Conf. on Communications (ICC), May 1993, pp. 1064–1070. [7] D. Slepian, “Group codes for the Gaussian channel,” Bell System Technical Journal, pp. 575–602, Apr 1968. [8] G. Ungerboeck, “Channel coding with multi-level/phase signals,” IEEE Transactions on Information Theory, vol. 28, no. 1, pp. 55– 77, Jan 1982. [9] D. G. Forney, “Coset codes-part I: Introduction and geometrical classification,” IEEE Transactions on Information Theory, vol. 34, no. 5, pp. 1123–1151, Sep 1988. [10] D. Slepian, “Some further theory of group codes,” Bell System Technical Journal, vol. 39, pp. 1219–1252, 1960. [11] P. Delsarte and V. I. Levenshtein, “Association schemes and coding theory,” IEEE Transactions on Information Theory, vol. 44, no. 6, pp. 2477–2504, Oct 1998. [12] F. R. Kschishang, P. G. D. Buda, and S. Pasupathy, “Block coset codes for M-ary phase shift keying,” IEEE Jl. Select. Areas Commun., vol. 7, no. 6, pp. 900–913, Aug 1989. [13] T. Ganesan and C. R. Murthy, “Trellis coded block codes and applications,” in Proceedings of National Communication Conference (NCC), (archives available in the URL http://www.ncc.org.in/), Guwahati, India, Jan 2009. [14] F. Pollara, R. J. McEliece, and K. A. Ghaffar, “Finite state codes,” IEEE Transactions on Information Theory, vol. 34, no. 5, pp. 1083–1089, Sep 1988. [15] H. Jafarkhani and N. Seshadri, “Super orthogonal space-time trellis codes,” IEEE Transactions on Information Theory, vol. 49, no. 4, pp. 937–950, Apr 2003. [16] J. Y. Hyun, “A bound on equitable partitions of the hamming space,” IEEE Transactions on Information Theory, no. 5, pp. 2109– 2111, May 2010. [17] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error Correcting Codes, 6th ed. Elsevier Science Publishing Company, 1988. [18] A. G. i. Amat, G. Montorsi, and S. Benedetto, “A new approach to the construction of high-rate convolutional codes,” IEEE Communication Letters, vol. 5, no. 11, pp. 453–455, Nov 2001. [19] S. Lin and D. J. Costello, Error Control Coding: Fundamentals and Application, 2nd ed. Pearson-Prentice Hall, 2004. [20] R. Urbanke and B. Rimoldi, “Lattice codes can achieve capacity on AWGN channels,” IEEE Transactions on Information Theory, vol. 44, no. 1, pp. 273–278, Jan 1998. [21] S. Siwamogsathan and M. Fitz, “High-rate concatenated spacetime block code M-TCM designs,” IEEE Transactions on Information Theory, vol. 51, no. 12, pp. 4173–4183, Dec 2005. [22] S. M. Alamouti, “A simple diversity technique for wireless communications,” IEEE Jl. Selected Areas of Communication, vol. 16, no. 8, pp. 1451–1458, Oct 1998. [23] V. Tarokh, N. Seshadri, and A. Calderbank, “Space-time codes for high data rate wireless communication: Performance criteria and code construction,” IEEE Transactions on Information Theory, vol. 44, no. 2, pp. 744–765, Mar 1998. [24] V. Tarokh, H. Jafarkhani, and A. Calderbank, “Space-time block codes from orthogonal designs,” IEEE Transactions on Information Theory, vol. 45, no. 5, pp. 1456–1467, Jul 1999. [25] J. Hagenauer and P. Hoeher, “A Viterbi algorithm with softdecision outputs and its applications,” in Proceedings of the Global Communication Conference, Dallas TX, Nov 1989, pp. 47.1.1– 47.1.17. [26] J. H. van Lint and R. M. Wilson, A Course in Combinatorics, 2nd ed. Cambridge University Press, 2001. [27] J. H. van Lint, Introduction to Coding Theory, 3rd ed. Springer, 1998.

JOURNAL OF COMMUNICATIONS, VOL. 7, NO. 1, JANUARY 2012

[28] A. E. Brouwer, J. B. Shearer, N. J. A. Sloane, and W. D. Smith, “A new table of constant-weight codes,” IEEE Transactions on Information Theory, vol. 36, no. 6, pp. 1334–1380, Nov 1990.

Ganesan Thiagarajan received the B. E. degree in Electronics and Communications Engineering from Thiagarajar College of Engineering, Madurai, India in 1991, and the M. Sc. Engg. degree in Electrical Communication Engineering from Indian Institute of Science, Bangalore, India, in 2004. He is currently working as a Technologist at the Texas Instruments, Bangalore, India, and also pursuing his Ph. D. in Electrical Communication Engineering at the Indian Institute of Science, Bangalore. His research interests are in coding theory, source coding, and their applications in signal processing and communications.

Chandra R. Murthy received the B.Tech. degree in Electrical Engineering from the Indian Institute of Technology, Madras in 1998, the M.S. and Ph.D. degrees in Electrical and Computer Engineering from Purdue University and the University of California, San Diego, in 2000 and 2006, respectively. From 2000 to 2002, he worked as an engineer for Qualcomm Inc., where he worked on WCDMA baseband transceiver design and 802.11b baseband receivers. From Aug. 2006 to Aug. 2007, he worked as a staff engineer at Beceem Communications Inc. on advanced receiver architectures for the 802.16e Mobile WiMAX standard. In Sept. 2007, he joined as an assistant professor at the Department of Electrical Communication Engineering at the Indian Institute of Science, where he is currently working. His research interests are primarily in the areas of digital signal processing, information theory, estimation theory, and their applications in the optimization of MIMO, OFDM and CDMA wireless communication systems. Currently, he is working on Cognitive Radio, Energy Harvesting Wireless Sensors and MIMO systems with finite-rate channel-state feedback.

© 2012 ACADEMY PUBLISHER

85