Download i+1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
The SPA on the Tanner graph
• qj,lx,(i) = P(vl = x |check sums  Al \ {hj} at ith iteration}
• j,lx,(i) = P(sj=0| vl = x,{vt:tB(hj)\{l}})   tB(hj)\{l} qj,tvt,(i)
• qj,lx,(i+1) = j,l(i+1)  ht  Al \ {hj} t,lx,(i)
vl
x,(i+1
qqj,lj,lx,(i)
j,lx,(i)
)
+
sj
1
The sum-product decoding algorithm
• Initialization
• i=0
• For each pair (j,l) such that hj,l = 1,
• qj,l0,(i) = pl0 ,qj,l1,(i) = pl1
• (Assume implicit message passing)
a) For each l and for each hj Al compute j,lx,(i) ), x{0,1}
b) For each j and for each l such that hj Al compute qj,lx,(i+1) ,
and P (i+1)(vl = x | y ), for x{0,1}.
c) Determine the hard decisions based on P (i+1)(vl = x | y ) for
each l, and form the syndromes. If there remain parity
check failures and if iImax, set i=i+1 and repeat from a)
d) Output hard decisions based on the previous step.
2
Complexity of the SPA
• Number of multiplications per iteration:
• O(2J+4n)
• Linear in the number of 1-entries in H
• Number of logarithm operations per iteration:
• O(n)
3
Alternative SPA description
• Update extrinsic information at each decoding iteration
4
Alternative SPA description
• Modified channel value matrix
5
6
Design of LDPC codes
Requirements:
• Satisfy conditions of the LDPC definition
• Provide good performance when used with a specified decoder
• 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
• Codes from finite geometries
• Other algebraic constructions
7
An introduction to Euclidean geometries
•
•
•
•
•
•
•
•
The m-dimensional Euclidean geometry over GF(2s) EG(m, 2s)
consists of the set of all m-tuples (a0,...,am-1) such that each
component ai  GF(2s)
Each m-tuple (a0,...,am-1) is called a point
If a = (a0,...,am-1), then the set of 2s points {a: GF(2s)} is a line
which contains the origin (0,...,0)
Let L = {a: GF(2s)} be a line and b be a point not on L. We say
that a and b are linearly independent. In general, a line in EG(m, 2s)
is given by {b+a: GF(2s)} .
Two linearly independent points are connected by exactly one line
Two different lines have either zero or one point in common
Given a point a  EG(m, 2s) there are exactly (2ms -1)/(2s -1) lines
that intersect in the point a
The total number of lines in EG(m, 2s) is 2(m-1)s(2ms -1)/(2s -1) 8
Type-I geometry-Q LDPC codes
•
•
•
•
•
•
•
Q: a finite geometry with n points p1,...,pn and J lines L1,...,LJ :
• Each line has  points
• Each point lies on  lines L1,...,LJ
• Two points are connected by exactly one line
• Two lines are either disjoint or they intersect at exactly one point
Incidence vector of L, vL=(v1,...,vn)  GF(2) n : vi = 1 iff pi L
Then w(vL) = 
HQ(1) = Jn matrix with
• Rows: the incidence vectors of all lines in Q : row weight 
• Columns corresponding to the n points of Q : column weight 
Then no pair of rows have more than one 1 in common
And no pair of columns have more than one 1 in common
9
Type-I geometry-Q LDPC code.
Type-I geometry-Q LDPC: Properties
•
•
Minimum distance   + 1
Tanner graph:
• Regular; Each of the n code bit nodes have degree  and each of
the J check nodes have degree  .
• No cycles of weight 4
• Does contain cycles of weight 6 (Exercise 17.23)
10
Type-II geometry-Q LDPC codes
•
•
•
•
•
Q: a finite geometry with n points p1,...,pn and J lines L1,...,LJ :
• Each line has  points
• Each point lies on  lines
• Two points are connected by exactly one line
• Two lines are either disjoint or they intersect at exactly one point
Intersecting vector of p, vp=(v1,...,vJ)  GF(2)J : vi = 1 iff p Li
Then w(vL) = 
HQ(2) = [HQ(1)]T= nJ matrix with
• Rows: intersecting vectors of all points in Q : row weight 
• Columns: incidence vectors of all lines in Q : column weight 
• Then no pair of rows have more than one 1 in common
• And no pair of columns have more than one 1 in common
11
Type-II geometry-Q LDPC code. Companion of Type I code
Q = EG(m,
s
2)
: Type I
• n = 2ms points = number of code bits
• J = 2(m-1)s(2ms -1)/(2s -1) lines = number of parity checks
•  = 2s points on each line
• Each point is contained in  = (2ms-1)/(2s-1) lines
• Therefore the minimum distance is at least +1 = (2ms-1)/(2s-1)+1
Example: Q = EG(2, 24)
• n = 2ms points = 256
• J = 2(m-1)s(2ms -1)/(2s -1) lines = 272
•  = 2s = 16 points on each line
•  = (2ms-1)/(2s-1) = 17 minimum distance at least 18 (in fact =18)
• The rank of HQ(1) = 81, so the dimension is 175
12
Q = EG(m,
s
2)
: Type II
• J = 2(m-1)s(2ms -1)/(2s -1) = number of code bits
• n = 2ms = number of parity checks
•  = (2ms-1)/(2s-1) Each point is contain
•  = 2s
• Therefore the minimum distance is at least  +1 = 2s +1
Example: Q = EG(2, 24)
• J = 2(m-1)s(2ms -1)/(2s -1) points = 272
• n = 2ms lines = 256
•  = (2ms-1)/(2s-1) = 17 points on each line
•  = 2s = 16 minimum distance at least 17 (in fact =17)
• The rank of HQ(1) = 81, so the dimension is 191
13
Cyclic EG-LDPC codes
•
•
•
•
•
•
•
•
•
•
Remove origin point and all lines passing through it
J0 = (2(m-1)s-1 )(2ms -1)/(2s -1) lines that do not pass through the origin
n0 = 2ms -1 points
 = 2s points on each line
0 = (2ms-1)/(2s-1)-1 lines through each point
Type I code: Minimum distance at least 0 +1= (2ms-1)/(2s-1)
This code, CEG,c(1)(m,0,s), turns out to be a cyclic code:
The (0,sth)-order EG code (Ch. 8*), generator polynomial gEG,c(1)(X)
 primitive element of GF(2ms)
h root of gEG,c(1)(X) for h < 2(m-1)s+ 2(m-2)s+1+1  minimum distance
Tighter than the 0 +1 bound except for m=2
14
Cyclic EG-LDPC codes: Type I, m=2
•
•
•
•
•
n = 22s – 1 points, J = 22s – 1 parity checks
Can show: n – k = 3s – 1 parity check bits
Dimension k = 22s – 3s
Minimum distance at least  +1 = 2s + 1
Density r = 2s / (22s – 1)
15
Projective Geometry LDPC codes
•
•
LDPC codes can also be designed using projective geometries in the
place of Q
Slightly different parameters
16
Example: Type-I cyclic EG-LDPC
•
•
m=2, s=5: (1023,781,33) code, R=0.763
Also shown: Type-I PG-LDPC (1057,813,34), R=0.769
17
Example: Type-I cyclic EG-LDPC
•
•
m=2, s=6: (4095,3367,65) code, R=0.83
Also shown: Type-I PG-LDPC (4161,3431,66), R=0.825
18
Example: Type-I cyclic EG-LDPC
•
•
m= s=3: Type I: a (511,139,79) code, R=0.272
Type-II EG-LDPC (4599,4227, 9), R=0.92
19
Yet another example
•
•
Type I cyclic EG-LDPC (255,175) code
Type I cyclic PG-LDPC (273,191); two random (273,191) codes
20
FG LDPC codes vs. random
•
•
•
Longer codes: Random LDPC codes should outperform FG LDPC
codes.
Encoding may be difficult in random codes due to lack of structure
Iterative encoding?
21
Performance vs. number of iterations
22
Suggested exercises
•
17.12-17.14,17.23
23
Related documents