Perancangan Tampilan GUI Matlab

Pada program tampilan variasi nilai downsampling hampir sama dengan program tampilan variasi nilai batas potong. Kedua program ini hampir sama karena keduanya memiliki fungsi yang sama yaitu untuk memilih nilai yang dingginkan. Nilai downsampling di inisialisasi dengan nama “dsamp” yang bertujuan untuk memilih nilai downsampling . Setelah itu inisialisasi diubah menjadi “handles.sampling” agar nilai downsampling dapat dikenali secara global dan dapat gigunakan dalam proses program berikutnya. Proses pemanggilan nilai batas potong dan downsampling yang telah dilakukan inisialisasi dengan bahasa program “callback”.

4.1.2 Push button “Rekam”

Pada program antarmuka “PENGENALAN UCAPAN UNTUK PENGATURAN KIPAS DC”, push button “Rekam” digunakan ketika pengguna mulai menjalankan program pengenalan ucapan. Push button “Rekam” memulai pengenalan ucapan dengan menjalankan beberapa subproses. Subproses dalam push button “Rekam” terdiri dari proses perekaman ucapan, proses pre-processing, proses ekstraksi ciri discrete cosine transform DCT, proses jarak Euclidean, pementuan keluaran dan pengiriman data serial untuk mikrokontroler sebagai pengaturan kecepatan kipas DC. Program untuk perekaman ucapan ditunjukkan sebagai berikut : function pushbutton1_CallbackhObject, eventdata, handles Rekam sample_length=1; sample_freq=6000; sample_time=sample_lengthsample_freq; x=wavrecordsample_time, sample_freq; axeshandles.axes1 plotx; xlabel data tercuplik ylabel amplitudo grid on Pada perekaman ucapan menggunakan frekuensi sampling 6000 Hz dan durasi perekaman 1 detik. Pada program inisialisasi sample_time berfungsi untuk menyediakan ruang untuk menyimpan data perekaman ucapan sebanyak 6000 data. Program wavrecord berfungsi untuk merekam ucapan dengan sebanyak 6000 data dan frekuensi sampling 6000Hz. Data ucapan akan di simpan dalam variabel x dan ditampilkan dalam “Plot Hasil Rekaman”, pada program data ucapan dalam variabel x ditampilkan pada axes1. Pada program xlabel dan ylabel berfungsi untuk memberikan keterangan gambar pada bagian horisontal dan vertikal kurva dalam “Plot Hasil Perekaman. Subproses selanjutnya setelah proses perekaman dan data perekaman disimpan adalah pre-processing, proses ini memiliki beberapa proses yaitu normalisasi, pemotongan sinyal, windowing dan zero padding. Program proses normalisasi ditunjukkan sebagai berikut : Normalisasi x1=xmaxx; Program normalisasi setiap nilai data ucapan dalam variabel x akan dibagi dengan nilai maksimum dari data ucapan dalam variabel x. Hasil normalisasi disimpan dalam variabel x1. Proses berikutnya dalam subproses pre-processing adalah pemotongan sinyal. Pada proses pemotongan sinyal ini terdapat dua proses yaitu potong sinyal bagian kiri dan sinyal bagian kanan data ucapan. Program proses pemotongan sinyal ditunjukkan sebagai berikut : Potong kiri b1=findx1b0 | x1-b0; x11:b11=[]; Potong kanan x2=fliplrx1; b2=findx2b0 | x2-b0; x21:b21=[]; x2=fliplrx2; Dalam program pemotongan sinyal bagian kiri, program berfungsi untuk mencari nilai data hasil normalisasi dalam variabel x1 lebih dari nilai batas potong atau kurang dari nilai negatif batas potong. Setelah mencari nilai tersebut, akan disimpan dalam variabel b1. Pada data pertama sampai data dalam variabel b1 yang pertama akan diberi dengan himpunan kosong. Proses pemotongan sinyal bagian kanan hampir sama dengan pemotongan sinyal bagian kiri. Program fiplr berfungsi untuk memutar ke arah kanan data ucapan. Setelah pemotongan sinyal bagian kanan data disimpan dalam variabel x2. Proses berikutnya dalam subproses pre-processing adalah windowing. Program proses windowing ditunjukkan sebagai berikut : hanning h=hannlengthx2; x0=x2.h; Pada program windowing, jendela hanning dihitung sepanjang nilai data dalam variabel x2. Setelah itu nilai jendela hanning dikalikan dengan nilai dalam variabel x2 dan hasilnya disimpan dalam variabel x0. Dalam subproses pre- processing selanjutnya proses zero padding. Zero padding adalah terakhir dalam subproses pre-processing. Program zero padding ditunjukkan sebagai berikut : zero padding usig=2048; x0usig=0; penyesuaian ukuran sinyal x1=x01:sampling:usig; axeshandles.axes2 plotx1; xlabel data tercuplik ylabel amplitudo grid on Subproses selanjutnya setelah proses pre-processing adalah proses pemanggilan database yang telah disesuaikan dengan variasi nilai batas potong dan downsampling yang telah ditentukan oleh pengguna. Program pemanggilan database ditunjukkan sebagai berikut : if b0==0.1 sampling==1 load db011 ; elseif b0==0.2 sampling==1 load db021 ; elseif b0==0.3 sampling==1 load db031 ; elseif b0==0.4 sampling==1 load db041 ; elseif b0==0.1 sampling==2 load db012 ; elseif b0==0.2 sampling==2 load db022 ; elseif b0==0.3 sampling==2 load db032 ;