Vous êtes sur la page 1sur 2

Experiment: To write a MATLAB program to verify convolution property of

Discrete Fourier Transform.


Theory
Convolution property of DFT states that if
[ ( )]

( )

[ ( )]

( )

and

then,
[ ( )

( )]

( )

( )

Program
% Program to check that convolution in time domain is multiplication in
% frequency domain
clear all
close all
clc
x=input('Enter 1st Sequence:');
y=input('Enter 2nd Sequence:');
lx=length(x);
ly=length(y);
%Performing convolution
l=lx+ly-1;
x1=[x,zeros(1,ly)];
y1=[y,zeros(1,lx)];
z1=zeros(1,l);
for k1=1:l
for k2=1:k1
z1(k1)=z1(k1)+x1(k2)*y1(k1-k2+1);
end
end
% --------------------------------------------% Performing DFT of 1st sequence
X=zeros(1,l);
for k1=1:l
for n1=1:l
X(k1)=X(k1)+x1(n1)*exp(-1i*2*pi*(k1-1)*(n1-1)/l);
end
end
% --------------------------------------------% Performing DFT of 2nd sequence
Y=zeros(1,l);
for k1=1:l
for n1=1:l

Y(k1)=Y(k1)+y1(n1)*exp(-1i*2*pi*(k1-1)*(n1-1)/l);
end
end
% --------------------------------------------%Multiplying
for k=1:l
Z(k)=X(k)*Y(k);
end
%IDFT
z=zeros(1,l);
for n1=1:l
for k1=1:l
z(n1)=z(n1)+Z(k1)*exp(1i*2*pi*(n1-1)*(k1-1)/l);
end
z(n1)=z(n1)/l;
end
disp('Result using Frequency domain multiplication')
real(z)
disp('Result using time domain convolution')
z1

Output

Vous aimerez peut-être aussi