Professional Documents
Culture Documents
Channel Coding
Dr. Mohamed A. Abdelhamed
Department of Communication and Computer Eng.
Higher Institute of Engineering, El-Shorouk Academy.
Academic year (2018-2019)
Contacts:
WhatsApp: +201002323525
E-mail: m.abdelhamed@sha.edu.eg
mohabdelhamed@yahoo.com
3.1 Introduction
2
3.1 Introduction…
Channel coding can be classified into two types,
(1) Waveform (or signal design) coding.
(2) Structed sequences (or structed redundancy).
3
3.1 Introduction…
Hence, possibility of correct the code using channel
coding by redundant bits.
; as redundant bits increase, the performance increase
but at expense of B.W.
4
3.2 Types of error control
There are two basic methods for controlling the
errors using the structured redundancy,
(1)Automatic repeat request or automatic
retransmission query (ARQ)
(2)Forward error correction (FEC).
8
3.2 Types of error control…
In continuous ARQ with selective repeat, a full-
duplex connection is needed. In this procedure, only
the corrupted message is repeated.
9
3.2 Types of error control…
However, FEC is desirable for any of the following
reasons:
10
3.3 Parity Check Codes
Parity check code (error detection only): add parity
symbols or parity bits that are determined using the
linear sums of the information bits.
12
3.3 Parity Check Codes…
n j
P( j , n) p (1 p)n j
j
13
3.3 Parity Check Codes…
where
n n!
j
j !(n j )!
14
3.3 Parity Check Codes…
15
3.3 Parity Check Codes…
Solution:
Message Parity Codeword
000 0 0 000
100 1 1 100
010 1 1 010
110 0 0 110
001 1 1 001
101 0 0 101
011 0 0 011
111 1 1 111
16
3.3 Parity Check Codes…
The code can detect single and triple error patterns.
The probability of an undetected error is equal to the
probability that two or four errors occur any where in
a code word, that is
2
n 2j
Pnd p (1 p)n 2 j
j 1 2 j
4 2 2 4 4
p (1 p) p
2 4
6 p 2 12 p3 7 p 4 6 106
17
Error Detection and Correction Techniques
Error detection and correction techniques can be
classified as:
(1) Linear Codes:
(1.1) Block Codes
(1.2) Cyclic Codes
(1.3) Turbo Codes
(2) Convolutional Codes.
18
3.4 Linear Block Codes
A linear block code is a family of parity check codes in
which a data word (or data vector) of successive 𝑘 bits
is assigned a code word (or code vector) of 𝑛 bits
where 𝑛 > 𝑘.
Linear block codes are forward error correction
technique.
This code is characterized by the notation (𝑛, 𝑘) code.
The number of added (or redundant) bits is 𝑚 = 𝑛 − 𝑘
which are determined from the message (data) bits
according to a prescribed encoding rule.
These 𝑚 bits are known as parity check bits or shortly
parity bits. 19
3.4 Linear Block Codes …
This code has a code efficiency or code rate
𝑘
𝑟=
𝑛
The coded data rate is
𝑅 𝑛. 𝑅
𝑅𝑐 = =
𝑟 𝑘
where 𝑅 = 𝑅𝑏 is the data rate before coding.
20
3.4 Linear Block Codes …
The data words and the code words can be expressed as
vectors, that is
𝐷 = (𝑑1 , 𝑑2 , … , 𝑑𝑘 )
𝐶 = (𝑐1 , 𝑐2 , … , 𝑐𝑘 )
Number of data words (k-tuple data vector)=2𝑘 .
Number of code words (n-tuple code vectors)=2𝑛 .
The subset of 2𝑘 code vectors represents a subspace
selected from the entire vector space that has 2𝑛 n-tuple
code vectors.
21
3.4 Linear Block Codes …
𝐶1 =1 1 1 1 1 1 1 𝐶1 =1 1 1 1 1 1 1
+
𝐶2 =0 0 1 0 1 0 1 𝐶2 =0 0 1 0 1 0 1
26
3.4 Linear Block Codes …
Encoding
Encoding of linear block codes can be classified as
(1) Systematic Code
(2) Non Systematic Code
27
3.4 Linear Block Codes …
Encoding …
Thus, the code vector can be represented as
𝑪 = (𝒅𝟏 , 𝒅𝟐 , … , 𝒅𝒌 , 𝒑𝟏 , 𝒑𝟐 , … , 𝒑𝒎 )
28
3.4 Linear Block Codes …
Encoding …
In non systematic code: the code word 𝐶 for a data
word 𝐷 can be generated as 𝐶 = 𝐷𝐺 w (data is mixed
with the added bits) where 𝐺 is a generator matrix
given by
𝐺 = [𝐼𝑘∗𝑘 𝑃𝑘∗𝑚 ]
Concatenated
The code vector, C,
𝑪 = 𝑪𝟏 , 𝑪𝟐 , … , 𝑪𝒌 , 𝑪𝒌+𝟏 , 𝑪𝒌+𝟐 , … , 𝑪𝒌+𝒎 , 𝑪𝒌+𝒎 = 𝑪𝒏
= 𝒅𝟏 , 𝒅𝟐 , … , 𝒅𝒌 , 𝑷𝟏 , 𝑷𝟐 , … , 𝑷𝒎 ;systematic code
30
3.4 Linear Block Codes …
Encoding …
I k k Pk m
31
3.4 Linear Block Codes …
Encoding …
35
?
36