You are on page 1of 20

Channel Coding

1
What is Channel Coding?
 It refers to the class of signal
transformation designed to improve
communications performance by enabling
the transmitted signals to withstand the
various channel impairments, such as
noise, interference and fading. This is also
called error correction coding
 The aftermath is redundancy in signal is
increased, so as bandwidth.
2
Nomenclature

Waveform Coding Structured Sequence

• M-ary Signaling • BlockCode


• Antipodal • Convolutional Code
• Orthogonal • Turbo Code
• Trelis-Coded Modulation

3
This Should be Clear
 Error Correction &
 Error Detection

Error Detection doesn't always means it can


correct error.
Error Correction always comprised with error
detection and correction

*** For example Parity codes which can detect but cannot
correct
4
Convolutional Coding

5
CODEC

Information Convolutional
Modulate
Source Coding

AWGN
Channel

Information Convolutional
Demodulate
Sink Decoding

6
Terms Used
 Convolutional Code is described by three
integers, n, k, K.
 The integer k is the number of bits that forms an
input to a block encoder.
 The integer n is the number of bits in the
associated codeword out of the encoder.
 Code Rate is k/n. For example, ½, 1/3, 2/3 are
most common code rate for convolutional
coding.
 K is constraint length.
7
Convolutional Encoder
Representation

Constraint Length K = 3, Code Rate ½


8
Encoder<Contd>
 Input
Sequence
101000

9
State Representation
 State is called the status of last K-
1 bits
 Total Number of states will be 2K-1
States.

10
State Representation

11
Trellis Diagram for State

12
Viterbi Decoding

13
Viterbi Decoding<Contd.>

14
Path Metric Calculation

15
Viterbi Decoding<Contd.>

16
Trellis Diagram for State

17
0
10
Simulation Result
Bit Error Rate Vs Signal to Noise Ratio

BPSK
4-QAM
BPSK-CODED
4QAM-CODED
-1
10

-2
10
Bit Error Rate

-3
10

-4
10

0 2 4 6 8 10 12 14

½ rate K=6 Convolutional Coding


SNR in dB

18
Main Problem

 Code vulnerable to high density Error


Distribution in the coded signal.

19
poly2trellis([5,4] [23 35 0; 0 5 13);

20

You might also like