[go: up one dir, main page]

0% found this document useful (0 votes)
4 views5 pages

Digital Communication Report (Adjusted)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views5 pages

Digital Communication Report (Adjusted)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Name: Tayseer Magdy Goda Mahmoud ID: 211200004

Department: Communication and Electronics DR/ Sherif Sharroush


Course: Digital communication

Channel coding: the importance of channel coding and its basic techniques
Abstract:
Channel coding is a fundamental technique in communication systems, designed to enhance the
reliability of data transmission over noisy channels by introducing redundancy. It plays a critical role in
detecting and correcting errors that occur during signal propagation, ensuring the integrity of
transmitted information. By reducing the effects of noise, interference, and signal degradation, channel
coding enables robust communication in diverse applications, from wireless networks to satellite
communications. channel coding is performed in both the transmitter and the receiver. At the transmit
side, channel coding is referred to as encoder, where extra bits (parity bits) are added with the raw data
before modulation. At the receive side, channel coding is referred to as the decoder. Channel coding
enables the receiver to detect and correct errors, if they occur during transmission due to noise,
interference and fading. There are two main techniques for channel coding: error detection and error
correction techniques. The ARQ technique is an example of error detection methods, which adds
parity, or redundant bits, to the transmitted data stream that are used by the decoder to only detect an
error in the received data, but it doesn’t have the ability to correct it. On the other hand, FECC coding,
the data are encoded with the redundant bits to allow the receiver to not only detect errors, but to
correct them as well, and from its types are block coding that will be discussed in this report.
Introduction:
Data transmission often encounters challenges that can disrupt the accuracy of the transmitted
information. Issues such as interference, attenuation, and distortion can alter or degrade the signal,
leading to errors in the received data.
Errors that caused during transmission can be divided into the following:
1. Interference:
Any unwanted signal that can damage or degrade the communication signal. It occurs when multiple
signals overlap or interact within the channel, causing a reduction in the quality of the signal or a
complete loss of information.
Common types of interference:
• Co-channel interference (CCI):
Interference caused by signals from different transmitters operating on the same frequency
channel
• Adjacent channel interference (ACI):
Interference caused by signals from neighboring frequency channels leaking into the desired
channel.
2. Attenuation:
The gradual weakening of the signal as it propagates through the communication channel medium.
3. Distortion:
Generally unwanted changes in the signal that alter the basic form of the wave or the relationship
between different frequency components.
These problems highlight the need for effective error control techniques to maintain reliable
communication.
Channel coding techniques:
1. Automatic repeat request (ARQ):
The ARQ technique adds parity or redundant bits to the transmitted data stream that are used by the
decoder to detect an error in the received data. When the receiver detects an error, it requests that the
data be retransmitted by the receiver. This continues until the message is received correctly. In ARQ,
the receiver does not attempt to correct the errors, but rather it sends an alert to the transmitter to
inform it that an error was detected, and a retransmission is needed. This is known as a negative
acknowledgement (NAK). If the message is error-free, the receiver sends an acknowledgement (ACK)
to the transmitter. This form of error control is only capable of detecting errors; it has no ability to
correct errors that have been detected.
The operation can be described as follows:
• At the transmitter, the serial bit stream A B C are loaded into a serial to parallel
• shift register to generate a parity bit P.
• The parity generator generates a parity-bit (P), where P = A + B + C = 1 or 0.
• The transmitter then transmits data + parity = 3 + 1 = 4 bits to the receiver.
• The receiver computes a new parity bit Pr, where Pr = P + A + B + C = 1 or 0.
• If Pr = 1, it declares an error and an ARQ message is sent over the reverse channel
as “NAK”.
• Upon receiving the request, the transmitter retransmits the data.
• The process continues until the receiver declares a valid data by transmitting a 0
• (Pr = 0), which is designated as “ACK”.
• The ARQ process is governed by the following logic:
o If Pr = 1, then retransmit the data (NAK).
o If Pr = 0, then validate the data (ACK).

Figure1: acq serial block diagram


2. Forward error control coding (FECC):
1. Block coding:
Block codes are typically a memoryless technique that attempts to map the k input
bits to n output bits, where n > k. The extra bits are referred to as parity bits. Block
codes are usually denoted as (n, k) codes and have a code rate defined by k/n.
Construction of rectangular block coding:
1. Encoder:
In block coding, k information bits are segmented into rectangular blocks consisting of M rows
and N columns. The encoder performs a horizontal parity calculation on each row of data and
the result, PH, is appended to the end of each row. Additionally, a vertical parity calculation is
performed on each column of data with the result, PV, being appended to the end of each
column. An additional parity calculation is performed on the horizontal parity column, PH, and
placed at the end of the column. This ensures that both the parity row and parity column
themselves have even parity. The entire block (data + parity) is then modulated and transmitted
across the communication channel
2. Decoder:
The decoder performs a series of additional parity calculations on the received block. A new
horizontal parity, PH*, is calculated with the result appended to the end of each row. A new
vertical parity, PV*, is also calculated and placed at the end of each column. These additional
parity calculations are utilized by the decoder in the error detection and correction process
It can be observed that the location of the error is determined by the row and column in which
the parity check failures occur. The decoder would then flip this bit to correct the error. This type
of FECC technique, however, is only capable of correcting single bit errors. Rectangular block
codes can detect some multi-bit errors but are unable to correct them.

Figure2: the encoder and decoder block in no error


case /the encoder and decoder block in error occurrence case.
Block coding effect on communication parameters and tradeoffs:
1. Error Performance vs. Bandwidth Efficiency:
Block coding enhances error correction by adding redundant bits to the data, reducing the bit
error rate (BER). However, this improvement comes at the cost of increased bandwidth usage, as
the total number of transmitted bits grows, reducing bandwidth efficiency.
2. Error Correction Capability vs. Code Rate:
Codes with lower code rates (more redundancy) can correct more errors, making them ideal for
noisy channels. However, this requires more bandwidth. On the other hand, higher code rates add
less redundancy, preserving bandwidth but offering weaker error correction, which may leave the
system vulnerable in challenging conditions.
3. Coding Gain vs. Bandwidth and Complexity:
Block coding can enhance system performance by reducing the required transmit power,
especially at lower signal-to-noise ratios (SNRs). However, achieving this coding gain often
demands higher bandwidth and processing power, making it necessary to balance these benefits
with system constraints.
2. Modified rectangular block coding:
1. Encoder:
This modified block coding scheme adds fewer parity bits, which results in saving bandwidth. As
the input data stream enters the encoder, it is parsed into smaller k-bit data chunks. A horizontal
parity calculation is then performed on the k-bit data chunk. The k-bit data chunk is then placed into
one of two rectangular blocks, each containing M rows and k columns. If the result of the horizontal
parity calculation is even (a result of 0), the k-bit data chunk is placed into the “even’ block. If the
result of the horizontal parity calculation is odd (a result of 1), the k-bit data chunk is placed into the
“odd” block. This technique eliminates the need to transmit the horizontal parity column, PH,
required in typical rectangular block coding. This is possible because the horizontal parity of the
blocks is known to the decoder, since only k-bit data chunks consisting of even (or odd) parity are
present in each block.
2. Decoder:
As the data are received, they are placed in the appropriate parity block and a timestamp is appended
to the end of the row corresponding to the order of arrival. Once the parity row has been received,
the decoder calculates a new vertical parity, PV*, for each column. It also calculates a new horizontal
parity, PH*, for each row. For the horizontal parity calculations, the encoder uses the received data
along with the parity value of the block. This is the same method as that used in typical rectangular
block coding. The modified technique can detect and correct any single-bit error in each block for a
total of two errors. The location of the error can be determined from the row and column in which a
parity check failure (PH* = 1 and PV* = 1) occurred.

Figure3: modified method for encoding data


Figure4: the received data and the generated parity in the decoder

Conclusion:
In conventional communication networks, channel coding is a significant scheme to guarantee data
transmission reliability. It by reducing noise, interference, and signal loss errors, ensures reliable
communication in areas like wireless networks and satellite communication. This report defined key
methods, i.e., Automatic Repeat Request (ARQ) and Forward Error Correction Coding (FECC) and
block coding. Block coding represents a compromise between error correction and bandwidth
efficiency, and therefore it represents the design trade-off of the communication system (i.e.
Furthermore, more recent block coding schemes illustrate present advances towards improvement of
performance at the expense of reduced resource use. With increasing data demand, channel coding
continues to play a central role in error control schemes for enhanced reliability of, for example, older
and new technologies wherever applicable. Currently, they are in a stage of extended development
in the context of future solutions to the challenge of the current communication infrastructure.
References:
• Faruque, S. (2016). Radio frequency channel coding made easy. Springer.
• GeeksforGeeks. (2023, January 27). CoChannel and Adjacent Channel Interference in Mobile
Computing. GeeksforGeeks. https://www.geeksforgeeks.org/co-channel-and-adjacent-channel-
interference-in-mobile-computing/
• The Editors of Encyclopaedia Britannica. (2024, December 7). Interference | Definition,
Examples, & Facts. Encyclopedia Britannica. https://www.britannica.com/science/interference-
physics

You might also like