Design of LDPC codes



Similar documents
LDPC Codes: An Introduction

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Weakly Secure Network Coding

3. Linear Programming and Polyhedral Combinatorics

Efficient Recovery of Secrets

CSE 4351/5351 Notes 7: Task Scheduling & Load Balancing

3/25/ /25/2014 Sensor Network Security (Simon S. Lam) 1

An Adaptive Decoding Algorithm of LDPC Codes over the Binary Erasure Channel. Gou HOSOYA, Hideki YAGI, Toshiyasu MATSUSHIMA, and Shigeichi HIRASAWA

DATA ANALYSIS II. Matrix Algorithms

Efficient LDPC Code Based Secret Sharing Schemes and Private Data Storage in Cloud without Encryption

MOST error-correcting codes are designed for the equal

SECTIONS NOTES ON GRAPH THEORY NOTATION AND ITS USE IN THE STUDY OF SPARSE SYMMETRIC MATRICES

Applied Algorithm Design Lecture 5

Digital Video Broadcasting By Satellite

Linear Codes. Chapter Basics

Practical Graph Mining with R. 5. Link Analysis

Adaptive Linear Programming Decoding

= = 3 4, Now assume that P (k) is true for some fixed k 2. This means that

Coding and decoding with convolutional codes. The Viterbi Algor

Asking Hard Graph Questions. Paul Burkhardt. February 3, 2014

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Graph theoretic techniques in the analysis of uniquely localizable sensor networks

SPANNING CACTI FOR STRUCTURALLY CONTROLLABLE NETWORKS NGO THI TU ANH NATIONAL UNIVERSITY OF SINGAPORE

Large induced subgraphs with all degrees odd

How To Encrypt Data With A Power Of N On A K Disk

Chapter 2 Data Storage

Chapter 1. Search for Good Linear Codes in the Class of Quasi-Cyclic and Related Codes

Network Coding for Security and Error Correction

Approximation Algorithms

USE OF EIGENVALUES AND EIGENVECTORS TO ANALYZE BIPARTIVITY OF NETWORK GRAPHS

The Butterfly, Cube-Connected-Cycles and Benes Networks

A class of quantum LDPC codes: construction and performances under iterative decoding

Nimble Algorithms for Cloud Computing. Ravi Kannan, Santosh Vempala and David Woodruff

Chapter 19. General Matrices. An n m matrix is an array. a 11 a 12 a 1m a 21 a 22 a 2m A = a n1 a n2 a nm. The matrix A has n row vectors

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

DESIGN OF LOW-FLOOR QUASI-CYCLIC IRA CODES AND THEIR FPGA DECODERS. Yifei Zhang. A Dissertation Submitted to the Faculty of the

Least-Squares Intersection of Lines

CIS 700: algorithms for Big Data

Modélisation et résolutions numérique et symbolique

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS

Adaptive Cut Generation Algorithm for Improved Linear Programming Decoding of Binary Linear Codes

USING SPECTRAL RADIUS RATIO FOR NODE DEGREE TO ANALYZE THE EVOLUTION OF SCALE- FREE NETWORKS AND SMALL-WORLD NETWORKS

A Network Flow Approach in Cloud Computing

Linear Algebra Review. Vectors

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

AN ALGORITHM FOR DETERMINING WHETHER A GIVEN BINARY MATROID IS GRAPHIC

ECE 842 Report Implementation of Elliptic Curve Cryptography

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite


5.1 Bipartite Matching

A Brief Introduction to Property Testing

Vector storage and access; algorithms in GIS. This is lecture 6

2.1 Introduction. 2.2 Terms and definitions

Joint Message-Passing Decoding of LDPC Codes and Partial-Response Channels

Distance Degree Sequences for Network Analysis

Solution of Linear Systems

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

Split Nonthreshold Laplacian Integral Graphs

Zachary Monaco Georgia College Olympic Coloring: Go For The Gold

Secure Network Coding via Filtered Secret Sharing

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form

GENERATING SETS KEITH CONRAD

Breaking the Interleaving Bottleneck in Communication Applications for Efficient SoC Implementations

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

1 Introduction to Matrices

Warshall s Algorithm: Transitive Closure

Continued Fractions and the Euclidean Algorithm

Part 2: Community Detection

The Ideal Class Group

DATA ANALYSIS IN PUBLIC SOCIAL NETWORKS

Transportation Polytopes: a Twenty year Update

Math Meets the Bookies: or How to win Football Pools

Automated Model Based Testing for an Web Applications

Systems of Linear Equations

ON INDUCED SUBGRAPHS WITH ALL DEGREES ODD. 1. Introduction

On the Locality of Codeword Symbols

Manifold Learning Examples PCA, LLE and ISOMAP

Midterm Practice Problems

Chapter 7: Termination Detection

Secure Network Coding on a Wiretap Network

Virtual Landmarks for the Internet

2.3 Convex Constrained Optimization Problems

Coding Theorems for Turbo Code Ensembles

FUNDAMENTALS of INFORMATION THEORY and CODING DESIGN

Linear-Time Encodable Rate-Compatible Punctured LDPC Codes with Low Error Floors

Y. Xiang, Constraint Satisfaction Problems

Magnetic Fields. I. Magnetic Field and Magnetic Field Lines

Lecture 2 Introduction to Data Flow Analysis

Sport Timetabling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Lecture Problem Definitions

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

Codes for Network Switches

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Transcription:

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 1

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 the following properties: More code symbols (higher n) Higher code rate (J is constant; rank of H may increase, 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 2

Column splitting: Example (4095,3367) type-i cyclic 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 = 0.00098 0.42 db 3

Column splitting: Example (16383,14197) type-i cyclic 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 = 0.00024 0.3 db 4

Column splitting Column splitting of cyclic code -> extended code is usually not cyclic By starting with a parity check matrix consisting of K n n circulant submatrices, and splitting each column in a rotating and circular 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 5

Can be applied to any code Effects: Row splitting The parity check nodes in the Tanner graph are split into several nodes The new code will have the following properties: Same length as original code More parity checks (higher J) and 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 6

Column + row splitting: Example (255,175) type-i cyclic 2-dimensional (0,4)th order EG code Split each column of H into 5 new columns and each row into 2 rows C ext is a (1275,765) code with ρ = 8, column weights 3 and 4, R = 0.6, r = 0.00627 1.8 db 7

Column + row splitting: Example (4095,3367) type-i cyclic 2-dimensional (0,6)th order EG code Split each column of H into 16 new columns and each row into 3 rows C ext is a (65520,53235) code with row weights 21 and 22, and γ = 4 0.7 db 8

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

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

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

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

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

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

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

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

Example 2 of cycle breaking (46,24) extended Golay code obtained by random splitting of columns. 106 cycles of length 4. The weight distribution is 17

Performance of (46,24) extended Golay code 18

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 is usually chosen equal to n k In general, γn = ρ(n k) + b, where b is the remainder Thus, we can choose (n k b) rows of weight ρ and b rows of weight ρ+1 19

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 = 1; Cand = set of all nonzero (n k) dimensional column vectors of weight γ Let h be a random column from Cand. Delete h from Cand Check whether h has more than one 1 in common with any column in H i-1 and if any (partial) row weight exceeds its maximum weight. If so, choose another h from Cand and repeat. Otherwise, proceed to the next step Set h i = h and i = i+1. If i n, then repeat Can use backtracking. Also, select parameters such that the number of weight-γ (n k) tuples is >> n. Also, it is possible to relax the requirements on row weights The actual rank of H may end up to be (n k ) < (n k) Efficient for small values of ρ and γ, but the lower bound of γ+1 on the minimum distance can be very poor 20

Irregular LDPC codes Use variable nodes of varying degrees and parity check nodes of varying degrees Degree distributions γ(x) = i γ i x i-1 and ρ(x) = i ρ i x i-1 Approach: Density evolution / EXIT charts Create random LDPC codes according to distributions Optimum degree distributions often contain a large γ 2, which can lead to a poor minimum distance and high error floor But holds the world record: 0.0045 db from the Shannon limit The approach assumes infinite block length and cycle free graphs These optimum degree distributions are not optimum for 21 short codes in general

Improved irregular LDPC codes Extra design rules: All degree 2 variable nodes are associated with parity symbols (if possible) No length 4 cycles No short cycles involving degree 2 variable nodes Limit the number of degree 2 variable nodes Degree redistribution 22

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, i.e., 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 23

Graph theoretic LDPC codes: Example 24

Graph theoretic LDPC codes: Example 25

Graph theoretic LDPC codes: Example 26

We have skipped 17.5 PG LDPC codes 17.9 Shortened FG LDPC codes 17.10 Construction of Gallager LDPC codes 17.11 Masked EG-Gallager codes 17.12 Construction of QC LDPC codes 17.13 LDPC codes from FGs over GF(p s ) 17.17 LDPC codes from BIBDs 17.18 LDPC codes from RS codes 17.19 Concatenations of LDPC and Turbo codes 27