Line 1: Line 1:
 +
function y = convo(x,h)
 +
 +
m = length(x);
 +
n = length(h);
 +
X = [x,zeros(1, m-1)];
 +
H = [h,zeros(1,n-1)];
 +
for r1 = 1:1:(m+n-1)
 +
    y(r1) = 0; %creating initial y value
 +
    for  r2 = 1:1:r1
 +
        y(r1) = y(r1) + X(r2)*H(r1-r2+1); % summing up x[1]*h[n] + x[2]*h[n-1] ...
 +
    end
 +
end
  
  

Revision as of 16:52, 1 July 2009

function y = convo(x,h)

m = length(x); n = length(h); X = [x,zeros(1, m-1)]; H = [h,zeros(1,n-1)]; for r1 = 1:1:(m+n-1)

   y(r1) = 0; %creating initial y value
   for  r2 = 1:1:r1
       y(r1) = y(r1) + X(r2)*H(r1-r2+1); % summing up x[1]*h[n] + x[2]*h[n-1] ...
   end

end



function y = convo(x,h) % creating a MATLAB function convo that calls upon two vectors x and h to be convoluted.

X = fft([x zeros(1,length(h)-1)]); H = fft([h zeros(1,length(x)-1)]); y = ifft(X.*H);

Alumni Liaison

Prof. Math. Ohio State and Associate Dean
Outstanding Alumnus Purdue Math 2008

Jeff McNeal