IV Cyclic Codes 29 Nov 3 Dec IEEE

  • Slides: 12
Download presentation
IV. Cyclic Codes 29 Nov. - 3 Dec. IEEE GLOBECOM 2004

IV. Cyclic Codes 29 Nov. - 3 Dec. IEEE GLOBECOM 2004

Theorem Let s(X) be the syndrome of a received polynomial r(X) Then the remainder

Theorem Let s(X) be the syndrome of a received polynomial r(X) Then the remainder s(1)(X) resulting from dividing Xs(X) by the generator polynomial g(X) is the syndrome of r(1)(X), which represents a cyclic shift of r(X) Proof Xr(X) = rn-1(Xn+1)+r(1)(X)= rn-1(Xn+1)+Xr(X) Therefore c(X)g(X)+ρ(X) = rn-1 g(X)h(X)+X[a(X)g(X)+s(X)] where ρ(X) is the remainder of dividing r(1)(X) by g(X) Therefore Xs(X)=[c(X)+rn-1 h(X)+Xa(X)]g(X)+ ρ(X)=s(1)(X) is the remainder of dividing Xs(X) by g(X) © Tallal Elshabrawy 2

Computing s(1)(X) Gate + s 0 + s 1 s 2 Assume r=(0 0

Computing s(1)(X) Gate + s 0 + s 1 s 2 Assume r=(0 0 1 1 0) Input Register Contents 0 0 0 (Initial State) 0 000 1 110 0 011 1 011 0 101 - 100 © Tallal Elshabrawy The syndrome for r=(0 0 0 1 1) is s(1)=(1 0 0) 3

Decoding of Cyclic Codes Cyclic codes may be decoded similar to linear block codes

Decoding of Cyclic Codes Cyclic codes may be decoded similar to linear block codes through the following three steps l Syndrome Computation l Association of the syndrome with an error pattern (i. e. , syndrome table) l Error Correction Alternatively the cyclic property may be used to simplify the decoding process l Meggitt’s Algorithm l Simplified Syndrome table that stores all correctable error patterns of degree n-1 l Serial Decoding © Tallal Elshabrawy 4

Meggitt’s Algorithm r(X)=r 0+r 1 X+r 2 X 2+…+rn-1 Xn-1 (received polynomial) r’(X)=r(X), Nof

Meggitt’s Algorithm r(X)=r 0+r 1 X+r 2 X 2+…+rn-1 Xn-1 (received polynomial) r’(X)=r(X), Nof Shifts = 0 Cyclic Shifting r’(X)=r’(1)(X) Compute Syndrome s’(X) for r’(X) No No Nof Shifts = n s’(X) corresponds to a correctable error pattern of degree n-1 e’(X)=0 e’(X)=Xn-1 Nof Shifts = Nof Shifts +1, r’(X)=r’(X)+e’(X) © Tallal Elshabrawy Yes No An error is detected s’(X)=0 Yes r’(X) is the corrected codeword 5

Computing the Syndrome for r’(X) If the syndrome of m(X) is s(X) l The

Computing the Syndrome for r’(X) If the syndrome of m(X) is s(X) l The syndrome ρ(X) for r’(X)=m(X)+Xn-1 could be computed as follows: m(X)+Xn-1 = a(X)g(X)+ρ(X) = a(X)g(X)+ m(X)+Xn-1 l The syndrome ρ(1)(X) for the cyclic shift r’(1)(X) of r’(X)=m(X)+Xn-1 could be computed as follows: Xρ(X)= Xa(X)g(X)+ Xm(X)+Xn Xρ(X)= Xa(X)g(X)+ X[c(X)g(X)+s(X)]+h(X)g(X)+1 Xρ(X)= [Xa(X)+Xc(X)+h(X)]g(X)+Xs(X)+1 Therefore ρ(1)(X)=s(1)(X)+1 where s(1)(X) is the remainder of dividing Xs(X) by g(X) © Tallal Elshabrawy 6

Cyclic Code Decoder Gate Received Vector r(X) Gate Buffer Register Feedback Connection Gate +

Cyclic Code Decoder Gate Received Vector r(X) Gate Buffer Register Feedback Connection Gate + ri Corrected Vector + Gate Syndrome Register Error Pattern Detection Circuit ei Gate Syndrome Modification © Tallal Elshabrawy 7

Meggitt Algorithm Steps Step 1: The syndrome is formed by shifting the entire received

Meggitt Algorithm Steps Step 1: The syndrome is formed by shifting the entire received vector into the syndrome register. Step 2: The syndrome is read into the detector and is tested for the stored error patterns. The detector is a combinatorial logic circuit that is designed in such a way that its output is 1 if and only if the syndrome in the syndrome register corresponds to a correctable error pattern with an error at the highest order position Xn-1. Step 3: The first received symbol is read out of the buffer. At the same time the syndrome register is shifted once. If the first received symbol is detected to be an erroneous symbol, it is then corrected by the output of the detector. The output of the detector is also fed back to the syndrome register to modify the syndrome (i. e. , remove the error effect from the syndrome). This operation results in a new syndrome which corresponds to the altered received vector shifted one place to the right. Step 4: The new syndrome formed in step 3 is used to detect whether the second received symbol (now in the rightmost position) is an erroneous symbol. The detector repeats steps 2 and 3. The second received symbol is corrected in exactly the same manner as the first received symbol was corrected. Step 5: The decoder decodes the received vector symbol by symbol in the manner outlined until the entire received vector is read out of the buffer register © Tallal Elshabrawy 8

Example Decoding of (7, 4) Cyclic Code Syndrome Table g(X)=1+X+X 3 Error Pattern e(X)

Example Decoding of (7, 4) Cyclic Code Syndrome Table g(X)=1+X+X 3 Error Pattern e(X) Syndrome s(X) Syndrome Vector (s 0 , s 1 , s 2) e 6(X)=X 6 s(X)=1+X 2 (1 0 1) e 5(X)=X 5 s(X)=1+X+X 2 (1 1 1) e 4(X)=X 4 s(X)=X+X 2 (0 1 1) e 3(X)=X 3 s(X)=1+X (1 1 0) e 2(X)=X 2 s(X)=X 2 (0 0 1) e 1(X)=X 1 s(X)=X (0 1 0) e 0(X)=X 0 s(X)=1 (1 0 0) - e 6(X) is the only error pattern with an error at location X 6 - (1 0 1) is the only syndrome that needs to be stored in the - decoder circuit © Tallal Elshabrawy 9

Example g(X)=1+X+X 3: Decoder Circuit Gate Received Vector r(X) Buffer Register ri Gate Corrected

Example g(X)=1+X+X 3: Decoder Circuit Gate Received Vector r(X) Buffer Register ri Gate Corrected Vector + Gate + + Gate © Tallal Elshabrawy 10

Example g(X)=1+X+X 3: Decoder Steps, e(X)=X 2 Initial 0 0 1 1 + 1

Example g(X)=1+X+X 3: Decoder Steps, e(X)=X 2 Initial 0 0 1 1 + 1 st Shift 1 1 0 1 + 2 nd Shift 0 1 1 1 0 + 3 rd Shift 1 0 1 1 + 4 th Shift 1 0 1 1 1 0 1 + 5 th Shift 0 0 1 0 1 1 1 0 + 6 th Shift 0 0 0 1 1 1 + 7 th Shift 0 1 0 1 1 + 1 0 0 0 © Tallal Elshabrawy 11

Meggitt’s Algorithm Characteristics l The decoder could be made simpler by storing only the

Meggitt’s Algorithm Characteristics l The decoder could be made simpler by storing only the syndromes for error patterns with degree n-1 l The received symbols are serially detected. This introduces a delay in decoding the received vector Meggitt’s Decoder for cyclic codes improves complexity on the expense of increased processing delay Question: Why can’t we adopt the same concept of serial decoding to non-cyclic codes? © Tallal Elshabrawy 12