Monday, 13 March 2017

Learning Experience: Overlap Add Method and Overlap Save Method


Experiment Performed and Conclusions Inferred:

We performed block processing using two methods, overlap add method and overlap save method. 

Overlap-Add method: In this method, the signal was decomposed into smaller signals depending upon the number of samples that allows circular convolution to be equivalent to linear convolution and zero padding was done prior to the FFT to prevent the wrapping around of values. Using Fast Fourier Transform method, linear convolution of the input signal was found. The output of the signals result into overlapping of the values for the same indexes, hence the final output consists of the addition of all of the overlapped outputs.

Overlap-Save Method: In overlap-save method the last part of the previous block is used as the first part of the next block. No zero padding is done of the data, hence the circular convolution is not equal to the linear convolution. The output of the convolution of different blocks are wrapped around. These portions are useless and they are simply discarded.  

While the computational time for OAS and OAM is the same, since OSM does not require the addition of the overlapped output, it is faster than OAM.

Learning Experience: Fast Fourier Transform

Experimental Process:
In this experiment, we divided the signal into two parts, the values of the signal x[n] when n is even and when n is odd. The even signal was computed using the the standard procedure while the odd signal values were computed by multiplying the signal with the twiddle factor.


Conclusions Inferred:

When a computation counter was added to the program, it was seen that the number of mathematical calculations were significantly lesser in number, when compared to the number of calculations required to evaluate the same length signals using the standard methods. This made us understand how FFT is computationally faster that standard discrete fourier transform. 
While the time difference in computing signals of such small magnitude seems insignificant, while computing a longer, more complex signal, fast fourier transform will save valuable execution time.



Learning Experience: Discrete Fourier Transform


Experiment Performed: 


We used C codes to mathematically compute the DFT of a four point spectrum, of an 8 point spectrum, of a zero padded signal and of an expanded signal. We created functions that performed real and complex computations separately and concatenated the output upon display on the hyper terminal. We added variables to keep a count of the number of computations computations being performed during experiments.


Conclusions Inferred: 


We learnt that discrete fourier transform always produces periodic results. The frequency spacing is given by 
W= 2πk/N where k=0,1,2...N-1.

We plotted the magnitude and phase spectrum of the signals and realized that as the signal length increases, the frequency spacing decreases. Therefore, we have learnt that an expanded signal in the time domain would give a compressed, more resolved signal in the frequency domain. The increased resolution is good for the analytical applications because it reduces the error in the approximated signal.

We verified the number of computations and inferred that DFT is computationally slow.






Learning Experience: Covolution and Correlation Algorithms


Experiment Performed:
 We studied mathematical operations such as linear convolution, circular convolution, liner convolution using circular convolution and also, correlation techniques such as auto and cross correlation using codes on C. 
Conclusions Inferred: 
We learnt plenty about the nature of the outputs of each of the techniques.
1) Linear Convolution: We performed convolutions of two signals, varying the lengths of the signal each time. We learnt that the length of the output signal (N) was always one less than the sum of the lengths of the two signals.
Therefore, N=L+M-1
where, L= length(x[n]); M= length(h[n])
2) Circular Convolution: We learned that the output of circular convolution will be aliased in nature. If the length of the output signal is N', where N' is the maximum length of either of the input signals (x[n] , h[n]); then from the output of LC, the first few values are aliased with the values beyond N'.
3) Correlation: We performed various correlations like auto-correlation, cross-correlation, delayed cross-correlation and inferred that correlation of a delayed input signal produces the same output and cross-correlation of a signal with its delayed version produces a delayed output.