37
Seminar on QUASI-CYCLIC LDPC CODES Presented by Eapen Varughese B090216EC A-Batch

Quasi Cyclic LDPC codes - Algebraic Construction

Embed Size (px)

DESCRIPTION

Based on a IEEE journal by Shu Lin - "Quasi cyclic LDPC codes- An Algebraic Constuction", published in 2010. Please refer to it for more details.

Citation preview

Page 1: Quasi Cyclic LDPC codes - Algebraic Construction

Seminar on

QUASI-CYCLIC LDPC CODES Presented by Eapen Varughese B090216EC A-Batch

Page 2: Quasi Cyclic LDPC codes - Algebraic Construction

Outline of Presentation

• Introduction to LDPC codes

• Quasi-Cyclic LDPC codes

• Construction of Quasi-Cyclic LDPC codes

• A class of -multiplied RD constrained matrices

• A class of binary QC-LDPC code

Page 3: Quasi Cyclic LDPC codes - Algebraic Construction

What are LDPC codes?

• Founded by R.G.Gallager in 1960’s

• Rediscovered around 10 years ago

• Channel codes- Error correcting codes

Page 4: Quasi Cyclic LDPC codes - Algebraic Construction

What are LDPC codes?

• Linear block code

• Specified by parity check matrices (H)

• Low density

Page 5: Quasi Cyclic LDPC codes - Algebraic Construction

Regular and Irregular

LDPC codes

• An LDPC code is regular if all the rows and columns

have same weights

• An LDPC code is irregular if rows and columns have

multiple weights

Page 6: Quasi Cyclic LDPC codes - Algebraic Construction

Tanner Graphs

• Graphical representation of LDPC codes

• Satisfies parity check equations

• Check nodes-number of parity bits

• Variable nodes-number of bits of codeword

Page 7: Quasi Cyclic LDPC codes - Algebraic Construction

Tanner graphs

Page 8: Quasi Cyclic LDPC codes - Algebraic Construction

LDPC codes in finite field

• A q-ary LDPC code is given by the null space over GF(q)

of sparse parity check matrix H

• It has the following properties

1. Each column has weight

2. Each row has weight

3. RC(row-column) constraint

Page 9: Quasi Cyclic LDPC codes - Algebraic Construction

Need for RC constraint

• Tanner graph is free of cycles of short length – girth is

increased

• If min is the minimum column weight of H, minimum

distance is lower bounded by min +1

Page 10: Quasi Cyclic LDPC codes - Algebraic Construction

Quasi-Cyclic LDPC codes

• If H is an array of sparse circulants of same size over

GF(q), null space gives q-ary quasi-cyclic LDPC codes

Page 11: Quasi Cyclic LDPC codes - Algebraic Construction

General construction of

QC-LDPC codes

It involves three steps

• Matrix representation of field elements

• Code construction

• Masking

Page 12: Quasi Cyclic LDPC codes - Algebraic Construction

Matrix representation-

Binary

• For each i in GF(qm) we form a (qm-1) tuple over GF(2)

called binary location vector of i

cb(i)=(c0, c1, c2,....,cq^m-2) 0≤ i < qm-1

• ci= 1, all other elements 0.

• Binary location vector for 0-element is an all zero (qm-1)

tuple

Page 13: Quasi Cyclic LDPC codes - Algebraic Construction

Matrix representation-

Binary

• Let be a non-zero element of GF(qm)

• Binary location vector cb() of the field element is

the right cyclic shift of the binary location vector cb()

• Form a (qm-1) x (qm-1) matrix B() over GF(2) with the

binary location vectors of , ….,q^m-2 as consecutive

rows

Page 14: Quasi Cyclic LDPC codes - Algebraic Construction

Matrix representation-

Binary

• B() is a (qm-1) x (qm-1) circulant permutation matrix

(CPM) over GF(2)

• Known as the (qm-1)-fold binary matrix dispersion of

• The binary matrix dispersion of the 0-element of GF(qm)

is a (qm-1) x (qm-1) zero matrix

Page 15: Quasi Cyclic LDPC codes - Algebraic Construction

Matrix representation-

Non-binary

• For each i in GF(qm) we form a (qm-1) tuple over GF(qm)

called qm-ary location vector of i

cq^m(i)=(f0, f1, f2,....,fq^m-2) 0≤ i < qm-1

• fi= i, all other elements 0.

• qm-ary location vector for 0-element is an all zero (qm-1)

tuple

Page 16: Quasi Cyclic LDPC codes - Algebraic Construction

Matrix representation-

Non-binary

• Let be a non-zero element of GF(qm)

• qm-ary location vector cq^m() of the field element is

the right cyclic shift of the qm-ary location vector cb()

multiplied by

• Form a (qm-1) x (qm-1) matrix Q() over GF(qm) with the

qm-ary location vectors of , ….,q^m-2 as consecutive

rows

Page 17: Quasi Cyclic LDPC codes - Algebraic Construction

Matrix representation-

Non-binary

• Q() is a (qm-1) x (qm-1) circulant permutation matrix

(CPM) over GF(qm)-known as -multiplied CPM

• Known as the (qm-1)-fold qm-ary matrix dispersion of

• The qm-ary matrix dispersion of the 0-element of GF(qm)

is a (qm-1) x (qm-1) zero matrix

Page 18: Quasi Cyclic LDPC codes - Algebraic Construction

Code construction

• Let W=wi,j0≤i<k,0≤j<n be a k x n matrix over GF(qm)

• w0, w1,…, wk-1 – rows

• ith row wi = (wi,0, wi,1,…, wi,n-1)

Page 19: Quasi Cyclic LDPC codes - Algebraic Construction

Code construction

• W is said to satisfy the -multiplied row distance (RD)-constraint

if for

0 ≤ i

j < k

i ≠ j

0 ≤ c

l < qm – 1,

Hamming distance between the two qm-ary n-tuples, cwi and lwj ,

is at least n – 1

Page 20: Quasi Cyclic LDPC codes - Algebraic Construction

Code construction

• disperse non-zero entry wi,j of W into a binary

(qm-1) x (qm-1) CPM Bi,j=B(wi,j) and

• zero entry of W into a binary (qm-1) x (qm-1) zero matrix

• We obtain a k x n array of (qm-1) x (qm-1) CPM and zero

matrices over GF(2)

Hb = Bi,j0≤i<k, 0≤j<n

Page 21: Quasi Cyclic LDPC codes - Algebraic Construction

Code construction

• disperse non-zero entry wi,j of W into a qm-ary

(qm-1) x (qm-1) -multiplied CPM Qi,j=Q(wi,j) and

• zero entry of W into a (qm-1) x (qm-1) zero matrix

• We obtain a k x n array of (qm-1) x (qm-1) -multiplied

CPM and zero matrices over GF(qm)

Hq^m = Qi,j0≤i<k, 0≤j<n

Page 22: Quasi Cyclic LDPC codes - Algebraic Construction

Code construction

• Arrays Hb and Hq^m are called the binary and qm-ary

(qm-1) fold array dispersions of W

• W is referred to as base-matrix

• They are k(qm-1) x n(qm-1) matrices over GF(2) and

GF(qm)

• Hb and Hq^m satisfies the RC-constraint

Page 23: Quasi Cyclic LDPC codes - Algebraic Construction

Code constuction

• Consider a pair (,) where 1≤ ≤ k, and 1 ≤ ≤ n.

• Let Hb (,) and Hq^m (,) be x subarrays of Hb and Hq^m

• The null spaces of Hb (,) and Hq^m (,) over GF(2) and GF(qm)

give binary and qm-ary QC-LDPC codes

• Codes have length (qm-1) and rate atleast (- )/

Page 24: Quasi Cyclic LDPC codes - Algebraic Construction

Masking

• A set of CPMs in a chosen x subarray Hb(,) can be

replaced by a set of zero matrices

• This replacement is referred to as masking

• Masking results in sparser matrix

• Hence Tanner graph has fewer short cycles

Page 25: Quasi Cyclic LDPC codes - Algebraic Construction

Masking - Binary

• Design a low density x matrix Z(,)=zi,j over GF(2)

Mb(,)=Z(,) x Hb(,)=zi,j Bi,j

zi,j Bi,j= Bi,j for zi,j =1

and zi,j Bi,j= 0 for zi,j =0

Z(,) - masking matrix

Hb(,) the base array

Mb(,) the masked array

Page 26: Quasi Cyclic LDPC codes - Algebraic Construction

Masking - Binary

• Base array satisfies the RC-constraint, so the masked

array also satisfies the RC-constraint, regardless of the

masking matrix

• The null space of the masked array Mb(,) gives a new

binary QC-LDPC code

• Masking is a very effective technique to construct very

sparse parity check matrices for structured LDPC-codes

Page 27: Quasi Cyclic LDPC codes - Algebraic Construction

Masking – Non-binary

• A set of CPMs in a chosen x subarray Hq^m(,) can be

replaced by a set of zero matrices

Mq^m(,)=Z(,) x Hq^m(,)=zi,j Qi,j

zi,j Qi,j= Qi,j for zi,j =1

and zi,j Qi,j= 0 for zi,j =0

• Mq^m(,) is a (qm-1) x (qm-1) matrix over GF(qm)

• The null space over GF(qm) of Mq^m(,) gives a new qm-ary QC-

LDPC code

Page 28: Quasi Cyclic LDPC codes - Algebraic Construction

A Class of -multiplied

RD-constrained matrices

• m elements of GF(qm)- 1, , 2, …, m-1 are linearly

independent- form basis called polynomial basis

• Every element i can be expressed as a linear

combination of these basis functions

𝛼𝑖 = 𝑓𝑖,0𝛼0 + 𝑓𝑖,1𝛼 + ⋅ ⋅ ⋅ + 𝑓𝑖,𝑚−1𝛼

𝑚−1

with 𝑓𝑖,j GF(q)

Page 29: Quasi Cyclic LDPC codes - Algebraic Construction

A Class of -multiplied

RD-constrained matrices

• Let 1 = {𝛼0 = 1, 𝛼, ..., 𝛼𝑡−1} and 2 = {𝛼𝑡, ..., 𝛼𝑚−1} be

two disjoint subsets of

• Let G1 = {0 = 0, B1, . . . , B𝑞^𝑡−1} and G2 = {0 = 0, 1, . .

. , 𝑞^(𝑚−𝑡)−1} be two additive subgroups of GF(𝑞𝑚)

spanned by the sets 1 and 2

Page 30: Quasi Cyclic LDPC codes - Algebraic Construction

A Class of -multiplied

RD-constrained matrices

• Let c = qm-t and n = qt

Wadd,c,n =

𝑊0,0

⋯ 𝑊0, 𝑐 − 1⋮ ⋱ ⋮

𝑊𝑐 − 1,0

⋯ 𝑊𝑐 − 1, 𝑐 − 1

Page 31: Quasi Cyclic LDPC codes - Algebraic Construction

A Class of -multiplied

RD-constrained matrices

• Each submatrix Wi,j has the following properties

Entries formed based on one element in G2 and all n

elements of G1

All n elements of a row are distinct

kth row is formed by adding kth element of G1 to all

entries in top row

Page 32: Quasi Cyclic LDPC codes - Algebraic Construction

A Class of -multiplied

RD-constrained matrices

Any two rows differ in every position

For i ≠ j all entries are non-zero elements

For i = j all entries are zeros

• The matrices Wadd,c,n and Wi,j satisfy the -multiplied RD

constraints.

Page 33: Quasi Cyclic LDPC codes - Algebraic Construction

A Class of Binary QC-LDPC

codes

• Dispersing each non-zero entry of Wadd,c,n into a binary

CPM and zero entry to a zero matrix, we get the

following qm x qm array of binary (qm-1) x (qm-1) CP and

zero matrices

Hb,add,c,n = [Bi,j] 0 ≤ 𝑖 < 𝑞^𝑚,0 ≤ 𝑗 < 𝑞^m

• Since Wadd,c,n satisfies the -multiplied RD constraint,

Hb,add,c,n satisfies the RC-constraint.

• Null space of H gives a binary QC-LDPC code.

Page 34: Quasi Cyclic LDPC codes - Algebraic Construction

Example

• Choose q=2, m=6, t=3, m-t=3

and considering a block of (,) with =6 and =64 ,

The null space of H gives a near regular (4032,3708) QC-

LDPC code

Page 35: Quasi Cyclic LDPC codes - Algebraic Construction
Page 36: Quasi Cyclic LDPC codes - Algebraic Construction

References

Bernhard M.J.Leiner, “LDPC codes – a Brief Tutorial”, April-2005

Jingyu Kang, Qin Huang, Li Zhang, Bo Zhou, and Shu Lin, “Quasi-Cyclic LDPC Codes: An Algebraic Construction”, IEEE Trans. on Commun., vol. 58, No. 5, May 2010

Qiao Guo-lei and Dong Zi-jian, “Design of structured LDPC Codes with Quasi-Cyclic and Rotation Architecture” in Huaihai Institute of technology, Lianyungang, 2010

R.G.Gallager, “Low-Density Parity Check Codes”, IRE Trans. On Information Theory, 1962

Zongwang Li, and Shu Lin, “Efficient Encoding of Quasi-Cyclic Low-Density Parity Check Codes”, IEEE Trans. on Commun., vol. 54, No. 1, January 2006

Page 37: Quasi Cyclic LDPC codes - Algebraic Construction

THANK YOU!!