Practical No: 03 Date: 04-08-2025
Name Abhay Samgonda Patil PRN: 2305117
Signal Convolution Techniques using MATLAB
Title
Objectives:
Sr. No. Statements
Understand the concept of linear convolution and its role in LTI systems.
1
Implement linear convolution and circular convolution using MATLAB.
2
Analyze and compare the results of both convolution types.
3
Program/ Code/ Blocks:
1 clc; clear; close all;
t = 0:0.01:3
x1_ct = cos(2*pi*0.5*t);
x2_ct = exp(-t);
% Convolve using numerical approximation
y_ct = conv(x1_ct, x2_ct) * 0.01;
t_conv = 0:0.01:(length(y_ct)-1)*0.01;
% Plot CT signals and convolution
figure(1);
subplot(3,1,1); plot(t, x1_ct); title('CT Signal x1(t) = cos(πt)'); xlabel('Time (s)');
ylabel('Amplitude'); grid on;
subplot(3,1,2); plot(t, x2_ct); title('CT Signal x2(t) = exp(-t)'); xlabel('Time (s)');
ylabel('Amplitude'); grid on;
subplot(3,1,3); plot(t_conv, y_ct); title('Convolution y(t) = x1(t) * x2(t)'); xlabel('Time
(s)'); ylabel('Amplitude'); grid on;
n1 = 0:5;
x1_dt = [2 1 0 -1 -2 1];
n2 = 0:3;
x2_dt = [1 2 1 -1];
% Linear convolution
y_dt = conv(x1_dt, x2_dt);
n3 = 0:length(y_dt)-1;
figure(2);
subplot(3,1,1); stem(n1, x1_dt, 'filled'); title('DT Sequence x1[n]'); xlabel('n');
ylabel('x1[n]'); grid on;
subplot(3,1,2); stem(n2, x2_dt, 'filled'); title('DT Sequence x2[n]'); xlabel('n');
ylabel('x2[n]'); grid on;
subplot(3,1,3); stem(n3, y_dt, 'filled'); title('Convolution y[n] = x1[n] * x2[n]');
xlabel('n'); ylabel('y[n]'); grid on;
SignalProcessingLAB(EC3174)
Output:
SignalProcessingLAB(EC3174)
SignalProcessingLAB(EC3174)
Inference:
Learned that convolution combines two signals to represent the response of an LTI
1 system.
Observed that convolution increases the signal length and modifies its shape.
2
Understood that convolution is the basis of filtering in signal processing
3
SignalProcessingLAB(EC3174)
4
Output:
Output:
SignalProcessingLAB(EC3174)
6
Output:
Output:
SignalProcessingLAB(EC3174)
8
Output:
Output:
SignalProcessingLAB(EC3174)
10
Output:
Inference:
SignalProcessingLAB(EC3174)