An Efficient Early Stopping Scheme for LDPC Decoding Based on Check-Node Messages Z. H. Cai1, J. Hao1 and L. Wang2 1

Institute for Infocomm Research, 21 Heng Mui Keng Terrace, Singapore 119613 2

Dept. of Electronic Engineering Xia Men University XiaMen 361005, China

Abstract – An efficient early stopping method is proposed in this paper to reduce the average number of iterations for low density parity check (LDPC) decoders. The method is very efficient especially when the channel signal-to-noise ratio (SNR) is low. It is based on the estimation of the log-likelihood ratio (LLR) messages of the check nodes.

I.

INTRODUCTION

The remarkable performance of LDPC codes has positioned themselves as part of many emerging digital communication systems, such as DVB-S2 [1] and IEEE 802.16e [2]. The LDPC codes are usually decoded by some iterative message-passing algorithms [6, 9]. At the end of each iteration estimation is made based on the hard decision of the variable node messages and the iteration terminates if it fulfils all parity check equations, otherwise the iteration continues until a preset maximum iteration number is reached. For undecodable blocks it is a waste of power and processing time. It is highly desirable to detect such undecodable blocks and to terminate the decoding process in the early stage. Some early stopping methods are proposed for LDPC codes in [3-5]. Convergence of mean magnitude (CMM) [3] is based on the evolution of the variable node messages along the decoding process; convergence of mean checksum of check nodes is monitored in [4]. They both can effectively detect the undecodable blocks and reduce the average iteration number. However, the CMM in [3] will suffer certain performance loss when inappropriate Ȝ is chosen whereas SNR estimation is needed in [4]. In this paper an early stopping method is proposed based on the evolution of the log-likelihood ratio (LLR) messages of the check node. It makes use of both the check node mean magnitude (CNMM) and the check node mean checksum (CNMC). Simulation results show that the method is very

1-4244-2424-5/08/$20.00 ©2008 IEEE

efficient at low SNR region where most blocks are undecodable, meanwhile the decoding performance is maintained for all SNR regions.

THE EVOLUTION OF CHECK NODE MESSAGE

II.

Assume the messages exchanged during the decoding process to be LLR. The update of the variable node message th Qij(l ) at the (l) iteration is simple:

Qij( l ) = Qi( l ) − R (jil −1) where Qi(l ) = λ0 +

¦R

( l −1) ki

(1)

is the summation of the

k∈N ( i )

channel LLR

λ0

and all incident check node messages

. R is the check node message at the (l-1)th iteration. The check node update is as follows. For Standard Belief Propagation [6], R

( l −1) ki

( l −1) ji

R (jil ) =

∏ sign(Q )× ϕ

i′∈N ( j ) \ i

( l −1) i′j

−1

(

§ ¨ ¦ϕ Qi(′jl −1) ¨′ © i ∈N ( j ) \i

)·¸¸ ,

(2)

¹

where ϕ ( x ) = log (tanh ( x / 2 )) . For a simplified nor-minsum (NMS) [7] check node update,

R (jil ) = α ×

∏ sign (Q )×

i′∈N ( j ) \i

( l −1) i′j

(

)

min Qi(′jl −1) ,

i′∈N ( j ) \ i

(3)

where Į < 1 is the normalization factor. The value of Į depends on specific LDPC code and usually determined by numerical simulation. NMS is extensively used for hardware implementation due to its simplicity and nearly negligible performance loss. The following discussion is based on NMS and layered decoding [9].

1325

ICCS 2008

For our early stopping scheme the evolution of the following two variables are investigated: CNMM (l ) ≡

M

(

¦R

1 M

§ 1 − sign Qi(′jl −1) ¨ xor ¦ i′∈N ( j )¨ 2 j =1 ©

j =1

(l ) j

=

)

1 M α ¦ min Qi(′jl −1) , M j =1 i′∈N ( j )

1 M

(4)

and

CNMC (l ) ≡

M

(

)·¸ ¸ ¹

(5)

Eqn (4) is the check node mean magnitude (CNMM), i.e., the mean value of the minimums of all incident variable node reliabilities; Eqn (5) is the check node mean checksum (CNMC), i.e., the mean value of the checksums for all M check nodes of the code. Apparently CNMC will be return to 0 after some number of iterations if the received block is decoded successfully. The evolution of these two quantities is illustrated in Figure 1 for a (8000, 4000) rate ½ LDPC Gallager code with column weight = 3 [8]. The right-hand-side part of the Figure 1 shows the details of the decoding process in the early decoding stages. It can be seen that the CNMM behaves very much similar with the mean magnitude of the variable node messages introduced in [3]: for decodable blocks it increases very fast after certain iterations, whereas for undecodable blocks the CNMM shows fluctuations during the whole decoding process and does not improve at all. The CNMC behaves very much different for decodable and undecodable blocks as well: it decreases rapidly to zero after certain iterations for decodable blocks, whereas for undecodable blocks the CNMC shows heavy fluctuations and never returns to zero. Another feature that can be seen from the right-hand-side of Figure 1 is that if the CNMMs/CNMCs are larger/smaller than certain thresholds T1/T2 at the early decoding stages, it is very likely the noisy block is decodable. The T1 and T2 marked in Figure 1 are for 2nd decoding iteration. This feature suggest that we can disable the early stopping when the block belongs to the ‘decodable’ region (i.e., the channel SNR is high), since it is highly possible that received blocks with CNMM and CNMC exceeding the thresholds T1 and T2 can be decoded. T1 and T2 are free from channel estimate error and depend on the specific LDPC code.

III.

THE PROPOSED EARLY STOPPING METHOD

An early stopping method is proposed based on above observation. The advantage of using two constraints (i.e., CNMM and CNMC) rather than one constraint proposed in [3-5], is that it predicts the threshold more precisely and needs less number of iterations for undecodable blocks. Another advantage is it does not need the SNR estimation so

it is free from channel mismatch error. The method is described as follows. 1) Set T1 and T2 for CNMM and CNMC. Set P and reset the counter. 2) Disable the early stopping if CNMM(2) > T1 or CNMC(2) < T2. 3) If the early stopping is enabled and if CNMM(l) < CNMM(l-1) and CNMC(l) > CNMC(l-1) increase the counter, otherwise reset the counter. 4) If the early stopping is enabled and if the counter reaches P or l = Max_iter, terminate the decoding process, otherwise go to next iteration. The idea is to decide whether to enable the early stopping at the very first stages (at the 2nd iteration in our scheme) by comparing CNMM/CNMC against T1/T2, and if the early stopping is enabled, P consecutive CNMM drops and CNMC increases will trigger the early stopping. Whereas if the decision is to disable the early stopping, the decoding process continues as conventional procedure. This is to prevent the performance loss at higher SNR regions. Compared to the method proposed in [3-4], this approach needs less average number of iterations for lower SNR region. The method has been extensively tested for many LDPC codes. For our simulation, Layered decoding [9] with NMS check node update is used, and the normalization factor Į is fixed to 0.9. For comparison purpose the maximum iteration number Max_iter is set to 200, as in [3]. Figure 2 shows the Word Error Rate (WER) and the average iteration number (AIN) for a LDPC code with length N = 1920 and rate R = 1/3, degree dv = 2, 3 and dc = 4 from [8] (The same code is used in [3]) on AWGN channel. It can be seen from the Figure that better performance is achieved when compared with the result reported in [3]. For this code, T1 = 2.1, T2 = 0.1, and P = 2 appears to be a good choice. It can be seen that due to the early stopping disabled at higher SNR region, the performance is almost the same as the decoding performance of standard approach without using early stopping, whereas the average number of iterations is significantly reduced. Another LDPC code illustrated in Figure 2 is the short code (16200, 7200) defined in DVB-S2 [1]. It is based on extended irregular repeat accumulate (eIRA) codes [10]. The eIRA codes achieve good performance by assigning degree2 nodes to nonsystematic bits and ensuring that the degree-2 nodes do not form a cycle amongst themselves. For this code T1 = 2.02, T2 = 0.1, and P is set to 2. As can be seen in this Figure, same conclusion is drawn for this code. No much performance loss is incurred due to the early stopping; and the number of iterations is reduced dramatically for lower SNR region.

1326

IV.

SUMMARY

An efficient early stopping method for LDPC decoding has been presented in the paper. It is based on the monitoring of the evolution of check node messages. Both the mean magnitude and the mean checksum of check node messages are used to decide whether to disable the early stopping at the early stage of decoding process. Numerical simulation shows that the performance of our scheme is almost indistinguishable from the conventional decoding without early stopping. Meanwhile, the average iteration number of our scheme is reduced dramatically. The scheme is very efficient especially when the channel SNR is lower. As shown in Figure 2 (b), when compared with [3], fewer number of iterations are needed to stop the decoding process for those undecodable blocks. Since both CNMM and CNMC are based on check node messages, the computational load of our approach is lighter than those based on variable node messages, especially for high rate LDPC codes.

REFERENCES [1] European Telecommunications Standards Institute. Digital video broadcasting (DVB) second generation framing structure, channel coding and modulation systems for broadcasting, interactive services, news gathering and other broadband satellite applications. DRAFT EN 302 307 DVBS2-74r15, 2003.

[2] IEEE P802.16e/D12, “Draft IEEE Standard for Local and Metropolitan Area Networks. Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems,” Oct. 2005. [3] J. Li, X. H. You and J. Li, “Early stopping for LDPC secoding: convergence of mean magnitude (CMM),” IEEE Comm. Letters, vol. 10, no. 9, Sept. 2006. [4] Z. Cui, L. Chen, and Z. Wang, “An Efficient Early Stopping Scheme for LDPC Decoding,” 13th NASA symposium on VLSI design, Idaho, Jun. 2007. Available: http://www.cambr.uidaho.edu/symposiums/13TH_NASA_VL SI_Proceedings/ [5] F. Kienle, N. Wehn, "Low-Complexity Stopping Criterion for LDPC Code Decoders", IEEE Vehicular Technology Conference VTC-Spring, 2005. [6] R. G. Gallager. Low-Density Parity-Check Codes. PhD thesis, Massachusetts Institute of Technology, Cambridge, MA, 1960. [7] M. Fossorier, M. Mihaljevic and H. Imai, “Reduced complexity iterative decoding of low-density parity check codes based on belief propagation,” IEEE Trans. Commun., vol. 47, pp. 673-680, May 1999. [8] D. Mackay, D. MacKay's Gallager code resources [Online]. Available: http://www.inference.phy.cam.ac.uk/mackay/codes/ [9] D. E. Hocevar, "A reduced complexity decoder architecture via layered decoding of LDPC codes," IEEE. SiPS 2004 pp. 107- 112, Oct. 2004. [10] M. Yang, W. E. Ryan, and Y. Li. Design of efficiently encodable moderatelength high-rate irregular LDPC codes. IEEE Trans. Commun., 52:564–571, Apr. 2004.

1327

CNMM

CNMM (zoom in)

20

3

15

2.5 T1

10

2

'decodable' region

'undecodable' region

SNR = 1.3 dB 5

SNR = 0.8 dB

1.5

SNR = 0.3 dB 0

0

20

40 60 iteration number

80

1

100

0

1

2

CNMC

3 4 iteration number

5

6

5

6

CNMC (zoom in)

0.25

0.2

0.2

0.18

0.15

0.16 'undecodable'

0.1

0.14 region T2 'decodable' region

0.05

0

0.12

0

20

40 60 iteration number

80

0.1

100

0

1

2

3 4 iteration number

Figure 1 The evolution of CNMM and CNMC for a (8000, 4000) Gallager code with column weight = 3 [8].

1328

0

10

-1

Word Error Rate

10

-2

10

-3

10

(1920, 640) w/o early stopping (1920, 640) w early stopping (16200, 7200) w/o early stopping (16200, 7200) w early stopping

-4

10

0

0.2

0.4

0.6

0.8 1 EbN0

1.2

1.4

1.6

1.8

(a) 200 (1920, 640) w/o early stopping (1920, 640) w early stopping (16200, 7200) w/o early stopping (16200, 7200) w early stopping

180

160

Average Iteration Number

140

120

100

80

60

40

20

0

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

EbN0

(b) Figure 2 Word Error Rate (WER) and the Average Iteration Number (AIR) for (1920, 640) from [8] and (16200, 7200) from [1]

1329

Institute for Infocomm Research, 21 Heng Mui Keng Terrace, Singapore 119613 2

Dept. of Electronic Engineering Xia Men University XiaMen 361005, China

Abstract – An efficient early stopping method is proposed in this paper to reduce the average number of iterations for low density parity check (LDPC) decoders. The method is very efficient especially when the channel signal-to-noise ratio (SNR) is low. It is based on the estimation of the log-likelihood ratio (LLR) messages of the check nodes.

I.

INTRODUCTION

The remarkable performance of LDPC codes has positioned themselves as part of many emerging digital communication systems, such as DVB-S2 [1] and IEEE 802.16e [2]. The LDPC codes are usually decoded by some iterative message-passing algorithms [6, 9]. At the end of each iteration estimation is made based on the hard decision of the variable node messages and the iteration terminates if it fulfils all parity check equations, otherwise the iteration continues until a preset maximum iteration number is reached. For undecodable blocks it is a waste of power and processing time. It is highly desirable to detect such undecodable blocks and to terminate the decoding process in the early stage. Some early stopping methods are proposed for LDPC codes in [3-5]. Convergence of mean magnitude (CMM) [3] is based on the evolution of the variable node messages along the decoding process; convergence of mean checksum of check nodes is monitored in [4]. They both can effectively detect the undecodable blocks and reduce the average iteration number. However, the CMM in [3] will suffer certain performance loss when inappropriate Ȝ is chosen whereas SNR estimation is needed in [4]. In this paper an early stopping method is proposed based on the evolution of the log-likelihood ratio (LLR) messages of the check node. It makes use of both the check node mean magnitude (CNMM) and the check node mean checksum (CNMC). Simulation results show that the method is very

1-4244-2424-5/08/$20.00 ©2008 IEEE

efficient at low SNR region where most blocks are undecodable, meanwhile the decoding performance is maintained for all SNR regions.

THE EVOLUTION OF CHECK NODE MESSAGE

II.

Assume the messages exchanged during the decoding process to be LLR. The update of the variable node message th Qij(l ) at the (l) iteration is simple:

Qij( l ) = Qi( l ) − R (jil −1) where Qi(l ) = λ0 +

¦R

( l −1) ki

(1)

is the summation of the

k∈N ( i )

channel LLR

λ0

and all incident check node messages

. R is the check node message at the (l-1)th iteration. The check node update is as follows. For Standard Belief Propagation [6], R

( l −1) ki

( l −1) ji

R (jil ) =

∏ sign(Q )× ϕ

i′∈N ( j ) \ i

( l −1) i′j

−1

(

§ ¨ ¦ϕ Qi(′jl −1) ¨′ © i ∈N ( j ) \i

)·¸¸ ,

(2)

¹

where ϕ ( x ) = log (tanh ( x / 2 )) . For a simplified nor-minsum (NMS) [7] check node update,

R (jil ) = α ×

∏ sign (Q )×

i′∈N ( j ) \i

( l −1) i′j

(

)

min Qi(′jl −1) ,

i′∈N ( j ) \ i

(3)

where Į < 1 is the normalization factor. The value of Į depends on specific LDPC code and usually determined by numerical simulation. NMS is extensively used for hardware implementation due to its simplicity and nearly negligible performance loss. The following discussion is based on NMS and layered decoding [9].

1325

ICCS 2008

For our early stopping scheme the evolution of the following two variables are investigated: CNMM (l ) ≡

M

(

¦R

1 M

§ 1 − sign Qi(′jl −1) ¨ xor ¦ i′∈N ( j )¨ 2 j =1 ©

j =1

(l ) j

=

)

1 M α ¦ min Qi(′jl −1) , M j =1 i′∈N ( j )

1 M

(4)

and

CNMC (l ) ≡

M

(

)·¸ ¸ ¹

(5)

Eqn (4) is the check node mean magnitude (CNMM), i.e., the mean value of the minimums of all incident variable node reliabilities; Eqn (5) is the check node mean checksum (CNMC), i.e., the mean value of the checksums for all M check nodes of the code. Apparently CNMC will be return to 0 after some number of iterations if the received block is decoded successfully. The evolution of these two quantities is illustrated in Figure 1 for a (8000, 4000) rate ½ LDPC Gallager code with column weight = 3 [8]. The right-hand-side part of the Figure 1 shows the details of the decoding process in the early decoding stages. It can be seen that the CNMM behaves very much similar with the mean magnitude of the variable node messages introduced in [3]: for decodable blocks it increases very fast after certain iterations, whereas for undecodable blocks the CNMM shows fluctuations during the whole decoding process and does not improve at all. The CNMC behaves very much different for decodable and undecodable blocks as well: it decreases rapidly to zero after certain iterations for decodable blocks, whereas for undecodable blocks the CNMC shows heavy fluctuations and never returns to zero. Another feature that can be seen from the right-hand-side of Figure 1 is that if the CNMMs/CNMCs are larger/smaller than certain thresholds T1/T2 at the early decoding stages, it is very likely the noisy block is decodable. The T1 and T2 marked in Figure 1 are for 2nd decoding iteration. This feature suggest that we can disable the early stopping when the block belongs to the ‘decodable’ region (i.e., the channel SNR is high), since it is highly possible that received blocks with CNMM and CNMC exceeding the thresholds T1 and T2 can be decoded. T1 and T2 are free from channel estimate error and depend on the specific LDPC code.

III.

THE PROPOSED EARLY STOPPING METHOD

An early stopping method is proposed based on above observation. The advantage of using two constraints (i.e., CNMM and CNMC) rather than one constraint proposed in [3-5], is that it predicts the threshold more precisely and needs less number of iterations for undecodable blocks. Another advantage is it does not need the SNR estimation so

it is free from channel mismatch error. The method is described as follows. 1) Set T1 and T2 for CNMM and CNMC. Set P and reset the counter. 2) Disable the early stopping if CNMM(2) > T1 or CNMC(2) < T2. 3) If the early stopping is enabled and if CNMM(l) < CNMM(l-1) and CNMC(l) > CNMC(l-1) increase the counter, otherwise reset the counter. 4) If the early stopping is enabled and if the counter reaches P or l = Max_iter, terminate the decoding process, otherwise go to next iteration. The idea is to decide whether to enable the early stopping at the very first stages (at the 2nd iteration in our scheme) by comparing CNMM/CNMC against T1/T2, and if the early stopping is enabled, P consecutive CNMM drops and CNMC increases will trigger the early stopping. Whereas if the decision is to disable the early stopping, the decoding process continues as conventional procedure. This is to prevent the performance loss at higher SNR regions. Compared to the method proposed in [3-4], this approach needs less average number of iterations for lower SNR region. The method has been extensively tested for many LDPC codes. For our simulation, Layered decoding [9] with NMS check node update is used, and the normalization factor Į is fixed to 0.9. For comparison purpose the maximum iteration number Max_iter is set to 200, as in [3]. Figure 2 shows the Word Error Rate (WER) and the average iteration number (AIN) for a LDPC code with length N = 1920 and rate R = 1/3, degree dv = 2, 3 and dc = 4 from [8] (The same code is used in [3]) on AWGN channel. It can be seen from the Figure that better performance is achieved when compared with the result reported in [3]. For this code, T1 = 2.1, T2 = 0.1, and P = 2 appears to be a good choice. It can be seen that due to the early stopping disabled at higher SNR region, the performance is almost the same as the decoding performance of standard approach without using early stopping, whereas the average number of iterations is significantly reduced. Another LDPC code illustrated in Figure 2 is the short code (16200, 7200) defined in DVB-S2 [1]. It is based on extended irregular repeat accumulate (eIRA) codes [10]. The eIRA codes achieve good performance by assigning degree2 nodes to nonsystematic bits and ensuring that the degree-2 nodes do not form a cycle amongst themselves. For this code T1 = 2.02, T2 = 0.1, and P is set to 2. As can be seen in this Figure, same conclusion is drawn for this code. No much performance loss is incurred due to the early stopping; and the number of iterations is reduced dramatically for lower SNR region.

1326

IV.

SUMMARY

An efficient early stopping method for LDPC decoding has been presented in the paper. It is based on the monitoring of the evolution of check node messages. Both the mean magnitude and the mean checksum of check node messages are used to decide whether to disable the early stopping at the early stage of decoding process. Numerical simulation shows that the performance of our scheme is almost indistinguishable from the conventional decoding without early stopping. Meanwhile, the average iteration number of our scheme is reduced dramatically. The scheme is very efficient especially when the channel SNR is lower. As shown in Figure 2 (b), when compared with [3], fewer number of iterations are needed to stop the decoding process for those undecodable blocks. Since both CNMM and CNMC are based on check node messages, the computational load of our approach is lighter than those based on variable node messages, especially for high rate LDPC codes.

REFERENCES [1] European Telecommunications Standards Institute. Digital video broadcasting (DVB) second generation framing structure, channel coding and modulation systems for broadcasting, interactive services, news gathering and other broadband satellite applications. DRAFT EN 302 307 DVBS2-74r15, 2003.

[2] IEEE P802.16e/D12, “Draft IEEE Standard for Local and Metropolitan Area Networks. Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems,” Oct. 2005. [3] J. Li, X. H. You and J. Li, “Early stopping for LDPC secoding: convergence of mean magnitude (CMM),” IEEE Comm. Letters, vol. 10, no. 9, Sept. 2006. [4] Z. Cui, L. Chen, and Z. Wang, “An Efficient Early Stopping Scheme for LDPC Decoding,” 13th NASA symposium on VLSI design, Idaho, Jun. 2007. Available: http://www.cambr.uidaho.edu/symposiums/13TH_NASA_VL SI_Proceedings/ [5] F. Kienle, N. Wehn, "Low-Complexity Stopping Criterion for LDPC Code Decoders", IEEE Vehicular Technology Conference VTC-Spring, 2005. [6] R. G. Gallager. Low-Density Parity-Check Codes. PhD thesis, Massachusetts Institute of Technology, Cambridge, MA, 1960. [7] M. Fossorier, M. Mihaljevic and H. Imai, “Reduced complexity iterative decoding of low-density parity check codes based on belief propagation,” IEEE Trans. Commun., vol. 47, pp. 673-680, May 1999. [8] D. Mackay, D. MacKay's Gallager code resources [Online]. Available: http://www.inference.phy.cam.ac.uk/mackay/codes/ [9] D. E. Hocevar, "A reduced complexity decoder architecture via layered decoding of LDPC codes," IEEE. SiPS 2004 pp. 107- 112, Oct. 2004. [10] M. Yang, W. E. Ryan, and Y. Li. Design of efficiently encodable moderatelength high-rate irregular LDPC codes. IEEE Trans. Commun., 52:564–571, Apr. 2004.

1327

CNMM

CNMM (zoom in)

20

3

15

2.5 T1

10

2

'decodable' region

'undecodable' region

SNR = 1.3 dB 5

SNR = 0.8 dB

1.5

SNR = 0.3 dB 0

0

20

40 60 iteration number

80

1

100

0

1

2

CNMC

3 4 iteration number

5

6

5

6

CNMC (zoom in)

0.25

0.2

0.2

0.18

0.15

0.16 'undecodable'

0.1

0.14 region T2 'decodable' region

0.05

0

0.12

0

20

40 60 iteration number

80

0.1

100

0

1

2

3 4 iteration number

Figure 1 The evolution of CNMM and CNMC for a (8000, 4000) Gallager code with column weight = 3 [8].

1328

0

10

-1

Word Error Rate

10

-2

10

-3

10

(1920, 640) w/o early stopping (1920, 640) w early stopping (16200, 7200) w/o early stopping (16200, 7200) w early stopping

-4

10

0

0.2

0.4

0.6

0.8 1 EbN0

1.2

1.4

1.6

1.8

(a) 200 (1920, 640) w/o early stopping (1920, 640) w early stopping (16200, 7200) w/o early stopping (16200, 7200) w early stopping

180

160

Average Iteration Number

140

120

100

80

60

40

20

0

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

EbN0

(b) Figure 2 Word Error Rate (WER) and the Average Iteration Number (AIR) for (1920, 640) from [8] and (16200, 7200) from [1]

1329