Anda di halaman 1dari 12

MODUL PERKULIAHAN

Pengolahan Sinyal
Digital
Fast Fourier Transform Sinyal
Diskrit

Abstrak Sub-CPMK 3.2

Pada perkuliahan ini Mampu menjelaskan dan menganalisis


mahasiswa diharapkan dapat Fast Fourier Transform sinyal diskrit
menjelaskan dasar dari Fast
Fourier Transform, dapat
membedakan transformasi
Fourier dan Fast Fourier
Transform, Juga dapat
menguraikan dan
menghitung Fast Fourier
Transform waktu sinyal
diskrit

Fakultas Program Studi Tatap Muka Disusun Oleh

05
Oki Teguh Karya, S.Pd, M.T
Teknik Teknik Elektro
Pendahuluan
Pembahasan tentang Fast Fourier Transform atau yang berkutnya kita sebut dengan FFT, akan
sangat berkaitan dengan pembahasan sebelumnya yaitu DFT (Discrete Fourier Transform).
Mengapa hal ini muncul? Hal ini dikemukakan karena akan sangat terbatas jika kita melakukan
perhitungan DFT dengan banyak titik N dan k. Sehingga FFT muncul sebagai salah satu metode
menghitung DFT dengan titik N dan k dalam jumlah yang banyak.

Algoritma ini diajukan oleh Cooley dan Tukey, agar kita bisa menghitung DFT dengan lebih
efisien dan cepat, yang kemudian algoritma ini disebut dengan Fast Fourier Transform. Metode
FFT ini dapat dilakukan dalam domain waktu dan frekuensi, yang disebut desimasi-dalam-waktu
(decimation-in-time) dan desimasi-dalam-frekuensi (decimation-in-frequency).

Vandermonde Matrix
Namun sebelum masuk pada pokok pembahasan FFT, ada yang masih tersisa dari pembahasan
DFT pada modul sebelumnya, yang hal ini akan berkaitan dengan algoritma FFT, yaitu tentang
Vandermonde Matrix.

Seperti yang kita pelajari pada modul sebelumnya tentang DFT, kita bisa menghitung DFT
dengan formula berikut ini:

𝑋[𝑘] = 𝑋 𝑒 | = 𝑥(𝑛). 𝑒 (5.1)

Dengan nilai k =0,1,…,N-1

Dan untuk mendapatkan Kembali sinyal x(n) maka kita menggunakan formula invers atau
kebalikannya yaitu ; iDFT (invers DFT)

1
𝑥(𝑛) = 𝑋[𝑘]. 𝑒 (5.2)
N
Dengan nilai k =0,1,…,N-1

2021 Pengolahan Sinyal Digital


2 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Untuk menyederhanakan formula DFT dan iDFT diatas Jika didefinisikan sebuah notasi berikut
ini yang kemudian kita sebut dengan Twiddle Factor:

(5.3)
𝑊 =𝑒
Maka persamaan 5.1 dan 5.2 dapat kita tuliskan sebagai berikut:

𝑋[𝑘] = 𝑥(𝑛). W , 𝑘 = 0,1, … , 𝑁 − 1 (5.4)

1
𝑥(𝑛) = 𝑋[𝑘]. 𝑊 , 𝑘 = 0,1, … , 𝑁 − 1 (5.5)
N

Dengan penyederhanaan ini maka kita bisa menggunakan Vendermonde Matrix ketika akan
menyelesaikan DFT, dimana:

𝑿 = 𝑫 .𝒙 (5.6)
Dimana X adalah vector DFT yang terdiri dari N sampel, yaitu:

𝑿 = 𝑋[0] 𝑋[1] ⋯ 𝑋[𝑁 − 1]


𝑻
(5.7)

Sedangkan x adalah N vector masukan, yaitu

𝒙 = 𝑥(0) 𝑥(1) ⋯ 𝑥[𝑁 − 1]


𝑻
(5.8)

Serta 𝑫𝑵, adalah matrix N x N yang diberikan oleh

𝟏 𝟏 ⋯ 𝟏
⎡𝟏 𝑾𝑵 𝟏 ⎤
⎢𝟏 𝑾𝑵 𝟏 𝑾𝟐𝑵 ⋯ 𝑵 ⎥
𝟐(𝑵 𝟏)
𝑫 = ⎢𝟏 𝑾𝟐𝑵 𝑾𝟒𝑵 ⋯ 𝑾𝑵 ⎥ (5.9)
⎢⋮ ⋮ ⋮ ⋱ ⋮ ⎥
⎢ 𝟐(𝑵 𝟏) ⎥
⎣𝟏
𝑵 𝟏
𝑾𝑵 𝑾𝑵 ⋯ 𝑾(𝑵 𝟏) (𝐍 𝟏) ⎦
𝑵

2021 Pengolahan Sinyal Digital


3 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Begitu juga iDFT dapat direpresentasikan kedalam bentuk matriks sebagai berikut:

𝑥(0) 𝑿[𝟎]
𝑥(1) 𝑿[𝟏]
=𝑫 𝟏
(5.10)
⋮ ⋮
𝑥(𝑁 − 1) 𝑿[N − 1]

Dimana, 𝑫 𝟏
adalah Matriks sebagai berikut:

𝟏 𝟏 ⋯ 𝟏
⎡𝟏 𝟏 (𝑵 𝟏) ⎤
⎢𝟏 𝑾𝑵 𝑾𝑵𝟐 ⋯ 𝑾𝑵 ⎥
𝑫 𝟏
= ⎢𝟏 𝑾𝑵𝟐 𝑾𝑵𝟒 ⋯ 𝑾𝑵
𝟐(𝑵 𝟏) ⎥
(5.11)
⎢⋮ ⋮ ⋮ ⋱ ⎥
⎢ ⋮
(𝑵 𝟏) 𝟐(𝑵 𝟏) ⋯ 𝑾 (𝑵 𝟏) (𝐍 𝟏) ⎥
⎣𝟏 𝑾𝑵 𝑾𝑵
𝑵 ⎦
𝟏
Dari persamaan 5.11 diatas dapat dilihat bahwa 𝑫 𝟏
= . 𝑫∗
𝑵

Contoh 1: Diberikan 𝑥(𝑛) = {0 1 2 3} dan kita akan menghitung DFT dengan menggunakan
vandermonde matrix seperti pada persamaan 5.6, dimana matrix 𝑫 nya sebagai berikut:
𝑊 𝑊 𝑊 𝑊
⎡ ⎤
⎢𝑊 𝑊 𝑊 𝑊 ⎥
𝑫 =⎢ ⎥
⎢𝑊 𝑊 𝑊 𝑊 ⎥
⎣𝑊 𝑊 𝑊 𝑊 ⎦

Seperti yang kita ketahui pada persamaan 5.3 dan 5.4 maka

𝑊 =𝑒

Sehingga jika nilai N = 4 pada k=0 dan n=0 maka

𝑊 =𝑒 =1

Semua yang mengandung nilai 0 hasilnya akan = 1

1 1 1
⎡1 𝑊 𝑊 𝑊 ⎤
1
𝑫 =⎢ ⎥
⎢1 𝑊 𝑊 𝑊 ⎥
⎣1 𝑊 𝑊 𝑊 ⎦

Kemudian jika nilai N = 4 pada k=1 dan n=1 maka

.
𝑊 =𝑒 = −𝑗

2021 Pengolahan Sinyal Digital


4 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Kemudian jika nilai N = 4 pada k=1 dan n=2 maka

.
𝑊 =𝑒 = −1

Kemudian jika nilai N = 4 pada k=1 dan n=3 maka

.
𝑊 =𝑒 =𝑗
1 1 1
⎡1 −𝑗 𝑗 ⎤
1 −1
𝑫 =⎢ 𝑊

⎢1 𝑊 𝑊 ⎥
⎣1 𝑊 𝑊 𝑊 ⎦

Jika kita selesaikan semua k=2 dan 3 dari n=0,1,2,3 maka

1 1 1 1
1 −𝑗 −1 𝑗
𝑫 =
1 −1 1 −1
1 𝑗 −1 −𝑗

Maka kita bisa mulai kerjakan perhitungan DFT nya

𝑿 = 𝑫 .𝒙

1 1 1 1 0 6
1 −𝑗 −1 𝑗 1 −2 + 2𝑗
𝑫 = . =
1 −1 1 −1 2 −2
1 𝑗 −1 −𝑗 3 −2 − 2𝑗

Fast Fourier Transform Algorithm


Desimasi dalam Waktu (Decimation-in-Time)
Ketika membahas algoritma ini, maka kita akan asumsikan bahwa jumlah titik adalah 𝑁 =
2 dimana 𝑣 = 2,3,4, … pada prinsipnya algoritma ini memecah titik N-titik menjadi dua

bagian . Kemudian memecah menjadi dua bagian sehingga menjadi , begitu

seterusnya sampai hanya terdapat 1 titik.


Sebagai contoh kita lihat pada gambar 1 dibawah ini yang menunjukan desimasi 16 titik.
Jika kita perhatikan, dapat kita simpulkan jika kita memiliki N titik, maka untuk mencapai
tingkat dengan 1 titik adalah dengan menggunakan 𝐿𝑜𝑔 𝑁. Oleh karena itu jika N=16
berarti memerlukan 𝐿𝑜𝑔 16 = 4 tingkat untuk mencapai tingkat dengan 1 titik. Jika N=

2021 Pengolahan Sinyal Digital


5 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
512 maka memerlukan 𝐿𝑜𝑔 512 = 7 tingkat, jika N= 4096 maka memerlukan 12 tingkat
dan seterusnya.

Gambar 1. Desimasi untuk 16 Titik (N=16)

Gambar 1 merupakan cara yang pertama dalam melakukan desimasi dalam waktu, cara
yang kedua adalah dengan menggunakan representasi biner. Jika N=16 maka
representasi binernya adalah 4 bit. Langkah awal adalah dengan menyusun 0 – 15 dalam
bentuk biner 4 bit secara berurutan. Langkah kedua adalah dengan membalikan susunan
bit nya dari kiri kekanan, sebagai contoh, representasi biner 4-bit untuk decimal 1 adalah
0001. Maka ketika pada proses pembalikan kita tuliskan secara terbalik menjadi 1000 yang
ini menunjukan decimal 8. Contoh lain representasi biner 4-bit untuk decimal 3 adalah
0011. Maka ketika pada proses pembalikan kita tuliskan secara terbalik menjadi 1100 yang
menunjukan decimal 12. Maka kita bisa lihat pada gambar 2 dibawah ini

Gambar 2. Pembalikan bit untuk 16 titik.


2021 Pengolahan Sinyal Digital
6 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Maka jika kita perhatikan antara gambar 2 dan gambar 1, proses pembalikan bit pada
gambar 2 menghasilkan urutaan yang sama dengan tingkat 16 sinyal 1 titik pada gambar
1.

Mari kita masuk pada pembahasan konsep FFT yang juga disebut dengan metoda kupu –
kupu (Butterfly Method). Jika diberikan sebuah sinyal seperti berikut dibawah ini, maka kita
akan membagi dua menjadi urutan genap dan urutan ganjil.

Jika diberikan 𝑥(𝑛) ∶ {𝑥(0), 𝑥(1), 𝑥(2), … , 𝑥(𝑁 − 1)}

Maka Indeks genap : {𝑥(0), 𝑥(2), 𝑥(4), … , 𝑥(𝑁 − 2)}

Dan Indeks ganjil ∶ {𝑥(1), 𝑥(3), 𝑥(5), … , 𝑥(𝑁 − 1)}

Seperti yang kita ketahui formula DFT seperti pada persamaan 5.1 atau 5.4 maka dengan
menggunakan FFT kita dapat menulisakan formula yang sama namun terbagi dua bagian
yaitu n genap dan n ganjil.

𝑋[𝑘] = 𝑥(𝑛). W

Maka kita pecah menjadi dua bagian:

𝑋[𝑘] = 𝑥(𝑛). W + 𝑥(𝑛). W


(5.12)

Jika n (genap) kita tuliskan dengan 𝑛 = 2𝑟, maka untuk n (ganjil) kita dapat tuliskan
dengan 𝑛 = 2𝑟 + 1, maka persamaan 5.12 diatas dapat dituliskan ulang menjadi seperti
berikut:

. ( ). (5.13)
𝑋[𝑘] = 𝑥(2𝑟) W + 𝑥(2𝑟 + 1) W

Coba perhatikan pada

. 𝑟𝑘
W .
= (𝑊 )2𝑟𝑘 = 𝑒 = 𝑒 = 𝑒 / = 𝑊 / (5.14)

( ) 𝑟𝑘
W = (𝑊 )( )𝑘
= (𝑊 ) = (𝑊 ) . (𝑊 ) = 𝑊 / . (𝑊 ) (5.15)

2021 Pengolahan Sinyal Digital


7 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Maka jika persamaan 5.13 kita tulis ulang dengan detil dari persamaan 5.14 dan 5.15 maka

𝑟𝑘 𝑟𝑘 (5.16)
𝑋[𝑘] = 𝑥(2𝑟) . 𝑊 / + 𝑥(2𝑟 + 1) 𝑊 / . (𝑊 )

𝑟𝑘 𝑟𝑘 (5.17)
𝑋[𝑘] = 𝑥(2𝑟) . 𝑊 / + (𝑊 ) . 𝑥(2𝑟 + 1) 𝑊 /

DFT (N/2)-titik dari indeks genap DFT (N/2)-titik dari indeks ganjil

Dari persamaan 5.17 diatas, maka dapat disimpulkan bahwa untuk mendapatkan X[k]
adalah dengan menjumlahkan perhitungan DFT dengan periode N/2 pada indeks genap
dengan DFT periode yang sama juga yaitu N/2 pada indeks ganjil. Sehingga dapat kita
sederhanakan persamaan diatas menjadi

𝑋[𝑘] = 𝑋 [𝑘] + 𝑊 . 𝑋 [𝑘] (5.18)

Persamaan 5.18 jika direpresentasikan dalam bentuk gambar maka akan menjadi seperti
gambar berikut ini:

𝑋 [𝑘] 𝑋[𝑘] = 𝑋 [𝑘] + 𝑊 . 𝑋 [𝑘]

𝑊
𝑋 [𝑘]

Gambar 3. Ilustrasi dari proses perhitungan X[k] untuk periode k=0 sampai k=(N/2)-1

Karena persamaan pada 5.18 adalah dengan periode N/2 atau dari 𝑘 = 0 sampai dengan
𝑘 = ( − 1) yang artinya baru setengah dari N, maka kita harus menhitung periode sisa
nya dari 𝑘′ = sampai dengan 𝑘′ = 𝑁 − 1, atau kita bisa tuliskan

𝑋[𝑘 ′ ] = 𝑋 [𝑘 ′ ] + 𝑊 . 𝑋 [𝑘 ′ ] (5.19)

Dimana 𝑘 = 𝑘 + 𝑁/2 yang artinya periode sisa nya. Contoh jika k=1 pada N=8
maka k’=5, jika k=2 maka k’=6 dan seterusnya

Harus diperhatikan pada persamaan 5.19 dimana


/
𝑊 =𝑊 (5.20)

2021 Pengolahan Sinyal Digital


8 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Jika kita turunkan persamaan 5.20 pada persamaan dasar 𝑊 pada 5.3 maka didapatkan

𝑊 = (𝑊 ) = 𝑒
.
.
= 𝑒 . 𝑒
.
= 𝑒 . 𝑒
.
= 𝑒 . (−1)

=− 𝑒 = −𝑊 (5.21)

Yang artinya persamaan 5.19 menyebutkan bahwa

𝑋[𝑘 ′ ] = 𝑋 [𝑘 ] − 𝑊 . 𝑋 [𝑘 ] (5.22)

Jika direpresentasikan dalam gambar maka persamaan 5.22 ini dapat kita gambarkan
sebagai berikut

𝑋 [𝑘]

𝑋 [𝑘] −𝑊 𝑋[𝑘′] = 𝑋 [𝑘] − 𝑊 . 𝑋 [𝑘]

𝑵
Gambar 4. Ilustrasi dari proses perhitungan X[k’] untuk periode 𝒌 = sampai 𝒌 = 𝑵 − 𝟏
𝟐

Dengan demikian kita bisa gambarkan algoritma yang dibangun secara lengkap dengan
menggabungkan gambar 3 dengan gambar 4, seperti dibawah ini:

𝑋[𝑘] = 𝑋 [𝑘] + 𝑊 . 𝑋 [𝑘]


𝑋 [𝑘]
𝑊

𝑋 [𝑘] 𝑋[𝑘′] = 𝑋 [𝑘] − 𝑊 . 𝑋 [𝑘]


−𝑊

Gambar 5. Algoritma lengkap FFT

Mari kita cobakan dalam sebuah contoh kasus dengan N = 8, dengan FFT N/2
sehingga susunan input terbagi dua genap dan ganjil nya dimana input genap {0 2 4 6}
sedangkan input ganjil {1 3 5 7}

2021 Pengolahan Sinyal Digital


9 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Gambar 6. FFT Dekomposisi N/2 titik untuk N=8

Jika kita teruskan dekomposisi dengan N/4 maka akan menghasilkan komposisi seperti
berikut:

Gambar 7. FFT Dekomposisi N/4 titik untuk N=8

Perhatikan susunan input x(n) pada gambar 6 dan gambar 7 terlihat berbeda
susunannya. Jika pada dekomposisi N/2, susunan input genap {0 2 4 6} dan susunan
input ganjil {1 3 5 7}. Hal ini berbeda pada dekomposisi N/4 dimana susunan input

2021 Pengolahan Sinyal Digital


10 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
genap menjadi {0 4 2 6} dan susunan input ganjil menjadi {1 5 3 7} hal ini didapatkan
dari binary reversed atau pembalik biner

Desimal Biner 3-bit Binary reversed Desimal


0 000 000 0
1 001 100 4
2 010 010 2
3 011 110 6
4 100 001 1
5 101 101 5
6 110 011 3
7 111 111 7

Contoh 2 : jika diberikan sinyal x(n)= { 1 -1 -1 -1 1 1 1 -1 } lakukanlah operasi FFT


pada input ini dengan dekomposisi N/4

Sebelum kita mulai melakukan operasi ada baiknya kita menghitung Twiddle Factor 𝑊
sebagai berikut dimana N= 8 dengan k= 0 sampai dengan N-1

𝑊 =1 𝑊 = −𝑊 = −1

√2 𝑗√2 √2 𝑗√2
𝑊 = − 𝑊 = −𝑊 = − +
2 2 2 2
𝑊 = −𝑗 𝑊 = −𝑊 = 𝑗

√2 𝑗√2 √2 𝑗√2
𝑊 =− − 𝑊 = −𝑊 = +
2 2 2 2

Sebenarnya jika kita gambarkan dalam bentuk lingkaran maka akan terlihat seperti
lingkaran utuh dibagi 8

Gambar 7. Twiddle Factor untuk N = 8 diplottkan dalam lingkaran


2021 Pengolahan Sinyal Digital
11 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Langkah berikutnya memasukan input kedalam dekomposisi FFT N/4 dan menjalankan
operasi perhitungannya dan akan menghasilkan sebagai berikut:

Gambar 8. Hasil perhitungan FFT pada contoh 2

Daftar Pustaka
Kuc, R. (2008). Introduction to Digital Signal Processing (Re-Print 1st Edition,). BS Publications.

Proakis, J. G., & Manolakis, D. K. (2014). Digital Signal Processing (Fourth Edition). Pearson
Education Ltd.

Gunawan,D., Juwonon, F.H., (2011) Pengolahan Sinyal Digital dengan Pemrograman Matlab,
Graha Ilmu

2021 Pengolahan Sinyal Digital


12 Oki Teguh Karya, S.Pd, M.T
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

Anda mungkin juga menyukai