8IT01 UNIT II Error Controling and Coding
8IT01 UNIT II Error Controling and Coding
UNIT II
Error Controlling and Coding
by
Prof. (Dr) Prashant V Ingole
UNIT 1: Error Controlling and Coding
• Methods of controlling error,
• linear block codes, matrix description of linear block codes,
• error detection and error correction capabilities of linear block
codes,
• single error correcting Hamming codes,
• Cyclic codes,
• syndromes calculation,
• error detection,
• Introduction to Convolution codes.
Error Controlling and Coding
• In a transmission system when information flows from one point
to another point, noise is encountered in the system
• This noise limits the transmission Rate also called as Channel
Capacity and introduces error
• The probability of error for a particular signalling scheme is a
function of signal –to- noise ratio at the receiver input and the
information rate.
• In practical systems the maximum signal power and the
bandwidth of the channel are restricted to some to some fixed
values
• Also noise power spectral density is fixed for a particular
operating environment
• With all these constraints it is often not possible to arrive at a
signalling scheme which will yield an acceptable probability of
error for a given application.
Error Controlling and Coding
• With all these constraints it is often not possible to arrive at a
signalling scheme which will yield an acceptable probability of
error for a given application.
• Use of Parity
• Use of CRC
Methods for Controlling Errors
• We have a digital communication system for transmitting the
binary output of a source encoder over a noisy channel at a rate
bits/sec.
• Due to channel noise, the bit stream recovered by the receiver
differs occasionally from the transmitted sequence .
• It is desired that the probability of error P() be less than some
prescribed value.
• Actual data transmission over a channel is accomplished by a
Modem that can operate at rate .
• Probability of error for the modem will depend on the data rate
• Engineer/ designer is required to use a particular modem due to
cost and other practical constraints such as the signalling scheme.
• Its error probability is higher than the desired error probability.
• Hence we are asked to design an error an error control coding
scheme so that the overall probability of error is acceptable
Methods for Controlling Errors
Input message Coded output
Bit rate = Channel Bit rate =
Modulator
Encoder
Block of k n bit codewords
message bits
K n-k
Message check
Bits bits Noisy Channel
with Capacity C
Block of k
message bits n bit codewords
Channel
Dmodulator
Decoder
Output Code received
Bit rate = Bit rate =
Errors Control coding Example
Suppose we want to transmit a data over a telephone link that has a
usable bandwidth of 3000Hz and a maximum S/N at the output of
13 dB at a rate of 1200 bits/sec with a probability of error less than .
We are given a DPSK modem that can operate at speed of 1200,
2400 or 3600 bits/sec with error with error probabilities 2(), 4() and
8(). We are asked to design an error control coding scheme that
would yield an overall probability of error <.
• In terms of notations in figure 1 we have C=13000 ,
, respectively.
Here so according to Shannon’s Theorem we should be able to
transmit data with an arbitrarily small probability of error
Errors Control coding Example
• Consider an error control coding scheme for this problem
wherein triplets 000 and 111 are transmitted when respectively.
These triplets 000 and 111 are called codewords. These triplets of
0’s and 1’s are certainly redundant and two of the three bits in
each triplets carry no new information.
• Data comes out of the channel encoder at a rate of 3600 bits/sec,
and at this data rate the modem has an error probability of 8.
• The decoder at the receive looks at the received triplets a
extracts the information bearing digits using a majority logic
coding scheme shown below:
• Notice that 000 and 111 are the only valid codewords. The reader
can verify that the information bearing bit is received correctly if
no more than one of the bits in the triplet is affected by the
channel noise.
• Now without error control coding the lowest achievable error
probability for the given modem is (2)(). However, with error
control coding the receiver output bit is different from the input
message bit only if two or more of the bits in triplets are in error
due to channel noise.
• It is possible to detect and correct errors by adding extra bits
called check bits to the message stream
Methods for Controlling Errors
• Channel encoder in earlier example corrected possible errors in
the received sequence. This method of controlling errors at the
receiver through attempts to correct noise induced errors is
called the forward-acting error correction method.
• If system consideration permit, error can be handled by entirely
different manner:
• The decoder, upon examining demodulator output, accepts the
received sequence if it matches a valid message sequence. If not,
the decoder discards the received sequence and notifies the
transmitter (Over reverse channel) that error have occurred and
that the received message must be retransmitted. Thus the
decoder attempts to detect errors but does not attempt to
correct the errors. This method of error control is called error
detection.
• Error detection scheme yield a lower overall probability of error
than error correction scheme.
Methods for Controlling Errors
• In our previous example, if the decoder is used for the error
detection only , then it will accept 000 and 111 and reject all
other triplets and request retransmission.
• Now an information bit will be incorrectly decoded at the
receiver only when all three bits in a code word are in error.
• Thus
where is the lowest probability of error so with
which is much lower than the probability of
error for the error correction scheme.
It is important to note that the error detection and retransmission of
messages require a reverse channel that may not be available in
some applications.
Furthermore error detection schemes slow down the effective rate
of data transmission since the transmitter has to wait for an
acknowledgment from receiver before transmitting the next
message
Methods for Controlling Errors
• Forward acting error correction and the error detection are
usually used separately , but occasionally it may be necessary to
use both in a particular system.
Types of Errors
Types of Codes
• Block Codes
• Convolutional Codes
Classification of Error Control Codes
Non-Binary Binary
Solution: message block size in this problem k=3 and the size of the code vectors
n is 6. There are eight ( possible message blocks : (0,0,0), (0,0,1), (0,1,0), (0,1,1),
(1,0,0) , (1,0,1), (1,1,0), (1,1,1).
The code vector for the message blocks can be calculated by equation
C=DG. It gives following output codes
(2)
Parity check matrix can be used to verify that the code was
generated by the generator matrix. C is the code-word in a (n,k)
block code generated by G iff (3)
So
Now as k=4, the messages are represented as
Matrix Description of LBC and Syndrome
Generator matrix G is responsible for transmitting the code and another
matrix H is responsible for checking parity. It is placed at receiver.
The k=4 bit input messages are = (0000),(0001),(0010),(0011),(0100),
(0101),(0110),(0111),(1000),(1001),(1010),(1011),(1100),(1101),(1110),
(1111).
The code words can be formed by multiplying a selected message with
each column of the generator matrix. As C =D G
= [0 1 0 1 : 1 0 1]
Similarly
= [1 0 1 1 : 0 0 1]
Matrix Description of LBC and Syndrome
C =D G
= [0 0 1 1 : 1 1 0]
Similarly
= [1 1 0 1 : 0 1 0]
When these codes are transmitted over a noisy channel there is a possibility of an
error in these codes. When these codes are received, receiver does not know if
this code encountered an error during transmission. So receiver need to accept it
only after checking its validity using Parity check matrix H.
Matrix Description of LBC and Syndrome
Parity check matrix is H maintained by receiver and it is composed of
(n-k)xn
so
So
The error syndrome S can be calculated from as follows
S. No Codewords Weight
1 0 0 0 0 0 0 0
2 0 0 1 1 1 0 3
3 0 1 0 1 0 1 3
4 0 1 1 0 1 1 4
5 1 0 0 0 1 1 3
6 1 0 1 1 0 1 4
7 1 1 0 1 1 0 4
8 1 1 1 0 0 0 3
Error Detection and Error Correction
Capabilities of LBC
• Theorem 2: A Linear Block Code with a minimum distance can
correct up to errors and detect up to errors in each codeword
where denotes the largest integer no greater than .
Proof : Let C be the transmitted codeword and R be the received
codeword. Let C’ be any other codeword. Then the hamming
distance between codewords C and C’ d(C,C’) and the distance
d(C,R) and d(C’,R) satisfy
d(C,R)+d(C’,R) d(C,C’)
Since d(U,V)=weight of U+V, where addition is on a bit by bit basis in
modulo-2 arithmetic with no carry. If an error pattern of t’ errors
occurs then the Hamming distance between the transmitted vector
C and the received vector R is d(C,R)=t’.
Now since the code is assumed to have a distance of ,
d(C, C’)≥
Error Detection and Error Correction
Capabilities of LBC
• Theorem 2: A Linear Block Code with a minimum distance can
correct up to errors and detect up to errors in each codeword
where denotes the larges integer no greater than .
Continued Now since the code is assumed to have a distance
of , d(C, C’)≥, Thus we have
• d(C, C’)≥ and d(C, R)= t’ so from earlier formula
We have d(C’, R)≥
The decoder will correctly identify C as the transmitted vector if
d(C,R) is less than d(C’,R) where C’ is any other codeword of the
code. For d(C,R)< d((C’,R), the number of errors t’ should satisfy
q where m>n
𝑚 𝑛
𝑝 ( 𝑥 ) 𝑞 ( 𝑥 )=∑ ∑ 𝑎𝑖 𝑏 𝑗 𝑥 𝑖+ 𝑗
𝑖=0 𝑗=0
flip flop
(stores one bit) k = 15, n = 30, r = ½, K = 3, m = 2
Introduction to Convolutional Codes
Cyclic Codes
Introduction to Convolutional
Error Control Coding
Thank You
Dear Students