Discrete Fourier Transform
Discrete Fourier Transform
clear all
clc
x=[ 4 1 3 4 ];
N=length(x);
n=0:N-1;
for k=0:N-1
W=exp((-j*2*pi*n*k)/N);
X(k+1)=sum(x.*W);
fprintf('X(%f) = %f+%fi
\n',k,real(X(k+1)),imag(X(k+1)));
end
figure(1);
subplot(3,1,1);
stem(n,x);
xlabel('n');
ylabel('x(n)');
title('input signal');
subplot(3,1,2);
stem(n,X);
xlabel('n');
ylabel('X(k) (kth sample)');
title('DFT');
subplot(3,1,3);
stem(n,fft(x));
xlabel('n');
ylabel('X(k) (kth sample)');
title('FFT');
Output:
X(0.000000) = 12.000000+0.000000i
X(1.000000) = 1.000000+3.000000i
X(2.000000) = 2.000000+-0.000000i
X(3.000000) = 1.000000+-3.000000i
>>
input signal
4
x(n)
2
0
0 0.5 1 1.5 2 2.5 3
n
DFT
X(k) (kth sample)
20
10
0
0 0.5 1 1.5 2 2.5 3
n
FFT
X(k) (kth sample)
20
10
0
0 0.5 1 1.5 2 2.5 3
n
Linear convolution:
clear all
clc
x=[ 1 2 3 4 5 6];
h=[4 1 3 4];
nx=length(x);
nh=length(h);
ny=nx+nh-1;
Yk=Xk.*Hk
n=0:length(Xk)-1;
m=0:length(Hk)-1;
p=0:length(Yk)-1;
yn=ifft(Yk)
yt=conv(x,h)
figure(1);
subplot(3,1,1);
stem(n,Xk);
xlabel('nx');
ylabel('x(n)');
title('input signal');
subplot(3,1,2);
stem(m,Hk);
xlabel('nh');
ylabel('h(n)');
title('impulse response');
subplot(3,1,3);
stem(p,Yk);
xlabel('n');
ylabel('Yk');
title('Convoluted signal');
Output:
Yk =
1.0e+02 *
Columns 1 through 7
Columns 8 through 9
yn =
4 9 17 29 41 53 37 38 24
>>
input signal
50
x(n)
-50
0 1 2 3 4 5 6 7 8
nx
impulse response
20
h(n)
-20
0 1 2 3 4 5 6 7 8
nh
Convoluted signal
500
Yk
-500
0 1 2 3 4 5 6 7 8
n
Circular Convolution:
clear all
clc
x=[ 1 2 3 4 5 6];
h=[4 1 3 4];
nx=length(x);
nh=length(h);
ny=max(nx,nh);
Yk=Xk.*Hk
n=0:length(Xk)-1;
m=0:length(Hk)-1;
p=0:length(Yk)-1;
yn=ifft(Yk)
yt=conv(x,h)
figure(1);
subplot(3,1,1);
stem(n,Xk);
xlabel('nx');
ylabel('x(n)');
title('input signal');
subplot(3,1,2);
stem(m,Hk);
xlabel('nh');
ylabel('h(n)');
title('impulse response');
subplot(3,1,3);
stem(p,Yk);
xlabel('ny');
ylabel('Yk');
title('Convoluted signal');
Output:
Yk =
1.0e+02 *
yn =
41 47 41 29 41 53
yt =
4 9 17 29 41 53 37 38 24
input signal
50
x(n)
-50
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
nx
impulse response
20
h(n)
-20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
nh
Convoluted signal
500
Yk
-500
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
ny