TYPES OF CODING
Presented by:
Khushi Dhaka (A4479121015)
Gourang Vats (A4479121017)
Jai Machawal (A4479121023)
Karma Tashi Namgay (A4479121021)
Coding
Coding is a procedure for mapping a given set of messages
into a new set of encoded messages
In this the codewords of a code dictionary are of different
lengths, minimum, average length of code resulting in
increased efficiency.
• Fixed Length Code (FLC)
• Variable Length Code (VLC)
Primary Objectives of Coding
• To use the efficiency
• To reduce the transmission error
• Reliability
• To ensure security
Various types of coding
• Data compression (or source coding)
• Error correction (or channel coding)
• Line coding
• Cryptographic coding
SOURCE CODING
Source Coding
Source Coding is a procedure for mapping a given set of
messages into a new set of encoded messages in such a
way that transformation is one to one. This is one approach
to data compression.
Information sources may be analog or discrete.
• Analog source: Audio or video
• Discrete source: Computers, storage devices such as
magnetic or optical devices
Goal
The goal is to find an efficient description of information
sources
• Reduce required bandwidth
• Reduce memory to store
H(X)memory< H(X)no memory
This means that it is more efficient to code information with
memory as groups of symbols.
Huffman Coding
• Huffman coding is a lossless data compression algorithm.
The idea is to assign variable- length codes to input
characters, length of the assigned codes are based on the
frequencies of corresponding characters.
• The most frequent character gets the smallest code and
the least frequent character gets the largest code.
Procedure
• List of all symbols and probabilities in descending order.
• Merge branches with two lowest probabilities, combine their probabilities.
• Repeat until one branch is left.
Shannon-Fano Coding
• The Shannon Fano algorithm was developed by Shannon
and Robert Fana in 1948.
• Shannon Fano coding constructs reasonably efficient
separable binary codes for sources without memory.
Procedure
• Sort of symbols according to the frequency count of their occurences.
• Recursively divide the symbols into two parts, each with approximately
the same no. of counts, until an parts contain only one symbol.
CHANNEL CODING
Introduction
"In the transmitter, before a strength. This is called
message is sent, it's Channel Coding."
encoded. Then in the
receiver, it can be decoded
to recover the original
message and remove all of
the noise, interference and
effects of poor signal
Function of channel coding
Channel coding provides to the receiver the ability of
error detection and correction.
Channel encoders add some redundant bits to the input
bit sequence. Addition of these extra bits:
• Allows the receiver to perform error detection and correction
• However, increases the bit rate and hence increases the required
bandwidth
Types of Error Control
Error detection and retransmission
• The receiver does not attempt to correct the error
• The receiver simply requests a retransmission
• Example: Automatic Retransmission reQuest (ARQ)
Forward Error Correction (FEC)
• The receiver can correct and detect the errors
• Example : a) Block codes b) Convolution codes
Error Control coding
• Noise or Error is the main problem in the codes and Convolution codes.
signal, which disturbs the reliability of the
communication system. Error control
coding is the coding procedure done to
control the occurrences of errors. These
techniques help in Error Detection and
Error Correction.
• There are many different error correcting
codes depending upon the mathematical
principles applied to them. But,
historically, these codes have been
classified into Linear block
Linear Block Codes:
It is a simple error control coding technique used for
error detection and correction.
• Information data is partitioned into blocks of
length K pieces for example Information word.
• Every information word is then coded into a block
of length n bits called a codeword. Here, n > k
• Also, n = k + r, where ‘r ‘ denotes the parity bits
or check bits added to every information word.
Convolutional Codes:
Convolutional code is one more kind of error-
correcting code where the resulting bits are acquired
by putting out an ideal logical procedure on the
present bitstream alongside thinking about the
previous bit.
• In convolutional codes, just the parity bits possibly
containing errors are received by the other user or
system, which then decodes it to have the most
ideal arrangement of bits i.e message bit itself.
• Shift registers are used to store input bits.
• Block of ‘n’ digit codeword generated in the
encoding depends on not only ‘k’ message digits,
but also on the previous m-1 message blocks.