Discrete Fourier Transform DFT

Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009

2.6 Discrete Fourier Transform DFT

DFT merupakan perluasan dari transformasi Fourier yang berlaku untuk sinyal-sinyal diskrit dengan panjang yang terhingga. Semua sinyal periodik terbentuk dari gabungan sinyal-sinyal sinusoidal. Perumusannya sebagai berikut: ∑ − = − = 1 ] [ N n jkwon e n x k X 4 Keterangan: X[k] = koefisien DFT untuk nilai sampel sinyal xn N = Jumlah sampel yang akan diproses xn = Nilai sampel sinyal α α α sin cos j e j + = w o = frekuensi digital k = 0, 1, 2, 3, … , N-1 1.2 0.750 6 110 1.4 0.625 5 101 1.6 0.375 3 011 1.8 0.250 2 010 2.0 0.125 1 001 Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Karena w o merupakan frekuensi digital yang didefinisikan N w o π 2 = dan N j N e W 2 π − = sehingga persamaan dapat ditulis dalam persamaan ∑ − = = 1 ] [ N n kn N W n x k X 5 Dengan persamaan 5 , suatu sinyal suara dalam domain waktu dapat dicari frekuensi pembentuknya. Analisa Fourier pada data suara yaitu untuk mengubah data dari domain waktu menjadi data spektrum di domain frekuensi. Untuk pemerosesan sinyal suara, data pada domain frekuensi dapat diperoses dengan lebih mudah dibandingkan data pada domain waktu, karena pada domain frekuensi keras lemahnya suara tidak seberapa berpengaruh. Gambar 2.8 Sinyal sinus dalam domain waktu Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Gambar 2.9 Sinyal sinus dalam domain frekuensi Untuk mendapatkan spektrum dari sebuah sinyal dengan DFT diperlukan N buah sampel data berurutan pada domain waktu, yaitu data x[n] sampai dengan x[n+N-1]. Apabila data tersebut dimasukkan dalam fungsi DFT maka akan menghasilkan N buah data.

2.6.1 DFT dalam Bentuk Matriks

Dengan menerapkan DFT ke FFT, format DFT dapat dinyatakan dalam bentuk matriks. Bentuk umum DFT dalam bentuk matriks dinyatakan sebagai berikut: X N = W N .x n 6 Keterangan : X N = Koefisien DFT merupakan matriks N x1 W N = Matriks NxN disebut matriks DFT. x n = Input sinyal diskrit Nx1 Untuk NxN bentuk matriksnya dapat dilihat sebagai berikut: Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009                     − =                     =                     − − − − − − − ] 1 [ ... ... ] 2 [ ] 1 [ ] [ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ] 1 [ ... ... ] 2 [ ] 1 [ ] [ 1 1 1 2 1 1 2 4 2 1 2 1 N x x x x W W W W W W W W W W W W W W W W N X X X X N N N N N N N N N N N N N N N N N N N N N 2.7 Fast Fourier Transform FFT Perhitungan DFT secara langsung dalam komputerisasi dapat menyebabkan proses perhitungan yang sangat lama. Karena itu dibutuhkan cara lain untuk menghitung DFT dengan cepat. Hal itu dapat dilakukan dengan menggunakan algoritma FFT di mana FFT menghilangkan proses perhitungan yang kembar dalam DFT. Ada 2 dua jenis algoritma FFT yaitu algoritma Fast Fourier Transform Decimation In Time FFT DIT dan algoritma Fast Fourier Transform Decimation In Frequency FFT DIF. Di mana pada FFT DIT input disusundikelompokkan menjadi kelompok ganjil dan kelompok genap. Sedangkan pada FFT DIF input tetap tetapi output disusundikelompokkan menjadi kelompok ganjil dan kelompok genap. Jumlah sinyal sampel yang akan diinputkan ke dalam algoritma ini harus merupakan kelipatan 2 dua 2 N . Algoritma FFT dimulai dengan membagi sinyal menjadi dua bagian, dimana bagian pertama berisi nilai sinyal suara pada indeks waktu genap, dan sebagian yang lain berisi nilai sinyal suara pada indeks waktu ganjil. Bentuk rumusannya sebagai berikut: Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 ∑ − = = 1 ] [ N n kn N W n x k X 10 Persamaan 10 dibagi menjadi bagian genap dan ganjil sebagai berikut: ] [ ] [ ] [ n x W n x W k X ganjil n kn N genap n kn N ∑ ∑ + = untuk k=0,1,…,N-1 ∑ ∑ − = − = + = 1 1 2 2 N n nk N N r n nk N W n x W n x ∑ ∑ − = + − = + + = 1 1 2 1 2 2 1 2 2 N r k r N N r rk N W r x W r x 1 2 2 + = = = = r n ganjil n r n genap n Untuk : Visualisasi dari proses ini dapat dilihat pada Gambar 2.10. Setelah itu, akan dilakukan analisis Fourier untuk setiap bagiannya. + + = = − + − = = = = = = = ∑ ∑ − = − = − + ∗ − ∗ − ganjil DFT po N genap DFT po N W r x W W r x k X Jadi i e W W mana Yang W e e W W W N r rk N k N N r rk N i m m N m N kr N N kr i N kr i r k N rk N rk N int 2 int 2 1 2 2 : 1 2 sin 2 cos 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 π π π π π 11 Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Gambar 2.10 Skema proses decimation N2 points DFT[3] Analisis Fourier pada Gambar 2.10 merupakan proses penggabungan kembali sampel dalam susunan yang benar. Setelah itu, proses pembagian sinyal menjadi beberapa bagian yang lebih kecil dilakukan kembali dengan membagi N2 point DFT menjadi N4 points DFT. Proses pembagian dengan N4 point DFT dapat dilihat pada Gambar 2.11. Proses pembagian sinyal suara tersebut terus dilakukan sampai didapatkan dua seri nilai sinyal suara. Gambar 2.11 Skema proses decimation dengan N4 points DFT[3] Analisis Fourier melakukan N perkalian kompleks sehingga terdapat log 2 N langkah perkalian kompleks. FFT DIT telah mengurangi jumlah perkalian kompleks N 2 menjadi N log 2 N. Dalam jumlah N yang besar hal ini sangat menguntungkan, karena proses komputasi menjadi lebih cepat. Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Hasil dari proses FFT DIT ini adalah simetris index : 0 -N2-1,N2 -N-1. Oleh karena itu, umumnya hanya blok pertama saja yang akan digunakan dalam proses-proses selanjutnya. Pada FFT DIT proses pembagian sinyal menjadi beberapa bagian yang lebih kecil pada domain waktu akan menyebabkan input sampel disusun ulang. Langkah-langkah dari algoritma FFT DIT sebagai berikut: 1. Tentukan nilai N, yaitu pangkat dari 2 jumlah sampel yang akan diambil sebagai input sejumlah N-point DFT. 2. Hitung N2 two samples DFT. 3. Hitung N4 four samples DFT. 4. Hitung N8 eight samples DFT. 5. Lakukan langkah di atas sesuai dengan skema butterfly sampai semua sample dikombinasikan menjadi one samples DFT. Contoh 2.1 FFT DIT Untuk 8 point sinyal input mempunyai susunan sampel berurutan [0,1,2,3,4,5,6,7]. Tetapi setelah terjadi proses decimation, susunannya berubah menjadi N genap, lalu N ganjil [0,4,2,6,1,5,3,7]. Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Awalnya susunan yang baru terlihat acak dan tidak beraturan. Tetapi jika nila- nilai tersebut direpresentasikan ke dalam bentuk biner, maka susunannya akan terlihat dengan jelas. Seperti terlihat pada Tabel 2.3. DATA INPUT DATA INPUT DISUSUN ULANG Desimal Biner Biner Desimal 000 000 1 001 100 4 2 010 010 2 3 011 110 6 4 100 001 1 5 101 011 3 6 110 101 5 7 111 111 7 Untuk FFT 2 point dapat diperoleh dengan menjabarkan persamaan sebagai berikut: ] 1 [ ] [ ] [ 1 2 2 x W x W k X k k + = k=0,1 12 Jika nilai k = 0 dan k = 1 disubtitusi pada persamaan 10, maka akan diperoleh: ] 1 [ ] [ ] 1 [ ] [ ] [ 2 2 x x x W x W X k + = + = =   13 Tabel 2.3 Proses Data Disusun Ulang Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 ] 1 [ ] [ ] 1 [ ] [ ] 1 [ 1 1 2 2 x x x W x W X k − = + = =   14 Catatan: untuk 2 point 1 2 = W dan 1 1 2 − = W Ke dua persamaan 12 dan 13 dapat digambarkan suatu flowgraph, bentuk gambar flowgraph ini menyerupai kupu-kupu sehingga disebut dengan butterfly. Gambar 2.12 Butterfly dari 2 point FFT FFT untuk 2 point dapat dikonstruksikan dalam Tabel 2.4. Tabel 2.4 Konstruksi 2 point FFT Untuk transformasi 4 point FFT dari persamaan 11 subsitusikan nilai r = 0 dan r = 1 akan diperoleh persamaan 15. k n 1 2 W 2 W 1 2 W 1 2 W X[0] X[1] X[0]=X[0]+X[1] X[1]=X[0]-X[1] = X[0]-X[1] 1 -1 Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 ] 3 [ ] 1 [ ] 2 [ ] [ ] [ 2 4 4 4 2 4 4 k k k k k W x W W x W x W k X + + + = 15 Untuk k = 0,1,2 dan 3 Apabila nilai k disubtitusi, maka akan diperoleh: ] 3 [ ] 1 [ ] 2 [ ] [ ] [ 4 4 4 4 4 x W x W W x W x W X + + + = ] 3 [ ] 1 [ ] 2 [ ] [ ] 1 [ 2 4 4 1 4 2 4 4 x W x W W x W x W X + + + = ] 3 [ ] 1 [ ] 2 [ ] [ ] 2 [ 4 4 4 2 4 4 4 4 x W x W W x W x W X + + + = ] 3 [ ] 1 [ ] 2 [ ] [ ] 3 [ 6 4 4 3 4 6 4 4 x W x W W x W x W X k + + + = 16 di mana nilai 1 2 4 6 4 − = = W W dan 1 4 4 4 = = W W , Jadi persamaan 15 dapat dituliskan menjadi persamaan 16. ] 3 [ ] 1 [ ] 2 [ ] [ ] [ 4 4 4 x W x W x W x X + + + = ] 3 [ ] 1 [ ] 2 [ ] [ ] 1 [ 2 4 1 4 2 4 x W x W x W x X + + + = ] 3 [ ] 1 [ ] 2 [ ] [ ] 2 [ 4 2 4 4 x W x W x W x X + + + = ] 3 [ ] 1 [ ] 2 [ ] [ ] 3 [ 2 4 3 4 2 4 x W x W x W x X + + + = 17 Diagram FFT dengan N=4 dapat dilihat pada Gambar 2.11. vn merupakan input diskrit dan Vk merupakan output. vn = xn dan Vk = Xk yang terdapat pada rumus. Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Gambar 2.13 Diagram FFT 4-point Dengan menerapkan rumus-rumus: a. kr N r k N W W 2 2 = sebagai contoh: 2 4 W W = dan 1 2 2 1 W W = b. S N N N S N N S N W W W W − = = + 2 2 Untuk 2 N N W adalah: 1 sin cos 2 2 2 − = − + − = = = − − π π π π i e e W i N N i N N Butterfly-butterfly pada Gambar 2.12 dapat dimodifikasi menjadi bentuk seperti Gambar 2.14. Gambar 2.14 Modifikasi butterfly Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Dengan memanfaatkan format pada Gambar 2.12, FFT 4 point dapat digambarkan menjadi seperti Gambar 2.15. Gambar 2.15 Diagram dari 4 point FFT Karena 2 4 W W = pada stage satu merupakan FFT 2 point, sedangkan stage dua adalah FFT 4 point. Jika diperhatikan pada stage dua merupakan diagram FFT 2 point, maka FFT ini dapat direalisasikan dalam bentuk matriks Gambar 2.16 memperlihatkan FFT 8 point dalam bentuk konfigurasi ini dikenal dengan FFT DIT input disusundikelompokkan dulu, kelompok genap dan ganjil. Gambar 2.16 FFT DIT Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Contoh 2.2 FFT DIT Tentukan bentuk FFT dari sinyal diskrit x[n] = {0,1,2,3,3,2,1,0} dengan FFT DIT Jawab: Hitung dahulu faktu W: j W − = 1 4 1 2 4 − = W j W = 3 4 dan 1 8 = W 2 2 2 2 1 8 j W − = j W − = 2 8 2 2 2 2 3 8 j W − − = 1 4 8 − = W 2 2 2 2 5 8 j W + − = j W = 6 8 2 2 2 2 7 8 j W + = f[n] = x[2n] ={0,2,3,1} g[n]=x[2n+1]={1,3,2,0} Matriks 4 point F[k] dan G[k] disusun sebagai berikut:             + − − − =                         − − − − − − =             j j j j j j G G G G 3 1 3 1 6 2 3 1 1 1 1 1 1 1 1 1 1 1 1 1 ] 3 [ ] 2 [ ] 1 [ ] [ 1 4 = W             + − − − =                         − − − − − − =             j j j j j j F F F F 3 3 6 1 3 2 1 1 1 1 1 1 1 1 1 1 1 1 ] 3 [ ] 2 [ ] 1 [ ] [ Nurlaily : Pencocokan Pola Suara Dengan Algoritma FFT Dan DC, 2009. USU Repository © 2009 Gambar 2.17 FFT DIT contoh 2.2 12 6 6 ] [ ] [ ] [ 8 = + = + = G W F X j j j j G W F X 2 1 2 2 3 3 1 2 2 2 2 3 ] 1 [ ] 1 [ ] 1 [ 1 8 − − +       − − = − −         − + − − = + = ] 2 [ ] 2 [ ] 2 [ 2 8 = − + = + = j G W F X j j j j G W F X 2 1 2 2 3 3 1 2 2 2 2 3 ] 3 [ ] 3 [ ] 3 [ 3 8 − +       + − = + −         − − + + − = + = 6 6 ] [ ] [ ] 4 [ 8 = − = − = G W F X j j j j G W F X 2 1 2 2 3 3 1 2 2 2 2 3 ] 1 [ ] 1 [ ] 5 [ 1 8 + − +       + − = − −         − − − − = + = ] 2 [ ] 2 [ ] 6 [ 2 8 = − − = − = j G W F X j j j j G W F X 2 1 2 2 3 3 1 2 2 2 2 3 ] 3 [ ] 3 [ ] 7 [ 3 8 + +       − − = + −         − − − + − = + =

2.8 Divide and Conquer DC