Tuesday, 25 April 2017

Signal Processing Application


This was a group Experiment - finding out relevant papers and patents on DSPP applications. We, as a group of 5 - Abhijit Haridas, Shreyas Padte, Rishi Gupta, Sakshi Joshi and myself had to study on research  papers and patents which implemented compression of the audio signal. We chose to study "Audio Compression" as an application.

Patent Review

Patent No: US 20160344356 A1                                                                                                                        Publication date: Nov 24, 2016                                                                                                                                            Inventors: Peter Grosche, Yue Lang, Qing Zhang           

Summary:

This is the audio compression system comprising of a digital filter for filtering the input audio signal, where the digital filter comprises of a frequency transfer function having a magnitude over frequency, where the magnitude is formed by an equal loudness curve of a human ear to obtain a filtered audio signal, and a compressor which is configured to compress the input audio signal upon the basis of the filtered audio signal to obtain a compressed audio signal.


Paper Review

Paper: International Journal of Engineering and Innovative Technology ISO 9001:2008 Certified                                                                                                                                                                   Volume 4, Issue 1, July 2014

Summary:

Audio compression has been carried out by various methods such as Discrete Cosine Transform, Run Length and High order shift encoding. Audio compression addresses the problem of reducing the amount of data required to represent digital audio. Also to overcome the effect of quantized noise, which can be noticed at low energized audio segments, a post processing filtering stage is introduced as last stage of decoding process.






Basic operations on DSP processor

This was demo experiment on how to use DSP processor for real life applications. In this we use C2000 DSP kit for performing various basic operations like addition, subtraction, multiplication and some logical operations.

FIR filter design using Frequency sampling

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. First Hd(w) is calculated and then H(k) is calculated by sampling and then after that h(n) by IDFT. The final output h(n) is always symmetric about the point of symmetry i.e. N/2. Discontinuity is observed in phase plot when the spectrum goes out of range that is from -pi to +pi.

FIR filter design using window function

In this experiment, we design a linear phase FIR filter - low pass and high pass. In this experiment, the desired impulse response is multiplied with window function w (n) to obtain h (n) which after Z-transform yields the transfer function H (z).

There are many types of window function i.e. Rectangular, Bartlett, Hamming, Hanning and Blackman. Attenuation in stop band is maximum for Blackman window and minimum for Rectangular window.

Various parameters like Ape, As, stop band frequency, pass band frequency and sampling frequency are taken as inputs from the user. It was observed that as order of the filter increases the no. of lobes in the frequency response increases.

Chebyshev Filter design

In this experiment we designed the chebyshev low pass and high pass filter using Scilab. In this experiment, various parameter like pass band attenuation, stop band attenuation, pass band frequency, stop band frequency and sampling frequency are passed as an input and the order of filter is calculated by plotting the magnitude spectrum.

In chebyshev filter there are ripples in pass band but monotonic in stop band. The no. of ripple peaks represent the order of filter. Order of chebyshev filter is always less than that of order of butterworth filter for same input parameters and therefore chebyshev filter requires less hardware components for realisation.

Butterworth Filter Design

This was the experiment of learning and designing Butterworth low pass and high pass filter using Scilab. After understanding Scilab we came to know that there are various functions such as buttmag() for calculating transfer function and order of the filter. Also there are various functions for calculating fft, magnitude response in Scilab.

From this experiment we understood that butterworth filter have flat response and a steep transmission band depending on the order of filter. We designed both analog filter and digital filter and we can see from both the filters whether the filter is stable or not. If analog poles lie on LHS of s-plane so analog is filter is stable. If digital poles lie inside unit circle so didital filter is stable. Also if the magnitude spectrum is monotonic in both pass band as well as stob band i.e. no ripples.

Friday, 17 March 2017

Overlap Add and Overlap Save

There are 2 types of input signal x[n] and h[n]. In real time processing the size of input is very large. So performing convolution becomes a difficult task. To overcome this problem we have 2 methods viz-
1. Overlap Add method
2. Overlap Save method

In overlap add method first we calculate the value of L using the formula L=N-M+1 where N is the length of output signal M is the length of h[n] and L is the length of input signal. After this we decompose the signal x[n] into parts each of length L and then the convolution is done between these signals and h[n] individually and then we get the final output by shifting and adding the individual output signals.

In overlap save method we decompose the input signals into parts but in this the next decomposed signal is started with previous signal's saved values and the convolution is done individually and the output is all the values except the saved values.

That is these techniques are known as block processing techniques. 

Fast Fourier Transform

In real time processing we obviously can't use DFT because it is slow in processing due to lots of calculations. So we use FFT which is Fast Fourier Transform. An FFT is a way to compute same result more quickly : computing the DFT of N points in naïve way, if we go by the definition of DFT it will take N*N arithmetic operations while FFT can compute the same DFT in only NlogN operations. We implemented this using Cooley and Tukey's radix-2 DITFFT algorithm. DITFFT stands for Decimation In Time Fast Fourier Transform. Signal is decimated in time domain so as to reduce no. of calculations, reducing calculations means increase in speed. 

Discrete Fourier Transform

This was an experiment with lots of learning experience. In this experiment previous C programming concepts were also covered like function calling using call by value and call by reference method. DFT is the frequency domain representation of the original input sequence. DFT signal output is always periodic. Using DFT we can reduce approximation errors and also resolution of the spectrum can be increased. DFT results has high accuracy due to periodicity. So if your signal is not periodic it has to be assumed periodic to get better and accurate results.

The limitation of DFT is that it is slow for real time processing due to lots of real and complex calculations. So to overcome this problem we use FFT-Fast Fourier Transform. 

Monday, 13 March 2017

Convolution and Correlation

This was a great experience learning Convolution and Correlation. First we will talk about convolution. There are 2 types of convolution one is Linear and the other is Circular. In Linear Convolution the length of output signal is always sum of the length of the inputs minus one. Also if both the input signals are causal then resultant output is also causal. But in circular convolution the length of output signal is the length which is maximum between both the input signals. Also circular convolution gives aliased output.

Now we will talk about correlation. In correlation there are 2 types one is auto correlation and the other one is cross correlation. Auto correlation signal is always an even signal. Auto correlation of delayed input signal is same as auto correlation of original signal. Cross correlation of input signal with delayed input signal is same as advanced auto correlated signal. Correlation is used to find degree of similarity between 2 signals.