Wireless Networks: 3. Channel Coding and Error Control
Introduction
Forward Error Correction (FEC)
- is to transmit enough redundant data
- To attach a parity bit : a simple redundancy
Block Codes
Linear Block Codes
- inforamtion -> divided into blocks; length = k
- parity bits are added to each block; length = r
- total length = n = k + r
- code rate = R = k / n
- Tradeoffs
- efficiency
- reliability
- encoding/decoding complexity
- calculation
- modulo 2 addition (:= XOR)
G; Linear block code encoder
- we need
- generator polynomial g(x)
- (n, k) code
- r = n - k
- G : generator matrix
- P
Polynomial division
- x^3 / (x^3 + x + 1)
- => 1000 / 1011
- = Q + 110 (coefficients of x^0 x^1 x^2)
- => 1 + x
- (subtraction is done with XOR during division)
Encoding
- m : message vector
- c : code vector
- m => mG = c
- apply XOR between addition (to eliminate carry over)
- c = mG = [ m | c[p] ]
Decoding
- H^T : parity check matrix
- cH^T