Line 2: Line 2:
 
% ECE301 - HW2 <br>
 
% ECE301 - HW2 <br>
 
% Convolution Program <br>
 
% Convolution Program <br>
<br>
+
 
 
close all <br>
 
close all <br>
<br>
 
 
clear all <br>
 
clear all <br>
<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>
<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>
<br>
 
 
len_x = length(x); <br>
 
len_x = length(x); <br>
<br>
 
 
len_h = length(h); <br>
 
len_h = length(h); <br>
<br>
 
 
len_y = len_x + len_h - 1; <br>
 
len_y = len_x + len_h - 1; <br>
<br>
 
 
x = [x, zeros(1, len_x)]; <br>
 
x = [x, zeros(1, len_x)]; <br>
<br>
 
 
h = [h, zeros(1, len_h)]; <br>
 
h = [h, zeros(1, len_h)]; <br>
<br>
 
 
y = zeros(1, len_y); <br>
 
y = zeros(1, len_y); <br>
<br>
 
 
for(a = 1:len_y) <br>
 
for(a = 1:len_y) <br>
<br>
 
 
for(b = 1:len_x) <br>
 
for(b = 1:len_x) <br>
<br>
 
 
if(a - b + 1 > 0) <br>
 
if(a - b + 1 > 0) <br>
<br>
 
 
y(a) = y(a) + x(b) * h(a - b + 1); <br>
 
y(a) = y(a) + x(b) * h(a - b + 1); <br>
<br>
 
 
end <br>
 
end <br>
<br>
 
 
end <br>
 
end <br>
<br>
 
 
end <br>
 
end <br>
<br>
 
 
%Display the answer y = x * h <br>
 
%Display the answer y = x * h <br>
 
y <br>
 
y <br>
<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

Alumni Liaison

has a message for current ECE438 students.

Sean Hu, ECE PhD 2009