Sunday, April 23, 2017

Study DSP application and implement any signal processing operation

For this lab session, we were divided into groups and had to implement a practical application of signal processing.


Team : Parth Panchal,Soumyaa Passari ,Pranali Patil,Purvika Patil and Suma Salian
Individual experiment was to review one IEEE paper and one patent on Speech Recognition.

My patent : David Lee Basore and William Stuart Meisel, Voice activated device and method for providing access to remote data, 
Patent No : US5752232,
Publication date: May 12, 1998.
The patent that I selected talked about a method of accessing remote data with the help of voice commands. 
A voice activated device using speaker independent speech recognition is capable of receiving from a remote location the phonetic spellings needed for speech recognition in the device.This patent comprises of a mixture of two ideas, one being Speech Recognition and the other being Telemetry, method of storing and accessing remotely placed data.

IEEE Paper:
DSP Implementation of Voice Recognition Using Dynamic Time Warping Algorithm 
Department Of Electronics Engineering, NED University of Engineering & Technology, Karachi

This paper discusses about speech recognition is a process of an automatic system to perceive speech. It also tells us about voice recognition using Cepstral Analysis and DTW of a set of five words. The software model was designed using DSP block library in Simulink. The developed model provide us with the necessary tools to record, filter, and analyze different voice samples and compare them with the archived sample.Voice recognition system performs two fundamental operations: signal modeling and pattern matching. Signal modeling represents process of converting speech signal into a set of parameters. Pattern matching is the task of finding parameter set from memory which closely matches the parameter set obtained from the input speech signal.Here they have designed a very basic Speaker dependent Voice recognition system that identifies isolated spoken words using a limited vocabulary of five words.
Concluding , they have discussed the implementation of speech recognition algorithms using Simulink rather than using C codes. Working with C is tedious and time consuming and have used Cepstrum Analysis and Dynamic time Warping which give 68% accurate results.

IEEE Paper and Plagiarism report Link:
https://drive.google.com/drive/folders/0BwkjNOLlpFQNek9jYXQzTENxY1U?usp=sharing

Basic Operations using DSP Processor

We studied programming on a DSP kit using Assembly Level Language. The kit used was TMS320F28375. Basic operations were performed on the borad such as convolution and correlation The changes in the values of the registers before and after execution of each operation were observed. The DSP was programmed using Code Composer Studio.


FIR filter design using Frequency Sampling Method

The objective of this experiment was to design a digital filter for the given input specifications using frequency sampling method. In this method the desired frequency response Hd(w) is sampled at w=2*pi*k/N ( where N = length of  the signal) The frequency samples are thus obtained are taken as DFT coefficients H[k]. FIR filter response is found by taken IDFT of H[k]. Magnitude and phase spectrum were plotted for this. Pass band and stop band attenuation values were verified.

Linear phase FIR filter design using Window function

The aim of the exp was to design linear phase FIR filter using window function.In this experiment we used hamming window function to design Low pass/high pass fiter and Bandpass/band stop filter. We plotted magnitude as well as phase response.
.There are  different types of windowing functions Rectangular ,Bartlett ,Hamming ,Hanning, and Blackman.The specifications of As,Ap, stop band frequency, passband frequency and sampling frequency are taken from the user.It is observed that as the order of the filter increases the number of lobes in frequency response increase.The attenuation depends upon the type of window used. s we take window function with higher As value, the side lobe width goes on decreasing with increasing main lobe width. The phase response of the filter is linearly varying with frequency and no distortion is observed in the output.


Design of Chebyshev Filter

    Chebyshev filters have steeper roll-off and more passband/stopband ripples than Butterworth filters. Chebyshev filters minimize the error between idealized and actual filter characteristic over the range but with ripples in passband. There is a defnite ZERO at -1, number of poles gives the ordef of filter. Magnitude spectrum is equiripple in passband and monotonic in stop band.
  We observed that as we increase the order of filter, the ripples in passband reduce and we get more idealized characteristics. As all poles were inside the unit circle, the filter designed was stable.


Design of Butterworth Filter

Digital Butterworth Design:

This was the first experiment where we used Scilab for implementing the code. Scilab is a software in Ubuntu similar to Matlab in Windows. 
In this experiment, the various parameters like pass band attenuation, stop band attenuation, pass band frequency, stop band frequency and sampling frequency are passed as input and the order of the filter is calculated. Similarly, the cutoff frequency is calculated.
The normalized transfer function is evaluated according to the filter type,i.e LPF or HPF(replacing s by 1/s). From the normalized transfer function, the denormalized function is calculated by substituting the value of cut off frequency. The response in z -domain is equivalently calculated by IIM or BLT transformations. 

Monday, March 13, 2017

Learning Experience on Overlap Add Method and Overlap Save Method

OAM and OSM are used when we want to filter a long data sequence.In this experiment, we have found the output of FIR filter using these methods.In OAM, an input signal is divided into smaller groups and which then used to find convolution with other input. So we get convolution for each group which the gets overlap depending upon the length of the input signal. In OSM, the only difference is that we modify the input sequence and append the next sequence with the previous inputs we have appended. OAM and OSM are block processing techniques since we divide the long input sequence into blocks and then calculate further.These methods are suitable for real-time signal processing.