Upload
dodang
View
230
Download
0
Embed Size (px)
Citation preview
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