Home

Main

Friends

Links

Contact

Projects

Misc.

Projects & Assignments


Here I will be putting up projects that I completed, either individually or in a group. These projects are not perfect, and there can be mistakes. Also, there might be some unclear points, both in the report and the source code. If you have any questions send me an email and I will be more than happy to help. Enjoy!


Course: Digital Signal Processing (DSP)

Project Title: Data Compression Using the FFT

Project Description: click to see the file in pdf format
Project Report: click to see the file in pdf format

Matlab Code: matlabCode.zip

The above project is basically a very simple implementation of data compression using FFTs (Fast Fourier Transforms). A speech file is read by matlab and stored in a vector. The vector is then broken down into frames. The FFT of each frame is taken, and thus we end up with the magnitude spectrum of the signal. We then choose the dominant components of the signal and ignore other components. Hence, we are trading the resolution of the speech for bandwidth. The "Data" file contains the dominant components in a vector form. This file can be obtained by running the code in matlab and saving the workspace. The graphs are then plotted using this file to measure the performance (SNR - signal to noise ratio) of the resulting "compressed" speech. I am also presenting results of choosing different number of components. You can hear and know the degradation in quality of voice, but this comes with a decrease of data set. Although, you are not going to find changes in file sizes (because this is a very simple implementation, and nothing like mp3 stuff) but it is only to demonstrate the point.

Original Speech File: Speech File

Retaining the first 'n' components of the speech:
Retaining the dominant 'n' components of the speech:

Course: Detection & Estimation Theory

Project Title: Sequential Detection

Project Description: click to see the file in pdf format

Project Report: click to see the file in pdf format

Matlab Code: matlabCode.zip

In this project sequenctial detection is implemented for three different cases. In each case there are two hypotheses, either noise or a signal. Noise is always considered to be White Gaussian Noise (WGN) process. The signal in the first case is a DC signal of magnitude one. In the second case, the signal is a cosine function of the form "cos(2*pi*n/8); 'n' being number of data samples we incorporate in the sequential detection. In the last case, signal is a White Gaussian sequence with zero mean and a variance of one.

The goal of the project is to compute probability of false-alarm (pfa) using sequenctial detection.. The number of data samples needed to get that particular pfa is then compared to the number of data samples needed for the case of fixed length decision rule.


Course: Time-Varying Signal Processing

Assignment Title: Matlab analysis of Wigner-Ville distribution

Project Description: click to see the file in pdf format

Matlab Code: matlabCode.m

In this assignment Wigner-Ville distribution (WD) is explored using matlab and time frequency toolbox (this toolbox is really cool and can be freely downloaded. On the main site you will find the original toolbox developed in 1996, and updates since then. In order to get all the functions & demos working correctly, start from the original toolbox and apply each update sequentially). For motivational purposesli have included plots obtained using the matlab script (in jpeg format).




Course: Filtering of Stochastic Processes

Project Title: Particle Filter Implementation of Target Tracking in a Network of Sensors

Project Report: click to see the file in pdf format

Matlab Code: matlabCode.m

This project deals with the particle filter implementation for the problem of estimating the state (position, velocity) of a target in a filed of binary sensors. The traget is being tracked by the particle filter in the presense of noise. The target model itself is linear constant-velocity model with noise being white Gaussian process. On the other hand, the observation is the binary detection based on sensors (inherently non-linear). Each sensor is a simple energy detector. At every time interval delta, each sensor makes a decision about the target being present or absent. This decision is based upon a threshold. If the energy 'sensed' by the sensor is greater than the threshold, target is assumed to be present. Else, if the energy is lower than the threshold, target is assumed to be absent. Each sensor provides the particle filter with either a 1 (target present) or a 0 (target absebnt). Based on this binary information received from 'N' sensors, the particle filter estimates the target trajectory.

All the documentation and code is provided. The code was written in matlab.