This problem illustrates one of the possible pitfalls of bli
Solution
clc
 clear all
 close all
 x=input(\'Enter the first sequence: \');
 l1=input(\'Enter the lower limit: \');
 u1=input(\'Enter the upper limit: \');
 x1=l1:1:u1;
 h=input(\'Enter the second sequence: \');
 l2=input(\'Enter the lower limit: \');
 u2=input(\'Enter the upper limit: \');
 h1=l2:1:u2;
 l=l1+l2;
 u=u1+u2;
 n=l:1:u;
 s=numel(n);
 i=1;
 for i=1:s
 y(i)=0;
 for k=1:numel(x)
 if (i+1-k)<=0
 y(i)=y(i)+(x(k)*0);
 else if (i+1-k)>numel(h)
 y(i)=y(i)+(x(k)*0);
 else
 y(i)=y(i)+(x(k)*h(i+1-k));
 k=k+1;
 end
 end
 end
 i=i+1;
 end
 disp(y);
 subplot(2,2,1);stem(x1,x);
 title(\'First sequence\');xlabel(\'n\');ylabel(\'x(n)\');
 subplot(2,2,2);stem(h1,h);
 title(\'Second Sequence\');xlabel(\'n\');ylabel(\'h(n)\');
 subplot(2,2,[3 4]);stem(n,y);
 title(\'Convoluted sequence\');xlabel(\'n\');ylabel(\'y(n)\');
Comment only
X = input(\'Enter x: \'); %input vector X and H
 H = input(\'Enter h: \') ;
 LenX = length(X); %defining their lenghts
 LenH = length(H);
 y = zeros(1,LenX+LenH); %defing vector y of zeroes and of size
 % lenth of X + length of H
 t = zeros(1,LenH); % definign a vector t of same length as H
 for i = 1:LenH+LenX-1 % Running a for loop from 1 to length of Y -1
 if i<=LenX % till I IS Lesser then length of X i.e overlap about to begin
 t(1)= X(i); % put x(i) on t(1) later it is shifted forwards in the vector t i.e. later t(2)=t(1)
for j = 1:LenH % in the if condition a for loop from 1 to length of H
 y(i) = y(i) + H(j)*t(j); % summing for all H(j)*t(j) and putting it at y(1) or y(2) or Y(i) in first iteration
 % i.e. for i=1 only firt multiplication would
 % be non zero rest all zeroes.
 end
for k = LenH:-1:2 % shifting old value of t(i) to t(i+1) now there would me 1+ non zeroes values in t
 % this cycle would continue until i is lesser then
 % length X i.e. overlap increasing every iteration less
 % and less non zero vales in t every iteration
 t(k) = t(k-1);
 end
else % now when all of the T is non zero which means 100% overlap in else overlap would start to decrease between T and H
 % T is basically X
 t(1)= 0;
 for j = 1:LenH % Now we start filling up Zeroes in T i.e. overlap began to decrease now and each iteration it would decrease
 % i.e T moving to left until there is no more
 % over lap
 y(i) = y(i) + (H(j)*t(j)); % in this for loop we multiply all respective vales of h and t and add the
 % putting it at y(1) or y(2) or Y(i) in first iteration
 end
for k = LenH:-1:2 %% here just like similar loop above t where we were filling up t with vales of x
 %now we are filling up zeroos in t i.e. over lap decreasing
 t(k) = t(k-1);
 end
end
end
ly=length(y)
 indices=[ly]
 for i=1:ly
 indices(i)=i;
 end
 disp (y); %displays vector y.
disp (indices); % displays vector indices.
stem(y);
 ylabel(\'Y[n]\');
 xlabel(\'[n]\');
 title(\'Convolution without conv function\');
Comment only
x = input(\'Enter x: \');
 h = input(\'Enter h: \') ;
 Ni = length(x);
 Nh = length(h);
 y = zeros(1,Ni+Nh);
 t = zeros(1,Nh);
 for i = 1:Ni+Nh-1
 if i<=Ni
 t(1)= x(i);
 for j = 1:Nh
 y(i) = y(i) + h(j)*t(j);
 end
 
 for k = Nh:-1:2
 t(k) = t(k-1);
 end
 
 else
 t(1)= 0;
 for j = 1:Nh
 y(i) = y(i) + (h(j)*t(j));
 end
 
 for k = Nh:-1:2
 t(k) = t(k-1);
 end
 
 end
 
 end
stem(y);
Comment only
function [y] = myconv( x,h )
m=length(x);
 n=length(h);
 x=[x,zeros(1,n)];
 h=[h,zeros(1,m)];
 for i=1:n+m-1
 y(i)=0;
 for j=1:m
 if(i-j+1>0)
 y(i)=y(i)+x(j)*h(i-j+1);
 end
 end
 end
| clc | Comment only | ||
| 28 Jan 2014 | assad | X = input(\'Enter x: \'); %input vector X and H for j = 1:LenH % in the if condition a for loop from 1 to length  of H for k = LenH:-1:2 % shifting old value of t(i) to t(i+1) now  there would me 1+ non zeroes values in t else % now when all of the T is non zero which means 100%  overlap in else overlap would start to decrease between T and  H for k = LenH:-1:2 %% here just like similar loop above t where  we were filling up t with vales of x end end ly=length(y) disp (indices); % displays vector indices. stem(y); | Comment only | 
| 23 Sep 2013 | Aghil Vinayak | x = input(\'Enter x: \'); stem(y); | Comment only | 
| 30 Mar 2013 | sonali | ||
| 21 Feb 2013 | Rama Krishna Tata | ||
| 17 Feb 2013 | Abdul-Rauf Mujahid | function [y] = myconv( x,h ) m=length(x); | 






