Error
Error
Error
In wireless communication, an error is a deviation from the original signal that is transmitted. Errors can
occur due to a variety of factors, including:
Noise: Noise is any unwanted signal that can interfere with the transmitted signal. Noise can be
caused by natural sources, such as lightning, or by man-made sources, such as electronic
devices.
Interference: Interference is a signal that is transmitted from another source and that overlaps
with the desired signal. Interference can be caused by other wireless devices, such as cell
phones or radios.
Degradation: Degradation is a gradual loss of signal quality over time. Degradation can be
caused by factors such as distance, obstacles, and weather conditions.
Types of error
Single Error: A single error refers to the occurrence of a single bit or symbol error within a data
transmission. It means that only one bit or symbol has been corrupted or received incorrectly.
Single errors can occur randomly or in burst form, depending on the characteristics of the
communication channel.
Burst Errors: Burst errors involve the occurrence of multiple consecutive errors within a short
duration or a specific pattern. These errors can affect a group of bits or symbols together,
making it more challenging to correct them. Burst errors often result from fading, multipath
propagation, interference, or other channel impairments.
Multiple Errors: Multiple errors refer to the simultaneous occurrence of more than one error
within a data transmission. This means that multiple bits or symbols have been corrupted or
received incorrectly at the same time. Multiple errors can occur due to severe channel
impairments, high interference levels, or transmission issues.
Error Control
Errors can have a significant impact on the performance of wireless communication systems. If the error
rate is too high, the data that is transmitted may be corrupted and unusable. Error control can be used
to detect and correct errors in wireless communication, such as:
Error detection: Error detection techniques can identify whether an error has occurred. If an
error is detected, the data may be retransmitted.
Error correction: Error correction techniques can correct errors that have occurred. Error
correction techniques are more complex than error detection techniques, but they can improve
the reliability of wireless communication systems.
Parity check
Parity check is a basic error detection technique used in data transmission
to identify errors. It involves adding an extra bit, known as the parity bit,
to the transmitted data. The parity bit is set to ensure a specific parity
(even or odd) based on the content of the data being transmitted.
30006
Page
1
Error control wireless communication
1. Even Parity: In even parity, the number of 1s in the data, including the parity bit, is made even.
For example, if the data being transmitted is "1101," which contains three 1s, the parity bit will
be set to "1" to make the total number of 1s even. So, the transmitted data will be "11011."
2. Odd Parity: In odd parity, the number of 1s in the data, including the parity bit, is made odd.
Using the same example as above, the parity bit will be set to "0" to make the total number of
1s odd. Thus, the transmitted data will be "11010."
At the receiver's end, the received data, including the parity bit, is checked for parity. The receiver
counts the number of 1s in the received data and compares it with the expected parity (even or odd). If
the number of 1s matches the expected parity, it indicates that no errors occurred during transmission.
However, if the number of 1s differs from the expected parity, it suggests that errors may have
occurred.
Working of CRC
30006
Page
2
Error control wireless communication
For example, let's say we want to transmit the 8-bit data sequence 11011011 using CRC-6. The
generator polynomial is 110101.
1. Polynomial Division: Divide the data by the generator polynomial using modulo-2 division. The
remainder obtained is 101, which represents the CRC checksum.
2. Transmission: Transmit the original data (11011011) along with the CRC checksum (101) to the
receiver.
3. Checksum Verification: At the receiver's end, perform the same polynomial division on the
received data (11011011101) using the generator polynomial. The remainder obtained should
be zero to indicate error-free transmission.
There are a number of different types of BECs. The most common types of BECs include:
Hamming codes: Hamming codes are one of the simplest and most efficient types of BECs. They can
correct single-bit errors and detect two-bit errors.
o There are there step involved in the sender side to encoding the code
o Step 1 − Calculation of the number of redundant bits.
If the message contains m𝑚number of data bits, r𝑟number of redundant bits are added to
it so that m𝑟 is able to indicate at least (m + r+ 1) different states. Here, (m + r) indicates
location of an error in each of (𝑚 + 𝑟) bit positions and one additional state indicates no
error. Since, r𝑟 bits can indicate 2r𝑟 states, 2r𝑟 must be at least equal to (m + r + 1). Thus
the following equation should hold 2r ≥ m+r+1
The r redundant bits placed at bit positions of powers of 2, i.e. 1, 2, 4, 8, 16 etc. They are
referred in the rest of this text as r1 (at position 1), r2 (at position 2), r3 (at position
4), r4 (at position 8) and so on.
The redundant bits are parity bits. A parity bit is an extra bit that makes the number of 1s
either even or odd. The two types of parity are −
Even Parity − Here the total number of bits in the message is made even.
Odd Parity − Here the total number of bits in the message is made odd.
30006
Page
3
Error control wireless communication
o At the receiver side the code the decoded, the steps involved
o Step 1 − Calculation of the number of redundant bits
Using the same formula as in encoding, the number of redundant bits are ascertained.
2r ≥ m + r + 1 where m is the number of data bits and r is the number of redundant bits.
Parity bits are calculated based upon the data bits and the redundant bits using the
same rule as during generation of c1,c2 ,c3 ,c4 etc. Thus
The decimal equivalent of the parity bits binary values is calculated. If it is 0, there is no
error. Otherwise, the decimal value gives the bit position which has error. For example,
if c1c2c3c4 = 1001, it implies that the data bit at position 9, decimal equivalent of 1001,
has error. The bit is flipped to get the correct message.
Cyclic code
Cyclic codes are known to be a crucial subcategory of linear coding technique because these offers
efficient encoding and decoding schemes using a shift register. These are used in error correction as
they can check for double or burst errors. Various other important codes like, Reed Solomon, Golay,
Hamming, BCH, etc. can be represented using cyclic codes.
Basically, a shift register and a modulo-2 adder are the two crucial elements considered as building
blocks of cyclic encoding. Using a shift register, encoding can be efficiently performed. The fundamental
elements of shift registers are flip flops (that acts as a storage unit) and input-output. While the other
i.e., a binary adder has two inputs and one output.
According to this property, a linear combination of two codewords must be another codeword.
30006
Page
4
Error control wireless communication
So, according to linearity property, the addition of any of the two given codewords must produce the
third codeword. Let’s check
According to this property, after a right or left shift in the bits of codewords the resultant code
generated must be another codeword.
Here we have performed the right cyclic shift that has produced these codewords.
For example, consider again those 3 codewords (110, 101, 011) which we considered for linearity
property.
So, according to cyclic shifting property, an either right or left shift in the bits of a codeword must
generate another codeword.
110: shifting the bits towards the right will provide 011.
101: a right shift in the bits of this codeword will give 110.
30006
Page
5
Error control wireless communication
Note. Each BCH code is a ‘t’ error correct code that can detect and correct up top ‘t’ random error per
code word.
Properties of BCH
dmin = 2t +1
t=2
here
30006
Page
6
Error control wireless communication
Generator Polynomial
A Reed-Solomon codeword is generated using a special polynomial. All valid codewords are exactly
divisible by the generator polynomial. The general form of the generator polynomial is:
c(x) = g(x).i(x)
where g(x) is the generator polynomial, i(x) is the information block, c(x) is a valid codeword and a is
referred to as a primitive element of the field.
Block interleaving
Block interleaving is a technique used to spread out errors in a data stream. It works by rearranging the
data in a block so that errors are not likely to occur in consecutive bits. This makes it more likely that
error-correcting codes can correct the errors.
Block interleaving is commonly used in communication systems where the data stream is susceptible to
burst errors. Burst errors are a type of error where multiple bits in a row are corrupted. Block
interleaving can help to spread out these errors so that they are more likely to be correctable.
Random interleaving: Random interleaving rearranges the data in the block in a random order.
This is the simplest type of block interleaving, but it is also the least efficient.
Pseudorandom interleaving: Pseudorandom interleaving rearranges the data in the block using a
pseudorandom sequence. This is more efficient than random interleaving, but it is also more
complex to implement.
30006
Page
7
Error control wireless communication
Convolutional coding
Convolutional coding involves a shift register that acts as temporary storage and performs shifting using
a sliding window. The main parameters in convolutional coding are the constraint length (K) and the
code rate.
Constraint Length (K): It represents the length of the convolutional encoder, which is
determined by the size of the shift register. The constraint length defines the overall window
size in bits and influences the error correction capability of the code.
Code Rate: The code rate is the ratio of the number of bits shifted at once within the shift
register (k) to the total number of bits in the encoded bit stream (n). It determines the amount
of redundancy added to the original data. Higher code rates provide better error correction
capability but require more bandwidth.
Working
Basically, x[n-i] is the encoding state. Here we have shown two blocks x[n-1] and x[n-2], denoting there
are 2 states of the encoder which is nothing but the previous bits. Input bit x[n] is fed to the encoder in
order to obtain the parity bits.
Now, the question arises – how parity bits (i.e., the output bits) are calculated?
So, the parity bits are calculated using the states of the encoder and the input bit. In the above-given
block diagram, we have considered 2 states with a single input bit. Thus, the overall constraint length
i.e., K will be 3. Thus, for the convolutional code, it is said that the output stream shows dependency on
previously-stored bits in memory along with the present input bits.
It is to be noted here that as the obtained output contains the parity bits thus, it will be wrong to
assume that a longer constraint length will offer faster decoding. This is so because even a longer
constraint will hold parity bits and a large number of parity bits will not make the decoding process
quick.
ARQ
Automatic Repeat Request (ARQ) is a group of error – control protocols for transmission of data over
noisy or unreliable communication network. These protocols reside in the Data Link Layer and in the
Transport Layer of the OSI (Open Systems Interconnection) reference model. They are named so
because they provide for automatic retransmission of frames that are corrupted or lost during
transmission. ARQ is also called Positive Acknowledgement with Retransmission (PAR).
30006
Page
8
Error control wireless communication
ARQs are used to provide reliable transmissions over unreliable upper layer services. They are often
used in Global System for Mobile (GSM) communication.
Working Principle
In these protocols, the receiver sends an acknowledgement message back to the sender if it receives a
frame correctly. If the sender does not receive the acknowledgement of a transmitted frame before a
specified period of time, i.e. a timeout occurs, the sender understands that the frame has been
corrupted or lost during transit. So, the sender retransmits the frame. This process is repeated until the
correct frame is transmitted.
Stop – and – Wait ARQ − Stop – and – wait ARQ provides unidirectional data transmission with
flow control and error control mechanisms, appropriate for noisy channels. The sender keeps a
copy of the sent frame. It then waits for a finite time to receive a positive acknowledgement
from receiver. If the timer expires, the frame is retransmitted. If a positive acknowledgement is
received then the next frame is sent.
Go – Back – N ARQ − Go – Back – N ARQ provides for sending multiple frames before receiving
the acknowledgement for the first frame. It uses the concept of sliding window, and so is also
called sliding window protocol. The frames are sequentially numbered and a finite number of
frames are sent. If the acknowledgement of a frame is not received within the time period, all
frames starting from that frame are retransmitted.
Selective Repeat ARQ − this protocol also provides for sending multiple frames before receiving
the acknowledgement for the first frame. However, here only the erroneous or lost frames are
retransmitted, while the good frames are received and buffered.
30006
Page