Channel Coding: Binit Mohanty Ketan Rajawat
Channel Coding: Binit Mohanty Ketan Rajawat
Channel Coding: Binit Mohanty Ketan Rajawat
Binit Mohanty
Ketan Rajawat
Recap…
Information is transmitted through
channels (eg. Wires, optical fibres
and even air)
Channels are noisy and we do not
receive what was transmitted
System Model
A Binary Symmetric Channel
Is it counterintuitive?
Do such good codes exist?
Channel Capacity
C(p) is called the channel capacity
For binary symmetric channel,
C ( p 0.01) 0.9192
Can we really design codes that achieve
this rate? How?
Parity Check Codes
#information bits transmitted = k
#bits actually transmitted = n = k+1
Code Rate R = k/n = k/(k+1)
Error correcting 1 0 0 1 1 1
Bottom row consists of
capability? check bit for each column
Linear Block Codes
#parity bits n-k (=1 for Parity Check)
Message m = {m1 m2 … mk}
Transmitted Codeword c = {c1 c2 … cn}
A generator matrix Gkxn
c mG
What is G for repetition code?
For parity check code?
Linear Block Codes
Linearity c1 m1G ,
c1 c2 ( m1 m2 )G c2 m2G
k=1
n=2
Rate R = ½
Convolutional Codes
Encoder consists of shift registers
forming a finite state machine
Decoding is also simple – Viterbi
Decoder which works by tracking
these states
First used by NASA in the voyager
space programme
Extensively used in coding speech
data in mobile phones
Achieving Capacity
Do Block codes and Convolutional
codes achieve Shannon Capacity?
Actually they are far away
Achieving Capacity requires large k
(block lengths)
Decoder complexity for both codes
increases exponentially with k – not
feasible to implement
Turbo Codes
Proposed by
Berrou & Glavieux
in 1993
Advantages