Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reed Solomon Codes block oriented FEC used in high reliability wireless applications non-binary code with m-ary symbol alphabet e.g. M = 8  alphabet size.

Similar presentations


Presentation on theme: "Reed Solomon Codes block oriented FEC used in high reliability wireless applications non-binary code with m-ary symbol alphabet e.g. M = 8  alphabet size."— Presentation transcript:

1 Reed Solomon Codes block oriented FEC used in high reliability wireless applications non-binary code with m-ary symbol alphabet e.g. M = 8  alphabet size = 2 8 (n,k) RS code n symbols (non binary) k information symbols n-k parity symbols large k/n  lowers bandwidth efficiency, fixes more errors small k/n  less penalty to bandwidth efficiency, not as effective

2 Std RS code alphabet size: M = 2 m code word length: M/2 = 2 m-1 extendable to 2 m by addition of parity symbol to each word (single extension) e.g. (32,16) RS code alphabet size = 32 32 total symbols 16 information symbols, 5 bits each  80 data bits per code word 16 parity symbols – 5 bits each  80 code bits per code word (32,16) with M = 32 orthogonal signals can achieve small BER with moderate values of E b /N 0

3 with M-ary signals assume RS code alphabet {c} M, and signal states{s} M Let M = 16 (m = 4 bits per signal) for each code word, c i  {c} 16 and signal state, s i  {s} 16 c i  s i mapping M symbol alphabet to signals with binary signals, M RS = 16, M s = 2 for each code word, c i  {c} 16 and signal state, s i  {s} 2 c i  s i, s 2, s 3, s 3,

4 erasure receiver monitor signal/noise ratio, etc determines received symbol is probably corrupt remove symbol improves peformance of RS codes Effectiveness of RS codes error correction: correct any combination of errors   (n-k)/2  block size of n symbols for singly extended RS code, n is even  if k is even then  (n-k)/2  = (n-k)/2 for (n,k) RS code 2t + e  n - k RS code can correct any combination of t errors and e erasures provided

5 e.g. (32, 16) code n = 32 symbols in a block correct up to e = 16 erasures (no symbol errors) t = 8 symbol errors (no erasures) te 015, 16 113, 14 211, 12 39, 10 47, 8 55, 6 63, 4 71, 2 80

6 Assume (4,2) RS code with code alphabet {  1,  2, ,  } code words [c 1 c 2 c 3 c 4 ] where c i  {  1,  2, ,  } (1) 2 information symbols representing 2 bits each (2) 2 parity symbols for code bits 1 11 1 2 12 1  1 1  1 1 1 21 2 2 22 2  2 2  2 2 1 1 2 2      1 1 2 2      symbol bits 11 00 22 01  10  11 1 11 1    2   2  2 22 2  1 1  1   2 2  1   2 12 1 2 2   1 1 21 2  0000010010001100 0001010110011101 0010011010101110 0011011110111111 0000111001111001 1011010111000010 1101001110100100 0110100000011111 information symbols c 1, c 2 parity symbols = c 3, c 4

7 1 11 1    2   2  2 22 2  1 1  1   2 2  1   2 12 1 2 2   1 1 21 2  1 11 1 2 12 1  1 1  1 1 1 21 2 2 22 2  2 2  2 2 1 1 2 2      1 1 2 2       1  1  2  1    1  2   1   2  1  2   2  2   2   1   2  1  1   21   2  2   1         2 1  2 1 1  2 1  2 2   12   1   1 2  1 2        information symbols parity symbols Forming code words [c 1 c 2 c 3 c 4 ] [c 1 c 2 c 3 c 4 ] 1 11 1 1 11 1 2 12 1    1 1 2 2  1 1  2 2 1 21 2   2 22 2 2 22 2  2 2  1 1  2 2  1  1 1  2 2 2 2  1       2 12 1 1 1 2 2 2 2  1 1   1 21 2     

8 transmiting binary data and code bits each information symbol = 2 bits  16 = 2 4 information symbols each parity symbol = 2 bits  16 = 2 4 parity symbols 4 4 = 256 total possibile combinations of 4 symbols – use 16 correct up to e = 2 erasures (or 1) t = 1 corrupt symbol 2t + e  2

9 transmit binary data stream = 0110  2 = 01  = 10 information symbol =  2  unique codework =  2   1  parity symbol =  1  with 4-ary modulation transmit as 4 symbols:  2   1  with binary modulation transmit at 8 symbols: 01 10 00 11 code words 1 11 11 11 1  1 2  1 2  1 2  1 2   2  1 2  1 1   21   2        1  2 1  2   1 2  1 2 2 1  2 1   1  2 1  2 2 22 22 22 2   2  0   2   1   2 1  2 1 2   12   1       

10 received symbol stream (1) no errors:  2   1   code word recognized and data bits recoverd (2) e = 0, t = 1: find the closes matching code word code word   1 11 11 11 1 2  1 2  1 2  2 1 2  1 2   3  2  1 2  1 4 1   21   2 3        4 1  2 1  2  4   1 2  1 2 3 2 1  2 1   2  1  2 1  2 3 2 22 22 22 2 3   2  0  3  2   1  1   2 1  2 1 4 2   12   1 3        3  2 x  1   2   1 x x   1  2  x 2  x  (3) e = 2, t = 0 ?   1 ?  2  ? ?  2 ? ?  ? ?  1 

11 (4)receive t = 2  3 words that differ by 2: thus cannot reliably correct code word with two errors 1/3 chance of fixing transmitted code word:  2   1  code word   1 11 11 11 1 2  1 2  1 2  2 1 2  1 2   3  2  1 2  1 4 1   21   2 3        4 1  2 1  2  4   1 2  1 2 3 2 1  2 1   2  1  2 1  2 3 2 22 22 22 2 3   2  0  3  2   1  1   2 1  2 1 4 2   12   1 3        3  1  1  1   2  1  1    1  1  (5) receive t = 1, e = 2 ?1 1??1 1?

12 4 information symbols for every code word 3 bits per information symbol  12 data bits per code word 3 bits per parity symbol  12 code bits per code word (8,x) RS code: 8 symbols in alphabet (8,4) RS code 2t + e  4 Performance code can correct any single or two bit errors code can detect up to 4 erasures 2 information symbols for every code word 3 bits per information symbol  6 data bits per code word 3 bits per parity symbol  18 code bits per code word (8,2) RS code Performance code can correct any single, two, three bit errors code can detect up to 6 erasures 2t + e  6

13 Practical RS codes: cannot use table look up (32,16) RS code  32 16 = 2 80 entries requires more sophisticated method e.g. Viterbi type searching take first 4 symbols and map to closest 4 take next symbol and map to closest 4, drop others …. 5 bits per symbol  80 data bits per 160 bit code word can correct up to 16 erasures or 8 symbol errors (40 bits!)


Download ppt "Reed Solomon Codes block oriented FEC used in high reliability wireless applications non-binary code with m-ary symbol alphabet e.g. M = 8  alphabet size."

Similar presentations


Ads by Google