Monday, 25 April 2016

Learning Experience:NOISE CANCELLATION USING LMS ADAPTIVE FILTER

This was the last experiment of our DSP practicals and was group experiment. In this we were asked to find applications of DSP and patents related to that application. The application we selected was Signal noise reduction. My group member were Jaskirat Kaur, Pratik Keny And Vikita Jadhav.
We reffered to the following patents
1. Adaptive signal processor using Newton/LMS algorithm.
2. Method and Filter for enhancing a Noisy speech signal.
3. Noise Cancelling Microphone System.
4. LMS Adaptive filter.
5. Modified LMS Filter.

I referred and studied "Modified LMS Algorithms for Speech Processing with an Adaptive Noise Canceller" by Julie E. Greenberg,
Description:    Newton/LMS algorithm is used in adaptive signal processors to remove noise, but it has  a disadvantage that statistical characteristics of the input data should be previously known. So this patent eliminates this problem. It is based on Newton/LMS Algorithm. It is stated that instead of giving the input signal directly, the adaptive signal processor is designed to first compute Auto-correlation matrix of the input signal and then find inverse matrix of auto-correlation matrix by executing DFT and IDFT.  Thus it reduces the hardware requirement and the hardware can be realised easily.

Application:   Our application was to remove noise from a given speech signal using LMS adaptive filter. This was a software based application and code was written in SCILAB. We took a audio signal(noise free) and added noise to the signal using rand() function of scilab. Now this Noisy speech signal was given as input to the lms adaptive filter. At the output we recovered the original audio signal. The Noisy signal and the output noise-free signal could be heard. Through this application based experiment we learnt    1.how to search patents online.   2.To check plagiarism of documents.  3. functions of scilab(like how to add audio files, how to play audio, how to add noise/disturbance to audio, how to plot graph)




for paper and patent Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Friday, 22 April 2016

Learning Experience : Basic Arithmetic Application On DSP Processor

This experiment was basically a demonstration.The experiment was demonstrated by our seniors who explained it really well.The DSP Processor used was the Texas Instruments TMS320C5505 DSP processor. The DSP processor was programmed using Code Composer Studio (CCS). A real time audio signal was taken via the microphone, and background noise was eliminated after passing through the filter and we were able to hear the filtered output using earphones.also In this Experiment We learnt how to perform addition, multiplication,shifting etc Operation on dsp processor using CCS.
 

for implementation in c Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Learning Experience : FIR Filter Design Using Frequency Sampling Method.

In this experiment we used frequency sampling as a way to implement a digital filter.The main idea of the frequency sampling design method is that a desired frequency response can be approximated by sampling at N evenly spaced points.We observed that the no of lobes in the frequency response increases as the order of the filter increases.The filter's response also gets better with an increase in the filter order


for implementation in c Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Learning Experience : FIR Filter Design Using Windowing Method

In this experiment a digital FIR filter is designed using Windowing method.for this we had required 5 parameters namely, Attenuation in both pass and stop bands in dB, pass band and stop band frequency and Sampling frequency are taken as input.In this experiment we implemented Step 1 hd(s) and step 2 hd(n).while other group implemented step 3 h(n). and then we combined this two function to form a complete program. I learnt that ripples in pass band are less in hamming as compared to rectangular and hanning and also hamming has a linear phase than rectangular and hanning.



for implementation in c Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Learning Experience : Chebyshev Filter

In this experiment we designed a digital Chebyshev filter.These filters have a steeper roll off and unlike butterworth filters which are monotonic, they have ripples in their stop band or pass band.BLT method was used for converting the impulse response analog to digital. It was noticed that in the output magnitude response, there is a ripple in the pass band with the total number of valleys and peaks equal to order of the filter. Chebyshev filter had a smaller order as compared to Butterworth filter


for implementation in c Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Learning Experience : Butterworth Filter

This lab was different because in this session we were implementing filter in Scilab.we used scilab for filter designing because plotting phase or magnitude plot in much easier than c.thanks to inbuilt Scilab function plot(x,y).We learned that the Butterworth filter is monotonic in it's pass band as well as stop band i.e. it does not have any ripples.also to get ideal i.e. rectangular frequency response we should keep order of filter infinite.but in actual designing we keep as high as possible.


for implementation in c Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Learning Experience : Overlap Add Method and Overlap Save Method

In This Experiment We Implemented OSM and OAM method. These both methods used to evaluate the discrete convolution of a very long signal. Thus we learnt that overlaps add method and overlap save method are efficient methods to evaluate the discrete convolution of a very long signal. These methods divide the signal to small parts, hence this makes processing of large signal faster. Thus, we can say that OAM and OSM are better methods for real time filtering of long signals. 

for implementation in c Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Learning Experience: Fast Fourier Transform

In this lab session we were told to perform fast fourier transform on any N point signal. I took a 8 point sequence and developed a program to compute its fast fourier transform. The 8 point sequence had 12 complex multiplications,24 complex additions, 48 real multiplications and 72 real additions. The experment proved the fact that fast fourier transform involves lesser calculatations and that fast fourier transform has a higher computational efficiency as compared to discrete fourier transform.hence we obsered that speed of operation was higher in case of FFT.


for implementation in c Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Learning Experience : Convolution and Correlation

This was our first Experiment.In this experiment the output is calculated for 3 cases.we Implemented Correlation (Linear and Circular) and Correlation (auto and cross) using C.The input is taken. In case 2 and case 3 we delayed the input sequence. The basic correlation is the comparison of the 2 discrete time  signals.it.Correlation determines the degree of similarity between 2 signals.Convolution is a mathematical way of combining two signals to form a third signal.When we increase the length of signal effect of aliasing was also observed in this experiment.

for implementation in c Follow this link
https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg

Learning Experience : Discrete Fourier Transform

In this Experiment we implemented 4 points and 8 point DFT and IDFT.DFT is used to covert Time domain signal to the frequency domain. we convert the time domain signal to the frequency domain because frequency domain has the following advantages over time domain:
1. Frequency domain analysis is very useful in creating desired wave patterns such as binary bit patterns of a computer.
2. Frequency domain analysis is used in conditions where processes such as filtering, amplifying and mixing are required.
Also we learnt that zero padding reduces the frequency gap of the spectrum as a result of which the accuracy of the magnitude spectrum increases due to decrease in error in representation. It also increases the resolution and quality of the spectrum
For Implementation in c follow this link

https://drive.google.com/open?id=0BxR8_fiX2NsmWl9MenZoZmxSejg