110 likes | 225 Views
= - L (d). L (d). +. L (d). 0 = 0. +. Log-Likelihood Algebra. Sum of two LLRs L(d 1 ) + L(d 2 ) L ( d 1 d 2 ) = log exp[L(d 1 )] + exp [L(d 2 )] 1 + exp[L(d 1 )].exp [L(d 2 )]
E N D
= - L (d) L (d) + L (d) 0 = 0 + Log-Likelihood Algebra Sum of two LLRs L(d1) + L(d2) L (d1 d2 ) = log exp[L(d1)] + exp [L(d2)] 1 + exp[L(d1)].exp [L(d2)] (-1) . sgn [L(d1)]. sgn [L(d2)] . Min ( |L(d1)| , |L(d2)| )
Iterative decoding example • 2D single parity code • di di= pij
Iterative decoding example • Estimate Lc(xk) • = 2 xk /2 • assuming 2= 1
Leh( d1) = [Lc ( x 2) + L(d2) ] Lc ( x 12 ) = new L( d1 ) Leh( d2) = [Lc ( x 1) + L(d1) ] Lc ( x 12 ) = new L(d2) Leh( d3) = [Lc ( x 4) + L(d4) ] Lc ( x 34 ) = new L(d3) Leh( d4) = [Lc ( x 3) + L(d3) ] Lc ( x 34 ) = new L(d4) + + + + Iterative decoding example • Compute • Le( dj ) = [Lc ( x j) + L(dj ) ] Lc ( x ij) +
Lev( d1) = [Lc ( x 3) + L(d3) ] Lc ( x 13 ) = new L( d1 ) Lev( d2) = [Lc ( x 4) + L(d4) ] Lc ( x 24 ) = new L(d2) Lev( d3) = [Lc ( x 1) + L(d1) ] Lc ( x 13 ) = new L(d3) Lev( d4) = [Lc ( x 2) + L(d2) ] Lc ( x 24 ) = new L(d4) + + + + ^ ^ ^ L( di ) = Lc ( x i) + Leh(di) + Lev( dj ) Iterative decoding example After many iterations the LLR is computed for decision making
Parallel Concatenation Codes • Component codes are Convolutional codes • Recursive Systematic Codes • Should have maximum effective free distance • Large Eb/No maximizing minimum weight codewords • Small Eb/No optimizing weight distribution of the codewords • Interleaving to avoid low weight codewords
{uk} + L-1 L-1 uk = g1i dk-i (mod 2) ; i=1 vk = g2i dk-i (mod 2) ; i=1 {dk} dk-1 dk-2 dk + {vk} Non - Systematic Codes - NSC G1 = [ 1 1 1 ] G2 = [ 1 0 1 ]
{dk} {uk} ak-1 ak-2 ak + + {vk} L-1 ak = dk + gi’ ak-i (mod 2) ; gi’ = g1i if uk = dk i=1 g2i if vk = dk Recursive Systematic Codes - RSC
NSC RSC Trellis for NSC & RSC 00 00 a = 00 a = 00 11 11 11 11 b = 01 b = 01 00 00 10 10 c = 10 c = 10 01 01 01 01 d = 11 d = 11 10 10
+ + ak-1 ak-1 ak-2 ak-2 ak ak + + {v2k} {v1k} Concatenation of RSC Codes {dk} {uk} Interleaver {vk}