Channel
Coding and
Decoding
PRESENTED BY
Haider Hasan
Department of Electronics and Communications
University of Kufa
Contents
• What’s Channel Coding & Decoding?
• Categories of FEC (Forward Error Correction) Codes
• Categories of Channel Decoders
• Applications
• Limitations
What’s Channel Coding & Decoding?
It’s a process used in modern communication systems to ensure that the
data received is the same as the data sent. Channel Coding can be
achieved by adding additional information to the data before
transmission (redundancy). This redundant information helps to
overcome errors at the receiver end caused during transmission of
information. The channel decoder uses sophisticated algorithms to
interpret the additional information to recover the original data.
Channel
Coder
Channel
Noise
Channel
Decoder
𝑋𝑛 𝑋𝑛
Definition
What’s Channel Coding & Decoding?
Input
Signal
Output
Signal
Definition
What’s Channel Coding & Decoding?
Why is it an Important process
It’s a crucial process in communication systems
for several reasons:
•Error Detection and Correction
•Enhanced Reliability of Data Transmission
•Improved Data Integrity
•Robustness in Noisy Environments
•Reduced BER (Bit Error Rate)
Categories of FEC
FEC Codes
Block Codes Cyclic Codes
Convolutional
Codes
Turbo Codes
The key idea of Forward Error Correction is to transmit enough redundant
data to allow the receiver to recover the original data from errors by
itself, with no reverse channel to request retransmission needed. Main
categories of FEC:
Categories of FEC
Block Codes
The channel encoder that implements this methodology receives the
data in k-bit blocks and divide it into blocks to create an (n, k) block
code, and it adds (n-k) redundant bits, resulting in an encoded block of
n-bits.
k-bits
Channel
Encoder
Information Codewords
n-bits
Categories of FEC
Cyclic Codes
They are a subclass of block codes. Cyclic coders shift the bits of the
codeword to result in another valid codeword. It has 2 important
properties:
•Linearity: 𝐶𝑖 + 𝐶𝑗 = 𝐶𝑝, where 𝐶𝑖, 𝐶𝑗, 𝑎𝑛𝑑 𝐶𝑝 are codewords
•Cyclic Shifting:
Categories of FEC
Convolutional Codes
Encoding in this type is of information stream rather than information
blocks with considering some information of the previous stream. Thus,
this type of codes need memory.
Categories of FEC
Turbo Codes
This type is a high performance class of FEC. Turbo codes were the first
practical codes to closely approach the maximum channel capacity
(Shannon Limit), which is the channel capacity of a continuous channel
with bandwidth 𝐵 𝐻𝑒𝑟𝑡𝑧.
Categories of Channel Decoders
Channel
Decoders
Hard Decision
Decoders
Soft Decision
Decoders
Iterative
Decoders
Maximum
Likelihood
Decoders
The channel decoder takes the transmitted encoded data and convert it
back into its original form, it allows the receiver to detect and correct
errors. The categories of channel decoders are:
Applications
Due to the importance of channel coding & decoding, it takes an
important role in many applications, some of them are:
•Wireless Communication Systems
•Cellular Mobile Systems
•IoT
•Deep-Space Communication
•Autoencoders (specific tool in ML & DL)
Limitations
Even though channel coding & decoding is an important process
and has many applications, it still faces limitations such as:
•Complexity of encoding & decoding: channel coding and
decoding can have high complexity which will lead to
increased computational requirements and power
consumption
•Latency: Latency is a challenge for real-time applications,
especially the ones that require high speeds.
•Error Floor: means that at a certain point, increasing the SNR
wouldn’t lead to decreasing the BER, which limits the
performance of the communication system
Conclusion
Channel Coding and Decoding play a crucial role in digital
communication system, they enhance the reliability of data transmission
by adding redundancy to the transmitted data allowing the receiver to
detect and correct errors caused by the noise introduced during
transmission. However, they face some limitations as covered previously
which limits the benefits of the process.
As technology continues to advance, we expect new developments in
the field and improvements to eliminate the limitations and implement in
more applications
References
• Modern Digital and Analog Communication Systems 5th Edition. B. P. Lathi, Zhi Ding
• What is Channel Coding? | AccelerComm
• Source Coding and Channel Coding (electronicsandcommunications.com)
• Information Theory. Mohamed Hamada. The University of Aizu
• An Introduction to Channel Coding and Decoding over BSC
• Channel Coding. Nada Nasih
• Source–Channel Coding for Wireless Networks. Niklas Wenerson. KTH Electrical Engineering
• The Basics of Channel Coding | AccelerComm
Thanks For Listening 
Any Questions?

Introduction to Channel Coding & Decoding

  • 1.
    Channel Coding and Decoding PRESENTED BY HaiderHasan Department of Electronics and Communications University of Kufa
  • 2.
    Contents • What’s ChannelCoding & Decoding? • Categories of FEC (Forward Error Correction) Codes • Categories of Channel Decoders • Applications • Limitations
  • 3.
    What’s Channel Coding& Decoding? It’s a process used in modern communication systems to ensure that the data received is the same as the data sent. Channel Coding can be achieved by adding additional information to the data before transmission (redundancy). This redundant information helps to overcome errors at the receiver end caused during transmission of information. The channel decoder uses sophisticated algorithms to interpret the additional information to recover the original data. Channel Coder Channel Noise Channel Decoder 𝑋𝑛 𝑋𝑛 Definition
  • 4.
    What’s Channel Coding& Decoding? Input Signal Output Signal Definition
  • 5.
    What’s Channel Coding& Decoding? Why is it an Important process It’s a crucial process in communication systems for several reasons: •Error Detection and Correction •Enhanced Reliability of Data Transmission •Improved Data Integrity •Robustness in Noisy Environments •Reduced BER (Bit Error Rate)
  • 6.
    Categories of FEC FECCodes Block Codes Cyclic Codes Convolutional Codes Turbo Codes The key idea of Forward Error Correction is to transmit enough redundant data to allow the receiver to recover the original data from errors by itself, with no reverse channel to request retransmission needed. Main categories of FEC:
  • 7.
    Categories of FEC BlockCodes The channel encoder that implements this methodology receives the data in k-bit blocks and divide it into blocks to create an (n, k) block code, and it adds (n-k) redundant bits, resulting in an encoded block of n-bits. k-bits Channel Encoder Information Codewords n-bits
  • 8.
    Categories of FEC CyclicCodes They are a subclass of block codes. Cyclic coders shift the bits of the codeword to result in another valid codeword. It has 2 important properties: •Linearity: 𝐶𝑖 + 𝐶𝑗 = 𝐶𝑝, where 𝐶𝑖, 𝐶𝑗, 𝑎𝑛𝑑 𝐶𝑝 are codewords •Cyclic Shifting:
  • 9.
    Categories of FEC ConvolutionalCodes Encoding in this type is of information stream rather than information blocks with considering some information of the previous stream. Thus, this type of codes need memory.
  • 10.
    Categories of FEC TurboCodes This type is a high performance class of FEC. Turbo codes were the first practical codes to closely approach the maximum channel capacity (Shannon Limit), which is the channel capacity of a continuous channel with bandwidth 𝐵 𝐻𝑒𝑟𝑡𝑧.
  • 11.
    Categories of ChannelDecoders Channel Decoders Hard Decision Decoders Soft Decision Decoders Iterative Decoders Maximum Likelihood Decoders The channel decoder takes the transmitted encoded data and convert it back into its original form, it allows the receiver to detect and correct errors. The categories of channel decoders are:
  • 12.
    Applications Due to theimportance of channel coding & decoding, it takes an important role in many applications, some of them are: •Wireless Communication Systems •Cellular Mobile Systems •IoT •Deep-Space Communication •Autoencoders (specific tool in ML & DL)
  • 13.
    Limitations Even though channelcoding & decoding is an important process and has many applications, it still faces limitations such as: •Complexity of encoding & decoding: channel coding and decoding can have high complexity which will lead to increased computational requirements and power consumption •Latency: Latency is a challenge for real-time applications, especially the ones that require high speeds. •Error Floor: means that at a certain point, increasing the SNR wouldn’t lead to decreasing the BER, which limits the performance of the communication system
  • 14.
    Conclusion Channel Coding andDecoding play a crucial role in digital communication system, they enhance the reliability of data transmission by adding redundancy to the transmitted data allowing the receiver to detect and correct errors caused by the noise introduced during transmission. However, they face some limitations as covered previously which limits the benefits of the process. As technology continues to advance, we expect new developments in the field and improvements to eliminate the limitations and implement in more applications
  • 15.
    References • Modern Digitaland Analog Communication Systems 5th Edition. B. P. Lathi, Zhi Ding • What is Channel Coding? | AccelerComm • Source Coding and Channel Coding (electronicsandcommunications.com) • Information Theory. Mohamed Hamada. The University of Aizu • An Introduction to Channel Coding and Decoding over BSC • Channel Coding. Nada Nasih • Source–Channel Coding for Wireless Networks. Niklas Wenerson. KTH Electrical Engineering • The Basics of Channel Coding | AccelerComm
  • 16.
    Thanks For Listening Any Questions?

Editor's Notes

  • #3 Coding is also known as “Forward Error Detection”
  • #4  𝑋 𝑛 = ( 𝑋 1 , 𝑋 2 , …, 𝑋 𝑛 ) is sequence of source data 𝑋 𝑛 = ( 𝑋 1 , 𝑋 2 , …, 𝑋 𝑛 ) is the estimate of the original data resulted at the receiver "In the transmitter, before a message is sent, it's encoded. Then in the receiver, it can be decoded to recover the original message and remove all of the noise, interference and effects of poor signal strength. This is called Channel Coding."
  • #5 Coding Comes before modulation because we want the added data to be modulated and transmitted with the original data. Decoding comes after demodulation because we have to convert the data back to its original form (such as sequence of bits)
  • #6 3- Channel coding helps maintain data integrity, especially in critical systems such as telecommunications, where accurate transmission of information is essential. It reduces the likelihood of data corruption, ensuring that the transmitted information remains consistent and accurate. 4- In environments prone to interference or noise, such as wireless communication or space communications, channel coding helps maintain the accuracy of data transmission by mitigating the effects of these disturbances. energy per bit to noise power spectral density ratio) is a normalized signal-to-noise ratio (SNR) measure, also known as the "SNR per bit". It is especially useful when comparing the bit error rate (BER) performance
  • #8 Decoder looks for codeword closest to received vector (received vector = code vector + error vector)
  • #9 Codes that follow both of these properties, are called “Cyclic Codes”
  • #11 The reason for using an interleaver in Turbo Codes is to ensure that the errors affecting the data are spread out when the signal is received. This is particularly useful when the signal is transmitted over a noisy channel, where bursts of errors can occur. By spreading out the errors, the decoder at the receiver side has a better chance of correcting them. 𝐶=𝐵 𝐿𝑜𝑔 2 1+ 𝑆 𝑁 𝑏𝑖𝑡𝑠/𝑠𝑒𝑐𝑜𝑛𝑑
  • #12 Hard-Decision Decoders: These decoders operate based on discrete decisions regarding the received signal. They directly compare the received signal against predetermined thresholds to make binary decisions. Soft-Decision Decoders: Soft-decision decoders use the continuous information available in the received signal. Instead of relying solely on binary decisions, they consider the likelihood or probability of different signal levels given the received information. Iterative Decoders: Iterative decoding algorithms involve multiple iterations of decoding and error correction processes. These decoders refine their estimates of the transmitted data with each iteration, gradually improving accuracy. Maximum Likelihood (ML) Decoders: ML decoders aim to find the most likely sequence of transmitted data given the received signal and the channel model. They search for the most probable transmitted data sequence based on statistical principles.