Current Research

(see here for recent work on these topics)

Blind Code-Identification

Blind identification of channel codes refers to the problem of determining the code (and its parameters) used to encode a transmitted sequence, without any prior knowledge of the encoder, purely from observations of the (possibly noisy) coded sequence. This problem arises naturally in non-cooperative communication scenarios such as cognitive radio, spectrum monitoring, and signal intelligence, where a receiver must recover the underlying code structure before any further decoding or interference cancellation can be performed. Classical approaches to this problem have largely relied on rank/nullspace computations over the sequence of received codewords to recover the parity-check or generator matrix of the code. We are interested in developing new algebraic and coding-theoretic approaches to this problem, including subspace-based techniques that exploit the structural properties of specific code families, with the goal of achieving reliable identification with fewer observed codewords and lower computational complexity, especially in the presence of channel noise and synchronization errors.

Codes for DNA Storage

The next century is popularly being called as the "Age of biology", for that is one of the most important frontiers that has opened up ever since the discovery of the double helix structure of the DNA molecule. Further scientific developments have now enabled the storage of information in DNA. While DNA storage has the advantage of longetivity and density, current high-fidelity DNA storage techniques are remain extremely cost-ineffective. Error Correcting Codes for DNA storage can be used effectively in conjunction with low-fidelity (and thus low cost) DNA storage techniques in order to still retain the correctness of the original information.

Coded Private Information Retrieval and Private Distributed Computing

Various aspects of user privacy have become an essential feature of real-world communication scenarios. Consider a library of files present in set of servers. The user wants to retrieve one file from the set of servers without revealing the identity of which file is being retrieved. This is called a Private Information Retrieval problem. A naive solution which ensures this demanded-file privacy is to download the entire file library, however this puts a huge load on the communication network. Coded Private Information Retrieval allows us to reduce the communication load on the network by enabling the servers to transmit linearly combined subfiles of the files. A number of open scenarios are there in this area which we desire to study. Similarly, in the context of distributed computing, we wish to compute a function of multiple files using multiple computing nodes, each of which handle a part of the computation. For this, we need to share the data amongst these worker nodes, but in the process, we also want to maintain the secrecy/privacy of the shared data. Private Distributed Computation is then employed via various probabilistic/coding-theoretic techniques to achieve this goal, and discovering methods of doing such private computation efficiently is a natural goal.

Capacity Achieving Codes and Their Applications in 5G and Beyond

Reed-Muller Codes have been recently achieve capacity (the maximum possible rate with vanishingly small probability of error) on Binary-Memoryless-Symmetric Channels. We have recently identified codes called Berman Codes which also achieve capacity in the Binary-Erasure Channel. We are interested to investigate the performance of these codes under various decoding algorithms, under a variety of channels. We also are interested to see whether these codes achieve capacity on the larger class of BMS channels as well. These codes seem to perform well in short-block length communications, which make them possibly useful candidates for applications in 5G communications (and Beyond 5G) in scenarios such as URLLC (Ultra-Reliable Low-Latency Communications) and mMTC (massive Machine Type Communications).

I am also working with several students in the following areas.

Quantum Error Correction and its applications

Quantum Computation holds promise in terms of improving current computational techniques and algorithms by several fold. However, implementing quantum computation in reality requires quantum error correcting codes (QECC). Several constructions of such QECCs have been studied for a long time. We are interested in advancing these further and also exploring their applications in other interesting communication scenarios like Private Information Retrieval, Network Coding, etc.

Codes for Communication and Computation in Distributed Computing

Data analytics platforms today handle huge quantities of data and want to perform some computations on them. In order to manage the load while reducing latency of computation, this data is processed in a distributed and parallel method by distributing the data to a number of worker nodes, each of which individually process the data in parallel, and ultimately combining this sub-results into the complete result. Implementing this distributed computation technique in parallel presents many challenges, such as managing the communications between the nodes, handling worker nodes which complete their sub-jobs much slowly than others (such slow nodes are known as straggler nodes). Coding theory has shown promise in overcoming these challenges. Codes for distributed computing (CDCs) would be used to encode the data before splitting it to the worker nodes in such a way that straggler nodes do not affect the final computation latency. Similarly, the communication between the nodes of the cluster would also be coded, in order to exploit the existence of parts of data in the memory of the nodes themselves. This is known as Coded Communication for Distributed Computing. We seek to develop new and effective schemes for these classes of problems in Distributed Computing.