Abstract: In this paper we report design examples of Multiple. Serially Concatenated Multiple Parity-Check (M-SC-MPC) codes, we have recently proposed, that ...
Design of Multiple Serially Concatenated Multiple Parity-Check Codes for Wireless Applications Marco Baldi, Giovanni Cancellieri, Franco Chiaraluce and Amedeo De Amicis Università Politecnica delle Marche Ancona, Italy E-mail: {m.baldi; g.cancellieri; f.chiaraluce; a.deamicis}@univpm.it
Abstract: In this paper we report design examples of Multiple Serially Concatenated Multiple Parity-Check (M-SC-MPC) codes, we have recently proposed, that can be suitable for application in high speed wireless networks. We consider some Low-Density Parity-Check (LDPC) codes included in the mobile WiMax standard, and compare their performance with that of M-SC-MPC codes having the same parameters. Our results show that M-SC-MPC codes can even achieve better performance for short block lengths or medium values of code rate. Keywords: Channel coding, Mobile WiMax, M-SC-MPC codes, QC-LDPC codes.
1. INTRODUCTION The scenario of forward error correction has dramatically changed in the last decades, thanks to the introduction of codes based on the so called “turbo principle”, like turbo codes [1] and Low-Density Parity-Check (LDPC) codes [2], [3]. LDPC codes, in particular, have been proved to be able to approach the ultimate channel capacity limits [4], and are knowing an increasing diffusion in many telecommunication standards and practical applications. Very good LDPC codes can be obtained through a constrained random design of the parity-check matrix, but this, together with the need to adopt large codes for achieving good performance, can yield difficulties in their hardware implementation. For this reason, an increasing interest has been devoted to structured LDPC codes, that have characteristic matrices with a very simple inner structure, in such a way as to facilitate their implementation in hardware. A very important class of structured LDPC codes is represented by Quasi-Cyclic (QC) LDPC codes, having parity-check and generator matrices formed by circulant blocks [5]. This form of the characteristic matrices allows efficient encoding and decoding, without penalizing the code performance. However, the design of QC-LDPC codes is block-wise oriented, thus yielding some constraints on the choice of the code parameters. As an alternative, we have recently proposed Multiple Serially Concatenated Multiple Parity-Check (M-SC-MPC)
codes, that allow to design structured LDPC codes without loosing flexibility in the choice of their parameters [6]. In this paper, we show how M-SC-MPC codes can be designed for practical applications, and we compare them with standard QC-LDPC codes. We refer to the IEEE 802.16e (or mobile WiMax) standard, that includes a class of QC-LDPC codes based on circulant permutation matrices [7]. We give some design examples of M-SC-MPC codes with the same parameters as standard QC-LDPC codes, and compare their simulated error correction performance. The paper is organized as follows: Section 2 describes the QC-LDPC codes adopted in the IEEE 802.16e standard. Section 3 summarizes the characteristics of our recently proposed M-SC-MPC codes. Section 4 reports some design examples of M-SC-MPC and their performance comparison with standard QC-LDPC codes. Finally, Section 5 gives some conclusive remarks. 2. QC-LDPC CODES IN MOBILE WIMAX The IEEE 802.16e Mobile Wireless MAN standard, approved in 2005 [7], includes, as an option, the possibility of adopting LDPC codes for forward error correction (FEC). As common in wireless applications, the FEC scheme must be able to adapt itself against variable channel conditions, providing different solutions as tradeoffs between error correction capability and spectral efficiency. For this reason, a family of channel codes with different rates must be provided. In addition, all standards in the IEEE 802 family deal with packet switched networks having variable length blocks; so, flexibility in the block length is a mandatory requirement for channel codes to be used in these systems. In order to fulfill such needs, the IEEE 802.16e standard adopts a family of QC-LDPC codes having variable code rate (R = 1/2, 2/3, 3/4, 5/6), and length (n) ranging between 576 and 2304 bits by a step of 96 bits. These codes are used in conjunction with the following modulation schemes: QPSK, 16-QAM and 64-QAM. Standard QC-LDPC codes have parity-check matrices formed by z×z circulant permutation blocks or null blocks. If we denote as P the z×z unitary circulant permutation:
⎡0 ⎢0 ⎢ P=⎢ ⎢ ⎢0 ⎢1 ⎣
provided by the standard, for different code rates. The standard base matrices for the lowest code rates (1/2 and 2/3) have an additional property: a row permutation exists through which they can be transformed in such a way as to have only orthogonal adjacent rows. This is a desirable property, for example, when implementing layered decoding [9]. As concerns the block length, each standard base matrix can be expanded into 19 parity-check matrices with different size, thus defining as many codes with different length. Each code corresponds to a different expansion factor (zf), that coincides with the size of the circulant blocks forming the parity-check matrix. The longest block provided by the standard is formed by n = 2304 bits, and corresponds to the expansion factor z0 = 96. The other values of zf are those smaller than z0 by the first 18 integer multiples of 4, that is:
1 0 … 0⎤ 0 1 … 0 ⎥⎥ ⎥, ⎥ 0 0 … 1⎥ 0 0 … 0 ⎥⎦
the parity-check matrix of each standard QC-LDPC code can be obtained as follows: ⎡ P p ( 0,0 ) ⎢ p 1,0 ⎢ P ( ) H=⎢ ⎢ ⎢ P p ( rb −1,0) ⎣
P P P
p ( 0,1) p (1,1)
p ( rb −1,1)
p ( 0, nb −1)
⎤ ⎥ p 1, n −1 … P ( b ) ⎥ ⎥. ⎥ p ( rb −1, nb −1) ⎥ … P ⎦ …
P
(1)
zf = z0 – 4f, f = 0…18.
In (1) Pp(i, j), 0 ≤ i ≤ rb – 1, 0 ≤ j ≤ nb – 1, is the z×z circulant permutation matrix corresponding to a shift by p(i, j) positions, p(i, j) œ [0; z − 1]. This allows to obtain a synthetic representation of the parity-check matrices: if each null block is conventionally associated to P−1, matrix H in (1) can be represented in an alternative form through a base matrix, Hbm, having size rb×nb, that contains the p(i, j) values associated to each block. For the IEEE 802.16e standard codes, it is nb = 24, while rb varies according with the code rate. It follows that the code length is n = nbz, the code redundancy is r = rbz and the code dimension is k = n − r. Two examples of Hbm are reported in (2), for the rate 3/4 “A” standard code, and in (3), for the rate 5/6 standard code. We notice from the structure of the base matrix that, for both rates, the parity-check matrices of the codes have a dualdiagonal form, that is, contain only two diagonals of symbols 1 in their rightmost part. This property can facilitate encoding, when accomplished through the parity-check matrix [8], without yielding the penalization in minimum distance that would be due to the inclusion of an identity block. The same also occurs for the other base matrices
R 34 A H bm
⎡6 ⎢62 ⎢ ⎢ 71 =⎢ ⎢38 ⎢ −1 ⎢ ⎣⎢ −1
Once zf has been fixed, the code length (n) and dimension (k) directly follow as: ⎧⎪ n = nb z f , ⎨ ⎪⎩ k = ( nb − rb ) z f .
for p (i, j ) ≤ 0 ⎧ p(i, j ) ⎪ p(i, j , f ) = ⎨ ⎢ p (i, j ) z f ⎥ , ⎥ for p(i, j ) > 0 ⎪⎢ z 0 ⎦ ⎩⎣
6
6
(6)
where ⎢⎣ x ⎥⎦ represents the floor function, that gives the greatest integer smaller than or equal to x. Expressions (6) are slightly changed for the rate 2/3 “A” standard code [7].
0 0
−1 55 −1 12 66 45 79 −1 78 −1 −1 10 −1 22 55 70 82 −1 −1 61 −1 66 9 73 47 64 −1 39 61 43 −1 −1 −1 −1 95 32 0 −1 −1 −1 −1 32 52 55 80 95 22
(5)
The permutations corresponding to each circulant block can be obtained from the base matrix through the following relations:
38 3 93 −1 −1 −1 30 70 −1 86 −1 37 38 4 11 −1 46 48 94 19 84 −1 92 78 −1 15 −1 −1 92 −1 45 24 32 30 −1 −1
63 31 88 20 −1 −1 −1
(4)
51 24 90 44 20 −1 −1 −1 −1
40 56 16
71 53 −1 −1 27 26 48 −1
−1 −1 −1 −1⎤ 0 −1 −1 −1⎥⎥ 0 0 −1 −1⎥ ⎥ −1 0 0 −1⎥ −1 −1 0 0 ⎥ ⎥ −1 −1 −1 0 ⎥⎦ (2)
R 56 H bm
⎡ 1 25 55 −1 ⎢ −1 6 −1 36 =⎢ ⎢ 51 81 83 4 ⎢ ⎣50 −1 50 15
47 4 −1 91 84 8 86 52 82 33 5 0 36 20 4 77 80 40 47 12 79 47 −1 41 21 12 71 14 72 0 44 49 0 0
−1 −1⎤ 0 −1⎥⎥ 67 −1 21 −1 31 24 91 61 81 9 86 78 60 88 67 15 −1 −1 0 0 ⎥ ⎥ −1 36 13 10 11 20 53 90 29 92 57 30 84 92 11 66 80 −1 −1 0 ⎦ 0 0
(3)
3. M-SC-MPC CODES
n = n3 n2
Multiple Serially Concatenated Multiple Parity-Check (MSC-MPC) codes are a class of structured LDPC codes we have recently proposed [6]. They exploit the serial concatenation of very simple component codes, in such a way as to obtain LDPC codes with good performance and very good flexibility in the code design. Furthermore, the component codes have a very simple inner structure, that facilitates the encoder implementation [6]. Fig. 1 shows the scheme of the serial concatenation at the basis of M-SC-MPC codes. The proposed scheme adopts M component codes, each with length ni, dimension ki and redundancy ri, i = 1…M. As it is evident from the figure, serial concatenation is systematic, and each component code simply appends its ri redundancy bits to the input codeword. k
k
Encoder 1
r1
k
r1 r2
k
Encoder 2
r1 r2
rM
Encoder M
Figure 1 – Serial Concatenation in M-SC-MPC codes. So, the serially concatenated code has dimension k (that coincides with the number of information bits given as input to the first component code) and redundancy
n1
r1
r2
r3
Figure 2 – Parity-check matrix of an M-SC-MPC code with M = 3. This allows great flexibility in the code design, since the value of nmax is rather large for common choices of the ri values, and each value of length n ≤ nmax is feasible. Last but not least, the very simple structure of the paritycheck matrix, together with its lower triangular form, allows easy encoding when accomplished through standard techniques, like the back substitution. Alternatively, the regular structure of the component codes can be exploited to adopt very simple encoders, based on rectangular matrices able to calculate a parity bit on each row [6].
M
r = ∑ ri .
4. PERFORMANCE COMPARISON
(7)
i =1
The distinctive feature of M-SC-MPC codes is the form of the component codes. The i-th component code calculates its j-th redundancy bit as the parity-check of the codeword bits whose indexes are smaller than j by an integer multiple of ri. This gives, for the component codes, parity-check matrices that have a very simple structure, basically coincident with a single row of ri×ri identity matrices. The component paritycheck matrices can be combined to obtain a valid paritycheck matrix for the serially concatenated code, that has the form reported in Fig. 2 (for the case with M = 3). As the resulting parity-check matrix is sparse, for large ri’s, the M-SC-MPC codes can be seen as LDPC codes and efficient belief propagation algorithms can be adopted for their decoding. Even more notably, it can be proved that, for distinct, coprime and increasingly ordered ri’s, the matrix is free of length-4 cycles when the following condition is satisfied [6]: M
n ≤ nmax = r1r2 + ∑ ri . i =2
(8)
In this section we consider some examples of QC-LDPC codes included in the IEEE 802.16e standard, and compare their performance with that of suitably designed M-SC-MPC codes having the same parameters. We have considered a first set of M-SC-MPC codes with M = 4; this value of M ensures good performance in the range of signal-to-noise ratio values where standard codes have been optimized. For these codes, we have adopted two values of the code rate, 3/4 and 5/6, and, for each rate, two values of the expansion factor, z7 = 68 and z15 = 36 (that correspond, respectively, to block length n = 1632 and n = 864). In order to assess the effect of a different value of M, we have designed a further M-SC-MPC code having rate 2/3 and expansion factor 68. Table 1 reports the parameters of the MSC-MPC codes designed. n 864
k 648
1632
1224
864
720
1632
1360
1632
1088
R 3/4
M 4
ri’s 29, 43, 61, 83
3/4
4
59, 73, 113, 163
5/6
4
29, 31, 37, 47
5/6
4
37, 53, 73, 109
2/3
5
71, 83, 101, 127, 162
Table 1 – Parameters of the designed M-SC-MPC codes.
The performance of the considered M-SC-MPC codes and their corresponding standard QC-LDPC codes has been assessed through numerical simulation of transmission over the additive white Gaussian noise (AWGN) channel, using quadrature phase-shift keying (QPSK) modulation. Decoding has been accomplished through the sum-product algorithm (SPA) with log-likelihood ratios (LLR) [10]. Simulation results are reported in Figures 3-7 in terms of bit error rate (BER) and frame error rate (FER) as functions of the energy per bit to noise power spectral density ratio (Eb/N0).
approach is able to guarantee better error correction performance, at high signal-to-noise ratios, with respect to the standard QC-LDPC code. For the same code rate, but with longer blocks, the two approaches obtain very close performance, as results from the curves in Fig. 4. A similar conclusion can be drawn for codes with rate 5/6. As we see in Fig. 5 for code length n = 864 and in Fig. 6 for n = 1632, M-SC-MPC codes exhibit BER and FER curves almost overlaid with those of standard QC-LDPC codes. 0
10 0
10
-1
10 -1
10
-2
10 -2
10
Error Rate
-3
Error Rate
-3
10
-4
10
-4
10
10
-5
10 -5
10
-6
10 -6
10
-7
10
M-SC-MPC (864, 648, M=4) BER M-SC-MPC (864, 648, M=4) FER 802.16e (864, 648) BER 802.16e (864, 648) FER
-7
10
-8
10
0.0
-8
10
0.0
0.5
1.0
1.5
2.0
2.5 3.0 Eb/N0 [dB]
M-SC-MPC (864, 720, M=4) BER M-SC-MPC (864, 720, M=4) FER 802.16e (864, 720) BER 802.16e (864, 720) FER
3.5
4.0
4.5
0.5
1.0
1.5
2.0
2.5
5.0
3.0 3.5 Eb/N0 [dB]
4.0
4.5
5.0
5.5
6.0
Figure 5 – Simulated performance for (864, 720) codes.
Figure 3 – Simulated performance for (864, 648) codes. 0
10 0
10
-1
10 -1
10
-2
10
-2
-3
Error Rate
Error Rate
10
-3
10
10
-4
10
-5
10
-4
10
-6
10
-5
10
-6
10
M-SC-MPC (1632, 1224, M=4) BER M-SC-MPC (1632, 1224, M=4) FER 802.16e (1632, 1224) BER 802.16e (1632, 1224) FER
-7
10
-8
10
-7
10
0.0
0.5
1.0
1.5
2.0
2.5 3.0 Eb/N0 [dB]
M-SC-MPC (1632, 1320, M=4) BER M-SC-MPC (1632, 1320, M=4) FER 802.16e (1632, 1320) BER 802.16e (1632, 1320) FER
3.5
4.0
4.5
5.0
0.0
0.5
1.0
1.5
2.0
2.5
3.0 3.5 Eb/N0 [dB]
4.0
4.5
5.0
5.5
6.0
Figure 6 – Simulated performance for (1632, 1320) codes.
Figure 4 – Simulated performance for (1632, 1224) codes. Fig. 3 shows the performance of the shortest codes with rate 3/4 we have considered. As we see from the figure, for high/medium error rates the standard and the M-SC-MPC codes have very similar performance. However, the standard code exhibits a rather high error floor, that instead is absent in the M-SC-MPC code. So, in this case, the M-SC-MPC
To give an example of M-SC-MPC code using a different number of component codes, we consider the standard QCLDPC code with length 1632 and rate 2/3. We have designed an M-SC-MPC with the same parameters, formed by M = 5 component codes, and compared its performance with that of the standard code. The results are shown in Fig. 7. As we notice from the figure, the choice of a higher value of M (that
gives an increased column weight of the parity-check matrix), produces worse performance in the waterfall region, with higher BER and FER curves with respect to those of the standard code. However, performance of the M-SC-MPC code becomes better and better in the error floor region, since its curves keep their slope, and intersect those of the standard code that, instead, exhibit a slope change. So, the M-SCMPC code has better performance than the standard code even for BER ≈ 10−6, that is often required in practical applications.
applications, where FEC schemes must be able to adapt themselves to variable channel conditions. Our conclusion is that the M-SC-MPC codes compare favorably with standard QC-LDPC codes, ensuring higher flexibility in the code design and comparable or better performance. For these reasons, the M-SC-MPC solution could be of interest in practical applications, as an alternative to more traditional approaches based on QC-LDPC codes. REFERENCES
0
10
-1
10
-2
10
Error Rate
-3
10
-4
10
-5
10
-6
10
-7
10
M-SC-MPC (1632, 1088, M=5) BER M-SC-MPC (1632, 1088, M=5) FER 802.16e (1632, 1088) BER 802.16e (1632, 1088) FER
-8
10
0.0
0.5
1.0
1.5
2.0 Eb/N0 [dB]
2.5
3.0
3.5
4.0
Figure 7 – Simulated performance for (1632, 1088) codes. These results seem remarkable, as M-SC-MPC codes are very simple and more flexible than standard QC-LDPC codes, particularly in regard to the value of n, whose only constraint is the satisfaction of (8). Conversely, the length of QC-LDPC codes must be a multiple of the circulant size z. Moreover, while the standard QC-LDPC codes are the result of an optimization process, the considered M-SC-MPC codes have been designed with no specific care, but only taking into account the general design rules mentioned above. So, further margins exist for codes optimization, that could stress even more the advantages evidenced so far. Work is in progress in this direction. 5. CONCLUSION We have presented a comparison between our recently proposed M-SC-MPC codes and QC-LDPC codes included in the IEEE 802.16e standard. Both design techniques aim at obtaining structured paritycheck matrices, that allow to reduce the hardware implementation complexity of encoder and decoder circuits. Both of them are able to ensure good flexibility in the codes parameters, that is an important feature in wireless
[1] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo-codes,” in Proc. IEEE International Conference on Communications (ICC `93), Geneva, Switzerland, vol. 2, pp. 1064-1070, May 1993. [2] R. G. Gallager, “Low Density Parity Check Codes,” Monograph, M.I.T. Press, 1963. [3] T. Richardson and R. Urbanke, “The capacity of lowdensity parity-check codes under message-passing decoding,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 599–618, Feb. 2001. [4] C. Sae-Young, G. Forney, T. Richardson, and R. Urbanke, “On the design of low-density parity-check codes within 0.0045 dB of the Shannon limit,” IEEE Commun. Lett., vol. 5, no. 2, pp. 58–60, Feb. 2001. [5] M. P. C. Fossorier, “Quasi-cyclic low-density paritycheck codes from circulant permutation matrices,” IEEE Trans. Inform. Theory, vol. 50, no. 8, pp. 1788–1793, Aug. 2004. [6] M. Baldi, G. Cancellieri, A. Carassai, and F. Chiaraluce, “LDPC codes based on serially concatenated multiple parity-check codes,” IEEE Commun. Lett., vol. 13, no. 2, pp. 142–144, Feb. 2009. [7] 802.16e 2005, IEEE Standard for Local and Metropolitan Area Networks - Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems, IEEE Std., Dec. 2005. [8] C. Yoon, E. Choi, M. Cheong, and L. S.-K., “Arbitrary bit generation and correction technique for encoding QC-LDPC codes with dual-diagonal parity structure,” in Proc. IEEE WCNC 2007, Hong Kong, pp. 663–667, Mar. 2007. [9] D. E. Hocevar, “A reduced complexity decoder architecture via layered decoding of LDPC codes,” in Proc. IEEE Workshop on Signal Processing Systems (SIPS 2004), Austin, Texas, pp. 107-112, Oct. 2004. [10] J. Hagenauer, E. Offer, and L. Papke, “Iterative decoding of binary block and convolutional codes,” IEEE Trans. Inform. Theory, vol. 42, no. 2, pp. 429– 445, Mar. 1996.