Assignment 3 Matlab Code

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

8 Point DIT-FFT

MATLAB Code
clc

clear all
%xo = rand(1,8);
%xo = [1 2 3 4 5 6 7 8];
xo = [-1 0 2 0 -4 0 2 0];
xeo = zeros(1,8);
xeo(1:4) = xo(1:2:8);
xeo(5:8) = xo(2:2:8);
xeo = xeo';
W = exp(-j*(2*pi/8));
TF = zeros(8,8);
for k = 1:8
for n = 1:8
TF(k,n) = W^((k-1)*(n-1)); % Fixed the typo here
end
end
TF;
Ffour = zeros(4,4);
f = 1;
for c = 1:2:7
Ffour(:,f) = TF((1:4),c);
f = f+1;
end
Ffour
TFR = zeros(4,4);
I = [eye(4,4) eye(4,4);eye(4,4) -1*eye(4,4)];
for d = 1:4
TFR(d,d) = W^(d-1);
end
TFR
TFM = [eye(4,4) zeros(4,4);zeros(4,4) TFR];
FfourM = [Ffour zeros(4,4);zeros(4,4) Ffour];
X = I*TFM*FfourM*xeo;
[X conj(fft(xo,8)')]
Output:
Cooley Tukey:-
MATLAB Code:
x = rand(1,15);
X = fft(x,15);
I = zeros(3,5);
N = 15;
n1 = 5;
n2 = 3;
for i = 1:n2
for j = 1:n1
I(i,j) = x(n1*(i-1)+(j-1)+1);
end
end
I;
clear i
ICF = I;
for c = 1:5
ICF(:,c) = fft(I(:,c),3);
end
ICF;
T = zeros(3,5);
for b = 1:3
for j = 1:5
T(b,j) = exp(-i*(2*pi/15))^((b-1)*(j-1));
end
end
T;
B = ICF.*T;
ORF = B;
for r = 1:3
ORF(r,:) = fft(B(r,:),5);
end
O = ORF;
O(:);
[conj(X') O(:)]
Output:

You might also like