• Tidak ada hasil yang ditemukan

Implementasi Sistem Pengenalan Kata pada Mikrokontroler Keluarga MCS51

N/A
N/A
Protected

Academic year: 2021

Membagikan "Implementasi Sistem Pengenalan Kata pada Mikrokontroler Keluarga MCS51"

Copied!
5
0
0

Teks penuh

(1)

Implementasi Sistem Pengenalan Kata pada

Mikrokontroler Keluarga MCS51

Thiang

Jurusan Teknik Elektro, Universitas Kristen Petra

Siwalankerto 121-131, Surabaya

email : thiang@petra.ac.id

Abstrak-Makalah ini memaparkan tentang implementasi

sistem pengenalan kata pada mikrokontroller keluarga MCS51. Mikrokontroler yang digunakan adalah mikrokontroler AT89C51RC dengan 32 kByte memori pemrograman. Sistem minimum AT89C51RC yang didesain terdiri dari single chip AT89C51RC dan RAM eksternal 256 kByte. Sinyal suara disampling secara langsung dari mikrofon dengan terlebih dahulu dikuatkan dan diubah menjadi sinyal digital. Proses sampling sinyal dilakukan dengan sampling rate 8 kHz. Metode yang digunakan untuk sistem pengenalan kata adalah Linear Predictive Coding (LPC)-Euclidean squared Distance. LPC digunakan sebagai metode ekstrasi informasi dari sinyal suara. Euclidean squared distance digunakan sebagai metode pengenalan kata. Dari hasil implementasi, ternyata hanya dibutuhkan memori pemrograman tidak lebih dari 4 kByte dan dari hasil pengujian, tingkat keberhasilan pengenalan kata tertinggi yang dicapai adalah 75%.

Keywords– Pengenalan kata, mikrokontroler, linear predictive coding, Euclidean squared distance

I. PENDAHULUAN

Penelitian tentang pengenalan kata telah banyak dilakukan dalam beberapa dekade. Banyak hasil yang telah dicapai dari penelitian-penelitian yang telah dilakukan. Dari penelitian yang telah dilakukan, sistem pengenalan kata telah diimplementasikan dalam beberapa device antara lain komputer, digital signal processor (DSP) dan Application-Specific Integrated Circuit (ASIC). Pada makalah ini dipaparkan tentang implementasi sistem pengenalan kata pada mikrokontroler keluarga MCS51. Alasan pemilihan mikrokontroler keluarga MCS51 adalah karena mikrokontroler ini cukup populer, murah dan banyak tersedia di Indonesia. Mikrokontroler keluarga MCS51 yang dipilih untuk implementasi sistem pengenalan kata adalah mikrokontroler AT89C51RC yang memiliki 32 kByte memori untuk pemrograman. Keterbatasan instruksi dan

memori yang ada pada mikrokontroler, merupakan suatu tantangan tersendiri dalam mengimplementasikan sistem pengenalan kata pada sebuah mikrokontroler. Apalagi proses komputasi dilakukan membutuhkan sistem bilangan floating point.

Metode yang diterapkan dalam untuk pengenalan kata adalah Linear Predictive Coding (LPC) dan Euclidean Squared Distance. Bagian II dari makalah ini akan menjelaskan lebih detail tentang sistem pengenalan kata yang telah dirancang dengan menggunakan LPC-Euclidean Squared Distance. Pada bagian III makalah ini akan dijelaskan tentang pengimplementasian system pengenalan kata yang telah dirancang pada mikrokontroler AT89C51RC. Bagian IV makalah ini akan memaparkan hasil pengujian yang telah dilakukan dan makalah ini akan ditutup dengan pemaparan kesimpulan yang telah didapatkan dan diskusi.

II. PENGENALAN KATA DENGAN LPC-EUCLIDEAN SQUARED DISTANCE

Secara umum, sistem pengenalan kata yang telah dirancang terdiri atas 2 bagian utama yaitu bagian training dan bagian pengenalan. Berikut gambar 1 menunjukkan blok diagram dari bagian training dalam sistem pengenalan kata dengan LPC-Euclidean squared distance.

Gambar 1. Blok Diagram Bagian Training dengan LPC-Euclidean Squared Distance

Data training disampling secara langsung dari mikrofon. Kemudian data tersebut diproses dengan menggunakan algoritma LPC processor dan proses ini menghasilkan koefisien LPC cepstral. Setiap sampel suara akan menghasilkan 1 set koefisien LPC cepstral dimana

(2)

jumlah koefisiennya bergantung pada nilai parameter-parameter dari LPC processor yang digunakan. Koefisien LPC cepstral inilah yang akan dijadikan model referensi untuk proses pengenalan kata.

Adapun algoritma LPC processor meliputi langkah-langkah berikut:

1. Preemphasis

Sinyal suara yang telah diubah menjadi digital, akan dilewatkan melalui sebuah sebuah sistem digital orde rendah. Sistem digital yang digunakan dalam tahap preemphasis adalah system digital dengan orde satu yang dinyatakan dengan persamaan berikut:

1 . ~ 1 ) ( = z a z H 0.9≤ a≤1 (1)

Sehingga output dari tahap preemphasis ~s(n), dalam

fungsi input s(n), adalah sebagai berikut: ) 1 ( ~ ) ( ) ( ~s n =s n as n (2) 2. Frame Blocking

Pada tahap ini, output dari tahap preemphasis diblok ke dalam frame yang terdiri atas N sampel data dan tiap frame dipisahkan dengan M sampel data. Jika xl(n) adalah frame yang ke l dari sinyal suara, dan L adalah jumlah total frame yang ada, maka

) ( ~ ) (n s Ml n xl = + (3) dimana n = 0,1,…,N – 1 l = 0,1,…,L – 1 3. Windowing

Setelah frame blocking, langkah berikutnya adalah melakukan proses window untuk setiap frame. Jika didefinisikan window yang digunakan sebagai w(n) maka output dari proses window adalah:

) ( ) ( ) ( ~ n x n w n xl = l (4) dimana 0 ≤ n ≤ N – 1

Model window yang digunakan adalah Hamming window yaitu: ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ − ⋅ ⋅ ⋅ − = 1 2 cos 46 . 0 54 . 0 ) ( N n n w π (5) 4. Analisa autokorelasi

Langkah berikutnya adalah menghitung autokorelasi setiap frame sinyal dengan menggunakan persamaan:

−− = + =N m n l l l m x n x n m r 1 0 ) ( ~ ) ( ~ ) ( (6)

Dimana m = 0, 1,…,p dan p adalah orde dari analisa LPC.

5. Analisa LPC

Langkah berikut adalah analisa LPC yang mengkonversi p+1 nilai autokorelasi dari setiap frame sinyal menjadi parameter LPC dimana salah satu diantaranya adalah koefisien LPC. Proses konversi tersebut dilakukan dengan menggunakan metode Durbin yang algoritmanya adalah sebagai berikut:

) 0 ( ) 0 ( r E = (7) 1 1 1 1 (| |) ) ( − − = −

− − = i i j i j i E j i r i r k α 1 ≤ i ≤ p (8) i i i =k ) ( α (9) ) 1 ( ) 1 ( ) ( − − − = i j i i i j i j

α

k

α

α

1 ≤ j ≤ i-1 (10) 1 2 ) ( =(1 ) ii i E k E (11)

Dengan menyelesaikan persamaan 7 sampai 11, koefisien LPC didapatkan sebagai berikut:

) ( p

m m

a =

α

(12)

6. Konversi koefisien LPC menjadi koefisien LPC cepstral Koefisien LPC cepstral adalah parameter penting yang dapat diturunkan secara langsung dari koefisien LPC. Persamaan rekursi yang digunakan untuk mengkonversi koefisien LPC menjadi koefisien LPC cepstral adalah:

− = −

+

=

1 1 m k k m k m m

c

a

m

k

a

c

1 ≤ m ≤ p (13)

− − = − ⋅ ⋅ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ = m1 p m k k m k m c a m k c m > p (14)

(3)

Gambar 2 menunjukkan blok diagram bagian pengenalan kata dengan LPC-Euclidean squared distance. Pertama-tama, sinyal suara yang tidak diketahui akan diproses sama seperti saat training yaitu dengan menggunakan algoritma LPC processor untuk menghasilkan koefisien LPC cepstral dari sinyal suara yang tidak diketahui. Kemudian, dilakukan perhitungan Euclidean squared distance antara koefisien LPC cepstral dari sinyal suara yang tidak diketahui dengan koefisien LPC cepstral dari masing-masing model referensi. Model referensi yang mempunyai jarak minimum adalah kandidat dari kata yang dikenal. Sebuah nilai Euclidean squared distance digunakan sebagai nilai limit dalam menentukan keputusan terakhir. Bila jarak minimum dari kandidat tadi lebih kecil atau sama dengan nilai limit Euclidean distance maka sinyal suara yang tidak diketahui akan dikenal sebagai model referensi yang mempunyai jarak minimum tadi. Sebaliknya, bila jarak minimum dari kandidat tadi lebih besar dari nilai limit Euclidean squared distance maka sinyal suara yang tidak diketahui akan dianggap sebagai kata yang tidak dikenal.

Perhitungan nilai Euclidean squared distance dilakukan dengan menggunakan persamaan berikut:

(

)

= − = n i i i q p ESD 1 2 (15)

dimana p dan q adalah koefisien LPC cepstral dari sinyal suara tidak diketahui dan koefisien LPC cepstral yang ada pada model referensi.

III. IMPLEMENTASI PADA MIKROKONTROLER Sistem pengenalan kata yang telah didesain, telah diimplementasikan pada mikrokontroler keluarga MCS51. Mikrokontroler yang digunakan adalah mikrokontroler AT89C51RC. Sebuah sistem minimum AT89C51RC telah dirancang untuk mengimplementasikan sistem pengenalan kata yang telah dijelaskan sebelumnya. Sistem minimum ini terdiri atas single chip AT89C51RC dan 256 kByte RAM eksternal. Secara lengkap, gambar 3 menunjukkan blok diagram dari perangkat keras yang telah didesain untuk mengimplementasikan sistem pengenalan kata pada mikrokontroler AT89C51RC.

Sinyal suara diinputkan melalui sebuah mikrofon. Sinyal output dari mikrofon, kemudian akan dilewatkan pada sebuah rangkaian high pass filter dan amplifier untuk menahan sinyal-sinyal yang mempunyai frekuensi rendah dan juga sekaligus menguatkan sinyal tersebut. Frekuensi cuttoff dari rangkaian high pass filter adalah 20 Hz. Karena itu hanya sinyal-sinyal yang mempunyai frekuensi diatas 20 Hz yang akan dilewatkan. Sedangkan rangkaian amplifier dirancang dengan penguatan 50 kali untuk menguatkan sinyal output dari mikrofon dengan lebar range tegangan sekitar 50mV menjadi lebar range tegangan 2,5V. sebuah rangkaian differential amplifier digunakan untuk menggeser

sinyal suara menjadi sinyal yang hanya mengandung tegangan positif saja. Gambar 4 menunjukkan gambar rangkaian dari high pass filter dan amplifier.

Gambar 3. Blok Diagram Perangkat Keras

Gambar 4. Rangkaian High Pass Filter dan Amplifier

Output dari rangkaian amplifier yang merepresentasikan sinyal suara, menjadi input dari rangkaian Analog to Digital Converter (ADC) untuk diubah dari sinyal analog menjadi sinyal digital sehingga dapat dibaca oleh mikrokontroler. Karena sinyal suara disampling dengan frekuensi 8 kHz maka ADC yang digunakan harus mampu mengkonversi sinyal lebih cepat dari 125 mikrodetik. Karena itu dipilih ADC0820 yang mempunyai waktu konversi sampai 1,5 mikrodetik. Berikut gambar 5 menunjukkan gambar rangkaian sistem minimum AT89C51RC yang dilengkapi dengan ADC dan RAM eksternal sebesar 256 kByte.

Sistem Minimum AT89C51RC Analog To Digital Converter

Filter dan Amplifier Mikrofon

(4)

Gambar 5. Rangkaian Sistem Minimum AT89C51RC, RAM eksternal dan ADC

Gambar 6. Flowchart Program Pengenalan Kata dengan LPC-Euclidean Squared Distance

Dalam mengimplementasikan sistem pengenalan kata pada mikrokontroler dengan sistem minimum yang telah dirancang, ada beberapa batasan yang diterapkan. Semua batasan diterapkan karena adanya keterbatasan dalam jumlah memori yang tersedia dalam perangkat keras yang telah dirancang. Batasan-batasan tersebut adalah:

1. Panjang durasi maksimum dari sinyal suara adalah 0,5 detik.

2. Setiap sinyal suara hanya mengandung informasi 1 kata. 3. Sampling rate yang digunakan adalah 8 kHz.

4. Jumlah model referensi maksimum yang dapat disimpan di dalam memori adalah 38 model referensi.

5. Orde maksimum dari LPC adalah 16 dan dimensi maksimum dari LPC adalah 16.

6. Jumlah data maksimum per frame dalam proses frame blocking adalah 255 dan jarak antara dua frame yang berdekatan adalah antara 80 sampai 255.

Flowchart dari program yang telah dibuat untuk sistem pengenalan kata dengan LPC-Euclidean squared distance dapat dilihat pada gambar 6. Ada 2 bagian utama dari flowchart tersebut yaitu bagian training dan bagian pengenalan kata. Program dituilis dengan menggunakan bahasa assembly dari mikrokontroler MCS51.

IV. HASIL PENGUJIAN

Beberapa pengujian telah dilakukan untuk menguji sistem yang telah dirancang. Secara umum, ada 2 sistem pengenalan kata yang diuji. Pertama adalah sistem pengenalan kata yang tidak menerapkan limit nilai Euclidean distance. Pada sistem ini, setiap sinyal suara yang masuk pasti akan dikenali sebagai salah satu kata yang ada didalam database model referensi. Kedua adalah sistem yang menerapkan limit nilai Euclidean distance. Pada sistem ini, sinyal suara yang masuk dapat dikenali sebagai salah satu kata yang ada dalam database model referensi atau dianggap tidak ada di dalam database dan dikatakan sebagai kata yang tidak dikenal.

Ada 7 kata yang akan dikenali dalam pengujian yang dilakukan. 7 kata tersebut adalah STOP, FORWARD, BACKWARD, LEFT, RIGHT, UP dan DOWN. Pemilihan kata-kata ini untuk pengujian sistem karena sistem ini nantinya akan dikembangkan untuk mengontrol gerakan robot seperti sejenis robot mobil.

Pengujian sistem dilakukan dengan menggunakan sumber suara yang telah direkam lebih dulu. Rekaman suara tersebut diputar kembali saat pengujian dilakukan. Setiap kata mempunyai 10 sampel suara sehingga secara keseluruhan terdapat 70 sampel suara. Pengujian dilakukan dengan variasi jumlah sampel suara yang ditraining, mulai dari 1 sampel suara hingga 5 sampel suara. Pengujian juga dilakukan dengan menggunakan kata-kata yang tidak ada dalam database model referensi. Kata-kata yang digunakan

(5)

dalam pengujian ini adalah ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN.

Berikut pada tabel 1 dan tabel 2 menunjukkan rangkuman hasil pengujian yang telah dilakukan.

Tabel 1. Hasil Pengujian Sistem tanpa Menerapkan Limit Nilai Euclidean Distance

Tingkat Pengenalan (%)

1 Sampel training 3 Sampel training 5 Sampel Training Kata

Perc. I Perc. II Perc. I Perc. II Perc. I Perc. II Stop 50 10 40 70 80 60 Forward 10 50 70 60 50 50 Backward 90 60 50 70 90 70 Left 100 70 80 90 80 80 Right 60 70 100 90 90 60 Up 100 50 80 60 40 100 Down 70 70 40 70 60 80 Rata-rata 68,57 54,29 65,71 72,86 70 71,43

Tabel 2. Hasil Pengujian Sistem dengan Menerapkan Limit Nilai Euclidean Distance

Tingkat Pengenalan (%)

1 Sampel training 3 Sampel training 5 Sampel Training Kata

Perc. I Perc. II Perc. I Perc. II Perc. I Perc. II Stop 30 40 60 50 80 20 Forward 10 10 70 90 40 60 Backward 50 60 100 90 50 100 Left 90 80 100 80 70 100 Right 80 60 60 80 80 70 Up 60 10 100 100 100 90 Down 70 60 100 80 80 80 Kata lain 0 30 0 30 0 60 Rata-rata 48,75 43,75 73,75 75 62,5 72,5

Dari hasil pengujian yang ditunjukkan dalam tabel 1 dan 2, terlihat bahwa tingkat pengenalan tertinggi yang dapat dicapai adalah 75%. Ini dicapai saat sistem dilatih dengan 3 sampel suara. Semakin banyak jumlah sample suara yang dilatih, semakin tinggi tingkat pengenalan yang dicapai. Tetapi, peningkatan tingkat keberhasilan pengenalan dari sistem yang dilatih dengan 3 sampel suara ke sistem yang dilatih dengan 5 sampel suara, tidak begitu berarti, bahkan untuk hasil di tabel 2, nilainya cenderung menurun sedikit.

Dari tabel 2 dapat disimpulkan bahwa sistem yang dirancang untuk mengenal kata-kata yang tidak ada dalam database model referensi yaitu dengan menerapkan limit nilai Euclidean distance, tidak meningkatkan tingkat keberhasilan pengenalan kata.bahkan dalam beberapa pengujian, tingkat pengenalannya cenderung menurun. Sehingga dapat dikatakan bahwa penggunaan limit nilai Euclidean Distance untuk mengenal kata-kata yang tidak ada di dalam database model referensi, tidak memberikan peningkatan pada tingkat keberhasilan pengenalan kata.

V. KESIMPULAN

Implementasi sistem pengenalan kata pada mikrokontroler telah berhasil dilakukan. Dari hasil pengujian yang telah dilakukan, dapat diambil kesimpulan bahwa tingkat keberhasilan pengenalan kata tertinggi yang dapat dicapai oleh sistem yang telah dirancang adalah 75%. Penggunaan sebuah nilai limit untuk mengenal kata-kata yang tidak ada di database model referensi, tidak dapat diterapkan karena tidak memberikan peningkatan yang berarti pada tingkat pengenalan, bahkan cenderung menurunkan tingkat pengenalan.

REFERENSI

[1] Lawrence Rabiner dan Biing-Hwang Juang, “Fundamentals of Speech Recognition”. Prentice Hall, New Jersey, 1993. [2] Y.M. Lam, M.W. Mak dan P.H.W.Leong, “Fixed point

implementations of Speech Recognition Systems”, Proceedings of the International Signal Processing Conference, Dallas, 2003.

[3] ATMEL Corporation, “AT89C51RC Data Sheet”, ATMEL Corporation, San Jose, 2005.

[4] Wikipedia, The free encyclopedia, “Euclidean Distance”, 2006, http://en.wikipedia.org/wiki/ Euclidean _distance. [5] Improved Outcomes Software, “Euclidean and Euclidean

Squared Distance” http://www.improvedoutcomes.com/docs/WebSiteDocs/Clust

ering/Clustering_Parameters/Euclidean_and_Euclidean_Squa red_Distance_Metrics.htm

[6] Ethnicity Group, “Cepstrum Method”, 1998, http://www.owlnet.rice.edu/~elec532/PROJECTS98/speech/c epstrum/cepstrum.html

Gambar

Gambar 1. Blok Diagram Bagian Training dengan LPC-Euclidean  Squared Distance
Gambar 2 menunjukkan blok diagram bagian  pengenalan kata dengan LPC-Euclidean squared distance
Gambar 5. Rangkaian Sistem Minimum AT89C51RC, RAM  eksternal dan ADC
Tabel 2. Hasil Pengujian Sistem dengan Menerapkan Limit  Nilai Euclidean Distance

Referensi

Dokumen terkait

Tujuan dari penelitian ini adalah untuk memformulasikan dan mengevaluasi stabilitas fisik krim topikal yang mengandung 5% vitamin C dari ekstrak buah jambu biji dengan

Besarnya utang advanced countries dibanding emerging countries yang ternyata tidak diiringi oleh lebih besarnya beban bunga dalam anggaran disebabkan bunga utang

Infeksi 4irus dengue mengaki1atkan menifestasi kinis %ang 1er4ariasi muai dari asimtomatik& pen%akit paing ringan& demam 1erdarah dengue sampai sindrom

Berdasarkan Tabel 4.1, maka pengujian reliabilitas dengan cronbach alpha terhadap 15 pernyataan yang telah dinilai jawabannya, maka dapat dilihat bahwa alpha untuk

Peraturan Menteri Dalam Negeri Nomor 78 Tahun 2012 tentang Tata Kearsipan di Lingkungan Kementerian Dalam Negeri dan Pemerintah Daerah (Berita Negara Republik Indonesia Tahun

Berdasarkan tabel pengukuran kinerja kegiatan, menurut Badan Lingkungan Hidup Kabupaten Pasuruan dapat diketahui bahwa kinerja badan lingkungan hidup kabupaten

Upaya yang dapat dilakukan untuk mengatasi masalah tersebut, guru sebagai salah satu unsur yang berperan penting dalam proses pembelajaran harus mampu memilih media,

Hal ini sesuai dengan penelitian sebelumnya Persepsi dukungan atasan mengacu kepada tingkat yang memandang karyawan bahwa atasan mereka peduli tentang mereka dan