TA 20182
#Kuliah 07
01/04/2019
q FFT (Fast Fourier Transform) adalah teknik perhitungan cepat dari DFT memanfaatkan sifat
periodikal dari transformasi fourier.
q Perhatikan definisi dari DFT :
N
F (k ) = ∑ f (n).e − j 2πknT / N (7.1)
n =1
N N
F (k ) = ∑ f (n) cos( 2πnkT / N ) − j ∑ f (n) sin( 2πnkT / N ) (7.2)
n =1 n =1
Fast Fourier Transform
FFT 1D
Nilai fungsi cosinus untuk setengah bagian bila dilihat Nilai fungsi sinus untuk setengah periode adalah
dari kiri dan setengah bagian dari kanan akan sama,
atau dapat dikatakan bahwa nilai fungsi cosinus untuk kebalikan dari nilai setengah periode sebelumnya,
setengah periode adalah kebalikan horisontal (shift) atau dapat dituliskan bahwa .
dari nilai setengah periode sebelumnya, atau dapat
dituliskan bahwa sin(x+T/2) = -sin(x), u ntuk 0<x<T/2
cos(T/2-x) = -cos(x), u ntuk 0<x<T/2
Fast Fourier Transform
FFT 1D
Nilai fungsi cosinus untuk setengah bagian bila dilihat Nilai fungsi sinus untuk setengah periode adalah
dari kiri dan setengah bagian dari kanan akan sama,
atau dapat dikatakan bahwa nilai fungsi cosinus untuk kebalikan dari nilai setengah periode sebelumnya,
setengah periode adalah kebalikan horisontal (shift) atau dapat dituliskan bahwa .
dari nilai setengah periode sebelumnya, atau dapat
dituliskan bahwa sin(x+T/2) = -sin(x), u ntuk 0<x<T/2
cos(T/2-x) = -cos(x), u ntuk 0<x<T/2
q Fast F ourier Transform merupakan standar dalam analisis sinyal karena memiliki banyak manfaat
dan tepat guna.
Contoh penerapan:
ü Mekanika
ü Instrumentasi
ü Pengolahan sinyal, etc.
q Kesepakatan (secara matematika) bahwa tampilan FFT berupa frekuensi - & + dengan amplitude
dibagi dua dari sinyal awalnya. Misal, sinyal dengan f=12 Hz dan A=6 maka
q Dalam mencari koefisien-koefisien DFT, proses perhitungannya akan melibatkan sederetan data
dalam jumlah yang cukup besar. Sebagai contoh perhitungan DFT untuk N titik data ril memerlukan
𝑁 " perkalian. Ini berarti untuk mentransformasi sebanyak 4096 titik data akan membutuhkan sekitar
33 juta perkalian
q Pada tahun 1965 situasi ini kemudian diganti secara dramatis dengan adanya publikasi algoritma
Fast Fourier Transform (FFT) oleh Cooley dan Tukey (1965). Algoritma FFT lebih efisien dan untuk
menghitung FFT yang berbentuk data ril hanya dibutuhkan sekitar (𝑁
𝑙𝑜𝑔" 𝑁)/2 perkalian.
q Sebagai contoh, jika N=1024, maka prhitungan dengan algoritma DFT akan membutuhkan 𝑁 " = 1.0
58.576 perkalian. Sedangkan algoritman FFT hanya memebutuhkan {1024(𝑙𝑜𝑔" 1024)}/2=5120
perkalian.
Transformasi Fourier dengan FFT
q Seiring dengan perkembangan sains, algoritma dasar FFT mengalami perbaikan dan batsan, salah
satunya yaitu jumlah titik data harus merupakan bilangan bulat dari dua pangkat n (2+ ) dimana n a
dalah bilangan bulat. Sebagai contoh, 16 titik data dapat dibagi menjadi dua susunan (masing-masin
g susunan sebanyak 8 titik data), empat susunan (masing-masing susunan sebanyak 4 (titik), dan te
rakhir 8 susunan (masing-masing susunan sebanyak 2 titik data).
q Tinjau sebuah sinyal deret waktu (continuous time) dengan transformasi Fourier 𝑋[𝜔]. Jika diasumsi
kan 𝑥 𝑡 = 0 untuk t<0 maka transformasi Fourier 𝑋 𝜔 dari 𝑥(𝑡) dapat dinyatakan sebagai:
∞
X [ω ] = ∫ x[t ]e − jwt dt (7.3)
0
Transformasi Fourier dengan FFT
q Misalkan Γ adalah suatu bilangan ril positif dan misalkan N adalah bilangan bulat positif.Selanjutnya
dapat ditunjukka bahwa dengan menggunakan algoritma FFT, maka 𝑋 𝜔 dapat dihitung untuk interv
al 𝜔 = 𝑘Γ, dimana k =0, 1, 2, …, N-1,
q Dengan memasukkan sebuah bilangan positif T, maka integral dalam pers. (7.3) dapat dituliskan m
enjadi
∞ nT +T
(7.4)
X [ω ] = ∑ ∫ x(t )e − jwt dt
n =0 nT
q Apabila T dipilih dengan nilai ng cukup kecil, maka perubahan x[t] pada setiap interval 𝑛𝑇 ≤ 𝑡 ≤ 𝑛𝑇
+T (T-sekon) juga menjadi kecil. Akinatnya penjumlahan persamaan (7.4) dapat didekati dengan
∞ ⎛ nT +T − jwt ⎞
X [ω ] = ∑ ⎜ ∫ e dt ⎟ x[nT ]
⎜
n = 0 ⎝ nT
⎟ (7.5)
⎠
Transformasi Fourier dengan FFT
1 − e − jωt ∞
− jωt
= ∑e x[nT ] (7.6)
jω n =0
q Selanjutnya anggap bahwa untuk suatu bilangan bulat positif N yang cukup besar maka magnitude |
𝑥[𝑛𝑇]| menjadi kecil untuk semua bilangan bulat 𝑛 ≥ 𝑁. Dengan demikian, maka persamaan 7.6 pad
a saat 𝜔 = 2𝜋𝑓/𝑁𝑇 maka persamaan ini akan diperoleh hasil
− j 2π f / N N −1
⎡ 2π f ⎤ 1 − e − j 2π fn / N
X ⎢ ⎥⎦ = j 2π k / NT ∑e x[nT ] (7.7)
⎣ NT n =0
Transformasi Fourier dengan FFT
q Misalkan 𝑋[𝑓] adalah variable yang menyatakan N titik DFT dari sampel sinyal 𝑥 𝑡 = 𝑥[𝑡𝑇],maka def
ensii DFT akan diperoleh:
N −1
X [ f ] = ∑ x[t ] e − j 2π ft / N , f = 0,1, 2,...N − 1 (7.8)
t =0
1 − e − jf ΓT
X [ f Γ] = X[ f ] , f = 0,1, 2,...N − 1 (7.10)
jk Γ
Transformasi Fourier dengan FFT
q Pers. (7.10) mengindikasikan bahwa dengan menghitung terlebih dahulu X[𝑓] lewat algoritma F FT
maka spektrum 𝑋[𝑓Γ] dapat dikomputasi (f=0,1,2,…N-1)
q Perlu ditekankan bahwa pers. (2.27) merupakan pendekatan, sehingga nilai X[𝜔] yang dikomputasi
dengan menggunakan persamaan ini adalah nilai pendekatan. Keakuratan yang lebih baik dapat di
peroleh dengan mengambil nilai interval sampling T yang lebih kecil dan atau mengambil nilai N
lebih besar. Jika spektrum amplitudo |𝑋[𝜔]| bernilai sangat kecil untuk 𝜔 > 𝐵, maka pemilahan unttu
k T yang baik merupaka interval sampling 𝜋/𝐵 yang tidak lain dengan frekuensi samping Niquist
𝜔A = 2𝐵
q Jika sinyal diebrikan hanya merupaka interval waktu 0 ≤ 𝑡 ≤ 𝑡B,maka N tetap dipilh sebesar yag diin
ginkan dengan memasukan sinyal tersampel 𝑥 𝑡 = 𝑥[𝑡Γ]. Sinyal ini akan berniali Nol untuk 𝑡𝑇 > 𝑡 B
Terima Kasih
UHO BISA
JAGAD KITA
Program FFT % ===========================
% Implementasi FFT pada fungsi gelombang
gergaji
% ===========================
N=input('jumlah data N=');;
% Masukan jumlah data N
T=input('perioda gelombang T=');;
% Masukkan nilai periode T
% Komputasi untuk X[w] pendekatan
t=0:T:2;;
xt=[t-1 zeros(1,N-length(t))];;
Xf=fft(xt);;
gam=2*pi/N/T;;
k=0:10/gam;; % untuk tujuan plot
Xapp=(1-exp(-j*k*gam*T))/j/k/gam*Xf
plot(k*gam,abs(Xapp(1:length(k))))
% end of program
% created by: La Hamimu @2004
% ===========================