Dari DFT menjadi FFT - te.ugm.ac.idte.ugm.ac.id/~risanuri/isyaratsystem/Dari DFT menjadi FFT.pdf ·...

7
Dari DFT menjadi FFT Dr. Eng. Risanuri Hidayat Jurusan Teknik Elektro FT UGM, Yogyakarta I. PENDAHULUAN Berikut akan dijelaskan Dekomposisi DFT sehingga menjadi FFT dengan algorithma Cooley and Tukey. II. PERSAMAAN DFT DFT mempunyai persamaan ...............................................................(1) Dengan x[n] adalah fungsi waktu dalam bentuk diskret, dan X[k] adalah transformasi fouriernya. Dan n = 0 1 2 .. N-1, serta k = 0 1 2 .. N-1. Persamaan (1) jika dijabarkan secara detail akan membentuk sebuah persamaan matriks seperti berikut ini, = ] 7 [ ] 6 [ ] 5 [ ] 4 [ ] 3 [ ] 2 [ ] 1 [ ] 0 [ ] 7 [ ] 6 [ ] 5 [ ] 4 [ ] 3 [ ] 2 [ ] 1 [ ] 0 [ . 77 8 67 8 57 8 47 8 37 8 27 8 17 8 07 8 76 8 66 8 56 8 46 8 36 8 26 8 16 8 06 8 75 8 65 8 55 8 45 8 35 8 25 8 15 8 05 8 74 8 64 8 54 8 44 8 34 8 24 8 14 8 04 8 73 8 63 8 53 8 43 8 33 8 23 8 13 8 03 8 72 8 62 8 52 8 42 8 32 8 22 8 12 8 02 8 71 8 61 8 51 8 41 8 31 8 21 8 11 8 01 8 70 8 60 8 50 8 40 8 30 8 20 8 10 8 00 8 X X X X X X X X x x x x x x x x W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W Gbr. 1 adalah bentuk diagram DFT dengan N=8. Anggap bahwa W N 0 = e 0 = 1, dan perkalian dengan angka 1 tidak perlu dilakukan. Dengan N=8 jumlah perkalian dan penjumlahan DFT murni berturut-turut adalah 56 dan 56. Di dalam berbagai buku tentang DFT dikatakan jumlah perkalian sama dengan N 2 . Namun jumlah itu dengan menyertakan perkalian dengan W N 0 (=1). Di sini perkalian dengan W N 0 dianggap tidak perlu (tidak dilakukan), sehingga jumlah perkaliannya adalah N 2 -N. Dari diagram dan/atau persamaan matriks, tampak pula bahwa jumlah penjumlahannya adalah juga N 2 -N.

Transcript of Dari DFT menjadi FFT - te.ugm.ac.idte.ugm.ac.id/~risanuri/isyaratsystem/Dari DFT menjadi FFT.pdf ·...

Dari DFT menjadi FFT

Dr. Eng. Risanuri Hidayat Jurusan Teknik Elektro FT UGM,

Yogyakarta

I. PENDAHULUAN Berikut akan dijelaskan Dekomposisi DFT sehingga menjadi FFT dengan algorithma Cooley and Tukey.

II. PERSAMAAN DFT DFT mempunyai persamaan

...............................................................(1)

Dengan x[n] adalah fungsi waktu dalam bentuk diskret, dan X[k] adalah transformasi fouriernya. Dan n = 0 1 2 .. N-1, serta k = 0 1 2 .. N-1. Persamaan (1) jika dijabarkan secara detail akan membentuk sebuah persamaan matriks seperti berikut ini,

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

]7[]6[]5[]4[]3[]2[]1[]0[

]7[]6[]5[]4[]3[]2[]1[]0[

.

778

678

578

478

378

278

178

078

768

668

568

468

368

268

168

068

758

658

558

458

358

258

158

058

748

648

548

448

348

248

148

048

738

638

538

438

338

238

138

038

728

628

528

428

328

228

128

028

718

618

518

418

318

218

118

018

708

608

508

408

308

208

108

008

XXXXXXXX

xxxxxxxx

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

Gbr. 1 adalah bentuk diagram DFT dengan N=8. Anggap bahwa WN

0 = e0 = 1, dan perkalian dengan angka 1 tidak perlu dilakukan. Dengan N=8 jumlah perkalian dan penjumlahan DFT murni berturut-turut adalah 56 dan 56. Di dalam berbagai buku tentang DFT dikatakan jumlah perkalian sama dengan N2. Namun jumlah itu dengan menyertakan perkalian dengan WN

0 (=1). Di sini perkalian dengan WN0 dianggap tidak

perlu (tidak dilakukan), sehingga jumlah perkaliannya adalah N2-N. Dari diagram dan/atau persamaan matriks, tampak pula bahwa jumlah penjumlahannya adalah juga N2-N.

Untuk mempermudah penjelasan, selanjutnya dipergunakan contoh dengan N=8.

00NW

07NW

10NW

70NW

60NW50

NW

40NW

30NW

20NW

77NW

67NW

57NW

47NW

37NW

27NW

17NW

Gambar 1.

Keterangan gambar,

00NWx[0]

Maksudnya adalah 00].0[ NWx

III. DEKOMPOSISI Persamaan (1) di atas dapat dibagi menjadi dua kelompok, yaitu kelompok genap dan kelompok ganjil,

sehingga persamaan menjadi seperti berikut,

………………………...(2)

…(3)

Untuk kelompok genap (even) n=2r, dan untuk kelompok ganjil (odd) n=2r+1. Ketika,

Maka (3) menjadi,

………..(4)

Jika dijabarkan, maka (4) adalah sebagai berikut,

[ ] [ ] [ ]

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

+

⎥⎥⎥⎥

⎢⎢⎢⎢

]7[]6[]5[]4[]3[]2[]1[]0[

*.

]7[]5[]3[]1[

.

]6[]4[]2[]0[

.

][.

]7[]5[]3[]1[

.

]6[]4[]2[]0[

.

78

68

58

48

38

28

18

08

374

274

174

074

364

264

164

064

354

254

154

054

344

244

144

044

334

234

134

034

324

224

124

024

314

214

114

014

304

204

104

004

374

274

174

074

364

264

164

064

354

254

154

054

344

244

144

044

334

234

134

034

324

224

124

024

314

214

114

014

304

204

104

004

83

42

414

04

34

24

14

04

XXXXXXXX

WWWWWWWW

xxxx

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

xxxx

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

kXW

xxxx

WWWW

xxxx

WWWW kkkkkkkkk

…………………………..(5) Catatan bahwa pada (5), perkalian dengan WN

k (W8k) adalah perkalian array/vektor. Sebagai contoh, di

MATLAB menggunakan operasi .* . Perkalian array A dan B dengan perintah A.*B adalah perkalian elemen-demi elemen dari vektor-vektor A dan B, menghasilkan vector dengan ukuran yang sama dengan vektor A atau B (seperti operasi penjumlahan). Vektor A dan B harus mempunyai ukuran yang sama, kecuali salah satunya adalah bilangan scalar.

Dapat dengan mudah dibuktikan bahwa, jika n dan k adalah integer (bilangan bulat), maka

)mod(2/2 NnkjNnkjrkN eeW ππ −− ==

Sehingga rk

NW di (5) dapat disederhanakan menjadi

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

]7[]6[]5[]4[]3[]2[]1[]0[

*.

]7[]5[]3[]1[

.

]6[]4[]2[]0[

.

78

68

58

48

38

28

18

08

334

234

134

034

324

224

124

024

314

214

114

014

304

204

104

004

334

234

134

034

324

224

124

024

314

214

114

014

304

204

104

004

334

234

134

034

324

224

124

024

314

214

114

014

304

204

104

004

334

234

134

034

324

224

124

024

314

214

114

014

304

204

104

004

XXXXXXXX

WWWWWWWW

xxxx

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

xxxx

WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

………………………….(6) Lihat matriks yang berisi W. Empat baris di bawah adalah sama dengan empat baris yang atas. Persamaan

(6) jika digambarkan dalam bentuk diagram adalah seperti Gbr 2. Di sini jumlah perkalian dan penjumlahan berturut-turut adalah (4x4x2)=32 dan (3x4x2 + 8)=32.

08W

18W

28W

38W

78W

68W

58W

48W

004W

334W

004W

334W

Gambar 2.

Telah kita ketahui dari (4) bahwa persamaan Transformasi Fourier terbagi menjadi dua kelompok, yaitu kelompok genap dan kelompok ganjil. Anggap bahwa fungsi genap x[2r] menjadi fungsi baru, katakanlah xe[r], dan fungsi ganjil x[2r+1] menjadi fungsi baru xo[r]. (subscript e berasal dari bahasa inggris even yang berarti genap, dan subscript o berasal dari bahasa inggris odd yang berarti ganjil). Dengan penjabaran seperti berikut,

]12[][]2[][+=

=rxrxrxrx

o

e

∑∑−

=

=

+=1

2

02/

12

02/ ][][][

N

r

rkNo

kN

N

r

rkNe WrxWWrxkX

[ ] [ ] [ ]][.

]3[]2[]1[]0[

..

]3[]2[]1[]0[

. 83

42

414

04

34

24

14

04 kXW

xxxx

WWWW

xxxx

WWWW k

o

o

o

o

kkkk

e

e

e

e

kkkk =

⎥⎥⎥⎥

⎢⎢⎢⎢

+

⎥⎥⎥⎥

⎢⎢⎢⎢

Kelompok genap dan kelompok ganjil masing-masing membentuk persamaan yang mirip sebagaimana (4). Sehingga masing-masing kelompok tersebut dapat di-dekomposisi sebagaimana langkah sebelumnya. Dengan penjabaran seperti berikut ini, maka persamaan TF dapat dikembangkan menjadi seperti (7).

∑∑−

=

=

+=1

2

02/

12

02/ ][][][

N

r

rkNo

kN

N

r

rkNe WrxWWrxkX

=

=

+

+14

0

4/

2/

14

0

4/

]12[

]2[

N

r

rkN

e

kN

N

r

rkN

e

Wr

x

WWr

x

⎟⎟⎟

⎜⎜⎜

+

+

=

=

14

0

4/

2/

14

0

4/

]12[

]2[

N

r

rkN

o

kN

N

r

rkN

o

kN

Wr

x

WWr

xW

⎟⎟⎟

⎜⎜⎜

⎛++

+++=

∑∑

∑∑−

=

=

=

=

14

04/2/

14

04/

14

04/2/

14

04/

]12[]2[

]12[]2[][

N

r

rkNo

kN

N

r

rkNo

kN

N

r

rkNe

kN

N

r

rkNe

WrxWWrxW

WrxWWrxkX

………………….(7)

[ ] [ ]

[ ] [ ] kk

o

okk

o

okk

k

e

ekk

e

ekk

WWxx

WWxx

WW

Wxx

WWxx

WWkX

841

20

212

02

412

02

12

02

..]3[]1[

.]2[]0[

.

.]3[]1[

.]2[]0[

.][

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

+⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡=

Gambar 3.

112

012

102

002

1

12

]1[]0[]1[

]1[]0[]0[

][][

WxWxX

WxWxX

WnxkXn

nk

+=

+=⇒

= ∑=

Dekomposisi seperti langkah di atas terus dilakukan hingga unit terkecil DFT untung panjang-2 terbentuk.

Sebuah DFT panjang 2 membentuk diagram kupu-kupu seperti terlihat pada Gbr 3. Gambar diagram dapat dilihat pada Gbr. 4. Terlihat bahwa tingkat kerumitan dalam hal jumlah perkalian

dan penjumlahan dapat dikurangi. Di sini jumlah perkalian dan penjumlahan berturut-turut adalah (2x2x2x2 + 4x2)=24 dan (2x2x2 + 4x2 +8)=24.

Inilah dekomposisi terkecil DFT untuk N=8.

14W

24W

04W

34W

14W

24W

04W

102W

102W

002W

112W

102W

102W

002W

112W

102W

102W

002W

112W

102W

102W 0

8W

18W

28W

38W

78W

68W

58W

48W

002W

112W

34W

Gambar 4.

Tabel 1 menunjukkan perbandingan jumlah operasi perkalian dan penjumlahan antara DFT langsung dengan setelah melalui dekomposisi menjadi FFT. Terdapat selisih penghematan operasi perkalian/penjumlahan yang signifikan pada FFT, sehingga operasi ini jauh lebih popular di banding DFT secara langsung.

Tabel 1. Perbandingan jumlah perkalian penjumlahan DFT dan FFT

Jumlah perkalian/penjumlahan N

DFT FFT

2 2/2 2/2

4 12/12 8/8

8 56/56 24/24

16 162-16/162-16 64/64

N N2-N/N2-N N.2logN /N.2logN

REFERENCE [1] ___________, “6. Fast Fourier Transform, http://www.eie.polyu.edu.hk/~enpklun/EIE327/FFT.pdf