Kolom inisialisasi Implementasi GUI Matlab dan Program Pengenalan Ucapan
Proses normalisasi melakukan perubahan skala pada data dengan memasukan rumus sesuai pada perancangan. Terdapat fungsi Matlab untuk memudahkan program
yakni “max” untuk mencari nilai tertinggi dan “abs” untuk mengubah semua data menjadi bernilai positif.
Proses pemotongan sinyal dimulai dengan mencari data yang akan dihilangkan dengan bantuan fungsi “find”. Nilai data yang dicari berada pada kondisi lebih besar dari
batas potong atau lebih kecil dari negatif batas potong. Hasil dari fungsi “find” tidak
menampilkan nilai datanya melainkan menampilkan nomor urutan datanya. Data urutan pertama dari hasil fungsi “find” menjadi batas akhir pemotongan data, sehingga data hasil
normalisasi akan dihilangkan dari awal hingga data tersebut. Pemotongan tersebut terjadi pada sisi awal, agar data sisi akhir dapat dihilangkan maka urutan data harus dibalik
terlebih dahulu menggunakan fungsi “fliplr”. Langkah pemotongan sinyal tersebut sama seperti pemotongan sisi awal, setelah dihilangkan maka urutan dikembalikan seperti
semula dengan fungsi “fliplr”. Proses windowing menggunakan jendela Tukey, sehingga perlu mencari deretan
data pembentuk pola jendela Tukey. Pada Matlab terdapat fungsi untuk menggunakan jendela tukey dengan formula “tukeywinL,r”. variabel “L” merupakan banyaknya deretan
data y ang akan diproses sedangkan variabel “r” merupakan nilai alfa pembentukan pola
jendela tukey. Penulisan program yang dipakai untuk menentukan pola jendela tukey ditulis “tukeywinlengthpot,alfa”. Fungsi “length” merupakan fungsi untuk mencari
banyaknya deretan data, sehingga fungsi “lengthpot” akan mencari banyaknya deretan data pada variabel “pot”. Variabel “pot” merupakan hasil data setelah proses pemotongan
sinyal. Setelah pola jendela tukey terbentuk dilakukan perkalian skalar terhadap deretan data pada variabel “pot”.
Proses zero padding dilakukan dengan menambahkan deretan nilai data “0” setelah
data hasil windowing . Terdapat pendeklarasia variabel “usig” yang merupakan ukuran
deretan data dengan nilainya sebanyal 2048 sesuai perancangan. Program penambahan deretan data “0” hingga data ke 2048 dituliskan “zpusig=0”. Variabel “zp” merupakan
data hasil windowing yang sebelumnya telah dideklarasikan, maka “zpusig=0” yaitu data
ke 2048 pada deretan nilai var iabel “zp” diberi nilai 0.
Program ekstraksi ciri terdapat 2 langkah yaitu downsampling dan transformasi menggunakan DCT. Program ekstraksi ciri dituliskan sebagai berikut :
EKSTRAKSI CIRI
---downsampling downsamp=zp1:dsamp:usig;
---Transformasi DCT ekstrak=absdctdownsamp;
ekstrak=abslogekstrak; ekstrak=ekstrak:;
axeshandles.axes2; plotekstrak;
xlabel Times
; ylabel Amplitude
, ...
Proses downsampling dilakukan dengan mengambil atau mencuplik ulang data hasil preprocessing tersebut dengan rentang tertentu. Dari program diatas terlihat data akan
diambil dari data ke- 1 hingga nilai variabel “usig” yaitu 2048 dengan rentang sebanyak
nilai variabel “dsamp”. Proses tranformasi dilakukan menggunakan fungsi Matlab “dct”, kemudian nilai da
tanya diabsolutkan dengan bantuan fungsi Matlab “abs”. Proses transformasi tersebut dilanjutkan dengan pemberian fungsi “log”, kemudian nilai datanya
diabsolutkan kembali dengan fungsi “abs”. Program “ekstrak:” digunakan agar nilai data
tersebut terbentuk secara berurutan dalam matriks 1 kolom. Program pengenalan pola dilakukan dengan cara perhitungan nilai similaritas data
masukan terhadap basis data. Pendekatan terbaik adalah data yang mempunyai nilai similaritas terbesar. Program similaritas kosinus yang dipakai dalam sistem ini dituliskan
sebagai berikut :
PENGENALAN POLA ---Perhitungan Similaritas Kosinus
loadz; x=ekstrak;
y=dbase; for
i=1:50 simkosi=sumx.y:,isqrtsumx.2sqrtsumy:,i.2;
end simkos=reshapesimkos,10,[];
simkos=maxsimkos; kategori=findsimkos==maxsimkos;
aksi={ maju
; mundur
; kiri
; kanan
; stop
}; hasil=aksi{kategori};
Basis data yang dibuat berjumlah 50 data ucapan yang sudah diolah terlebih dahulu. Satu data ucapan pada basis data memiliki 2048 nilai data, sehingga 1 data ucapan
akan disusun dalam 1 kolom. Hasil keseluruhan basis data tersusun dalam matriks 2048 baris dan 50 kolom. Proses perhitungan similaritas terhadap basis data dilakukan secara