viii
INTISARI
Perkembangan teknologi sekarang ini sangat cepat, sehingga perkembangan teknologi yang sangat cepat ini dapat mempermudah pekerjaan manusia. Menggunakan ucapan manusia dapat menggantikan peran penggunaan saklar yang harus menekan tombol - tombol saklar tertentu, sehingga membutuhkan waktu yang lama untuk melakukan proses penekanan tombol saklar. Menjadikan penggunaan saklar kurang efisien dalam pengunaannya. Sehingga, penulis membuat pengenalan ucapan untuk pengaturan kecepatan kipas DC.
Sistem pengenalan ucapan untuk pengaturan kecepatan kipas DC menggunakan mikrofon untuk merekam ucapan manusia. Ucapan yang terekam diproses menggunakan laptop untuk menjalankan proses pengenalan dan mengenali ucapan yang terekam. Proses pengenalan ucapan meliputi beberapa subproses diantaranya merekam, normalisasi, pemotongan sinyal, windowing, ekstraksi ciri, fungsi jarak, penentuan hasil ucapan pengenalan, komunikasi serial dan pengaturan kecepatan kipas DCdengan mikrokontroler.
Sistem pengenalan ucapan untuk pengaturan kecepatan kipas DC menggunakan
discrete cosine transform dan fungsi jarak Euclidean. Program pengenalan sudah berhasil dibuat dan dan dapat bekerja sesuai dengan yang diharapkan. Pada program pengenalan ini menampilkan gelombang ucapan yang terekam, gelombang hasil pre-processing, hasil ekstraksi ciri DCT, keluaran berupa tulisan ucapan yang berhasil dikenali dan keluaran berupa tulisan data komunikasi serial. Pada program ini, hasil pengenalan terbaik adalah 83,33 % dalam pengujian secara real time dengan parameter nilai batas potong 0,2 dan downsampling
2. Program pengenalan ucapan untuk pengaturan kecepatan kipas DC hanya mengenali empat ucapan (hidup, mati, cepat dan lambat).
Kata kunci: Suara Manusia, Discrete Cosine Transform (DCT), Fungsi Jarak
ix
ABSTRACT
The development of technology today is very fast, so that rapid technological development is to facilitate the work of man. Using human speech can replace the role of the use switches that have to press the button – specific switch button, so it takes a long time to process keystrokes switch. Making use of the switch is less efficient in its use. Thus, the authors make speech recognition for DC fan speed settings.
Speech recognition system for DC fan speed setting using the microphone to record human speech. The recorded speech is processed using a laptop to run the process of introduction and recognize the recorded greeting.Speech recognition process includes several sub-processes, such as recording, normalization, cutting, windowing, signal extraction of characteristic, the function of distance, the determination results of speech recognition, serial communications and DC fan speed settings with a microcontroller.
Speech recognition system for DC fan speed control using discrete cosine transform and euclidean distance function. Recognition program has successfully created and can work well. In this recognition program is shows the sound wave of recorded speech, wave of pre-processing, result of DCT feature extraction, output speech in form of essay which is successfully to recognize and the output data communication serial form. In this program, the best recognition result is 83,33 % in real time testing with parameter cutting limit value 0,2 and downsampling value 2. Speech recognition program for fan speed control DC only recognizes four words (hidup, mati, cepat and lambat).
Keywords: Human Voice, Discrete Cosine Transform, Euclidean distance function, speech
i
TUGAS AKHIR
APLIKASI PENGENALAN UCAPAN UNTUK PENGATURAN
KECEPATAN KIPAS DC MENGGUNAKAN DISCRETE
COSINE TRANSFORM DAN FUNGSI JARAK EUCLIDEAN
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
WIDI EKO WARDONO
NIM: 105114010
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
FINAL PROJECT
APPLICATION OF SPEECH RECOGNITION FOR DC FAN
CONTROL USING DISCRETE COSINE TRANSFORM AND
EUCLIDEAN DISTANCE FUNCTION
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
WIDI EKO WARDONO
NIM: 105114010
ELECTRICAL ENGINEERING STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
Pembimbing
/,
tu
Dr. Linggo S
HALAMAN
PERSETUJUAN
TUGAS
AKHIR
APLIKASI
PENGENALAN UCAPAN UNTUK PENGATURAN
KECEPATAI\I
KIPAS
DCMENGGT]NAKAN
DISCNETE COSINE
TRANSFORM
DAI\
FUNGSI
JARAK EUCLIDEAN
(APPLTCATTON
OF SPEECH RECOGNTTTON
FOR DC
FAr[
CONTROL
USING
DISCRETE
COSINE
TRANSFORM
AI\D
EUCLIDEAN DISTANCE FUNCTIOT9
Oleh :
WIDI
EKO WARDONO
NIM
:
105114010Telah disetujui oleh :
'8/q
/att
ilt
HALAMAN
PENGESAHAN
TUGAS
AKHIR
APLIKASI
PENGENALAN UCAPAN UNTUK
PENGATT]RAN
KECEPATAI\I KIPAS
DCMENGGUNAKAN
DISCRETE COSINE
TRANSFORM
DANTUNGSI
JARAK EACLIDEAN
(APPLICATION
OF SPEECH
RECOGNITION
FOR DC
FAI\
CONTROL
USING
DISCRETE
COSINE
TRANSFORM ANI)
EUCLIDEAI\ DISTANCE FUNCTION)
Oleh:
wrp.I EKo WARDQNO
NIM: l05ll40l0
Telah dipertahankan di depan Panitia Penguji Pada tanggal 18 Maret20ls
Dan dinyatakan memenuhi syarat
Ketua
Sekretaris
Anggota
SusunanPanitiaPenguj i : Namalengkap
: Martanto, S.T., M.T. : Dr. Linggo Sumarno
: Djoko Untoro Suwamo, S.Si., M.T.
Yogyakarta,
Z2
A?n1
2016
Fakultas Sains dan Teknologi
IV
PERIIYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah:
Yogyakarla, zSApril 201 5
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
Persembahan
Karya ini saya persembahkan kepada :
Tuhan Yesus Kristus
Bapak dan Ibu atas dukungan, doa dan semangat
Keluarga dan Teman-teman seperjuangan
Almamaterku Sanata Dharma
“Tuhanlah kekuatan dan mazmurku…
Dia gunung batu dan keselamatanku….”
In order to succed,
LEMBAR PERNYATAN
PERSETUJUAN
PUBLIKASI
KARYA
ILMIAH
UNTUK KEPENTINGAN
AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama
: Widi Eko WardonoNomor
Mahasiswa
: 105114010Demi
pengembanganilmu
pengetahuan, saya memberikan kepada perpustakaanUniversitas Sanata Dharma karya ilmiah saya yang berjudul :
APLIKASI
PENGENALAN
UCAPAN
UNTUK
PENGATURAN KECEPATAN KIPAS
DC
MENGGUNAKANDI,SCRE
TE
C O SI
N
E
TRAN
SFOftMDAN
FUNGSI
JARAK EUCLIDEAN
beserta perangkat yang diperlukan ( bila ada ). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharrna hak untuk menyimpan, mengalihkan dalam
bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas dan mempublikasikannya di intemet atau media lain untuk kepentingan akademis
tanpa perlu meminta
ijin
dari saya maupun memberikan royalty kepada saya selama tetapmencatumkan nama saya sebagai penulis.Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta,29 April 20 I 5
47
(Widi Eko Wardono)
viii
INTISARI
Perkembangan teknologi sekarang ini sangat cepat, sehingga perkembangan teknologi yang sangat cepat ini dapat mempermudah pekerjaan manusia. Menggunakan ucapan manusia dapat menggantikan peran penggunaan saklar yang harus menekan tombol - tombol saklar tertentu, sehingga membutuhkan waktu yang lama untuk melakukan proses penekanan tombol saklar. Menjadikan penggunaan saklar kurang efisien dalam pengunaannya. Sehingga, penulis membuat pengenalan ucapan untuk pengaturan kecepatan kipas DC.
Sistem pengenalan ucapan untuk pengaturan kecepatan kipas DC menggunakan mikrofon untuk merekam ucapan manusia. Ucapan yang terekam diproses menggunakan laptop untuk menjalankan proses pengenalan dan mengenali ucapan yang terekam. Proses pengenalan ucapan meliputi beberapa subproses diantaranya merekam, normalisasi, pemotongan sinyal, windowing, ekstraksi ciri, fungsi jarak, penentuan hasil ucapan pengenalan, komunikasi serial dan pengaturan kecepatan kipas DCdengan mikrokontroler.
Sistem pengenalan ucapan untuk pengaturan kecepatan kipas DC menggunakan
discrete cosine transform dan fungsi jarak Euclidean. Program pengenalan sudah berhasil dibuat dan dan dapat bekerja sesuai dengan yang diharapkan. Pada program pengenalan ini menampilkan gelombang ucapan yang terekam, gelombang hasil pre-processing, hasil ekstraksi ciri DCT, keluaran berupa tulisan ucapan yang berhasil dikenali dan keluaran berupa tulisan data komunikasi serial. Pada program ini, hasil pengenalan terbaik adalah 83,33 % dalam pengujian secara real time dengan parameter nilai batas potong 0,2 dan downsampling
2. Program pengenalan ucapan untuk pengaturan kecepatan kipas DC hanya mengenali empat ucapan (hidup, mati, cepat dan lambat).
Kata kunci: Suara Manusia, Discrete Cosine Transform (DCT), Fungsi Jarak
ix
ABSTRACT
The development of technology today is very fast, so that rapid technological development is to facilitate the work of man. Using human speech can replace the role of the use switches that have to press the button – specific switch button, so it takes a long time to process keystrokes switch. Making use of the switch is less efficient in its use. Thus, the authors make speech recognition for DC fan speed settings.
Speech recognition system for DC fan speed setting using the microphone to record human speech. The recorded speech is processed using a laptop to run the process of introduction and recognize the recorded greeting.Speech recognition process includes several sub-processes, such as recording, normalization, cutting, windowing, signal extraction of characteristic, the function of distance, the determination results of speech recognition, serial communications and DC fan speed settings with a microcontroller.
Speech recognition system for DC fan speed control using discrete cosine transform and euclidean distance function. Recognition program has successfully created and can work well. In this recognition program is shows the sound wave of recorded speech, wave of pre-processing, result of DCT feature extraction, output speech in form of essay which is successfully to recognize and the output data communication serial form. In this program, the best recognition result is 83,33 % in real time testing with parameter cutting limit value 0,2 and downsampling value 2. Speech recognition program for fan speed control DC only recognizes four words (hidup, mati, cepat and lambat).
Keywords: Human Voice, Discrete Cosine Transform, Euclidean distance function, speech
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah
memberikan anugerah-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini
dengan baik.Laporan tugas akhir ini disusun untuk memenuhi syarat memperoleh gelar
sarjana.
Selama pembuatan tugas akhir ini penulis menyadari bahwa ada begitu banyak pihak
yang telah memberikan bantuan baik bantuan materi, moral maupun dukungan. Oleh karena
itu penulis ingin mengucapkan terimakasih kepada :
1. Petrus Setyo Prabowo, S.T., M.T., Ketua Program Studi Teknik Elektro
Universitas Sanata Dharma.
2. Dr.Linggo Sumarno, dosen pembimbing yang dengan penuh setia, kesabaran dan
pengertian untuk membimbing dalam menyelesaikan Tugas Akhir ini..
3. Bapak dan Ibu dosen yang telah mengajarkan banyak ilmu yang bermanfaat
selama menempuh pendidikan di Universitas Sanata Dharma.
4. Segenap laboran dan karyawan Fakultas Sains dan Teknologi yang telah
memberikan dukungan secara tidak langsung dalam kelancaran penulis
mengerjakan penulisan tulisan tugas akhir ini.
5. Kedua orang tua penulis yang telah banyak memberikan dukungan doa, kasih
sayang dan motivasi selama menempuh pendidikan di Universitas Sanata Dharma.
6. Keluarga kecil penulis yang telah memberi dukungan dalam mengawali dan
mengakhirimasa - masa menempuh pendidikan di Universitas Sanata Dharma.
7. Alvianika yang turut memberikan dukungan dalam kehidupan penulis.
8. Teman – teman seperjuangan Teknik Elektro 2010 yang telah menemani di waktu siang ataupun malam pada saat menempuh pendidikan di Universitas Sanata
Dhama.
9. Semua pihak yang tidak bisa disebutkan satu persatu yang telah banyak
memberikan banyak bantuan dan dukungan dalam menyelesaikan tugas akhir ini.
Penulis menyadari bahwa dalam penyusunan laporan tugas akhir masih mengalami
Penulis menyadari bahwa dalam penyusunan laporan tugas akhir masih mengalami
kesulitan dan tidak lepas dari kesalahan.Oleh karena itu, penulis mengharapkan masukan,
kritik dan saran yang membangun agar skripsi ini menjadi lebih baik.Semoga skripsi ini
dapat bermanfaat sebagaimana mestinya.
Penulis,
F
Widi Eko Wardono
xii
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
PERNYATAAN KEASLIAN KARYA ... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
INTISARI ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xviii
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Tujuan dan Manfaat Penelitian ... 2
1.3. Batasan Masalah... 2
1.4. Metodologi Penelitian ... 3
BAB II DASAR TEORI ... 6
2.1. Suara Manusia ... 6
2.2. Microphone ... 7
2.3. Sound Card ... 8
2.4. Matlab ... 9
2.5. Sampling ... 11
2.6. Mikrokontroler ATMega 8 ... 12
xiii
2.6.2 Timer ATMega 8 ... 13
2.6.3 USART ... 18
2.7. FT232RL ... 20
2.8. Pulse Width Modulation (PWM) ... 21
2.9. Discrete Cosine Transform (DCT) ... 22
2.10. Jarak Euclidean ... 23
2.11. Windowing ... 23
2.11.1 Jendela Hanning ... 24
2.12. Template matching ... 24
2.13. Transistor sebagai saklar ... 24
2.14. Brushless Motor DC ... 25
BAB III PERANCANGAN PENELITIAN ... 27
3.1. Perancangan Sistem ... 27
3.2. Perancangan Pengenalan Ucapan ... 29
3.2.1 Perancangan Software ... 30
3.2.2 Perancangan Hardware... 39
3.2.3 Desain Alat ... 46
3.3. Perancangan Tampilan GUI Matlab... 48
BAB IV HASIL DAN PEMBAHASAN ... 50
4.1. Antarmuka Program Pengenalan Ucapan Untuk Pengaturan Kipas DC Secara Real-Time Menggunakan Ekstraksi Ciri DCT dan Fungsi Jarak Euclidean ... 50
4.1.1.Pop up Menu ... 53
4.1.2.Push Button “Rekam” ... 54
4.1.3.Push Button “Ulang” ... 61
4.1.4.Push Button “Selesai” ... 62
4.2. Software Program Pada Mikrokontroler Untuk Mengatur Kecepatan Kipas DC Secara Real Time ... 63
4.3. Hasil Pengujian Program Pengenalan Ucapan Untuk Mengatur Kecepatan Kipas DC Untuk Tingkat Pengenalan Ucapan ... 66
xiv
4.3.2 Pengujian Parameter Pengenalan Ucapan Untuk Mengatur Kecepatan Kipas
DC Secara Real Time ... 71
BAB V KESIMPULAN DAN SARAN ... 80
5.1. Kesimpulan ... 80
5.2. Saran ... 80
DAFTAR PUSTAKA ... 81
LAMPIRAN ... 83 Hasil Durasi Perekaman Ucapan ... L1
Percobaan Menggunakan Program Antarmuka Pembentukan Database ... L5
Listing Program ... L8
xv
DAFTAR GAMBAR
Gambar 1.1 Alur Kerja ... 4
Gambar 1.2 Subsistem Pembuatan Software ... 4
Gambar 2.1 Alat Ucap Untuk Pembentukan Suara[5] ... 6
Gambar 2.2 Diagram Blok Produksi Suara Manusia[3] ... 7
Gambar 2.3 Microphone ... 8
Gambar 2.4 Sound Card[8] ... 9
Gambar 2.5Penulisan Program Matlab Secara Langsung[9] ... 10
Gambar 2.6 M-file Matlab[9] ... 11
Gambar 2.7 Konfigurasi ATMega 8[11] ... 12
Gambar 2.8 Diagram Waktu Mode Fast PWM[11] ... 18
Gambar 2.9 Konfigurasi IC FT232RL[12] ... 20
Gambar 2.10 Gelombang Kotak[13] ... 21
Gambar 2.11 Gambar Pulsa PWM[13] ... 22
Gambar 2.12 Fungsi Dasar Kosinus Satu Dimensi[14] ... 23
Gambar 2.13 Rangkaian Transistor Sebagai Saklar[20] ... 25
Gambar 2.14 Urutan Putaran Brushless Motor DC ... 26
Gambar 3.1 Gambaran Umum Sistem ... 27
Gambar 3.2 Diagram Blok Proses Pengenalan Ucapan ... 30
Gambar 3.3 Flowchart Proses Pengenalan Ucapan ... 31
Gambar 3.4 Flowchart Proses Pencuplikan Ucapan ... 32
Gambar 3.5 Flowchart ProsesPre-processing ... 33
Gambar 3.6 Flowchart Proses Normalisasi ... 34
Gambar 3.7 Flowchart Proses Pemotongan Sinyal ... 35
xvi
Gambar 3.9 Flowchart Proses Zero Padding ... 36
Gambar 3.10 Flowchart Proses Ekstraksi Ciri ... 37
Gambar 3.11 Flowchart Proses Pembanding ... 38
Gambar 3.12 Flowchart Proses Penentuan Keluaran ... 38
Gambar 3.13 Flowchart Komunikasi Serial Pada Matlab ... 39
Gambar 3.14 Flowchart Pembentukan Database Ucapan ... 40
Gambar 3.15 Rangkaian Minimum Sistem ATMega 8 ... 41
Gambar 3.16 Rangkaian Osilator Eksternal ... 42
Gambar 3.17 Rangkaian Reset... 43
Gambar 3.18 Rangkaian Motor Driver ... 44
Gambar 3.19 Flowchart Software Mikrokontroler ... 47
Gambar 3.20 Tampilan Desain Alat Tampak Depan ... 48
Gambar 3.21 Tampilan Desain Alat Tampak Samping ... 49
Gambar 3.22 Tampilan Desain Alat Tampak Belakang ... 49
Gambar 3.23 Tampilan GUI Matlab Pengenalan Ucapan Untuk Pengaturan Kipas DC .... 50
Gambar 4.1 Ikon Matlab 7.10.0 ... 51
Gambar 4.2 Tampilan Matlab ... 51
Gambar 4.3 Tampilan Pengenalan Ucapan Untuk Pengaturan Kipas DC ... 52
Gambar 4.4 Tampilan Antarmuka Setelah Push Button “Rekam” Ditekan ... 61
Gambar 4.5 Tampilan Antarmuka Setelah Push Button “Selesai” Ditekan ... 63
Gambar 4.6 Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan ... 67
Gambar 4.7 Pengaruh Perubahan Nilai Downsampling Terhadap Pengenalan Ucapan .. 68
Gambar 4.8 Proses Pembagian Data Awal Dengan Beberapa Frame ( ) ... 70
Gambar 4.9 Pola Ucapan Hasil Ekstraksi Ciri Kata “hidup” Dalam Proses Pengenalan Ucapan ... 73
xvii
Gambar 4.11 Pola Ucapan Hasil Ekstraksi Ciri Kata “cepat” Dalam Proses Pengenalan Ucapan ... 74
Gambar 4.12 Pola Ucapan Hasil Ekstraksi Ciri Kata “lambat” Dalam Proses Pengenalan Ucapan ... 75
Gambar 4.13 Perbandingan Rata –Rata Hasil Ekstraksi Ciri Ucapan “hidup” Database Dengan Ucapan “cepat” Pada Pengenalan ... 77
Gambar 4.14 Perbandingan Rata –Rata Hasil Ekstraksi Ciri Ucapan “hidup” Database Dengan Ucapan “mati” Pada Pengenalan ... 78
Gambar 4.15 Perbandingan Rata –Rata Hasil Ekstraksi Ciri Ucapan “hidup” Database Dengan Ucapan “cepat” Pada Pengenalan ... 78
xviii
DAFTAR TABEL
Tabel 2.1 Register TCRR1A[11] ... 14
Tabel 2.2 Mode Normal dan CTC[11]... 14
Tabel 2.3 Mode Fast PWM[11] ... 15
Tabel 2.4 Mode Phase Correct dan Frequency Correct PWM[11] ... 15
Tabel 2.5 Mode Operasi[11] ... 16
Tabel 2.6 Sumber Clock Dengan Pemilihan Bit[11] ... 17
Tabel 2.7 Pengaturan Bit UMSEL[11] ... 19
Tabel 2.8 Pengaturan Bit Parity Mode[11] ... 19
Tabel 2.9 Pengaturan Bit Stop Select[11] ... 19
Tabel 2.10 Bit Pengaturan Ukuran Karakter[11] ... 20
Tabel 3.1 Spesifikasi Mikrofon Genius MIC-01A[5] ... 28
Tabel 3.2 Spesifikasi Kipas DC ... 29
Tabel 3.3 Kondisi Keadaan Tingkat Kecepatan Putar Kipas DC ... 46
Tabel 3.4 Pengukuran Nilai Pulse Width Mmodulation (PWM) Sebagai Tingkat Kecepatan Putar Kipas DC ... 46
Tabel 3.5 Penentuan Nilai Pulse Width Mmodulation (PWM) Sebagai Tingkat Kecepatan Putar Kipas DC ... 46
Tabel 3.6 Keterangan Tampilan GUI Matlab ... 51
Tabel 4.1 Hasil Pengenalan Ucapan Yang Dikenali ... 61
Tabel 4.2 Data Yang Diterima Mikrokontroler ... 65
Tabel 4.3 Tingkat Pengenalan Untuk Hasil Pengujian Secara Tidak Real Time ... 67
Tabel 4.4 Hasil Tingkat Pengenalan Menggunakan Segment Averaging ... 70
Tabel 4.5 Hasil Pengujian Secara Real Time ... 71
Tabel 4.6 Hasil Kecepatan Putar Kipas DC Pada Pengujian Secara Real Time ... 72
xix
Tabel 4.8 Hasil Proses Ekstraksi Ciri Dalam Bentuk Numerik Pengguna 2 ... 75
1
BAB I
PENDAHULUAN
1.1
Latar Belakang
Dalam perkembangan teknologi yang sangat cepat, dan dengan perkembangan
teknologi yang sangat cepat ini dapat mempermudahkan pekerjaan manusia. Banyak
aplikasi - aplikasi perkembangan teknologi yang mempermudah pekerjaan manusia, salah
satunya aplikasi pengaturan kecepatan kipas DC dengan menggunakan ucapan manusia
secara real time.
Dengan menggunakan ucapan manusia dapat menggantikan peran penggunaan
saklar yang harus menekan tombol - tombol saklar tertentu, sehingga membutuhkan waktu
yang lama untuk melakukan proses penekanan tombol saklar. Menjadikan penggunaan
saklar kurang efisien dalam pengunaannya. Sehingga, penulis membuat sistem pengaturan
kecepatan kipas DC menggunakan ucapan manusia secara real time.
Penulis menemukan beberapa penelitian tentang pengenalan pengucapan manusia,
penelitian yang dilakukan Hidayatno, A., & Saksono [1] tentang aplikasi pengenalan
ucapan sebagai pengaturan mobil dengan pengendali jarak jauh. Penulis juga menemukan
penelitian yang dilakukan Adler, J., Azhar, M., & Supatmi, S [2] tentang identifikasi suara
dengan Matlab sebagai aplikasi jaringan saraf tiruan. Penelitian yang yang dibuat oleh
penulis ini memiliki kesamaan dalam pemberian input yaitu pengucapan manusia dan
menggunakan Matlab sebagai pemograman dan pengolahan data. Tetapi penelitian yang
dibuat penulis memiliki beberapa perbedaan, yaitu pengambilan data pengucapan hidup,
mati, cepat dan lambat sebagai database, menggunakan metode ekstraksi ciri DCT
(Discrete Cosine Transform) dan menggunakan fungsi jarak Euclidean sebagai
perbandingan antara database dengan pengucapan, selain itu output yang diberikan berupa
kecepatan putaran kipas DC dengan 5 step pengucapan cepat dan lambat untuk mengatur
kecepatan putaran kipas.
Penelitian yang dibuat oleh penulis nantinya dapat dikembangkan menjadi aplikasi
pengendalian elektronika yang membutuhkan pengucapan manusia dan pada penelitian ini
juga dibuat untuk pengendalian kipas chasing komputer dengan pengucapan manusia
untuk mengatur sirkulasi udara dalam komputer sesuai dengan keinginan user dengan
menambah variasi kecepatan motor yang banyak dengan menambahkan step PWM (Pulse
1.2
Tujuan dan Manfaat Penelitian
Tujuan dari penulisan tugas akhir ini adalah untuk menghasilkan sistem pengenalan
ucapan manusia untuk mengatur kecepatan putaran kipas DC.
Manfaat dari penulisan tugas akhir ini adalah :
1. Sebagai alat bantu berupa software bagi orang lain untuk mengatur kecepatan putaran
kipas DC atau alat elektronika dengan pengenalan ucapan manusia.
2. Sebagai penelitian awal sistem pengenalan ucapan manusia untuk mengatur kecepatan
putaran kipas DC sehingga dapat digunakan untuk mengendalikan alat elektronika
dengan aplikasi yang menggunakan pengenalan ucapan.
1.3
Batasan Masalah
Sistem pengenalan ucapan terdiri atas software dan hardware. Hardware memiliki
dua fungsi yaitu memberikan input ucapan manusia dan memberikan output berupa
kecepatan putaran kipas DC. Sedangkan software pada komputer berfungsi untuk mengatur
semua proses pengenalan ucapan manusia.
Pada perancangan sistem ini, penulis fokus pada software komputer untuk
memproses pengenalan ucapan manusia, sedangkan hardware berupa microphone yang
sudah tersedia di pasaran. Penulis menetapkan beberapa batasan masalah yang dianggap
perlu dalam perancangan ini, yaitu sebagai berikut :
1. Menggunakan input pengucapan tiga pengguna yang telah ditentukan dengan
intonasi pengucapan kata secara normal atau biasa.
2. Suara yang dikenali “hidup”, “mati”, “cepat” dan “lambat”. Pengucapan selain
kata – kata yang sudah ditentukan akan dikenali secara salah.
3. Menggunakan software Matlab dan Code Vision dalam pembuatan dan
pengolahan program.
4. Menggunakan DCT ( Discrete Cosine Transform) untuk mencari ekstraksi ciri,
fungsi jarak Euclidean sebagai pembanding dan jendela Hanning sebagai
windowing.
5. Pengenalan secara real time.
6. Variasi nilai pada variabel batas potong dan downsampling ditentukan sebagai
berikut :
Downsampling = 1, 2 dan 4
7. Output berupa kecepatan putaran kipas DC.
8. Menggunakan komunikasi serial FT232RL untuk menghubungkan
mikrokontroler dengan komputer untuk mengatur kecepatan putaran kipas DC.
9. Jarak antara microfon dengan peneliti ± 10cm.
10.Akuator yang digunakan adalah kipas DC dengan dimensi 12 x 12 x 2.5 cm.
11.Menggunakan mikrokontroler ATMega8.
12.Pengolahan data pengenalan ucapan menggunakan laptop dan mikrokontroler
sebagai pengolahan data untuk pengaturan putar kipas DC.
13.Penentuan level PWM sebagai output nilai kecepatan putar kipas DC
berdasarkan pengukuran kecepatan putar kipas DC.
1.4
Metodologi Penelitian
Langkah-langkah dalam pembuatan tugas akhir adalah :
1. Pengumpulan referensi berupa buku - buku dan jurnal - jurnal ilmiah mengenai
pengolahan suara, pemrograman Matlab, ekstraksi ciri DCT ( Discrete Cosine
Transform) dan fungsi jarak Euclidean.
2. Perancangan subsistem software dan hardware
Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang
akan dibuat dengan mempertimbangkan berbagai faktor–faktor permasalahan
dan kebutuhan yang ditentukan. Perancangan subsistem software dan hardware
secara umum dapat dilihat pada gambar 1.1
Gambar 1.1 Alur Kerja
3. Pembuatan subsistem software dan hardware.
Sistem akan bekerja jika user menekan tombol push button yang ditampilkan
dalam tampilan visual yang disediakan oleh software. Kemudian sistem akan
sampai user memberikan interupsi kembali untuk menghentikan proses
recording. Setelah itu, user memberikan interupsi memulai proses pengenalan
pengucapan. Matlab akan mengolah pengenalan ucapan dan memberikan output
berupa putaran kipas DC Pembuatan hardware ditunjukkan pada gambar 1.1
dengan mikrokontroler sebagai pengolah data dan penggerak kipas DC.
Pembuatan subsistem software ditunjukkan pada gambar 1.2
Gambar 1.2 Subsistem Pembuatan Software
4. Pengambilan data.
Pengambilan data yang dilakukan untuk dapat menguji sistem dilakukan dalam
2 tahap yaitu :
Pengenalan ucapan secara offline dengan merekam 20 data ucapan pada tiap kata ucapan. Pengenalan ucapan dilakukan pada data ucapan tersebut pada
setiap variasi nilai variabel.
Pengenalan ucapan secara real time dengan menangkap ucapan dan langsung diproses hingga terjadi pergerakan kipas DC.
Pengambilan data dilakukan dengan memvariasikan nilai pada variabel data
yang ditentukan. Variabel yang digunakan yaitu batas potong sinyal dan faktor
5. Analisa dan penyimpulan hasil percobaan. Analisa data dilakukan dengan
meneliti pengaruh variasi DCT (Discrete Cosine Transform) dengan 80 kali
percobaan ( 4 pengucapan x 20 ) terhadap tingkat pengenalan dengan variablel
downsampling dan batas potong sebanyak 12 set dari database. Penyimpulan
hasil dilakukan dengan mencari jumlah koefisien DCT (Discrete Cosine
Transform) yang menghasilkan tingkat pengenalan yang terbaik.
6. Pengujian secara real time
Pengujain secara real time merupakan pengujian dengan 4 ucapan hidup, mati,
cepat dan lambat sebanyak 10 kali secara langsung setelah mengetahui batas
potong dan downsampling yang menghasilkan tingkat pengenalan yang terbaik,
pengujian ini bertujuan untuk menguji kinerja sistem pengenalan ucapan pada
6
BAB II
DASAR TEORI
2.1 Suara Manusia
Ucapan manusia dihasilkan oleh suatu sistem produksi ucapan yang dibentuk oleh
alat- alat ucap manusia. Proses tersebut dimulai dengan formulasi pesan dalam otak
pembicaraan. Pesan tersebut akan diubah menjadi perintah- perintah yang dibeikan kepada
alat- alat ucap manusia, sehingga akhirnya dihasilkan ucapan yang sesuai dengan pesan
yang ingin diucapkan. Dimulai dari vocal cord atau glottis, dan berakhir pada mulut. Vocal
tract terdiri dari pharynx (koneksi antara esophagus dengan mulut) dan mulut. Panjang
vocal tract pria pada umumnya sekitar 17 cm. Daerah pertemuan vocal tract ditentukan
oleh lidah, bibir, rahang dan bagian belakang langit- langit.[3]
Gambar 2.1 Alat Ucap Untuk Pembentukan Suara [5]
Pembentukan ucapan dimulai dengan adanya hembusan udara yang dihasilkan oleh
paru – paru. Cara kerjanya serupa seperti piston atau pompa yang ditekan untuk menghasilkan udara. Pada saat vocal cords berada dalam keadaan tegang, aliran udara akan
menyebabkan terjadinya vibrasi pada vocal cords dan menghasilkan bunyi ucapan yang
disebut voiced sound. Pada saat vocal cord berada dalam keadaan lemas, aliran udara akan
melalui daerah yang sempit pada vocal tract dan menyebabkan terjadinya turbulensi,
Gambar 2.2 Diagaram Blok Produksi Suara Manusia[3]
2.2 Microphone
Mikrofon atau dalam bahasa Inggris disebut dengan michrophone adalah suatu alat
atau komponen elektronika yang dapat mengubah atau mengonversi energi akustik
(gelombang suara) ke energi listrik (sinyal audio). Mikrofon (microphone) merupakan
keluarga tranduser yang berfungsi sebagai komponen atau alat pengubah satu bentuk
energi ke energi lainnya, tetapi mereka semua memiliki persamaan yaitu semua jenis
mikrofon memiliki suatu bagian utama yang disebut dengan Diafragma (Diaphragm).
Mikrofon merupakan komponen penting dalam perangkat elektronik seperti alat bantu
pendengaran, perekam suara, penyiaran radio maupun alat komunikasi lainnya seperti
handphone, telepon, intercom, WalkieTalkie serta home entertainment seperti karaoke.
Pada dasarnya sinyal listrik yang dihasilkan mikrofon sangatlah rendah, oleh karena itu
diperlukan penguat suara yang biasanya disebut dengan Amplifier. Berikut ini adalah
penjelasan cara kerja mikrofon (microphone)
1. Saat kita berbicara, suara kita akan membentuk gelombang suara dan menuju ke
mikrofon.
2. Dalam mikrofon, gelombang suara tersebut akan menabrak diafragma (diaphragm)
yang terdiri dari membran plastik yang sangat tipis Diafragma akan bergetar sesuai
3. Sebuah coil atau kumparan kawat (Voice coil) yang terdapat dibagian belakang
diafragma akan ikut bergerak sesuai dengan getaran diafragma
4. Sebuah magnet kecil yang permanen (tetap) yang dikelilingi oleh koil atau
kumparan tersebut akan menciptakan medan magnet seiring dengan gerakan koil.
5. Pergerakan voice coil di medan ini akan menimbulkan sinyal listrik
6. Sinyal listrik yang dihasilkan tersebut kemudian mengalir ke amplifier (penguat)
atau perekam suara[6].
Gambar 2.3 Microphone[7]
2.3 Sound Card
Sound card adalah perangkat keras komputer yang berfungsi untuk mengolah data
berupa audio atau suara. Sound card juga sering disebut audio card, adalah periferal yang
terhubung ke slot ISA atau PCI pada motherboard, yang memungkinkan untuk
memasukkan input, memproses dan menghantarkan data berupa suara. Setiap sound card
memiliki fungsi, yaitu :
1. Digital to Analog Converter (DAC) sebagai keluaran suara ke speaker.
2. Analog to Digital Converter (ADC) sebagai masukkan suara dari microphone.
3. Musical Instrument Digital Interface (MIDI) sebagai komunikasi alat elektronik,
kontrol dan sinkroniksasi satu sama lainnya.
4. Digital Signal Proses (DSP) sebagai pengolahan data suara.
5. Synthesizer (sintesis) sebagai pengolahan suara yang menghasilkan simulasi suara
mirip dengan suara aslinya.
6. Jack sebagai penghubung sound card dengan speaker sebagai jalur out line atau
Sound card memiliki fasilitas audio yang telah terpasang pada motherboard
berbentuk chipset (on board sound card) dan kinerja on board sound card masih
membutuhkan bantuan posesor utama. Selain berbentuk chipset (on board sound card),
beberapa jenis lainnya sound card memiliki fasilitas audio yang dipasangkan pada slot PCI
motherboard. Sound card tipe ini memiliki keunggulan kualitas yang dihasilkan[8].
Gambar 2.4 Sound Card[8]
2.4 Matlab
Matlab adalah singkatan dari mathematics laboratory atau matrix laboratory.
Dalam ilmu komputer, Matlab didefinisikan sebagai bahasa pemrograman yang digunakan
untuk mengerjakan operasi matematika atau operasi aljabar matriks. Matlab merupakan
sistim interaktif yang data dasarnya adalah matriks. Matriks dianggap data dasar data
Matlab karena samua masukkan di Matlab dapat ditulis dalam bentuk matriks. Beberapa
bagian dari window Matlab :
1. Current Directory
Window ini menampilkan isi dari direktori kerja saja menggunakan Matlab.
Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang
diingikan. Default dari alamat direktori berada dalam folder works tempat
program files Matlab berada.
2. Command History
Window ini berfungsi untuk menyimpan perintah – perintah apa saja yang sebelumnya dilakukan oleh pengguna terhadap Matlab.
Window ini adalah window utama dari Matlab. Disini adalah tempat untuk
menjalankan fungsi, mendeklarasikan variabel, menjalankan proses – proses, serta melihat isi variabel.
4. Workspace
Workspace berguna untuk menampilkan seluruh variabel – variable yang sedang aktif pada saat pemakaian Matlab. Apabila variable berupa data matriks
berukuran besar maka user dapat melihat isi dari seluruh data dengan
melakukan double click pada variable tersebut. Matlab secara otomatis akan
menampilkan window “array editor” yang berisikan data pada setiap variable yang dipilih user[9]
Terdapat dua metode yang digunakan untuk menulis program dalam Matlab.
Kedua metode itu adalah metode langsung dan tidak langsung. Untuk menulis program
Matlab secara langsung maka program itu ditulis langsung di Command window
Gambar 2.5 Penulisan Program Matlab Secara Langsung[9]
Untuk menulis program Matlab secara tidak langsung maka program itu dapat
Gambar 2.6 M-file Matlab[9]
2.5 Sampling
Proses sampling mengubah sinyal analog, x(t) menjadi nilai – nilai waktu diskrit,
x[n] yang dinyatakan sebagai
[ ] | (2.1)
Dengan Ts adalah periode sampling. Istilah lain yang sering digunakan dalam
sampling adalah frekuensi sampling, yang tidak lain adalah kebalikan dari periode
sampling, yaitu
(2.2)
Jika frekuensi tertinggi dari sinyal analog adalah fm aks maka sinyal harus
di-sampling dengan frekuensi di-sampling paling sedikit dua kali frekuensi tertinggi sinyal
analog tersebut, atau
(2.3)
Prinsip tersebut disebut sebagai kriteria Nyquist. Frekuensi fs = 2fm aks disebut
sebagai Nyquist rate. Sebagai contoh, jika frekuensi tertinggi sinyal analog adalah 4KHz
maka frekuensi sampling harus setidaknya 8KHz[11].
(2.4)
2.6 Mikrokontroler ATmega 8
AVR Atmega 8 adalah mikrokontroler CMOS 8 bit berarsitektur RISC (Reduce
Instruction Set Computer) yang memiliki 8K byte in-System Programmable Flash.
Mikrokontroler dengan daya rendah ini mampu mengeksekusi instruksi dengan kecepatan
maksimum 16MIPS pada frekuensi 16 MHz.
Berikut ini beberapa fitur yang dimiliki ATmega8 antara lain :
1. Kinerja tinggi dan rendah penggunaan daya.
2. Advance RISC Architecture.
3. EEPROM sebesar 512Bytes.
4. 1Kbyte internal SRAM.
5. Timer/Counter sebanyak 3 buah[11].
2.6.1 Konfigurasi pin ATmega 8
Gambar 2.7 Konfigurasi ATMega8[11]
ATmega 8 memiliki 28 pin, pin- pin berikut memiliki fungsi yang berbeda- beda,
yaitu
1. VCC
Digital supply voltage.
2. GND
Ground.
Port B adalah 8 bit bit-directional I/O port dengan resistor pull-up internal. Sebagai
input pin – pin yang terdapat pada port B yang secara eksternal diturunkan maka akan mengeluarkan arus jika pull-up resistor diaktifkan. Bergantung pada clock
pemilihan seting fuse bit, PB 6 dapat digunakan sebagai input kristal (inverting
oscillator amplifier) dan input ke rangkaian clock internal.PB7 dapat digunakan
sebagai output kristal (inverting oscillator amplifier). PB6 dab PB7 dapat
digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter 2 maka
PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer.
4. Port C (PC5..PC0)
Port C adalah 7 bit bi-directional I/O dengan resistor pull-up internal. Jumlah pin
hanya 7 buah, mulai dari pin C.0 sampai C.6. Sebagai pin input, pin port C secara
eksternal diturunkan maka akan mengeluarkan arus jika pull-up resistor diaktifkan.
5. PC6/RESET
Jika RSTDISBL Fuse diprogram, PC6 digunakan sebagai I/O pin. Karakeristik dari
pin PC6 berbeda dari pin lainnya dalam port C. Jika RSTDISBL Fuse tidak
diprogram, PC6 digunakan sebagai input reset. Dan jika tegangan yang masuk ke
pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan
menghasilkan kondisi reset.
6. Port D (PD7..PD0)
Port D adalah 8 bit bi-directional I / O port dengan resistor pull-up internal (dipilih
untuk setiap bit). Sebagai input, pin port D secara eksternal diturunkan maka akan
mengeluarkan arus jika pull-up resistor diaktifkan.
7. AVcc
AVcc adalah pin supply untuk ADC (Analog to Digital Converter). Pin ini harus
dihubungkan secara terpisah ke Vcc, karena pin ini dihubungkan ketika ADC
(Analog to Digital Converter) digunakan.
8. AREF
AREF adalah pin referensi analog untuk ADC (Analog to Digital Converter)[11].
2.6.2 Timer ATMega8
ATMega 8 memiliki 3 buah timer, yaitu timer 2 timer 8-bit ( Timer / Counter 0 dan
2.6.2.1 Timer / Counter 1
Timer / Counter 1 digunakan untuk program yang akurat eksekusi waktu,
pembangkit gelombang dan pengukuran waktu sinyal[11]. Fitur utama Timer / Counter 1
pada ATMega8 adalah :
1. 16-bit desain (yaitu, memungkinkan 16-bit PWM).
2. Dua unit output pembanding bebas.
3. Sebagai pembangkit sinyal PWM.
4. Sebagai frekuensi generator.
5. Terdapat 4 sumber interupsi bebas ( TOV1, OCF1A, OCF1B dan ICF1).
2.6.2.2 Register Timer / Counter 1
Timer / Counter 1 Control Register A – TCCR1A Tabel 2.1 Register TCCR1A[11]
Bit 7:6 – COM1A1:0: Compare Output Mode for Channel A Bit 5:4 – COM1B1:0: Compare Output Mode for Channel B
COM1A1:0 dan COM1A1:0 mengontrol perilaku keluaran pin ( masing – masing dari OC1A dan OC1B).
Tabel 2.3 Mode Fast PWM[11]
Tabel 2.4 Mode Phase Correct dan Frequency Correct PWM[11]
Bit 3 – FOC1A: Force Output Compare for Channel A Bit 2 – FOC1B: Force Output Compare for Channel B
Bit FOC1A / FOC1B hanya aktif ketika WGM13:0. Ketika bit ini aktif maka akan
menentukan pada mode non-PWM.
Bit 1:0 – WGM11:0: Waveform Generation Mode
Dikombinasikan dengan WGM13:12 bit ini mengendalikan perhitungan urutan
counter, sumber untuk nilai maksimum (TOP) nilai counter dan jenis pembangkit
gelombang yang dipakai[11]. Penggunaan bit untuk mode operasi ini dapat dilihat pada
Tabel 2.5 Mode Operasi [11]
Timer / Counter 1 Control Register B – TCCR1B 1. Bit 7 – ICNC1: Input Capture Noise Canceler
Pengaturan bit ini mengaktifkan Input Capture Noise Canceler. Ketika Input
Capture Noise Canceler diaktifkan, maka masukkan dari Input Capture Pin (ICP1)
disaring. Fungsi saring memerlukan 4 sampel yang sama pada masukkan pin ICP1
untuk dapat mengubah output.
2. Bit 6 – ICES1: Input Capture Edge Select
Bit ini memilih pemicu atau trigger pada Input Capture Pin (ICE1) yang
digunakan untuk menangkap sebuah capture. Ketika ICE1 bit ditulis ke nol, maka
tepi pada saat turun atau jatuh (negatif) yang digunakan sebagai pemicu (trigger)
dan ketika ICE1 ditulis ke satu, maka tepi pada saat naik (positif) yang digunakan
sebagai pemicu.
3. Bit 5 –Reserved Bit Bit ini tidak digunakkan.
4. Bit 4:3 – WGM13:12: Waveform Generation Mode
Lihat deskripsi register TCCR1A pada tabel mode operasi.
5. Bit 2:0 – CS12:10: Clock Select
WGM 13 WGM 12 (CTC1)
WGM 11 (PWM11)
WGM 10 (PWM 10)
Timer / Counter Mode of
Operation TOP Update of OCR1x
TOV1 Flag Set On
0 0 0 0 Normal 0xFFFF Immediate MAX
0 0 0 1 PWM, Phase Correct, 8-bit 0x00FF TOP BOTTOM 0 0 1 0 PWM, Phase Correct, 9-bit 0x01FF TOP BOTTOM 0 0 1 1 PWM, Phase Correct, 10-bit 0x03FF TOP BOTTOM
0 1 0 0 CTC OCR1A Immediate MAX
0 1 0 1 Fast PWM, 8-bit 0x00FF BOTTOM TOP 0 1 1 0 Fast PWM, 9-bit 0x01FF BOTTOM TOP 0 1 1 1 Fast PWM, 10-bit 0x03FF BOTTOM TOP 1 1 0 0 PWM, Phase and Frequency Correct ICR1 BOTTOM BOTTOM 1 1 0 1 PWM, Phase and Frequency Correct OCR1A BOTTOM BOTTOM
1 1 1 0 PWM, Phase Correct ICR1 TOP BOTTOM
1 1 1 1 PWM, Phase Correct OCR1A TOP BOTTOM
Tiga bit ini digunakan untuk memilih sumber clock yang digunakan oleh Timer /
Counter[11]. Bit – bit uang digunakan untuk memilih sumber clock ditunjukkan
pada tabel 2.6.
Tabel 2.6 Sumber Clock Dengan Pemilihan bit[11]
2.6.2.3 Mode operasi Fast PWM
Mode fast PWM digunakan untuk mengendalikan lama t on dan t off pada register
pembanding OCR1A atau OCR1B sehingga menghasilkan besarnya perubahan duty cycle.
Fast PWM ini berbeda dari pilihan PWM lain dengan operasi single – slope (satu arah),
dengan menghitung counter dari BOTTOM ke TOP kemudian kembali ke BOTTOM.
Besarnya BOTTOM bernilai 0x0000 dan besarnya TOP dapat ditentukan sesuai dengan
resolusi fast PWM tetap yaitu 8 bit, 9bit dan 10 bit (dapat dilihat pada tabel 2.4) atau dapat
ditentukan melalui register ICR1 atau OCR1A. Resolusi minimum yang dapat dilakukan
adalah 2bit (ICR1 atau OCR1A diatur ke 0x0003) dan resolusi maksimum yang dapat
dilakukan adalah 16 bit (ICR1 atau OCR1A diatur ke maksimum). Resolusi PWM dalam
bentuk bit dapat dihitung dengan menggunakan persamaan berikut :
(2.5)
Diagram waktu untuk mode fast PWM ditunjukkan pada gambar 2.8. Pada gambar
2.8 menunjukkan ketika OCR1A atau ICR1 digunakan untuk mendefinisikan TOP pada
mode fast PWM. Nilai TCNT1 dalam diagram waktu ditunjukkan sebagai histogram
operasi single – slope (satu arah). Diagram termasuk gambar output non-inverving PWM
dan inverting PWM. Tanda garis horizontal pendek pada TCNTn menunjukkan kondisi
compare match antara OCR1x denganTCNT1. Bit register TOV1 interrupt flag akan
Gambar 2.8 Diagram Waktu Mode Fast PWM[11]
Dalam mode fast PWM terdapat 2 jenis dilihat dari bentuk gelombangnya, yaitu
non-inverting dan inverting. Fast PWM non-inverting dapat dikendalikan oleh lama waktu
t on dan fast PWM inverting dapat dikendalikan oleh lama waktu t off. Frekuensi
PWMuntuk output dapat dihitung dengan persamaan berikut :
(2.6)
N merupakan prescale pembagi (1, 8, 64, 256, atau 1204)[11].
2.6.3 USART (Universal Synchronous and Asynchronous Serial Receiver
and Transmitter)
Universal synchronous and asynchronous serial receiver and transmitter (USART)
adalah perangkat komunikasi serial yang sangat fleksibel. Fitur utama adalah
1. Operasi full duplex (Serial bebas menerima dan mengirim register).
2. Operasi synchronous dan asynchronous.
3. Baud Rate generator dengan resolusi tinggi.
4. Mendukung serial frame dengan 5, 6, 7, 8 atau 9 DataBit dan 1 atau 2 BitStop.
5. Mode komunikasi multi-prosesor[11].
USART pengirim data buffer register dan USART penerima data buffer register
berbagi alamat yang sama dengan I/O disebut sebagai USART Data Register atau UDR.
Transmit Data Buffer Register (TXB) akan menjadi tujuan untuk data ditulis ke UDR
Buffer Register (RXB). Transmitter buffer hanya dapat ditulis ketika UDRE flag pada
UCSRA register diatur. Jika data ditulis ke UDR ketika UDRE flag tidak diatur, maka akan
diabaikan oleh USART Transmitter. Ketika data ditulis ke Transmitter buffer dan
Transmitter diaktifkan, Transmitter akan memuat data ke dalam Transmitter Shift Register
ketika Shift Register kosong. Data dengan ukuran 5 bit, 6 bit dan 7 bit akan diabaikan oleh
transmitter dan di atur dengan menambahkan logika 0 pada bit bagian atas hingga bernilai
8 bit[11].
Pengaturan mode synchronous dan asynchronous diatur pada UMSEL (USART
Select Mode). Pengaturan bit pada UMSEL ini dapat dilihat pada tabel 2.7.
Tabel 2.7 Pengaturan Bit UMSEL[11]
Paritas dan StopBit diatur melalui bit UPM1:0 (Parity Mode) dan USBS ( Stop Bit
Select). Pengaturan bit Parity Mode dan Stop Bit Select dapat dilihat pada tabel 2.8 dan 2.9.
Tabel 2.8 Pengaturan Bit Parity Mode[11]
Tabel 2.9 Pngaturan Bit Stop Bit Select[11]
Pengaturan ukuran karakter akan diatur melalui UCSZ2:0 (Character Size).
Tabel 2.10 Bit Pengaturan Ukuran Karakter[11]
2.7 FT232RL
IC FT232RL merupakan IC USB ke serial Universal Asynchronous
Receiver-Transmitter (UART) antarmuka. Beberapa karakteristik adalah sebagai berikut :
1. Chip tunggal USB untuk serial asynchronous serial data transfer interface.
2. Kecepatan transfer data dari 300 baud sampai 3 Mbaud (RS422, RS485, RS232)
dalam level TTL.
3. Dukungan interface UART untuk 7 atau 8 bit data, 1 atau 2 bit stop dan odd / even
/ mark / space / no parity.
4. Single supply operation dengan 3.3 V ( menggunakan osilator eksternal) sampai
5.25 V ( menggunakan osilator internal).
5. Konfigurasi CBUS I/O pin.
6. Rentang suhu operasi dari -40oC sampai 85oC[12].
2.8 Pulse Width Modulation (PWM)
Pulse Width Modulation (PWM) bekerja dengan cara membuat gelombang persegi
yang memiliki perbandingan pulsa high terhadap pulsa low yang telah tertentu, biasanya
skala 0 hingga 100%. Perbandingan pulsa high terhadap low ini dikenal dengan nama
gelombang kotak atau duty cycle seperti pada gambar berikut
Gambar 2.10 Gelombang kotak[13]
Dengan memperhatikan gambar gelombang kotak dengan ymaks dan ymin, maka nilai
rata – rata dari gelombang kotak tersebut dapat dituliskan pada persamaan
̅ ∫ (2.7)
Jika f(t) adalah gelombang kotak, maka nilai y maks dari 0 < t < D.T dan nilai y
min dari D.T < t < T, dari pernyataan diatas di dapat :
̅ ∫ ∫ (2.8)
̅ (2.9)
̅ (2.10) Bila y min = 0, maka persamaan menjadi
̅ (2.11) Sehingga dari persamaan 2.11 maka nilai ̅ tergantung pada duty cycle. Duty cycle
merupakan prosentase keadaan logika high (pulse) dalam satu periode sinyal. Satu siklus
Gambar 2.11 Gambar Pulsa PWM[13]
2.9 Discrete Cosine Transform (DCT)
Definisi DCT yang paling umum dengan panjang N adalah
∑
(2.12)
Untuk u = 0,1,2,…,N-1. Demikian pula, transformasi balik didefinisikan sebagai
∑
(2.13)
Untuk x = 0,1,2,…,N-1. Dalam kedua persamaan 1 dan 2 α(u) didefinisikan sebagai
{
√
√
(2.14)
Hal ini dijelaskan dari persamaan 2.1 bahwa untuk u = 0,
√ ∑ .
Mengabaikan komponen f(x) dan α(u) dalama komponen persamaan 1. Plot dari
∑
untuk N = 8[14]. Berbagai nilai – nilai u ditunjukkan pada gambar
Gambar 2.12 Fungsi Dasar Kosinus Satu Dimensi[14]
2.10 Jarak Euclidean
Jarak Euclidean digunakan untuk klasifikasi atau identifikasi suatu vektor ciri yang
dimasukkan dengan ciri pada basis data yang ada. Jarak Euclidean ditentukan dengan
rumus sebagai berikut :
⃑ ‖ ⃑⃑⃑⃑⃑⃑⃑⃑⃑⃑⃑ ‖ √ (2.15) Dengan :
⃑ = Jarak Euclidean
⃑ = Vektor ciri masukkan
= Vektor ciri basis data
n = Jumlah elemen vektor ciri
Pengenalan diperoleh dengan menghitung jarak terdekat, yaitu nilai jarak Euclidean yang
paling kecil[15].
2.11 Windowing
Windowing adalah proses mengalikan sinyal data dengan fungsi yang mereduksi
windowing yaitu Hanning, Blackman, Hamming, Bartlett-Hann, Gaussian, Flat Top[16].
Windowing diperlukan untuk mengurangi efek diskontinuitas dari potongan – potongan sinyal[17].
2.11.1 Jendela Hanning
Jendela Hanning adalah suatu jendela yang dapat digunakan untuk keperluan
windowing. Berikut merupakan persamaan dari jendela Hanning :
(2.16)
Dengan :
Panjang jendela = N-1 ; ketika N dimulai dari 0.
2.12Template Matching
Pendekatan pengenalan pola adalah salah satu yang paling sederhana dan paling
awal dengan didasarkan pada template matching. Matching adalah operasi generik dalam
pengenalan pola yang digunakan untuk menentukan kesamaan antara dua entitas dari jenis
yang sama. Dalam template matching, contoh atau bentuk asli dari pola yang menjadi
pengenalan sudah tersedia. Pola yang menjadi pengenalan dicocokan terhadap template
yang telah tersimpan. Kesamaan ukuran dapat di optimalkan berdasarkan template
tersedia[22].
2.13 Transistor Sebagai Saklar
Pada keadaan aktif, transistor dapat berfungsi sebagai penguat arus dan pada keadaan
saturasi dan cut-off, transistor dapat berfungsi sebagai saklar [20]. Ketika transistor berada
dalam keadaan saturasi, transistor berfungsi sebagai saklar yang tertutup. Pada saat
transistor dalam keadaan cut-off, transistor berfungsi sebagai saklar terbuka. Rangkaian
transistor sebagai saklar dapat dilihat pada Gambar 2.13. Besarnya arus pada basis dapat
diperoleh dengan perhitungan :
(2.17)
Beta DC (β) dalam sebuah transistor merupakan rasio arus kolektor atau dangan arus basis diperoleh dengan persamaan :
(2.18)
(2.19)
Arus IC saturasi (ICsat) adalah arus kolektor ketika nilai VCE = 0, sehingga nilai ICsat dapat
diperoleh dengan persamaan:
(2.20)
Gambar 2.13 Rangkaian Transistor Sebagai Saklar[20]
2.14 Brushless Motor DC (BLDC)
Penukaran arus listrik bergantung pada umpan balik pada posisi rotor untuk
memutuskan kapan untuk memberikan energi switch yang sesuai untuk menghasilkan torsi
terbesar. Cara termudah dengan secara akurat mendeteksi posisi adalah dengan
menggunakan sensor posisi. Perangkat sensor yang paling populer adalah Hall sensor.
Kebanyakan BLDC motor memiliki Hall sensor yang tertanam dalam stator pada bagian
motor yang tidak bergerak.
Gambar 2.14 menunjukan urutan pergantian fase tunggal sirkuit pengendali BLDB motor.
Magnet permanen dari rotor dan terletak di dalam stator. Posisi Hall sensor (“a”) dipasang keluar stator, yang menginduksi tegangan output sebanding dengan intensitas magnetik.
(mengasumsikan sensor berlogika tinggi ketika rotor kutub utara lewat dan berlogika
rendah ketika rotor kutub selatan lewat). SW1 dan SW4 menyala saat output Hall sensor
berlogika tinggi seperti yang ditunjukan gambar 2.14 (a) dan (b). Pada tahap ini, arus
dinamo melalui kumparan stator dari OUT1 ke OUT2 dan menginduksi alternator kutub
dan medan elektromagnetik stator menyebabkan rotor berputar. Setelah sinyal rotor
mencapat 180o, tegangan output Hall sensor terbalik terbalik karena kedekatannya dengan
kutub selatan. SW2 dan SW3 kemudian di hidupkan denagn arus pembalikan dari OUT2
dan OUT1. Seperti yang ditunjukan pada gambar 11 (c) dan (d) kutub magnet stator
berlawanan menginduksi rotor untuk terus berputar kearah yang sama.
27
BAB III
PERANCANGAN
3.1 Perancangan Sistem
Perancangan sistem pengenalan ucapan untuk pengaturan kipas DC ini pada
dasarnya memiliki diagram blok yang digambarkan pada gambar 3.1.
Gambar 3.1. Gambaran Umum Sistem
Sistem pengenalan ucapan untuk pengaturan kipas DC dibuat untuk mengenali ucapan
untuk menggerakkan kipas DC. Sistem ini memiliki 2 subsistem, yaitu bagian pengenalan
ucapan dan bagian pengaturan kipas DC. Bagian pengenalan ucapan terdiri dari ucapan
yang ditangkap oleh mikrofon. Ucapan kemudian akan direkam oleh sound card dalam
laptop. Pengenalan ucapan akan diproses oleh Matlab. Sedangkan bagian pengaturan kipas
DC terdiri dari mikrokontroler untuk menerima input data pengenalan ucapan dan
mengolah data tersebut untuk mengatur kecepatan kipas DC sesuai dengan input yang
diterima. Penghubung antara bagian pengenalan ucapan dan bagian pengaturan kipas DC
dengan komunikasi secara serial menggunakan modul FT232.
1. Ucapan
Ucapan merupakan input untuk pengenalan ucapan pengaturan kipas DC.
Ucapan hanya menggunakan hanya satu user yaitu ucapan peneliti itu sendiri.
Ucapan yang digunakan untuk mengatur kipas DC adalah hidup, mati, cepat dan
lambat.
2. Mikrofon
Mikrofon merupakan piranti untuk memasukkan input ucapan. Microfon
yang digunakan adalah Mini Multimedia Microphone Genius MIC-01A dapat
dilihat spesifikasi microfon pada tabel 3.1.
Tabel 3.1. Spesifikasi Mikrofon Genius MIC-01A[5]
Frequency Response 100Hz ~ 10KHz
Sensitivity -62dB
Output Impedance 2.2Kohm
Cable length 3.0 meters
Audio Output Connector 3.5mm Stereo Audio Plug
Microfon genus ini memiliki jarak terhadap sumber suara ±10 cm. Jarak ini
didapat dari pengujian dari berbagai jarak. Jika jarak melebihi 10 cm maka hasil
pada percobaan memperlihatkan adanya noise yang ditangkap oleh microfon
3. Sound Card
Sound Card berfungsi mengubah sinyal analog yang berasal dari ucapan
yang ditangkap oleh microfon menjadi sinyal digital sehingga dapat diproses oleh
Matlab. Sound Card yang digunakan adalah sound card yang sudah ternaman pada
motherboard (onboard sound card).
4. Matlab
Proses pengolahan suara menggunakan software Matlab. Program yang
dibuat Software Matlab adalah program pembentukan database, program
pengenalan ucapan dan program komunikasi dan pengiriman data.
5. FT232 Modul
Modul FT232 berfungsi untuk komunikasi data secara serial. Modul ini
mengirimkan data pengenalan ucapan dari laptop yang diolah dalam software
6. Mikrokontroler ATmega8
Mikrokontroler ATmega8 digunakan untuk menerima data serial
pengolahan pengenalan ucapan dan mengolah data serial untuk mengatur kecepatan
kipas DC dengan mengatur PWM pada mikrokontroler.
7. Transistor sebagai saklar
Transistor sebagai saklar berguna untuk menghidupkan dan mematikan
kipas DC dan mengendalikan kecepatan kipas DC dengan menyaklar output PWM
pada mikrokontroler.
8. Kipas DC
Kipas DC merupakan akuator dari sistem pengenalan ucapan untuk
pengaturan kipas DC. Pengaturan kipas DC ini berputar sesuai kecepatannya
dengan input pengucapan yang diberikan oleh user. Kipas DC yang diunakan dapat
dilihat pada tabel 3.2.
Tabel 3.2 Spesifikasi Kipas DC
DC Voltage 12 Volt
DC Current 0.2 Ampere
Dimensi 120 x 120 x 25 mm
3.2 Perancangan Pengenalan Ucapan
Proses pengenalan ucapan terdiri dari dua bagian, bagian perancangan software dan
hardware. Pada perancangan bagian software, proses pengenalan ucapan hampir sama
dengan proses pembentukan database, perbedaannya terletak pada proses pengenalan
ucapan membandingkan dengan database yang telah dibentuk sebelumnya pada prose
pembentukkan database. Proses pembandingan antara pengenalan ucapan dengan database
akan digunakan untuk penentuan pengenalan keluaran ucapan yang akan diolah kemudian
dalam perancangan hardware. Perancangan software ini meliputi proses sampling,
pre-processing, ekstraksi ciri dan pembandingan antara pengenalan dengan ucapan. Sedangkan
perancangan hardware meliputi proses pengiriman data secara serial dengan modul serial
FT232, mikrokontroler sebagai pengolahan data yang diterima untuk mengatur kecepatan
kipas DC dan driver yang berfungsi untuk menggerakkan akuator berupa kipas DC.
Gambar 3.2. Diagram Blok Proses Pengenalan Ucapan
3.2.1 Perancangan Software
3.2.1.1 Proses pengenalan ucapan
Proses pengenalan ucapan merupakan ucapan manusia sebagai input pengenalan
yang direkam akan dikenali ucapannya. Proses ini terdiri dari sampling, pre-processing,
ekstraksi ciri, database, fungsi jarak (pembanding), penentuan keluaran dan pengiriman
data secara serial. Proses pengenalan ucapan dapat dilihat pada gambar 3.3.
1. Sampling
Proses sampling merupakan proses pencuplikan ucapan manusia.
Pencuplikan ucapan manusia dipengaruhi oleh frekuensi sampling dan banyaknya
waktu pencuplikan. Ucapan manusia memiliki rentang frekuensi 250 – 3000
Herzt[18]. Frekuensi ucapan manusia tertinggi 3000 Hertz, agar dapat tercuplik
dengan baik maka, frekuensi sampling ucapan sebesar 6000 Hertz. Frekuensi
sampling dapat dirumuskan dengan aturan Nyquist sebagai berikut :
(3.1) (3.2)
Banyaknya waktu pencuplikan dapa proses sampling ditentukan sebesar 1.5
detik. Rentang waktu ini digunakan untuk lamanya proses perekaman. Dengan
waktu tersebut cukup untuk melakukan proses perekaman, sehingga data sinyal
ucapan yang disampling tidak terpotong. Proses pencuplikan ucapan dapat dilihat
pada gambar 3.4.
Gambar 3.4 Flowchart Proses Pencuplikan Ucapan
Panjang pencuplikan merupakan banyaknya jumlah data sinyal ucapan yang
tercuplik selama rentang waktu pencuplikan . Panjang pencuplikan ini diperoleh
sebagai berikut:
(3.4)
(3.5)
2. Pre-processing
Pre-processing merupakan proses pengkondisi sinyal data ucapan
pengenalan maupun database. Proses pre-processing ini meliputi proses
normalisasi, pemotongan sinyal, windowing dan zero padding. Proses
pre-processing ini dapat dilihat pada gambar 3.5.
Gambar 3.5 Flowchart Proses Pre-processing
a. Normalisasi
Proses normalisasi berfungsi untuk menyetarakan besar amplitudo
data ucapan pengenalan ucapan maupun database, sehingga efek dari kuat
lemahnya suara pengucapan tidak terlalu mempengaruhi pada proses
pengenalan. Besar amplitudo maksimum ini bernilai 1 atau -1 dan
amlipitudo yang lain menyesuaikan skala tersebut. Proses normalisasi
Gambar 3.6 Flowchart Proses Normalisasi
Pada proses normalisasi hasil pencuplikan ucapan akan akan
disamakan nilai amplitudo dengan skala maksimum amplitudo maksimum 1
atau -1 menggunakan rumus normalisasi sebagai berikut :
( ) (3.6)
b. Pemotongan sinyal
Proses pemotongan sinyal ini untuk menghilangkan atau memotong
sinyal yang bukan merupakan data ucapan. Tujuan dari proses ini untuk
mendapatkan data ucapan yang diperlukan. Proses pemotongan sinyal
memiliki variabel batas potong yang bertujuan untuk membatasi data sinyal
ucapan yang akan dipotong. Pemotongan sinyal ini terdiri dari dua tahap,
yaitu pemotongan sinyal sebelah kiri dan sebelah kanan. Proses
Gambar 3.7 Flowchart Proses Pemotongan Sinyal
Hasil normalisasi akan masuk dalam proses pemotongan sinyal.
Proses pertama diakukan adalah memotong sinyal pada sebelah kiri.
Setelah memotong sinyal pada sebelah kiri, proses berikutnya memotong
sinyal pada sebelah kanan. Kedua proses pemotongan sinyal ini ditentukan
oleh variabel batas potong dengan batas potong 0,1; 0,2; 0,3 dan 0,4.
c. Windowing
Proses windowing merupakan proses perkalian antar elemen.
Windowing ini berfungsi untuk mengurangi efek diskontiunitas dari data
sinyal dari hasil perekaman. Dalam perancangan ini jenis windowing yang
digunakan adalah Hanning window. Proses windowing ditunjukkan pada
gambar 3.8.
d. Zero padding
Zero padding adalah proses yang digunakan untuk menyamakan
panjang data sinyal setelah proses pemotongan sinyal. Pada proses
pemotongan sinyal, banyak terjadi perbedaan panjang sinyal data, sehingga
proses zero padding menambah jumlah data sinyal dengan nilai 0 sesuai
dengan panjang yang ditentukan. Panjang ukuran sinyal ditentukan oleh
bilangan 2n . Proses zero padding ditunjukkan pada gambar 3.9.
Gambar 3.9 Flowchart Proses Zero Padding
Proses zero padding merupakan proses akhir dari proses
pre-process