0% found this document useful (0 votes)
48 views7 pages

Name: Shaheryar Alam Khan ROLL NO: FA16-ECE-102 SUBMITTED TO: Khurram Naveed

This document contains a lab report submitted by Shaheryar Alam Khan (Roll No: FA16-ECE-102) to Khurram Naveed. The report contains code and outputs for tasks involving: 1) Separating the even and odd components of a sequence using sigfold, sigadd, and sigsubtract functions. 2) Convolution using sigfold, sigshift, sigmult functions to convolve two signals and plot the output. 3) Defining a convolution function to convolve two signals and plot the output.

Uploaded by

Shaheryar Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views7 pages

Name: Shaheryar Alam Khan ROLL NO: FA16-ECE-102 SUBMITTED TO: Khurram Naveed

This document contains a lab report submitted by Shaheryar Alam Khan (Roll No: FA16-ECE-102) to Khurram Naveed. The report contains code and outputs for tasks involving: 1) Separating the even and odd components of a sequence using sigfold, sigadd, and sigsubtract functions. 2) Convolution using sigfold, sigshift, sigmult functions to convolve two signals and plot the output. 3) Defining a convolution function to convolve two signals and plot the output.

Uploaded by

Shaheryar Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

COMSATS INSTITUTE OF

INFORMATION TECHNOLOGY,ISLAMABAD
DIGITAL SIGNAL PROCESSING
LAB MANUAl
LAB REPORT :03

NAME: SHAHERYAR ALAM KHAN

ROLL NO: FA16-ECE-102

SUBMITTED TO: Khurram Naveed


TASK:01
Even & Odd Components of a Sequence:
Code:
n = [-2 -1 0 1 2];
x = [1 2 -3 4 -5];
[y n1] = sigfold(x,n)
[m n] = sigadd(x,n,y,n1)
m = y./2
subplot(2,1,1)
stem(n,m)
[g n] = sigsubtract(x,n,y,n1)
g = g./2
subplot(2,1,2)
stem(n,g)

Sigadd Code:
function [y n] = sigadd(x1,n1,x2,n2)
if n1(1)< n2(1)
a = n1(1)
x1 = [zeros(1,abs(n1(1)-n2(1))) x1]

else
a = n2(1)
x1 = [zeros(1,abs(n1(1)-n2(1))) x1]
end
if n1(end)>n2(end)
b = n1(end)
x2 = [x2 zeros(1,abs(n1(end)-n2(end)))]
else
b = n2(end)
x2 = [x2 zeros(1,abs(n1(end)-n2(end)))]
end
n = a:b;
y = x1+x2;

Sigsubtract Code:

function [g n] = sigsubtract(x1,n1,x2,n2)
if n1(1)< n2(1)
a = n1(1)
x1 = [zeros(1,abs(n1(1)-n2(1))) x1]

else
a = n2(1)
x1 = [zeros(1,abs(n1(1)-n2(1))) x1]
end
if n1(end)>n2(end)
b = n1(end)
x2 = [x2 zeros(1,abs(n1(end)-n2(end)))]
else
b = n2(end)
x2 = [x2 zeros(1,abs(n1(end)-n2(end)))]
end
n = a:b;
g = x1-x2;
OUTPUT:
n1 =

-2 -1 0 1 2

y =

-5 4 -3 2 1

y =

-5 4 -3 2 1

n1 =

-2 -1 0 1 2

a =

-2
x1 =

1 2 -3 4 -5

b =

x2 =

5 2 -1 4 -5

y =

6 4 -4 8 -10

n =

-2 -1 0 1 2

y =

3 2 -2 4 -5

a =

-2

x1 =

1 2 -3 4 -5

b =

x2 =

5 2 -1 4 -5

g =

-4 0 -2 0 0

n =
-2 -1 0 1 2

g =

-2 0 -1 0 0

TASK:02
Convolution:
Code:
n11 = [-2:2];
x11 = [1 2 -3 4 -5];
n2 = [1:5];
x2 = [1 -1 2 -2 3];
d = abs(n11(end)-n2(1));
s = [];
a = [];
subplot(5,1,1)
stem(n11,x11)
title('Input Signal x[n]')
subplot(5,1,2)
stem(n2,x2)
title('Impulse Response h[n]')
[y n1] = sigfold(x2,n2)
subplot(5,1,3)
stem(n1,y)
title('Time Reverse h[n]')
[n1,x1] = sigshift(y,n1,d)
subplot(5,1,4)
stem(n1,x1)
title('Time Shift h[n]')
for i=1:length(x11)+length(n11-1)-1
[n12,x12] = sigshift(x1,n1,d)
[y23 n23] = sigmult(x11,n11,x12,n12)
subplot(5,1,5)
stem(n23,y23)
title('Convolution')
end

OUTPUT:
TASK:03
Convolution as function:
function [y23 n23] = conv(n11,x11,n2,x2)

subplot(5,1,1)
stem(n11,x11)
title('Input Signal x[n]')
subplot(5,1,2)
stem(n2,x2)
title('Impulse Response h[n]')
[y n1] = sigfold(x2,n2)
subplot(5,1,3)
stem(n1,y)
title('Time Reverse h[n]')
[n1,x1] = sigshift(y,n1,d)
subplot(5,1,4)
stem(n1,x1)
title('Time Shift h[n]')
for i=1:length(x11)+length(n11-1)-1
[n12,x12] = sigshift(x1,n1,d)
[y23 n23] = sigmult(x11,n11,x12,n12)
subplot(5,1,5)
stem(n23,y23)
title('Convolution')
end

Calling Convolution function:


n1 = [-2:2];
x1 = [1 2 -3 4 -5];
n2 = [1:5];
x2 = [1 -1 2 -2 3];
[y23 n23] = conv(n1,x1,n2,x2)

You might also like