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