• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2019

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

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)

Fourier Transform (DFT) dan Decimation In Time Fast Fourier Transform (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)

Discrete Fourier Transform (DFT) and Decimation In Time Fast Fourier 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)

JUDUL... i

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

   

(15)

Halaman

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

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

Gambar 2.2Butterfly 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 multiplierDFT dan DITFFT... 39

Gambar 3.12Layout 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 adderDFT dan DITFFT... 57

Gambar 4.18 Grafik perbandingan jumlah multiplierDFT dan DITFFT... 57

   

(17)

Halaman

Tabel 2.1 Struktur dari 8 poin FFT... 18

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

Tabel 4.1 Hasil waktuproses DFT dan DITFFT ... 55

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

ix 

(18)

Halaman

Tabel 2.1 Struktur dari 8 poin FFT... 18

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

Tabel 4.1 Hasil waktuproses DFT dan DITFFT ... 55

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

                                                   

   

 

   

(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

(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

(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)

(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 dn mempunyai satuan volt.

Magnitudo dnadalah

dn =(an2 +bn2)1/2 (2.7) Dan sudut fasa Φnadalah

n tan 1(bn /an) (2.8)

− = Φ

2.2 Transformasi Fourier

Transformasi Fourier adalah metode penjelasan model matematika dari

(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

(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

j F T 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

(29)

Untuk k = 0, persamaan (2.17) menjadi

= = − = = 3 0 3 0 0 ) ( ) ( ) 0 ( n n j nT x 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 e nT x 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

(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 = − =

= −j π

e

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

(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

(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 k X 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

(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

rx1x2(j)=FD−1[X1*(k)X2(k)] (2.28)

2.3.2 Kompleksitas Perhitungan DFT

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

= Ω − = = 7 0 8 / 7 ,...., 0 , ) ( ) ( 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.

(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 =

= −

− = − N k 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 )

( j N j N N

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) = −

=−WNk (2.33)

Didapatkan ringkasan hasil mengenai WN sebagai berikut

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

(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

(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 = + Nk

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 = + Nk

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 = + Nk X11(k)=X21(k)+WNk/2X22(k) 0,.,N/2-1

(0,…,3)

0, …, 3

5 x0 x4 x2 x6 x1 x5 x3 x7 0, 1

6 X21(k)=x0+W

k

N/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

(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)+WNk/2X22(k) (2.38) jadi,

(0) (0) 22(0) 21(0) 22(0) (2.39)

0 2 / 21

11 X W X X X

(39)

) 1 ( ) 1 ( ) 1 ( ) 1 ( ) 0

( /2 22

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 N j

× − + = + = π (2.41) ) 2 ( ) 2 ( ) 2 ( ) 2

( 22 21 22

21 e X X X

X + j = −

= − π Sekarang ) 0 ( ) 2

( 4 0 4 21

2 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 = + n = + −j π

) 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

( 21 (2 /4)3 22 21 3 /2 22

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

(40)

(2) (0) (0) (0) 0 22(0) (2.45b)

8 21

22 21

11 X X X W X

X = − = −

X11(1)= X21(1)− jX22(1)= X21(1)+W82X22(1) (2.45c) X11(3)= X21(1)+ jX22(1)= X21(1)−W82X22(1) (2.45d) 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)

W80

XB21B(1)

XB22B(1)

XB11B(1) = XB21B(1) + WB8PB

0

P

XB22B(1)

XB11B(3) = XB21B(1) - WB8PB

0

P

XB22B(1)

WB8PB

2

(41)

Gambar 2.2Butterfly 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

(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 WNR ij

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) 

W40

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

(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

(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

(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

(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

(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

(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

Tampilkan sinyal DITFFT

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

(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

(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.1Bit 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 Nradix 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

(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

(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

(61)

16.Tombol cursor untuk mengembalikan cursor ke bentuk awal, misal

(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

(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

(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 sehing

Gambar

Gambar 2.1  (a) x(nT) berbanding dengan t, (b) |X(k)| berbanding dengan
Gambar 2.2 Butterfly FFT
Gambar 3.1.
Gambar 3.2 Layout program tampilan awal.
+7

Referensi

Dokumen terkait

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

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

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

ayat (2) : yang dimaksud dengan memproses pemilihan kepala desa adalah membentuk panitia pemilihan, menetapkan calon kepala desa yang berhak dipilih

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

Swasakti Utama Tasikmalaya yang didasarkan pada hasil dari analisis faktor internal dan analisis faktor eksternal juga analisis SWOT yang kemudian datanya digunakan

Abstrak: Penelitian ini bertujuan untuk mengetahui kelayakan kuesioner motivasi belajar sebagai instrumen penelitian bila dikaji dari penskalaan responnya. Penelitian