160 likes | 704 Views
V. Non-Binary Codes: Introduction to Reed Solomon Codes. Reed Solomon Codes. Reed Solomon Codes are: Linear Block Codes Cyclic Codes Non-Binary Codes (Symbols are made up of m-bit sequences) Used in channel coding for a wide range of applications, including
E N D
Reed Solomon Codes • Reed Solomon Codes are: • Linear Block Codes • Cyclic Codes • Non-Binary Codes (Symbols are made up of m-bit sequences) • Used in channel coding for a wide range of applications, including • Storage devices (tapes, compact disks, DVDs, bar-codes) • Wireless communication (cellular telephones, microwave links, satellites, …) • Digital television • High-speed modems (ADSL, xDSL).
For any positive integer m≥3, there exists a non-binary Reed Solomon code such that: Reed Solomon Codes • Code Length: n = 2m-1 • No. of information symbols: k = 2m-1-2t • No. of parity check symbols: n-k = 2t • Symbol Error correcting capability: t
Generator Polynomial Example (7,3) double-symbol correcting Reed-Solomon Code over GF(23)
Encoding in Systematic Form • Three Steps: • Multiply the non-binary message polynomial u(X) by Xn-k • Dividing Xn-ku(X) by g(X) to obtain the remainder b(X) • Forming the codeword b(X)+Xn-ku(X) Encoding Circuit is a Division Circuit Gate g2 gn-k-1 g1 g0 .. + + + + bn-k-1 b1 b2 b0 Xn-ku(X) Codeword Information Symbols Parity Check Symbols
Encoding Circuit Example: Implementation Encoding Circuit of (7,3) RS Cyclic Code with g(X)=α3+α1X+ α0X2+ α3X3+X4 Gate α0 α3 α3 α1 x x x x + + + + b3 b1 b2 b0 Xn-ku(X) Codeword Information Symbols Parity Check Symbols
Bits to Symbols Mapping • Information message is usually binary • A symbol mapping is usually necessary for the encoding process • Remember the polynomial representation of symbols in GF(2m) Receiver Side Transmitter Side Decoded Non-Binary Data Decoded binary Data Received Non-Binary Data Binary Data Non-Binary Data Encoded Non-Binary Data Symbol Mapping Channel Encoder Channel Decoder Bit Mapping • The coefficients of the polynomial representation may be used for the mapping
Encoding Example Binary Information Message 0 1 0 1 1 0 1 1 1 Symbol Mapping Non-Binary Information Message α+ α3X+ α5X2 α5 α3 α Encoding Mathematics: • X4u(X)= αX4+ α3X5+ α5X6. • Dividing by g(X). The remainder b(X)= α0+ α2X+ α4X2+ α6X3 • v(X)=b(X)+X4u(X)= α0+ α2X+ α4X2+ α6X3+ αX4+ α3X5+ α5X6 • V=(α0α2α4α6αα3α5) • In Binary: V=(1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1)
Encoding Example Binary Information Message 0 1 0 1 1 0 1 1 1 Symbol Mapping Non-Binary Information Message α+ α3X+ α5X2 α5 α3 α Assume u=(αα3α5) αα3 α5 V=(α0α2α4 α6αα3 α5)
Syndrome Computation • Valid Codewords V(X) are divisible by g(X) • α, α2, α3, …, α2t are roots of g(X) Example in (7,3) RS Code: r(X) = α0+ α2X+ α4X2+ α0X3+ α6X4+ α3X5+ α5X6 r is not a codeword