Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

T. Y. B.

Tech (Electrical) Sem VI


Digital Signal Processing
Lab Experiment : Discrete Fourier Transform (DFT) & Inverse Discrete Fourier Transform (IDFT)
of the discrete time signal.

Date of Submission : 27/01/2021

Group Members :

Roll No. Name


181030039 Sandesh Dinkar Pakhare
181030047 Satyam Prakash Singh
181030040 Aaditya Prabhakar Pandire
181030046 Narendra Lalsing Rathod

DFT & IDFT of the discrete time signal

Aim : To find Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform
(IDFT) of the given discrete signal.

Software used: MATLAB

Theory : The Discrete Fourier Transform (DFT) computes the values of the z-transform for evenly
spaced points around the unit circle for a given sequence. If the sequence to be
represented is of finite duration, i.e. has only a finite number of non-zero values, the
transform used is Discrete Fourier Transform (DFT).
Let x(n) be a finite duration sequence. The N-point Discrete Fourier Transform (DFT) of
the sequence x(n) is expressed by
𝑗2𝜋𝑛𝑘

𝑋(𝑘) = ∑𝑁−1
𝑛=0 𝑥(𝑛)𝑒 𝑁 , 𝑘 = 0,1, … , 𝑁 − 1
and the corresponding Inverse Discrete Fourier Transform (IDFT) is
𝑗2𝜋𝑛𝑘
1
𝑥(𝑛) = ∑𝑁−1
𝑘=0 𝑋(𝑘) 𝑒 𝑁 , 𝑛 = 0,1, … , 𝑁 − 1
𝑁

Program :
%Aim - find the dft and idft of input signal
%author - Satyam,Sandesh,Aaditya,Narendra
%date - 19/01/21

%Giving input sequence


x=input('Enter the input sequence: ');
ln=length(x);
xk=zeros(1,ln);
ixk=zeros(1,ln);

%DFT of the given sequence


for k=0:ln-1
for n=0:ln-1
xk(k+1)=xk(k+1)+(x(n+1)*exp((i)*2*pi*k*n/ln));
end
end

%Plotting input sequence


t=0:ln-1;
subplot(2,2,1);
stem(t,x);
xlabel('Number of Samples')
ylabel('Amplitude')
title('Input Sequence');

magnitude=abs(xk);
%Plotting magnitude response
t=0:ln-1;
subplot(2,2,2);
stem(t,magnitude);
xlabel('Number of Samples')
ylabel('Amplitude')
title('Magnitude Response');

phase=angle(xk);
%Plotting phase response
t=0:ln-1;
subplot(2,2,3);
stem(t,phase);
xlabel('Number of Samples')
ylabel('Phase')
title('Phase Response');

%IDFT of the given sequence


for n=0:ln-1
for k=0:ln-1
ixk(n+1)=ixk(n+1)+(xk(k+1)*exp((i)*2*pi*k*n/ln));
end
end
ixk=ixk./ln;

%Plotting IDFT sequence


t=0:ln-1;
subplot(2,2,4);
stem(t,ixk);
xlabel('Number of Samples')
ylabel('Amplitude')
title('Inverse DFT');

Output : Enter the input sequence:

[4,2,-1,2]
DFT and IDFT of the given discrete time system

Conclusion : The Discrete Fourier Transform (DFT) and Inverse Discrete Fourier Transform (IDFT)
are obtained by executing the code in MATLAB and manually. Both the results are
verified and the results are also found to be same. The magnitude and phase of the DFT
of the signal are also plotted. DFT and IDFT find its applications in digital signal
processing including linear filtering, correlation analysis and spectrum analysis.

Manual Calculations:

You might also like