• Tidak ada hasil yang ditemukan

PROGRAM PEMBANDING KINERJA DISCRETE FOURIER TRANSFORM DAN DECIMATION IN TIME FAST FOURIER TRANSFORM TUGAS AKHIR

N/A
N/A
Protected

Academic year: 2021

Membagikan "PROGRAM PEMBANDING KINERJA DISCRETE FOURIER TRANSFORM DAN DECIMATION IN TIME FAST FOURIER TRANSFORM TUGAS AKHIR"

Copied!
117
0
0

Teks penuh

(1)

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh:

Nama : Venantius Andika NIM : 035114033

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2008

(2)

FINAL PROJECT

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

By:

Name : Venantius Andika Student Number : 035114033

ELECTRICAL ENGINEERING STUDY PROGRAM

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SAINS AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2009

(3)
(4)
(5)

v

“Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain,

kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.”

Yogyakarta, Januari 2009

(6)

vi

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Venantius Andika

Nomor Mahasiswa : 035114033

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :

PROGRAM PEMBANDING KINERJA DISCRETE FOURIER TRANSFORM DAN

DECIMATION IN TIME FAST FOURIER TRANSFORM

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya. Dibuat di Yogyakarta

Pada tanggal : 24 Januari 2009 Yang menyatakan

(7)

Kupersembahkan karya tulis ini kepada :

Tuhan Yesus Kristus Pelindungku,

Ayahnda dan Ibunda Tercinta,

Kedua saudaraku Lintaka dan Yangkara yang kucintai,

Kekasihku Linda tersayang, dan

Almamaterku Teknik Elektro USD

(8)

Sukses adalah aku Aku adalah sukses

(Jennie S.Bev)

Lebih baik bertempur dan kalah dari pada tidak pernah bertempur sama sekali.

Terlanjur pasang langkah ke depan Pantang rasanya surut ke belakang

(Steven & Coconuttreez)

Langkah terbaik untuk memprediksi masa depan Adalah dengan

Menciptakan masa depan itu sendiri (Peter Drucker)

(9)

(DITFFT). Program membandingkan kinerja DFT dan DITFFT dalam hal kecepatan proses perhitungan dan jumlah adder dan multiplier.

Program ini menggunakan dua masukan, masukan manual dan masukan sinyal yang berekstensi *.wav. Dalam program ini, masukan manual merupakan aplikasi tambahan. Program utama adalah masukan sinyal. Program akan membatasi sinyal masukan, sesuai dengan jumlah N-poin yang dimasukkan pengguna. Sinyal ini kemudian akan dihitung dengan menggunakan perhitungan DFT dan DITFFT.

Program pembanding kinerja DFT dan DITFFT telah diamati dan diuji. Kinerja DFT dan DITFFT diamati dari kecepatan proses perhitungan. Hasil yang diperoleh adalah bahwa proses DITFFT lebih cepat dibandingkan dengan DFT. Hal ini disebabkan karena jumlah adder dan multiplier DITFFT lebih sedikit. Kata kunci : discrete fourier transform, decimation in time fast fourier transform,

adder, multiplier.

   

(10)

Transform (DITFFT). The program compares the performance of DFT and DITFFT in terms of computation process speed and the amount of adder and multiplier.

This program used two inputs, manual input and signal input with *.wav extension. In this program, the manual input in an additional application. The main program is the signal input. The program will limit the input signal, according to the amount of N-point which has been inputed by the user. This signal will then be calculated by using a computation of DFT and DITFFT.

The performance comparator program of DFT and DITFFT had been observed. The result is that the DITFFT process is faster than the DFT. It is caused by the fewer amount of adder and multiplier of the DITFFT.

Keyword : discrete fourier transform, decimation in time fast fourier transform,

adder, multiplier.

   

(11)

Anugerah-Nya penulis akhirnya dapat menyelesaikan tugas akhir ini dengan baik dan lancar.

Dalam proses penulisan tugas akhir ini penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya masing-masing sehingga tugas akhir ini dapat terselesaikan. Oleh karena itu penulis ingin mengucapkan terima kasih antara lain kepada :

1. Tuhan Yesus atas penyertaan dan perlindungan - Nya.

2. Bapak Ir. Greg. Heliarko, SJ., B.ST., MA., M.Sc, selaku dekan fakultas teknik. 3. Bapak Damar Wijaya, S.T., M.T., selaku pembimbing atas bimbingan, dukungan,

saran dan kesabaran bagi penulis dari awal sampai tugas akhir ini bisa selesai. 4. Bapak Martanto, S.T., M.T., dan Ibu Wuri Harini, S.T., M.T., selaku penguji

yang telah bersedia memberikan kritik dan saran.

5. Seluruh dosen teknik elektro atas ilmu yang telah diberikan selama penulis menimba ilmu di Universitas Sanata Dharma.

6. Ayahnda dan Ibunda tercinta atas kasih sayang, semangat, doa, dan dukungan secara moril maupun materiil, serta dorongan untuk segera menyelesaikan Tugas Akhir ini.

7. Kedua saudaraku, Lintaka dan Yangkara atas dukungan, cinta, dan bantuan yang sangat berguna.

8. Natalia Desti Nurlinda yang selalu menyayangi, membantu, dan menemani disaat kebosanan melanda.

(12)

10. Teman-teman elektro yang sudah meninggalkanku: Didit, Dian, Alex, Sukur serta teman-teman angkatan 2003 dan 2004 yang selalu berbagi ilmu dan pengalaman kuliah.

11. Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir ini yang terlalu banyak jika disebutkan satu-persatu.

Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima kasih.

Yogyakarta, Januari 2009

Penulis

(13)

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN... iv

HALAMAN PERNYATAAN KEASLIAN... v

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ...vi

HALAMAN PERSEMBAHAN...vii

HALAMAN MOTTO...viii

INTISARI………...ix

ABSTRACT………...x

KATA PENGANTAR………..xi

DAFTAR ISI... xiii

DAFTAR GAMBAR... xv

DAFTAR TABEL………xvii

DAFTAR CONTOH………..xviii

BAB I PENDAHULUAN 1.1 Judul ... 1

1.2 Latar Belakang Masalah... 1

1.3 Tujuan dan Manfaat Penelitian ... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 3

1.6 Sistematika Penulisan ... 3

BAB II DASAR TEORI 2.1 Deret Fourier ... 5

2.2 Transformasi Fourier... 6

2.3 Discrete Fourier Transform (DFT) ... 8

2.3.1 Sifat-sifat dari DFT ... 13

   

(14)

BAB III PERANCANGAN PROGRAM PEMBANDING KINERJA DFT DAN DITFFT

3.1 Algoritma Perancangan program ... 25

3.2 Perancangan Tampilan Awal ... 26

3.3 Pemberian Masukan... 27

3.3.1 Masukan Manual... 27

3.3.2 Masukan Sinyal... 29

3.3.2.1 Masukan N-poin... 30

3.3.3 Proses Radix 2... 31

3.4 Proses Penampilan Sinyal dan Waktu Proses DFT dan DITFFT ... 33

3.4.1 Perhitungan DFT... 34

3.4.2 Perhitungan DITFFT... 36

3.5 Proses Penghitungan Jumlah Adder dan Multiplier untuk DFT dan DITFFT ... 38

3.6 Layout Program ... 39

BAB IV HASIL DAN PEMBAHASAN 4.1 Tampilan Program ... 44

4.1.1 Masukan Manual... 48

4.1.2 Masukan Sinyal dengan Data chimes.wav ... 50

4.2 Perbandingan Kinerja Proses DFT dan DITFFT ... 54

BAB V PENUTUP Kesimpulan ... 59 DAFTAR PUSTAKA LAMPIRAN     xiv

(15)

Gambar 2.1 (a) x(nT) berbanding dengan t, (b) |X(k)| berbanding dengan kΩ,

dan (c) Ф(k) berbanding dengan kΩ ... 12

Gambar 2.2 Butterfly FFT ... 22

Gambar 2.3 Butterfly untuk 8-poin DFT ... 22

Gambar 3.1 Algoritma perancangan program ... 25

Gambar 3.2 Layout program tampilan awal ... 26

Gambar 3.3 Diagram alir layout tampilan awal ... 27

Gambar 3.4 Diagram alir proses masukan manual... 28

Gambar 3.5 Diagram alir proses pemberiasn masukan sinyal ... 29

Gambar 3.6 Diagram alir proses pemberian masukan N-poin ... 30

Gambar 3.7 Diagram alir proses Radix 2 ... 32

Gambar 3.8 Diagram alir penampilan sinyal dan waktu proses DFT dan DITFFT ... 33

Gambar 3.9 Diagram alir perhitungan DFT ... 35

Gambar 3.10 Diagram alir perhitungan Butterfly... 36

Gambar 3.11 Diagram alir perhitungan jumlah adder dan multiplier DFT dan DITFFT... 39

Gambar 3.12 Layout Program ... 40

Gambar 4.1 Tampilan halaman pembuka program ... 44

Gambar 4.2 Tampilan program utama... 45

Gambar 4.3 Tampilan penyimpanan data... 46

Gambar 4.4 Tampilan Submenu Bantuan ... 46

Gambar 4.5 Message Box keluar program ... 47

Gambar 4.6 Tampilan Waitbar... 47

   

(16)

Gambar 4.11 Gambar panel masukan sinyal... 50

Gambar 4.12 Tampilan pengambilan data berekstensi *.wav... 51

Gambar 4.13 Tampilan masukan... 52

Gambar 4.14 Pesan kesalahan ... 53

Gambar 4.15 Keluaran ... 54

Gambar 4.16 Grafik perbandingan waktu proses DFT dan DITFFT ... 56

Gambar 4.17 Grafik perbandingan jumlah adder DFT dan DITFFT... 57

Gambar 4.18 Grafik perbandingan jumlah multiplier DFT dan DITFFT ... 57

   

(17)

Tabel 2.1 Struktur dari 8 poin FFT ... 18

Tabel 3.1 Bit Reversed untuk N = 8 ... 38

Tabel 4.1 Hasil waktu proses DFT dan DITFFT ... 55

Tabel 4.2 Jumlah Adder dan Multiplier untuk DFT dan DITFFT ... 56

ix   

(18)

Tabel 2.1 Struktur dari 8 poin FFT ... 18

Tabel 3.1 Bit Reversed untuk N = 8 ... 38

Tabel 4.1 Hasil waktu proses DFT dan DITFFT ... 55

Tabel 4.2 Jumlah Adder dan Multiplier untuk DFT dan DITFFT ... 56

                                                              xvii

(19)

Contoh 1 Perhitungan DFT………9 Contoh 2 Perhitungan DITFFT……….………...23

   

(20)

PENDAHULUAN

1.1 Judul

Program Pembanding Kinerja Discrete Fourier Transform dan Decimation In

Time Fast Fourier Transform

1.2 Latar Belakang Masalah

Metode pembelajaran dalam DSP (digital signal proccessing) telah mengalami berbagai macam perubahan dari tahun ke tahun, diawali dari metode kuliah saja hingga perkuliahan dengan proses pembelajaran yang terintegrasi dengan kegiatan laboratorium (teori dan praktek) dan dengan isu-isu yang diajarkan menggunakan perangkat keras DSP. Agar pembelajaran DSP menjadi efektif, maka komponen pembelajaran harus mampu memanfaatkan secara intensif penjelasan, pemberian contoh dan latihan yang berbasis komputer dan teknologi informasi[1].

Discrete Fourier Transform (DFT) merupakan salah satu pokok bahasan dalam

mata kuliah DSP yang harus dijelaskan secara efektif dan efisien karena deretan data yang akan ditransformasikan bisa sangat banyak. DFT adalah suatu algoritma komputasi yang mempunyai fungsi mengubah sinyal dari domain waktu menjadi domain frekuensi. Algoritma komputasi lain yang mempunyai fungsi sama tetapi

(21)

mempunyai kinerja yang berbeda dengan DFT yaitu Decimation In Time Fast

Fourier Transform (DITFFT).

Dewasa ini kebutuhan akan kecepatan dalam mengolah data sangat diperlukan. Oleh karena itu, diperlukan pemilihan algoritma yang efektif dan efisien. Pada penelitian ini, penulis membandingkan kinerja kedua algoritma di atas.

1.3

Tujuan dan Manfaat Penelitian

Skripsi ini bertujuan untuk untuk membuat program pembanding kinerja DFT dan DITFFT.

Manfaat yang diharapkan dari penulisan skripsi ini adalah:

1. Mempermudah mahasiswa untuk mengetahui kinerja DFT dan DITFFT.

2. Sebagai acuan yang dapat mendukung penelitian selanjutnya yang berhubungan dengan kinerja DFT dan DITFFT.

1. 4 Batasan Masalah

Pada penelitian ini dilakukan pembatasan masalah terhadap program yang akan dibuat. Batasan masalah penelitian ini adalah sebagai berikut :

1. Masukan dari 4 point – 1024 point.

2. Menampilkan perbandingan jumlah adder dan multiplier dari proses DFT dan DITFFT.

(22)

3. Menampilkan perbandingan waktu yang diperlukan oleh DFT dan DITFFT dalam melakukan proses perhitungan.

4. Program dibuat dengan menggunakan MATLAB.

1.5 Metodologi Penelitian

Langkah-langkah yang digunakan untuk menyusun tugas akhir ini adalah sebagai berikut :

1. Studi pustaka yang berhubungan dengan perhitungan DFT dan DITFFT. 2. Membuat perangkat lunak, yaitu program untuk membandingkan kinerja DFT

dan DITFFT .

3. Menguji program yang telah dibuat.

4. Membahas dan menganalisis hasil rancangan yang diperoleh dari program pembanding kinerja DFT dan DITFFT.

5. Membuat kesimpulan dari hasil pembahasan dan analisis.

1.6 Sistematika Penulisan

Sistematika penulisan pada penulisan tugas akhir ini adalah sebagai berikut : BAB I : Berisi latar belakang, perumusan masalah, batasan masalah, tujuan

dan manfaat penelitian, metodologi penelitian dan sistematika penulisan tugas akhir.

(23)

BAB III :Berisi penjelasan dan langkah-langkah perancangan program pembanding kerja DFT dan DITFFT.

BAB IV : Berisi hasil perhitungan dan pembahasan dari program untuk pembanding kinerja DFT dan DITFFT.

BAB V : Berisi kesimpulan dari hasil penelitian dan saran yang mungkin berguna untuk pengembangan program lebih lanjut.

(24)

BAB II

DASAR TEORI

Transformasi diskrit adalah transformasi dari kawasan waktu menjadi kawasan frekuensi. Transformasi ini dilakukan karena waktu (time) saja masih kurang untuk mengolah sinyal diskrit. Beberapa aplikasi dari sinyal diskrit adalah sebagai berikut [2]

1. Kompresi data (suara, gambar, video). 2. Pengolahan gambar (image processing). 3. Peningkatan kecepatan perhitungan.

2.1 Deret Fourier

Sinyal periodis, f(t), dapat dinyatakan dengan suku sinus dan cosinus tak terhingga. Penjelasan ini menjadi deret Fourier dan dinyatakan sebagai berikut

(2.1) = ∞ = + + = 1 1 0 cos( ) sin( ) ) ( n n n n n t b n t a a t f ω ω

dengan t adalah variabel yang menyatakan waktu. f(t) biasanya berbentuk sinyal perubahan tegangan terhadap waktu, tetapi bisa sinyal dalam bentuk lain.

p

T

/ 2π

ω = yang biasa disebut fundamental dan berhubungan dengan frekuensi

fundamental, f, sehingga ω =2πf . Tp adalah periode berulang dari sinyal,

− = /2 2 / ( ) 1 p p T T p o f t dt T a (2.2)

adalah konstanta dari f(t) yang diambil dari periode yang ditampilkan,

(25)

− = /2 2 / ( )cos( ) 2 p p T T p n f t n t dt T a ω (2.3) dan

− = /2 2 / ( )sin( ) 2 p p T T p n f t n t dt T b ω (2.4)

Frekuensi n adalah harmonik ke n dari ω ω.

Deret ini dapat ditulis menggunakan notasi eksponensial sehingga menjadi lebih sederhana, seperti berikut ini

∞ (2.5) −∞ = = n t jn ne d t f( ) ω dengan

− − = /2 2 / ( ) p p T T t jn p n f t e T t d ω (2.6)

adalah komplek dan d mempunyai satuan volt. n

Magnitudo dnadalah ( 2 2)1/2 n n n a b d = + (2.7)

Dan sudut fasa Φnadalah

tan 1( / ) (2.8) n n n =− − b a Φ

2.2 Transformasi Fourier

Transformasi Fourier adalah metode penjelasan model matematika dari sinyal dan sistem dalam kawasan frekuensi. Para teknisi menggunakan

(26)

transformasi Fourier untuk menyederhanakan analisis matematika dari sinyal dan sistem.

Transformasi Fourier digunakan untuk sinyal non periodis, jadi perlu modifikasi pada deret Fourier. 1/Tp =ω/2π , menurun menjadi dω/2π , juga dapat menurun menjadi nol. Persamaan ini mengubah dari variabel frekuensi diskret

ω

n menjadi variabel kontinyu ω, spektrum amplitudo dan fasa menjadi kontinyu. Jadi dnd(ω) dan Tp →∞. Dengan modifikasi ini, persamaan (2.6) menjadi

∞ ∞ − − = d f t e dt d jωt π ω ω ( ) 2 ) ( (2.9)

Persamaan ini dibagi dengan dω/2π untuk memperoleh

∞ ∞ − − = =F j f t e dt d d ω jωt π ω ω ) ( ) ( 2 / ) ( (2.10) ) (jω

F adalah komplek dan disebut sebagai integral Fourier, atau lebih dikenal sebagai transformasi Fourier. Jika

F(jω)=Re(jω)+ jIm(jω)=|F(jω)|ejΦ(ω) (2.11) maka

F(jω =

[

Re2(jω)+Im2(jω)

]

1/2 (2.12)

dan mempunyai satuan volts per hertz. F(jω) adalah amplitude spectral density. Sudut fasa Φ(ω) adalah

(27)

2.3 Discrete Fourier Transform (DFT)

Discrete Fourier Transform (DFT) adalah operasi dasar yang digunakan

dalam beberapa aplikasi signal processing. DFT digunakan untuk mengubah urutan data dari kawasan waktu menjadi kawasan frekuensi .

Untuk menghasilkan urutan pencuplikan {x(nT)}=x(0), x(T), ...,x[(N-1)T] dari nilai pencuplikan N, gelombang harus dicuplik pada interval waktu yang teratur. Dengan n adalah angka hasil pencuplikan dari n=0 sampai n=N-1. DFT dari x(nT) kemudian didefinisikan sebagai urutan nilai-nilai komplek {X(kΩ)} = X(0), X(Ω),

..., X[N-1)Ω] dalam domain frekuensi, dengan Ω adalah frekuensi harmonik

pertama, yaitu Ω = 2π/NT. Jadi X(kΩ) mempunyai komponen real dan imajiner, dengan nilai ke k harmonik

X(k) = R(k) + jI(k) (2.14)

sehingga magnitudo X(k) adalah

|X(k)|=[R2(k) + I2(k)]1/2 (2.15)

dan sudut fasa X(k) adalah

Ф(k)=tan-1[ I(k)/R(k)] (2.16)

Nilai DFT, X(k), diberikan oleh

(2. 17)

− = Ω − = = = 1 0 1 ,..., 1 , 0 , ) ( )] ( [ ) ( N n nT jk D x nT x nT e k N F k X

(28)

FD menunjukkan transformasi Fourier. Dalam persamaan ini, k menggambarkan angka yang harmonik dari komponen transformasi, sesuai persamaan (2.10) saat

f(t) = 0 untuk t<0 dan t>(N-1) T dengan memakai x(nT)=f(t), kΩ=ω, dan nT=t.

Jadi kedua transformasi dapat diharapkan untuk mempunyai sifat yang sama. Pergantian ini dimasukkan ke dalam persamaan (2.10), dengan mengubah dt=T dan integral menjadi jumlah, sehingga menjadi

(2.18)

− = Ω − = 1 0 ) ( ) ( N n nT jk T F j e nT x ω

untuk 0 ≤ t ≤ (N-1)T. Kemudian perbandingan persamaan (2.17) dengan (2.18) menghasilkan

F(jω) = TX(k) (2.19)

yang menunjukkan bahwa komponen-komponen transformasi Fourier berkaitan dengan komponen DFT dengan interval sampling, dan didapatkan dengan mengalikan komponen DFT dengan interval sampling.

k = 0, k = 1, k =2 dan k = 3 (sampai N – 1 = 3).

x(0) = 1, x(T) = 0, x(2T) = 0, x(3T) = 1, dalam interval waktu T. Jumlah

data N = 4. Ini diperlukan untuk mencari nilai-nilai komplek X(k) untuk

Jawab

Hitung DFT dari deretan data {1,0,0,1}!

(29)

Untuk k = 0, persamaan (2.17) menjadi

= = − = = 3 0 3 0 0 ( ) ) ( ) 0 ( n n j x nT e nT x X ) 3 ( ) 2 ( ) ( ) 0 ( x T x T x T x + + + = 1 0 0 1+ + + = 2 =

jadi X(0) = 2 dan ini adalah real, dengan magnitude 2 dan sudut fasa . 0 ) 0 ( = Φ

Untuk k = 1, persamaan (2.17) menjadi

= ( X

= Ω − 3 0 ) ( ) 1 n nT j e nT x

T tidak diberikan, tetapi dapat dieliminasi menggunakan Ω = 2π/NT.

= − = Ω Ω − = = 3 0 / 2 3 0 / 2 ( ) ) ( ) 1 ( n N n j n N n j x nT e e nT x X π π 2 / 3 4 / 3 2 1 1 0 0 1+ + + ej π = +ej π = j j ⎟= + ⎠ ⎞ ⎜ ⎝ ⎛ − ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ + = 1 2 3 sin 2 3 cos 1 π π

Jadi X(1)= 1+ j dan ini adalah komplek dengan magnitude 2 dan

sudut fasa Φ(Ω)=tan−11=45°.

Untuk k = 2, persamaan (2.17) menjadi

= = − Ω − = = 3 0 3 0 / 2 2 2 ( ) ) ( ) 2 ( n n N n j nT j x nT e e nT x X π

(30)

= − = 3 0 / 4 ) ( n N n j e nT x π 4 / 3 4 1 0 0 1+ + + ej π = 0 1 1 0 0 1+ + + 3 = = = ej π

Jadi X(2)=0, dengan magnitudo 0 dan sudut fasa Φ(2)=0. Untuk k = 3, persamaan (2.17) menjadi

= − = 3 0 / 2 3 ) ( ) 3 ( n N n j e nT x X π 1+0+0+ej9π/2 =1 j

Jadi X(3)=1 - j, besarnya magnitudo 2 dan sudut fasa Φ(3)=−45°. Seperti yang sudah terlihat, deret waktu {1,0,0,1} mempunyai

DFT dengan dengan urutan komplek {2, 1+j ,0, 1-j}.

Untuk menampilkan DFT bisa dengan menggambarkan |X(k)| berbanding dengan kΩ dan Ф(k) berbanding dengan kΩ. Ini dapat dibuat jika Ω diketahui. Untuk menemukan Ω perlu mengetahui nilai T, interval sampling. Diasumsikan data di atas sudah disampling pada 8 kHz maka T = 1/(8x103) = 125 µs.

Kemudian Ω = 2π/NT = 2π/(4 x 125 x 10-6) = 12.57 kHz. Oleh karena itu 2Ω = 25.14 kHz dan 3Ω = 37.71 kHz. Gambar 2.1 (a) adalah gambar dari x(nT) berbanding dengan t, Gambar 2.1 (b) adalah gambar dari |X(k)| berbanding dengan kΩ, dan Gambar 2.1 (c) adalah Ф(k) berbanding dengan kΩ.

(31)

x(nT) 1 0 125 250 375 t(µs) (a) 2 2 0 12.57 25.14 37.71 kΩ(kHz) |X(k)| 50.28 (b) (c) Ф(k)(º) 0 12.57 25.14 37.71 kΩ(kHz) +45 50.28 -45

Gambar 2.1 (a) x(nT) berbanding dengan t, (b) |X(k)| berbanding dengan kΩ, dan (c) Ф(k) berbanding dengan kΩ.

Dapat ditarik kesimpulan jika komponen ke-k dari DFT, X(k),

dibandingkan dengan komponen ke (k + N), X(k + N), melalui pembuktian sebagai berikut:

− = Ω − = 1 0 ) ( ) ( N n nT jk e nT x k X

− = − = 1 0 / 2 ) ( N n N n jk e nT x π

(32)

dan

− = − − = + 1 0 / 2 / 2 ) ( ) ( N n N n jN N n jk e e nT x N k X π π

− = − − = 1 0 2 / 2 ) ( N n n j N n jk e e nT x π π

− = − = = 1 0 / 2 ( ) ) ( N n N n jk X k e nT x π

selama n adalah integral, jadi e-j2πn = 1.

Fakta bahwa X(k + N) = X(k) dan menunjukkan bahwa DFT berkala dengan

periode N. Ini merupakan sifat melingkar dari DFT. Simetris di N/2 jika harmonik kΩ=0 dan kΩ N= +1

2.3.1 Sifat-sifat dari DFT

DFT mempunyai sejumlah sifat-sifat matematik yang dapat digunakan untuk menyederhanakan masalah-masalah atau yang membawa ke aplikasi yang berguna. Beberapa dari itu tercantum di bawah. Urutan data x(nT) ditulis x(n).

(1) Simetri

Re[X(N-k)] = ReX(k) (2.20)

(dengan Re merupakan bagian real) menyatakan simetri dari spektrum

(33)

Im[X(N-k)] =-Im[X(k)] (2.21)

(dengan Im merupakan bagian imajiner) menyatakan simetri dari spektrum

fasa.

(2) Fungsi genap (even function)

Jika x(n) adalah fungsi genap xe(n), sehingga xe(n)=xe(-n), maka

(2.22) = Ω = = 1 0 ) cos( ) ( ) ( )] ( [ N n e e e D x n X k x n k nT F

(3) Fungsi Ganjil (odd function)

Jika x(n) adalah sebuah fungsi ganjil x0(n), sehingga x0(n)=-x0(-n), maka

− (2.23) = Ω − = = 1 0 0 0 0( )] ( ) ( )sin( ) [ N n D x n X k j x n k nT F (4) Teorema Parseval

Energi ternormalisasi dalam sinyal dinyatakan dengan

= − = = 1 0 1 0 2 2( ) 1 ( ) N n N k k X N n x (2.24) (5) Fungsi Delta FD[δ(nT)]=1 (2.25) (6) Cross-correlation linear dari urutan dua data bisa dihitung menggunakan DFT. Cross-correlation linear dari dua finite length x1(n) dan x2(n), dengan panjang N, didefinisikan menjadi

(34)

∞ −∞ = ∞ ≤ ≤ −∞ + = n x x x n x n j j N j r1 2( ) 1 1( ) 2( ), (2.26)

Ini juga perlu untuk mendefinisikan korelasi sirkular dari urutan finite length

− = = = + = 1 0 2 1 2 1 ( ) ( ), 0,...., 1 1 ) ( N n x x x n x n j j N N j r (2.27)

karena korelasi sirkular dapat diuji menggunakan DFT. Jadi

( ) [ ( ) 2( )] (2.28) * 1 1 2 1 j F X k X k rxx D − =

2.3.2 Kompleksitas Perhitungan DFT

Untuk 8-poin DFT, penjabaran untuk X(k) menjadi (dari persamaan 2.17)

= Ω − = = 7 0 8 / , 0,....,7 ) ( ) ( n n jk k e n x k X jika k2π/8 = K, maka X(k)=x(0)ejK0+x(1)ejK1+x(2)ejK2+x(3)ejK3+x(4)ejK4 +x(5)ejK5 +x(6)ejK6 +x(7)ejK7,k =0,...,7

Dari persamaan di atas terdapat 8 perkalian kompleks dan 7 penjumlahan kompleks untuk satu nilai k. Jadi untuk perhitungan 8-poin DFT memerlukan 82 = 64 perkalian kompleks dan 8 x 7 = 56 penjumlahan kompleks. Sehingga untuk N-poin DFT terdapat N2 perkalian dan N(N-1) penjumlahan kompleks.

2.4 Algoritma Decimation-in-time fast Fourier Transform

(DITFFT)

(35)

Dalam bagian ini akan ditunjukkan bagaimana kelebihan penghitungan dalam DFT digunakan untuk mengurangi angka keperluan penghitungan, sehingga mempercepat penghitungan. Algoritma yang dapat mencapai ini diberi nama fast Fourier Transform atau disingkat FFT. Ketika diaplikasikan dalam domain waktu, algoritmanya mengacu sebagai decimation-in-time (DIT) FFT.

Pertama notasinya akan disederhanakan dan beberapa hubungan matematis akan dibangun. Jadi persamaan (2.17) akan ditulis kembali sebagai

(2.29) 1 ,...., 0 , ) ( 1 0 / 2 1 =

= − − = − k N e x k X N n N nk j n π

Juga, faktor e-j2π/N akan ditulis sebagai WN, menjadi

WN = e-j2π/N (2.30) Sehingga persamaan (2.29) menjadi

(2.31)

− = − = = 1 0 1( ) , 0,...., 1 N n kn N nW k N x k X

Beberapa hubungan meliputi WN. Pertama,

(2.32) 2 / ) 2 / /( 2 2 / 2 2 ( ) N N j N j N e e W W = − π = − π = Kedua, π π k j N N N j k N N N k N N k N W W W e W e W( + /2) = /2 = − (2 / )( /2) = − k (2.33) N W − =

Didapatkan ringkasan hasil mengenai WN sebagai berikut

WN = e-j2π/N (2.33a) (2.33b) 2 / 2 N N W W =

(36)

(2.33c) k N Nn k N W W( + /2) =−

Dalam penghitungan yang ditunjukkan oleh persamaan (2.33), urutan data dibagi menjadi dua urutan yang sama, satu data genap dan satu data ganjil. Agar urutan mempunyai panjang yang sama, maka jumlah data harus genap. Jika jumlah data ganjil, maka nol harus ditambahkan untuk memberikan angka data genap. Proses selanjutnya, DFT, X1(k), ditulis dalam dua DFT, X11(k) dan X12(k). Dengan X11(k) dan X12(k) adalah DFT dari data nilai genap dan dari data nilai ganjil. Jadi DFT N-point diubah menjadi dua DFT masing-masing N/2 poin. Proses ini kemudian diulang sampai X1(k) menjadi N/2 DFT, masing-masing dua poin, kedua-duanya data inisial.

Akhiran n pada persamaan (2.31) adalah n=0 sampai n=N-1, sesuai

dengan nilai data x0, x1, x2, x3, …, xN-1. Urutan genap adalah x0, x2, x4,…,xN-2, dan urutan ganjil adalah x1, x3,…,xN-1. Kedua urutan itu mengandung N/2 poin. Hubungan-hubungan dengan urutan genap ditunjukkan x2n dengan n=0 sampai n=N/2-1 sementara pada urutan ganjil menjadi x2n+1. Lalu persamaan (2.31) dapat ditulis kembali sebagai berikut

= − = + + + = /2 1 0 1 2 / 0 ) 1 2 ( 1 2 2 2 1( ) N n N n k n N n nk N nW x W x k X

urutan genap urutan ganjil

, k = 0,…,N-1 (2.34) = − = + + = /2 1 0 1 2 / 0 2 1 2 2 2 N n N n nk N n k N nk N nW W x W x

Menggunakan persamaan (2.33b) faktor jadi persamaan (2.34)

menjadi nk N nk N W W2 /2 2 / =

(37)

, k = 0,…,N-1 (2.35)

= − = = + + = /2 1 0 1 2 / 0 2 / 1 2 2 / 2 ) ( N n N n n nk N n k N nk N nW W x W x k X

Persamaan (2.35) dapat ditulis

, k = 0,…, N-1 (2.36) ) ( ) ( ) ( 11 12 1 k X k W X k X k N + =

Dalam perbandingan dari persamaan (2.36) dengan persamaan (2.31), terlihat bahwa X11(k) sungguh-sungguh DFT dari urutan genap, sementara X12(k) adalah urutan ganjil. Oleh karena itu, seperti yang dinyatakan sebelumnya, DFTnya,

X1(k), dapat digambarkan dalam hubungan-hubungan dari dua DFT : X11(k) dan X12(k). Faktor WNk/2tampak dalam X11(k) dan X12(k) dan hanya butuh perhitungan

sekali saja.

Tabel 2.1 Struktur dari 8 poin FFT [2].

Baris Isi baris k ranges N ranges

1 x0 x1 x2 x3 x4 x5 x6 x7 0, ., 7 2 ( ) ( ) ( ) 12 11 1 k X k W X k X k N + = 0,..,N – 1 (0,.., 7) 0, …, 7 3 x0 x2 x4 x6 x1 x3 x5 x7 0, …, 3 4 ( ) ( ) ( ) 22 2 / 21 11k X k W X k X k N + = X11(k) X21(k) Wk/2X22(k) N + = 0,.,N/2-1 (0,…,3) 0, …, 3 5 x0 x4 x2 x6 x1 x5 x3 x7 0, 1 6 X21(k)=x0+WkN/4x6 X21(k)=x0+WkN/4x6 X21(k)=x0+WkN/4x6 X21(k)=x0+WkN/4x6 0,.,N/4-1 (0,1) 0,1

Tabel 2.1 menunjukkan struktur perhitungan untuk 8-poin DFT. Baris pertama memberikan data. Baris kedua menunjukkan persamaan untuk 8-poin DFT dalam bentuk DFT urutan genap dan ganjil, X11(k) dan X12(k). Baris ketiga menunjukkan penyusunan data dari X11(k) dan X12(k). Baris ke empat memberikan persamaan 4-poin DFT dari urutan data baris ke tiga, dalam bentuk

(38)

DFT urutan genap dan ganjil, X21(k), X22(k), X23(k) dan X24(k). Urutan ini ditunjukkan dalam baris ke lima, dalam urutan dua poin. Dan baris ke enam menunjukkan DFT 2-poin, X21(k), X22(k), X23(k) dan X24(k). Jadi 8-poin DFT diuraikan menjadi empat 2-poin DFT, yang setiap 2-poin mempunyai dua nilai. Sebagai contoh, X21(k) mempunyai dua nilai yaitu X21(0) dan X21(0). Berdasar baris ke enam dapat dilihat bahwa

X21(k) x0 W /4x4 , k = 0 , 1 (2.37) k N + = Jadi 4 0 21(0) x x X = + sementara 4 4 / 0 21(1) x W x X = + N 4 0 4 0 4 2 0 4 2 0 W x x e x x e x x x x + = + j = + j = = − π − π Demikian pula, , ) 0 ( 2 6 22 x x X = + X22(1)=x2x6 , ) 0 ( 1 5 23 x x X = + X23(1)=x1x5 , ) 0 ( 3 7 24 x x X = + X24(1)= x3x7,

Dapat dilihat bahwa nilai dengan k = 1 hanya berbeda tanda dengan nilai k = 0.

Bagian ini hanya menjelaskan X11(k) dengan k = 0, 1, 2, 3.

X11(k) X21(k) W /2X22(k) (2.38) k N + = jadi, (0) (0) 0 22(0) 21(0) 22(0) (2.39) 2 / 21 11 X W X X X X = + N = +

(39)

) 1 ( ) 1 ( ) 1 ( ) 1 ( ) 0 ( 22 2 / 21 22 1 2 / 21 11 X W X X e X X j N π − + = + = = X21(1)− jX22(1) (2.40) ) 2 ( ) 2 ( ) 2 ( ) 2 ( ) 2 ( 22 2 2 ) 8 / 2 ( 21 22 2 2 / 21 11 X W X X e X X j N = + − × + = π (2.41) ) 2 ( ) 2 ( ) 2 ( ) 2 ( 22 21 22 21 e X X X X + j = = − π Sekarang ) 0 ( ) 2 ( 2 4 0 4 21 2 0 4 2 4 / 0 21 x W x x W x x x X X = + N = + = + = dan ) 0 ( ) 2 ( 6 2 6 22 2 4 / 2 22 x W x x x X X = + N = + =

Jadi persamaan (2.41) sama dengan

X11(2)= X21(0)−X22(0) (2.42) (2.43) ) 3 ( ) 3 ( ) 3 ( 22 3 2 / 21 11 X W X X = + N Sekarang 4 3 ) 2 / 2 ( 0 4 3 4 / 0 21(3) x W x x e x X j n π − + = + = ) 1 ( 21 4 0 4 3 0 e x x x X x + j = = = − π dan ) 1 ( ) 3 ( 2 6 22 22 x x X X = − =

Jadi persamaan (2.43) sama dengan

) 1 ( ) 1 ( ) 1 ( ) 1 ( ) 3 ( 3 /2 22 21 22 3 ) 4 / 2 ( 21 11 X e X X e X X = +j π = +jπ = X21(1)+ jX22(1) (2.44) Dari persamaan-persamaan di atas menghasilkan

(2.45a) ) 0 ( ) 0 ( ) 0 ( ) 0 ( ) 0 ( 22 0 8 21 22 21 11 X X X W X X = + = +

(40)

(2) (0) (0) (0) 22(0) (2.45b) 0 8 21 22 21 11 X X X W X X = − = − (1) (1) (1) (1) 2 22(1) (2.45c) 8 21 22 21 11 X jX X W X X = − = + (3) (1) (1) (1) 22(1) (2.45d) 2 8 21 22 21 11 X jX X W X X = + = −

Persamaan-persamaan seperti ini disebut penyusunan persamaan karena dimulai dari pasangan-pasangan data dan membentuk X21(k), X22(k), X23(k) dan X24(k) kemudian diperoleh X11(k) dan X12(k), dan akhirnya diperoleh X1(k).

2.4.1 Butterfly

Dari persamaan (2.45a) dan (2.45b), keluaran X11(0) dan X11(2) diperoleh dari masukan X21(0) dan X22(0), yang digambarkan dalam Gambar 2.2(a). Masukan berada pada sisi kanan, dan keluaran pada sisi kanan. Gambar 2.2(b) menunjukkan masukan X21(1) dan X22(1) dengan keluaran X11(1) dan X11(3). Kemudian Gambar 2.2(a) dengan 2.2(b) disusun dengan nilai urutan k dari kecil menjadi besar, seperti ditunjukkan pada gambar 2.2(c). FFT 8 poin ditunjukkan dengan cara seperti pada Gambar 2.3.

X21(0) X22(0) X11(0) = X21(0) + W80X22(0) X11(2) = X21(0) - W80X22(0) W8 0 XB21B(1) XB22B(1) XB11B(1) = XB21B(1) + WB8PB 0 P XB22B(1) XB11B(3) = XB21B(1) - WB8PB 0 P XB22B(1) WB8PB 2 (a)

(41)

Gambar 2.2 Butterfly FFT

Stage 1 Stage 2 Stage 3

Gambar 2.3 Butterfly untuk 8-poin DFT

2.4.2 Keuntungan Perhitungan DITFFT

Keuntungan perhitungan DITFFT dapat dilihat berdasarkan algoritma DITFFT pada Gambar 2.3. Gambar tersebut menunjukkan bahwa setiap bagian

(42)

(stage) terdiri dari N/2 butterfly dan log2N bagian, sehingga totalnya terdiri dari

(N/2)log2N butterfly. Gambar 2.2(a) menunjukkan bahwa setiap butterfly terdiri dari satu perkalian komplek dari bentuk . Sehingga jumlah perkalian

kompleknya sebesar (N/2)log

) (k

X WR ij

N

2N. Dibandingkan dengan perhitungan menggunakan DFT, perhitungan DITFFT ini menghemat perkalian sejumlah N2 - (N/2)log2N. Setiap butterfly terdiri dari dua penjumlahan komplek. Sehingga perhitungan ini

membutuhkan Nlog2N penjumlahan. Menghemat N(N-1) - Nlog2N penjumlahan

dibandingkan dengan perhitungan menggunakan DFT.

 

x

x

x

x

x

21(0) 

x

21(1)

x

22(0) 

x

22(1)  W4 0 W4 1

x

11(0) 

x

11(1) 

x

11(2) 

x

11(3) 

Urutan ganjil = x1 dan x3 Urutan genap = x0 dan x2 x0 = 1, x1 = 0, x2 = 0, x3 = 1

Contoh 2

Hitung FFT dari deretan data {1, 0, 0, 1}!

Jawab X21(0) = x0 + x2 = 1 X21(1) = x0 – x2 = 1 X22(0) = x1 + x3 = 1 X22(1) = x1 – x3 = -1 X11(0) = X21(0) + W40X22(0) = 1 + 1 = 2

(43)

BAB III

PERANCANGAN PROGRAM PEMBANDING

KINERJA DFT DAN DITFFT

3.1 Algoritma Perancangan Program

Algoritma program pembanding kinerja DFT dan DITFFT ditunjukkan pada Gambar 3.1.

Masukan dari pengguna

Menghitung DFT dan DITFFT

Menampilkan sinyal masukan dan sinyal keluaran untuk

DFT dan DITFFT

Menampilkan jumlah adder, multiplier, dan

kecepatan

Gambar 3.1 Algoritma perancangan program

Pengguna memberikan masukan data sesuai dengan spesifikasi yang tersedia. Proses selanjutnya adalah menghitung DFT dan DITFFT. Tahap selanjutnya menampilkan sinyal masukan dan sinyal keluaran untuk DFT dan DITFFT. Tahap

(44)

terakhir menghitung jumlah adder, multiplier, dan kecepatan yang dibutuhkan dari perhitungan menggunakan DFT dan dengan menggunakan DITFFT.

3.2 Perancangan Tampilan Awal

Tampilan awal adalah bagian dari layout yang menjadi langkah awal untuk menjalankan program. Gambar layout tampilan awal ini ditunjukkan pada Gambar 3.2.

Gambar 3.2 Layout program tampilan awal.

Tampilan ini dapat muncul apabila pengguna memanggil fungsi pada command

window dari perangkat lunak MATLAB®. Diagram alir proses ini ditunjukkan pada Gambar 3.3.

(45)

Tidak Ya masukan Start Ya Selesai Exit Tidak Mulai

Gambar 3.3 Diagram alir layout tampilan awal

Pada layout ini pengguna dapat melakukan pemilihan langkah mana yang akan dijalankan. Ada 2 proses yang dapat dipilih, yaitu start dan exit. Apabila pengguna memilih start, maka proses selanjutnya adalah memanggil fungsi pemberian masukan dari pengguna. Apabila pengguna memilih exit, maka pemilihan tersebut akan mengakhiri program.

3.3 Pemberian Masukan

3.3.1 Masukan Manual

Pengguna memberikan masukan yang diinginkan secara satu persatu, dengan spesifikasi N poin 4 – 1024, kemudian ditampilkan dalam bentuk spektrum dengan menggunakan fungsi stem pada matlab. Proses pemberian secara manual ditunjukkan pada Gambar 3.4.

(46)

Mulai Masukkan N-poin DFT Ya Apakah N = 4 – 1024 ? Tidak Simpan d Hitung DFT dan DITFFT, kecepatan, adder dan multiplier

Ya Tidak Radix 2 DFT ? DFT dan Adder dan Selesai

Gambar 3.4 Diagram alir proses masukan manual

Data untuk perhitungan DITFFT harus merupakan radix 2, yaitu jumlah datanya merupakan hasil pangkat dari 2, misal 4, 8, 16 dan seterusnya. Data harus

radix 2 karena nantinya proses akan berulang-ulang menjadi

2

N

DFT,

masing-masing 2 poin. Sedangkan pada proses masukan manual ini, proses perhitungan DFT jumlah data tidak harus radix 2. Hal ini sesuai dengan dasar teori yang telah

(47)

dijelaskan pada Bab II. Proses selanjutnya adalah perhitungan DFT dan DITFFT,

adder dan multiplier. Kemudian menampilkan hasil-hasil tersebut.

3.3.2 Masukan sinyal

Pengguna memberikan masukan berupa sinyal asli yang diperoleh dari file berekstensi *.wav, yang kemudian sinyal tersebut diubah menjadi bentuk spektrum dengan menggunakan fungsi stem pada matlab. Pengubahan bentuk ini dilakukan agar nilai-nilainya tampak lebih jelas. Proses pemberian masukan sinyal ditunjukkan pada Gambar 3.5. Mulai Masukkan input ekstensi *.wav File berekstensi *.wav? Tampilkan sinyal asli Ya Tidak Selesai

(48)

3.3.2.1 Masukan N-poin

Pengguna memasukkan N-poin yang diinginkan, yaitu antara 4 poin sampai 1024 poin. Apabila masukan tidak sesuai dengan spesifikasi, maka pengguna diminta memberikan masukan yang baru. Diagram alir proses pemberian masukan N poin ditunjukkan pada Gambar 3.6.

Selesai

Tampilkan sinyal tersebut

DFT dan Adder dan Multiplier

Tidak

Potong sinyal dari x0sampai

Hitung DFT dan

DITFFT, kecepatan,

adder dan multiplier Radix 2 Ya Tidak Masukkan N-poin DFT Apakah N = 4 – 1024 ? Ya Mulai Radix 2

(49)

Jumlah data untuk kedua perhitungan DFT dan DITFFT harus merupakan

radix 2. Hal ini berbeda dengan proses masukan manual, karena pada masukan sinyal

dirancang untuk membandingkan kedua proses perhitungan ini, sehingga jumlah data kedua proses ini harus sama. Sedangkan pada proses masukan manual dirancang hanya untuk menghitung kedua proses ini, sehingga data tidak perlu disamakan dengan menggunakan radix 2. Selanjutnya, sinyal asli yang sudah dalam bentuk stem dipotong sesuai dengan N yang dimasukkan, yaitu dari x0 sampai xN-1 dan ditampilkan. Proses selanjutnya adalah perhitungan DFT dan DITFFT, adder dan

multiplier.

3.3.3 Proses Radix 2

Radix 2 yaitu jumlah data yang merupakan hasil pangkat dari 2, misal 4, 8, 16

dan seterusnya. Setelah data dimasukkan, kemudian program akan mengecek jumlah data. Apabila jumlah data sudah merupakan radix 2, jumlah data tersebut yang akan dipakai untuk proses selanjutnya. Apabila jumlah data belum radix 2, maka data tersebut akan ditambah data baru yang bernilai nol, sampai data tersebut berjumlah

radix 2 di atas data masukan tersebut.

Misal apabila data masukan {1, 2, 1, 2, 1}, agar data tersebut menjadi radix 2 maka data masukan akan dibuat menjadi {1, 2, 1, 2, 1, 0, 0, 0}. Diagram alir untuk proses radix 2 ditunjukkan pada Gambar 3.7.

(50)

Mulai

Data masukan

Gambar 3.7 Diagram alir proses Radix 2

Selesai 256 < N ≤ 512 ? Data awal ditambah data xN sampai x1024 4 < N ≤ 8 ? 8 < N ≤ 16 ? Ya Data awal ditambah data xN sampai x8 xN, xN+1, .., x8 = 0 N = 8 16 < N ≤ 32 ? 32 < N ≤ 64 ? xN, xN+1, .., x16 = 0 xN, xN+1, .., x32 = 0 xN, xN+1 , .., x64 = 0 Data awal ditambah data xN sampai x16 Data awal ditambah data xN sampai x32 N = 4 N = 4 ? Tidak Tidak Tidak Ya Ya N = 16 Data awal ditambah data xN sampai x64 64 < N ≤ 128 xN, xN+1 , .., x128 = 0 Data awal ditambah data xN sampai x128 Data awal ditambah data xN sampai x256 Data awal ditambah data xN sampai x512 xN, xN+1 , .., x256 = 0 xN, xN+1 , .., x512 = 0 128 < N ≤ 256 N = 32 N = 64 512 < N ≤ 1024 ? xN, xN+1 , ..,x1024= 0 N = 128 N = 256 N = 512 N = 1024 Ya Ya Ya Ya Ya Tidak Tidak Tidak Tidak

(51)

3.4 Proses Penampilan Sinyal dan Waktu Proses DFT dan DITFFT

Gambar 3.8 menunjukkan diagram alir penampilan sinyal DFT dan DITFFT dan akan menampilkan pembandingan kecepatan perhitungan kedua algoritma tersebut.

Mulai

Memulai penghitungan waktu dengan menggunakan fungsi

toc DFT

Memulai penghitungan waktu dengan menggunakan fungsi

toc DFT ? ya tidak Baca data,simpan dalam variabel x0 sampai xN-1 DITFFT

Menghentikan tic, mencatat dan menampilkan waktu berjalannya tic menggunakan

fungsi toc

Gambar 3.8 Diagram alir penampilan sinyal dan waktu proses DFT dan DITFFT

Data diambil dari sinyal yang telah dipotong sesuai dengan nilai N yang dimasukkan, kemudian disimpan dalam variabel x0 sampai xN-1.

Untuk menghitung

kecepatan proses perhitungan DFT dan DITFFT menggunakan fungsi pada matlab

Tampilkan

sinyal DFT sinyal DITFFTTampilkan Menghentikan tic, mencatat

dan menampilkan waktu berjalannya tic menggunakan

fungsi toc

(52)

yaitu fungsi tic dan toc. Tic dan toc adalah penghitung waktu atau disebut stopwatch. Fungsi tic dan toc berkerja bersama, tic untuk memulai penghitungan waktu dan toc mulai digunakan setelah tic berhenti bekerja. Toc yang mencatat waktu proses berjalannya tic dan akan menampilkannya. Selanjutnya sinyal hasil perhitungan DFT dan DITFFT akan ditampilkan.

3.4.1 Perhitungan DFT

Gambar 3.9 merupakan diagram alir proses perhitungan DFT. Diagram alir ini

merupakan penjabaran dari rumus awal DFT yaitu . Data

diambil dari nilai N radix-2 yang akan memotong sinyal masukan sehingga membentuk sinyal sk1. Proses selanjutnya adalah proses inisialisasi dan masuk proses

looping I. Looping ini akan terus berjalan sampai nilai k = n. Di dalam looping I ini

terdapat looping lagi. Proses looping II ini melakukan perhitungan-perhitungan dengan dasar nilai k = 0 dan berhenti looping sampai nilai a = N, dan akan masuk

looping I dengan nilai k telah masuk rumus k = k + 1. Looping-looping ini akan terus

berjalan sampai nilai k = n. Di dalam looping II terdapat ssk. ssk adalah nilai setiap baris dari sk1. abs adalah fungsi matlab yang digunakan untuk mengubah menjadi bilangan komplek.

− = Ω − = 1 0 ) ( ) ( N n nT jk e nT x k X

(53)

dt(1,m) = def k = n ? a = a + 1 ssk = sk1( a , : ) x = ssk*(cos(2π*p*k/N) - j*sin(2π*p*k/N)) p = p + 1 de = de + x def = abs(de) a = N ? k = k + 1 tampilkan dt selesai Ya Tidak Tidak Ya a = 0 p = 0 de = 0 m = m + 1 mulai Baca data N & sk1 n = N-1 m = 0

(54)

3.4.2 Perhitungan DITFFT

Untuk menghitung DITFFT menggunakan perhitungan Butterfly. Pada Gambar 3.10 menunjukkan diagram alir perhitungan Butterfly.

(55)

Untuk melakukan perhitungan, langkah pertama yang diperlukan yaitu membaca data. Data yang dibutuhkan adalah panjang data (N) dan nilai x0, x1, ..., xN-1. Langkah selanjutnya adalah melakukan inisialisasi loop = 1, π = 3,141592654, k = 0 dan I = 0.

Loop digunakan untuk membatasi jumlah perhitungan. Apabila loop sudah lebih dari

nilai E maka perhitungan selesai. E adalah jumlah stage yang diperlukan. Langkah selanjutnya adalah mencari nilai P. Nilai P digunakan untuk mencari nilai W. Nilai P didapat dari BR (int (k / 2S )). S didapat dari E – 1. BR adalah Bit Reversed. Langkah pertama dari proses Bit Reversed adalah mengubah nilai dalam bentuk biner, kemudian least significant bit (LSB) ditukar dengan most significant bit (MSB) dan diubah dalam bentuk desimal. Misal untuk nilai N = 8, 3 bit digunakan.Nilai bit

reversed untuk N = 8 ditunjukkan pada Tabel 3.1.

Langkah selanjutnya adalah mencari nilai W, dengan menggunakan rumus cos

(2π P/N) – j sin (2π P/N). Selanjutnya mencari nilai TMP. TMP adalah nilai x(k+N2)

yang akan dikalikan dengan W. Kemudian nilai x(k+N2) dikurangkan dengan nilai

TMP dan akan disimpan dalam nilai x(k+N2). Dan nilai x(k) ditambahkan dengan

nilai TMP. Proses selanjutnya diberikan k = k + 1, agar nilai x(k) dan x(k+N2) berubah seiring dengan proses looping yang terjadi. Looping ini akan berhenti sampai nilai I = N2. Maka stage 1 sudah didapatkan, dan masuk proses selanjutnya untuk mendapatkan stage berikutnya.

Proses selanjutnya diberikan k = k + N2, agar nilai-nilai yang akan dihitung bisa diurutkan sesuai dengan urutan yang diinginkan. Apabila k < N – 1, maka proses

(56)

akan kembali ke atas dimulai dari k = 0. Jika k tidak kurang dari N – 1, maka proses akan kembali ke atas dimulai dari I = 0. Proses ini akan terus berjalan sesuai dengan perintah-perintah yang telah dibuat dan akan berhenti sampai didapatkan nilai Loop >

E dan akan ditemukan nilai akhir x0, x1,…, xN-1.

Tabel 3.1 Bit Reversed untuk N = 8

k Biner Bit Reversed Desimal BR

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

3.5 Proses Penghitungan Jumlah Adder dan Multiplier untuk DFT

dan DITFFT

Gambar 3.11 adalah diagram alir untuk menghitung jumlah adder dan jumlah

multiplier untuk DFT dan DITFFT. Proses pertama dalam perhitungan ini adalah

membaca nilai N. Proses selanjutnya adalah yang berproses secara bersamaan yaitu menghitung multiplier DFT dengan rumus N2, adder DFT dengan rumus N(N-1), multiplier DITFFT dengan rumus (N/2)log2 dan menghitung adder DITFFT dengan rumus Nlog2N. Tahap terakhir menampilkan jumlah adder dan multiplier untuk DFT

(57)

Mulai Baca nilai N radix 2 Hitung multiplier DFT = N2 Hitung Adder DFT = N(N-1) Hitung multiplier DITFFT = (N/2)log2N Hitung Adder DITFFT = Nlog2N Tampilkan adder dan multiplier untuk DFT Tampilkan adder dan multiplier untuk DITFFT Selesai

Gambar 3.11 Diagram alir perhitungan jumlah adder dan multiplier DFT dan DITFFT

3.6 Layout Program

Layout program merupakan rancangan secara visual untuk implementasi

program pembanding kinerja DFT dan DITFFT. Layout program ditunjukkan pada Gambar 3.12. Layout pada Gambar 3.12 menggunakan beberapa komponen visual yang disediakan oleh program aplikasi MATLAB® untuk menampilkan proses simulasi. Komponen-komponen visual tersebut adalah

a. Figure

Figure adalah objek yang digunakan sebagai tempat untuk merancang program

(58)

List box Push button Edit text

Axes

Pop-up menu Static text Figure

Gambar 3.12 Layout Program

b. Edit text

Edit text adalah area yang dapat digunakan sebagai tempat untuk

menuliskan satu baris text masukan. Pada program simulasi ini, edit text digunakan sebagai tempat memasukkan file *.wav, N poin, perhitungan yang diinginkan, jumlah adder dan multiplier untuk DFT dan DITFFT.

c. List box

List box digunakan untuk menampilkan daftar informasi. Pada program

simulasi ini list box digunakan untuk menampilkan data masukan dan keluaran.

(59)

d. Static text

Static text adalah area yang digunakan sebagai tempat untuk

menampilkan text informasi. Text informasi pada static text tidak dapat diubah oleh pengguna.

e. Pop-up menu

Pop-up menu digunakan untuk menampilkan daftar pilihan yang dapat

dipilih oleh pengguna. Pada program ini pop-up menu digunakan untuk memilih perhitungan yang diinginkan. Jadi bisa menghitung DFT atau

DITFFT saja dan bisa dihitung secara bersamaan.

f. Axes

Axes digunakan untuk menampilkan grafik atau kurva. Pada program

simulasi ini axes digunakan sebagai tempat untuk menampilkan sinyal asli, sinyal DFT dan sinyal DITFFT.

g. Push button

Push button merupakan tombol yang digunakan untuk mengeksekusi

sebuah perintah. Pada Gambar 3.10 terdapat beberapa tombol, yaitu

1. Tombol masukan manual digunakan untuk memilih perhitungan dengan masukan secara manual oleh pengguna.

2. Tombol masukan sinyal digunakan untuk memilih perhitungan dengan masukan dari sinyal.

(60)

3. Tombol masukkan data digunakan untuk memasukkan nilai satu persatu oleh pengguna.

4. Tombol batal digunakan untuk membatalkan atau menghapus nilai yang telah dimasukkan pengguna.

5. Tombol hitung digunakan untuk menghitung DFT dan DITFFT. 6. Tombol browse digunakan untuk mencari file berbentuk *.wav. 7. Tombol tampilkan 1 digunakan untuk menampilkan sinyal asli.

8. Tombol tampilkan 2 digunakan untuk menampilkan sinyal setelah diberi masukan N.

9. Tombol bandingkan digunakan untuk menjalankan proses pembandingan DFT dan DITFFT.

10. Tombol keluar digunakan untuk keluar dari program.

11. Tombol reset digunakan untuk menghapus semua nilai dan mengembalikan tampilan seperti semula.

12. Tombol legend digunakan untuk menampilkan informasi mengenai sinyal asli (masukan), sinyal DFT dan sinyal DITFFT.

13. Tombol grid digunakan untuk menampilkan grid pada axes.

14. Tombol + digunakan untuk memperbesar (zoom) gambar sinyal pada

point yang diinginkan.

15. Tombol − digunakan untuk mengembalikan sinyal ke ukuran asal setelah di zoom.

(61)

16. Tombol cursor untuk mengembalikan cursor ke bentuk awal, misal setelah menggunakan tombol grid atau -.

(62)

Bab ini akan menyajikan hasil pengujian dari program pembanding kinerja

Discrete Fourier Transform dan Decimation In Time Fast Fourier Transform yang

telah dibuat. Pengujian dilakukan dengan memberikan masukan dari pengguna dan sinyal masukan berekstensi *.wav. Bab ini juga akan membahas perbandingan kecepatan, jumlah adder dan multiplier yang diperlukan dalam perhitungan DFT dan

DITFFT.

4.1 Tampilan Program

Saat pertama kali menjalankan program simulasi, pengguna akan melihat tampilan antar muka halaman pembuka program. Judul program simulasi serta pembuat program ditampilkan pada halaman pembuka. Tampilan halaman pembuka program dapat dilihat pada Gambar 4.1.

Gambar 4.1 Tampilan halaman pembuka program

(63)

Di halaman pembuka terdapat dua tombol yang dapat digunakan oleh pengguna, yaitu tombol Start dan tombol Exit. Tombol Start digunakan untuk masuk ke program utama, sedangkan tombol Exit digunakan untuk keluar dari program. Tampilan halaman utama program ditunjukkan pada Gambar 4.2.

Gambar 4.2 Tampilan program utama.

Pada halaman utama terdapat menu File dan Bantuan. Menu File terdiri dari tiga submenu, yaitu Reset, Simpan dan Keluar. Untuk mengosongkan program menggunakan submenu Reset. Untuk menyimpan file program berekstensi *.wav menggunakan submenu Simpan. Tampilan penyimpanan data dapat dilihat pada Gambar 4.3. Submenu Keluar berfungsi untuk keluar dari program. Menu Bantuan

(64)

berisi keterangan singkat tentang DFT & DITFFT dan cara penggunaan program. Tampilan submenu Bantuan ditunjukkan pada Gambar 4.4.

Gambar 4.3 Tampilan penyimpanan data.

a) (b)

(a) (b)

Gambar 4.4 Tampilan Submenu Bantuan. (a) Pengertian DFT dan DITFFT .

(b) Cara Penggunaan Program.

Tampilan program utama mempunyai beberapa kondisi push button dalam keadaan on, yaitu masukan manual, masukan sinyal dan keluar. Kondisi push button selain yang telah disebutkan di atas berada dalam keadaan off. Kondisi ini akan

(65)

berubah ketika masukan manual dipilih. Yaitu masukan sinyal akan menjadi off dan

push button pada panel masukan manual dan reset akan menjadi on, sedangkan

kondisi lainnya masih seperti semula. Ketika tombol masukan sinyal yang dipilih, tombol masukan manual akan menjadi off dan tombol pada panel masukan sinyal dan tombol reset akan menjadi on. Untuk keluar dari program menggunakan tombol

KELUAR, yang memiliki fungsi yang sama dengan submenu Keluar.

Jika pengguna menekan tombol KELUAR, maka program simulasi akan menampilkan message box seperti ditunjukkan pada Gambar 4.5. Apabila pengguna menekan push button Ya, maka program simulasi akan keluar dari layout program. Apabila pengguna menekan push button Tidak, maka program dapat dilanjutkan kembali. Saat proses perhitungan terjadi, program akan menampilkan waitbar seperti ditunjukkan pada Gambar 4.6.

Gambar 4.5 Message box keluar program.

(a) (b)

(66)

4.1.1 Masukan Manual

Masukan manual merupakan aplikasi tambahan dalam program ini. Judul

program ini adalah program pembanding kinerja DFT dan DITFFT, sedangkan masukan manual tidak membandingkan tetapi hanya untuk menghitung DFT dan

DITFFT. Jadi masukan manual ini hanya aplikasi tambahan dan program utamanya

terdapat pada masukan sinyal.

Gambar 4.7 menunjukkan panel masukan manual. Pengguna dapat memasukkan data dengan mengisi edit.text satu persatu dan menekan tombol

masukkan data. Apabila pengguna belum memasukkan nilai atau nilai tidak sesuai

dengan persyaratan maka akan muncul pesan error seperti ditunjukkan pada Gambar 4.8. Apabila ingin mengganti masukan, pengguna dapat menekan tombol batal, dan nilai-nilai yang telah dimasukkan akan dihapus. Kemudian pengguna dapat memasukkan nilai-nilai baru.

Gambar 4.7 Gambar panel masukan manual

(67)

Data masukan {1, 0, 1, 0, 1} akan ditampilkan dalam bentuk stem dan angka seperti ditunjukkan dalam Gambar 4.9. Dengan menggunakan data di atas dan menggunakan pilihan DFT & DITFFT, program akan menghasilkan keluaran seperti pada Gambar 4.10.

Gambar 4.9 Tampilan masukan

(a)

(b)

(68)

Keluaran DFT mempunyai jumlah N yang sama dengan jumlah N pada masukan yaitu 5. Sedangkan pada keluaran DITFFT jumlah N menjadi 8. Hal ini karena pada proses DITFFT data masukan harus merupakan radix 2 atau eksponen dari 2, sehingga jumlah data harus ditambah dengan data baru yang bernilai nol, sampai jumlah data menjadi radix 2. Hasil keluaran kedua proses ini akan berbeda karena jumlah masukannya yang berbeda. Hasil-hasil keluaran di atas sesuai dengan

perhitungan secara teori, yang perhitungannya dijabarkan pada Lampiran B.

4.1.2 Masukan Sinyal dengan Data chimes.wav

Gambar 4.11 menunjukkan panel masukan sinyal. Pengguna dapat memasukkan data berekstensi *.wav dengan menekan tombol browse dan memilih masukan. Tampilan pengambilan data berekstensi *.wav ditunjukkan pada Gambar 4.12. Apabila pengguna belum memasukkan data berekstensi *.wav dan menekan

Hitung maka akan muncul pesan error seperti Gambar 4.14(a).

(69)

Gambar 4.12 Tampilan pengambilan data berekstensi *.wav

Jika pengguna menekan tombol tampilkan, maka akan muncul panjang data dan sinyal masukan seperti ditunjukkan pada Gambar 4.13(a). Apabila pengguna belum menekan tombol tampilkan, maka akan muncul pesan error seperti pada Gambar 4.14 (b).

Dengan memasukkan nilai pada masukan N-poin, misal dengan nilai 81, maka akan keluar sinyal masukan seperti pada Gambar 4.13(b). Sinyal masukan

chimes.wav dipotong sehingga mempunyai jumlah data 81, tetapi pada gambar

jumlah datanya menjadi 128. Hal ini seperti yang sudah dibahas sebelumnya, yaitu dikarenakan jumlah data harus merupakan radix2 atau eksponen dari 2, sehingga data masukan ditambah 47 data lagi dengan nilai 0.

Apabila pengguna belum memasukkan nilai atau memasukkan nilai yang tidak sesuai dengan persyaratan dan menekan tombol tampilkan, maka akan muncul pesan error seperti pada Gambar 4.14(c). Apabila pengguna sudah memasukkan nilai

(70)

yang sesuai tetapi belum menekan tombol tampilkan dan menekan tombol hitung, maka akan muncul pesan error seperti pada Gambar 4.14(d).

(a)

(b)

(c)

Gambar 4.13 Tampilan masukan. (a) Sinyal masukan chimes.wav.

(71)

(a) (b)

Gambar 4.14 Pesan kesalahan. (a) Tidak ada masukan file*.wav.

(c) (d)

(b) Masukan file*.wav belum ditampilkan.

(c) Masukan N-poin belum diisi atau nilai tidak sesuai persyaratan. (d) Masukan N-poin belum ditampilkan.

Setelah menjalankan langkah-langkah di atas dan telah memenuhi persyaratan, misal dengan sinyal masukan chimes.wav dan masukan N-poin 81 dengan pilihan DFT & DITFFT, maka program akan menghasilkan keluaran seperti pada Gambar 4.15. Berbeda dengan masukan manual, pada masukan sinyal jumlah data masukan harus dibuat sama karena akan dibandingkan. Sehingga hasil keluarannya akan sama, tetapi dengan waktu proses perhitungan yang berbeda.

Gambar 4.15 menunjukkan proses DFT membutuhkan waktu yang lebih lama yaitu 1.03199 detik dan proses DITFFT membutuhkan waktu 0.243369 detik untuk masukan N-poin 81. Jadi untuk masukan N-poin 81, proses DITFFT lebih cepat 0.788621 detik dibandingkan proses DFT. Hal ini disebabkan proses DFT membutuhkan 16256 adder dan 16384 multiplier, sedangkan proses DITFFT hanya membutuhkan 896 adder dan 448 multiplier.

Gambar

Gambar 2.1  (a) x(nT) berbanding dengan t, (b) |X(k)| berbanding dengan  kΩ, dan (c)  Ф(k) berbanding dengan kΩ
Tabel 2.1 Struktur dari 8 poin FFT [2].
Gambar 2.2 Butterfly FFT
Gambar 3.1 Algoritma perancangan program
+7

Referensi

Dokumen terkait

yang ditemukan selama pengamatan adalah Gejala serangan Penggerek Batang padi, populasi Wereng hijau dan Walang sangit (lihat gambar 4, 5 dan Lampiran 2), Hasil pengamatan rata

Yohanes Indrayono/Iman Santoso, S.E.. Yohanes Indrayono/Iman

Instrumen penelitian pada penelitian ini menggunakan kuesioner untuk mengetahui perilaku beresiko masyarakat terhadap demam berdarah dengue (DBD), dan keberadaan

Setelah berdiskusi siswa diharapkan mampu menyajikan dalam bentuk tulisan tentang perkembangan kerajaan –kerajaan Islam di Jawa.. Setelah berdiskusi siswa diharapkan

Sehubungan dengan itu, Lembaga Penelitian Universitas Negeri Padang bekerjasama dengan Pimpinan Universitas, telah memfasilitasi peneliti untuk melaksanakan penelitian

dalam pasal 11 ayat (1) dilakukan paling lama 1 (satu) bulan sejak diterimanya permohonan pengembalian kelebihan pembayaran pajak sehubungan diterbitkannya Surat

Demikian juga dengan kepemimpinan manajer yang menunjukkan kategori kurang baik dengan persentase 70%.Hasil penelitian ini juga menunjukkan bahwa adanya hubungan yang

Hal itu dipertegas melalui Permendiknas Nomor 41 Tahun 2007 tentang standar proses yang berbunyi perencanaanproses pembelajaran yang mensyaratkan pendidik untuk mengembangkan