You are on page 1of 37

Seminar on

QUASI-CYCLIC LDPC CODES


Presented by
Eapen Varughese
B090216EC
A-Batch
• 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

Outline of Presentation
• Founded by R.G.Gallager in 1960’s

• Rediscovered around 10 years ago

• Channel codes- Error correcting codes

What are LDPC codes?


• Linear block code

• Specified by parity check matrices (H)

• Low density

What are 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

Regular and Irregular


LDPC codes
• Graphical representation of LDPC codes

• Satisfies parity check equations

• Check nodes-number of parity bits

• Variable nodes-number of bits of codeword

Tanner Graphs
Tanner graphs
• 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

LDPC codes in finite field


• 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

Need for RC constraint


• If H is an array of sparse circulants of same size over
GF(q), null space gives q-ary quasi-cyclic LDPC codes

Quasi-Cyclic LDPC codes


It involves three steps
• Matrix representation of field elements

• Code construction

• Masking

General construction of
QC-LDPC codes
• 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

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

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

Matrix representation-
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

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

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

Matrix representation-
Non-binary
• Let W=wi,j0≤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)

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

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,j0≤i<k, 0≤j<n

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,j0≤i<k, 0≤j<n

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

Code construction
• 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 (- )/ 

Code constuction
• 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

Masking
• 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

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

Masking - 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

Masking – Non-binary
• 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)

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

A Class of -multiplied
RD-constrained matrices
• Let c = qm-t and n = qt
𝑊 ⋯ 𝑊
0⋮ ,0 ⋱ 0, 𝑐⋮ − 1

W = 𝑊 ⋯ 𝑊
add,c,n
𝑐 − 1,0 𝑐 − 1, 𝑐 − 1

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

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.

A Class of -multiplied
RD-constrained matrices
• 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.

A Class of Binary QC-LDPC


codes
• 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

Example
 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

References
THANK YOU!!

You might also like