Skip to main content

Posts

Showing posts from 2017

Basics of DSP Processor

BASICS OF DSP PROCESSOR The operations were performed on a DSP Processor(TMS320F28335). The TI Code Composer Studio(CCS) was used for programming the DSP processor.The various operations carried out were Arithmetic Operations which included Addition Subtraction Multiply Divide, Logical Operations like And and Not and Shifting Operations like Logical Shift Left, Logical Shift Right, Rotate Right, Rotate Left.

Frequency Sampling Method

Frequency Sampling Method An FIR Filter can be designed using Frequency Sampling Method also. Attenuation in passband, attenuation in stop band and related frequencies were entered into the Scilab code. Conventional Discrete Fourier Transform algorithm was used to convert the obtained desired frequency response in the frequency domain. h[n] was obtained finally, by applying Inverse Discrete Fourier Transform algorithm. It was observed that the final output sequence h[n] was always symmetric about the point of symmetry (N/2). Phase spectrum is linear within the positive lobes of magnitude spectrum while a discontinuity is observed when the spectrum goes out of range (-pi to pi). 

Signal Processing Application

MORSE CODE Amidst all the submissions and practicals round the corner, we were asked to write a review on an IEEE paper and a patent issued on the same application. After a lot of discussion over the topic with group mates, we agreed upon a common topic : MORSE Code Generation Patent Review Patent referred is : International Morse Code Number Generator Patent Number :  US4292624 Inventor : William K. Serp Date of Publish : Sept 29, 1981 Application Number : 517,813 What is a Morse code? according to wikipedia, Morse code is a code in which letters are represented by combinations of long and short light or sound signals.It transmits text as a series of on-off tones,lights or clicks.  This patent has clearly stated that the code which is to be transmitted is loaded into preset-able counters. Switch mean is used to connect the  binary level to a specific memory location.The counter thereby sends data sequentially generating Morse Code...

FIR Filter Design : Windowing Method

FIR Filter Design : Windowing Method  FIR Filters being inherently stable can be designed to have a linear phase. Their is a great flexibility in shaping their magnitude response and these are easy and convenient to implement. This being said,  Digital FIR filters cannot be derived from from analog filters as analog filters cannot have a finite impulse response.   In this experiment, a causal linear phase FIR Filter was designed by multiplying an ideal filter that has an infinite duration impulse response (IIR) by a finite duration window function. The Scilab code was written for calculating the parameters using Hanning Window Function. The window shape affects the width of the transition band and stop band attenuation while window duration affects the transition bandwidth only. Having given the values of parameters like attenuation in pass band and stop band and frequencies as input, the response of filter was plotted.  There are much less ripples for th...

Chebyshev Filter Design

Chebyshev Filter Design Having designed a filter by Butterworth design method previously, designing filter by Chebyshev Method requires calculation of a lot more parameters than butterworth method. We designed Chebyshev 1 filter and simulated its magnitude and frequency response using Scilab .  The order of the filter and the Transfer Function were calculated after entering the values of various parameters like : Pass band Attenuation (Ap), Stop Band Attenuation (As), Passband frequency, Stopband frequency. The obtained frequency response was very close to the ideal response. From the obtained characteristics, we verified that, for a Chebyshev 1 filter Pass band : Equiripple Stop band: monotonic No ripples in Passband Lesser transition width, slow roll-off at high frequencies Scilab simulation software made the process of computing Transfer Function of higher order filters and plotting the magnitude and frequency response easier and efficient.    ...

Butterworth Filter Design

Butterworth Filter Design Butterworth filter design is nothing but a filter approximation used to achieve ideal characteristics while transforming an analog filter response to digital filter response.  We designed low pass and high pass filters and simulated their magnitude and frequency response using Scilab . We simulated using Scilab since it is an open source tool, but MATLAB, C as well as C++ codes are also available in abundance over the internet for the same. The most commonly found codes are written in MATLAB as it is much easier and better than Scilab. The order of the filter and the Transfer Function were calculated after entering the various parameters of filter like: Attenuation in pass band (Ap), Attenuation in Stop band (As), Stop band frequency and Pass band frequency. Bilinear Transform Method was used to convert the Transfer Function in S-domain (Laplace Domain) to Z-domain. The obtained response was very close to ideal response as the order was g...

Filtering long data

Overlap Add method and Overlap Save Method The real time signals available are large data signals. For processing any signal, the whole sequence should be present at the input at the same time. This is not possible for real time signals. so. overlap add method and overlap save method are used. They are block processing techniques as they divide the input sequence into block of data and then calculate the result. Overlap add method performs linear convolution on the data using FFT and the overlapping values are added to compute the result while overlap save method performs circular convolution on the data using FFT and the overlapping values are neglected. These methods are used to decrease the processing time of long signals. 

Fast Fourier Transform

Fast Fourier Transform Just like DFT, FFT is also used to find the frequency representation of a discrete time signal. The result of FFT is same as that of DFT. But FFT is computationally fast as it uses Cooley and Tuckey's algorithm to find the result. FFT does parallel processing of the input sequence as it decomposes an N point sequence into two sequences i.e. even and odd signals.  In this experiment, FFT of 4 point and 8 point signals was calculated using DITFFT. Comparison of no. of complex addition and multiplications as well as real addition and multiplications required to calculate FFT and DFT prove that FFT is fast.   

Discrete Fourier Transform

Discrete Fourier Transform In this experiment, we calculated the discrete fourier transform of a N point sequence in time domain to obtain an N point sequence in Frequency domain. Hence, using DFT, discrete time data sets are converted into discrete frequency spectrum. DFT gives an approximate spectrum and is computationally slow.  In the first case, the input signal was x[n] was an N point sequence. The output of DFT gave X[k] which was also an N point sequence.                         In the second case, the sequence was padded with zeros at the end.                      In the third case, the input signal was expanded by adding zeros in   between the signal values as shown. All these cases showed that, as the length of signal increases by zero padding: Frequency spacing decreases, app...

Convolution and Correlation

DSPP EXPERIMENTS This blog discusses a few simple experiments to analyse signals. I am going to going to explain a few experiments along with their codes. 1. Experiment 1 : Part A : Linear Convolution and Circular Convolution   Convolution is a formal mathematical operation. It  takes two signals as input and produces a third signal.  In linear systems, convolution is used to describe the relationship between three signals of interest: the input signal, the impulse response, and the output signal. This is what I have done in this experiment.   Linear Convolution My first input signal was x[n] which is an L point sequence. My second input signal was h[n] which is an M point signal. I entered the value of L and the values for input signal x[n]. Then I entered the value of M followed by values for signal h[n]. The function Linear_conv() will calculated the the convolution of these two signals and store the values for output signal ...