Source Coding Vs Channel Coding

Omraj BurnwalOmraj Burnwal
3 min read

The thought of how our mobile phones can communicate even when connectivity is sometimes low? or how a text message is received without any errors? is very fascinating to me. The incredible technology behind this relies on the seamless integration of two essential communication coding techniques:

  • Source Coding, to optimize data representation.

  • Channel Coding, to ensure reliable transmission.

In this blog we are going to explore:

  • Why is Coding used?

  • What is Source Coding?

  • What is Channel Coding?


Why Coding??

Simply sending the signal or message(msg) through the channel or medium(air, cables etc.) might not be the right choice. Few vital reasons are:

  1. Ensuring Reliability:
    If the msg gets corrupted due to noise present in the channel then retrieving the msg might not be possible. Hence, to introduce reliability irrespective of channel imperfections, coding(Channel Coding) helps to introduce error detection and correction.

  2. Optimizing Channel Capacity:

    Let us consider the channel as a bag that carries our msg. Capacity of the bag is unknown to us. We might overfill the bag then the excess would drop out or we might leave the bag vacant. To ensure that we understand how much is the capacity of the bag(i.e. channel) and maximize how much we can send at a time, coding helps in finding a close to optimal capacity while keeping errors minimal.

  3. Improving Efficiency:
    To send a msg in its raw form could result in slowing the system. So to compress the msg by removing any redundancy, coding(Source Coding) is used.

  4. Enhancing Security:
    Data or msg sent could be intercepted or tampered. A coded msg allows for a secure transfer.

In short coding helps in creating a reliable, secure, efficient and scalable communication system. Without it any modern technology be it internet, cellular network etc would not work as seamless as it is now.


What is Source Coding?

Source coding is a way of data compression to reduce the redundancy in the msg signal and make data transmission/storage efficient. Few examples of source coding techniques are Huffman Coding, Lempel-Ziv Coding etc. Some real life examples could be:

  1. File compression:

    • ZIP/RAR

    • Gzip

  2. Multimedia Compression:

    • MP3

    • JPEG/PNG

    • H.264/HEVC

One of the oldest implementation of source coding is Morse Code.


What is Channel Coding?

Channel coding helps in creating a reliable and secure data transmission by adding redundancy in the source coded msg signal for error detection and correction. Few examples of channel coding techniques are Parity Check codes, Hamming Codes, LDPC codes etc. Some real life examples could be:

  1. SMS and Voice transmissions

  2. Satellite Communication

  3. CDs, DVDs and Data storage in general employ channel coding techniques to correct lost data from physical defects.

  4. QR Codes and Bar Codes


In designing an efficient communication system, both the source coding and channel coding play a important role. Of course there are many other factors—such as channel conditions, power requirements, system design— must also be considered. But lets save them for another time.


Thank you for giving the time to read it and feel free to share your thoughts or ask questions in the comments.

Have a Nice Day!! :)

0
Subscribe to my newsletter

Read articles from Omraj Burnwal directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Omraj Burnwal
Omraj Burnwal