A Unified Ensemble of Concatenated Convolutional Codes
Saeedeh Moloudi, Michael Lentmaier, and Alexandre Graell i Amat

TL;DR
This paper presents a unified ensemble framework for turbo-like codes, encompassing main classes such as parallel, serial, hybrid, and braided convolutional codes, with derived density evolution equations over the binary erasure channel.
Contribution
It introduces a unified ensemble model for various turbo-like codes and demonstrates their equivalent representations through parameter selection, along with density evolution analysis.
Findings
Unified ensemble captures all main turbo-like code classes.
Density evolution thresholds show similar asymptotic behavior to original codes.
Equivalent ensembles can be derived for each class through parameter tuning.
Abstract
We introduce a unified ensemble for turbo-like codes (TCs) that contains the four main classes of TCs: parallel concatenated codes, serially concatenated codes, hybrid concatenated codes, and braided convolutional codes. We show that for each of the original classes of TCs, it is possible to find an equivalent ensemble by proper selection of the design parameters in the unified ensemble. We also derive the density evolution (DE) equations for this ensemble over the binary erasure channel. The thresholds obtained from the DE indicate that the TC ensembles from the unified ensemble have similar asymptotic behavior to the original TC ensembles.
| Ensemble | |||||||
|---|---|---|---|---|---|---|---|
| PCC | 1/3 | 1 | - | 2 | 2 | 0 | 0 |
| SCC | 1/4 | 1 | 1 | 3 | 2 | 1 | 1/2 |
| BCC | 1/3 | 0 | 1 | 4 | 2 | 2 | 1 |
| HCC | 1/5 | 1 | 1 | 4 | 2 | 2 | 1 |
| Ensemble | |||||
|---|---|---|---|---|---|
| PCC | 1/3 | 0.6428 | 0.6428 | 0.6553 | 0.6552 |
| SCC | 1/4 | 0.6895 | 0.6863 | 0.7481 | 0.7482 |
| BCC | 1/3 | 0.5541 | 0.5603 | 0.6653 | 0.6646 |
| HCC | 1/5 | 0.7261 | 0.6997 | 0.7995 | 0.7994 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Wireless Communication Techniques · Error Correcting Code Techniques · Coding theory and cryptography
A Unified Ensemble of Concatenated
Convolutional Codes
Saeedeh Moloudi*†, Michael Lentmaier†, and Alexandre Graell i Amat‡* This work was supported in part by the Swedish Research Council (VR) under grant #621-2013-5477. Department of Electrical and Information Technology, Lund University, Lund, Sweden
Department of Signals and Systems, Chalmers University of Technology, Gothenburg, Sweden
{saeedeh.moloudi,michael.lentmaier}@eit.lth.se, [email protected]
Abstract
We introduce a unified ensemble for turbo-like codes (TCs) that contains the four main classes of TCs: parallel concatenated codes, serially concatenated codes, hybrid concatenated codes, and braided convolutional codes. We show that for each of the original classes of TCs, it is possible to find an equivalent ensemble by proper selection of the design parameters in the unified ensemble. We also derive the density evolution (DE) equations for this ensemble over the binary erasure channel. The thresholds obtained from the DE indicate that the TC ensembles from the unified ensemble have similar asymptotic behavior to the original TC ensembles.
I Introduction
Over the last few years, research on low-density parity-check (LDPC) convolutional codes [1], also known as spatially coupled LDPC (SC-LDPC) codes [2], has become very popular. It is proved that for these codes, the belief propagation (BP) decoder can achieve the threshold of the maximum-a-posteriori (MAP) decoder [2, 3]. This remarkable phenomenon is known as threshold saturation. Spatial coupling is a general concept that is not limited to LDPC codes. Recently, spatially coupled turbo-like codes (SC-TCs) were introduced in [4, 5, 6]. In these works, the spatial coupling of the four main classes of TCs was considered. These included parallel concatenated codes (PCCs) [7], serially concatenated codes (SCCs) [8], braided convolutional codes (BCCs)[9], and hybrid concatenated codes (HCCs) [10, 11]. The density evolution (DE) analysis performed in [4, 5, 6] suggests that SC-TCs have an excellent asymptotic behavior and for them, threshold saturation occurs. This gives a new perspective in designing a concatenated coding scheme: optimizing the uncoupled ensembles for achieving the best BP threshold may not necessarily lead to the best overall performance.
TCs are adopted in many communication standards. Each class of TCs exhibits a unique asymptotic behavior. While some classes—such as PCCs—yield good BP thresholds some others—such as SCCs and BCCs—have excellent MAP thresholds. As shown in [4, 5, 6], spatial coupling improves the thresholds of the TC classes.
So far, the different classes of TCs have been considered separately. A unified ensemble which contains all main TC ensembles can unify the frameworks for analysis, and clarify the connections between the TC classes. In fact, this ensemble can lead to a better understanding of the similarities and differences between various TC classes and the possible trade-offs in the code design. In [12], the authors introduced an ensemble which unifies PCCs and SCCs. This ensemble is based on concatenations of several component encoders and does not cover the BCC and HCC ensembles.
In this paper, we introduce an ensemble of concatenated convolutional codes that encompasses all the above-mentioned four major classes of TCs. For simplicity, we only use a single rate-1 component code. In other words, the different trellises are combined to a single self-concatenated trellis. Probably, the most famous class of self-concatenated convolutional codes are repeat accumulate (RA) codes, first introduced in [13]. This class of codes is covered by the proposed ensemble if the component code in the equivalent PCC ensemble is set as an accumulator. In order to find a self-concatenated equivalent for the other classes of TCs, some feedback path has to be introduced in the encoder structure. The differences between the various original TC ensembles are then reflected in the permutation structure and the amount of feedback in the unified ensemble.
We also derive the exact density evolution equations for the binary erasure channel (BEC). Using these equations, we compute the BP thresholds of the corresponding classes of TCs and we show that the obtained thresholds are very close to the thresholds of the original ensembles.
II Steps toward the Self-Concatenated Ensemble
In this section, for each class of TCs, we separately describe how to reduce the number of component codes in order to obtain the equivalent self-concatenated ensemble.
II-A Parallel Concatenated Codes
Fig. 1(a) and (b) show the encoder block diagram and compact graph representation [6] of a PCC, respectively. The considered PCC ensemble is built of two identical rate-1 component encoders, called upper and lower encoders, and shown by and , respectively. The information sequence is connected to to produce the parity sequence . Likewise, a reordered copy of is connected to to produce the parity sequence . The output of the PCC encoder is the tuple . In the compact graph representation (see Fig. 1(b)), the trellises corresponding to and , are depicted by squares (factor nodes) and denoted by and , respectively. These factor nodes are labeled with the length of the corresponding trellises. Each of the sequences , , and is represented by a black circle, called variable node. The permutation in the block diagram is replaced in Fig. 1(b) by a line that crosses the edge between and .
Fig. 1(c) and (d) show respectively the encoder block diagram and compact graph representation of the self-concatenated coding ensemble corresponding to a PCC. In this ensemble, the two component encoders of the PCC ensemble are replaced by a repetition encoder (with repeating factor ) followed by a rate-1 convolutional encoder . The information sequence is connected to to produce the sequence . The resulting sequence is reordered by the permutation and used as input to . The parity sequence has length and corresponds to both and in the original ensemble. Note that, by replacing by an accumulator in Fig. 1(c), a RA code can be obtained. However, the ensemble in Fig. 1(c) is more general as can be any convolutional encoder.
In the compact graph representation (see Fig. 1(d)), the repetition of the information sequence is shown by increasing the degree of the corresponding variable node. As it is shown in the figure, the sequence and its repetition are multiplexed to produce the sequence . The multiplexer is represented by a rectangle. The resulting sequence is connected to trellis to produce the parity sequence . Note that the length of the trellis in the self-concatenated ensemble is twice of the length of and in the original ensemble.
In this paper we consider block-wise multiplexers. By selecting
[TABLE]
where is the identity matrix, the self-concatenated ensemble is equivalent to the original ensemble.
II-B Serially Concatenated Codes
The encoder block diagram and the compact graph representation of the SCC ensemble are shown in Fig. 2(a) and (b), respectively. This ensemble is built of two identical rate-1 component encoders called outer and inner encoders and shown by and , respectively. The length- information sequence, , is connected to to produce the parity sequence . Then, the sequences and are multiplexed and reordered. The resulting sequence is used as input for to produce the parity sequence .
The encoder block diagram and compact graph representation of the equivalent self-concatenated ensemble are shown in Fig. 2(c) and (d), respectively. In this ensemble, the trellises of the outer and inner encoders are combined to make a trellis with length . Similarly to the self-concatenated ensemble for PCCs, is connected to with repetition factor to produce the sequence . In the original ensemble is used as part of the input to . To satisfy this condition with only one component encoder, the overall parity sequence of the self-concatenated ensemble, , is divided into two sequences and , of length and , respectively. Then, is used as a part of the input sequence through a feedback path. The feedback path connects to a multiplexer. Then, this sequence is multiplexed with sequence . The resulting sequence is reordered by and used as input to . Note that sequences and correspond to and in the original ensemble, respectively.
We remark that, in general, the encoder of the self-concatenated ensemble is not causal. However, this problem can be solved by proper selection of or by spatial coupling. By selecting as in (1) the corresponding trellis is split into two parts. The information sequence is connected to the first part to produce . Then, a reordered copy of the sequence is connected to the second part of the trellis to produce . By spatial coupling, the feedback path can be fed forward to the corresponding multiplexer in the next time slots.
II-C Hybrid Concatenated Codes
Fig. 3(a) shows the encoder block diagram of an HCC ensemble built from three identical rate-1 component encoders. The corresponding compact graph representation is also shown in Fig. 3(b). The considered HCC ensemble is a serial concatenation of a parallel ensemble with an inner encoder. The information sequence and a reordered copy of it are fed to two encoders, referred to as upper and lower encoders, and denoted by and , to produce parity sequences and , respectively. Then, and are multiplexed and reordered. The resulting sequence is used as an input to the inner encoder .
The corresponding self-concatenated ensemble can be obtained in two steps. First, as it is shown in Fig. 3(c)(d), the upper and lower trellises can be unified into a single trellis with length by the method described for PCCs. Then, the resulting trellis can be connected to the inner trellis using the method described for SCCs.
The self-concatenated ensemble for HCCs is shown in Fig. 3(e)(f). In this ensemble, the overall trellis has length . The parity sequence is divided into two equal-size sequences and of length . Then, is multiplexed with sequence generated by a repetition encoder . The resulting sequence is reordered and used as an input to a rate- convolutional encoder . Note that and correspond to and of the original ensemble. By selecting
[TABLE]
the self-concatenated ensemble is equivalent to the original ensemble.
II-D Braided Convolutional Codes
Fig. 4(a) shows the encoder block diagram of a BCC ensemble. This ensemble is similar to the PCC ensemble but the BCC ensemble is built of two rate- convolutional encoders and the parity sequence of each encoder is fed back to the input of the other encoder. Similarly to PCCs, the component encoders are denoted by and and called upper and lower encoders, respectively. The compact graph representation of the ensemble is shown in Fig. 4(b). The information sequence and a reordered copy of are used as the first and second input of , respectively to produce the parity sequence . Likewise, a reordered copy of and a reordered copy of are used as the first and second input of respectively, to produce .
In order to obtain the self-concatenated ensemble for BCCs, we can use the method described for PCCs. Fig. 4(c) and (d) show the encoder block diagram and compact graph representation of the corresponding self-concatenated ensemble. The two component encoders, with trellis sections, in the original ensembles are combined to a component encoder with length- trellis. The sequence is connected to a repetition encoder to produce the sequence . The resulting sequence is reordered by permutation and used as the first input of a rate-2 convolutional encoder . The second input of the encoder is a copy of the parity sequence that is reordered by the permutation . By selecting the permutations as
[TABLE]
[TABLE]
the encoders in Fig. 4(a) and (c) are equivalent.
The encoder ensembles in Fig. 4(a) and (c) are not causal. For the original ensemble of BCCs introduced in [9], this problem was solved by spatial coupling. In the block-wise BCC ensemble, the parity sequences and , (or in the self-concatenated ensemble), are connected to the inputs of the corresponding encoders after passing delay blocks. This makes the encoder causal.
It is also possible to find a self-concatenated ensemble for BCCs that is very close to those for the other TC classes. We can replace the rate- component encoder in the self-concatenated ensemble by a rate- encoder for that half of its output sequence is punctured. The encoder block diagram for this ensemble is shown in Fig. 4(e) and its corresponding compact graph representation is depicted in Fig. 4(f). As it is shown in these figures, the parity sequence is divided into two parts and . Sequence is fully punctured and is multiplexed with the sequence at the output of the repetition encoder . The resulting sequence is reordered and fed to the convolutional encoder with corresponding trellis of length .
III The Unified Ensemble
Comparing the obtained self-concatenated ensembles introduced in the previous section for the considered classes of TCs, we note similarities between them (see Fig. 1-Fig. 4). Based on these similarities, we develop a unified ensemble. The block diagram of the encoder and the compact graph representation of this ensemble is shown in Fig. 5. In this ensemble, the component convolutional encoder is a rate- convolutional encoder. The information sequence , of length , is connected to a repetition encoder with repetition factor to produce the sequence . This sequence is multiplexed with which is a part of the overall parity sequence . Then, the resulting sequence is reordered by the permutation , of size , and fed to the convolutional encoder . Parameter is a design parameter which can be tuned to yield a specific TC class (PCC, SCC, BCC, or HCC). The values of for the different classes of TCs are presented in Table I.
The sequence is divided into two sequences and of length and , respectively. In order to guarantee random division of , first, this sequence is reordered by a permutation. Then, it is divided into the two sequences and . The values of and for each class of TCs, are provided in Table I. Note that .
Parameters and in Table I are the permeability rates for sequences and , respectively, giving the fraction of surviving bits of and after puncturing. For example, to obtain the equivalent ensemble for BCCs, , as is fully punctured. We remark that by selecting and properly, the obtained ensemble covers a family of rate compatible TCs.
An inspection of Fig. 5(b) reveals that the compact graph representation of the unified ensemble is very close to the protograph of an irregular LDPC code. The factor node is a trellis with length , where its degree is fixed to two. The variable nodes are classified into three groups as follows: is an information variable node with degree , is a parity variable node with degree , and is a parity variable node with degree . The length of theses variable nodes are not equal. Considering length for , and have length and , respectively. According to Table I, different ensembles of TCs can be obtained by changing the ratio which is the proportion of degree- and degree- parity variable nodes. This is very close to defining the variable node degree distribution for LDPC codes.
III-A Density Evolution
Considering transmission over a BEC with channel parameter , we can analyze the asymptotic behavior of the unified ensemble by tracking the evolution of the erasure probability with the number of iterations of the decoding procedure. This evolution can be shown as a set of equations called DE equations, and for the BEC, it is possible to derive an exact expression for them. In the th iteration, the extrinsic erasure probabilities from factor node toward variable nodes are denoted by and , respectively, for the first and second edge connected to it. Then, the DE equations can be written as,
[TABLE]
where
[TABLE]
Here, and are the transfer functions of for the systematic and parity bits, respectively. The a-posteriori erasure probability of bits in the information sequence at the th iteration is,
[TABLE]
The decoding thresholds obtained by DE are reported in Table II. The table shows the BP threshold and the MAP threshold of the original ensembles. To obtain and , we used the corresponding DE equations and the area theorem, respectively. We also report in the table the BP threshold and the MAP threshold of the proposed equivalent ensembles. From the results in the table, it can be seen that in the PCC case there is a good match between the thresholds of the original ensemble and the corresponding values of the equivalent ensemble. For the other cases, and are similar. However, there is a small gap between these thresholds. This gap can be explained as follows. In the DE analysis of the unified ensemble, we consider that the permutations are chosen randomly. Therefore, in equations (5) and (6), we average over all possible cases. However, the original TC ensembles are more structured and, in consequence, except for BCCs, is larger than . For BCCs, replacing the rate-2 component encoder by a rate-1 component encoder with puncturing, is another reason for observing the gap between and . We also computed the thresholds for the self-concatenated ensemble in Fig. 4(c). The obtained BP and MAP thresholds for this ensemble are identical to those of the original BCC ensemble.
The results in Table II demonstrate that thresholds similar to those of the original TC classes can be obtained by changing the design parameters in the unified ensemble.
IV Conclusions
In this paper, a unified ensemble for various classes of TCs is introduced. This ensemble is based on a single trellis with self-concatenation. We introduced two elementary steps to find the self-concatenated equivalent of PCCs and SCCs. We also used these elementary steps to find the self-concatenated HCCs and BCCs. These elementary steps can also be applied to more general concatenations.
Then, by considering the similarities between the self-concatenated ensembles for different TC classes, we found a unified ensemble. By changing the proportion of degree-, and degree- variable nodes in the graph or puncturing a part of the parity sequence, the original TC ensembles can be obtained. The compact graph representation of our ensemble establishes a bridge between TCs and protograph based LDPC codes, where the check nodes are replaced by trellis constraints.
We believe that the unified ensemble may help in better understanding the connections between concatenated code ensembles and LDPC code ensembles.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] A. Jiménez Feltström and K.Sh. Zigangirov, “Periodic time-varying convolutional codes with low-density parity-check matrices,” IEEE Trans. Inf. Theory , vol. 45, no. 5, pp. 2181–2190, Sep. 1999.
- 2[2] S. Kudekar, T.J. Richardson, and R.L. Urbanke, “Threshold saturation via spatial coupling: Why convolutional LDPC ensembles perform so well over the BEC,” IEEE Trans. Inf. Theory , vol. 57, no. 2, pp. 803 –834, Feb. 2011.
- 3[3] A. Yedla, Yung-Yih Jian, P.S. Nguyen, and H.D. Pfister, “A simple proof of Maxwell saturation for coupled scalar recursions,” IEEE Trans. Inf. Theory , vol. 60, no. 11, pp. 6943–6965, Nov. 2014.
- 4[4] S. Moloudi, M. Lentmaier, and A. Graell i Amat, “Spatially coupled turbo codes,” in Proc. 8th Int. Symp. on Turbo Codes and Iterative Inform. Process. (ISTC) , Bremen, Germany, 2014.
- 5[5] M. Lentmaier, S. Moloudi, and A. Graell i Amat, “Braided convolutional codes - a class of spatially coupled turbo-like codes,” in Proc. Int. Conference on Signal Process. and Commun. (SPCOM) , Bangalore, India, 2014.
- 6[6] S. Moloudi, M. Lentmaier, and A. Graell i Amat, “Spatially coupled turbo-liked codes,” submitted to IEEE Trans. Inf. Theory , available online at https://arxiv.org/pdf/1604.07315 v 1.pdf , Dec. 2015.
- 7[7] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: turbo-codes (1),” in Proc. IEEE Int. Conference on Commun. (ICC) , Geneva, Switzerland, 1993.
- 8[8] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serial concatenation of interleaved codes: performance analysis, design, and iterative decoding,” IEEE Trans. Inf. Theory , vol. 44, no. 3, pp. 909–926, May 1998.
