PART II
DIGITAL ELECTRONICS
Chapter 4 : Number systems and Codes
Reference:
1. Malvino and Leach, Digital Principles & applications, 7th
edition, TMH, 2010
2. Morris Mano, “Digital design”, Prentice Hall of India, Third
Edition.
Department of Electronics and Communication Engineering, MIT, Manipal 1
Module 2: Codes
Learning outcomes
At the end of this module, students will be able to:
• Discuss different binary combinations to represent code
characters.
• Explain error detection using parity bit.
• Describe error correction using hamming code.
Department of Electronics and Communication Engineering, MIT, Manipal
Codes: Group of symbols based on certain rules
Weighted codes: Codes that obey positional weights
Non-weighted codes: Codes that does not obey
positional weights
Department of Electronics and Communication Engineering, MIT, Manipal 3
Binary coded decimal codes
Weighted Codes
4
Department of Electronics and Communication Engineering, MIT, Manipal
Weighted codes
• Weighted binary codes are those binary codes which
obey the positional weight principle.
• Each position of the number represents a specific weight.
• There exists a fixed weight associated with each bit
position in the binary representation of the code
character.
5
Department of Electronics and Communication Engineering, MIT, Manipal
Decimal number (A)10
Encoded in the binary form as a3 a2 a1 a0.
w3, w2, w1 and w0 are the weights selected for a given
code
(A)10 = w3a3 + w2a2 + w1a1 +w0a0
The more popularly used codes have these weights as
W3 W2 W1 W0
8 4 2 1
2 4 2 1
8 4 -2 -1
6
Department of Electronics and Communication Engineering, MIT, Manipal
Binary Coded Decimal code (BCD)
Consider the number (16.85)10
(16.85)10 = (0001 0110 . 1000 0101)
Department of Electronics and Communication Engineering, MIT, Manipal
Non-Weighted Code is one in which the positions in
the code do not have a specific weight.
Examples are
1.EXCESS-3 CODE
2.GRAY CODE
Department of Electronics and Communication Engineering, MIT, Manipal
Binary coded decimal codes
Weighted Codes Un-Weighted Codes
Decimal
8421BCD 2421BCD Excess-3 Gray code
0 0000 0000 0011 0000
1 0001 0001 0100 0001
2 0010 0010 0101 0011
3 0011 0011 0110 0010
4 0100 0100 0111 0110
5 0101 1011 1000 0111
6 0110 1100 1001 0101
7 0111 1101 1010 0100
8 1000 1110 1011 1100
9 1001 1111 1100 1101
9
Self complementing codes
Department of Electronics and Communication Engineering, MIT, Manipal
Self complementing codes
A code is said to be self complementary if the codeword of 9’s
complement of that number can be obtained by inverting every
bit
Example: Consider the 2421 code.
The 2421 code of (4)10 is 0100.
Its complement is 1011 which is 2421 code for (5)10 = (9 - 4)10.
10
Department of Electronics and Communication Engineering, MIT, Manipal
XS-3 or Excess 3 code: Non weighted code derived from
8421 BCD by adding 3 to each code
The purpose of Gray code is to encode binary numbers
in such a way that the Hamming distance (number of
bits on which the numbers differ) between any two
consecutive numbers is always exactly one. This is
accomplished by reordering the binary encoding so that
any two consecutive numbers only differ by a single bit.
Department of Electronics and Communication Engineering, MIT, Manipal 11
Self Test
1. What do you mean by a code word?
2. What are the two types of BCD codes?
3. What do you mean by self – complementing code?
12
Department of Electronics and Communication Engineering, MIT, Manipal
Binary to Gray-code conversion
Department of Electronics and Communication Engineering, MIT, Manipal 13
Gray-code to Binary conversion
Department of Electronics and Communication Engineering, MIT, Manipal 14
Error Detection and Correction
• Introduction
• Single bit Error detection using parity bit
• Single bit error correction using (7,4) Hamming code
15
Department of Electronics and Communication Engineering, MIT, Manipal
Introduction
• When data is transmitted in digital form from one place to
another place through a transmission channel some data bits
may be modified.
• In a communication system data integrity is extremely
important.
• Ability to identify the error is called the error detection. It
would be preferred even well if we can correct the error besides
detection.
• A code which has the ability to correct is called error correction
code.
Department of Electronics and Communication Engineering, MIT, Manipal
Error Detection Codes
• Parity: Number of ones in the given code word.
Adding an extra bit to each word being transmitted
• Even parity: Total number of 1’s including the parity
bit is even.
• Odd parity: Total number of 1’s including the parity bit
is odd.
At the receiver, error can be detected if the total number of
1’s is odd in an even parity scheme and even in an odd
parity scheme
Limitation: Only single bit error can be detected. Location
of error cannot be found 17
Department of Electronics and Communication Engineering, MIT, Manipal
Word Odd parity bit Even parity bit
0001
0100
0101
0111
Department of Electronics and Communication Engineering, MIT, Manipal 18
Error Detection Codes
Example: In an even parity scheme, which of the following
words contain an error?
a. 10101010
b. 1110110
c. 10111001
Example: In an odd parity scheme, which of the following
words contain an error?
a) 10110111
b) 10011010
c) 11101010
19
Department of Electronics and Communication Engineering, MIT, Manipal
(7,4) Hamming code
Error detection scheme capable of detecting single bit
error along with location of error
4 bits of data and 3 bits of parity
Word format :
where
Department of Electronics and Communication Engineering, MIT, Manipal 20
Encoding at transmitter
Parity bits are calculated as
=
=
=
Decoding at receiver(finding the checker bits)
= ……LSB
=
= ……
Department of Electronics and Communication Engineering, MIT, Manipal 21
Example: Encode 1101 into a 7 bit even parity hamming
code.
Department of Electronics and Communication Engineering, MIT, Manipal 22
Example:
The message below coded in the 7 bit Hamming code is
transmitted through a noisy channel. Decode the message
assuming that at the most a single bit error has occurred.
1001001
Department of Electronics and Communication Engineering, MIT, Manipal 23
Summary
Different forms of BCD representation
Weighted and non weighted codes
Error detection using parity bit.
Error correction using Hamming code.
Department of Electronics and Communication Engineering, MIT, Manipal 24