BTP Review – Spatially Coupled Low-Density Parity-Check Codes Over Fading Channels

Written by Adway Girish, B.Tech 4th Year (January 2022)

Project Overview

Low-density parity-check (LDPC) codes have achieved great fame as capacity-approaching codes. A surprising result has been the marked improvement in decoding thresholds and error performance obtained on ‘coupling’ blocks of LDPC codes into a single chain in a convolutional manner, called spatially coupled LDPC (SC-LDPC) codes. I looked at an application of these codes over practical fading channels, with interleaving to maximise performance. Since the promised improvement requires large blocklengths, causing large decoding latency, I also studied the performance of an efficient, low-complexity windowed decoder to allow for practical implementation.

Motivation for pursuing this field

Before starting my BTP, I was broadly interested in different aspects of communication and signal processing, with a preference for theoretical problems. I had done EE 605: Error Correcting Codes and EE 708: Information Theory in my 6th semester.

I emailed Prof. Kumar Appaiah about halfway through the summer before my 7th semester, telling him my interests and asking whether he would be willing to be my BTP guide. I had already worked with and taken a course (Digital Communications) under him. Since I had shown interest in coding theory, he suggested SC-LDPC codes. I briefly went through some papers on the topic and, finding them interesting, agreed on the same.

Type of work involved in the project

I spent the first month or so reading papers and books (that were theory-heavy), and once I had learnt enough about SC-LDPC codes and fading channels, we moved to studying their performance through simulations. I wrote most of my code on MATLAB and occasionally C++ to exploit the IT++ package which comes with a lot of useful functions for signal processing and communication. Meanwhile, I continued to read theoretical papers and dive deeper since I found them fascinating.

Workload

The workload was entirely up to me. We did not have a fixed weekly meeting schedule (like some do), it was ad hoc. We would meet (online) after I had completed what we had decided in the previous meeting. The average frequency was around once a week.

Experience working with the Professor

I worked with Prof. Kumar Appaiah directly. He was extremely helpful and patient, even running large amounts of code on the IITB servers himself when I couldn’t do so from home.

He was always willing to meet and explain things that I found difficult to understand or implement.

Project Evaluation

The deliverables were a report (https://adwaygirish.github.io/files/projects/BTP/report.pdf) and a presentation (https://adwaygirish.github.io/files/projects/BTP/slides.pdf). The external examiner (Prof. Bikash Dey) asked me to record my presentation and send it to him. We had a brief interaction later, where I was asked a few questions on my work and given feedback on my presentation.

What you would do differently if you were to do your project again?

I would be more patient with debugging code; I often gave up too quickly and returned hours later, when a few more minutes of persistence would have done the trick.

Future extension to the project and its applications

LDPC codes are great; they are used in Wi-Fi, 5G, space communication, and more. The discovery of SC-LDPC codes, which perform better than conventional LDPC codes, shows a lot of promise even from a purely practical perspective. These are also interesting as theoretical problems, with lots of open questions. Incidentally, this was the focus of my research proposal in my application to Cambridge (since this was something I had read lots about during my BTP), which you can see at https://drive.google.com/file/d/1yGtt7AX9l9QR-Dj_ZhMSkKkJAEo7-60B/view?usp=sharing. Spatial coupling as a theoretical concept itself (outside of coding theory) also has applications in high-dimensional statistics, such as in compressed sensing.

Are you planning on continuing on the same project for BTP-2?

No, we managed to bring the work to a satisfactory conclusion in BTP-1. There were also a few courses that I really wanted to do with this being my last semester at IITB :’) which made doing another project impossible.

Anything else you would like to mention

Choosing your guide is important to make the most of your BTP as a learning experience. Find someone whose style matches what you are looking for (hands-on, heavily involved vs. hands-off, giving you freedom / theoretical vs. application-oriented / fixed schedule vs. ad hoc and so on). It is generally a good idea to get feedback on guides from someone who has worked with them before, remembering to ask the right questions and not just be swayed by their personal opinion (what works for them may not work for you, and vice versa).