1 Data Communication
1.14 DATA CODING
An error-free message received at the receiver is central to any commu-nication scheme. A message, sent from the transmitter, may get corrupted along its passage to the receiver. Many factors play into corrupting mes-sage bits—the magnitude of which depends on the type of communication.
For audio or video transmissions, some level of error may be tolerated;
however, in some cases, say monetary transactions must have to have zero level of tolerance. Various schemes are employed to detect and correct transmission errors. Redundant bits, which do not form message bits, are sent along with data bits to achieve the same. Redundancy is realized by various coding schemes that are performed on message bits to ensure error-free message reception. There are several reasons for coding a mes-sage before it is sent to the receiver: (a) to simplify transmitter and receiver design; (b) to achieve higher transmission efficiency; (c) to decrease error;
and (d) to provide secrecy in transmission, i.e., eavesdropping by a third party is eliminated.
D
R
Tx Rx
FIGURE 1.23 Signal may reach receiver in multipaths.
Noise floor Data before
spread Noise floor
Data spread
FIGURE 1.24 Spread signal level lies below noise level.
Data Communication 27
1.14.1 introduCtion
It is very simple to comprehend that error correction is more difficult to realize than simple error detection. Error detection involves the detec-tion of corrupted bit(s). On the other hand, error correcdetec-tion involves, first, detecting the places of error, and subsequently, correcting them. Error cor-rection involves two schemes: forward error corcor-rection and retransmission.
In the former, the received bits are corrected with the help of redundant bits following some established methodology. The retransmission scheme is straightforward in which retransmission of message is requested when the receiver detects any error in data bits.
Errors that corrupt messages may be single bit or multibit in nature, although multibit errors are more common. Multibit error is known as burst error. The number of bits affected in burst error depends on the dura-tion of noise and data transmission rate.
1.14.2 CharaCteristiCsoFa line Code
There are various line codes employed to decrease potential error at the receiving section. A line code should have the ability to detect and correct errors. Second, the line code should have adequate timing content, i.e., it should be possible to extract clock timing from the coded data, which is essential for data retrieval. Third, the code should be transparent in nature.
There are situations in which long strings of 1’s and 0’s are transmitted that form part of data. If it is possible to retrieve such long strings 1’s and 0’s from the coded data, then the code is said to be transparent. Fourth, the code should be immune from channel noise and ISI. Lastly, the frequency response of a coded signal should match the frequency response of the channel through which the coded data is being transmitted. In essence, their power spectral densities should match each other.
Some other characteristics that a line code should have are baseline wan-dering and DC components. Data, after it is decoded at the receiver, has an average power in its spectrum. This average is called baseline. A data element is evaluated for its value after the received signal element power is compared with this average. If there are long strings of 1’s and 0’s in the data element, there is a possibility of a drift in this baseline value—
called baseline wandering. Such a phenomenon makes determination of data element value very difficult. Thus, a data element should be coded such that baseline wandering can be avoided. An example of such a code is Manchester coding. When a digital data do not change its status for a few number of bits, there is a possibility of low-frequency existence in the spec-trum—called DC components. Since AC coupling is used in the repeaters, it is expected that the spectrum should be devoid of any DC components.
1.14.3 tyPes
There are various line codes that are used for sending messages to the receiver in an effort to achieve error-free reception. The Manchester code is a very good example of a transparent code for which there is always a change in signal level at half the bit period. This code is particularly suit-able for data having long strings of 1’s and 0’s. Huffman codes utilize the probability of occurrence of different characters and assign shorter codes to characters that are transmitted most often. It should be ensured that no shorter code word should form the initial bits of any longer code word—
this is necessary for the receiver to recognize the character boundaries.
Coding schemes can broadly be categorized into block coding and convolution coding. Messages are divided into several blocks—each such block is called a data word. To each such data word, redundant bits are added to get code words. In block coding scheme, each identical data word gives rise to the same codeword—i.e., it is a one-to-one coding scheme.
Block coding can be employed for both error detection and correction.
Linear block codes are a form of block codes that are employed for both error detection and correction. For such a linear block code, the XORing of two valid code words would give rise to another valid codeword. Parity check code and Hamming code are some examples of linear block codes.
Parity check code is an error-checking code and it has its own drawbacks and is not used in noisy environments. A Hamming code can correct a single error or detect a double error. It can also detect a burst error. A cyclic code is a special type of linear block code in which if a codeword is cyclically shifted, it would result in another codeword. Cyclic redundancy code (CRC) is a type of cyclic code. If automatic repeat request (ARQ) protocol is used in conjunction with CRC code, then it becomes very effec-tive in reducing the BER of a message. A CRC-16 code may attain one undetected error in every 1014 bits.
29
2 Networking
2.1 INTRODUCTION
The field of communication has expanded at a very fast pace over the last several decades. Initially, only voice communication was in vogue, but availability of microprocessors, microcomputers, and peripheral equip-ments have drastically changed the whole scenario. Today, a multitude of information, mostly in digital form, is transported worldwide in a fraction of a second, almost without any kind of error. Very high volumes of digital data along with faster, more reliable, and secure communications are the need of the hour.
The original information from the source can be in either analog or digital form. If it is analog, it is first to be digitized and then sent. A data communication system involves transmission, reception, and extraction of the original data after processing. Analog information is obtained at the receiving end after proper digital-to-analog conversion. Examples of ana-log information may be voice or simply audio music, while digital infor-mation may consist of binary coded data, alphanumeric codes.
A network is a set of devices (often termed as nodes or stations) inter-connected by communication links. Examples of a node can be a com-puter, a printer, or any device that is capable of sending/receiving data to/
from other nodes connected with the network. A data communications net-work essentially does not virtually have any limit with regard to its capac-ity. Data communication networks connect a workstation with mainframe computers, ATMs to bank systems, airline and hotel bookings, electronic mail transfers, information highways, media and news centers, etc.
Figure 2.1 shows the structure of a computer communications network.
The black circles are switching computers that are connected by high-speed lines. There are also computers connected to different kinds of ter-minals, and some do not have any connections associated with them.
Again, there are three types of terminals: local, remote, and orphan—
the names are apparent from their positions Figure 2.1. The local com-puters operate at moderate bandwidth for data transmission, while the high-speed switching computers need higher bandwidth for their very fast nature of operation.
2.2 characterIstIcs
A data communications network must fulfill the following criteria or attri-butes for an effective and reliable network:
1. Fastness: Data transmission from a host must be as fast as possible.
Throughput is a measure of fastness. As network traffic increases, throughput decreases and delay increases.
2. Transmit and response times: They must be kept as low as possible.
Transmit time is the time for a message to travel from one node to another, while response time is the time between an inquiry and the corresponding response.
3. Cost: The cost of establishing, maintaining, and operating the net-work must be a minimum.
4. Efficiency: A major part of the network must not remain idle for a long time.
5. Secure: Any malicious intruder must not have access to the network.
6. Error: The system must be as error free as possible. One parameter that is used for this purpose is bit error rate or BER.
c
c High-speed
Communication line network
Local terminals
Orphan terminals
Low-speed line
Remote terminals
c c
c
Switching computer
c Computer
FIGure 2.1 Structure of computer communications network.
Networking 31