This page has links to software and other tutorials that I prepared during the course of
my graduate study.

1. A tutorial on Codes on Graphs : In this tutorial
I present the fundamentals of coding and decoding on graphs. The tutorial
starts by introducing Behavioral Realizations which provide
a general framework to unify a number of different representations of a code.
Graphs of these behavioral realizations can be
constructed and this provides us with an alternate
unified way of looking at several different error
control coding techniques. The sumproduct algorithm,
which is the basic decoding algorithm for codes on
graphs, is discussed. Some of today's most
advanced, capacityapproaching decoding algorithms are
instances of the sumproduct algorithm. Two
applications of the sumproduct algorithm in coding
theory  BCJR MAP decoding and turbo decoding are discussed.
DISCLAIMER: This tutorial does not represent any original work on my part. It is a
compilation of material already present in literature and has borrowed heavily
from the work of G.D.Forney, B.J.Frey, F.R.Kschischang and H.A.Loliger.

2.Linear and Adaptive Linear Multiuser Detection tutorial
: This tutorial studies a couple of different linear multiuser detection techniques used in CDMA systems.
Due to the short time I had to work on this project, I only study the case of a synchronous CDMA
system on an AWGN channel. This tutorial starts by introducing the matched filter bank aka the conventional
detector. The limitations of this detector are identified and an improved MUD architechture namely the
decorrelatng detecor is then studied. Adding SNR information to the detector
improves the performance of the decorrelating detector and leads to the MMSE detector.
Two different adaptive implementations of the MMSE multiuser detector, the LMS detector and
the Blind detector are studied. The LMS detector
calls for the use of training sequences in order to adapt to the optimal weights. The blind detector
on the other hand requires no training sequences but requires the exact knowledge of signature
sequences. It is worthwhile to point out that the philosophy of the blind
detector is similar to that of a single user detector and not that of MUD.
Theoretical development and simulated results are discussed for all the above mentioned detectors.

3.LDPC codes: A tutorial and MATLAB software : This tutorial is
targeted towards undergrads or grad students who are begining research/study on Low Density
Parity Check codes. The tutorial includes a theoretical introduction to the decoding of LDPC
codes. I also developed a toolkit in MATLAB to implement LDPC codes. The tutorial though
targeted towards a general audience also has a description of the functions in my toolkit.
The software serves as a tool to augment your understanding gained from the
tutorial.
