Title: Forward Error Control
1- Forward Error Control
- Repair errors at receiver
- Eliminate retransmission
- ? Important in digital wireless communications
(i) Additional bits to detect corrupt bits FCS
with CRC (ii) Additional bits to locate corrupt
bits (iii) Correct Invert corrupt bits (for
binary data)
codeword word formed by data bits additional
check bits hamming distance minimum bit
positions in which 2 valid code words differ if
hamming distance n ? cannot detect n bit errors
ie parity bit n 2 original
data received data (2 bit error
undetected) 0000000 0 ? 0000011 0
2error detection correction properties are
related to hamming distance Thm 1 to detect n
bit errors ? required hamming distance n1 Thm
2 to correct n bit errors ?required hamming
distance 2n 1 ie to detect 16 bit errors ?
17 extra bits needed to correct 16 bit
errors ? 33 extra bits needed
31. Hamming Single Bit Code (limited use for data
transmission) - simplest error correction
scheme - code detects locates single bit errors
- block code original message is treated as a
block during encoding decoding - block of k source bits encoded to produce n-bit
block (n gt k) - encoder produces (n,k) code
- code rate or code efficiency k/n
- redundancy 1- k/n
- memoryless ? output depends only on current
encoded k-bit - message
can detect but not locate 2 bit errors most
communications errors are burst errors, useful
for semiconductor memory
4- ie 7 bit data field with 4 check bits (occupy 2n
bit positions 1,2,4,8) - (11,7) hamming code
- code rate 7/11
- redundancy 1 7/11
- (1) sender derives check bits
- Add 4 bit numbers corresponding to bit positions
with 1 using - modulo 2, no carry
- 4 bit values correspond to check bit positions
23, 22, 21,, 20
- (2) receiver recovers bits checks
- 4 bit binary number corresponding to bit
positions with binary - 2 are added again
- if no error ? sum 0
5e.g. data 1001101
6(No Transcript)
7e.g. data 1100011 (1) sender generates
codeword
add bit positions with 1
final codeword
(2) receiver checks data let bit 5 be corrupt
8- 2. Convolutional Codes (not memoryless)
- continuous stream of source bits ?produce
continuous stream of - encoded bits
- sequence of source bits is convolved to produce
output symbols - each encoded bit depends on
- - current bit input bit
- - previous sequence of input bits
- shift register used in practice ? length
constraint length - convolution operation performed using modulo 2
adders (XOR - gates)
9e.g. encoding with 3 bit shift register 2 XOR
gates - convolutional encoder with constraint
length 3 - for 1 input bit 2 output bits
generated ? code efficiency ½
10Techniques for determining output sequence 1.
tree diagram 2. state diagram 3. trellis diagram
(used for demonstrating decoding ?derive initial
outputs)
11Tree Diagram Node branch points input bit 0
? take upper branch input bit 1 ? take lower
branch
12(No Transcript)
13(No Transcript)
14(No Transcript)
15- Use tree diagram to define encoder states A,B,C,D
- Draw trellis diagram to exploit repetitive nature
of tree diagram - condensed representation of all possible encoder
outputs from all - possible inputs
- for specific input, single path through trellis
and hence output - bits results
16e.g. initially assume registers cleared (000),
input sequence 11010
17- Decoding given an incoming bit stream with
possible bit errors - determine most likely output sequence
- assume receiver has knowledge of the encoder
used at source - compare received sequence with possible encoder
sequences ? - select closest match
- Sequence Selection
- compute hamming distance of received sequence
with all possible - sequences
- compare against all possible sequences all
paths thru trellis - select sequence with the smallest hamming
distance - requires comparison of entire incoming stream to
all paths thru - trellis - impractical!
18- Viterbi algorithm practical approach for path
selection - maintain hamming distance between received
sequence sub-set - of possible sequences
- at each node in the trellis eliminate a path
- - always 2 paths merging at each node ? retain
only 1 survivor path) - - path selected is minimum hamming distance
- - other path is terminated
- - tie goes to upper path (lower path is
eliminated)
19- final path path thru trellis has the minimum
aggregate hamming distance - maximum likelihood decoder finds most likely
path for received - sequence
- No FEC can identify all errors
- goal is to reduce corrupt packet retransmission
- typical reduction BER with rate ½ convolution
code ? 102..103 - used with ARQ error control ? fewer
retransmissions overall - efficiency improved
20input sequence 10011 ? encoded output
sequence 11 01 10 11 10 00
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25original data stream recovered with 2 bit errors
out of 6 bits
26(No Transcript)