Experiment 11
Experiment 11
Experiment 11
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.
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
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')
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
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
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
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.