of 18 /18
1 (Chapter 15): Concatenated codes Simple (classical, single-level) concatenation Length of concatenated code: n 1 n 2 Dimension of concatenated code: k 1 k 2 If minimum distances of component codes are d 1 and d 2 , respectively, then the concatenated code has minimum distance d 1 d 2 Decoding: Two-stage: Decode (Hard decision out) inner code, then outer code Not optimum! Can decode up to approximately ¼ of min. dist. Good for decoding mixture of random and burst errors

# 1 (Chapter 15): Concatenated codes Simple (classical, single-level) concatenation Length of concatenated code: n 1 n 2 Dimension of concatenated code:

Tags:

Embed Size (px)

### Text of 1 (Chapter 15): Concatenated codes Simple (classical, single-level) concatenation Length of...

1

(Chapter 15): Concatenated codes

• Simple (classical, single-level) concatenation

• Length of concatenated code: n1n2

• Dimension of concatenated code: k1k2

• If minimum distances of component codes are d1 and d2 , respectively, then the concatenated code has minimum distance d1d2

• Decoding:

• Two-stage: Decode (Hard decision out) inner code, then outer code

• Not optimum! Can decode up to approximately ¼ of min. dist.

• Good for decoding mixture of random and burst errors

2

Multiple Inner Codes

• Not necessary that all inner codes are identical• Justesen codes:

• n2 different inner codes

• Can show that a good class of codes can be constructed this way

• A class {Ci} of codes of increasing lengths ni is good if the normalized dimensions ki/ni and the normalized minimum distances di/ni are both bounded away from zero.

• A theoretical result; first known class of good codes

3

Generalization of the model

m may range from 1 to ”large”

Permutes the order of channel symbols

4

Example of interleaved serial concatenation

5

Multilevel concatenated codes• Multiple outer and inner codes • A1 A2...Am {0}

• ki dimension of Ai

• d(Ai) min.dist. of Ai

• [Ai/Ai+1] coset code: set of coset representatives; dimension ki - ki+1

• qi = 2ki-ki+1

• Bi code over GF(qi)

K1 N

K2 N

Km N

• K = Ki(ki - ki+1)

• d(C) min{d(Bi)d(Ai)}

6

Multi-stage decoding• m-level multilevel concatenation:

• Decode stage B1 [A1/A2] first,..., stage Bm Am last

1. Decode r = r(1) into a codeword b1 in B1 Inner decoding:Find closest word in [A1/A2] Outer decoding: Use inner decoder’s results

Set i=2;

2. Let r(i) = r(i-1) – fi-1(bi-1). Decode r(i) into a codeword bi in Bi

Set i=i+1;If (im), repeat from 2.

7

Soft decision multistage decoding

• Requires soft decision (and usually trellis based) decoding at each decoding stage

• Decode stage B1 [A1/A2] first,..., stage Bm Am last

1. Decode r = r(1) into a codeword b1 in B1

Inner decoding:Find closest word in [A1/A2] Outer decoding: Use inner decoder’s results

Set i=2;

2. Modify received vector r(i) : rj,l

(i) = rj,l(i-1) (1-2cj,l

(i-1))Decode r(i) into a codeword bi in Bi

Set i=i+1;If (im), repeat from 2.

8

Inner and outer decoding

• Inner decoder:

• Find the word (label) in each coset in [Ai/Ai+1] with largest metric for each symbol of the outer code

• Pass these metric tables to the outer decoder

• Outer decoder:

• Find word with largest metric

• Not MLD because of possible error propagation

• Simpler than known MLD algorithms for such codes

• Can be improved by passing a list of L candidates from one decoding stage to the next; and by selecting as the final decoded word the one wth the largest metric at the final stage

9

Code decomposition• Expressing a code in terms of a multilevel

concatenation -level decomposable code: can be expressed as a

-level concatenated code

• Some classical code constructions may be expressed in this way. This may facilitate decoding of such codes, and can provide SD decoding

• r-th order Reed-Muller code of length 2m, RM(r,m)

• Idea: Decompose trellis into trellises, each trellis significantly less complex than the original

10

Properties of RM(r,m)• v0=(1...1) of length 2m

• vi=(0...0, 1...1, 0...0, ....... , 1...1) (groups of length 2i-1)

• RM(r,m) is spanned by vectors: v0,v1, v2 , ..., vm,v1v2 ,

• k(r,m) = 1+C(m,1)+...+C(m,r), q(r,m) = C(m,r)

• Minimum distance 2m-r

• RM(r,m) RM(r-1,m) ... RM(0,m) = {0,1} RM(-1,m) = {0}

• RM(m-1,m) is a single parity check code• RM(m-r-1,m) is the dual code of RM(r,m)

12

RM codes and interleaving

• RM(r,m) = {RM(0,)q(r,m-), RM(1,)q(r-1,m-),..., RM(,)q(r- ,m-)} {RM(r, m-), RM(r-1, m-),..., RM(r-, m-)} ...for any ,: 1 m-1, = for r>, =r for r .

• Example: RM(3,6) , a (64,42,8) code. Select = =3• RM(3,6) =

{RM(0,3)q(3,3), RM(1,3)q(2,3), RM(2,3)q(1,3),RM(3,3)q(0,3)} {RM(3, 3), RM(2, 3), RM(1, 3), RM(0, 3)}

• = {(8,1),(8,4)3, (8,7)3,(8,8)} {(8,8),(8,7),(8,4),(8,1)}= (8,1) [(8,8)/(8,7)] (8,4)3 [(8,7)/(8,4)] (8,7)3 [(8,4)/(8,1)] (8,8) [(8,1)/{0}]

13

Example

• RM(4,7) = (128,99,8) code. • Can show that trellis has max log state complexity of 19• Can be decomposed into 3-level concatenation• Subtrellises of lengths 16 and 8, at most 256 states

14

Another example

• RM(3,7) = (128,64,16) code.

• Can show that trellis has max log state complexity of 26

• Can be decomposed into 3-level concatenation

• Subtrellises of lengths 16 and 8, at most 512 states

15

Iterative multistage MLD algorithm• Decoding algorithm (m=2-stage decoding)

1. Compute best estimate b(1),1 of first decoding stage, and M(b(1),1).If coset label sequence L(b(1),1)C: Best codeword found, so stop, otherwise proceed to 2.

2. Second stage decoding, obtain L(b(2),1), M(b(2),1). Store b(1),1 and b(2),1. Set i0=1, i=2.

3. Calculate b(1),i and b(2),i. If M(b(2 ),i0)> M(b(1),i), decoding is finished, and b(1), i0 and b(2), i0 give the most likely codeword. Otherwise go to 4.

4. If coset label L(b(1), i)C: Best codeword found, so stop, otherwise proceed to 5.

5. If M(b(2 ),i)> M(b(2),i0), set i0=i and update tables and index i. Go to 3.

16

Example IMS-MLD

• Can be generalized to an m-stage iterative procedure.

• RM(3,7) = (128,64,16) code.

17

Convolutional inner codes

• Can of course use convolutional codes as inner codes. Facilitates SD decoding

• Example in book...

18

Concatenation of binary codes

• Also possible with binary outer codes (block or convolutional)

• More difficult to make statements about overall minimum distance

• Interleaver useful for increasing distance

• SISO algorithms useful

• Iterative decoding useful

• Serial concatenation/Parallel concatenation

19

Suggested exercises

• In principle: All Ch. 15 problems

• But some rely on insight in the RM codes

Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Technology
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents