You are on page 1of 30

INTRODUCTION TO DATA COMMUNICATIONS

HISTORY OF DATA COMMUNICATIONS

It is highly likely that data communications began long before recorded time in the form of
smoke signals or tom-tom drums, although they surely did not involve electricity or an electronic
apparatus, and it is highly unlikely that they were binary coded. One of the earliest means of
communicating electrically coded information occurred in 1753, when a proposal submitted to a Scottish
magazine suggested running a communications line between villages comprised of 26 parallel wires,
each wire for one letter of the alphabet. A Swiss inventor constructed a prototype of the 26-wire
system, but current wire-making technology proved the idea impractical.

1833 - Carl Friedrich Gauss developed a system based on a five-by-five matrix representing 25 letters (I
and J were combined). The idea was to send messages electrically over a single wire by deflecting a
needle to the right or left between one and five times. The initial set of deflections indicated a row, and
the second set indicated a column. Consequently, it could take as many as 10 deflections to convey a
single character through the system.

1832 - Samuel F. B. Morse invented the telegraph and developed the first practical data communications
code, called the Morse code. With telegraph, dots and dashes (analogous to logic 1s and 0s) are
transmitted across a wire using electromechanical induction. Various combinations of dots, dashes, and
pauses represented binary codes for letters, numbers, and punctuation marks. Because all codes did not
contain the same number of dots and dashes, in 1840, Morse secured an American patent for the
telegraph, and in 1844 the first telegraph line was established between Baltimore and Washington, D.C.,
with the first message conveyed over this system being “What hath God wrought!”

1849 - the first slow-speed telegraph printer was invented, but it was not until 1860 that high-speed (15
bps) printers were available.

1850 - Western Union Telegraph Company was formed in Rochester, New York, for the purpose of
carrying coded messages from one person to another.

1874, Emile Baudot invented a telegraph multiplexer, which allowed signals from up to six different
telegraph machines to be transmitted simultaneously over a single wire.

1875 - Alexander Graham Bell invented the telephone system.

1899 - Guglielmo Marconi succeeded in sending radio (wireless) telegraph messages and was the only
means of sending information across large spans of water.

1920 - the first commercial radio stations carrying voice information were installed.
1946 - J. Presper Eckert and John Mauchley of the University of Pennsylvania are given credit by some
for beginning modern-day computing when they developed the Electronic Numerical Integrator and
Computer (ENIAC).

1951 - The UNIVAC was built by Remington Rand Corporation, and was the first mass-produced
electronic computer.

1970s - microprocessor-controlled microcomputers were introduced, and by the 1980s personal


computers became an essential item in the home and workplace. Since then, the number of mainframe
computers, small business computers, personal computers, and computer terminals has increased
exponentially, creating a situation where more and more people have the need (or at least think they
have the need) to exchange digital information with each other. Consequently, the need for data
communications circuits, networks, and systems has also increased exponentially.

1980s - the first working cellular communications system was introduced, known simply as 1G, or first
generation, which evolved rapidly over the years. 2G system pave the way for its integration into digital
domain and still evolving.

At present, data communications applications are present in almost all of the dealing we do.
From connecting and browsing in the internet, in almost all the business dealing, like transacting in
financial institutions, shopping and selling online to name a few. Today, interconnectivity is key to rapid
advancement in communities and is all due to proliferation data communication systems.
1/24/23

DATA COMMUNICATIONS

In the Data Communications world, data generally are defined as information that is stored in
digital form. The word data is plural; a single unit of data is a datum. Data Communications is the
process of transferring digital information (usually in binary form) between two or more points.
Information is defined as knowledge or intelligence. Information that has been processed, organized,
and stored is called data. The fundamental purpose of a data communications circuit is to transfer digital
information from one place to another. Thus, Data Communications can be summarized as the
transmission, reception, and processing of digital information. The original source information can be
in analog form, such as the human voice or music, or in digital form, such as binary-coded numbers or
alphanumeric codes. If the source information is in analog form, it must be converted to digital form at
the source and then converted back to analog form at the destination. While the received information is
in digital form and is converted

Source of Transmitter Channel Receiver Destination of


Information Information

Sender Receiver

Simplified block diagram


to analog as its final form. The transmitter contains the hardware and the associated software for proper
transmission of the data to its destination. These are collectively called as sender. It can consist of a
computer, a printer and the likes. At the sending part, conversion from analog to digital, encoding,
multiplexing, modulation, and other processes are performed. Data communication protocols are
integrated at the hardware. Protocols are set of rules for proper transmission and reception of
information. A protocol performs the following functions;

a. Data sequencing. It refers to breaking a long message into smaller packets of fixed size. Data
sequencing rules define the method of numbering packets to detect loss or duplication of
packets, and to correctly identify packets, which belong to same message.
b. Data routing. Data routing defines the most efficient path between the source and destination.
c. Data formatting. Data formatting rules define which group of bits or characters within packet
constitute data, control, addressing, or other information.
d. Flow control. A communication protocol also prevents a fast sender from overwhelming a slow
receiver. It ensures resource sharing and protection against traffic congestion by regulating the
flow of data on communication lines.
e. Error control. These rules are designed to detect errors in messages and to ensure transmission
of correct messages.
f. Precedence and order of transmission. These rules ensure that all the nodes get a chance to use
the communication lines and other resources of the network based on the priorities assigned to
them.
g. Connection establishment and termination. These rules define how connections are
established, maintained and terminated when two nodes of a network want to communicate
with each other.
h. Data security. Providing data security and privacy is also built into most communication
software packages. It prevents access of data by unauthorized users.
i. Log information. Several communication software are designed to develop log information,
which consists of all jobs and data communications tasks that have taken place. Such
information may be used for charging the users of the network based on their usage of the
network resources.

The channel is the transmission medium that is used to connect the transmitter to the receiver.
It can either a guided (bounded) or unguided (unbounded) types. Guided medium refers to the physical
connectors, such as transmission lines, waveguides and optical fiber, while unbounded media refers to
radio used in microwave and satellite communication. The information could undergo different
processes such as conversion from analog to digital if it is transmitted using different types of media.
Optical fiber is the preferred transmission media because it can support high speed transmission and
provide higher capacity as compared to conventional transmission line. Radio wave propagation is the
only means if the use of unbounded media is not possible or not practical.

While at the receiving end, received data undergoes the opposite data processing to that of a
sender. It must be able to reproduce the information as it is sent.
1/25/23

DATA COMMUNICATION NETWORK and ARCHITECTURE

Data Communications Network is any system of computers, computer terminals, or computer used to
transmit and/or receive information between two or more locations, while Network Architectures
outline the products and services necessary for the individual components within a data
communications network to operate together. Data Communications Network Architecture in essence is
a set of equipment, transmission media, and procedures that ensures that a specific sequence of events
occurs in a network in the proper order to produce the intended results. Network architecture must
include sufficient information to allow a program or a piece of hardware to perform its intended
function. The primary goal of network architecture is to give the users of the network the tools
necessary for setting up the network and performing data flow control. A network architecture outlines
the way in which a data communications network is arranged or structured and generally includes the
concept of levels or layers of functional responsibility within the architecture. The functional
responsibilities include electrical specifications, hardware arrangements, and software procedures.

CLASSIFICATION OF DATA COMMUNICATION NETWORK

Data Communications Networks can be classified in two: Broadcast and Point to Point.

With broadcast networks, all stations and devices on the network share a single
communications channel. Data are propagated through the network in relatively short messages
sometimes called frames, blocks, or packets. Many or all subscribers of the network receive transmitted
messages, and each message contains an address that identifies specifically which subscriber (or
subscribers) is intended to receive the message. When messages are intended for all subscribers on the
network, it is called broadcasting, and when messages are intended for a specific group of subscribers, it
is called multicasting.

Point-to-point networks have only two stations. Therefore, no addresses are needed. All
transmissions from one station are intended for and received by the other station. With point-to-point
networks, data are often transmitted in long, continuous messages, sometimes requiring several hours
to send.

DATA COMMUNICATIONS PROTOCOL

Data Communications Network communicate using protocols, which define the procedures that the
systems involved in the communications process will use. Numerous protocols are used today to provide
networking capabilities, such as how much data can be sent, how it will be sent, how it will be
addressed, and what procedure will be used to ensure that there are no undetected errors. Each
functional layer of a network is responsible for providing a specific service to the data being transported
through the network by providing a set of rules, called protocols that perform a specific function (or
functions) within the network. Officially Data Communications Protocols are sets of rules governing the
orderly exchange of data within the network or a portion of the network. The list of protocols used by a
system is called a protocol stack, which generally includes only one protocol per layer. Layered network
architectures consist of two or more independent levels. Each level has a specific set of responsibilities
and functions, including data transfer, flow control, data segmentation and reassembly, sequence
control, error detection and correction, and notification.

CLASSIFICATION OF DATA COMMUNICATIONS PROTOCOLS

Protocols can be generally classified as either connection-oriented or connectionless. With a


connection-oriented protocol, a logical connection is established between the endpoints (e.g., a virtual
circuit) prior to the transmission of data. Connection-oriented protocols operate in a manner similar to
making a standard telephone call where there is a sequence of actions and acknowledgments, such as
setting up the call, establishing the connection, and then disconnecting.

The actions and acknowledgments include dial tone, Touch-Tone signaling, ringing and ring-back
signals, and busy signals. Connection-oriented protocols are designed to provide a high degree of
reliability for data moving through the network. This is accomplished by using a rigid set of procedures
for establishing the connection, transferring the data, acknowledging the data, and then clearing the
connection. In a connection-oriented system, each packet of data is assigned a unique sequence number
and an associated acknowledgement number to track the data as they travel through a network. If data
are lost or damaged, the destination station requests that they be re-sent. Characteristics of connection-
oriented protocols include the following:

1. A connection process called a handshake occurs between two stations before any data are
actually transmitted. Handshake ensures the integrity of connections between stations in a
network prior to exchange of data. Connections are sometimes referred to as sessions, virtual
circuits, or logical connections.
2. Most connection-oriented protocols require some means of acknowledging the data as they
are being transmitted. Protocols that use acknowledgment procedures provide a high level of
network reliability.
3. Connection-oriented protocols often provide some means of error control (i.e., error
detection and error correction). Whenever data are found to be in error, the receiving station
requests a retransmission.
4. When a connection is no longer needed, a specific handshake drops the connection.
Connection oriented protocol
1/31/23
Connectionless protocols are protocols where data are exchanged in an unplanned fashion
without prior coordination between endpoints (e.g., a datagram). Connectionless protocols do not
provide the same high degree of reliability as connection-oriented protocols; however, connectionless
source and destination addresses, and then mailed. You can only hope the letter arrives at its
destination.
Characteristics of connectionless protocols are as follow:

1. Connectionless protocols send data with a source and destination address without a
handshake to ensure that the destination is ready to receive the data.
2. Connectionless protocols usually do not support error control or acknowledgment
procedures, making them a relatively unreliable method of data transmission.
3. Connectionless protocols are used because they are often more efficient, as the data being
transmitted usually do not justify the extra overhead required by connection-oriented protocols.

Connectionless protocol

NETWORK TOPOLOGY

Network Topology describes the layout or appearance of a network, that is, how the
computers, cables, and other components within a data communications network are interconnected,
both physically and logically. The physical topology describes how the network is actually laid out, and
the logical topology describes how data actually flow through the network.
In a data communications network, two or more stations connect to a link, and one or more
links form a topology. Topology is a major consideration for capacity, cost, and reliability when designing
a data communications network.

The types of topologies are point to point and multipoint.

A point-to-point topology is used in data communications networks that transfer high-speed


digital information between only two stations. Very often, point-to-point data circuits involve
communications between a mainframe computer and another mainframe computer or some other type
of high-capacity digital device.

Point-to-point topology

A multipoint topology connects three or more stations through a single transmission medium.
Types of multipoint topologies are star, bus, ring, mesh, and hybrid.

A star topology is a multipoint data communications network where remote stations are
connected by cable segments directly to a centrally located computer called a hub, which acts like a
multipoint connector. In essence, a star topology is simply a multipoint circuit comprised of many two-
point circuits where each remote station communicates directly with a centrally located computer. With
a star topology, remote stations cannot communicate directly with one another, so they must relay
information through the hub. Hubs also have store-and-forward capabilities, enabling them to handle
more than one message at a time.

Star topology
A bus topology is a multipoint data communications circuit that makes it relatively simple to
control data flow between and among the computers because this configuration allows all stations to
receive every transmission over the network. With a bus topology, all the remote stations are physically
or logically connected to a single transmission line called a bus. A bus topology is sometimes called
multi-drop or linear bus, and all stations share a common transmission medium. Data networks using
the bus topology generally involve one centrally located host computer that controls data flow to and
from the other stations.

Bus topology

A ring topology is a multipoint data communications network where all stations are
interconnected in tandem (series) to form a closed loop or circle. A ring topology is sometimes called a
loop. Each station in the loop is joined by point-to-point links to two other stations (the transmitter of
one and the receiver of the other). Transmissions are unidirectional and must propagate through all the
stations in the loop. Each computer acts like a repeater in that it receives signals from down-line
computers then retransmits them to up-line computers. The ring topology uses token to designate who
will be transmitting and the rest will be in receive mode only.

Ring topology

In a mesh topology, every station has a direct two-point communications link to every other
station on the circuit. The mesh topology is sometimes called fully connected. A disadvantage of a mesh
topology is a fully connected circuit requires n(n-1)/2 physical transmission paths to interconnect n
stations and each station must have n-1 input/output ports. Advantages of a mesh topology are reduced
traffic problems, increased reliability, and enhanced security.
Mesh topology

A hybrid topology is simply combining two or more of the traditional topologies to form a larger,
more complex topology. Hybrid topologies are sometimes called mixed topologies. An example of a
hybrid topology is the bus ring topology shown in figure below.

Bus ring hybrid topology


2/1/23
Quiz 2/2/23

TRANSMISSION OR COMMUNICATION MODE

Specifies the direction of information flow between two or more communication devices via a
communication channel. It is also known as Data Communication Mode. The transmission mode is
sometimes referred to as a directional mode because each communication channel is coupled with a
direction provided by the transmission media.

Types of Transmission/Communication Mode

1. Simplex - in this mode, the communication happens between two stations and the direction of
transmission is one-way (unidirectional), that is, one of the station is transmitting only while the
other is receiving only.
Simplex Mode

The main advantage of a simplex mode is its ability to use the entire bandwidth (frequency)
allocation, hence, it can send more data through a given frequency. Its main disadvantage is the
absence of intercommunication which is used prevalently. Also, error detection is not possible
with simplex mode.
Examples of simplex transmission is the communication between a keyboard and the computer.
Analog radio broadcast also fall under this category.

2. Half-Duplex - In half-duplex mode, each station can both transmit and receive, but not at the
same time. When one device is sending, the other can only receive, and vice versa. The half-
duplex mode is used in cases where there is no need for communication in both directions at
the same time.

Half-Duplex Mode

The advantages of half-duplex mode is it provides error detection. Like a simplex mode, the
entire bandwidth is also utilized during transmission and reception as well. Its main
disadvantage is the inherent delay in the inter-transmission since a station cannot receive while
transmitting and cannot transmit while receiving. Sending email is an example of a half-duplex
mode.

3. Full Duplex Mode – in this transmission mode, the stations can transmit and receive
simultaneously. It could be station A is transmitting and receiving simultaneously to station B, or
station A transmitting to station B while receiving from station C simultaneously. The channel
link could be a dedicate line for transmission and reception or a single channel but the capacity
divided between transmit and received.
.
Full Duplex Mode

Full duplex offers the fastest inter-transmission time but the channel capacity is reduced or to
achieve a simplex inter-transmission mission time, it would require doubling of the channel
resources. Voice/Video call is an example of full duplex transmission.

4. Full/Full Duplex - In the full/full duplex mode, transmission is possible in both directions at the
same time but not between the same two stations (i.e., one station is transmitting to a second
station and receiving from a third station at the same time). It is possible only on multipoint
circuits.

2/7/2023

DATA TRANSMISSION

Data is transmitted through a medium as a stream of bits, as opposed to analog, which is a


continuous variations in amplitude and frequency. Data Transmission defines how the binary digits are
transmitted in a given medium. There are two types, namely; Serial and Parallel.

1. Serial Transmission – in serial transmission, the bits of a character is sequentially transferred


from the transmitter to the receiver using one transmission link or channel. Each bit
transmission requires one clocking time. It is also referred to as serial by bit transmission.

Serial communication

2. Parallel Transmission – in parallel transmission, the character is sequentially transferred from


the transmitter to the receiver. It is done by simultaneously transmitting all the bits in the
character at the same time over multiple links or channels. Each character transmission would
require one clocking time. It is also referred to as serial by bit, parallel by character transmission.

Parallel Transmission

The advantage of serial transmission is that it only requires one transmission link while in
parallel transmission, there will be as many transmission link as to the number of bits that
represents a character. On the other, parallel transmission is faster in transferring a character
from transmitter to a receiver. Usually, serial transmission is used for long distance transmission
while parallel transmission is commonly employed in short distance transmission.

SYNCHRONOUS AND ASYNCHRONOUS DATA TRANSMISSION

Synchronous Data Transmission is a data transfer method in which a continuous stream of data
signals is accompanied by timing signals (called, clock) to ensure that the transmitter and the receiver
are in step (synchronized) with one another. The data is sent in blocks (called frames or packets) spaced
by fixed time intervals. It is used when large amounts of data must be transferred very quickly from one
location to the other. The speed of the synchronous connection is attained by transferring data in large
blocks instead of individual characters. The mode of transmission in a synchronous data transmission is
full duplex only.

The data block transmitted always start and end with a SYN character which decimal number 22
or 016 HEX or 00010110 binary.

Synchronous Data Transmission Format

Asynchronous Data Transmission on the other hand uses start and stop bits to signify beginning
and ending of each character.
Asynchronous Data Transmission Format

These additional bits provide the timing or synchronization for the connection by indicating
when a complete character has been sent or received; thus, timing for each character begins with the
start bit and ends with the stop bit. The start bit is 0 while the stop bit is 1. When gaps appear between
character transmissions, the asynchronous line is said to be in a mark state. A mark is a binary 1 (or
negative voltage) that is sent during periods of inactivity on the line.

Asynchronous Data Steam

Data synchronization is used only in serial transmission.


2/8/23

DATA COMMUNICATIONS CODE

Data Communication Code is a sequence of bits (0’s and 1’s) used to represent letters, numbers
and special characters. The combination of bits forms a character, thus, it is sometimes called character
code, character set, symbol codes or character language.

Types of Data Communication Codes

1. Baudot Code - also called the Telex Code, was the first fixed-length character code developed by
Thomas Murray and was named after Emile Baudot, an early pioneer in telegraph printing. It is a
five-bit character code that was used primarily for low-speed teletype equipment, such as the
TWX/Telex system and radio teletype (RTTY). The latest version of the Baudot code is
recommended by the Consultative Committee on International Telephony and Telegraphy
(CCITT), now known as International Telecommunications Union (ITU), the agency under the
United Nations in-charge of information and communication technology, as the International
Alphabet No. 2.

Baudot Code

2. American Standard Code for Information Interchange (ASCII) Code – developed by Bell System,
the model 33 teletype code was adopted in 1963 by the United States of America and became
the United States of America Standard Code for Information Interchange (USASCII) that became
known as ASCII 63. Since its adoption, ASCI has progressed through the 1965, 1967, and 1977
versions, with the 1977 version being recommended by the ITU as International Alphabet No. 5,
and in the United States as American National Standard Institute standard X3.4-1986 (R1997),
and by the International Standards Organization as ISO-14962 (1997). It is a seven-bit fixed-
length character set. With the ASCII code, the least-significant bit (LSB) is designated b 0 and the
most-significant bit (MSB) is designated b 7. The bit designation does not represent because ASCII
is not a weighted binary number but simply is a code, but it refers to the order in which the bit
are transmitted in serial mode, wherein b 0 is transmitted first and b7 last. Bit b7 is not part of
ASCII Code but is included as the parity bit.
ASCII77 Code

ASCII77 Bit Designation

3. Extended Binary Coded Decimal Interchange Code (EBCDIC) - is an 8 bit fixed length character
set developed in 1962 by the International Business Machines Corporation (IBM). EBCDIC is used
almost exclusively with IBM mainframe computers and peripheral equipment. With eight bits,
28, or 256, codes are possible, although only 139 of the 256 codes are actually assigned
characters. Unspecified codes can be assigned to specialized characters and functions. The name
binary coded decimal was selected because the second hex character for all letter and digit
codes contains only the hex values from 0 to 9, which have the same binary sequence as BCD
codes.
EBCDIC Code
4. UNICODE - is the universal character encoding standard for written characters and text.
Established by the Unicode Consortium, It defines a consistent way of encoding multilingual text
that enables the exchange of text data internationally and creates the foundation for global
software. As the default encoding of HTML and XML, the Unicode Standard provides the
underpinning for the World Wide Web and the global business environments of today. While
taking the ASCII character set as its starting point, the Unicode Standard goes far beyond ASCII’s
limited ability to encode only the upper- and lowercase letters A through Z. It provides the
capacity to encode all characters used for the written languages of the world—more than 1
million characters can be encoded.

Unicode characters are represented in one of three encoding forms: a 32-bit form (UTF32), a 16
bit form (UTF-16), and an 8-bit form (UTF-8). The 8-bit, byte-oriented form, UTF-8, has been
designed for ease of use with existing ASCII-based systems. UTF-8 is backward-compatible with
ASCII and can represent any standard Unicode character. The first 128 UTF-8 characters
precisely match the first 128 ASCII characters (numbered 0-127), meaning that existing ASCII
text is already valid UTF-8. All other characters use two to four bytes. UTF-8 is capable of
encoding all 1,112,064 valid character code points in Unicode.

5. Bar Codes - is a series of vertical black bars separated by vertical white bars (called spaces) that
is readable and decoded by machines called bar code reader/scanner. The widths of the bars
and spaces along with their reflective abilities represent binary 1s and 0s, and combinations of
bits identify specific items. In addition, bar codes may contain information regarding cost,
inventory management and control, security access, shipping and receiving, production
counting, document and order processing, automatic billing, and many other applications.

There are several standard bar code formats. The format selected depends on what types of
data are being stored, how the data are being stored, system performance, and which format is
most popular with business and industry. Bar codes are generally classified as being discrete,
continuous, or two-dimensional (2D).

Discrete code. A discrete bar code has spaces or gaps between characters. Therefore, each
character within the bar code is independent of every other character. Code 39 is an example of
a discrete bar code. It is a code classified as 1D bar code.

Code 39 bar code


Continuous code. A continuous bar code does not include spaces between characters. An
example of a continuous bar code is the Universal Product Code (UPC). It is likewise classified as
a 1D bar code

Universal Product Code

2D code. A 2D bar code stores data in two dimensions in contrast with a conventional linear bar
code, which stores data along only one axis. 2D bar codes have a larger storage capacity than
one-dimensional bar codes (typically 1 kilobyte or more per data symbol). QR code is an
example of a 2D bar code

QR Code

2/9/23

ERROR CONTROL

Error Control is the detection and correction of error that occurred during data transmission.
Since data communications system can be as short as a few meters or as long as several thousand miles,
and the transmission medium can be as simple as a pair of wires or as complex as microwave, satellite,
or optical fiber communications system. Therefore, it is inevitable that errors will occur.

Transmission errors are caused mainly by electromagnetic interference from natural sources,
such as lightning, as well as from man-made sources, such as motors, generators, power lines, and
fluorescent lights.

Classification of Errors
1. Single-Bit Error - happens when only one bit within a given data string is in error. Single-bit
errors affect only one character within a message.
2. Multiple-Bit Error - is when two or more nonconsecutive bits within a given data string are
in error. A data string is simple a sequence of characters. Multiple-bit errors can affect one
or more characters within a message.
3. Burst Error - is when two or more consecutive bits within a given data string are in error.
Burst errors can affect one or more characters within a message.

Error Performance - is the rate in which errors occur, which can be described as either an
expected (theoretical) or an empirical value. The theoretical or mathematical expectation of the rate at
which errors will occur is called Probability of Error, P(e), whereas the actual historical record
(empirical) of a system’s error performance is called Bit Error Rate (BER).

In communication a system having a P(e) of 10-n, this means that mathematically the system can
expect to experience one bit error for every 10n bits transported through the system.

Example, if the P(e) = 10-3 = 1/103 = 1/1000

This means that the system can expect 1 bit error for every 1000 bit transmitted.

Meanwhile, If a system has a BER of 10-n, this means that in the past there was one bit error for
every 10n bits transmitted. Typically, a BER is measured and then compared with the probability of error
to evaluate system performance.

ERROR DETECTION

Error Detection - is the process of monitoring data transmission and determining when errors
have occurred. Error-detection techniques neither correct errors nor identify which bits are in error—
they indicate only when an error has occurred. The purpose of error detection is not to prevent errors
from occurring but to prevent undetected errors from occurring.

The most common means of checking error during transmission of data is Redundancy
Checking. Duplicating each data unit for the purpose of detecting errors is called redundancy.
Redundancy is an effective but rather costly means of detecting errors especially with long messages. It
is much more efficient to add bits to data units that check for transmission errors.

Forms of Redundancy Checking

1. Vertical Redundancy Checking (VRC) - probably the simplest error-detection scheme and is
generally referred to as character parity or simply parity. With character parity, each
character has its own error-detection bit called the parity bit. Since the parity bit is not
actually part of the character, it is considered a redundant bit. An n-character message
would have n redundant parity bits. Therefore, the number of error-detection bits is directly
proportional to the length of the message. With character parity, a single parity bit is added
to each character to force the total number of logic 1s in the character, including the parity
bit, to be either an odd number (odd parity) or an even number (even parity). The primary
advantage of parity is its simplicity. The disadvantage is that when an even number of bits
are received in error, the parity checker will not detect them because when the logic
condition of an even number of bits is changed, the parity of the character remains the
same. Consequently, over a long time, parity will theoretically detect only 50% of the
transmission errors (this assumes an equal probability that an even or an odd number of bits
could be in error).

2/14/23

A
To Receiver
B

A
B

Even Parity Generator

P
C

X If X = 0, no error
From Transmitter
If X = 1, with error
B
C

Even Parity Checker


P

A
To Receiver
B

A
B

Odd Parity Generator

P
C

X If X = 0, no error
From Transmitter
If X = 1, with error
B
C

Odd Parity Checker

Other forms of parity include marking parity (the parity bit is always a 1), no parity (the
parity bit is not sent or checked), and ignored parity (the parity bit is always a 0 bit if it is
ignored). Marking parity is useful only when errors occur in a large number of bits. Ignored
parity allows receivers that are incapable of checking parity to communicate with devices
that use parity.

Example: Determine the parity bit with a data sequence ABC = 1011 and verify the output of
the parity checker using even and odd parity

2. Checksum - is a relatively simple form of redundancy error checking where each character
has a numerical value assigned to it. The characters within a message are combined
together to produce an error-checking character, called checksum, which can be as simple
as the arithmetic sum of the numerical values of all the characters in the message. The
checksum is appended to the end of the message. The receiver replicates the combining
operation and determines its own checksum. The receiver’s checksum is compared to the
checksum appended to the message, and if they are the same, it is assumed that no
transmission errors have occurred. If the two checksums are different, a transmission error
has definitely occurred. Here is how checksum works;
At sender side, if m bit checksum is used, the data unit to be transmitted is divided into
segments of m bits. Usually, bit size, m, is 8 bits or 16 bits. All the m bit segments are added
but the resulting sum will only be up to m bit long, discarding the extra leading bits in excess
of the checksum size, m, and is then complemented using 1’s complement arithmetic to
obtain the checksum. The data along with the check sum is then transmitted.

At the receiver, the data is divided into segments of m bits and are added along with the
checksum value. The value obtained is complemented and the result is checked. If the result
is zero (0), then no error occurred during transmission. If the result is one (1), then error
occurred during transmission.

Example: compute the 8-bit checksum generated with the data string
10011001111000100010010010000100.

Solution:

Using m = 8 bit 10011001|11100010|00100100|10000100

At the transmitter side, the data segment is divided into 8 bit segment and is added, thus

sum of bit segment = 10011001 + 11100010 + 00100100 + 10000100 = 1000100011 (before


bit wrapping).

After bit wrapping, sum of bit segment = 00100011. Taking the 1’s complement,

checksum = 11011010

At receiver side, the received data unit is divided into segments of 8 bits and added along
with the checksum value.

Sum of all segments = 00100101


Checksum value = 11011010

Sum of all segment and Checksum value = 00100101 + 11011010 = 11111111, the 1’s
complement value is 00000000.

Since the result is 0, receiver assumes no error occurred in the data transmission.

3. Longitudinal Redundancy Checking (LRC) is a redundancy error detection scheme that uses
parity to determine if a transmission error has occurred within a message and is therefore
sometimes called message parity. With LRC, each bit position has a parity bit. In other
words, b0 from each character in the message is X’ORed with b 0 from all the other characters
in the message. Similarly, b 1, b2, and so on are X’ORed with their respective bits from all the
characters in the message. Essentially LRC is the result of X’ORing the “character codes” that
make up the message, whereas VRC is the X’ORing of the bits within a single character. With
LRC, even parity is generally used, whereas with VRC, odd parity is generally used. The LRC
bits are computed in the transmitter while the data are being sent and then appended to
the end of the message as a redundant character. In the receiver, the LRC is recomputed
from the data, and the recomputed LRC is compared to the LRC appended to the message. If
the two LRC characters are the same, most likely no transmission errors have occurred. If
they are different, one or more transmission errors have occurred.

The group of characters that comprise a message is often called a block or frame of data.
Therefore, the bit sequence for the LRC is often called a block check sequence (BCS) or
frame check sequence (FCS).

With longitudinal redundancy checking, all messages (regardless of their length) have the
same number of error-detection characters. This characteristic alone makes LRC a better
choice for systems that typically send long messages. Historically, LRC detects between 95%
and 98% of all transmission errors. LRC will not detect transmission errors when an even
number of characters has an error in the same bit position. For example, if b4 in an even
number of characters is in error, the LRC is still valid even though multiple transmission
errors have occurred.

Example: Determine the VRCs and LRC for the following ASCII-encoded message: THE CAT.
Use odd parity for the VRCs and even parity for the LRC.

LRC

VRC b7 0 1 0 0 0 1 0

Using Odd Parity for VRC


VRC = 0100010
Using Even Parity for LRC
LRC = 00101111
The LRC is 00101111 binary (2F hex), which is the character “/” in ASCII. Therefore, after the
LRC character is appended to the message, it would read “THE CAT/.”

At the receiver, LRC is again generated from the character block and is compared to the
receive LRC appended during transmission. If it is the same, no error in transmission.

2/15/23
Quiz 2/16/23 – transmission mode to communication code

4. Cyclic Redundancy Checking (CRC) considered as the most reliable redundancy checking
technique for error detection with approximately 99.999% of all transmission errors are
detected. With CRC, it uses a string of bits, called, Block Check Sequence (BCS) that is added
during transmission to detect errors. A data message polynominal G(x) is divided by a
unique generator polynominal function P(x), the quotient is discarded, and the remainder is
truncated to 16 bits and appended to the message as a BCS. CRC-16 detects all single-bit
errors, all double-bit errors, all odd number of bit errors, all error bursts of 16 bits or less,
and 99.9% of error bursts greater than 16 bits long. For randomly distributed errors, it is
estimated that the likelihood of CRC-16 not detecting an error is 10 -14, which equates to one
undetected error every two years of continuous data transmission at a rate of 1.544 Mbps.

With CRC generation, the division is not accomplished with standard arithmetic division.
Instead, modulo-2 division is used, where the remainder is derived from an exclusive OR
(XOR) operation. In the receiver, the data stream, including the CRC code, is divided by the
same generating function P(x). If no transmission errors have occurred, the remainder will
be zero.

In the receiver, the message and CRC character pass through a block check register. After
the entire message has passed through the register, its contents should be zero if the
receive message contains no errors.

Mathematically, CRC can be expressed as,


Generator Polynomial, P(x)

Example:

Determine the BCS for the following given data string and generating polynomial;

G(x) = 10110111
P(x) = x5+x4+x1+x0
Error Correction

Error Correction is the reconstruction of erroneous messages that arrived at the receiver. There
are two basic types of error messages; lost message and damaged message. A lost message is one that
never arrives at the destination or one that arrives but is damaged to the extent that it is
unrecognizable. Damaged message is one that is recognized at the destination but contains one or more
transmission errors.

Types of Error Correction Techniques

1. Retransmission - is when a receive station requests the transmit station to resend a message (or
a portion of a message) when the message is received in error. Because the receive terminal
automatically calls for a retransmission of the entire message, retransmission is often called
ARQ, which is an old two-way radio term that means automatic repeat request or automatic
retransmission request. ARQ is probably the most reliable method of error correction, although
it is not necessarily the most efficient. Impairments on transmission media often occur in bursts.
If short messages are used, the likelihood that impairments will occur during a transmission is
small. However, short messages require more acknowledgments and line turnarounds than do
long messages. Acknowledgments are when the recipient of data sends a short message back to
the sender acknowledging receipt of the last transmission. The acknowledgment can indicate a
successful transmission (positive acknowledgment) or an unsuccessful transmission (negative
acknowledgment). Line turnarounds are when a receive station becomes the transmit station,
such as when acknowledgments are sent or when retransmissions are sent in response to a
negative acknowledgment. Acknowledgments and line turnarounds for error control are forms
of overhead (data other than user information that must be transmitted).With long messages,
less turnaround time is needed, although the likelihood that a transmission error will occur is
higher than for short messages. It can be shown statistically that messages between 256 and
512 characters long are the optimum size for ARQ error correction.

There are two basic types of ARQ: discrete and continuous. Discrete ARQ uses
acknowledgments to indicate the successful or unsuccessful reception of data. There are two
basic types of acknowledgments: positive and negative. The destination station responds with a
positive acknowledgment when it receives an error-free message. The destination station
responds with a negative acknowledgment when it receives a message containing errors to call
for a retransmission. If the sending station does not receive an acknowledgment after a
predetermined length of time (called a time-out), it retransmits the message. This is called
retransmission after time-out. Continuous ARQ can be used when messages are divided into
smaller blocks or frames that are sequentially numbered and transmitted in succession, without
waiting for acknowledgments between blocks. Continuous ARQ allows the destination station to
asynchronously request the retransmission of a specific frame (or frames) of data and still be
able to reconstruct the entire message once all frames have been successfully transported
through the system. This technique is sometimes called selective repeat, as it can be used to call
for a retransmission of an entire message or a portion of a message only.

2. Forward Error Correction (FEC) is the only error-correction scheme that actually detects and
corrects transmission errors when they are received without requiring a retransmission. With
FEC, redundant bits are added to the message before transmission. When an error is detected,
the redundant bits are used to determine which bit is in error. Correcting the bit is a simple
matter of complementing it. The number of redundant bits necessary to correct errors is much
greater than the number of bits needed to simply detect errors. Therefore, FEC is generally
limited to one-, two-, or three-bit errors. FEC is ideally suited for data communications systems
when acknowledgments are impractical or impossible, such as when simplex transmissions are
used to transmit messages to many receivers or when the transmission, acknowledgment, and
retransmission time is excessive, for example when communicating to a far-away places, such as
deep-space vehicles. The purpose of FEC codes is to eliminate the time wasted for
retransmissions. However, the addition of the FEC bits to each message wastes time itself.
Obviously, a trade-off is made between ARQ and FEC, and system requirements determine
which method is best suited to a particular application. Probably the most popular error-
correction code is the Hamming Code, developed by Richard W. Hamming, who was an early
pioneer in the development of error-detection and correction procedures, used dominantly on
synchronous transmission. However, the Hamming code will correct only single-bit errors. It
cannot correct multiple-bit errors or burst errors, and it cannot identify errors that occur in the
Hamming bits themselves.

Hamming bits (sometimes called error bits) are inserted into a character at random
locations. The combination of the data bits and the Hamming bits is called the Hamming code.
The only stipulation on the placement of the Hamming bits is that both the sender and the
receiver must agree on where they are placed. To calculate the required hamming bits, n,
needed for a character with m number of bit representation;

2n ≥ m + n + 1
Where: n = number of Hamming bits
m = number of bits in each character

Example: For a 8-bit data string of 10110001, determine the number of Hamming bits required,
arbitrarily place the Hamming bits into the data string, determine the logic condition of each
Hamming bit, assume an arbitrary single-bit transmission error, and prove that the Hamming
code will successfully detect the error.

You might also like