Вы находитесь на странице: 1из 7

PES UNIVERSITY

DEPARTMENT
OF
ELECTRICAL AND ELECTRONICS ENGINEERING

SIGNALS AND SYSTEMS PROJECT REPORT


Develop Discrete Time convolution program that can take 2 inputs to
perform convolution. Each one can be selected from standard set of
signals or the values can be given

SUBMITTED BY
Sahana Shankar(01FB16EEE076)
Varun Chandrashekar(01FB16EEE091)
Vishal Phadtare(01FB16EEE096)
CONVOLUTION
 Convolution is one of the four most important DSP operations, the other
three being correlation, discrete transforms, and digital filtering.
Convolution allows us to compute the output signal y(n) of a linear time-
invariant (LTI) system, given its input signal x(n) and its impulse response
h(n) as the system model. This is diagrammatically illustrated in Fig. 5.1
below. We will see later in this course that the digital filters that we would
design are represented as LTI systems.

 The convolution y(n) of two sequences h(n) and x(n) is given by the
following:

where M=N1+N2-1, N1=length of sequence 1, and N2=length of sequence 2.

 Important properties of convolution include identity, delay, commutative,


associative, and distributive properties. These properties of convolution are
listed in Table:
DISCRETE CONVOLUTION
 Signals are broadly classified into analog and discrete signals. An analog
signal will be denoted by xa(t), in which the variable t can represent any
physical quantity, but we will assume that it represents time in seconds. A
discrete signal will be denoted by x(n), in which the variable n is integer-
valued and represents discrete instances in time. Therefore it is also called
a discrete-time signal, which is a number sequence and will be denoted by
one of the following notations:

where the up-arrow indicates the sample at n = 0.


 In MATLAB we can represent a finite-duration sequence by a row vector of
appropriate values. However, such a vector does not have any information
about sample position n. Therefore a correct representation of x(n) would
require two vectors, one each for x and n. For example, a sequence:
x(n) = {2, 1, −1, 0 ↑ , 1, 4, 3, 7} can be represented in MATLAB by:

 Generally, we will use the x-vector representation alone when the sample
position information is not required or when such information is trivial (e.g.
when the sequence begins at n = 0). An arbitrary infinite-duration sequence
cannot be represented in MATLAB due to the finite memory limitations.
TYPES OF SEQUENCES We use several elementary sequences in digital signal
processing for analysis purposes. Their definitions and MATLAB
representations follow.

Matlab implementation : A=0:1:10;


Y=[a==0];

Matlab implementation: n=0:1:10;


Y=[n>=0];

3.Triangle wave

4.Ramp

Matlab implementation:
5.Growing exponential signal

Matlab implementation:
6.Decaying exponential sequence:
Features of the project
In this project we have given the user an option to choose between
predefined input signals(via radio buttons)or inputting a sequence of
their own choice through the command window.

Choice1:
case 1
clc;
clear all;
close all;
x1 = input('Enter First sequence x1(n)[] : ');
t1 = input('Enter Origin location Of Sequence x1 : ');
x2 = input('Enter Second sequence x2(n)[] : ');
t2 = input('Enter Origin location Of Sequence x2 : ');
l1 = length(x1); %length of sequence x1
l2 = length(x2); %length of sequence x2
ln = l1+l2-1; %length of convoluted sequence
y = conv(x1,x2); % performing convolution using x() function
a = t1+l1-1;
t = t1:a;
subplot(3,1,1);
stem(t,x1);
xlabel('Time');
ylabel('Amplitude');
title('x1');
a = t2+l2-1;
t = t2:a;
subplot(3,1,2);
stem(t,x2);
xlabel('Time');
ylabel('Amplitude');
title('x2');
tn = t1+t2;
a = tn+ln-1;
t = tn:a;
subplot(3,1,3);
disp('convoluted Sequence ');
disp(y); % For printing the convoluted output in MATLAB command
window
stem(t,y); % For plotting the convoluted output in MATLAB graph
window
xlabel('Time');
ylabel('Amplitude');
title('Convoluted Sequence');
Command Window Input:

Output:
Choice 2:

Вам также может понравиться