Algoritma membangun basis data sebagai pembanding Algoritma proses pengenalan recognition

Gambar 51. Foto rangkaian dari masing-masing unit.

4.2 Rancang Bangun Perangkat Lunak HMM

4.2.1 Algoritma membangun basis data sebagai pembanding

Proses pembentukan basis data dilakukan dengan menggunakan perangkat lunak MATLAB. Diagram alir proses pembentukan basis data sebagai pembanding dapat dilihat pada Gambar 33 di Subbab 3.4.1. Tahap pertama dalam proses membangun basis data adalah membuat label dari nama-nama jenis ikan yang diamati. Algoritma membuat label adalah : Untuk I = 1 sampai 5 Input nama ikan; Tulis nama ikan; Nama label nama ikan[i] = nama ikan Kembali Rangkaian Osilator Rangkaian Penerima Rangkaian phase shifted detectection Proses selanjutnya adalah proses ekstraksi yang didahului dengan membuat sample dari gelombang perubahan fase yang diterima. Algoritmanya sebagai berikut : Tentukan define parameter sampling; Dari i = 1 sampai n Imread nama ikan.wav; Gelombang [i] = nama ikan.wav; Gelombanginput = gelombang[i]; make sample gelombang input; sample[i] = gelombang input; kembali Pada proses FFT dan proses kuantisasi vector dengan algoritma LBG algoritma pemogramanya sebagai berikut : Tentukan besar nilai N Untuk I = 1 sampai M Hitung FFT untuk setiap sample[i]; Sample point[i] = milai FFT; kembali Tentukan cluster; Untuk j =1 sampai cluster Hitung centroid dengan LBG; Simpan centroid[j] berdasarkan urutan labelnya; Kembali Proses pembentukan HMM untuk memperoleh parameternya untuk setiap label berdasarkan centroid yang diperoleh dalam basis data algoritma nya sebagai berikut : Hitung jumlah centroid; State = jumlah centroid;

4.2.2 Algoritma proses pengenalan recognition

Diagram alir proses pengenalan dapat dilihat pada Gambar 34 Subbab 3.4.2. Algoritma mulai dari sampling sampai VQ sama seperti pada proses pembentukan basis data di Subbab 4.2.1. Proses pengenalan dengan HMM algoritma dapat ditulis sebagai berikut : mulai imread nama ikanuji.wav; gelombang = nama ikanuji.wav; penggal gelombang per 0.1 detik; untuk g = 1 sampai M gelombangikanuj[g] = penggal gelombang; kembali tentukan nilai sampling dari gelombang_ikanuji; sampling gelombang_ikanuji; untuk i = 1 sampai jml_penggal H hitung FFT untuk N; matriks codeword_ikanuji[i,m,n]; cari centroid pada basis data untuk codeword_ikanuji; tentukan observasi dari urutan dari centroid; tentukan parameter HMM; untuk h = 1 sampai jml_label baca data parameter HMM untuk jenis ikan lainnya dari basis data; hitung log of probability LoP untuk semua label dan ikanuji; LoP[jml_label] = LoP; Cari LoP[jml_label] = tertinggi; tentukan nama label untuk LoP tertinggi kembali kembali selesai.

4.2.3 MATLAB TOOL BOX command