Line 2: | Line 2: | ||
% ECE301 - HW2 <br> | % ECE301 - HW2 <br> | ||
% Convolution Program <br> | % Convolution Program <br> | ||
− | + | ||
close all <br> | close all <br> | ||
− | |||
clear all <br> | clear all <br> | ||
− | |||
x = input('Enter first array x[n] (ex: [1 2 3 .. n]): '); <br> | x = input('Enter first array x[n] (ex: [1 2 3 .. n]): '); <br> | ||
− | |||
h = input('Enter second array y[n] (ex: [1 2 3 .. n]): '); <br> | h = input('Enter second array y[n] (ex: [1 2 3 .. n]): '); <br> | ||
− | |||
len_x = length(x); <br> | len_x = length(x); <br> | ||
− | |||
len_h = length(h); <br> | len_h = length(h); <br> | ||
− | |||
len_y = len_x + len_h - 1; <br> | len_y = len_x + len_h - 1; <br> | ||
− | |||
x = [x, zeros(1, len_x)]; <br> | x = [x, zeros(1, len_x)]; <br> | ||
− | |||
h = [h, zeros(1, len_h)]; <br> | h = [h, zeros(1, len_h)]; <br> | ||
− | |||
y = zeros(1, len_y); <br> | y = zeros(1, len_y); <br> | ||
− | |||
for(a = 1:len_y) <br> | for(a = 1:len_y) <br> | ||
− | |||
for(b = 1:len_x) <br> | for(b = 1:len_x) <br> | ||
− | |||
if(a - b + 1 > 0) <br> | if(a - b + 1 > 0) <br> | ||
− | |||
y(a) = y(a) + x(b) * h(a - b + 1); <br> | y(a) = y(a) + x(b) * h(a - b + 1); <br> | ||
− | |||
end <br> | end <br> | ||
− | |||
end <br> | end <br> | ||
− | |||
end <br> | end <br> | ||
− | |||
%Display the answer y = x * h <br> | %Display the answer y = x * h <br> | ||
y <br> | y <br> | ||
− |
Latest revision as of 00:51, 2 July 2009
% Jamis Martin
% ECE301 - HW2
% Convolution Program
close all
clear all
x = input('Enter first array x[n] (ex: [1 2 3 .. n]): ');
h = input('Enter second array y[n] (ex: [1 2 3 .. n]): ');
len_x = length(x);
len_h = length(h);
len_y = len_x + len_h - 1;
x = [x, zeros(1, len_x)];
h = [h, zeros(1, len_h)];
y = zeros(1, len_y);
for(a = 1:len_y)
for(b = 1:len_x)
if(a - b + 1 > 0)
y(a) = y(a) + x(b) * h(a - b + 1);
end
end
end
%Display the answer y = x * h
y