Wireless Networks: 3. Channel Coding and Error Control

·

1 min read

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 image.png
    • P image.png

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) image.png
  • c = mG = [ m | c[p] ]

Decoding

  • H^T : parity check matrix
  • cH^T

image.png

Cyclic Codes

CRC (Cyclic Redundancy Check)

Convolutional Codes