Disusun oleh:
MUH FAKHRI, S.T
19941002 201801 1 001
RUSTAMAJI, S.Si
19890322 201801 1 001
FITRIANA NUR HASANAH AP, S.T
19951216 201801 2 001
Dimana :
X(m) : komponen output DFT ke m (contohnya X(0), X(1), X(2), dst)
(6)
m = 1,2 dan 3 mempunyai penyelesaian seperti diatas. Setiap
nilai output X(m) adalah penjumlahan dari perkalian titik diantara
nilai input sinyal sekuens dan bentuk sinusoidal kompleks. Nilai
frekuensi dari gelombang sinusoidal berbeda bergantung pada
sampling rate (fs), samplingan sinyal awal, dan jumlah sample N.
Contohnya jika kita mensampling sinyal kontinyu dengan 500
sampel/detik, dilakukan dengan sampel data DFTE 16-titik, frekuensi
dasar gelombang sinusoidalnya adalah fs/N = 500/16 atau 31,25 Hz.
Frekuensi analisa yang lain adalah multipel integral dari frekuensi
dasar,
X(0) = frekuensi pertama = 0 · 31.25 = 0 Hz,]
X(1) = frekuensi kedua = 1 · 31.25 = 31,25 Hz,
X(2) = frekuensi ketiga = 2 · 31.25 = 62,5 Hz,
X(15) = frekuensi keenambelas = 15 · 31.25 = 468,75 Hz
Dari contoh perhitungan diatas, maka algoritma dari DFT
sebagai berikut:
a. Inisialisasi m = 0
b. Hitung 𝑥(𝑛)−𝑗2𝜋𝑛𝑚/𝑁 untuk n=0 sampai N-1
c. Jumlah perhitungan x(0) sampai x(N-1)
d. Ulangi langkah a sampai c untuk m yang berbeda, m=1 sampai
m=N-1
Dari grafik diatas terlihat ada dua komponen sinyal yaitu 50 Hz dan
120 Hz. Dan komponen derau sebesar 0.2.
clc;
clear;
%% Input Parameter
Fs=8000; % Frekuensi sampling[Hz]
Ts=1/Fs; % Periode sampling [s]
V=0.01; % Window Stop Time
%% Signal Generation
xn=sin(2*pi*f1*t); % Buat data x[n]
%% Signal Processing
N=2*length(xn); % Jumlah titik DFT
L=length(xn); % Hitung panjang data x(n)
D=abs(N-L); % Hitung beda panjang data
if N>L % Cek apakah N > L
x=[xn,zeros(1,D)]; % Zero padding
end
Na=length(xn); % Hitung kembali panjang data
x(n)
Xfe=zeros(1,Na); % Pre-alokasi vektor hasil DFT
Xfr=zeros(1,Na); % Pre-alokasi vektor hasil DFT
for n=0:N-1
for k=0:N-1
Xinv(n+1) = Xinv(n+1) + (1/N)*
Xfe(k+1)*exp(1j*2*pi*n*k/N);
end
end
%% Plot Section
figure(1);
subplot(2,2,1);
plot(f,abs(Xfe));
title('DFT bentuk exponential');
xlabel('Frekuensi [Hz]');
ylabel('Magnitude');
grid on;
subplot(2,2,2);
plot(f,abs(Xfr));
title('DFT bentuk rectangular');
xlabel('Frekuensi [Hz]');
ylabel('Magnitude');
grid on;
subplot(2,2,3);
plot(f,abs(fft(xn)));
title('Menggunakan FFT');
xlabel('Frekuensi [Hz]');
ylabel('Magnitude');
grid on;
figure(2)
subplot(2,1,1);
stem(xn);
title('Signal x[n]');
xlabel('Waktu [s]');
ylabel('Magnitude');
grid on;
subplot(2,1,2);
stem(real(Xinv));
title('Inverse DFT');
xlabel('Waktu [s]');
ylabel('Magnitude');
grid on;
Gambar 3 Sinyal dan Inverse DFT