• No results found

3.2 GQ codes

3.2.2 Line decoding

In this section, we will explore a novel decoding scheme that attempts to exploit the geometric nature of GQ codes. This decoding scheme does not need floating point precision, unlike the sum-product algorithm, so we will compare it to the standard bit-flipping algorithm.

We can think of adjacent lines in a generalized quadrangle as bits that share a parity-check equation.

Observe that they can only share one equation, because in a generalized quadrangle there are no triangles.

Every bit (or line) could be flipped in an iteration, the idea is to only flip the lines that we are sure will help us decode the received word. If flipping a line makes the syndrome decrease, it is an unreliable line. If most of the lines adjacent to this line are also unreliable, we may want to avoid flipping it until we have flipped lines that we are more certain produce errors. In this spirit, we propose the following decoding scheme:

1 C o n s i d e r a r e c e i v e d w o r d x

2 w h i l e the n u m b e r of i t e r a t i o n s < the m a x i m u m n u m b e r of i t e r a t i o n s : 3 c o m p u t e the s y n d r o m e of x

4 if the s y n d r o m e is 0 , o u t p u t x

5 f l a g the l i n e s t h a t w o u l d d e c r e a s e the s y n d r o m e w h e n f l i p p e d as to - f l i p

6 for e v e r y bit in x :

7 if the m a j o r i t y of l i n e s a d j a c e n t to t h i s bit (l i n e) are f l a g g e d to - flip , f l a g the bit as u n r e l i a b l e

8 if t h e r e is a r e l i a b l e bit to - flip , f l i p the r e l i a b l e bit 9 else, f l i p an u n r e l i a b l e bit

This idea of propagating which lines are reliable and unreliable, inherited from the sum-product algo-rithm, seems promising to investigate. However, a majority vote on the reliability of adjacent lines may not be the best strategy, as it has produced equivalent performance to standard bit-flipping decoding (see Fig. 21).

0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 Probability of error p

10!5 10!4 10!3 10!2 10!1

BER

Q(4; 3) code, line decoding and bit-.ipping decoding

Bit-.ipping decoding GQ line decoding Uncoded

Figure 21: Performance bit-flipping decoding and line decoding using the Q(4, 3) code on a BSC.

4. Summary and future work

In this thesis, we have detailed the main properties of LDPCs and their relationship to expander graphs.

We have seen that there exist asymptotically good LDPCs which can be decoded in linear time. Multiple decoding techniques have been analyzed, both of theoretical and practical interest. Several industry ap-plication of LDPCs have been outlined, and their performance has been empirically evaluated. We have also performed experiments to see that a sufficiently long random LDPC code can outperform a shorter block-length good LDPC code. We have proposed a new family of LDPCs based on generalized quadran-gles, which outperform random codes and have the property of being fully characterized by the GQ that generates them. We have also seen that lifts of these GQ codes also perform better than random codes, and retain the property of needing very little storage capacity. The structure of these codes could allow some of the following ideas to be fruitful:

Future work

ˆ Investigate further on line-decoding for generalized quadrangles: the majority-vote on unreliable adjacent lines may not be the best decoding strategy.

ˆ In order to construct higher rate LDPC codes, random columns could be added to GQ codes via the PEG algorithm.

ˆ Use of GQ and lifted GQ codes in storage-limited scenarios. The parity-check matrix of a GQ code can be obtained from just the name of the GQ, which avoids us having to store a large check matrix.

ˆ Investigating the lift of GQ codes via a known low-storage lift function, to aid in low-storage appli-cations.

ˆ Creating an encyclopedia of GQ codes, analogous to MacKay’s [Mac05], containing their parity-check matrices and their performance in the BSC and BI-AWGN channel.

ˆ Exploiting the generalized quadrangle properties for efficient encoding. Encoding is a problem that has not been treated much in this work, but structured codes may be exploited for efficient encoding.

ˆ Analytically try to find the error-floors of GQ codes with sum-product decoding. While this is an open problem for general LDPC codes, the known structure of GQ codes may prove useful in this sub-problem.

References

[Alc+08] George Alcorn et al. Low Density Parity Check Code for Rate 7/8. Technical Standard 9100.

Greenbelt, MD 20771, USA: NASA Goddard Space Flight Center, Mar. 2008. url: https:

//standards.nasa.gov/file/2593.

[And+07] Kenneth S. Andrews et al. “The Development of Turbo and LDPC Codes for Deep-Space Applications”. In: Proceedings of the IEEE 95.11 (2007), pp. 2142–2156. doi: 10 . 1109 / JPROC.2007.905132.

[Bae+19] Jung Hyun Bae et al. “An overview of channel coding for 5G NR cellular communications”.

In: APSIPA Transactions on Signal and Information Processing 8 (2019), pp. 1–14. doi:

10.1017/ATSIP.2019.10.

[Bal20] Simeon Ball. A Course in Algebraic Error-Correcting Codes. Compact Textbooks in Mathe-matics. Springer International Publishing, 2020. isbn: 9783030411534. doi: 10.1007/978-3-030-41153-4.

[Bam+18] John Bamberg et al. FinInG – Finite Incidence Geometry, Version 1.4.1. 2018. url: www . fining.org.

[BL06] Yonatan Bilu and Nathan Linial. “Lifts, discrepancy and nearly optimal spectral gap”. In:

Combinatorica 26.5 (2006), pp. 495–519. doi: 10.1007/s00493-006-0029-7.

[BW11] Simeon Ball and Zsuzsa Weiner. An introduction to finite geometry. 2011. url: https : //web.mat.upc.edu/simeon.michael.ball/IFG.pdf.

[Cas+19] Adrien Cassagne et al. “AFF3CT: A fast forward error correction toolbox!” In: SoftwareX 10 (2019), p. 100345. doi:10.1016/j.softx.2019.100345.

[CF07] Daniel J Costello and G David Forney. “Channel coding: The road to channel capacity”. In:

Proceedings of the IEEE 95.6 (2007), pp. 1150–1177. doi: 10.1109/JPROC.2007.895188.

url:https://arxiv.org/pdf/cs/0611112.pdf.

[Chu+01] Sae-Young Chung et al. “On the design of low-density parity-check codes within 0.0045 dB of the Shannon limit”. In: IEEE Communications Letters 5.2 (Feb. 2001), pp. 58–60. issn:

1558-2558. doi:10.1109/4234.905935.

[Di+02] Changyan Di et al. “Finite-length analysis of low-density parity-check codes on the binary erasure channel”. In: IEEE Transactions on Information Theory 48.6 (2002), pp. 1570–1579.

doi:10.1109/TIT.2002.1003839.

[DPS20] Erik Dahlman, Stefan Parkvall, and Johan Skold. 5G NR: The next generation wireless access technology. Academic Press, 2020.

[ESL04] Mustafa Eroz, Feng-Wen Sun, and Lin-Nan Lee. “DVB-S2 low density parity check codes with near Shannon limit performance”. In: International Journal of Satellite Communications and Networking 22.3 (2004), pp. 269–279. doi: 10.1002/sat.787.

[Gal63] Robert G Gallager. Low density parity check codes, monograph. 1963. doi: 10 . 7551 / mitpress/4347.001.0001.

[HLW06] Shlomo Hoory, Nathan Linial, and Avi Wigderson. “Expander graphs and their applications”.

In: Bulletin of the American Mathematical Society 43.4 (2006), pp. 439–561. doi:10.1090/

S0273-0979-06-01126-8.

[Li+06] Zongwang Li et al. “Efficient encoding of quasi-cyclic low-density parity-check codes”. In:

IEEE Transactions on Communications 54.1 (2006), pp. 71–81. doi:10.1109/TCOMM.2005.

861667.

[Lub+01] M.G. Luby et al. “Improved low-density parity-check codes using irregular graphs”. In: IEEE Transactions on Information Theory 47.2 (Feb. 2001), pp. 585–598. issn: 1557-9654. doi:

10.1109/18.910576.

[Mac05] David JC MacKay. Encyclopedia of sparse graph codes. 2005. url:http://www.inference.

org.uk/mackay/codes/data.html.

[Orl+02] A. Orlitsky et al. “Stopping sets and the girth of Tanner graphs”. In: Proceedings IEEE International Symposium on Information Theory. 2002, p. 2. doi: 10 . 1109 / ISIT . 2002 . 1023274.

[PLP99] Li Ping, W.K. Leung, and Nam Phamdo. “Low density parity check codes with semi-random parity check matrix”. English. In: Electronics Letters 35 (1 Jan. 1999), pp. 38–39. issn: 0013-5194. doi:10.1049/el:19990065.

[PT09] Stanley E Payne and Joseph Adolf Thas. Finite generalized quadrangles. Vol. 9. European Mathematical Society, 2009. doi:10.4171/066.

[RU01] Thomas J Richardson and R¨udiger L Urbanke. “Efficient encoding of low-density parity-check codes”. In: IEEE transactions on information theory 47.2 (2001), pp. 638–656. doi:10.1109/

18.910579.

[RU08] Tom Richardson and Ruediger Urbanke. Modern coding theory. Cambridge university press, 2008. doi:10.1017/CBO9780511791338.

[Sha48] C. E. Shannon. “A Mathematical Theory of Communication”. In: Bell System Technical Jour-nal 27.3 (1948), pp. 379–423. doi:10.1002/j.1538-7305.1948.tb01338.x.

[Spi96] D.A. Spielman. “Linear-time encodable and decodable error-correcting codes”. In: IEEE Trans-actions on Information Theory 42.6 (Nov. 1996), pp. 1723–1731. issn: 1557-9654. doi:

10.1109/18.556668.

[SS96] M. Sipser and D.A. Spielman. “Expander codes”. In: IEEE Transactions on Information Theory 42.6 (Nov. 1996), pp. 1710–1722. issn: 1557-9654. doi:10.1109/18.556667.

[Tan81] R. Tanner. “A recursive approach to low complexity codes”. In: IEEE Transactions on Infor-mation Theory 27.5 (Sept. 1981), pp. 533–547. issn: 1557-9654. doi:10.1109/TIT.1981.

1056404.

[Tom+17] Martin Tomlinson et al. “LDPC Codes”. In: Error-Correction Coding and Decoding: Bounds, Codes, Decoders, Analysis and Applications. Cham: Springer International Publishing, 2017, pp. 315–354. isbn: 978-3-319-51103-0. doi: 10.1007/978-3-319-51103-0_12.

A. Simulator and auxiliary functions

This annex contains the main code that was developed for the LDPC simulator and other auxiliary functions.

For the full body of code seehttps://github.com/TomasOrtega/LDPC.

A.1 Random matrix generators

The function that is used to generate random codes is the following:

Listing 1: Matlab function generate random H 1 f u n c t i o n H = g e n e r a t e _ r a n d o m _ H ( N , K , o n e s _ p e r _ c o l u m n )

The function that is used to generate random (c, r )-regular codes is the following:

Listing 2: Matlab function generate regular H

1 f u n c t i o n H = g e n e r a t e _ r e g u l a r _ H ( N , K , o n e s _ p e r _ c o l u m n , o n e s _ p e r _ r o w )

13

The Matlab function that was used evaluate the performance of LDPCs in a BSC was the following:

Listing 3: Matlab function BSC error rate

1 f u n c t i o n [ FER , BER ] = B S C _ e r r o r _ r a t e ( ps , K , H , G , p e r m u t a t i o n _ v e c t o r ,

Related documents