1 Design of LDPC codes Codes from finite geometries Random codes: Determine the connections of the bipartite Tanner graph by using a (pseudo)random algorithm.

Slides:



Advertisements
Similar presentations
Cyclic Code.
Advertisements

Error Control Code.
8.3 Representing Relations Connection Matrices Let R be a relation from A = {a 1, a 2,..., a m } to B = {b 1, b 2,..., b n }. Definition: A n m  n connection.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Information and Coding Theory
(speaker) Fedor Groshev Vladimir Potapov Victor Zyablov IITP RAS, Moscow.
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
Label Placement and graph drawing Imo Lieberwerth.
Matrix Algebra Matrix algebra is a means of expressing large numbers of calculations made upon ordered sets of numbers. Often referred to as Linear Algebra.
Improving BER Performance of LDPC Codes Based on Intermediate Decoding Results Esa Alghonaim, M. Adnan Landolsi, Aiman El-Maleh King Fahd University of.
1 Finite-Length Scaling and Error Floors Abdelaziz Amraoui Andrea Montanari Ruediger Urbanke Tom Richardson.
Cooperative Multiple Input Multiple Output Communication in Wireless Sensor Network: An Error Correcting Code approach using LDPC Code Goutham Kumar Kandukuri.
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
Chapter 3 The Greedy Method 3.
By Hua Xiao and Amir H. Banihashemi
Near Shannon Limit Performance of Low Density Parity Check Codes
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Asymptotic Enumerators of Protograph LDPCC Ensembles Jeremy Thorpe Joint work with Bob McEliece, Sarah Fogal.
Conditional Regularity and Efficient testing of bipartite graph properties Ilan Newman Haifa University Based on work with Eldar Fischer and Noga Alon.
Low Density Parity Check Codes LDPC ( Low Density Parity Check ) codes are a class of linear bock code. The term “Low Density” refers to the characteristic.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
RAPTOR CODES AMIN SHOKROLLAHI DF Digital Fountain Technical Report.
EE436 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Interconnect Efficient LDPC Code Design Aiman El-Maleh Basil Arkasosy Adnan Al-Andalusi King Fahd University of Petroleum & Minerals, Saudi Arabia Aiman.
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Generalized Communication System: Error Control Coding Occurs In Right Column. 6.
The Role of Specialization in LDPC Codes Jeremy Thorpe Pizza Meeting Talk 2/12/03.
CS774. Markov Random Field : Theory and Application Lecture 10 Kyomin Jung KAIST Oct
Analysis of Iterative Decoding
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Block-LDPC: A Practical LDPC Coding System Design Approach
Wireless Mobile Communication and Transmission Lab. Theory and Technology of Error Control Coding Chapter 7 Low Density Parity Check Codes.
Combinatorial Algorithms Reference Text: Kreher and Stinson.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 12.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
Hamming codes. Golay codes.
Information Theory Linear Block Codes Jalal Al Roumy.
Part 1: Overview of Low Density Parity Check(LDPC) codes.
Low Density Parity Check codes
Multi-Split-Row Threshold Decoding Implementations for LDPC Codes
Perfect and Related Codes
Some Computation Problems in Coding Theory
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
Chapter 13 Backtracking Introduction The 3-coloring problem
Chapter 9: Graphs.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering,
1 Aggregated Circulant Matrix Based LDPC Codes Yuming Zhu and Chaitali Chakrabarti Department of Electrical Engineering Arizona State.
Hamming codes. Golay codes.
IERG6120 Lecture 22 Kenneth Shum Dec 2016.
The Viterbi Decoding Algorithm
The minimum cost flow problem
B+ Tree.
Factor Graphs and the Sum-Product Algorithm
Rate 7/8 (1344,1176) LDPC code Date: Authors:
Progress report of LDPC codes
3.3 Applications of Maximum Flow and Minimum Cut
Optimizing LDPC Codes for message-passing decoding.
Information Redundancy Fault Tolerant Computing
Chris Jones Cenk Kose Tao Tian Rick Wesel
Cyclic Code.
ITEC 2620M Introduction to Data Structures
5.4 T-joins and Postman Problems
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Selection procedure of turbo code parameters by combinatorial optimization Yannick Saouter 24/06/2019.
Error Correction Coding
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

1 Design of LDPC codes Codes from finite geometries Random codes: Determine the connections of the bipartite Tanner graph by using a (pseudo)random algorithm observing the degree distribution of the code-bit vertices and the parity check vertices Regular Irregular Graph theoretic codes Combinatorial codes Other algebraic constructions

2 Column splitting Can be applied to any code; also those designed by use of finite geometries Effects: The variable nodes in the Tanner graph are split into several nodes The new extended code C ext will have More information symbols (higher n) Higher code rate (J is constant; rank of H may drop but usually not by much) Row weight is unchanged. Any two columns will still have at most one 1 in common The column weight is reduced from its original value  to  ext The minimum distance is reduced Cycles in the Tanner graph are broken

3 Column splitting; Example (4095,3367) type-I 2-dimensional (0,6)th order EG code Split each column of H into 16 new columns C ext is a (65520,61425) code with  =64,  ext =4,R=0.9375, r= dB

4 Column splitting; Example (16383,14197) type-I 2-dimensional (0,7)th order EG code Split each column of H into 32 new columns C ext is a code with n=524256,  =128,  ext =4,R=0.97, r= dB

5 Column splitting Column splitting of cyclic code -> extended code is usually not cyclic By starting with a parity check matrix consisting of n  n circulant submatrices, and splitting each column in a ”rotating” fashion into a fixed number of new columns, the extended code will be quasi-cyclic PG codes: J may not be a multiple of n, so a modification of the above procedure is necessary

6 Row splitting Can be applied to any code Effects: The parity check nodes in the Tanner graph are split into several nodes The new code will have Same length as original code More parity check checks (higher J). Lower code rate Column weight is unchanged. Any two columns will still have at most one 1 in common. The minimum distance ought to increase The row weight is reduced Cycles in the Tanner graph are broken Can be combined with column splitting

7 Column+Row splitting; Example (255,175) type-I 2-dimensional (0,4)th order EG code Split each column of H into 5 new columns, each row into two rows C ext is a (1275,765),  =8, column weights 3 and 4, R=0.6, r= dB

8 Column+Row splitting; Example ( ) type-I 2-dimensional (0,6)th order EG code Split each column of H into 16 new columns, each row into 3 rows C ext is a (65520,53235), row weights 21 and 22,  =8, same rate 0.7dB

9 Cycle breaking Splitting rows and columns changes the Tanner graph: Column splitting Row splitting

10 Cycle breaking Splitting columns to break a cycle of length 4: Splitting rows to break a cycle of length 4:

11 Cycle breaking Splitting columns to break a cycle of length 6:

12 Effect of cycle breaking Increases the number of nodes and hence complexity of the message passing algorithms (SPA/bit flipping algorithm) Reduces the number of cycles and so improves decoding performance

13 Example of cycle breaking (7,4) Hamming code. Here: Cyclic version 21 4-cycles No 4-cycles

14 Example of cycle breaking (7,4) Hamming code. Tanner graph

15 Example of cycle breaking (14,8) Extended Hamming code. Performance

16 Example 2 of cycle breaking (23,12) Golay code. Here: Cyclic version cycles

17 Example of cycle breaking (46,24) Extended Golay code obtained by random splitting of columns. 106 cycles of length 4, and weight distribution:

18 Performance of (46,24) LDPC code HD (23,12) SPA (23,12) ML (23,12)

19 Random LDPC codes LDPC codes reinvented by Mackay (1995) using random codes Create a matrix of J rows and n columns, with column weight  and row weight  J usually chosen equal to n – k In general,  n =  (n – k) + b where b is the remainder..so we can choose (n – k – b) rows of weight  and b rows of weight  +1

20 Construction of random LDPC codes H i = [h 1,... h i ] is a partial parity check matrix consisting of the first i columns Initialization: H 0 = empty matrix; i = 0; Cand = Set of all nonzero (n – k) –dimensional column vectors of weight  a)Let h be a random column from Cand. Delete h from Cand b)Check whether h has more than one 1 in common with any column in H i-1, or if any row weight exceeds its maximum weight. If so, repeat from a), otherwise proceed c)Set h i = h, and i = i+1. If i  n, then repeat from a). Can use backtracking. Also, select parameters such that the number of weight-  (n – k) –tuples is >> n. Also possible to relax requirements on row weights Actual rank of matrix may end up to be (n – k’) < (n – k). Efficient for small values of , . But lower bound  +1 on minimum distance is not impressive

21 Irregular LDPC codes Use variable nodes of varying degrees and parity check nodes of varying degrees...in order to facilitate decoding Degree distributions  (x) =  i  i x i-1,  (x) =  i  i x i-1 Approach: Density evolution/EXIT graphs Create random LDPC codes according to distributions Optimum degree distribution often contains a large  2, which can lead to a poor minimum distance and high error floor But holds world record: dB from Shannon bound Assumes infinite length and cycle free graphs. Short codes?

22 Improved irregular LDPC codes Extra design rules Degree 2 in parity symbols only No length 4 cycles No short cycles in degree 2 nodes Limit number of degree 2 nodes

23 Graph theoretic LDPC codes Graph G No self-loops No multiple edges between a pair of vertices Let P be a set of n paths of length  that are pairwise disjoint or singularly crossing, and such that the union of nodes involved in the paths contains J nodes Let H be an incidence matrix of P: a J  n matrix such that h i,j =1 iff node i is on path j If each row of H has constant weight , then H defines a ( ,  )-regular LDPC code

24 Graph theoretic LDPC codes: Example

25 Graph theoretic LDPC codes: Example

26 Graph theoretic LDPC codes: Example

27 Graph theoretic LDPC codes Other approaches: Using expander graphs

28 We have skipped: 17.5 PG codes 17.9 Shortened FG LDPC codes Construction of Gallager LDPC codes Masked EG-Gallager codes Construction of QC LDPC codes LDPC codes rom FGs over GF(p s ) LDPC codes from BIBDs LDPC codes from RS codes Concatenations of LDPC and Turbo codes