Cyclic codes can be realized by the generating matrix, G. • The G can constructed from g ( x ) by first constructing the parity submatrix, P, as 1. 1 st row of P: Rem ( x n – 1 / g ( x )) 2. 2 nd row of P: Rem ( x n – 2 / g ( x )) 3. : 4. k th row of P: Rem ( x n – k / g ( x ))
ECE 550 Communication Theory – Channel Coding Hafiz Malik Example Decoding of Cyclic Codes • For the cyclic code (7, 4) with , assume a received vector y = (1 1 0 0 0 0 0) 3 ( ) 1 g x x x Because s ( x ) = x , the syndrome vector is s =(0 1 0). This corresponds to the error pattern (0 0 0 0 0 1 0) from Table 15.2. The decoded codeword is therefore y = (1 1 0 0 0 0 0) + (0 0 0 0 0 1 0) = (1 1 0 0 0 1 0)
ECE 550 Communication Theory – Channel Coding Hafiz Malik Cyclic Code Generation: Example • Consider Hamming (7,4,3) code with generating polynomial g ( x ) = x 3 + x 2 + 1 Construct G and H matrixes
ECE 550 Communication Theory – Channel Coding Hafiz Malik Example 15.5
ECE 550 Communication Theory – Channel Coding Hafiz Malik Decoding of Cyclic Block Codes • For decoding we exploit that fact that c ( x ) is devisable by g ( x ), if an errors during transmission, then the received polynomial r ( x ) will not be multiple of g ( x ). • If the number of errors in r ( x ) are correctable then, r( x ) / g( x ) = m( x ) + s( x ) where syndrome polynomial s(x) = Rem (r(x) / g(x) ) has degree n – k – 1 or less. Let e ( x ) be the error polynomial, then, r(x) = c(x) + e(x) s(x) = Rem (e(x)/g(x))
ECE 550 Communication Theory – Channel Coding Hafiz Malik BCH and Reed-Solomon Codes • The BCH (Bose-Chaudhuri-Hocqunghen) codes is class of random cyclic codes. • For m > 0 and t (t < 2 m -1 ), there exist a t-error correcting code (n, k) with n = 2 m -1, n – k <= mt, and 2t+1<= d min <= 2t + 2 • Easy implementation makes them very popular. • Hamming code is a special case of BCH codes. • Reed-Solomon codes are a special case of nonbinary BCH codes – Applications: DVD, CD-ROM, HDTV, high speed modems, boardband wireless systems, etc.
ECE 550 Communication Theory – Channel Coding Hafiz Malik CRC Codes for Error Detection • The CRC (Cyclic Redundancy Check) codes are used for error detection in the received data. • The CRC codes are cyclic codes designed to detect errors at the reviewer. • For integrity verification of the transmitted data packet, each packet at the transmitter is encoded by CRC codes of length n <= 2 m – 1 with code generating polynomial g ( x ) = (1 – x ) g c ( x ) where g c ( x ) is generator polynomial of a cyclic Hamming code • The most commonly used m = 12, 16, 32 1 : 1 : 16 1 : 12 1 : 8 5 12 16 2 15 16 1 2 3 11 12 2 4 6 7 8 x x x CCITT CRC x x x CRC x x x x x CRC x x x x x CRC
ECE 550 Communication Theory – Channel Coding Hafiz Malik Probability of Codeword Error: HD Decoding • The probability of codeword error, P cw ( e ), is defined as the probability that a transmitted codeword is decoded in error • Under hard-decision decoding, an ( n , k , d min ) block code can correct t or fewer errors if d min 2 t + 1 • Thus a received vector may be decoded in error if it contains more than t errors. Therefore, P cw ( e ) can be expressed as • By the application of union bound, we can write 1 ( ) 1 or more errors in codeword of length errors in codeword of length cw n j t P e P t n P j n
You've reached the end of your free preview.
Want to read all 81 pages?
- Winter '18
- Coding theory, channel coding, Hafiz Malik