Name: Hafiz Waqar Ahmad Bhatti
Reg. No: L1F20BSEE0053 (EB)
Experiment No. 11:
• Properties of DTFT
Introduction
In mathematics, the discrete-time Fourier transform is a form of Fourier analysis that is applicable to a sequence
of values.
A discrete-time signal can be represented in the frequency domain using discrete-time Fourier transform.
Therefore, the Fourier transform of a discretetime sequence is called the discrete-time Fourier transform
(DTFT).
Mathematically, if x(n) is a discrete-time sequence, then its discrete-time Fourier transform is defined as −
F[x(n)]=X(ω)=∞∑n=−∞x(n)e−jωn
Objective
• To Verify the properties of Discrete Time Fourier Transform.
Design and Caluclations
1) Verification of Linearity Property
x1 = rand(1,11);
x2 = rand(1,11);
n = 0:10;
alpha = 2;
beta= 3;
k = 0:500;
w= (pi/500)*k;
X1 = x1 * (exp(-j*pi/500)).^(n'*k);
X2 = x2 * (exp(-j*pi/500)).^(n'*k); % DTFT of x2
x = alpha*xl + beta*x2; % Linear combinationof x1&x2
X = x * (exp(-j*pi/500)).^(n'*k); % DTFT of x
% verification
X_check = alpha*X1 + beta*X2; % Linear Combinationof X1&X2
error = max(abs(X-X_check)) % Difference
error = 4.8716
1
2) Verification of Time Shifting Property
x = rand(1,11);
n = 0:10;
k = 0:500;
w = (pi/500)*k;
X = x * (exp(-j*pi/500)).^(n'*k); % DTFT of x
% signal shifted by two samples
y = x;
m = n+2;
Y = y* (exp(-j*pi/500)).^(m'*k); % DTFT of Y
% verification
Y_check = (exp(-j*2).^w).*X; % multiplication by exp(-j2w)
error = max(abs(Y-Y_check)) % Difference
error = 1.1132e-14
3) Verifying the Frequency shifting property
n = 0:100;
x = cos(pi*n/2);
k = -100:100;
w = (pi/100)*k; % frequency between -pi and +pi
X = x * (exp(-j*pi/100)).^(n'*k); % DTFT of Jt
y = exp(j*pi*n/4).*x; % signal multiplied by exp(j*pi*n/4)
Y = y * (exp(-j*pi/100)).^(n'*k); % DTFT of Y
% Graphical verification
subplot(1,1,1); subplot(2,2,1);
plot(w/pi,abs(X));
grid;
axis([-1,1,0,60])
xlabel('frequency in pi units');
ylabel('|X|')
title('Magnitude of X')
subplot(2,2,2);
plot(w/pi,angle(X)/pi);
grid;
axis([-1,1,-1,1])
xlabel('frequency in pi units');
ylabel('radiands/pi')
title('Angle of X')
subplot(2,2,3);
plot (w/pi, abs(Y));
grid;
axis([ -1,1,0,60])
xlabel(' frequency in pi units');
ylabel('|Y| ')
title( 'Magnitude of Y')
subplot(2,2,4);
plot(w/pi,angle(Y)/pi);
grid;
axis( [-1,1, -1,1])
xlabel('frequency in pi units');
2
ylabel('radians/pi')
title('Angle of Y')
4) Verifying the Conjugation property
n = -5:10;
x = rand(1,length(n)) + j*rand(1,length(n));
k = -100:100;
w = (pi/100)*k; % frequency between -pi and +pi
X = x * (exp(-j*pi/100)).^(n'*k); % DTFT of x
%conjugation property
y = conj(x); % signal conjugation
Y =y * (exp(-j*pi/100)).^(n'*k); %DTFT of y
% verification
Y_check = conj(fliplr(X)); %conj(X(-w))
error = max(abs(Y-Y_check)) % Difference
error = 1.3056e-13
5) Verifying the Folding property
n = -5:10; x = rand(1,length(n));
k = -100:100; w = (pi/100)*k;% frequency betveen -pi and +pi
X = x * (exp(-j*pi/100)).^(n'*k); % DTFT of x
% folding property
y = fliplr(x); m = -fliplr(n); % Signal folding
Y = y * (exp(-j*pi/100)).^(m'*k); % DTFT of Y
3
% verification
Y_check = fliplr(X); % X(-w)
error = max(abs(Y-Y_check)) % Difference
error = 1.7798e-15
6) Verifying the Symmetries in real sequences property
n = -5:10; x = sin(pi*n/2);
k=-100:100; w=(pi/100)*k; % frequency between -pi and +pi
X = x * (exp(-j*pi/100)).^(n'*k); % DTFT of x
% signal decomposition
[xe,xo,m] = evenodd(x,n); % even and odd parts
XE = xe * (exp(-j*pi/100)).^(m'*k); % DTFT of xe
XO = xo * (exp(-j*pi/100)).^(m'*k); % DTFT of xo
% verification
XR = real(X); % real part of X
errorl = max(abs(XE-XR)) % Difference
errorl = 6.4660e-14
XI = imag(X); % imag part of X
error2 = max(abs(XO-j*XI)) % Difference
error2 = 6.4711e-14
% graphical verification
subplot(1,1,1);
subplot(2,2,1);
plot(w/pi,XR); grid; axis([-1,1,-2,2])
xlabel('frequency in pi units'); ylabel('Re(X)');
title('Real part of X')
subplot(2,2,2);
plot(w/pi,XI); grid; axis([-1,1,-10,10])
xlabel('frequency in pi units'); ylabel('Im(X)');
title('Imaginary part of X')
subplot (2,2,3); plot (w/pi ,real (XE)); grid;
axis ([-1,1, -2,2])
xlabel('frequency in pi units'); ylabel('XE');
title('Transform of even part')
subplot(2,2,4); plot(w/pi,imag(XO)); grid; axis([-1,1,-10,10])
xlabel('frequency in pi units'); ylabel('XO');
title('Transform of odd part')
4
Issues
We did not face any issues in this eperiment.
Conlcusion
The discrete-time Fourier transform X(ω) of a discrete-time sequence x(n) represents the frequency content
of the sequence x(n). Therefore, by taking the Fourier transform of the discrete-time sequence, the sequence
is decomposed into its frequency components. For this reason, the DTFT X(ω) is also called the signal
spectrum.
Applications
The Following are some important applications of DTFT Signal Processing :
• cross-correlation
• matched filtering
• system identification
• power spectrum estimation
• coherence function measurement.