Class VIII Date: 21/9/2025, Sunday
Chapter 2
DATA TRANSMISSION
LESSON – 2.2
Methods of Error Correction
Objectives –
• Why error checking methods are needed
• Error checking methods following data transmission –
1. Parity checks
2. Checksum
3. Echo check
• Use of check digits to detect data entry errors
• Use of Automatic Repeat reQuests (ARQ) to detect errors
1|Page
→ What might happen during data transmission?
When data is transmitted, there is always a risk that it may be: -
i). Corrupted ii). Lost iii). Extra bit Gained
→ How errors can take place?
• Interference (all types of cables can suffer from electrical interference
which can cause data to be corrupted or even data lost)
• Problems during packet switching (this can lead to data lost or data
gained)
• Skewing of data (this occurs during parallel data transmission and can
cause data corruption if the bits arrive out of synchronization)
→ Methods to check data for errors after data transmission -
1. Parity check 2. Checksum 3. Echo check
→ Methods to detect errors during data transmission-
1. Check digit 2. Automatic repeat request
2|Page
❖ Why Errors Occur
Why do errors occur?
• Errors can occur using wired or wireless technology due
to interference
• Examples of interference include wire degradation or electrical fields
changing the signal
• Results of interference include:
o Data loss - data is lost in transmission
o Data gain - additional data is received
o Data change - some bits have been changed or flipped
• Wireless technology uses radio signals or other electromagnetic
signals to transmit data
o These signals can be blocked by physical barriers such as
buildings, walls, cars or other objects
o Interference can be caused by bad weather such as rain or
clouds, or by other wireless signals or electromagnetic radiation
3|Page
• Wired technology carries more chance of causing an error as physical
components can be damaged, degrade or receive interference from
outside signals
o Data loss can also occur from interruptions to data transmission
such as a blocked signal or if the transmission is intermittent
Why check for errors?
• Computers expect data in certain formats
o A format is a way of arranging the data so that it can be easily
understood by people and by computers
o People agree to certain formats so that systems work
more efficiently and there is little chance of misunderstanding
each other
• An example of a format is date and time
• Date and time can have multiple formats such as:
o 13/04/14 (DD/MM/YY)
o 12/31/2020 (MM/DD/YYYY)
4|Page
o Jul-04-16 (MMM/DD/YY)
• If data is not as expected, things can go wrong
• For example, if a receiver expected to receive a date in format
DD/MM/YY as 03/04/17 but received 04/03/17, did the sender mean
3rd April 2017 or 4th March 2017?
• An error or corruption occurs when data received is not as
expected and therefore is difficult or impossible to process
Worked Example
Alex receives an email over a wireless connection from a work colleague
containing an important document. Identify what interference Alex could
experience when sending this email and identify the outcomes of
interference. Further explain why Alex should check to make sure the
document contains no errors. [4]
5|Page
Answer:
• Weather conditions or physical barriers such as building can affect
signals, for example bits could be flipped in the document making it
hard to understand the original meaning [1]
• Alex should be aware that interference can cause wirelessly received
data to contain errors or corruption [1]
• Data could be lost, additional data could be gained or data could be
changed [1]
• As Alex received an important work document, they need to check for
errors so that their work is unaffected and they do not receive incorrect
information [1]
6|Page
❖ PARITY CHECK
What is a parity check?
• A parity check determines whether bits in a transmission have
been corrupted
• Every byte transmitted has one of its bits allocated as a parity bit
• The sender and receiver must agree before transmission whether they
are using odd or even parity
• If odd parity is used then there must be an odd number of 1’s in the
byte, including the parity bit
• If even parity is used then there must be an even number of 1’s in the
byte, including the parity bit
• The value of the parity bit is determined by counting the number of 1’s
in the byte, including the parity bit
• If the number of 1’s does not match the agreed parity then an error has
occurred
7|Page
• Parity checks only check that an error has occurred, they do not reveal
where the error(s) occurred
Even parity
Below is an arbitrary binary string
EVEN
Byte
Parity bit
0 1 0 1 1 0 1 0
If an even parity bit is used then all bits in the byte, including the parity bit,
must add up to an even number
o There are four 1’s in the byte
o This means the parity bit must be 0 otherwise the whole byte,
including the parity bit, would add up to five which is an odd
number
8|Page
Odd parity
Below is an arbitrary binary string
ODD
Byte
Parity bit
1 1 0 1 1 0 1 0
If an odd parity bit is used then all bits in the byte, including the parity bit,
must add up to an odd number
o There are four 1’s in the byte. This means the parity bit must be
a 1 otherwise the whole byte, including the parity bit, would add
up to four which is an even number
9|Page
The table below shows a number of examples of the agreed parity between
a sender and receiver and the parity bit used for each byte
Example Total number of
Agreed parity Parity bit Main bit string
# 1’s
#1 ODD 0 1 1 0 1 0 1 1 5
#2 EVEN 1 0 0 0 1 0 0 0 2
#3 EVEN 1 0 1 0 1 1 1 1 6
#4 ODD 1 0 1 1 1 0 0 1 5
#5 ODD 1 1 0 1 0 1 0 1 5
#6 EVEN 0 1 0 0 1 1 1 0 4
• Example #1: The agreed parity is odd. All of the 1’s in the main bit
string are added (5). As this number is odd already the parity bit is set
to 0 so the whole byte stays odd
10 | P a g e
• Example #2: The agreed parity is even. All of the 1’s in the main bit
string are added (1). As this number is odd the parity bit is set to 1 to
make the total number of 1’s even (2)
• Example #6: The agreed parity is even. All of the 1’s in the main bit
string are added (4). As this number is even already the parity bit is set
to 0 so the whole byte stays even
• For the 7-bit number 1110000, the even parity bit would be 1 and the
odd parity bit would be 0. The parity bit can be set as a 1 or a 0 for
either choice of parity – it just depends on how many 1s are in the byte
11 | P a g e
How do errors occur?
• When using parity bits, an error occurs when the number of total bits
does not match the agreed parity
• Bits can be flipped or changed due to interference on a wire or
wirelessly due to weather or other signals
Example # Agreed parity Parity bit Main bit string Total number of 1’s Error
#1 ODD 1 1 1 0 1 0 1 1 6 Error
#2 EVEN 1 0 0 0 1 0 0 0 2 No error
#3 EVEN 1 0 1 1 1 1 1 1 7 Error
#4 ODD 1 0 1 1 1 0 0 1 5 No error
#5 ODD 1 1 0 1 0 1 1 1 6 Error
#6 EVEN 0 1 0 0 0 1 1 0 3 Error
Parity checks are quick and easy to implement but fail to detect bit
swaps that cause the parity to remain the same
12 | P a g e
Parity Byte Check & Parity Block Check
What are parity byte checks and parity block checks?
• Parity blocks and parity bytes can be used to check an error has
occurred and where the error is located
• Parity checks on their own do not pinpoint where errors in data exist,
only that an error has occurred
• A parity block consists of a block of data with the number of 1’s
totaled horizontally and vertically
• A parity byte is also sent with the data which contains the parity
bits from the vertical parity calculation
13 | P a g e
Below is a parity block with a parity byte at the bottom and a parity bit column
in the second column
Parity
ODD Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8
bit
Byte 1 0 1 1 0 1 0 1 1
Byte 2 0 0 0 0 1 0 0 0
Byte 3 1 0 1 0 1 1 1 1
Byte 4 1 0 1 1 1 0 0 1
Byte 5 1 1 0 1 0 1 0 1
Byte 6 1 1 0 0 1 1 1 0
Byte 7 0 0 1 1 1 1 1 0
Byte 8 0 1 0 1 1 0 0 0
Parity byte 0 1 1 1 1 1 1 1
14 | P a g e
• The above table uses odd parity
• Each byte row calculates the horizontal parity as a parity bit as normal
• Each bit column calculates the vertical parity for each row, the parity
byte
• It is calculated before transmission and sent with the parity block
• Each parity bit tracks if a flip error occurred in a byte while the parity
byte calculates if an error occurred in a bit column
• By cross referencing both horizontal and vertical parity values
the error can be pinpointed
• In the above example the byte 3 / bit 5 cell is the error and should be
a 0 instead
• The error could be fixed automatically or a retransmission request
could be sent to the sender
15 | P a g e
❖ CHECKSUM
What is a checksum?
• A checksum is a value that can be used to determine if data has
been corrupted or altered
• It indicates whether data differs from its original form but does
not specify where
• Checksums are calculated using an algorithm and the value is added
to the transmission
• The receiving device re-calculates the checksum and compares to the
original
• If the checksums do not match, it is assumed an error has occurred
16 | P a g e
Worked Example
Describe the process a checksum algorithm uses to determine if an error has
occurred. [5]
Answer
• Before data is transmitted a checksum value is calculated [1]
17 | P a g e
• The checksum value is transmitted with the data [1]
• The receiver calculates the checksum value using the received
data [1]
• The calculated checksum is compared to the transmitted checksum [1]
• If they are the same then there is no error otherwise an error has
occurred [1]
❖ ECHO CHECK
What is an echo check?
• An echo checks involve transmitting the received data back to the
sender
• The sender then checks the data to see if any errors occurred during
transmission
• This method isn’t reliable as an error could have occurred when the
sender transmits the data or when the receiver transmits the data
• If an error does occur the sender will retransmit the data
18 | P a g e
In summary:
» a copy of the data is sent back to the sender
» the returned data is compared with the original data by the sender’s
computer
» if there are no differences, then the data was sent without error
» if the two sets of data are different, then an error occurred at some stage
during the data transmission.
19 | P a g e
20 | P a g e
Worked Example
Four 7-bit binary values are transmitted from one computer to another.
A parity bit is added to each binary value creating 8-bit binary values. All the
binary values are transmitted and received correctly.
(a) Identify whether each 8-bit binary value has been sent using odd or even
parity by writing odd or even in the type of parity column. [4]
8-bit binary value Type of parity
01100100
10010001
00000011
10110010
(b) An error may not be detected when using a parity check.
Identify why an error may not be detected. [1]
21 | P a g e
Answers
(a)
8-bit binary value Type of parity
01100100 Odd [1]
10010001 Odd [1]
00000011 Even [1]
10110010 Even [1]
(b)
Any one from:
• there is a transposition of bits [1]
• it does not check the order of the bits (just the sum of 1s/0s) [1]
• even number of bits change [1]
• incorrect bits still add up to correct parity [1]
22 | P a g e
❖ CHECK DIGITS
What is a check digit?
• A check digit is the last digit included in a code or sequence, used
to detect errors in numeric data entry
• Examples of errors that a check digit can help to identify are:
o Incorrect digits entered
o Omitted or extra digits
o Phonetic errors
• Added to the end of a numerical sequence they ensure validity of the
data
• Calculated using standardized algorithms to ensure
widespread compatibility
• Examples of where check digits can be used include:
o ISBN book numbers
o Barcodes
23 | P a g e
ISBN book numbers
• Each book has a unique ISBN number that identifies the book
• A standard ISBN number may be ten digits, for example, 965-448-765-
• The check digit value is the final digit (9 in this example).
• This number is chosen specifically so that when the algorithm is
completed the result is a whole number (an integer) with no remainder
parts
24 | P a g e
• A check digit algorithm is performed on the ISBN number and if the
result is a whole number, then the ISBN is valid
Barcodes
• Barcodes consist of black and white lines which can be scanned using
barcode scanners
• Barcode scanners shine a laser on the black and white lines
which reflect light into the scanner
• The scanner reads the distance between these lines as numbers and
can identify the item
• Barcodes also use a set of digits to uniquely identify each item
• The final digit on a barcode is usually the check digit, this can be used
to validate and authenticate an item
Worked Example
Check digit algorithms are used to determine whether an error has occurred
in transmitted data. State the names of two examples of a check digit
algorithm. [2]
25 | P a g e
Answer
• ISBN [1]
• Barcode [1]
❖ AUTOMATIC REPEAT REQUESTS (ARQ)
What is an automatic repeat request (ARQ)?
• An automatic repeat request is a protocol that notifies the sender that
an error has occurred and that the data received is incorrect
• It works as follows:
o If an error is detected the receiver sends a negative
acknowledgement transmission to indicate the data is corrupted
o If no error is detected the receiver sends a positive
acknowledgement transmission meaning the data is correct
o If the receiver does not send any acknowledgement
transmission then the sender waits for a certain time period
known as a time-out before automatically resending the data
26 | P a g e
o This process is repeated until all data has
been received and acknowledged
Worked Example
Explain how Automatic Repeat reQuests (ARQ) are used in data
transmission and storage. [2]
27 | P a g e
Answer
Any two from:
1. Set of rules for controlling error checking/detection // it’s an error
detection method // used to detect errors
2. Uses acknowledgement and timeout
3. Request is sent (with data) requiring acknowledgement
4. If no response/acknowledgment within certain time frame data
package is resent
5. When data received contains an error a request is sent (automatically)
to resend the data
6. The resend request is repeatedly sent until packet is received error
free/limit is reached/acknowledgement received
28 | P a g e
❖ BENEFITS & DRAWBACKS
Benefits of Parity Check Drawbacks of Parity Check
Simple and inexpensive to implement in Cannot detect all errors (e.g., even-bit errors
hardware/software may go unnoticed)
Fast error detection for single-bit errors Cannot correct errors, only detects them
Adds only one extra bit, so it has low Less reliable for large data blocks (chance of
overhead undetected errors increases)
Helps maintain data integrity by detecting Not suitable for critical applications requiring
most single-bit errors high accuracy
Widely supported in many communication Limited capability compared to CRC or Hamming
protocols codes
29 | P a g e
Benefits of Parity Block Drawbacks of Parity Block
Detects single-bit and many multi-bit errors Cannot detect all types of multi-bit errors
Can locate the position of single-bit errors Cannot correct complex multi-bit errors
Needs extra parity bits for every row and
Adds fewer extra bits compared to data repetition
column
Improves data integrity during transmission Slightly more complex than simple parity
Simple to implement compared to advanced Still less reliable than stronger error-
methods like CRC detection methods
30 | P a g e
Benefits of Checksum Drawbacks of Checksum
Simple and easy to implement in both
Cannot correct errors, only detects them
hardware and software
Efficient for large data blocks – just one value Cannot detect all types of errors, e.g., some
represents the whole block patterns of multi-bit errors
Adds little overhead – only a small extra Less reliable than advanced methods like
checksum value is added CRC
Faster to compute compared to complex error- Vulnerable to intentional data tampering (not
detection techniques secure)
Widely used in networking, file transfers, and Fails in some error patterns where changes
storage devices cancel each other out
31 | P a g e
Benefits of Echo Check Drawbacks of Echo Check
Increases transmission time because data is
Simple and inexpensive to implement
sent twice
Easy to use – no complex hardware or
Cannot correct errors, only detects them
software needed
Provides immediate feedback to the sender Not suitable for large data transfers
about errors (inefficient)
Helps ensure data integrity during Less efficient compared to modern error
transmission detection methods
May still miss some errors caused during the
Useful for short, critical messages
return path
32 | P a g e
Benefits of Check Digits Drawbacks of Check Digits
Simple and inexpensive to implement in codes
Cannot correct errors, only detects them
and databases
Efficient for manual data entry – catches Cannot detect all types of errors (e.g., if two
common mistakes like mistyped digits digits are swapped in some cases)
Adds very little overhead – only one extra digit
Less reliable for complex or large datasets
is added
Helps ensure accuracy in applications like Limited protection – unsuitable for critical or
barcodes, ISBNs, and banking numbers high-security data
Fails if the check digit itself is entered
Widely used and standardized across industries
incorrectly
33 | P a g e
Benefits of ARQ Drawbacks of ARQ
Ensures reliable data transmission by Increases transmission delay due to
requesting retransmission of corrupted packets retransmission
Higher overhead because
Detects and corrects errors through
acknowledgments and extra bits are
retransmission
required
Inefficient on poor connections with
Improves data integrity and accuracy
frequent errors
Widely used in networks like TCP/IP and Consumes more bandwidth for
wireless communication acknowledgments and retransmissions
Simple concept – easy to understand and Not suitable for real-time applications
implement (e.g., live video or voice calls)
34 | P a g e
❖ Textbook CW Assignments
(completed inside the textbook)
Activity 2.4 Page 55
Activity 2.5 Page 56
Activity 2.6 Page 58
35 | P a g e