IEEE COMMUNICATIONS LETTERS, VOL. 16, NO. 9, SEPTEMBER 2012
1365
Constrained Interleaving of Turbo Product Codes John P. Fonseka, Eric M. Dowling, Thomas K. Brown, and Sang Ik Han Abstract—Constrained interleaving is presented to improve the performance of turbo product codes. Traditional row/column interleaving achieves the highest possible minimum distance while ignoring the error coefficients, whereas uniform interleaving focuses on reducing the error coefficients while ignoring the minimum distance. Constrained interleaving achieves the highest possible minimum distance thereby forcing error coefficients of all contributions below the highest achievable minimum distance to zero while simultaneously lowering the error coefficients of the remaining contributions close to those of uniform interleaving. We present a lower bound for the error rate with constrained interleaving, and demonstrate using 2D and 3D SPC codes that the bound can be approached reasonably well with a constrained interleaver that is only 2 to 3 times the size of a row/column interleaver. Constrained interleaving performs better than row/column interleaving and the improvement becomes more significant with increasing order of SPC. While uniform interleaving typically uses large interleaver sizes and creates an undesirable error floor, constrained interleaving performs better at much shorter interleaver sizes and eliminates the error floor. Index Terms—Turbo product codes, interleaving, multidimensional SPC codes.
I. I NTRODUCTION
T
URBO product codes (TPC), i.e., serially concatenated block codes that employ iterative decoding, are considered to be powerful codes [1]–[3]. These codes employ an inner and an outer code through an interleaver. TPC can have high code rates and they can be decoded by soft iterative (turbo) decoding that exchanges extrinsic information between component codes [4]. When both component codes are the same, the resulting code is referred to as a 2-dimensional (2D) code, such as a 2D single parity check (SPC) code [3], [4]. As with any other concatenated code, the performance of a TPC is bounded by the sum of all contributions made by nonzero codewords of the TPC [1]. These individual contributions have their own weight starting from the minimum Hamming distance (MHD) of the concatenation and their own error coefficient. The performance can be improved by increasing the MHD (thereby removing contributions corresponding to lower distances) and/or lowering the error coefficients (which is also known as achieving interleaver gain [1]). Commonly, TPCs use a row/column interleaver that ensures the maximum achievable minimum Hamming distance (MHD) which is equal to the product of the two MHDs of the component codes [2], [3]. On the other hand, uniform interleaving tries to achieve interleaver gain by lowering the error coefficients disregarding the MHD [1]. As a result, the MHD with uniform Manuscript received May 24, 2012. The associate editor coordinating the review of this letter and approving it for publication was A. Graell i Amat. J. P. Fonseka, T. K. Brown, and S. I. Han are with the Dept. of Electrical Engineering, University of Texas at Dallas, Richardson, Texas 75080 USA (e-mail:
[email protected]). E. M. Dowling is with Trellis Phase Communications, Marshall, Texas USA. Digital Object Identifier 10.1109/LCOMM.2012.071612.121125
interleaving is usually that of the inner code. Still, uniform interleaving can perform better than row/column interleaving, especially in the waterfall region, but at the expense of much larger interleaver size and an introduction of an error floor due to the lower MHD. It is known in the literature that the joint optimization of the MHD and the error coefficient in a concatenated code is very difficult [1]. However, it would be desirable to have an interleaver design technique that could maintain the optimal MHD while lowering the error coefficients of the remaining terms at the same time, thereby allowing a much shorter interleaver to be used to obtain error levels better than those of much longer uniform interleaver, while also eliminating the undesirable error floor. The purpose of this study is to present such an interleaving technique called constrained interleaving for TPCs. Constrained interleavers discussed here achieve the same highest achievable MHD as row/column interleavers and maintain interleaver gains almost close to those of uniform interleaving. Constrained interleaving introduced here takes advantage of the fact that the bits that are fed into the interleaver are correlated due to the outer code. This correlation is used in constrained interleaving to introduce constraints to maintain the highest possible minimum distance while also preserving most of the interleaver gain achieved by uniform interleaving. This is because the error coefficients of all terms below the highest achievable minimum distance are reduced to zero while the remaining error coefficients are reduced to nearly the same values as achieved with uniform interleaving. We theoretically bound the performance of constrained interleaving of a 2D SPC over a Gaussian channel, and compare it with row/column interleaving and uniform interleaving. We also construct and analyze 3-dimensional (3D) SPC that employ two stages of constrained interleaving. Numerical results presented for 2D and 3D SPC demonstrate that TPC constructed with constrained interleaving can perform significantly better than TPC constructed with row/column or uniform interleaving, and that the theoretical results match well with the simulations. II. C ONSTRAINED I NTERLEAVING Let us consider a constrained interleaver with an (n1 , k1 ) outer code with MHD do and an (n2 , k2 ) inner code with MHD di . Constrained interleaving is characterized by an integer parameter, ρ, that is equal to the factor by which the size of the constrained interleaver expands with respect to row/column interleaving. Hence, the above combination of component codes can construct a (ρn1 n2 , ρk1 k2 ) serially concatenated code with constrained interleaving. In order to construct one codeword of the concatenation, let us consider constrained interleaving of ρn1 k2 coded bits of the outer code. A constrained interleaver is formed according to a rectangular array with the aim of feeding columns of it to
c 2012 IEEE 1089-7798/12$31.00
1366
IEEE COMMUNICATIONS LETTERS, VOL. 16, NO. 9, SEPTEMBER 2012
the inner code. Hence, a constrained interleaver should have k2 rows and ρn1 columns. The constrained interleaver can be designed to guarantee the maximum achievable minimum distance for the concatenation, which is equal to the product do di , by enforcing the constraint that the coded bits of every codeword of the outer code are placed in different columns of the constrained interleaver array. In addition to satisfying this constraint, it is desirable to achieve the maximum possible interleaver gain. To achieve interleaver gain, the constrained interleaver allows bits on every row and every column of the k2 by ρn1 array to be uniformly randomized separately. A constrained interleaver that preserves the above constraint and uniformly randomizes the contents of rows and columns independently can be constructed using the following three steps: 1. Feed-in the coded bits of the outer code into the k2 by ρn1 interleaver array row by row. 2. Randomize the placement of bits in each row independently. 3. Randomize the placement of bits in each column independently. These three steps ensure that coded bits from any single codeword remain in separate columns thereby maintaining the MHD at do di , and any coded bit of the outer code has the possibility of being placed anywhere in the interleaver array. III. A NALYSIS OF 2D SPC WITH C ONSTRAINED I NTERLEAVING Let us consider constrained interleaving of 2D SPC codes formed by two (m, m − 1) SPC codes (also referred to as 1D SPC codes) each with rate R = (m−1)/m. In this case, n1 = n2 = m, k1 = k2 = (m − 1), do = di = 2 and the code rate of the 2D SPC is R2 . Let us compute the performance bound with constrained interleaving by focusing on the significant contributions made by codewords with the MHD which for 2D SPC is do di = 4. A codeword with weight 4 of the 2D SPC, with constrained interleaving, can only be generated either by (a) a single codeword of the outer code with weight 2 placed anywhere in the interleaver array, or (b) by two codewords of the outer code each with weight two with the two nonzero bits placed along the same columns. Following [1], the error coefficient corresponding to the contribution made by a codeword of the concatenation formed by a weight w message sequence that generates a codeword of weight l at the output of the outer code and then forms a weight h at the output of the inner code is given by c(w, l, h) =
No (w, l)Ni (l, h) w × k1 ρ N (l)
(1)
where, No (w, l) is the number of ways the outer code can generate a weight l output from a weight w input, Ni (l, h) is the number of ways the inner code can generate a weight h output from a weight l input, and N (l) is the number of ways a weight l sequence can be placed in the interleaver subjected to the constraint. Using (1), the contributions to the bit error rate (BER) made by weight four codewords in cases (a) and (b) discussed above, over a Gaussian channel can be expressed respectively as 8R2 γ (2) P1 ≈ (m − 2) Q P2 ≈
4
(m−1)ρm−14 mρ 2 2 2γ 2 Q 8R mρ ρ(m − 1)6 4
(3)
n! and Q(·) where γ is the signal to noise ratio, nx = x!(n−x)! is the standard Q-function. Focusing on the error coefficient, it is seen that the error coefficient of (2) is on the order of O(m) and is independent of ρ. Similarly, since nx is on the order of O(nx ) for large n and small x, the error coefficient of (3) is on the order of O(m2 /ρ). Hence, the effective BER bound of 2D SPC with constrained interleaving, which is given by the sum (P1 + P2 ), can be decreased down to P1 in (2) by increasing ρ, and hence, (2) acts as a lower bound of performance with constrained interleaving. The choice of ρ is a tradeoff between the desired performance and the frame size. The numerical results show that even a choice of ρ = 3 is sufficient to reasonably approach the bound given by (2). For comparison, we also consider the performance of 2D SPC with uniform interleaving [1] with the same interleaver size N = ρm(m − 1). It is noticed that the MHD with uniform interleaving is 2, which results from the case when a codeword of weight 2 of the outer code feeds both of its non-zero bits into the same codeword of the inner code. However, when a weight 2 codeword of the outer code is interleaved, the two non-zero bits are much more likely to be placed in different codewords of the inner code. Hence, a single weight 2 codeword of the outer code can generate (a) a weight 2 codeword of the concatenation achieving interleaver gain, or (b) a weight 4 codeword of the concatenation without achieving interleaver gain. Focusing on contributions made by a single weight 2 codeword of the outer code, Pbe of 2D SPC with uniform interleaving can be approximated to 2 mρ 2 m−1 2 4R2 γ +(m−2)Q 8R2 γ P3 ≈ m(m−1)ρ Q (m − 1) 2 (4) The first term of (4), that corresponds to weight 2 codewords of the concatenation, achieves interleaver gain on the order of O(1/ρ) while the second term that corresponds to weight 4 codewords of the concatenation, which is identical to P1 in (2) of constrained interleaving, achieves no interleaver gain. Hence, the performance of 2D SPC with uniform interleaving can be made closer to that of constrained interleaving given by (2) by increasing the interleaver size. With row/column interleaving, it is known that Pbe of n-dimensional SPC (nD SPC) code is approximately equal to [3] 2n+1 rn γ (5) Pbe,row/column ≈ (m − 1)n Q Fig.1 shows the numerical results of 2D SPC with m = 10 with ρ = 3 and 10 for constrained interleaving, along with those of uniform and row/column interleaving. For comparison, theoretical bounds obtained for constrained interleaving given by (2), uniform interleaving given by (4), and row/column interleaving given by (5) are also plotted. Numerical results show that the theoretical bounds match well with the simulated results. Further, constrained interleaving with ρ = 3 performs reasonably close to the lower bound given by (2) and gets better with increasing ρ. However, the majority of the improvement can be achieved with ρ = 3. Improvements of ∼ 0.5dB over row/column interleaving can be achieved with constrained interleaving at the expense of increased frame size by a factor ρ. Even though the selection of ρ depends on the component codes, typically a value of ρ equal to 2 or 3 is
FONSEKA et al.: CONSTRAINED INTERLEAVING OF TURBO PRODUCT CODES
Fig. 1.
BER variations of 2D codes with different interleavers.
sufficient to reach the performance bound. It is also noted that when ρ = 1, constrained interleaving with 2D SPC will have the same performance as row/column interleaving because every column of the interleaver is guaranteed to contain coded bits from the same set of codewords of the outer 1D SPC. This can also be justified numerically as the effective bound of 2D SPC (given by the sum of (2) and (3)) closely follow (5) when and ρ = 1 and n = 2. IV. 3D SPC WITH C ONSTRAINED I NTERLEAVING A 3D SPC code with constrained interleaving can be constructed using multiple codewords of the 2D SPC code with constrained interleaving discussed in section II and III and employing a second stage constrained interleaver. This second stage interleaver, referred to as interleaver 2, can be constructed by placing multiple codewords of the 2D SPC on a single row, forming (m−1) such rows, and then interleaving according to the three steps listed in section II. In order to keep the construction general, we consider ρ1 number of (m, m − 1) 1D SPC codewords along a single row of the first stage interleaver (interleaver 1) and ρ2 number of (ρ1 m2 , ρ1 (m − 1)2 ) codewords of the 2D SPC along a single row of interleaver 2. As a result, the dimensions of the two interleavers are; (m − 1) by mρ1 and (m − 1) by ρ1 ρ2 m2 respectively. The 3D SPC codewords are finally generated by feeding the interleaved bits of the interleaver 2 along columns into the third (m, m − 1) 1D SPC code. The analysis of 3D SPC codes with constrained interleaving is similar to that of 2D SPC codes discussed in section III. For the analysis, the codewords of the first 1D SPC can be grouped into ρ2 (m − 1) groups, each consisting of ρ1 (m − 1) codewords of the first (m, m−1) 1D SPC code and responsible for generating a single 2D SPC codeword that feeds into the interleaver 2. Following the analysis in section III, it is seen that, within any of these groups, the contribution made by a single non-zero 1D SPC codeword does not achieve any interleaver gain while those contributions made by multiple non-zero 1D SPC codewords can be lowered by increasing the value of ρ1 in interleaver 1. Further, as discussed earlier, the minimum weight of a 2D SPC codeword generated by any group is four. Following the same argument into interleaver 2, it is seen that when only a single group feeds one of
1367
its minimum weight (weight 4) codewords into interleaver 2, its contribution achieves no interleaver gain, while multiple groups feed non-zero 2D SPC codewords into the interleaver 2, their contributions can be lowered by increasing the number of columns of interleaver 2 which is equal to ρ1 ρ2 m2 . Hence, it is seen that ρ1 plays a bigger role in achieving interleaver gain as it can increase the interleaver gain in both interleaver 1 and interleaver 2, while ρ2 can only increase interleaver gain in interleaver 2. Hence, any given overall frame size expansion factor ρ = ρ1 ρ2 can be best utilized by using ρ1 = ρ and ρ2 = 1. Further, since the constrained interleaver 2 places coded bits of all 2D SPC codewords (with minimum weight of 4) in different columns, the final 1D SPC ensures that the minimum weight of the 3D SPC code is equal to eight. Hence, the two constrained interleavers guarantee the highest possible MHD of 8 for the overall 3D SPC. Following the above observations, it is seen that the performance of 3D SPC with constrained interleaving is limited by the contributions made by codewords with minimum weight (weight 8) that are initiated by non-zero codewords in a single group that end up achieving no interleaver gain in interleaver 2. As in section II, contributions made by a single 1D SPC codeword with weight two and two 1D SPC codewords each with weight two within any single selected group can determine the dominant contributions of the 3D SPC. These two BER contributions are respectively given by modifying (2) and (3) for 3D SPC codes as 16R3 γ (6) P1a ≈ (m − 2) Q P1b
(m−1)ρ1 m−14 mρ1 2 2 2 3γ ≈ 16R Q 1 ρ1 (m − 1)6 mρ 4 4
(7)
As in 2D SPC codes, (6) achieves no interleaver gain and acts as a lower bound to the overall performance of 3D SPC codes which can be approached by increasing ρ1 thereby reducing the impact of (7). The combined effect of (6) and (7) provides the effective bound. Comparing the lower bound of 3D SPC in (6) with the performance of 3D SPC with row/column interleaving in (5), it is seen that 3D SPC with constrained interleaving can achieve interleaver gain on the order of O(m2 ) over row/column interleaving. Recalling that the improvement of constrained interleaving over row/column interleaving for 2D SPC was on the order of O(m), it is seen that the improvement of constrained interleaving becomes more significant as the order of SPC increases. As with 2D SPC, 3D SPC with uniform interleaving has a MHD of two. In addition, significant contributions to the BER of 3D SPC with uniform interleaving are made by weight 4 and weight 8 codewords. Following the discussion of 2D SPC with uniform interleaving, the performance of 3D SPC codes can be bounded by focusing on the codewords of the concatenation generated by a single 1D SPC codeword with weight 2 of the first SPC code. A single weight 2 codeword of the first SPC code can generate (a) a weight 2 codeword after the second SPC code followed by a weight 2 codeword after the third SPC code achieving interleaver gain in both interleaver 1 and interleaver 2 , or (b) a weight 2 codeword after the second SPC code followed by a weight 4 codeword after the third SPC code achieving interleaver gain only in
1368
Fig. 2.
IEEE COMMUNICATIONS LETTERS, VOL. 16, NO. 9, SEPTEMBER 2012
BER variations of 3D codes with different interleavers.
interleaver 1, or (c) a weight 4 codeword after the second SPC code followed by a weight 4 codeword after the third SPC code achieving interleaver gain only in interleaver 2, or (d) a weight 4 codeword after the second SPC code followed by a weight 8 codeword after the third SPC code without achieving interleaver gain in either interleaver. Hence, the performance with uniform interleaving can be bounded by considering the contributions of all of the above four cases. Note that the contribution from the weight 8 codewords described in case (d) is the same as that of constrained interleaving given by (6). Also note that the cases (a)-(c) that achieve interleaver gain but correspond to lower weights (weights 2 and 4) contribute to the error floor of the concatenation with uniform interleaving. Comparing the bounds with constrained interleaving given by (6) and uniform interleaving given by the sum of cases (a)(d), it is seen that constrained interleaving performs better than uniform interleaving while also eliminating the error floor present in uniform interleaving. Similar to 2D SPC codes, 3D SPC codes are decoded using SISO iterations. As in 2D SPC codes four SISO iterations are found to be sufficient in all cases. Fig.2 shows the bit error rate variation of 3D SPC of constrained interleaving with m = 10, ρ1 = 1, 2, 3 and ρ2 = 1, along with those of corresponding uniform, and row/column interleaving with their respective bounds. Unlike in the case of 2D SPC, constrained interleaving with ρ = 1 performs better than row/column interleaving. This improvement is possible because the columns of interleaver 2 have the freedom to be composed of coded bits of different sets of 1D SPC codewords of the first SPC due to constrained interleaving. It is seen that, as with 2D SPC, constrained interleaving of 3D SPC performs better than other interleaving techniques, and the theoretical results match well with simulations. The improvement of constrained interleaving over uniform interleaving becomes very significant after the error floor impacts the performance with uniform interleaving. Specifically, constrained interleaving with ρ = 2 can achieve a gain of about 0.4dB at BER = 10−6 and possibly more than 1dB at BER = 10−7 over uniform interleaving with ρ = 2 or even with ρ = 3. The impact of the error floor in uniform interleaving (contributions of the cases (a) through
(c)) can be reduced by increasing the interleaver size. Hence, compared with uniform interleaving, constrained interleaving can perform better at lower interleaver sizes. It was also seen in Fig.1 that the error floor (given by the first term of (4)) has a more noticeable effect in 2D SPC with uniform interleaving compared with 3D SPC suggesting that the effect of the error floor can be lowered by increasing the order of SPC and/or increasing the size of the interleaver. However, constrained interleaving can eliminate effect of error floor and perform better than uniform interleaving while using a shorter interleaver. Comparing with Fig.1, as expected, it is noticed that the performance improvement of constrained interleaving over row/column interleaving becomes more significant as the order of the SPC increases. It also follows from Fig.2 that 3D SPC with constrained interleaving only requires a frame multiplication factor ρ of two, as opposed a factor of three in 2D SPC shown in Fig.1, to achieve most of the benefits of constrained interleaving suggesting that ρ = 2 is sufficient when the order of the SPC is three or more. The BER variation of constrained interleaving with ρ = 1 shows that, if the order of the concatenation is three or more, constrained interleaving can perform better than row/column interleaving without any expansion in the interleaver size. Specifically, around BER = 10−6 , 3D SPC with constrained interleaving gains about 0.5dB over row/column interleaving with no interleaver size expansion and gains about 0.8dB by doubling the interleaver size. V. C ONCLUSIONS Constrained interleaving can be used to improve the performance of TPC. The interleaver constraints ensure optimal MHD, thereby eliminating contributions from the most problematic lower-distance codewords. Also, the error coefficients of the remaining codewords are reduced to levels close to those of uniform interleaving. TPC can be constructed with constrained interleaving to outperform row/column interleaving with a zero increase or a moderate increase in interleaver size (depending on the code) and to outperform uniform interleaving with much smaller interleaver sizes at moderate to high SNR. This improvement has been demonstrated by constructing and evaluating the performance of 2D and 3D SPC codes. Theoretical performance bounds with constrained interleaving have been derived and simulation results have been provided. R EFERENCES [1] 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. [2] F. Daneshgaran, M. Laddomada, and M. Mondin, “Interleaver design for serially concatenated convolutional codes: theory and application,” IEEE Trans. Inf. Theory, vol. 50, no. 6, pp. 1177–1188, June 2004. [3] D. M. Rankin, T. A. Gulliver, and D. P. Taylor, “Parallel and serial concatenated single parity check product codes,” EURASIP J. Applied Signal Process., vol. 2005, pp. 775–783, Jan. 2005. [4] J. Hagenauer, E. Offer, and L. Papke, “Iterative decoding of binary block and convolutional codes,” IEEE Trans. Inf. Theory, vol. 42, no. 2, pp. 429–445, Mar. 1996.