Kolom plot dan hasil pengenalan
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
bertahap pada tiap data ucapan dari kolom ke-1 hingga ke-50. Pengelompokan data ucapan pada basis data ditunjukkan pada tabel berikut:
Tabel 4.5 Pengelompokan Data Ucapan Berdasarkan Kolom
Kolom Keterangan
1-10 Maju
11-20 Mundur
21-30 Kiri
31-40 Kanan
41-50 Stop
Penulisan program perhitungan alg oritma similaritas diatas menggunakan “for
i=1:50”, sehingga program perhitungan akan terus diulangi dari data pada kolom ke-1 hingga data ke-50. Hasil perhitungan akan diurutkan dari kolom 1 hingga 50, dimana niali
tersebut merupakan hasil dari tiap kolom. Secara keseluruhan Hasil dari program tersebut yaitu 50 nilai data hasil perhitungan similaritas yang disusun dalam matriks 1 baris dan 50
kolom. Setelah mendapat nilai similaritas dari tiap kolom, maka data tersebut harus
dikelompokkan kembali berdasarkan kategori ucapannya sesuai pada Tabel 4.1. Pengelompokan disusun dalam 1 kolom, sehingga dalam 1 kolom berisi 1 kategori ucapan.
Data hasil perhitungan similaritas dikelompokkan dengan fungsi Matlab yaitu “reshape”.
Matriks diubah dalam bentuk 10 baris dan 5 kolom dimana tiap 1 kolom berisi 1 kelompok
ucapan seperti berikut
,
kemudian dicari nilai
terbesar dari tiap kolom sehingga hanya tersisa 1 nilai pada tiap kolom. Proses pencarian nilai terbesar tiap kolom dilakukan dengan bantuan fungsi
“max”. Fungsi tersebut akan mencari nilai terbesar dalam 1 kolomnya, sehingga hasilnya berubah menjadi matriks 1
baris dan 5 kolom. Nilai tiap kolom tersebut merupakan nilai similaritas terbesar dari keseluruhan basis data yangmewakili kategori ucapan. Pencarian hasil pengenalan ucapan
yang ditangkap dilakukan dengan mencari nilai yang terbesarnya. Pada kolom 1 sampai 5 secara beurutan memiliki kategori maju, mundur, kiri, kanan, dan stop. Fungsi