Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
52 views9 pages

MATLAB Codes For Practice

The document describes operations on sequences including product and sum, shifting, reversal, and linear convolution. It provides MATLAB code snippets for generating and manipulating sequences, visualizing the results with stem plots. Functions for folding, multiplying, and shifting sequences are also defined.

Uploaded by

sviji
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)
52 views9 pages

MATLAB Codes For Practice

The document describes operations on sequences including product and sum, shifting, reversal, and linear convolution. It provides MATLAB code snippets for generating and manipulating sequences, visualizing the results with stem plots. Functions for folding, multiplying, and shifting sequences are also defined.

Uploaded by

sviji
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/ 9

Product and sum of sequences:

x1=[1 2 3 4 5 6];
x2=[0 1 0 1 1 1];
n1=-3:2;
n2=-1:4;
k=min(min(n1),min(n2)):max(max(n
1),max(n2));
y1=zeros(1,length(k));
y2=y1;
y1(find((k>=min(n1))&(k<=max(n1)
)==1))=x1;
y2(find((k>=min(n2))&(k<=max(n2)
)==1))=x2;
s=y1+y2;
p=y1.*y2;
%ps=y1*y2';
figure(1);
subplot(6,1,1);
stem(n1,x1);
title('input x1');
subplot(6,1,2);
stem(n2,x2);
title('input x2');
subplot(6,1,3);
stem(k,y1);
title('output y1');
subplot(6,1,4);
stem(k,y2);
title('output y2');
subplot(6,1,5);
stem(k,s);
title('output sum');
subplot(6,1,6);
stem(k,p);
title('output product');
Shifting and reversal:

x1=[1 2 3 4 5 6];
x2=[0 1 0 1 1 1];
n1=-3:2;
n2=-1:4;
%left shift by 3 units x1(n1+3)
l=n1-3;
%right shift by 5 units x2(n2-5)
r=n2+5;
figure(1);
subplot(4,1,1);
stem(n1,x1);
title('Original sequence');
subplot(4,1,2);
stem(l,x1);
title('left shift by 3 units');
subplot(4,1,3);
stem(n2,x2);
title('original x2');
subplot(4,1,4);
stem(r,x2);
title('right shift by 5 units');
%reversal
fx1=fliplr(x1);
fn1=-fliplr(n1);
figure(2);
subplot(2,1,1);
stem(n1,x1);
title('original sequence x1');
subplot(2,1,2);
stem(fn1,fx1);
title('reversed x1 = x1(-n1)');
Linear Convolution :

%%%linear convolution
x=[6 1 2 3 4 6];
h=[1 1 1 1 1];
n1=-3:2;
n2=-1:3;
[fh,fn2]=sigfold(h,n2);
n=(min(n1)-max(fn2)):(max(n1)-
min(fn2));
z=[];
for i=min(n):max(n)
[y,k]=sigshift(fh,fn2,i);
[p]=sigmult(x,n1,y,k);
z=[z p];
end
figure(1);
subplot(3,1,1);
stem(n1,x);
title('input x(n)');
subplot(3,1,2);
stem(n2,h);
title('input h(n)');
subplot(3,1,3);
stem(n,z);
title('output y(n)=x(n)*h(n)');
Different functions:

function [y,n]=sigfold(x,m)
y=fliplr(x);
n=-fliplr(m);
end

function [p]=sigmult(x1,n1,x2,n2)
k=min(min(n1),min(n2)):max(max(n1),max(n2))
;
y1=zeros(1,length(k));
y2=y1;
y1(find((k>=min(n1))&(k<=max(n1))==1))=x1;
y2(find((k>=min(n2))&(k<=max(n2))==1))=x2;
p=y1*y2';
end

function [y,n]=sigshift(x,m,n0)
y=x;
n=m+n0;
end

You might also like