Tuesday, 28 March 2017

Chebyshev Filter Design

                                 

In this experiment, Low pass and High pass Chebyshev filters were designed. By giving the values of pass band attenuation (Ap), stop band attenuation (As), pass band frequency (Fpass), stop band frequency (Fstop), sampling frequency (Fs) as inputs Low Pass and High pass filters were designed.
As a result order of the filter, cutoff frequency, normalised H(s), denormalised H^(s) and transfer function H(Z) was obtained.
The magnitude response and the pole zero plot was obatined. The filters we designed had ripples in the pass band and was monotonic in stop band indicating it was Chebyshev I filter. Also the ripples obtained verified the order of filter.

Butterworth Filter Design

                                 

In this experiment,  Butterworth filters were designed using Scilab. By giving the values of pass band attenuation (Ap), stop band attenuation (As), pass band frequency (Fpass), stop band frequency (Fstop), sampling frequency (Fs) as inputs Low Pass and High pass filters were designed.
As a result order of the filter, cutoff frequency, normalised H(s), denormalised H^(s) and transfer function H(Z) was obtained.
The pole-zero plot and magnitude response were observed. From the magnitude response it can be concluded that Butterworth filter is monotonic as it does'nt have any ripple in its pass band and stop band. 
Since Butterworth Filter has a flat response in its pass band, it finds application in audio processing.

Thursday, 16 March 2017

OAM and OSM

Overlap Add method and Overlap Save method

FFT is known for its fast computational applications one of which includes fast convolution of signals than the usual direct method.Overlap Add and Overlap Save are the two block processing techniques used for fast convolution.Here the zeros are appended to the signal or filter sequence until the input signals are of equal length.
 In OAM,  the output of a long sequence can be calculated by simply summing the outputs of each block of the input. Here the output is such that overlapping takes place in the tail of the output from the previous block and the beginning of the output from the present block.
In OSM, instead of sectioning the input and then calculating the output, we decompose the input by adding some preceeding values to each of the input to make it equivalent to L = length of  x[n] and then do circular convolution with h[N] and finally eliminate the zero padded  values from each convoluted output.


Fast Fourier Transform

Fast Fourier Transform

Fast Fourier Transform (FFT), as the name suggests is faster than DFT since computations in FFT are done parallely. So here the signal is divided into 2 parts, so the computation is carried out only for N/2 signal values.
 C language code of DITFFT (Decimation in Time FFT)  algorithm was executed for the FFT calculation. In DITFFT, the input is divided as even and odd parts also it is not in order while the output is obtained in order.
FFT has made working in frequency domain computationally feasible in image processing and signal processing because of its application in large integer and polynomial multiplication.


Discrete Fourier Transform

Discrete Fourier Transform

The limitations of Discrete Time Fourier Transform (DTFT) are overcome by Discrete Fourier Transform (DFT). DFT evaluates enough frequency components of the signal that are required for its reconstruction and hence is the frequency sampled version of DTFT.
 In this experiment, we made use of arrays to store the real and imaginary parts of the signal.  Also the count of number of Real Addition and Real Multiplication for N=4 and N=8 was verified.
By manipulating the signal in different ways, it was observed that expansion of signal in time domain results in compression in the frequency domain.
The major contribution of DFT is in the area of spectral analysis of systems.

Convolution and Correlation

Convolution and Correlation

To perform and verify the results of the theoretical concepts in Digital Signal Processing, it is very important to have a good command over a programming language like C.
Through the first experiment, output of Convolution ( Linear, Circular and Linear Convolution using circular) and Correlation (Auto and Cross) codes were verified with the results of mathematical method.
Convolution is a method of combining two signals and gives an output signal. So two signals of different length were taken for Linear and Circular convolution and aliasing effect was observed in case of Circular convolution. Application of Convolution is to find the output of the system.
Correlation is a measure of degree of similarity between two signals. We found the Auto-Correlation and Cross Correlation of original, delayed and scaled signal