Professional Documents
Culture Documents
L05 Slides
L05 Slides
1 0 1 P3 P4
0 1 0
1011
1. Decoded message bits: ________________
0 1
0 0 0
0011
6.02 Spring 2012 1 1 1 2. Decoded message bits: ________________
1 1 P2 parity error
Lecture #4
0 0 1
• Linear block codes – Syndrome Decoding 0 1 0 0001
3. Decoded message bits: ________________
• Handling bursts 0 0 “uncorrectable”
6.02 Spring 2012 Lecture 5, Slide #1 6.02 Spring 2012 Lecture 5, Slide #2
1
2/22/2012
E3 = D2 + D3 + D4 + P3 P3 = D2+D3+D4
d1xk Gkxn c1xn D3 D4 P2
• If all the Ei are zero: no errors
1 0 0 0 1 0 1 0 1 P3 P4 P5
• Otherwise the particular combination of the E3E2E1 0 1 0 0 1 0 0 1 1
can be used to figure out which bit to correct D1 D2 D3 D4 D1 D2 D3 D4 P1 P2 P3 P4 P5
0 0 1 0 0 1 1 0 1
0 0 0 1 0 1 0 1 1
1×n
1×k k×n
Index 1 2 3 4 5 6 7 code word
message generator
Binary 001 010 011 100 101 110 111 vector
index vector matrix
2
2/22/2012
Syndrome computation:
Step 3: Find l such that El == E and apply correction for error el E1 = D1+D2+D4+P1
E2 = D1+D3+D4+P2
c r el E3 = D2+D3+D4+P3
6.02 Spring 2012 Lecture , Slide #9 6.02 Spring 2012 Lecture , Slide #10
Syndrome Decoding – Steps (9,4,4) example Syndrome Decoding – Steps (9,4,4) example
Codeword generation:
1 0 0 0 1 0 1 0 1 Correction:
0 1 0 0 1 0 0 1 1
1 1 1 1 1 1 1 1 0 0 0 0 0
0 0 1 0 0 1 1 0 1 Since received word Syndrome [1 0 0 1 1]T matches the precomputed
Syndrome of the error [0 1 0 0 0 0 0 0 0],
0 0 0 1 0 1 0 1 1
apply this error to the received word to recover the original codeword
Received word in error:
1 0 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 Received word
0 1 0 0 0 0 0 0 0
3
2/22/2012
4
2/22/2012
Summary: example channel coding steps Summary: example error correction steps
011011101101
1. Break message stream into k-bit 1. Search through received bit 011111001111011100100001111001110
blocks. Step 1: k=4 stream for sync pattern, Step 1: sync = 0111110
2. Add redundant info in the form of 0110 extract interleaved codeword
011111110010000111101110
(n-k) parity bits to form n-bit 1110 block
1101
codeword. Goal: choose parity Step 2: (8,4,3) code
2. De-interleave the bits to form Step 2: B = 3, n = 8
bits so we can correct single-bit B n-bit codewords 01100111
01101111 11110101
errors, detect double-bit errors. 11100101 3. Check parity bits in each code 11000110
3. Interleave bits from a group of B 11010110 word to see if an error has
Step 3: (8,4,3) code
codewords to protect against B- Step 3: B = 3 occurred. If there’s a single-
bit burst errors. 011111110001100111101110
bit error, correct it. 010 110 110
4. Add unique pattern of bits to Step 4: sync = 0111110 4. Extract k message bits from 101 111 001
start of each interleaved each corrected codeword and 11 01 10
codeword block so receiver can 011111001111011100011001111001110 concatenate to form message Step 4
tell how to extract blocks from stream.
Sync pattern has five consecutive 1’s. To
received bitstream. prevent sync from appearing in message,
0110 1110 1101
5. Send new (longer) bitstream to “bit-stuff” 0’s after any sequence of four
1’s in the message. This step is easily
transmitter. reversed at receiver (just remove 0 after
any sequence of four consecutive 1’s in
the message).
6.02 Spring 2012 Lecture , Slide #17 6.02 Spring 2012 Lecture , Slide #18