• 沒有找到結果。

Proposed Bit Flipping Algorithms for LDPC Con- Con-volutional Codes

Bit-Flipping for LDPC Convolutional Codes

4.2 Proposed Bit Flipping Algorithms for LDPC Con- Con-volutional Codes

The previous work assigns each processor a threshold by user-defined threshold pattern be-fore decoding. The processor does not care about the real situation of bits; for example, the

Figure 4.1: The Performance Comparison between Gallager Bit Flipping and Modified Algorithms for a (128,3,6) LDPC Convolutional Code

average number of unsatisfied equations for a bit is decreasing when the SNR is increasing.

If the number of unsatisfied equations is one for most bits, the processor can not do any-thing under this circumstance; besides, the further iterations are wasted because there are no longer bits get flipped.

Instead of predefine a threshold pattern, we want the processors change their thresh-old over time. We conjecture that the greater the number of unsatisfied equations a bit involved, the more likelihood the error occurs. Besides, when SNR is high, the average number of unsatisfied equations for a bit is small. If the predefined threshold pattern does not consider the case that the maximum number of unsatisfied equations is smaller than any value in the pattern, there would be no bits to be flipped and no update for further iterations. Considering on this case, we propose an idea that makes each processor flip the most probable error bits. Each iteration, we want to flip the bits with greatest number of unsatisfied equations among all bits.

Applying this idea to the LDPC convolutional decoder, there is a problem to solve.

Each processor sees only part of bits, it can not decide whether the number of unsatisfied equations for these bits is the greatest number among all bits or not. Each processor sees only locally maximum number of unsatisfied equations. This difficulty may make each processor flip bits erroneously.

To solve this problem, we let the threshold of processor can be increased if the number of unsatisfied equations for bits in the influence of that processor is larger than the threshold.

For each processor, the threshold is initially assign a small value larger than one. When the decoding window slides through the Tanner graph, there are bits leaving the influence of a processor and entering into the influence of another processor at each time instant. The processor see new nodes and compute the syndrome for the bits that is goring to leave. If the number of unsatisfied equations for leaving bits is greater than the threshold, those bits are flipped by the processor and the processor increases the threshold to the value equally to the number of unsatisfied equations the leaving bits involved.

The initial value is greater than one because we observe that the bits with one unsatisfied equation are correct in most cases. There is error bit involved in the same parity-check equation and makes the nonzero syndrome. Hence, if we set the threshold equal to one, we may flip the correct bits very often, which results worse correcting behavior.

4.3 Simulation Results

In this section, we present the results of proposed bit-flipping decoding algorithms for LDPC convolutional codes. The results are compared with previous works. Our performances have improvements than that of previous works in every case.

Example 1: Bit-flipping decoding for a LDPC-CC with parity-check matrix given by

H(D) =

D D252 D354 D377 D279 D20 D409 D344 D383 D107 D400 D181 D144 D82 D35

The performance results are in Figure 4.2 with maximum iteration 50 for all simulations.

The column weight of this code is three. According to the idea of the previous work, we

Figure 4.2: Bit-Flipping For LDPC Convolutional Codes in example 1.

define the threshold pattern ”3 − 2 − 3 − 2 − · · · ”, and we set the threshold equal to three for Gallager BF algorithm. We have tried to set the threshold equal to two for Gallager BF algorithm, but it works worse than threshold 3 does. We can observe that our proposed algorithm has almost 2 dB improvement than that of previous work and is 4dB improvement than that of Gallager bit-flipping decoding.

Example 2: Bit-flipping decoding for a LDPC-CC with parity-check matrix given by

H(D) =

D + D144 0 D58+ D123 0 D199

D196 D161 D185 D54 D199

0 D + D144 0 D58+ D123 D199

The performance results are in Figure 4.3 with maximum iteration 50 for all simulations.

The column weight of this code is three. According to the idea of the previous work, we define the threshold pattern ”3 − 2 − 3 − 2 − · · · ”, and we set the threshold equal to three for Gallager BF algorithm. We have tried to set the threshold equal to two for Gallager

Figure 4.3: Bit-Flipping For LDPC Convolutional Codes in example 2.

BF algorithm, but it works worse than threshold 3 does. We can observe that our proposed algorithm has about 1.5 dB improvement than that of previous work and 3 dB improvement than that of Gallager bit-flipping decoding.

Example 3: Bit-flipping decoding for a LDPC-CC with parity-check matrix given by

H(D) =

D + D2 0 D4+ D8 0

D5 D9 D10 D20

0 D25+ D19 0 D7+ D14

The performance results are in Figure 4.4 with maximum iteration 50 for all simulations.

The column weight of this code is three. According to the idea of the previous work, we define the threshold pattern ”3 − 2 − 3 − 2 − · · · ”, and we set the threshold equal to three for Gallager BF algorithm. We have tried to set the threshold equal to two for Gallager BF algorithm, but it works worse than threshold 3 does. We can observe that our proposed algorithm has about 1.7 dB improvement than that of previous work and almost 4 dB than

Figure 4.4: Bit-Flipping For LDPC Convolutional Codes in example 3.

that of Gallager bit-flipping decoding.

Chapter 5 Conclusion

In traditional, many people construct LDPC convolutional codes from QC-LDPC codes.

Therefore, only zero, monomial or binomial parity-check matrix for a LDPC convolutional code is discussed. In ML decoding, the performance of equivalent parity-check matrices with polynomial entries or rational entries is the same. We want to figure out that is there any possibility that the performance of rational parity-check matrix is better than that of the equivalent polynomial parity-check matrix in suboptimal decoding such as SPA.

If we want to use Tanner graph for the graph decoding for decoding LDPC convolutional codes with rational parity-check matrix, there is modification must be done to prevent cycles of length four. In our works, we propose a realization of Tanner graph for rational parity-check matrix and the BER performance is better than that of the parity-parity-check matrix with rational directly expanded into polynomial. We also generate rational parity-check matrices from equivalent monomial ones. The decoding results are comparable after we modified our decoding method.

We also discussed the hard decision decoding algorithms for LDPC convolutional codes.

Previous works are done by predefining a threshold pattern for each processor of LDPC convolutional decoder. We proposed an algorithm that can make each processor adaptive to the situations of bits. In decoding process, each processor can update its own threshold without increasing complexity. Besides, the BER performance is better than previous works.

Bibliography

[1] R. G. Gallager, “Low-Density Parity-Check Codes,” IRE Trans. on Inform. Theory, vol. 8, pp. 21-28, Jan. 1962.

[2] Marc P. C. Fossorier, “Quasi-Cyclic Low-Density Parity-Check Codes From Circulant Permutation Matrices,” IEEE Trans. on Inform. Theory, vol. 50, NO. 8, Aug. 2004.

[3] R. Smarandache and P. O. Vontobel, “On Regular Quasi-Cyclic LDPC Codes from Binomials,” in Proc. IEEE Intern. Symp. on Inform. Theory, Chicago, IL, USA, June 27 - July 2 2004, p. 274.

[4] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and Applications, 2nd edition. Englewood Cliffs, NJ: Prentice-Hall, Inc., 2004.

[5] Alberto Jim´enez Felstr¨om and Kamil Sh. Zigangirov, “Time-Varying Periodic Con-volutional Codes With Low-Density Parity-Check Matrix,” IEEE Trans. on Inform.

Theory, vol. 45, NO. 6, Sep. 1999.

[6] A. Sridharan, “Design and Analysis of LDPC Convolutional Codes,” Ph.D. Disserta-tion, University of Notre Dame, Notre Dame, Indiana, 2005.

[7] R. M. Tanner, D. Sridhara, A. Sridharan,T. E. Fuja, and D. J. Costello, “LDPC Block and Convolutional Codes Based on Circulant Matrices,” IEEE Trans. on Inform. The-ory, vol. 50, no. 12, pp. 2966-2984, Dec. 2004.

[8] D. J. C. MacKay and M. C. Davey, “Evaluation of Gallager codes for short block length and high rate applications,” in Codes, Systems and Graphical Models; volume 123 of

IMA Volumes in Mathematics and its applications;, B. Marcus and J. Rosenthal, Eds.

New York: Springer- Verlag, 2000, pp. 113-130.

[9] T. Wadayama, K. Nakamura, M. Yagita, Y. Funahashi, S. Usami and I. Takumi, “Gra-dient Decent Bit Flipping Algorithms for Decoding LDPC codes,” arXiv:0711.0261v2, Apr. 2008.

[10] Xin Sheng Zhou, Bruce F. Cockburn and Stephen Bates, “Improved Iterative Bit Flip-ping Decoding Algorithms for LDPC Convolutional Codes,” IEEE Pacific Rim Confer-ence on Communications, Computers and Signal Processing (PACRIM’07), Victoria, BC, Canada, August 22-24, 2007, pp. 541-544.

[11] Chi-Jen Wu, Yi-Chun Chou, Chung-Hsuan Wang and Chi-chao Chao, “New Construc-tion of LDPC ConvoluConstruc-tional Codes,” in Proc. 2008 IEEE Int. Symp. on Inform. Theory, Toronto, ON, Canada, Jul. 2008, pp. 1040-1044.

相關文件