• Tidak ada hasil yang ditemukan

i TUGAS AKHIR - Aplikasi hidden markov model pada pintu geser berbasis suara = The application of hidden markov model in sliding door based on human voice - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "i TUGAS AKHIR - Aplikasi hidden markov model pada pintu geser berbasis suara = The application of hidden markov model in sliding door based on human voice - USD Repository"

Copied!
138
0
0

Teks penuh

(1)

i

TUGAS AKHIR

APLIKASI HIDDEN MARKOV MODEL

PADA PINTU GESER BERBASIS SUARA

Diajukan untuk memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

ARYADITA WIJAYA 065114008

PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

(2)

ii

FINAL PROJECT

THE APPLICATION OF HIDDEN MARKOV MODEL

IN SLIDING DOOR BASED ON HUMAN VOICE

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

In Study Program of Electrical Engineering

By:

ARYADITA WIJAYA 065114008

ELECTRICAL ENGINEERING STUDY PROGRAM SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY YOGYAKARTA

(3)

iii

(4)

iv

(5)

v

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat katya atau bagian karya orang lain, kecuali yang telah saya sebutkan dalam kutipan dan daftar pustaka sebagaiman layaknya dalam karya ilmiah.

Yogyakarta,25 Agustus 2011

(6)

vi

HALAMAN PERSEMBAHAN DAN MOTO HIDUP

K ehidupan seseorang tidak berakhir saat ia gagal,

kehidupannya berakhir saat ia berhenti

dan tidak mau berjuang lagi

K arya ini ku persembahkan untuk :

Tuhan Y esus-ku, panutan sekaligus sumber kekuatan-ku

(7)

vii

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Aryadita Wijaya

NIM : 065114008

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

APLIKASI HIDDEN MARKOV MODEL PADA PINTU GESER BERBASIS SUARA

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.

Yogyakarta,25 Agustus 2011

(8)

viii

INTISARI

Salah satu aplikasi yang dapat digunakan untuk proses pengolahan suara adalah

speech recognition. Speech recognition merupakan upaya agar manusia dan mesin dapat berkomunikasi dengan media suara. Metode yang sering digunakan dalam pengolahan suara atau ucapan adalah Jaringan Saraf Tiruan (JST) dan Hidden Markov Model (HMM). Aplikasi Hidden Markov Model pada pintu geser berbasis suara ini akan menghasilkan sebuah sistem penggerakan prototype pintu geser yang diaktifkan menggunakan suara manusia. Pintu geser hanya aktif jika menerima masukan berupa kata dari orang yang sama seperti yang telah tersimpan di dalam sistem.

HMM sendiri merupakan suatu sistem yang memodelkan simbol ke dalam suatu

mesin finite state (keadaan yang terbatas), sehingga diketahui simbol apa yang dapat mewakili sebuah parameter vektor dari sebuah kata yang dimasukkan ke dalam mesin dan diestimasi berulang-ulang hingga dihasilkan parameter observasi dengan mean dan

kovarian yang konvergen untuk setiap statenya.

(9)

ix

ABSTRACT

Speech recognition is one of an application for voice recognition. Speech recognition is an effort to make human and machine can be communicate. Several methods that can be used in the voice processing is artificial neural networks and Hidden Markov Models. The application of Hidden Markov Model in sliding door based on human voice produce a sliding door actuating system that uses voice activated. Sliding doors will be active if it receives input from the people of the same as stored in the system

HMM is a system that can be a model of the symbol into a finite state machine, and then know what the symbol represents the parameter vector of a word and it will be estimated repeatedly until the resulting parameters of observations with mean and variance for each state.

(10)

x

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Esa atas berkat dan rahmatNya yang melimpah sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini.

Pada kesempatan ini penulis ingin menyampaikan terimakasih kepada semua pihak yang sudah membantu dalam penyelesaian skripsi ini, sehingga skripsi ini dapat terselesaikan dengan baik. Ucapan terima kasih ini saya sampaikan terutama kepada.

1. Bapak Yosef Agung Cahyanta, S.T., M.T., selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

2. Ibu B.Wuri Harini, S.T., M.T., selaku Ketua Jurusan Teknik Elektro Universitas Sanata Dharma dan Dosen Pembimbing TA. Terima kasih atas bimbingan yang selama ini telah diberikan kepada saya.

3. Ibu Ir.Th.Prima Ari, M.T. selaku Dosen Pembimbing Akademik Teknik Elektro angkatan 2006.

4. Seluruh Dosen Teknik Elektro yang selama lima tahun ini telah membagikan ilmunya yang sangat berguna kepada saya.

5. Seluruh Staff Universitas Sanata Dharma, yang atas kerja kerasnya, membuat perkuliahan menjadi terasa nyaman.

6. Bapak, Ibu dan Kakak yang telah memberikan banyak doa, semangat, dukungan baik moril maupun finansial serta cinta yang begitu besar, selalu ada dan tak akan pernah berhenti.

7. Dominikus Catur Edi Wasesa yang telah memberikan support, semangat, dukungan sehingga TA ini dapat selesai.

8. Serta semua pihak yang telah membantu kelancaran dalam penulisan tugas akhir ini. Saya mengucapkan banyak terima kasih.

Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada laporan tugas akhir ini. Saran dan kritik sangat penulis harapkan untuk perbaikan-perbaikan dimasa yang akan datang. Akhir kata, penulis berharap tulisan ini bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan serta berbagai pengguna pada umumnya.

Yogyakarta,25 Agustus 2011

(11)

xi

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN JUDUL DALAM BAHASA INGGRIS ... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ...iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERSEMBAHAN DAN MOTO HIDUP ...vi

LEMBAR PERNYATAAN PERSETUJUAN ... vii

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii

INTISARI ... viii

ABSTRACT ...ix

KATA PENGANTAR ... x

DAFTAR ISI ...xi

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xvi

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Tujuan dan Manfaat ... 2

1.3. Batasan Masalah ... 2

1.4. Metodologi Penelitian ... 3

BAB II LANDASAN TEORI ... 5

2.1. Suara ... 5

2.2. MFCC (Mel Frequency Cepstrum coefficients) ... 6

2.2.1 Konversi Analog Menjadi Digital ... 8

2.2.2 Pre-emphasize Filtering ... 9

2.2.3 Frame Blocking ... 10

2.2.4 Windowing ... 11

2.2.5 Analisis Fourier ... 14

2.2.6 Discrete Fourier Transform (DFT) ... 15

2.2.7 Fast Fourier Transform (FFT) ... 16

2.2.8 Mel Frequency Warping ... 18

2.2.9 Discrete Cosine Transform (DCT) ... 20

2.2.10 Cepstral Liftering ... 21

2.3. Hidden Markov Model (HMM) ... 22

2.3.1 Observasi ... 22

(12)

xii

2.3.3 Estimasi ... 24

2.3.4 Rantai Markov ... 27

2.3.5 Tipe HMM... 27

2.3.6 Elemen HMM ... 28

2.3.7 Pengenalan Suara dengan HMM ... 29

2.3.8 Algoritma Baum Welch ... 29

2.3.9 Algoritma Viterbi ... 31

2.4. Catu daya ... 32

2.5. Mikrokontroler ATmega8535 ... 33

2.5.1 Timer0 ... 33

2.5.2 Register pengendali Timer0 ... 33

2.5.3 Mode operasi ... 35

2.6. Motor servo ... 37

2.7. Komunikasi Serial RS232 ... 37

BAB III RANCANGAN PENELITIAN ... 41

3.1. Arsitektur Sistem ... 41

3.2. Diagram Alir Sistem ... 42

3.3. Proses Pemodelan ... 43

3.3.1 MFCC ... 44

3.4. Subsistem Software ... 45

3.4.1 Subsistem Software Pada PC ... 45

3.4.1.1. Pengenalan ... 46

3.4.1.2. Viterbi ... 47

3.4.2 Subsistem Software Pada Mikrokontroler ... 48

3.5. Subsistem Hardware ... 49

3.5.1 Perancangan Prototype Pintu Geser ... 49

3.5.2 Perancangan Pin Mikrokontroler ATmega8535 ... 50

3.5.3 Motor Servo ... 50

3.5.4 Indikator Kesalahan ... 51

3.6. Komunikasi Serial RS232 ... 51

3.7. Proses Evaluasi ... 52

3.7.1 Proses Evaluasi Subsistem Software... 52

3.7.2 Proses Evaluasi Subsistem Hardware ... 53

BAB IV HASIL DAN PEMBAHASAN ... 54

4.1. Implementasi ... 54

(13)

xiii

4.1.2 Implementasi Antarmuka Subsistem Software... 56

4.1.1.1 Halaman Utama ... 57

4.1.1.2 Halaman Sistem ... 57

4.1.1.3 Halaman Bant uan ... 62

4.1.3 Implementasi Antarmuka Subsistem Hardware ... 63

4.1.4 Implementasi Komunikasi Subsistem Software dan Hardware ... 64

4.2. Hasil Pengujian ... 65

4.2.1. Subsistem Software ... 65

4.2.2. Subsistem Hardware... 72

BAB V KESIMPULAN DAN SARAN ... 74

5.1. Kesimpulan ... 74

5.2. Saran ... 74

(14)

xiv

DAFTAR GAMBAR

Gambar 2.1 Organ Pembetuk Suara Manusia[2] ... 5

Gambar 2.2 Contoh sinyalsuara [3] ... 7

Gambar 2.3 Blok diagram untuk MFCC [3] ... 7

Gambar 2.4 Proses pembentukan sinyaldigital [3] ... 8

Gambar 2.5 Contoh dari pre-emphasize pada sebuah frame [5] ... 9

Gambar 2.6 Magnitude response dari pre-emphasize filter untuk nilai α yang berbeda [5] 10 Gambar 2.7 Short Term Spectral Analysis [5] ... 11

Gambar 2.8 Bentuk gelombang dari Hamming dan Rectangular window beserta dengan mnagnitude hasil dan proses FFT [5] ... 13

Gambar 2.9 Contoh wideband spectrogram [5] ... 14

Gambar 2.10 Contoh narrowband spectrogram [5] ... 14

Gambar 2.11 Tiga Gelombang Sinusoidal dan Superposisinya [5] ... 15

Gambar 2.12 Domain Waktu menjadi Domain Frekuensi [5] ... 16

Gambar 2.14 Pembagian sinyal suara menjadi dua kelompok [5] ... 17

Gambar 2.15 Magnitude dari rectangular dan triangular filterbank [5] ... 18

Gambar 2.16 Prinsip Frekuensi Warping [5] ... 19

Gambar 2.17 Triangular filterbank dengan mel scale [5] ... 20

Gambar 2.18 Perbandingan spectrum dengan dan tanpa cepstral liftering ... 21

Gambar 2.19 State HMM ... 23

Gambar 2.20 Algoritma Viterbi ... 24

Gambar 2.21 Diagram alir untuk estimasi ... 25

Gambar 2.22 Contoh proses Pembelajaran dan Pengenalan ... 27

Gambar 2.23 Rantai Markov ... 27

Gambar 2.24 HMM model ergodic ... 28

Gambar 2.25 HMM model Kiri-kanan ... 28

Gambar 2.26 ATmega8535 [11] ... 33

Gambar 2.27 Pulsa PWM [11] ... 36

Gambar 2.28 Pulsa Fast PWM [11] ... 36

Gambar 2.29 Konfigurasi Konektor DB9 [12] ... 38

Gambar 2.30 Konfigurasi IC MAX232 [13] ... 39

Gambar 2.31 Perbedaan Level Tegangan TTL dan RS232 [14] ... 39

Gambar 3.1 Arsitektur umum ... 41

Gambar 3.2 Diagram alir sistem ... 42

Gambar 3.3 Proses Pemodelan ... 43

Gambar 3.4 Diagram blok MFCC ... 45

Gambar 3.5 Cara kerja sistem ... 46

Gambar 3.6 Proses Pengenalan ... 47

Gambar 3.7 Proses Viterbi ... 48

Gambar 3.8 Pengontrolan Penggerak... 49

Gambar 3.9 Konfigurasi kabel motor servo ... 50

Gambar 3.10 Rangkaian indikator kesalahan ... 51

Gambar 3.11 Perancangan RS232 ... 52

Gambar 4.1 Implementasi Sistem ... 54

Gambar 4.2 Halaman Utama ... 57

Gambar 4.3 Halaman Sistem ... 58

(15)

xv

Gambar 4.5 Tampilan Text Informasi Perekaman Selesai ... 59

Gambar 4.6 Tampilan Text Informasi Hasil Pengenalan Buka ... 61

Gambar 4.7 Tampilan Text Informasi Hasil Pengenalan Tutup ... 62

Gambar 4.8 Halaman Bantuan... 62

Gambar 4.9 Tampilan Utama Sistem Hardware ... 63

Gambar 4.10 Tampilan Pintu Geser pada Posisi Terbuka ... 64

(16)

xvi

DAFTAR TABEL

Tabel 1.1 Confusion Matrix. ... 4

Tabel 2.1 Fungsi-fungsi window dan formulanya ... 12

Tabel 2.2 Prescaler Timer0 ... 34

Tabel 2.3 Mode operasi ... 34

Tabel 2.4 Mode Fast PWM ... 34

Tabel 2.5 Konfigurasi Pin dan Nama Bagian Konektor Serial DB9 [12] ... 38

Tabel 3.1 Pin mikrokontroler yang digunakan ... 50

Tabel 3.2 Confusion Matrix ... 53

Tabel 4.1 Tingkat Akurasi Hasil Pengujian (dalam %) ... 66

Tabel 4.2 Confusion Matrix Hasil Pengujian ... 66

Tabel 4.3 Confusion matrix 5ms 11state dan 6ms 14state ... 67

Tabel 4.4 Confusion matrix 4ms 18state dan 6ms 18state ... 67

Tabel 4.5 Pengenalan untuk kombinasi window-size 5ms jumlah state 11 ... 69

Tabel 4.6 Pengenalan untuk kombinasi window-size 6ms jumlah state 14 ... 69

Tabel 4.7 Pengenalan untuk kombinasi window-size 4ms jumlah state 18 ... 70

Tabel 4.8 Pengenalan untuk kombinasi window-size 6ms jumlah state 18 ... 70

(17)

1

BAB I

PENDAHULUAN

1.1.

Latar Belakang

Perkembangan dunia teknologi di bidang pengolahan suara mengalami perkembangan yang cukup pesat. Saat ini sinyal informasi yang dikirimkan tidak hanya berupa data teks tetapi juga suara manusia. Suara manusia sangat unik dan berbeda satu sama lain sehingga memerlukan pengolahan secara khusus, yaitu dengan proses pengolahan suara. Salah satu aplikasi yang dapat digunakan untuk proses pengolahan suara adalah speech recognition. Speech recognition merupakan upaya agar manusia dan mesin dapat berkomunikasi dengan media suara [1].

Salah satu metode yang paling sering digunakan dalam pengenalan suara atau ucapan adalah Jaringan Saraf Tiruan (JST) dan Hidden Markov Model (HMM). Dalam

speech recognition terdapat beberapa permasalahan yang sering muncul dan berbeda untuk setiap permasalahannya misalnya kecepatan pengenalannya, ketepatan pengenalannya, dll. Sebagian permasalahan ini telah dapat diatasi oleh julius speech recognition yaitu suatu modul pengolahan sinyal wicara berkecepatan tinggi yang berbasis pada N-Gram dan HMM accoustic model [1]. Saat ini telah terdapat HTK (Hidden Markov Model Toolkit) yaitu suatu tool atau perangkat lunak yang mudah digunakan untuk membangun dan memanipulasi HMM.

HMM sendiri merupakan suatu sistem yang memodelkan simbol ke dalam suatu

mesin finite state (keadaan yang terbatas), sehingga diketahui simbol apa yang dapat mewakili sebuah parameter vektor dari sebuah kata yang dimasukkan ke dalam mesin dan diestimasi berulang-ulang hingga dihasilkan parameter observasi dengan mean dan kovarian yang konvergen untuk setiap statenya. Dengan tool ini maka pembuatan sistem pengenalan sinyal suara manusia dapat lebih bagus dan rapi (untuk setiap kata dari orang yang berbeda dan logat dari orang yang berbeda pula).

(18)

ini berupa pintu geser yang diaktifkan menggunakan suara manusia. Penggunaan suara manusia sebagai kata kunci digunakan untuk menggantikan sistem kunci manual yang ada saat ini. Penggunaan suara sebagai kata diharapkan akan mempermudah user karena tidak perlu membawa kunci saat pergi meninggalkan rumah dan user juga tidak perlu khawatir kunci tertinggal ataupun hilang.

Hasil dari pembuatan sistem ini dapat melengkapi sistem smart house/ rumah pintar yang kini banyak dikembangkan. Seperti yang diketahui, smart house/ rumah pintar dirancang dan dibangun sebagai rumah impian masa depan. Rumah impian masa depan ini menggunakan teknologi terkini, di mana semua yang ada dalam rumah tersebut dapat dioperasikan secara otomatis.

Dalam implementasinya sistem yang akan dibuat akan bekerja apabila user ingin membuka pintu geser. Suara user akan diproses dan dicocokkan dengan suara yang telah tersimpan dalam sistem. Jika suara user memiliki pola yang sama dengan pola suara yang telah tersimpan maka sistem akan mengaktifkan pintu geser. Sedangkan jika pola suara berbeda maka pintu geser tidak akan aktif.

1.2.

Tujuan dan Manfaat

Tujuan dari penelitian ini adalah menghasilkan sebuah prototype pintu geser yang diaktifkan menggunakan suara manusia. Pintu geser hanya aktif jika menerima masukan berupa kata dari orang yang sama seperti yang telah tersimpan di dalam sistem. Manfaat dari penelitian ini adalah sebagai pengganti sistem kunci manual.

1.3.

Batasan Masalah

Batasan-batasan masalah dalam pengembangan sistem ini adalah sebagai berikut: 1. Proses pengolahan suara dilakukan oleh Personal Computer (PC)

2. Metode yang digunakan untuk proses pengenalan kata adalah Hidden Markov Model

(HMM ).

3. Metode yang digunakan untuk feature extraction (ekstraksi ciri) adalah Mel Frequency Cepstrum Coeffisients (MFCC).

(19)

5. Penggendalian pintu dilakukan menggunakan mikrokontroler ATmega8535. 6. Motor yang digunakan untuk menggerakkan pintu adalah motor servo.

7. Sistem bersifat dependent, artinya sistem hanya dapat digunakan oleh orang tertentu.

1.4.

Metodologi Penelitian

Metodologi yang akan digunakan dalam pengembangan sistem ini adalah sebagai berikut: a.Pengumpulan bahan-bahan referensi / studi pustaka

Tahap ini bertujuan untuk mencari bahan-bahan referensi yang dapat digunakan untuk menunjang kebutuhan sistem yang akan dibuat. Penulis akan mengumpulkan serta meninjau berbagai bahan atau referensi yang terkait dengan metode HMM.

b.Menentukan variabel yang terkait

Tahap ini bertujuan untuk menemukan variabel-variabel yang terkait dan digunakan dalam pengembangan sistem. Pada tahap ini penulis mengambil contoh suara

user yang akan dijadikan sebagai model dari pengaktifan sistem. c.Perancangan subsistem hardware dan software

Tahap ini bertujuan untuk mencari desain yang optimal dari sistem yang akan dibuat dengan mempertimbangkan berbagai faktor permasalahan dan kebutuhan yang telah ditentukan. Untuk perancangan subsistem hardware, penulis akan merancang prototype

pintu, peletakan motor penggerak, dan minimum sistem mikrokontroler. Untuk perancangan subsistem software, penulis mempelajari dan menuliskan tentang speech recognition, metode HMM yang memuat algoritma Baum Welch dan algoritma Viterbi,

feature extraction (ekstraksi ciri) yang menggunakan metode MFCC, dan blok diagram

pengolahan suara dan perancangan kontrol penggerak.

d.Pembuatan subsistem hardware dan software

Pada tahap ini penulis akan membuat subsistem hardware dan software. Subsistem

(20)

mengidentifikasi suara user. Pada proses kontrol penggerak, penulis akan mengatur pergerakan pintu, untuk membuka dan menutup sesuai dengan hasil identifikasi pada proses pengolahan suara.

e.Proses pengambilan data dan pengujian

Pengambilan data dan pengujian sistem dilakukan menggunakan suara user dan suara orang lain. Suara orang lain digunakan sebagai pembanding untuk menguji apakah sistem dapat dibuka oleh orang lain selain user. Dalam proses ini digunakan 10 orang sebagai sampel, 5 pria dan 5 wanita. Setiap sampel akan merekam suaranya sebanyak 10 kali untuk setiap kata yang digunakan sebagai kata sandi pengoperasian pintu. Pada pengujian langsung dilakukan dengan menggunakan suara yang direkam pada saat itu juga.

f.Analisa dan penyimpulan hasil penelitian

Analisa dilakukan dengan menggunakan confusion matrix untuk penghitungan akurasi dari hasil pengujian sistem yang dibuat. Confusion matrix merupakan matrix

berbentuk bujur sangkar. Banyaknya kolom dan baris adalah sama yaitu sebanyak N, dimana N adalah banyaknya model suara yang ada. Tabel 1.1 merupakan ilustrasi dari

confusion matrix.

Tabel 1.1 Confusion Matrix.

Diagonal dari tabel 1.1 yang diblok merupakan gambaran dari jumlah data yang benar dalam pengenalan. Persamaan yang digunakan untuk menghitung akurasi yaitu :

% 100 _

_

_

   

  

data jumlah

dikenal data

jumlah

akurasi (1.1)

(21)

5

BAB II

LANDASAN TEORI

2.1.

Suara

Suara adalah sebuah sinyal yang merambat melalui media perantara. Suara dapat dihantarkan dengan media air, udara maupun benda padat. Dengan kata lain, suara adalah gelombang yang merambat dengan frekuensi dan amplitudo tertentu. Suara yang dapat didengar oleh manusia berkisar antara 20 Hz sampai dengan 20KHz, dimana Hz adalah satuan frekuensi yang berarti banyak getaran per detik (cps / cycle per second) [2].

Perlengkapan produksi suara pada manusia terdapat pada gambar 2.1 yang secara garis besar terdiri dari jalur suara (vocal track) dan jalur hidung (nasal track). Jalur suara dimulai dari pita suara (vocal cords), celah suara (glottis) dan berakhir pada bibir. Jalur hidung dimulai dari bagian belakang langit-langit (velum) dan berakhir pada cuping hidung (nostrils).

Gambar 2.1 Organ Pembetuk Suara Manusia[2]

(22)

tenggorok ini terdapat pita suara. Pita suara ini kemudian bergetar dengan frekuensi tertentu karena adanya aliran udara tersebut sehingga dihasilkan suara. Suara yang dihasilkan ini berbeda-beda bergantung pada posisi lidah, bibir, mulut dan langit-langit pada saat itu.

Suara yang dihasilkan terbagi menjadi tiga bagian yaitu voiced sound, unvoiced sound serta plosive sound. Voiced sound terjadi jika pita suara bergetar dengan frekuensi 50 Hz sampai 250 Hz. Contoh voiced sound adalah bunyi pada kata ‘ah”, Unvoiced sound

teijadi jika pita suara tidak bergetar sama sekali. Contoh unvoiced sound ialah bunyi pada kata “shh”. Sedangkan piosive sound terjadi jika pita suara tertutup sesaat dan kemudian tiba-tiba membuka. Contoh plosive sound ialah bunyi “beh” pada kata benar dan “pah” pada kata pasar [2].

2.2.

MFCC (Mel Frequency Cepstrum coefficients)

MFCC(Mel Frequency Cepstrum Coefficients) merupakan salah satu metode, yang banyak digunakan dalam bidang speech technology, baik speaker recognition maupun

speech recognition. Metode ini digunakan untuk melakukan feature extraction (ekstraksi ciri), sebuah proses yang mengkonversikan sinyal suara menjadi beberapa parameter. Tujuan akhir dari proses feature extraction adalah pemberian parameter suara ke dalam deretan feature vector yang berupa ringkasan dan informasi yang relevan dari suara tersebut. Feature yang diekstrak diharapkan mampu membedakan suara yang serupa, sehingga model dapat dibuat tanpa memerlukan data training yang besar. Keunggulan dari metode ini adalah [3]:

1. Mampu untuk menangkap karakteristik suara yang sangat penting bagi pengenalan suara atau dengan katalain, mampu menangkap informasi-informasi penting yang terkandung dalam sinyal suara.

2. Menghasilkan data seminimal mungkin, tanpa menghilangkan informasi-informasi penting yang ada.

3. Mereplikasi organ pendengaran manusia dalam melakukan persepsi terhadap sinyal suara.

Perhitungan yang dilakukan dalam MFCC menggunakan dasar dari perhitungan

(23)

menunjukkan karakteristik sinyal suara yang stationary. Tetapi bila dilakukan dalam periode waktu yang lebih panjang karakteristik sinyal suara akan terus berubah sesuai dengan kata yang diucapkan.

Gambar 2.2 Contoh sinyalsuara [3]

MFCC feature extraction merupakan adaptasi dan sistem pendengaran manusia, dimana sinyal suara akan di-filter secara linear untuk frekuensi rendah (di bawah 1000 Hz) dan secara logaritmik untuk frekuensi tinggi (di atas 1000 Hz). Berikut ini adalah blok diagram untuk MFCC [3].

(24)

2.2.1

Konversi Analog Menjadi Digital

Sinyal-sinyal natural pada umumnya seperti sinyal suara merupakan sinyal kontinyu dimana memiliki nilai yang tidak terbatas. Sedangkan pada komputer, semua sinyal yang dapat di proses oleh komputer hanyalah sinyal diskrit atau sering dikenal dengan isilah sinyal digital. Agar sinyal natural dapat diproses oleh komputer, maka harus diubah terlebih dahulu dari data sinyal kontinyu menjadi sinyal diskrit. Hal itu dapat dilakukan melalui tiga proses, diantaranya adalah proses pencuplikan data, proses kuantisasi, dan proses pengkodean [3].

Proses pencuplikan adalah suatu proses untuk mengambil data sinyal continue

untuk setiap periode tertentu. Dalam melakukan proses pencuplikan data, berlaku aturan Nyquist, yaitu bahwa frekuensi pencuplikan (sampling rate) minimal harus 2 kali lebih tinggi dari frekuensi maksimum yang akan di sampling. Jika sinyal pencuplikan kurang dan 2 kali frekuensi maksimum sinyal yang akan di sampling, maka akan timbul efek

aliasing. Aliasing adalah suatu efek dimana sinyal yang dihasilkan memiliki frekuensi yang berbeda dengan sinyal aslinya.

Proses kuantisasi adalah proses untuk membulatkan nilai data ke dalam bilangan-bilangan tertentu yang telah ditentukan terlebih dahulu. Semakin banyak level yang dipakai maka semakin akurat pula data sinyal yang disimpan tetapi akan menghasilkan ukuran data besar dan proses yang lama. Proses pengkodean adalah proses pemberian kode untuk tiap-tiap datasinyal yang telah terkuantisasi berdasarkan level yang ditempati [3].

Berikut adalah gambaran contoh proses pembentukan sinyal digital.

(25)

2.2.2

Pre-emphasize Filtering

Pre-emphasize merupakan salah satu jenis filter yang sering digunakan sebelum sebuah sinyal diproses lebih lanjut. Filter ini mempertahankan frekuensi-frekuensi tinggi pada sebuah spektrum yang umumnya tereliminasi pada saat proses produksi suara. Tujuan dan pre-emphasize filter ini adalah:

1. Mengurangi noise ratio pada sinyal, sehingga dapat meningkatkan kualitas sinyal [1, 4] .

2. Menyeimbangkan spektrum dari voiced sound [5, 6]. Pada saat memproduksi

voiced sound, glottis manusia menghasilkan sekitar -12 dB octave slope. Namun ketika energi akustik tersebut dikeluarkan melalui bibir, terjadi peningkatan sebesar +6 dB. Sehingga sinyal yang terekam oleh microphone adalah sekitar -6 dB octave slope. Dampak dan efek ini dapat dilihat pada gambar 2.5.

Gambar 2.5 Contoh dari pre-emphasize pada sebuah frame [5]

(26)

digunakan dalam pre-emphasize filter adalah sebagai berikut:

 

z 1 z1

H (2.1)

Dimana 0.9 ≤ α ≤ 1.0, dan α € R

Formula di atas dapat diimplementasikan sebagai first order differentiator,sebagai berikut:

   

nsns

n1

y (2.2)

y[n] = Sinyal hasil pre-einphasie filter s[n] = Sinyal sebelum pre-emphasize filter

Pada umumnya nilai α yang paling sering digunakan adalah antara 0.9 sampai dengan 1.0. Respon frekuensi dari filter tersebut adalah:

 

jw

e

H1ejw

cosw jsinw

1 

(2.3)

Sehingga, squared magnitude response dapat dihitung dengan persamaan berikut :

 

jw

e

H

1cosw

2 2sin2w

12cosw2cos2w2sin2w

) 2 sin 2 (cos cos

2

1 w 2 ww

2

cos 2

1

w (2.4)

Magnitude response (dB scale) untuk nilai α yang berbeda dapat dilihat pada Gambar 2.6.

Gambar 2.6 Magnitude response dari pre-emphasize filter untuk nilai α yang berbeda [5]

2.2.3

Frame Blocking

(27)

dari organ produksi vokal, sinyal harus diproses secara short segments (short frame). Panjang frame yang biasa digunakan untuk pemrosesan sinyal adalah antara 10-30 milidetik. Panjang frame yang digunakan, sangat mempengaruhi keberhasilan dalam analisa spektral. Di satu sisi, ukuran dari frame harus sepanjang mungkin untuk dapat menunjukkan resolusi frekuensi yang baik. Tetapi di lain sisi, ukuran frame juga harus cukup pendek untuk dapat menunjukkan resolusi waktu yang baik.

Proses frame ini dilakukan terus sampai seluruh sinyal dapat terproses. Selain itu, proses ini umumnya dilakukan secara overlapping untuk setiap frame. Panjang daerah

overlap yang umum digunakan adalah kurang lebih 30% sainpai 50% dari panjang frame

[5].

Gambar 2.7 Short Term Spectral Analysis [5]

2.2.4

Windowing

Proses framing dapat menyebabkan terjadinya kebocoran spektral (spectral leakage) atau aliasing. Aliasing adalah timbulnya sinyal baru dimana memiliki frekuensi yang berbeda dengan sinyal aslinya. Efek ini dapat terjadi karena rendahnya jumlah

sampling rate, ataupun karena proses frame blocking dimana menyebabkan sinyal menjadi

discontinue. Untuk mengurangi kemungkinan terjadinya kebocoran spektral, maka hasil dari proses framing harus melewati proses window.

(28)

fungsi window yang baik harus menyempit pada bagian main lobe, dan melebar pada bagian side lobe. Berikut adalah representasi fungsi window terhadap sinyal suara yang

di-input-kan.

 

n x

   

n wn

xi n=0,1,…,N-1 (2.5)

x(n) = Nilai Sampel Sinyal

xi(n) = Nilai Sampel dan Frame sinyal ke i w(n) = Fungsi window

N = Frame Size, merupakan kelipatan 2.

Tabel 2.1 Fungsi-fungsi window dan formulanya

Name of window Time domain sequance

Rectangular 1

Bartlett 1 2 1 2 1     M m n Blackman 1 4 cos 08 . 0 1 2 cos 5 . 0 42 . 0     M n M n Hamming 1 2 cos 46 . 0 54 . 0   M n Hanning         1 2 cos 1 2 1 M n Kaiser                                     2 1 2 1 2

1 2 2

M Io M n M Io Lanczos

                                       2 1 2 1 2 1 2 1 2 sin M M n M M n L>0, 1, 2 1  M

n

2 1  M

, 0 < α < 1

Tukey





                2 1 1 2 1 1 cos 1 2 1 M M n 2 ) 1 (M
(29)

Setiap fungsi window mempunyai karakteristik masing-masing. Diantara berbagai fungsi window tersebut, Blackman window menghasilkan sidelobe level yang paling tinggi (kurang Iebih -58 dB), tetapi fungsi ini juga menghasilkan noise paling besar (kurang lebih 1.73 BINS). Oleh karena itu fungsi ini jarang sekali digunakan baik untuk speaker recognition, maupun speech recognition.

Fungsi window rectangle adalah fungsi window yang paling mudah untuk diaplikasikan. Fungsi ini menghasilkan noise yang paling rendah yaitu sekitar 1.00 BINS. Tetapi sayangnya fungsi ini memberikan sidelobe level yang paling rendah.

Sidelobe level yang rendah tersebut menyebabkan besarnya kebocoran spektral yang terjadi dalam proses feature extraction.

Fungsi window yang paling sering digunakan dalam aplikasi speaker recognition

adalah Hamming Window. Fungsi window ini menghasilkan sidelobe level yang tidak terlalu tinggi (kurang lebih -43 dB), selain itu noise yang dihasilkan tidak terlalu besar (kurang lebih 1.36 BINS).

Gambar 2.8 menunjukkan bentuk gelombang dalam time domain dan magnitude

dari Hamming window dan rectangular window. Dari contoh gambar 2.8 dapat diketahui bahwa kebocoran spektral lebih sedikit terjadi pada hamming window dari pada pada

rectangular window.

Gambar 2.8 Bentuk gelombang dari Hamming dan Rectangular window beserta dengan

(30)

2.2.5

Analisis Fourier

Analisis Fourier adalah sebuah metode yang memungkinkan untuk melakukan analisa terhadap spectral properties dari sinyal yang di-input-kan. Representasi dari

spectral properties sering disebut sebagai spectrogram. Gambar 2.9 dan Gambar 2.10 merupakan contoh dan spectrogram.

Gambar 2.9 Contoh wideband spectrogram [5]

Gambar 2.10 Contoh narrowband spectrogram [5]

(31)

Inti dari transformasi fourier adalah menguraikan sinyal ke dalam komponen-komponen bentuk sinus yang berbeda-beda frekuensinya. Gambar 2.11 menunjukkan tiga gelombang sinus dan superposisinya. Sinyal semula yang periodik dapat diuraikan menjadi beberapa komponen bentuk sinus dengan frekuensi yang berbeda. Jika sinyal semula tidak periodik maka transformasi fourier-nya merupakan fungsi frekuensi yang continue, artinya merupakan penjumlahan bentuk sinus dari segala frekuensi. Jadi dapat disimpulkan bahwa transformasi fourier merupakan representasi frekuensi domain dari suatu sinyal. Representasi ini mengandung informasi yang tepat sama dengan kandungan informasi dan sinyalsemula.

Gambar 2.11 Tiga Gelombang Sinusoidal dan Superposisinya [5]

2.2.6

Discrete Fourier Transform (DFT)

DFT merupakan perluasan dari transformasi fourier yang berlaku untuk sinyal

-sinyal diskrit dengan panjang yang terhingga. Semua -sinyal periodik terbentuk dari gabungan sinyal-sinyal sinusoidal yang menjadi satu yang dalam perumusannya dapat ditulis [5]:

 

 

   1

0

/ 2

N n

N nk j

e n s k

S , 0 ≤ k ≤ N-1 (2.6)

N = Jumlah sampel yang akan diproses (N € N) s(n) = Nilai Sampel Sinyal

k = Variabel frekuensi discrete, dimana akan bernilai

(32)

Dengan rumus diatas, frekuensi pembentuk dari suatu sinyal suara dalam domain waktu dapat dicari. Hal ini adalah tujuan dari penggunaan analisa fourier

pada data suara, yaitu untuk merubah data dari domain waktu menjadi data spektrum di domain frekuensi. Untuk pemrosesan sinyal suara, hal ini sangat menguntungkan karena data pada domain frekuensi dapat diproses dengan lebih mudah dibandingkan data pada domain waktu. Karena pada domain frekuensi, keras lemah suara tidak seberapa berpengaruh.

Gambar 2.12 Domain Waktu menjadi Domain Frekuensi [5]

Untuk mendapatkan spektrum dari sebuah sinyal dengan DFT diperlukan N buah sample data berurutan pada domain waktu. yaitu data x{m] sampai dengan x[m+N-1]. Data tersebut dimasukkan dalam fungsi DFT maka akan dihasilkan N buah data. Namun karena hasil dari DFT adalah simetris, maka hanya N/2 data yang diambil sebagai spectrum[5].

2.2.7

Fast Fourier Transform (FFT)

(33)

Gambar 2.13 Grafik perbandingan kecepatan Direct calculation dengan Algoritma FFT [5]

Jumlah sample sinyal yang akan di-input-kan ke dalam algoritma ini harus merupakan kelipatan dua (2M). Algoritma Fast Fourier Transform dimulai dengan membagi sinyal menjadi dua bagian, dimana bagian pertama berisi nilai sinyal suara pada indeks waktu genap, dan sebagian yang lain berisi nilai sinyal suara pada indeks waktu ganjil.Visualisasi dan proses ini dapat dilihat pada Gambar 2.14.Setelah itu, akan dilakukan analisis Fourier (recombine algebra) untuk setiap bagiannya. Proses pembagian sinyal suara tersebut terus dilakukan sampai didapatkan dua serinilai sinyal suara [5].

Gambar 2.14 Pembagian sinyal suara menjadi dua kelompok [5]

(34)

Hasil dari proses FFT ini adalah simetris antara index 0 - (N/2 -1) dan (N/2) -(N-I). Oleh karena itu, umumnya hanya blok pertama saja yang akan digunakan dalam proses-proses selanjutya[5].

2.2.8

Mel Frequency Warping

Mel Frequency Warping umumnya dilakukan dengan menggunakan Filterbank.

Filterbank adalah salah satu bentuk dari filter yang dilakukan dengan tujuan untuk mengetahui ukuran energi dari frequencyband tertentu dalam sinyal suara [5]. Filterbank

dapat diterapkan baik pada domain waktu maupun domain frekuensi, tetapi untuk keperluan MFCC, filterbank harus diterapkan dalam domain frekuensi. Gambar 2.18 menunjukkan dua jenis filterbankmagnitude. Dalam kedua kasus pada Gambar 2.18 filter

yang dilakukan adalah secara linear terhadap frektLensi 0-4 kHz.

Gambar 2.15 Magnitude dari rectangular dan triangular filterbank [5]

Filterbank menggunakan representasi konvolusi dalam melakukan filter terhadap sinyal. Konvolusi dapat dilakukan dengan melakukan multiplikasi antara spektrum sinyal dengan koefisien filterbank. Berikut ini adalah rumus yang digunakan dalam perhitungan

filterbank.

 

i S

   

jH j

Y i

N j

1

(35)

N = Jumlah magnitudespectrum (N € N) S[j] = Magnitudespectrum pada frekuensi j

Hi[j] = Koeiisien filterbank pada frekuensi j (1 ≤ i ≤M) M = Jumlah channel dalam filterbank

Persepsi manusia terhadap frekuensi dari sinyal suara tidak mengikuti linearscale. Frekuensi yang sebenarnya (dalam Hz) dalam sebuah sinyal akan diukur manusia secara subyektif dengan menggunakan mel scale. Mel frequency scale adalah linear frekuensi

scale pada frekuensi dibawah 1000 Hz, dan merupakan logarithmicscale pada frekuensi diatas 1000 Hz [5].

Gambar 2.16 Prinsip Frekuensi Warping [5]

Berikut ini adalah formula untuk menghitung mel scale.

 

  

   

700 1 log *

2595 10

f f

mel (2.8)

Mel(f) = Fungsi Mel Scale f = Frekuensi

(36)

terdistribusikan secara linear, dan diatas 1 kHz akan terdisribusi secara logarithmic.

Gambar 2.17 Triangular filterbank dengan mel scale [5]

Dalam aplikasi speaker recognition, jumlah channel filterbank yang digunakan akan sangat berpengaruh terhadap keberhasilan aplikasi tersebut. Semakin besar jumlah

channel yang digunakan akan semakin meningkatkan keberhasilan aplikasi, tetapi akan membutuhkan waktu lebih besar untuk melakukan proses tersebut, begitu pula sebaliknya [5].

2.2.9

Discrete Cosine Transform (DCT)

DCT merupakan langkah terakhir dari proses utama MFCC feature extraction. Konsep dasar dari DCT adalah mendekorelasikan mel spectrum sehingga menghasilkan representasi yang baik dari properti spektral lokal. Pada dasarnya konsep dari DCT sama dengan inverse fourier transfom. Namun hasil dari DCT mendekati PCA (Principle Component Analysis) [9]. PCA adalah metode statistik klasik yang digunakan secara luas dalam analisa data dan kompresi.

Berikut ini adalah formula yang digunakan untuk menghitung DCT.

  

 

       

K

k n S

C

K k

k n

2 1 cos

log

1

, n=1,2,…,K (2.9)

Sk = Keluaran dari proses filterbank pada index k K = Jumlah koefisien yang diharapkan

Koefisien ke nol dari DCT pada umumnya akan dihilangkan, walaupun sebenarnya mengindikasikan energi dari frame sinyal tersebut. Hal ini dilakukan karena berdasarkan penelitian-penelitian yang pernah dilakukan, koefisien ke nol ini tidak reliable terhadap

(37)

2.2.10

Cepstral Liftering

Cepstral hasil dari proses utarna MFCC feature extraction, memiliki beberapa kelemahan. Low-order dari cepstral coefficients sangat sensitif terhadap spectral slope, sedangkan bagian high-order sangat sensitif terhadap noise [9]. Oleh karena itu, maka

cepstral liftering menjadi salah satu standar teknik yang diterapkan untuk meminimalisasi sensitifitas tersebut.

Cepstral liftering dapat dilakukan dengan mengimplementasikan fungsi window

terhadap cepstral features.

     

      

0 sin 2 1

L n L

n w

elsewhare L

n1,2,..., (2.10)

L = Jumlah cepstral coefficients n = index dari cepstral coefficients

Cepstral liftering menghaluskan spektrum hasil dari mainprocessor sehingga dapat digunakan lebih baik untuk pattern matching [9]. Gambar berikut ini menunjukkan perbandingan spektrum dengan dan tanpa cepstral liftering.

Gambar 2.18 Perbandingan spectrum dengan dan tanpa cepstral liftering

Berdasarkan Gambar 2.18, dapat dilihat bahwa pola spektrum setelah dilakukannya

cepstral liftering lebih halus daripada spektrum yang tidak melalui tahap cepstral liftering.

(38)

2.3.

Hidden Markov Model (HMM)

Model Markov Tersembunyi atau lebih dikenal sebagai Hidden Markov Model

(HMM) adalah analisis statistika yang memodelkan sinyal suara dan mencari bentuk kata yang paling sesuai. HMM berkembang dengan sangat cepat karena pemodelan ini sangat kaya dalam struktur matematika dan mengacu pada fungsi probabilitas rantai markov [1].

Prinsip umum HMM adalah memodelkan simbol ke dalam sebuah mesin finite state, sehingga diketahui simbol apa yang dapat mewakili sebuah parameter vektor dari sebuah kata dimasukkan ke dalam mesin, dan diestimasi berulang–ulang hingga dihasilkan parameter vektor atau observasi dengan mean dan kovarian yang konvergen untuk setiap statenya [1].

Pada implementasinya sistem pengenalan suara berbasis HMM dibagi menjadi beberapa bagian sebagai berikut [1] :

a. Data preparasi : pembentukan parameter vector (observasi) b. Training : inisialisasi dan estimasi parameter vector c. Testing : pengenalan

2.3.1

Observasi

Pemisahaan kata menjadi simbol yang dilafalkan (phone) menghasilkan rangakaian observasi o untuk setiap kejadian yang mungkin pada saat transisi antar state. Aggap suara sebagai sebuah rangkaian vektor suara atau observasi, yang didefinisikan sebagai berikut [1]:

T o o o

O 1, 2,..., (2.11)

Dimana oT adalah vektor suara yang diobservasi pada saat t. Observasi pada dasarnya menentukan nilai dari persamaan berikut

O

P i | max

arg_  (2.12)

Dimana ωi adalah pengucapan yang ke-i, probabilitas ini tidak dapat dihitung secara langsung tetapi dapat dihitung dengan menggunakan aturan Bayes.

 

  

O P

P O P O

P i i

i

|  | (2.13)

Maka, prioritas kemungkinan P(ωi ) sangat tergantung pada P(O| ωi )

(39)

model1. Markov model adalah mesin finite state yang mengalami perubahan state sekali setiap satuan waktu t pada saat state j dimasuki, vektor suara ot dihasilkan berdasarkan nilai kemungkinan bj(oT). Selanjutnya transisi antara state i ke state j juga merupakan probabilitas diskrit aij. Gambar di bawah menunjukkan contoh dari proses ini dimana lima model state berupa rangakaian state X = 1,2,3,4,5,6 untuk membangun urutan o1 sampai o6 [1].

Gambar 2.19 State HMM

Untuk membangun rangkaian observasi O dengan jumlah state 6. probabilitas diskrit untuk transisi dari state i ke state j ditentukan oleh aij sedangkan bj(ot) adalah probabilitas yang membentuk observasi pada saat t (ot) untuk state j .

Probabilitas O dibangun oleh model M yang melalui seluruh urutan state X dihitung sabagai hasil perkalian antara kemungkinan transisi dan kemungkinan hasil. Jadi untuk rangkaian state X pada gambar di atas.

O,X |M

a12b2

 

o1 a22b2

 

o2 a23b3

 

o3

P  (2.14)

Meskipun demikian hanya rangkaian observasi O yang diketahui dan rangkaian state X yang mendasari adalah tersembunyi. Itu mengapa ini disebut hidden markov model [1].

O|M

X x   ox1bx t

 

ot x   txt1

P (2.15)

2.3.2

Inisialisasi

(40)

state-state HMM dan dimensi horisontal merepresentasikan frame suara. Masing masing titik pada gambar dibawah menunjukkan kemungkinan terhadap frame saat itu dan daerah antar titik menunjukkan kemungkinan transisi [1].

Gambar 2.20 Algoritma Viterbi

Untuk mencari urutan state setiap observasi pada frame suara diamana a35 menunjukkan kemungkinan transisi dari state 3 ke state 5 dan b3(o4) adalah probabilitas pembentukan observasi o3 pada state 3.

Kemungkian masing masing jalur dihitung dengan menjumlah kemungkinan transisi dan kemungkinan keluaran sepanjang path. Pada waktu t masing masing bagian path diketahui untuk semua state i. dapat dihitung dengan persamaan di bawah [1]

 

i

 

 

ij

j

 

t

j t max t1 log a logb o

(2.16)

Konsep path ini sangat berguna untuk suara kontinyu pada umumnya.

2.3.3

Estimasi

Proses estimasi dilakukan dengan menggunakan metode Baum-Welch Re-estimation. Formula Baum-Welch re-estimasi untuk mean dan kovarian pada masing masing state HMM adalah [1]:

 

 

 

T

t j T

t j t j

t L

o t L

1 1

(2.17)

(41)

 



 

  

T

t j T

t j t j t j j

t L

o o

t L

1

1 (2.18)

Estimasi dilakukan terhadap mean dan varian hmm yang mana distribusi keluaran masing masing state adalah komponen gausian, didefinisikan sebagai berikut :

 

 

    

 

i j i j j

t o

o n

t

j e

j o

b

2 1

2 1

(2.19)

Parameter vector akan diestimasi dengan menggunakan algoritma foreward-backward hingga diperoleh nilai probabilitas P(O|M) terbesar berdasarkan observasi pada masing masing state[1]. Perhitungan algoritma Baum-Welch dilakukan berdasarkan diagram alir berikut :

Gambar 2.21 Diagram alir untuk estimasi

(42)

Nilai kemungkinan foreward j

 

t untuk beberapa model M dan N state didefinisaikan sebagai

 

t P

o ot x

 

t j M

j  1,..., ,  |

(2.20)

kemungkinan ini dapat dihitung berdasarkan rumus :

 

 

j

 

t N

j

ij i

j t t ab o

  

 

 

1 2

1

(2.21)

sedangkan nilai kemungkinan backward j

 

t untuk model M dan N state didefinisikan sebagai

 

t P

ot oT x

 

t j M

j  1,..., |  ,

(2.22)

dan dapat dihitung dengan persamaan :

 

   

1 1

1 2

 

a b o t

t j t j

N j

ij

j

(2.23)

berdasarkan persamaan

   

t j t P

o x

 

t j M

j  ,  ,

(2.24)

maka didapat persamaan untuk menentukan nilai probabilitas Lj(t sebagai berikut :

 

t P

x

 

t j O M

Lj   | ,

 

M O P

M j t x o P

| ,

, 

   

t t Pj j

1

 (2.25)

dimana P = P(O|M).

(43)

Gambar 2.22 Contoh proses Pembelajaran dan Pengenalan

2.3.4

Rantai Markov

Algoritma HMM didasari oleh model matematik yang dikenal dengan rantai markov. Rantai markov secara umum ditunjukkan pada gambar 2.23. Beberapa hal yang dapat dijelaskan tentang rantai markov yaitu [1]:

1. Transisi keadaan dari suatu keadaan tergantung pada keadaan sebelumnya. P[qt = j|qt-1 = i, qt-2 = k...] =P[qt = j | qt-1 = i]

2. Transisi keadaan bebas terhadap waktu. aij = P[qt = j | qt-1 = i ]

Gambar 2.23 Rantai Markov

2.3.5

Tipe HMM

(44)

1. HMM ergodic.

Pada HMM model ergodic perpindahan keaadaan satu ke keadaan yang lain semuanya memungkinkan, hal ini ditunjukkan pada Gambar 2.2. [1]

Gambar 2.24 HMM model ergodic

2. HMM Kiri-kanan(Bakis model)

Pada HMM kiri-kanan (Bakis model) perpindahan keadaan hanya dapat berpindah dari kiri kekanan, perpindahan keadaan tidak dapat mundur ke belakang, hal ini ditunjukkan pada Gambar 2.3. [1]

Gambar 2.25 HMM model Kiri-kanan

2.3.6

Elemen HMM

Elemen yang terdapat pada HMM yaitu [1]:

a. N, jumlah dari states pada model. Tiap state diberi nama {1, 2, 3,..., N} dan state pada saat t disimbolkan qt.

b. M, jumlah distinct observation symbols per state. Observation symbols per state disimbolkan V= {v1, v2,.., vM}

c. Probabilitas transisi antar state adalah A = {aij}, dimana : aij = P[qt-1 = j | qt = i ] , 1 ≤ i , j ≤ N

d. Probabilitas observation symbols pada sebuah state , B = {bj(k)}, dimana: bj (k) = P[ot = v | qt = j ] , 1 ≤ k ≤ M

e. Inisial state distribution Π= { Πi }, dimana :

(45)

2.3.7

Pengenalan Suara dengan HMM

Sistem pengenalan suara modern secara umum berdasarkan pada Hidden Markov Models (HMMs). Hidden Markov Models merupakan model statistik di mana mempunyai keluaran rangkaian simbol dan kuantitas. Dengan memiliki sebuah model yang memberikan kemungkinan dari rangkaian akustik data yang telah diobservasi dari sebuah atau banyak kata (rangkaian kata) akan dapat menyebabkan sistem bekerja dengan rangkaian kata tersebut sesuai dengan aplikasi aturan Bayes [1].

) Pr(

) Pr( ) | Pr(

) |

Pr(

acoustics

word word

acoustics acoustics

word  (2.26)

Dari rangkaian data akustik yang ada, Pr(acoustics) adalah konstan dan tidak dapat diabaikan. Pr(word) adalah merupakan kemungkinan terbesar dari suatu kata. Pr(acoustics|word) massa yang paling terlibat di dalam persamaan dan diperoleh dari Hidden Markov Models.

2.3.8

Algoritma Baum Welch

Learning problem melibatkan optimalisasi dari parameter model Φ = (A,B,π) untuk

memperoleh model terbaik sebagai representasi kumpulan pengamatan tertentu. Learning problem sebagai pendekatan menggunakan algoritma Baum Welch dimana algoritma tersebut merupakan suatu prosedur iterative.

Kunci perhitungan parameter pada model adalah perhitungan probabilitas state occupancy. Definisi γt(i) adalah probabilitas state Sipada waktu t, menghasilkan deretan X

dan model Φ. Dituliskan sebagai berikut :

γt(i) = P(s = S | X ,Φ) (2.27)

Persamaan di atas dapat dituliskan dalam forward backward variable sebagai berikut :

   

 |

X P

i i

   

   

N

i

i i

i i

1

(2.28)

(46)

probabilitas pada state Si saat t dan akan menuju ke state Sj saat t+1, yang menghasilkan Φ dan rangkaian observasi X sebagai berikut :

ξt(I,j) = P(st = Si, st+1 = Sj| X, Φ)

Berdasarkan definisi forward backward variable, persamaan di atas dapat dituliskan sebagai berikut :

 

 

 

 

  

|

, 2 2

X P j X b a i j

i ij j

 

 

 

 

 

 

 

 

       N i N

j ij j j ij j X b a t j X b a i j i

2 2 2 2

2 2 ,

(2.29)

Hubungan antara γτ(i) dan ξt(i,j) terlihat pada saat penjumlahan j, menghasilkan

 

N j x i 1

(2.30)

Penjumlahan seluruh bagian dari γτ(i), kecuali t = T, menghasilkan angka berupa kemungkinan state Si dikunjungi. Penjumlahan seluruh bagian dari ξt(i,j), menghasilkan angka berupa kemungkinan transisi dari state Si ke Sj. Estimasi ulang dari parameter model menghasilkan sebagai berikut :

πι = angka kemungkinan pada state Si saat (t = 1) = γτ(i)

i j i ij S state dari transisi n kemungkina angka S ke S state dari transisi n kemungkina angka d _ _ _ _ _ _ _ _ _ _ _ _ 

 

 

     1 1 1 1 , T T ij i j i d

  

   

       1 1 1

1 2 2

T t t T t t j ij t ij i i j X b a d (2.31)

 

j state pada n kemungkina angka X asi mengobserv dan j state pada n kemungkina angka k b k j _ _ _ _ _ _ _ _ _ _ _ 

 

   

   

     1 1 1 T t t T x

x t t j j j j j k b k (2.32)

Setelah mengestimasi ulang parameter model, model baru dari Φ tersebut akan tersebut akan lebih menyerupai deretan observasi X dari pada Φ yang telah diperoleh. Hal

(47)

Algoritma untuk membentuk estimasi parameter HMM dengan Baum-Welch re-estimasi adalah sebagai berikut [1]:

1. Untuk setiap vektor parameter/matrik, alokasikan storage untuk pembilang dan penyebut formula Baum-Welch sebagai acumulator.

2. Hitung kemungkinan foreward dan backward untuk semua state j pada waktu t. 3. Untuk setiap state j dan waktu t, gunakan probabiltas Lj(t) dan vektor observasi

saat ini ot untuk merubah acumulator pada state itu.

4. Gunakan nilai acumulator terakhir untuk menghitung nilai parameter yang baru. 5. Jika nilai P = P(O|M) iterasi saat ini kurang dari iterasi sebelumnya maka berhenti jika tidak ulangi langkah diatas dengan menggunakan nilai parameter yang baru.

Algoritma Baum Welch yang telah dipaparkan di atas merupakan implementasi dari algoritma EM (Expectation Maximization). Di awali dengan inisialisasi perkiraan parameter HMM Φ = (A, B, π), langkah Expectation dan Maximization dijalankan bergantian. Langkah Expectation menghitung expected state occupancy count γ dan state transition count ξ dari probabilitas A dan B sebelumnya yang menggunakan algortima forward-backward. Pada langkah Maximization γ dan ξ digunakan untuk memperoleh

probabilitas A, B, dan π baru. A, B, dan π yang baru tersebut dapat diperoleh dengan menggunakan persamaan 2.30, 2.31 dan 2.32.

2.3.9

Algoritma Viterbi

Algoritma Viterbi adalah algoritma dynamic programming untuk menemukan kemungkinan rangkaian status yang tersembunyi (biasa disebut Viterbi path) yang dihasilkan pada rangkaian pengamatan kejadian, terutama dalam lingkup HMM.

Untuk menemukan sebuah rangkaian state terbaik, q = (q1 q2 … qґ), untuk

rangkaian observasi O = (o1 o2 … oґ), perlu didefinisikan kuantitas: δt(i) = max P[q1 q2 … qt - 1, qt = i, o1 o2 … ot|λ]

q1, q2 … qt -1.

δt(i) adalah rangkaian terbaik, yaitu dengan kemungkinan terbesar, pada waktu t di mana perhitungan untuk pengamatan t pertama dan berakhir pada state i. Dengan menginduksi, didapat:

(48)

Untuk mendapatkan kembali rangkaian state, perlu adanya penyimpanan hasil yang memaksimalkan persamaan 2.18. Prosedur lengkap untuk menemukan kumpulan state

-state terbaik bisa dirumuskan sebagai: 1. Inisialisasi

δ1(i) = Πibi(o1), 1 ≤ i ≥ N Aґ(1) = 0

2. Rekursif

δt(i) = max[δt-1(i)aij]bj(ot)

Ar(j) = arg max[δt-1(i)aij] di mana: 1 ≤ i ≤ N. 2 ≤ t ≤ T.

1 ≤ j ≤ N. 3. Terminasi

P* = max[δT(i)]

qT* = arg max[δT(i)] di mana: 1 ≤ i ≤ N. 4. Lintasan status

qt* = Ar(t+1)(q*t+1) di mana: t = T-1, T-2, …, 1.

2.4.

Catu daya

Perangkat elektronika dicatu oleh suplai arus searah DC (direct current) yang stabil agar dapat bekerja dengan baik. Baterai atau accu adalah sumber catu daya DC yang paling baik. Namun untuk aplikasi yang membutuhkan catu daya lebih besar, sumber dari baterai tidak cukup. Sumber catu daya yang besar adalah sumber bolak-balik AC (alternating current) dari pembangkit tenaga listrik. Untuk itu diperlukan suatu perangkat catu daya yang dapat mengubah arus AC menjadi DC [10].

(49)

2.5.

Mikrokontroler ATmega8535

Mikrokontroler adalah sebuah sistem mikroprosesor dimana didalamnya sudah terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya yang sudah saling terhubung dan terorganisasi dengan baik oleh pabrik pembuatnya dan dikemas dalam satu

chip yang siap pakai [11].

Gambar 2.26 ATmega8535 [11]

2.5.1

Timer0

Timer0 adalah sebuah Timer yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan [11].

2.5.2

Register pengendali Timer0

Timer/Counter Control register –TCCR0

(50)

Tabel 2.2 Prescaler Timer0

Bit 7 - C0: Force Output Compare

Bit ini hanya dapat digunakan untuk mode pembanding. Jika bit FOC0 di- set maka akan memaksa terjadinya compare match (TCNT0==OCR0)

Bit 6, 3 – WGM 01:0: Waveform Generation Mode

Kedua bit ini digunakan untuk memilih mode yang akan digunakan. Tabel 2.3 Mode operasi

Bit 5:4 — COM01:0: Compare Match Output Mode

Kedua bit ini berfungsi mendefinisikan pin OC0 sebagai output timer0 (atau sebagai saluran output PWM).

Tabel 2.4 Mode Fast PWM

Timer/CounterRegister –TCNT0

(51)

Output Compare register – OCR0

Register ini bertugas sebagai register pembanding yang dapat ditentukan besarnya sesuai dengan kebutuhan. Pada saat TCNT0 mencacah maka oleh CPU akan dibandingkan dengan isi OCR0 secara kontinyu dan jika isi TCNT0 sama dengan isi OCR0 maka akan terjadi compare match yang dapat dimanfaat untuk mode CTC dan PWM [11].

Timer/Counter Interrupt Mask Register – TIMSK

Bit 0- TOIE0: T/Co Overflow Interrupt Enable

Dalam register TIMSK timer/counter0 memiliki bit TOIE0 sebagai bit peng-aktif interupsi

timer/counter0 (TOIE0=1 enable, TOIE0=0 disable).

Bit 1- OCIE0: Output Compare Match Interrupt Enable

TIMSK timer/counter0 memiliki bit OCIE0 sebagai bit peng-aktif interupsi compare match timer/counter0 (OCIE0=1 enable, OCIE0=0 disable).

Timer/Counter Interrupt Flag Register – TIFR

Bit 1- OCF0: Output Compare Flag 0

Flag OCF0 akan set sebagai indikator terjadinya compare match, dan akan clear sendiri bersmaan eksekusi vektor interupsi timer0 comapare match.

Bit 0- TOVo: Timer/Counter0 Overflow Flag

Bit status timer/counter0 dalam register TIFR, dimana bit TOV0 (Timer/CounterO Overflow Flag) akan set secara otomatis ketika terjadi overflow pada register TCNT0 bersamaan dengan eksekusi vektor interupsi.

2.5.3

Mode operasi

Pemilihan mode operasi Timer0 ditentukan oleh bit-WGM01 dan bitWGM00 pada register TCCR0 [11].

Fast PWM (Pulse Width Modulation)

(52)

Gambar 2.27 Pulsa PWM [11]

% 100

_ x

t t cycle duty

p on

 (2.34)

Timer0 dalam mode Fast PWM digunakan untuk mengendalikan lama ton dan toff melalui isi register pembanding OCR0 yang akan berakibat kepada besar duty cycle yang dihasilkan. Untuk chanel (saluran) PWM timer/counter0 adalah pin OC0 (PB3) sebagai keluaran saluran PWM. Dalam mode Fast PWM sifat cacahan register pencacah TCNT0 mencacah dan BOTTOM (0x00) terus mencacah naik (counting-up) hingga mencapai MAX (0xFF) kemudian mulai dan BOTTOM lagi dan begitu seterusnya atau yang dinamakan singgle slope (satu arah cacahan) [11].

Gambar 2.28 Pulsa Fast PWM [11]

Dalam mode non-inverting PWM, output pin OC0 (PB3) di-clear pada saat

compare match (TCNT0==OCR0) dan di-set pada saat BOTTOM (TCNT0==0x00). Dalam mode inverting PWM, output pin OC0 (PB3) di-set pada saat compare match

(TCNT0==OCR0) dan di-clear pada saat BOTTOM (TCNT0==0x00) [11]. Frekuensi pin OC0 (PB3) untuk mode ini dihitung dengan persamaan berikut:

256 .

/ _

N f

(53)

Di mana fclk_i/o adalah frekuensi clock chip yang digunakan.

N adalah prescaler sumber clock yang digunakan (1, 8, 64, 256, 1024).

2.6.

Motor servo

Motor servo adalah sebuah motor dengan sistem umpan balik tertutup di mana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor [10].

Karena motor DC servo merupakan alat untuk mengubah energi listrik menjadi energi mekanik, maka magnit permanen motor DC servolah yang mengubah energi listrik ke dalam energi mekanik melalui interaksi dari dua medan magnit. Salah satu medan dihasilkan oleh magnit permanen dan yang satunya dihasilkan oleh arus yang mengalir dalam kumparan motor. Resultan dari dua medan magnit tersebut menghasilkan torsi yang membangkitkan putaran motor tersebut. Saat motor berputar, arus pada kumparan motor menghasilkan torsi yang nilainya konstan.

Secara umum terdapat 2 jenis motor servo. Yaitu motor servo standard dan motor

servo continous. Servo motor tipe standar hanya mampu berputar 180 derajat [10]. Motor servo standard sering dipakai pada sistim robotika misalnya untuk membuat “ Robot Arm” ( Robot Lengan ), sedangkan servo motor continuous dapat berputar sebesar 360 derajat. Motor servo continous sering dipakai untuk “Mobile Robot”.

2.7.

Komunikasi Serial RS232

RS-232 (Recomended Standart 232) adalah sebuah Standard yang ditetapkan oleh

Electronic Industry Association dan Telecomunication Industry Association pada tahun 1962 [12]. Karakteristik sinyal yang diatur pada RS232 meliputi level tegangan sinyal, kecuraman perubahan tegangan (slew rate) dari level tegangan ‘0’ menjadi ‘1’ dan sebal

Gambar

Gambar 4.11 Tampilan Pintu Geser pada Posisi Tertutup ................................................
Tabel 1.1 Confusion Matrix.
Gambar 2.1 Organ Pembetuk Suara Manusia[2]
Gambar 2.13 Grafik perbandingan kecepatan Direct calculation
+7

Referensi

Dokumen terkait

Puji dan syukur kepada Tuhan Yang Maha Esa karena atas berkat dan anugerahNya sehingga penulis dapat menyelesaikan karya tulis ilmiah ini.. KTI ini disusun sebagai rangkaian

Reviewing book does not mean to bring the printed The Baker Pocket Guide To New Religions By Nigel Scotland Created innovation has actually allowed you to read only the soft

Aspek yang difokusukan pada penelitian ini ialah proses dan hasil pembelajaran meningkatkan keterampilan menulis paragraf narasi dari teks wawancara siswa kelas VII

Jelaslah lagi dari hadis tersebut bahwa al-faqr adalah istilah bagi orang yang tak berpunya, karena itu kata al-faqr diantonimkan dengan kata ganiyyun artinya &#34;orang

Kinerja karyawan pada Rumah Makan Saung Wargi Bandung termasuk dalam katagori cukup baik, artinya kinerja karyawan memberikan hasil terhadap perusahaan karena

AP : Apakah kamu diajarkan untuk memberikan salam atau berjabat tangan ketika bertemu kepala sekolah, guru, atau orang yang lebih tua?. AS :

Mengubah Lampiran III Peraturan Menteri Keuangan Nomor 128/PMK.011/2013 tentang Perubahan atas Peraturan Menteri Keuangan Nomor 75/PMK.011/2012 tentang Penetapan

d Melaksanakan urusan rumah tangga, keamanan kantor dan mempersiapkan sarana prasarana kantor; e Melaksanakan pengelolaan administrasi perjalanan dinas pimpinan;.. f