2. Why channel coding?
The challenge in digital communication system is that of
providing a cost effective facility for transmitting Information ,
at a rate and a level of reliability and quality that are acceptable
to a user at the receiver.
Digital Communication system key parameters are:
Transmitted signal power.
Channel bandwidth.
Power spectral density of receiver noise
These parameters determine the signal energy per bit
to-noise power spectral density ratio Eb/No.
3. Why channel coding?
In practical , there are a limit on the value that we can assign to
Eb /No.
So, it is impossible to provide acceptable data quality (low enough
error performance).
there's option available for changing data quality, is to use
“ ERROR-CONTROL CODING “.
The two main methods of Error Control are:
I.Forward Error Correction (FEC).
II.Automatic Repeat request (ARQ).
5. Forward Error Correction (FEC)
The key idea of FEC is to transmit enough redundant data to
allow receiver to recover from errors all by itself. No
sender retransmission required.
The major categories of FEC codes are:
i. Block codes,
ii. Cyclic codes,
iii. Convolutional codes
iv. Turbo codes, etc.
6. Forward Error Correction (FEC)
FEC require only a one-way link between the transmitter and
receiver.
In the use of error-control coding there are trade offs between:
i.Efficiency & Reliability.
ii.Encoding/Decoding complexity & Bandwidth .
7. BLOCK CODES
A block code encoder divides the information sequence "u" into
message blocks of "k" information bits (symbols) and converts each
message "u" into an n-bit code (symbols). The coding rate is defined
as "R = k/n". The redundant bits (symbols), (n-k), give the code the
ability to deal with channel noise.
8. BLOCK CODES
Systematic Form:
In this form, the code word consists of (n-k) parity check
bits followed by k bits of the message.
The structure of the code word in systematic form is:
In systematic form, Codeword information sequence
doesn’t change at the encoder output.
The rate or efficiency for this code R= k/n
9. BLOCK CODES
Minimum Distance Consideration:
The minimum distance, dmin, between two closest codewords,
which specifies the minimum amount of data changes required to
turn one valid codeword into another, is an essential parameter of
a block code. This parameter determines a code's ability to detect
and correct errors.
Usually, an FEC code can detect up to 2t = (dmin – 1) mistakes
per codeword.
Usually, an FEC code can correct up to t = (dmin – 1)/2 mistakes
per codeword.
10. Linear BLOCK CODES
Generator Matrix:
All code words can be obtained as linear combination of basis
vectors.
The basis vectors can be designated as {𝑔1, 𝑔2, 𝑔3,….., 𝑔𝑘}
For a linear code, there exists a k by n generator matrix such that
𝑐1∗𝑛 = 𝑚1∗𝑘 . 𝐺𝑘∗𝑛
where c={𝑐1, 𝑐2, ….., 𝑐𝑛} and m={𝑚1, 𝑚2, ……., 𝑚𝑘}
11. Linear BLOCK CODES
Example: Let us consider (7, 4) linear code where k=4 and n=7,
the message word is (1110). Find the Codeword.
Solution:
C=m.G= (𝑚1, 𝑚2, 𝑚3, 𝑚4) (Xor)
- By matrix multiplication we obtain :
𝑐1=𝑚1 + 𝑚3 + 𝑚4, 𝑐2=𝑚1 + 𝑚2 + 𝑚3, 𝑐3= 𝑚2 + 𝑚3 + 𝑚4,
𝑐4=𝑚1, 𝑐5=𝑚2, 𝑐6=𝑚3, 𝑐7=𝑚4
The Code word corresponding to the message (1110) is (0101110)
1 1 0 1 0 0 0
0 1 1 0 1 0 0
1 1 1 0 0 1 0
1 0 1 0 0 0 1
12. Linear BLOCK CODES
Syndrome And Error Detection:
For a code word c, transmitted over a noisy channel, let r be
the received vector at the output of the channel with error ‘e’
Syndrome of received vector r is given by:
s = r.H =(𝑠1, 𝑠2, 𝑠3, … … . . , 𝑠𝑛−𝑘)
+
c r = c+e
e
1, if r ≠c
0, if r=c
i
e =
13. Linear BLOCK CODES
Properties of syndrome:
The syndrome depends only on the error pattern and not on the
transmitted word.
s = (c+e).H = c.H + e.H
All the error pattern differ by at least a code word have the same
syndrome ‘s’.
The corresponding parity check matrix is:
H=
1 0 0
0 1 0
0 0 1
1 0 1
1 1 1
0 1 1
1
0
1
14. Linear BLOCK CODES
Example: Let C=(0101110) be the transmitted code and r=(0001110)
be the received vector.
Solution:
s=r. 𝐻𝑇=(𝑠1, 𝑠2, 𝑠3) =(𝑟1, 𝑟2, 𝑟3, 𝑟4, 𝑟5, 𝑟6, 𝑟7) (Xor)
𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
𝟎 𝟎 𝟏
𝟏 𝟏 𝟎
𝟎 𝟏 𝟏
𝟏 𝟏 𝟏
𝟏 𝟎 𝟏
The syndrome digits are:
𝑠1 = 𝑟1 + 𝑟4 + 𝑟6 + 𝑟7 = 0
𝑠2 = 𝑟2 + 𝑟4 + 𝑟5 + 𝑟6 = 1
𝑠3 = 𝑟3 + 𝑟5 + 𝑟6 + 𝑟7 = 0
At receiver, The error vector obtained from the syndrome is,
e=(𝑒1, 𝑒2, 𝑒3, 𝑒4, 𝑒5, 𝑒6, 𝑒7)=(0100000)
C*= r + e = (0001110)+(0100000)
= (0101110) where C* is the actual transmitted code word
- Then, S = 010 = (Bit number 2)
15. With k=4 there is 2^4=16 distinct message ward.
The code ward is obtained by c=m G.
From the table : the minimum distance dmin= 3.
From to t = (dmin – 1)/2 we note that t=1
This mean that the hamming codes are single error correcting binary
codes
Hamming Code
16. Automatic Repeat request (ARQ)
Upon the detection of an error in a transmitted code word , the
receiver requests a repeat transmission of the corrupted code word
(on feedback channel).
As such , ARQ can be used only on
i.Half-duplex .
ii.Full-duplex links.
In a half-duplex link , data transmission over the link can be made
in either direction but not simultaneously .
On the other hand , in a full-duplex link , it is possible for data
transmission to proceed over the link in both direction
simultaneously.
22. FER
1. Require only one-way
link.
2. Increased decoding
complexity.
3. Used in Radio
Transmission applications
ARQ
1. a half-duplex or full-
duplex link.
2. Simple decoder design.
3. Noiseless feedback
channel.
4. Widely used in computer
communication system.
Error-Correcting Techniques
Comparison