 Research
 Open Access
Highrate systematic recursive convolutional encoders: minimal trellis and code search
 Isaac Benchimol^{1},
 Cecilio Pimentel^{2}Email author,
 Richard Demo Souza^{3} and
 Bartolomeu F UchôaFilho^{4}
https://doi.org/10.1186/168761802012243
© Benchimol et al.; licensee Springer. 2012
Received: 25 May 2012
Accepted: 6 October 2012
Published: 21 November 2012
Abstract
We consider highrate systematic recursive convolutional encoders to be adopted as constituent encoders in turbo schemes. Douillard and Berrou showed that, despite its complexity, the construction of highrate turbo codes by means of highrate constituent encoders is advantageous over the construction based on puncturing rate1/2 constituent encoders. To reduce the decoding complexity of highrate codes, we introduce the construction of the minimal trellis for a systematic recursive convolutional encoding matrix. A code search is conducted and examples are provided which indicate that a more finely grained decoding complexityerror performance tradeoff is obtained.
Keywords
 Turbo Code
 Convolutional Code
 Constraint Length
 Decode Complexity
 Code Search
1 Introduction
The typical turbo code configuration is the parallel concatenation of two systematic recursive constituent convolutional encoders of rate 1/2 connected via an interleaver, resulting in a code of rate 1/3. However, higher rate turbo codes may be useful in modern wireless, magnetic recording and fiber optics applications[1]. The usual approach to increase the overall rate is to puncture selected bits of the turbo codeword[2]. An alternative is to use highrate constituent encoders[1, 3, 4] what, according to[3], offers several advantages, such as better convergence of the iterative process, higher throughput, reduced latency, and robustness of the decoder. If puncturing is still needed to achieve a required rate, fewer bits have to be discarded when compared to the conventional rate1/2 constituent encoders, resulting in less degradation of the correcting capability of the constituent code[3].
In[1], a class of systematic recursive convolutional encoders restricted to be of rate k/(k + 1) is proposed. The codes are optimized in terms of the pairs (d_{ i },N_{ i }), where d_{ i }is the minimum weight of codewords generated by input sequences of weight i and N_{ i } are their multiplicities, and thus suited to be used as constituent encoders of turbo codes[5]. Good systematic recursive encoding matrices with increasing values of encoder memory sizes for a fixed code rate are listed. Turbo codes constructed with the family of constituent encoders given in[1] are shown to outperform some highrate turbo codes obtained by puncturing a rate1/2 constituent encoder.
One major drawback of highrate constituent encoders is the decoding complexity since it increases exponentially with k and with the constraint length for various decoding algorithms. With the motivation of proposing a class of turbo codes with low complexity, highrate constituent encoders, Daneshgaran et al.[4] constructed recursive constituent encoders of rate k/(k + 1) by puncturing a rate1/2 recursive mother encoder. However, a reduction in decoding complexity is obtained at the expense of a reduced spectrum (d_{ i },N_{ i }) when compared to that of the best recursive encoder of rate k/(k + 1)[1].
An alternative to reduce the decoding complexity is to consider trellis representations for the constituent codes other than the conventional trellis usually adopted. For nonrecursive convolutional encodes, there is a trellis structure, the minimal trellis[6], which represents the coded sequences minimally under various complexity measures. The interest on the minimal trellis representation comes from its good error performance versus decoding complexity tradeoff[7–10] and its potential power consumption and hardware utilization reductions[11]. However, the minimal trellis construction presented in[6] cannot be readily applied to turbo codes. The reason is that the mapping between information bits and coded bits produced by the minimal trellis corresponds to nonrecursive convolutional encoders, while systematic, recursive mappings are required in turbo coding. This article presents a method which can fill this gap.
In this article, we introduce the construction of the minimal trellis for a systematic recursive convolutional encoding matrix, the encoding required for the constituent codes of a turbo code. Our goal is to reduce the decoding complexity of a turbo decoder operating with highrate constituent encoders. We also conduct a code search to show that a more finely grained decoding complexityerror performance tradeoff is achieved with our approach. We tabulate several new encoding matrices with a larger variety of complexities than those in[1], as well as code rates other than k/(k + 1). The proposed minimal trellis can be constructed for systematic recursive convolutional encoders of any rate. Thus, our approach is more general than that in[1], while allowing that a distance spectrum (d_{ i },N_{ i }) better than that of the punctured codes in[4] can be achieved.
The rest of this article is organized as follows. In Section 2, we introduce some basic definitions and notations. Section 3 introduces the minimal trellis construction for a systematic recursive convolutional encoding matrix. In Section 4, we present search code results. Section 5 concludes the article.
2 Preliminaries
Consider a convolutional code C(n,k,ν), where ν, k and n are the overall constraint length, the number of binary inputs and binary outputs, respectively, while the code rate is R = k/n. Every convolutional code can be represented by a semiinfinite trellis which (apart from a short transient in its beginning) is periodic, the shortest period being a trellis module. The conventional trellis module Φ_{ conv } consists of a single trellis section with 2^{ ν } initial states and 2^{ ν } final states; each initial state is connected by 2^{ k }directed branches to final states, and each branch is labeled with n bits.
The minimal trellis module, Φ_{ min }, for nonrecursive convolutional codes was developed in[6]. Such a structure has n sections,${2}^{{\stackrel{~}{\nu}}_{t}}$ states at depth t,${2}^{{\stackrel{~}{b}}_{t}}$ branches emanating from each state at depth t, and one bit labeling each branch, for 0 ≤ t ≤ n −1. The trellis complexity of the module Φ, TC(Φ), defined in[6] captures the complexity of trellisbased decoding algorithms[12]. It is shown in[6] that$\mathit{\text{TC}}\left({\mathrm{\Phi}}_{\mathit{\text{conv}}}\right)=\frac{n}{k}\phantom{\rule{0.3em}{0ex}}{2}^{\nu +k}$ and$\mathit{\text{TC}}\left({\mathrm{\Phi}}_{\mathrm{min}}\right)=\frac{1}{k}\sum _{t=0}^{n1}{2}^{{\stackrel{~}{\nu}}_{t}+\stackrel{~}{{b}_{t}}}$ symbols per bit. The state and the branch complexity profiles of the minimal trellis are denoted by$\stackrel{\mathit{~}}{\mathit{\nu}}=({\stackrel{~}{\nu}}_{0},\dots ,{\stackrel{~}{\nu}}_{n1})$ and$\stackrel{\mathit{~}}{\mathit{b}}=({\stackrel{~}{b}}_{0},\dots ,{\stackrel{~}{b}}_{n1})$, respectively. It has been shown in[6] that for many nonrecursive convolutional codes the trellis complexity TC(Φ_{ min }) of the minimal trellis module is considerably smaller than the trellis complexity TC(Φ_{ conv }) of the conventional trellis module.
where the nonzero elements of Γ^{ ′ }(D) are called the invariant factors of G(D), the k × k matrix A(D) and the n × n matrix B(D) are both polynomial with unit determinants. Let ν_{ i }be the constraint length for the ith input of a polynomial generator matrix G(D), defined as ν_{ i }= max_{1≤j≤n}{degG_{i,j}(D)}. Then the overall constraint length (already mentioned) is given by ν = ν_{1} + ⋯ + ν_{ k }. Define also the memory m of G(D) as m = max_{1≤i≤k}{ν_{ i }}. A basic generator matrix G(D) is called minimalbasic if the overall constraint length ν is minimal over all equivalent basic encoding matrices.
The generator matrix G(D) is said to be in the left–right (LR) (or minimal span or trelis oriented) form, if no column of G_{ scalar } contains more than one underlined entry (the Leftmost nonzero entry in its row), or more than one overlined entry (the Rightmost nonzero entry in its row). If G(D) is in LR form, then it produces the minimal trellis for the code[6].
Next, we introduce a method to construct the minimal trellis for systematic recursive convolutional encoding matrices.
3 Construction of the minimal trellis for systematic recursive encoding matrices
The construction of the “minimal” trellis for the systematic recursive convolutional encoding matrix G_{sys}(D) involves two main steps. First, we find the minimal trellis of an equivalent nonsystematic nonrecursive minimalbasic generator matrix in LR form. Then, the mapping between the information bits and coded bits in this trellis is changed in order to construct a systematic minimal trellis. The complete algorithm is summarized in the end of this section.
3.1 Minimal trellis for an equivalent encoder
Let G_{sys}(D) be a systematic recursive encoding matrix for a rate R = k/n convolutional code and let q(D) be the least common multiple of all denominators of the entries in G_{sys}(D). We construct a nonsystematic nonrecursive basic encoding matrix, denoted by G_{ b }(D), equivalent to G_{sys}(D), as follows ([13], p. 44), ([14], Theorem 4.6):

Find the Smith form decomposition of the polynomial matrix q(D)G_{sys}(D):$q\left(D\right){G}_{\text{sys}}\left(D\right)=A\left(D\right){\mathrm{\Gamma}}^{\prime}\left(D\right)B\left(D\right),$(4)where the nonzero elements of Γ^{ ′ }(D) are called the invariant factors of q(D) G_{sys}(D), the k × k matrix A(D) and the n × n matrix B(D) are both polynomial with unit determinants. Thus, the invariant factor decomposition of G_{sys}(D) is${G}_{\text{sys}}\left(D\right)=A\left(D\right)\mathrm{\Gamma}\left(D\right)B\left(D\right),$(5)
where Γ(D) = Γ^{ ′ }(D)/q(D).

Form the desired encoding matrix G_{ b }(D) as the k × n submatrix of B(D) in (5) consisting of the first k rows.
We can then perform a sequence of row operations on G_{ b }(D) to construct a nonsystematic nonrecursive minimalbasic encoding matrix G(D) in LR form.
Example 1
with overall constraint length ν = 3. The trellis complexity of the conventional module for G_{sys}(D) is TC(Φ_{ conv }) = 85. 33 symbols per bit.
3.2 Minimal trellis for systematic recursive encoders
Originally, minimal trellises have been constructed for codes, not for matrices (or encoders). However, the convention that the upper branches refer to the information bit 0 and the lower branches refer to the information bit 1 yields a particular encoding which, in general, is not systematic. We note that the association of solid/dashed branches with codeword bits can not be changed, as any change in this regard would result in a trellis which would no longer represent the convolutional code. However, by enforcing a different convention on the association of the branches to the information bits, only a different encoding for the same code is obtained.
Since in the systematic part the information bit and the coded bit must have the same value, all we need to do is to change, in the information sections of the minimal trellis, the standard convention to that where solid branches refer to the information bit 0 and the dashed branches refer to the information bit 1. Let us refer to this convention as the systematic convention. Getting back to the minimal trellis in Figure1, for the nonsystematic nonrecursive convolutional encoding matrix G(D) given in (8), we only need to adopt the systematic convention in the first three sections to turn this minimal trellis into a systematic trellis.
It remains to show that the minimal trellis in Figure1 with the systematic convention is the minimal trellis for the systematic recursive convolutional encoding matrix G_{sys}(D) in (6). We note that the generator matrices G(D) given in (8) and G_{sys}(D) in (6) are equivalent in the sense that both generate the same code. Therefore, except for the edge convention, the two trellises are exactly the same. Assuming that the information bits at the input of the encoder associated with G_{sys}(D) and the information bits associated with the minimal trellis in Figure1 occupy the same positions, the systematic convention is unique. Consequently, the trellis in Figure1 with the systematic convention in the first three sections is the minimal trellis for the systematic recursive convolutional encoding matrix G_{sys}(D) in (6).
 1.
From G _{sys}(D), use the Smith form decomposition procedure to obtain the basic nonsystematic nonrecursive encoding matrix G _{ b }(D);
 2.
If G _{b}(D) does not have the LR property, then apply the greedy algorithm described in [15] to turn it into a LR form. Denote the new generator matrix by G(D). Else set G(D) ← G _{b}(D);
 3.
Construct the minimal trellis module for G(D) with the method presented in [6];
 4.
Adopt the systematic convention on the minimal trellis module obtained in the previous step. The resulting trellis is the desired systematic trellis.
Example 2
4 New codes
Graell i Amat et al.[1] tabulated good k × (k + 1) encoding matrices G_{sys}(D) to be used as component encoders of parallel concatenated turbo codes. We search for good (with respect to the pair (d_{ i },N_{ i }) constituent systematic recursive convolutional encoder matrices with a larger variety of complexities compared to those listed in[1]. The main idea is to propose templates with polynomial generator matrix G(D) in trellisoriented form[6, 7] with fixed TC(Φ_{ min }). This can be done by placing the leading (underlined) and trailing (overlined) 1’s of each row of the “matrix module” in specific positions, leaving the other positions free to assume any binary value.
Example 3
is associated with an ensemble of nonsystematic nonrecursive convolutional codes of rate 3/4 and trellis complexity of the minimal trellis module TC(Φ_{ min }) = 21. 33 symbols per bit.
Remark
In our code search we enforce that the positions of the underlined 1’s are in the first k columns of the matrix module in order to assure that the information bits of the corresponding minimal trellis are in the first k sections. □
By varying the free positions (marked with an “*”) in this matrix, several polynomial generator matrices G(D) are produced. For each matrix G(D) in this ensemble, we apply Steps (3) and (4) of the algorithm, i.e., we construct the minimal trellis module for G(D) and adopt the systematic convention to the information sections, and then calculate the pairs (d_{ i },N_{ i }), for i = 2,…,6. The dominant term, d_{2}, is called the effective free distance of the turbo code[16].
Minimal trellis complexityperformance tradeoff for R = 2/4,3/4,3/5,4/5
R  TC  d_{2}, N_{2}  d_{3}, N_{3}  d_{4}, N_{4}  d_{5}, N_{5}  d_{6}, N_{6}  G(D) 

$\frac{2}{4}$  12.00  4,2  4,2  6,3  8,6  10,9  [2 3 0 1; 3 0 1 1] 
24.00  6,2  5,4  6,4  7,2  8,3  [2 3 1 1; 5 1 0 3]  
28.00  7,2  5,1  6,1  7,2  8,2  [2 3 3 0; 7 1 2 3]  
32.00  8,2  6,4  6,3  8,6  8,2  [3 2 2 3; 4 3 1 3]  
48.00  10,2  6,1  6,1  6,1  8,2  [7 2 3 3; 4 5 1 3]  
56.00  11,2  6,2  7,2  7,1  8,1  [4 3 1 3; 7 4 4 3]  
64.00  12,2  7,3  6,1  7,2  10,20  [7 3 1 2; 2 7 7 7]  
80.00  14,2  7,3  8,12  9,31  6,1  [7 4 3 3; 4 3 5 5]  
$\frac{3}{4}$  10. 67^{a}  3,3  3,3  4,7  5,15  6,36  [1 1 1 1; 2 0 1 1; 2 3 1 0] 
18.67  3,2  3,1  4,4  5,14  6,40  [2 0 1 1; 0 1 2 1; 3 3 1 1]  
21.33  4,4  4,15  4,10  6,215  6,86  [3 1 0 1; 2 1 3 3; 2 2 1 1]  
32. 00^{a}  4,1  4,3  4,1  5,5  6,24  [1 1 1 1; 0 3 2 1; 6 6 1 3]  
42.67  5,2  4,2  4,1  5,9  6,23  [1 1 1 1; 6 0 1 3; 4 5 2 3]  
53.33  6,3  4,3  5,12  5,7  6,23  [2 3 2 1; 2 0 3 3; 7 1 1 1]  
64. 00^{a}  6,2  4,1  5,8  5,4  6,11  [1 1 1 1; 4 4 3 1; 2 5 4 3]  
74.67  7,2  4,3  4,1  5,5  6,17  [2 1 1 1; 5 7 1 0; 6 0 7 0]  
$\frac{3}{5}$  10.67  3,2  3,1  5,2  7,10  8,5  [1 1 1 0 0; 0 3 0 0 1; 2 0 1 1 0] 
21.33  4,1  4,3  5,4  5,1  6,1  [0 2 1 1 1; 3 0 1 0 1; 2 1 3 1 0]  
29.33  6,3  5,8  4,1  7,33  6,1  [2 2 3 1 1; 2 3 0 3 0; 3 1 1 1 1]  
32.00  6,1  5,4  4,1  6,3  6,1  [0 3 2 1 1; 2 2 1 2 3; 3 1 1 0 1]  
37.33  7,2  4,1  5,2  6,2  7,3  [0 3 2 1 0; 2 2 1 1 1; 1 3 1 2 2]  
48.00  8,3  5,1  5,2  6,2  6,1  [4 0 3 1 3; 3 2 3 2 1; 2 3 1 1 0]  
58.66  8,2  5,2  5,1  6,1  7,2  [6 3 2 3 3; 1 3 3 0 1; 2 2 1 3 1]  
64.00  10,3  5,2  5,2  6,3  7,2  [6 2 3 3 3; 1 0 3 2 3; 0 3 2 1 1]  
74.67  10,2  5,1  5,2  6,2  8,10  [2 2 3 2 3; 7 6 2 3 1; 2 1 2 1 1]  
$\frac{4}{5}$  14. 00^{a}  2,1  3,5  4,17  5,65  6,236  [1 1 0 0 1; 2 0 1 1 0; 0 1 0 1 0; 2 0 2 1 1] 
18.00  3,4  3,6  4,23  5,80  6,284  [3 1 0 0 1; 0 2 1 1 1; 0 1 1 1 0; 2 0 2 1 1]  
20.00  3,2  3,4  4,11  5,45  6,220  [2 0 1 1 0; 2 2 0 1 1; 0 1 1 1 1; 3 1 3 1 1]  
32. 00^{a}  4,2  3,1  4,8  5,42  6,179  [2 0 3 1 0; 2 2 0 3 1; 1 0 1 1 1; 0 3 0 1 0]  
48.00  4,1  3,1  4,4  5,22  6,105  [2 1 1 1 1; 1 1 3 3 0; 2 2 0 1 1; 0 2 1 2 3]  
56.00  5,2  3,1  4,3  5,24  6,129  [2 1 1 1 1; 3 2 3 1 1; 0 2 1 3 0; 2 0 0 3 3]  
64. 00^{a}  5,2  4,4  4,3  5,14  6,86  [1 0 1 1 1; 0 2 0 3 1; 2 1 3 1 1; 6 6 3 3 2]  
72.00  6,4  4,10  4,8  6,392  6,227  [2 0 1 1 1; 1 0 3 0 1; 2 3 1 3 0; 0 4 2 3 3] 
5 Conclusions
We present a method to construct the minimal trellis for a recursive systematic convolutional encoding matrix. Such a trellis minimizes the trellis complexity measure introduced by McEliece and Lin[6], which applies to trellisbased decoding algorithms. As a contribution of this work, several new convolutional encoding matrices having an equivalent systematic recursive encoding matrix, optimized for turbo codes, are tabulated. They provide a wide range of performancecomplexity tradeoffs, to serve several practical applications.
Endnotes
^{a}This work was presented in part at the IEEE International Symposium on Information Theory (ISIT 2011), Saint Petersburg, Russia, July 2011.
Declarations
Acknowledgements
This work was partially supported by the CAPES and CNPq (Brazil).^{a}
Authors’ Affiliations
References
 Amat A, Montorsi G, Benedetto S, Graell i: Design and decoding of optimal highrate convolutional codes. IEEE Trans. Inf. Theory 2004, 50: 867881.View ArticleGoogle Scholar
 Kousa MA, Mugaibel AH: Puncturing effects on turbo codes. IEEE Proc. Commun 2002, 149: 132138. 10.1049/ipcom:20020230View ArticleGoogle Scholar
 Douillard C, Berrou C: Turbo codes with ratem/(m+1) constituent convolutional codes. IEEE Trans. Commun 2005, 53: 16301638. 10.1109/TCOMM.2005.857165View ArticleGoogle Scholar
 Daneshgaran F, Laddomada M, Mondin M: Highrate recursive convolutional codes for concatenated channel codes. IEEE Trans. Commun 2004, 53: 18461850.View ArticleGoogle Scholar
 Benedetto S, Montorsi G: Design of parallel concatenated convolutional codes. IEEE Trans. Commun 1996, 44: 591600. 10.1109/26.494303View ArticleGoogle Scholar
 McEliece RJ, Lin W: The trellis complexity of convolutional codes. IEEE Trans. Inf. Theory 1996, 42: 18551864. 10.1109/18.556680MathSciNetView ArticleGoogle Scholar
 UchôaFilho BF, Souza RD, Pimentel C, Jar M: Convolutional codes under a minimal trellis complexity measure. IEEE Trans. Commun 2009, 57: 15.View ArticleGoogle Scholar
 Katsiotis A, Rizomiliotis P, Kalouptsidis N: New constructions of highperformance lowcomplexity convolutional codes. IEEE Trans. Commun 2010, 58: 19501961.View ArticleGoogle Scholar
 Hug F, Bocharova IE, Johannesson R, Kudryashov B: Searching for highrate convolutional codes via binary syndrome trellises. In Proc. IEEE Int. Symp. Inform. Theory. Seoul, Korea; 2009:13581362.Google Scholar
 Katsiotis A, Kalouptsidis N: On (n,n1) punctured convolutional codes and their trellis modules. IEEE Trans. Commun 2011, 59: 12131217.View ArticleGoogle Scholar
 Pedroni BU, Pedroni VA, Souza RD: Hardware implementation of a Viterbi decoder using the minimal trellis. In Proc. of the 4th Inter. Symp. on Commun., Control and Signal Processing (ISCCSP’2010). Limassol, Cyprus; 2010:14.Google Scholar
 Vucetic B, Yuan J: Turbo Codes: Principles and Applications. Kluwer Academic Publishers, Boston/Dordrecht/London; 2000.View ArticleGoogle Scholar
 Johannesson R, Zigangirov KS: Fundamentals of Convolutional Coding. WileyIEEE Press, New York; 1999.View ArticleGoogle Scholar
 Schlegel C, Pérez L: Trellis and Turbo Coding. WileyIEEE Press, New York; 2004.View ArticleGoogle Scholar
 McEliece RJ: On the BCJR trellis for linear block codes. IEEE Trans. Inf. Theory 1996, 42: 10701092.Google Scholar
 Divsalar D, McEliece RJ: Effective free distance of turbo codes. IEEE Electron. Lett 1996, 32: 445446. 10.1049/el:19960321View ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.