2.5. DFT dan FFT
DFT Discrete Fourier Transform adalah suatu bentuk transformasi yang umum digunakan untuk mengubah sinyal dari domain waktu menjadi sinyal domain frekuensi. DFT
dapat dituliskan dalam persamaan [12]:
[ ] = [ ]
2.4
dengan k = 0, 1, …, N-1, X [k] adalah runtun keluaran domain frekuensi, x [n] adalah runtun masukan domain waktu, N adalah jumlah sampel,
adalah , nilai x dan X adalah
nilai bilangan kompleks, variabel j adalah satuan imajiner, dan nilai adalah primitive
n-th root of unity. FFT Fast Fourier Transform merupakan pengembangan dari komputasi dengan
menggunakan DFT dengan cepat dan efisien. Perhitungan DFT secara langsung akan membutuhkan operasi aritmatik sebanyak O N
2
sedangkan perhitungan dengan FFT akan membutuhkan operasi sebanyak O NlogN.
FFT merupakan turunan dari persamaan DFT jumlah perhitungan digital pada DFT dapat dikurangi secara signifikan sehingga dengan adanya penemuan FFT, maka
perhitungan digital terhadap spektrum-spektrum frekuensi dapat diwujudkan secara sederhana dalam implementasinya.
FFT biasanya diimplementasikan dengan cara memanfaatkan faktorisasi dari N jumlah sampel yang ditransformasikan dan juga bahwa
adalah primitive n-th root of unity. Algoritma yang terkenal salah satunya adalah algoritma FFT Cooley-Tukey.
Algoritma ini menggunakan skema Divide and Conquer yang memecah N secara rekursif menjadi dua buah DFT.
Algoritma FFT Cooley-Tukey yang paling sederhana adalah radix-2 Decimation In Time. Radix-2 yang dimaksud adalah pembagian N menjadi dua buah DFT yang sama
panjang dibagi dua, sehingga dinamakan radix-2. Secara umum, N bisa difaktorisasi menjadi N
1
x N
2
. Jika nilai N
1
yang menjadi radix, maka algoritmanya dinamakan Decimation In Time DIT. Sedangkan jika N
2
yang dijadikan radix, maka algoritmanya dinamakan Decimation In Frequency DIF. Dalam pemrosesan sinyal digital dikenal
butterfly digunakan untuk mendeskripsikan decimation tersebut dalam FFT. Hasil proses FFT sinyal suara gitar bass diperlihatkan pada Gambar 2.9.
Gambar 2.9. Hasil FFT dari Gambar 2.8
Contoh perhitungan FFT 2 dan 4 titik: a.
Dalam suatu sinyal memiliki nilai x n = {1, 3} dan berapakah x k? b.
Dalam suatu sinyal memiliki nilai x n = {1, 2, 3, 4} dan berapakah x k? Metode yang akan digunakan untuk menghitung dua persoalan yang di atas adalah
dengan metode radix-2 Decimation In Time.
FFT 2 titik: x n = {1, 3} dan x k = ?
x n x k
x 0 = 1 1
4
x 1 = 3 -2
-1 Gambar 2.10. Contoh Perhitungan FFT 2 Titik Menggunakan Butterfly
Perhitungannya sebagai berikut: x 0 = 1 + 3 = 4
x 1 = -3 + 1 = -2
x k = {4, -2}
50 100
150 200
250 300
5 10
15 20
25 30
35 40
45 50
Frekuensi Hz Am
pl itu
do
FFT 4 titik: x n = {1, 2, 3, 4} dan x k = ?
x n x k
x 0 = 1 1
4 4
S x 0 = 10
x 2 = 3 -2
-2 S
1
x 1 = -2 + 2j -1
x 1 = 2 1
6
= 1
S
2
x 2 = 2
6
×
1 = 6
-1 x 3 = 4
-2
=
S
3
x 3 = -2 - 2j -1
-4 + 2j = 2j
-1 Gambar 2.11. Contoh Perhitungan FFT 4 Titik Menggunakan Butterfly
Perhitungannya sebagai berikut: S
= x 0 + x 2 = 1 + 3 = 4 x 0 = S
+ S
2
= 4 + 6 = 10 S
1
= x 0 - x 2 = 1 – 3 = -2 x 1 = S
1
+ S
3
= -2 + 2j S
2
= [x 1 + x 3] = 2 + 4 × 1 = 6
x 2 = S - S
2
= 4 – 6 = -2 S
3
= [x 1 - x 3] = 2 – 4 × -j = 2j
x 3 = S
1
- S
3
= -2 - 2j
x k = {10, -2 + 2j, -2, -2 – 2j}
2.6. Harmonic Product Spectrum HPS