Error Correction Code 1 Fire Tom Wada Professor, Information Engineering, Univ. of the Ryukyus 01/1/7 1
Introduction Digital data storage Digital data transmission Data might change by some Noise, Fading, etc. Such data change have to be corrected! Forward-Error-Correction FEC is need. Digital Video DVD, Compact Disc CD Digital communication Digital Phone Wireless LAN Digital Broadcasting 01/1/7
Two major FEC technologies 1. Reed Solomon code. Convolution code. Serially concatenated code Source Information Reed Solomon Code Interleaving Convolution Code Concatenated Coded Concatenated Goes to Storage, Transmission 01/1/7
WLAN Block Diagram 4 01/4/4
18.5. A /4/8 Antennas Configurable Diversity OFDM Receiver LSI 5 01/4/4
Mobile WiMAX MS eample Down-cnv Up-cnv ~ Common VCO AGC resample derotator A/D D/A Interpolator rotator Sync FFT / IFFT CLK error RF error Symbol Timing RX TX EQ permutation Invpermutation demap map Repetition puncture Repetition depuncture Bit interleave Convolution Coding randomize MAC Bit deinterleave Viterbi de randomize CLK Analog UPPER LAYER 01/4/4 6
Reed Solomon Code Can correct Burst Error. Famous application is Compact Disc. Code theory based on Galois Field For 8 bit = Byte information Galois Field of 8 is used We will start from Galois Field in following slide. 01/1/7 7
Galois Field Field is the set in which, -,, / operations are possible. e.g. Real numbers is Field. -.1, 0,, 4.5, 6, /,. Number of Element is infinite. Instead, 8 bit digital signal can represents 8 =56 elements only. Galois Field is Number of element is finite. e.g. 8 =56., -,, / operations are possible. GFq means q elements Galois Fields. q must be a prime number p or p n. 01/1/7 8
Eample 1. GFq= GF Only two elements {0,1} Add and Multiply : do operation and mod Subtract : for all a = {0,1}, -a eists. Division : for all a ecluding {0}, a -1 eists. 0 1 a -a X 0 1 a a -1 0 0 1 0 0 0 0 0 0-1 1 0 1 1 1 0 1 1 1 Same as XOR operation - operation is same as Same as AND operation 01/1/7 9
Eample. GF5 Elements = {0,1,,,4} Use mod 5 operation 0 1 4 a -a X 0 1 4 a a -1 0 0 1 4 0 0 0 0 0 0 0 0 0-1 1 4 0 1 4 1 0 1 4 1 1 4 0 1 0 4 1 4 0 1 0 1 4 4 4 0 1 4 1 4 0 4 1 4 4 So far q=, 5 are prime numbers. 01/1/7 10
Eample. GF4 Here 4 is NOT a prime number. Use mod 4-1 does NOT eists. X 0 1 0 0 0 0 0 1 0 1 0 0 0 1 a a -1 0-1 1 - GF4 with integer elements does NOT eists! The elements can be polynomial. 01/1/7 11
GF with polynomial elements Polynomial such as ax bx 1 c Those coefficient a, b, c =GF={0,1} Can be added Can be subtracted Can be multiplied Can be divided And Can be modulo by other polynomial GF with polynomial elements is possible GF4={0X0, 0X1, X0, X1} Use modx X1 01/1/7 1
Eample 4. GF with polynomial 1 Elements={0,1,, 1} Use Modulo 1 Each coefficient is GF 0 1 1 0 0 1 1 1 1 =0 1 = 1 =0 1=1 1 1 = 1=1 =0 a -a 0-1 1 1 1 01/1/7 1
Eample 4. GF with polynomial Use Modulo 1 mod 1 is equivalent to use =1 assignment X 0 1 1 0 0 0 0 0 1 0 1 1 0 =1 = 1=1 1 0 1 = 1=1 1= 1= = a a -1 0 0 1 1 1 1 01/1/7 14
Let s calculate mod 1 1 1 0 1 1 01/1/7 15
1mod 1=0 Then 1=0 Now consider the root of 1=0 is Then 1=0 = 1 01/1/7 16
Eample 5. GF with polynomial is the root of 1=0 0 1 0 0 1 1 1 0 0 1 1 0 X 0 1 0 0 0 0 0 1 0 1 0 0 1 1 01/1/7 a -a 0 0 1 1 a a -1 0-1 1 17
Previous page s GF is made by polynomial 1=0 This polynomial is generation polynomial for GF. Bit representation Polynomial representation Root inde representation 00 0-01 1 0 =1 10 1 11 1 = X=1 = =1 01/1/7 18
Eample 6. GF with polynomial is the root of 1=0 Bit representation Polynomial representation Root inde representation 000 0-001 1 0 =1 010 1 100 011 1 110 4 111 1 5 101 1 6 7 = X X=1 1 = =1 01/1/7 19
0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 01/1/7 0
Eample 7. Simple Block Code 4bit information : 1011 also shown as 1 Make a simple block code as follows 1. Shift bit left 101100 5. Calculate modulo by primitive polynomial 1 Ans=1. Add the modulo to 1. 101101 5 1 Now this code modulo 1=0 Send the. instead of 4bit information If received code s modulo 1 is 0, It is thought that No ERROR HAPPENED! In this eample, the coefficient of the polynomial is 0 or 1, But, Reed Solomon code can handle more bits! 01/1/7 1
01/1/7 Eample 7. Simple Block Code Code 1 5 = = = Q G R A W k primitive polynomial 1 = G 1 1 1 1 1 1 1 5 = = = G A 1 = R Information 1 = A Transmission If the received code can be divided by G, It is thought that No Error Happed. 1011 101101 Information parity
Eample 8. RS5, code with GF Remember GF has 8 elements in Eample 6. One element can handle bits. Reed Solomon 5, code has information symbol parity symbol. = 9bit information =6bit parity Assume Information = 1, =001 010 100 I= G= -> = R= ImoduloG= 4 modulog = 4 1 W= IR= 4 4 1 RS5, code = 1,,, 4, 1=001 010 100 110 001 01/1/7
4 01/1/7 Calculation of R このイメージは 現在表示できません 1 mod 4 5 4 6 5 5 4 6 5 4 6 4 = = = = = =
RS code parameters Code length n ; n q-1, q=number of elements Information symbol length k : k n-t Parity symbol length c q-1-nt Correctable symbol length = t Then, q= =8 Ma n=7, when t=, k=1, c=6 R5, case n=5, q=8, k=, Then ma t = 1 only one symbol error correctable. 01/1/7 5
RS code error correction Error correction Decoding is more tough! Decoding is not covered in this lecture. 01/1/7 6