Implementasi Algoritma Least Mean Square Dengan Adaptive Filter Untuk Proses Penghapusan Derau Sinyal Suara
KOMPETENSI KOMPUTASI
SKRIPSI HALAMAN JUDUL
Anak Agung Rani Pradnyadari NIM. 0908605019
JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA BUKIT JIMBARAN 2014
KOMPETENSI KOMPUTASI
Lembar Pengesahan
[SKRIPSI]
Sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Udayana
Tulisan ini merupakan hasil penelitian yang belum pernah dipublikasikan
Anak Agung Rani Pradnyadari NIM. 0908605019
Pembimbing I
I Made Widiartha, S.Si, M.Kom
Pembimbing II
Ngurah Agus Sanjaya ER, S.Kom, M.Kom NIP. 197803212005011001
NIP. 19850315 2010121 007 ii
LEMBAR PENGESAHAN TUGAS AKHIR
iii
Judul
:Implementasi Algoritma Least Mean Square ( LMS ) Dengan Adaptive Filter Untuk Proses Denoising Sinyal Suara Nama : Anak Agung Rani Pradnyadari NIM : 0908605019 Pembimbing I :I Made Widiartha, S.Si., M.Kom. Pembimbing II :Ngurah Agus Sanjaya ER, S.Kom, M.Kom
ABSTRAK
Seiring dengan berkembangnya teknologi, sudah banyak tercipta aplikasi–aplikasi yang menggunakan data sinyal suara sebagai data masukkannya.Seperti sistem keamanan rumah yang menggunakan suara pemiliknya sebagai kata kunci, dan berbagai macam sistem pengenalan suara yaitu pengenalan jenis kelamin, pengenalan suara, serta pengenalan pemilik suara tersebut. Namun dalam penelitiannya masih terdapat kekurangan dimana masih terdapat derau pada sinyal suara tersebut.Gangguan derau ini sangat mengganggu dan dapat mempengaruhi nilai hasil keluaran dari sistem yang dibuat.Gangguan ini dapat timbul dari suara bising lingkungan sekitar atau suara – suara yang tidak diinginkan ada pada sinyal suara masukkan sistem sehingga informasi yang diterima kurang jelas.Untuk mengatasi adanya derau pada sinyal suara ini peneliti melakukan penelitian algoritma yang dapat melakukan penekanan derau. Salah satu algoritma yang sering digunakan untuk melalukan proses penekanan derau ini adalah algoritma Least Mean Square. Algoritma ini merupakan algoritma yang paling sederhana dan paling sering digunakan untuk proses penekanan derau. Namun dalam penelitian kali ini akan ditambahkan fungsi Adaptive filter untuk meningkatkan kualitas dari hasil suara yang dikeluarkan oleh sistem. Dari penelitian yang dilakukan dengan mengkobinasikan beberapa nilai variable ordo filter dan langkah didapatkan hasil nilai MSE dan SNR yang digunakan untuk mengetahui kombinasi mana yang akan digunakan sistem untuk mendapatkan hasil yang diinginkan.Dari hasil uji terhadap sistem diperoleh nilai MSE yang terbesar adalah 0,00472 dan nilai MSE yang terendah adalah 0,00437.Kombinasi nilai yang menghasilkan nilai MSE terndah adalah ordo filter = 10 dan langkah = 0.1 dimana nilai MSE yang dihasilkan adalah 0.00437 dan nilai SNR adalah 15.9297dB dengan nilai SNR awal adalah 16,3665dB.
Kata Kunci: LMS, FIR, Noise, Speech Signal, Adaptive filter, Denoising.
iv
Title
: Implementation of Least Mean Square (LMS) Algorithm with
adaptive Filter for Noise Signal and Its Denoising Process Name : Anak Agung Rani Pradnyadari Student Number : 0908605019 Main Supervisor : I Made Widiartha, S.Si., M.Kom. Co-Supervisor : Ngurah Sanjaya ER Agus, S. Kom, M. Kom
ABSTRACT
As the technology advances, many applications that use voice signal data as the input data have been created such as a home security system that uses the owner’s voice as a keyword, and a wide variety of noise recognition systems, namely the recognition of gender, voice recognition, and the recognition of the voice of the owner. But in the researches there are still shortcomings where there is noise on the sound signal. Noise interference is very annoying and can affect the value of the output of the system made. These interferences can arise from the surrounding noises or unwanted noises that exist in the input voice signals of the system so that the information received is less clear. To overcome the noise on the sound signal, the researcher made an algorithm study that could perform noise suppression. One of the algorithms often used to perform a noise suppression process is the Least Mean Square algorithm. This algorithm is an algorithm that is the simplest and most commonly used for noise suppression. However, the present study would add Adaptive filter function to improve the sound quality of the results issued by the system. This study was conducted by combining a number of variable values of order filters and steps which obtained the results of MSE and SNR values used to determine which combinations to use in the system to get the desired results. The test results of the system obtained the largest MSE value which was 0.00472 and the lowest MSE value was 0.00437. The value combination that produced the lowest MSE value was an order filter = 10 and step = 0.1 wherein the resulting MSE value was 0.00437 and the value of SNR was 15.9297 dB and initial SNR value was 16.3665 dB.
Keywords: LMS, FIR, Noise, Speech Signal, Adaptive filter, Denoising
v
KATA PENGANTAR
Proposal penelitian dengan Implementasi Algoritma Least Mean Square ( LMS ) Dengan Adaptive Filter Untuk Proses Denoising Sinyal Suara ini disusun
dalam rangkaian kegiatan pelaksanaan Tugas Akhir di Jurusan Ilmu Komputer FMIPA UNUD. Proposal ini disusun dengan harapan dapat menjadi pedoman dalam melaksanakan penelitian di atas Sehubungan dengan telah terselesaikannya proposal ini, maka diucapkan terimakasih dan penghargaan kepada berbagai pihak yang telah membantu pengusul, antara lain 1. Bapak Agus I Made Widiartha, S.Si, M.Kom sebagai pembimbing I yang telah membantu dalam penyelesaian proposal ini; 2. Bapak Ngurah Agus Sanjaya ER, S.Kom, M.Kom sebagai pembimbing II yang telah bersedia meluangkan waktunya dalam penyelesaian proposal ini; 3. Bapak Drs. I Wayan Santiyasa selaku Ketua Jurusan Ilmu Komputer Universitas Udayana yang telah banyak memberikan masukan dan motivasi sehingga memperlancar dalam proses pembuatan proposal ini; 4. Bapak-bapak dan ibu-ibu dosen di Jurusan Ilmu Komputer yang bersedia meluangkan waktunya untuk memberikan masukan dalam penyempurnaan proposal ini; 5. Kawan-kawan di Jurusan Ilmu Komputer – khususnya teman-teman angkatan 2009
yang telah memberikan dukungan moral dalam
penyelesaian proposal ini; 6. Keluarga, Ajik, Ibu, dan adik perempuan tercinta saya yang tidak pernah berhenti memberikan dukungan disaat saya mulai kehilangan semangat, dan memberikan semangat baru demi tercapainya semua yang penulis inginkan; 7. Anak Agung Alit Semara Putra dan Anak Agung Diandra Pradnya Putri (Alm), suami dan putri yang sangat penulis sayangi dan kasihi sebagai vi
penyemangat hati penulis yang memberikan semangat lebih untuk penulis saat penyusunan proposal tugas akhir ini disusun.
Disadari pula bahwa sudah tentu proposal ini masih mengandung kelemahan dan kekurangan. Memperhatikan hal ini, maka masukan dan saransaran penyempurnaan sangat diharapkan.
Denpasar, 20 November 2014
Penulis
vii
DAFTAR ISI HALAMAN JUDUL .............................................................................................. i Lembar Pengesahan ................................................................................................ ii LEMBAR PENGESAHAN TUGAS AKHIR ....................................................... iii ABSTRAK ............................................................. Error! Bookmark not defined. ABSTRACT ........................................................... Error! Bookmark not defined. KATA PENGANTAR ........................................................................................... vi DAFTAR ISI ........................................................................................................ viii DAFTAR GAMBAR ............................................................................................. xi DAFTAR TABEL ................................................................................................. xii DAFTAR LAMPIRAN ........................................................................................ xiii BAB I PENDAHULUAN .................................................................................... 14 1.1
Latar Belakang ....................................................................................... 14
1.2
Rumusan Masalah .................................................................................. 15
1.3
Tujuan ..................................................................................................... 16
1.4
Batasan Masalah ..................................................................................... 16
1.5
Manfaat ................................................................................................... 16
BAB II TINJAUAN PUSTAKA......................................................................... 17 2.1
Pengenalan Pola Suara ........................................................................... 17
2.2
Signal ...................................................................................................... 18
2.2.1 Sinyal Percakapan ............................................................................... 19 2.2.2
Noise................................................................................................ 20
2.2.3
Konversi Sinyal Analog Menjadi Sinyal Digital ............................ 22
2.3
Reduksi Noise ........................................................................................ 22
viii
2.3.1
Algoritma LMS ............................................................................... 23
2.3.2
Adaptive Filter ................................................................................ 25
BAB III METODOLOGI PENELITIAN ......................................................... 28 3.1
Variabel Penelitian ................................................................................. 28
3.2
Metode Pengumpulan Data .................................................................... 28
3.3
Data Penelitian ....................................................................................... 28
3.4
Perancangan Sistem ................................................................................ 29
3.4.1
Gambaran Umum Sistem ................................................................ 29
3.4.2
Preprocessing .................................................................................. 29
3.5
Proses Denoising Sinyal Suara ............................................................... 30
3.6
Evaluasi .................................................................................................. 32
3.7
Implementasi dan Dokumentasi System ................................................ 33
BAB IV HASIL DAN PEMBAHASAN ............................................................ 34 4.1
Lingkungan Perancangan Sistem ........................................................... 34
4.2
Pengembangan Sistem ............................................................................ 34
4.2.1
Tampilan User Interface .................................................................. 34
4.2.2
Tampilan User Interface Saat Menampilkan Hasil Denoising ....... 35
4.3
Tahap Pengumpulan Dataset .................................................................. 36
4.4
Tahap Denoising ..................................................................................... 36
4.4.1 Parameter Algoritma ............................................................................. 36 4.4.2 Implementasi Algoritma Least Mean Square Adaptive Filter .............. 36 4.5
Tahap Pengujian Segmentasi.................................................................. 41
4.5.1. Hasil Pengujian Algoritma Least Mean Square ................................ 41 4.5.2
Hasil Pengujian Perbandingan Algoritma.......................................... 41
ix
BAB V SIMPULAN DAN SARAN .................................................................... 49 5.1
Simpulan ................................................................................................. 49
5.2
Saran ....................................................................................................... 49
DAFTAR PUSTAKA .......................................................................................... 50
x
DAFTAR GAMBAR
Gambar 2. 1 Signal ................................................................................................ 19 Gambar 2. 2 Sinyal Percakapan Dengan Nilai SNR Mendekati 30dB ................. 20 Gambar 2. 3 Sinyal Suara Yang Telah Terganggu Oleh Derau ............................ 21
Gambar 3. 1 Gambaran Umum Sistem ................................................................. 29 Gambar 3. 2 Alur Data Proses Penghapusan Derau .............................................. 31
Gambar 4. 1 Interface Sistem Denoising .............................................................. 35 Gambar 4. 2 Interface Sistem Setalah Proses Denoising ...................................... 35 Gambar 4. 3 Grafik Nilai MSE .............................. Error! Bookmark not defined. Gambar 4. 4 Grafik Nilai SNR............................... Error! Bookmark not defined.
xi
DAFTAR TABEL
Tabel 4. 1 Kode Program Buka Berkas ................................................................. 37 Tabel 4. 2 Kode Program Proses input variabel .................................................... 38 Tabel 4. 3 Kode Program Perhitungan Algoritma ................................................ 39 Tabel 4. 4 Kode Program Perhitungan Nilai MSE dan SNR ............................... 41 Tabel 4. 5 Hasil Pengujian Algoritma ................................................................... 42
xii
DAFTAR LAMPIRAN
xiii
14
BAB I PENDAHULUAN BAB I PENDAH
1.1 Latar Belakang Dewasa ini penelitian pengenalan pola suara sudah banyak dilakukan. Seperti pengenalan suku kata dari ucapan, identifikasi suara, dan juga terdapat penelitian tentang sekuritas menggunakan kata kunci suara. Penelitian tentang topik ini pun telah banyak dilakukan, namun masih terdapat kekurangan dimana tingkat akurasinya masih kecil. Seperti penelitian pola sinyal suara yang dilakukan oleh Susetyo Bagas Bhaskoro dan rekannya Altedzar Riedho W.D tentang aplikasi pengenalan gender menggunakan suara yang masih memiliki kelamahan yaitu dimana nilai akurasi dari sistem yang dibuat masih kecil. Salah satu kelemahan yang terdapat dalam sistem tersebut adalah masih timbulnya gangguan yang dapat mengganggu informasi dari sumber ke tujuan. Gangguan yang timbul dapat berasal dari peralatan yang digunakan maupun dari lingkungan sekitar. Seperti halnya pada saat melakukan komunikasi telepon, gangguan kadang timbul dari luar yaitu suara bising kendaraan atau suara orang-orang yang berada di sekitar, sehingga informasi yang diterima kurang jelas. Sinyal adalah bagian penting dari sistem telekomunikasi, seperti pada sistem teknik pengolahan sinyal. Dalam tahun-tahun terakhir ini, banyak perhatian diberikan kepada teknik pengolahan sinyal digital dalam sistem telekomunikasi. Banyak aplikasi informasi yang kini dapat dengan mudah direkam, ditransmisi dan yang disimpan format digital. Hasilnya, pengolahan sinyal digital menjadi suatu alat modern yang penting. Pengolahan sinyal digital antara lain : perkiraan parameter karakteristik sinyal, penghapusan atau pengurangan noise yang tidak diinginkan dan transformasi sinyal ke dalam beberapa bentuk yang lebih informatif. Untuk mengatasi kecilnya nilai akurasi yang didapat dalam penelitian – penelitian sebelumnya maka penulis mengambil topik tentang penekanan derau
15
atau penghilang Noise pada sinyal suara guna meningkatkan kualitas inputan suara kedalam sistem pengenalan pola suara. Pada pengenalan suara, diperlukan kondisi lingkungan sekitar yang bersih dan bebas dari segala macam sinyal pengganggu yang tidak diinginkan seperti derau.
Untuk itu diperlukan suatu
perangkat atau alat tambahan yang dinamakan Filter. Salah satu Filter yang dapat digunakan untuk menekan derau dari sinyal suara adalah Filter adaptif. Filter adaptif merupakan Filter digital yang menggunakan umpan balik untuk menentukan nilai dari koefisien Filter terbaik yang dipakai untuk memperoleh sinyal yang diinginkan. Filter adaptif dapat ditambahkan pada sistem pengenalan suara untuk menekan derau yang menyertai suara masukan yang akan dikenali. Algoritma LMS merupakan algoritma yang sangat populer dan sangat sederhana
serta
dapat
digunakan
untuk beberapa aplikasi
pemrosesan sinyal, antara lain masalah penghapusan derau, gema, dan interferensi.
1.2
Rumusan Masalah Berdasarkan latar belakang yang telah dipaparkan diatas maka dapat
dirumuskan masalah yang akan diteliti yaitu : 1. Berapakah nilai Learning Rate dan panjang filter yang akan digunakan oleh algoritma Least mean Square dalam mencapai akurasi yang optimal dalam menghilangkan derau pada sinyal suara ? 2. Bagaimana mengukur perubahan suara sebelum dan setelah melalu proses penghapusan derau?
16
1.3
Tujuan Adapun tujuan penelitian yang hendak dicapai dalam penulisan ilmiah ini
adalah : 1. Untuk membangun sistem pengenalan pola melalui sinyal suara dengan penerapan algoritma Least Mean Square dengan Adaptive Filter pada proses denoising. 2. Untuk mengetahui perubahan sinyal suara sebelum dan setelah melalui proses denoising
1.4
Batasan Masalah Adapun batasan masalah dalam penelitian ini adalah sebagai berikut :
1. Data yang digunakan dalam penelitian ini adalah file suara berformat (.wav) 2. Sampel suara yang digunakan adalah suara orang yang melafalkan kata acak secara selama kurang lebih 10 detik. 3. Data suara diperoleh dari manusia dengan rentang usia antara 18 sampai 40 tahun, mengingat perubahan organ penghasil suara yang terjadi saat beranjak dewasa dan menjelang lanjut usia.
1.5
Manfaat Manfaat yang dapat diambil dari penelitian ini adalah sebagai berikut :
1. Diharapkan setelah melalui proses reduksi Noise, performa dari sistem akan meningkat dalam melakukan pengolahan sinyal suara dan mendapatkan nilai akurasi yang lebih baik. 2. Menghasilkan aplikasi yang dapat digunakan untuk menghilangkan derau pada sinyal suara serta menambah kualitas sinyal suara tersebut.
17
BAB II LANDASAN TEORI BAB II TINA
2.1 Pengenalan Pola Suara Pengenalan pola dapat diartikan sebagai proses klasifikasi dari objek atau pola menjadi beberapa kategori ataukelas. Dan bertujuan untuk pengambilan keputusan (K. Koutroumbas, and S. Theodoridis , 2006). Voice/Speech recognition atau biasa kita kenal dengan pengenalan pola suara adalah suatu pengembangan teknik dan sistem yang memungkinkan komputer untuk menerima masukan berupa kata atau yang diucapkan. Teknologi ini memungkinkan suatu perangkat untuk mengenali dan memahami kata-kata yang diucapkan dengan cara digitalisasi kata dan mencocokkan sinyal digital tersebut dengan suatu pola tertentu yang tersimpan dalam suatu perangkat (Nelson Morgan, Herve Bourland, and Hynek Hermansky, 2004). Kata-kata yang diucapkan diubah bentuknya menjadi sinyal digital dengan cara mengubah gelombang suara menjadi sekumpulan angka yang kemudian disesuaikan dengan kode-kode tertentu untuk mengidentifikasikan kata-kata tersebut. Hasil dari identifikasi kata yang diucapkan dapat ditampilkan dalam bentuk tulisan atau dapat dibaca oleh perangkat teknologi sebagai sebuah komando untuk melakukan suatu pekerjaan, misalnya penekanan tombol pada telepon genggam yang dilakukan secara otomatis dengan komando suara. Alat pengenal ucapan, yang sering disebut dengan speech recognizer, membutuhkan sampel kata sebenarnya yang diucapkan dari pengguna. Sampel kata akan didigitalisasi, disimpan dalam komputer, dan kemudian digunakan sebagai basis data dalam mencocokkan kata yang diucapkan selanjutnya. Sebagian besar alat pengenal ucapan sifatnya masih tergantung kepada pengeras suara. Alat ini hanya dapat mengenal kata yang diucapkan dari satu atau dua orang saja dan hanya bisa mengenal kata-kata terpisah, yaitu kata-kata yang dalam penyampaiannya terdapat jeda antar kata. Hanya sebagian kecil dari
18
peralatan yang menggunakan teknologi ini yang sifatnya tidak tergantung pada pengeras suara. Alat ini sudah dapat mengenal kata yang diucapkan oleh banyak orang dan juga dapat mengenal kata-kata kontinu, atau kata-kata yang dalam penyampaiannya tidak terdapat jeda antar kata. Pengenalan ucapan dalam perkembangan teknologinya merupakan bagian dari pengenalan suara (proses identifikasi seseorang berdasarkan suaranya). Pengenalan suara sendiri terbagi menjadi dua, yaitu pengenalan pengguna (identifikasi suara berdasarkan orang yang berbicara) dan pengenalan ucapan (identifikasi suara berdasarkan kata yang diucapkan). Metode klasifikasi yang digunakan pada sistem pengenalan pola memiliki dua jenis pendekatan. Pendekatan statistik dan pendekatan struktural atau sintatik. Pengenalan pola statistik berdasarkan pada karakteristik statistikal dari pola-pola yang ada dengan asumsi bahwa pola-pola tersebut dihasilkan oleh sebuah sistem probabilistik. Pengenalan pola struktural berdasarkan pada hubungan struktural dari fitur setiap pola. Sebuah sistem pengenalan pola terdiri dari sensor yang mengumpulkan pola yang akan diproses dan mengukur variabel dari setiap pola, pre-processing yang menghilangkan Noise dalam data, mekanisme ekstraksi fitur untuk mendapatkan informasi numeric atau simbolik dari pola-pola tersebut, model pembelajaran yang mempelajari pemetaan antara fitur dan kelompok pola, metode klasifikasi yang memisah – misahkan pola-pola tersebut ke dalam kategori berdasarkan fitur dan model pembelajaran, dan post-processing
yang
mengevaluasi benar atau tidaknya hasil yang didapat. Pengenalan pola merupakan bidang dalam pembelajaran mesin dan dapat diartikan sebagai tindakan mengambil data mentah dan bertindak berdasarkan klasifikasi data. Dengan demikian, hal tersebut merupakan himpunan kaidah bagi pembelajaran yang diawasi ( supervised learning ).
2.2 Sinyal Sebuah sinyal adalah variasi dari variable seperti gelombang tekanan udara dari suara, warna dari gambar, kedalaman sebuah permukaan, temperature dari tubuh, tegangan atau arus dari konduktor atau sitem biologis, cahaya, sinyal
19
elektromagnetik radio, atau volume dan berat dari suatu objek. Sebuah sinyal membawa informasi mengenai satu atau lebih atribut mengenai status, komposisi, arah pergerakan, dan tujuan dari sumber
(Priemer, 1991). Dapat dikatakan,
sebuah sinyal adalah sebuah media untuk membawa informasi mengenai keadaan masa lalu, masa sekarang, dan masa yang akan dating dari suatu variable
Gambar 2. 1 Signal
Pada umunya variabel independen untuk sinyal satu dimensi adalah waktu. Jika variable independennya kontinu, maka sinyal tersebutdisebut sebagai sinyal waktu kontinu ( continuous-time signal ). Jika variable independennya diskrit, maka sinyal tersebut disebut sebagai sinyal waktu diskrit ( discrete-time signal ). Sinyal waktu kontinu didefinisikan setiap suatu waktu ( t ) dalam sebuah interval yang biasanya tidak terbatas, sedangakan sinyal waktu diskrit dedifinisikan pada waktu diskrit, dan biasanya berupa urutan angka. Sinyal waktu kontinu dengan amplitude kontinu biasanya disebut sebagai sinyal analog seperti sinnnyal suara sebagai contohnya. Sinyal waktu diskrit dengan amplitude bernilai diskrit yang direpresentasikan oleh digit angka yang terbebas (finite) biasanya disebut sebagai sinyal digital 2.2.1 Sinyal Percakapan Sinyal percakapan adalah sinyal yang dihasilkan dari suara manusia sewaktu melakukan percakapan. Sinyal percakapan merupakan kombinasi kompleksdari variasi tekanan udara yang melewati pita suara dan vocal tract, yaitu mulut, lidah, gigi, bibir, dan langit-langit mulut. Speech (wicara) dihasilkan dari sebuah kerjasama antara paru-paru, glottis, dan articulation tract (mulut dan rongga hidung). Sinyal suara terdiri dari serangkaian suara yang masing-masing menyimmpan sepotong informasi. Berdasarkan cara menghasilkannya, suara
20
dapat dibedakan menjadi dua jenis yaitu voiced dan unvoiced. Voiced sounds atau suara ucapan berasal dari getaran pita suara, sedangkan unvoiced sounds dihasilkan dari gesekan antara udara dengan voice tract.
Gambar 2. 2 Sinyal Percakapan Dengan Nilai SNR Mendekati 30dB
Sinyal percakapan memiliki beberapa karakteristik, seperti Pitch dan intensitas suara yang berguna dalam melakukan analisis sinyal suara. Pitch adalah frekuensi dari sinyal atau yang sering disebut intonasi. Intensitas suara adalah tingkat kekuatan suara. Impuls tekanan pada umumnya disebut sebagai Pitch impulse dan frekuensi sinyal tekanan adalah Pitch frequency atau fundamental frequency. Sederet impuls dihasilkan oleh pita suara untuk sebuah suara. Hal ini merupakan bagian dari sinyal suara yang mendefinisikan speech melody atau melodi wicara. Ketika berbicara dengan Pitch yang stabil, suara sinyal suara monotonous tetapi dalam kasus normal sebuah perubahan permanen pada frekuensi terjadi. Impuls Pitch memang merangsang udara dalam mulut dan untuk suara tertentu juga merangsang rongga hidung. Ketika rongga beresonansi, timbul radiasi sebuah gelombang suara yang merupakan sinyal percakapan. Kedua rongga beraksi sebagai resonators dengan karakteristik frekuensi resonansi masing-masing yang disebut dengan Formant frequencies, sehingga Formant merupakan variasi resonansi yang dihasilkan oleh vocal tract. Pada saat rongga mulut mengalami perubahan besar, dihasilkan beragam pola ucapan suara berbeda. Di dalam kasus unvoiced sounds, keluaran pada vocal tract lebih menyerupai Noise atau derau.
2.2.2
Noise Noise (kebisingan), dalam pengertian umum, adalah suatu gangguan yang
"didengar" orang, tetapi dalam telekomunikasi kata Noise juga dipakai sebagai
21
suatu istilah untuk gangguan listrik yang menimbulkan kebisingan yang dapat didengar dalam suatu sistem (Kosko, 2006). Noise dapat timbul dengan berbagai cara. Satu contoh jelas adalah waktu adanya sambungan yang salah dalam suatu alat yang jika itu adalah pesawat penerima radio, menghasilkan tipe kebisingan yang terputus-putus atau trackling (gemercak) pada keluarannya. Noise juga terjadi apabila hubungan listrik yang pembawa arus dibuat nyala mati, misalnya pada brusher tipe motor tertentu. Sumber kebisingan semacam itu pada pokoknya dapat dihilangkan. Gejala alam yang menimbulkan kebisingan itu termasuk badai listrik, kobaran matahari (solar flares), dan sabuk radiasi tertentu yang ada di ruang angkasa. Kebisingan yang timbul dari sumber tersebut mungkin lebih sulit dilemahkan, dan seringkali yang merupakan satu-satunya solusi ialah merubah posisi antena penerimanya untuk memperkecil kebisingan yang diterima, sambil menjamin bahwa penerimaan sinyal yang diinginkan itu tidak rusak berat.
Gambar 2. 3 Sinyal Suara Yang Telah Terganggu Oleh Derau
Kebisingan itu, yang terutama dimasalahkan didalam sistem penerimaan, dimana menurunkan batas guna ukuran sinyal yang dapat diterima. Walaupun kehati-hatian dilakukan untuk menghilangkan kebisingan dari sambungan yang buruk atau yang timbul dari sumber luar, terbukti bahwa sumber kebisingan fundamental tertentu hadir didalam perlengkapan elektronik yang membatasi kepekaan penerima. Penambahan amplifier pada sistem penerima juga menambah kebisingan dan rasio sinyal terhadap kebisingan (signal-to-Noise ratio), yang
22
merupakan kuantitas penting, bisa mengalami penurunan dengan penambahan amplifier. Jadi, studi sumber kebisingan fundamental dalam peralatan penting jika kita ingin memperkecil efek kebisingan itu.
2.2.3
Konversi Sinyal Analog Menjadi Sinyal Digital Sinyal – sinyal yang natural pada umumnya seperti sinyal suara
merupakan sinyal continue dimana memiliki nilai yang tidak terbatas. Sedangkan pada computer, semua sinyal yang dapat diproses oleh computer hanyalah sinyal discrete atau sering dikenal sebagai istilah sinyal digital. Agal sinyal natural dapat diproses oleh computer, maka harus dirubah dahulu dari data sinyal continue menjadi sinyal discrete. Hal itu dapat dilakukan melalui 3 proses, diantaranya adalah proses sampling data, proses kuantisasi, dan proses pengkodean. Proses sampling adalah suatu proses untuk mengambil data signal continue untuk setiap periode tertentu. Dalam melakukan proses sampling data berlaku aturan nyquist, yaitu bahwa frekuensi sampling minimal harus 2 kali lebih tinggi dari frekuensi maksimum yang akan disampling. Jika signal sampling kurang dari 2 kali frekuensi maksimum signal yang akan disampling, maka akan timbul efek aliasing. Aliasing adalah suatu efek dimana sinyal yang dihasilkan memiliki frekuensi yang berbeda dengan sinyal aslinya. Proses kuantisasi adalah proses untuk membulatkan nilai data kedalam bilangan-bilangan tertentu yang telah ditentukan terlebih dahulu. Semakin banyak level yang dipakai maka semakin akurat pula data sinyal yang disimpan, tetapi akan menghasilkan ukuran data besar dan proses yang lama. Proses pengkodean adalah proses pemberian kode untuk tiap-tiap data sinyal yang telah terkuantisasi berdasarkan level yang ditempati
2.3 Reduksi Noise Pada pengenalan suara, diperlukan kondisi lingkungan sekitar yang bersih dan bebas dari segalamacam sinyal pengganggu yang tidak diinginkan sepertiderau. Untuk itu diperlukan suatu perangkat atau alat tambahan yang dinamakan Filter. Salah satu Filter yangdapat digunakan untuk menekan derau
23
dari sinyal suara adalah Filter adaptif. Filter adaptif merupakan Filter digital yang menggunakan umpan balik untukmenentukan nilai dari koefisien Filter terbaik yangdipakai untuk memperoleh sinyal yang diinginkan. Filter adaptif dapat ditambahkan pada system pengenalan suara untuk menekan derau yang menyertai suara masukan yang akan dikenali. Kebisingan merupakan salah satu bentuk derau yang sering mengganggu proses komunikasi, sehingga harus ditekan. Pada proses pengolahan suara, lingkungan sekitar yang benar-benar bersih (clean) dan bebas dari segala bentuk derau adalah salah satu yang sangat dibutuhkan untuk memperoleh sinyal yang benar-benar sesuai dengan sinyal aslinya. Salah satu bentuk dari pengolahan sinyal suara yang sangat rentan dengan derau adalah pengenalan ucapan (speech recognition) karena derau dapat mempengaruhi keakuratan dalam proses pengenalannya. Pada proses pengenalan ucapan, Filter adaptif merupakan salah satu metode yang dapat digunakan untuk menekan derau yang berasal dari lingkungan sekitar.
2.3.1
Algoritma LMS Algoritma LMS merupakan algoritma yang sangat populer dan sangat
sederhana serta dapat digunakan untuk beberapa aplikasi pemrosesan sinyal, antara lain masalah penghapusan derau, gema, dan interferensi. Penelitian ini menggunakan metode algoritma LMS (Least Mean Square) untuk Filter Finite Impulse Response (FIR). Algoritma LMS seringkali digunakan untuk beberapa aplikasi yang berbeda pada pemrosesan sinyal adaptif. Ada beberapa alasan yang mendasari hal tersebut, antara lain: komputasi yang mudah dan sederhana, tidak ada pengulangan data, dan tanpa peramalan gradien. Algoritma Least Mean Square (LMS) ini termasuk algoritma yang menggunakan operator gradien ∆ dalam proses adaptasinya. Proses adaptasi dari tap-weight (bobot koefisien filter) ini berlangsung secara rekursif, dimulai dengan suatu nilai awal ( initial value ). Oleh karena itu hasil yang diperoleh akan semakin baik bila jumlah iterasinya semakin besar. Hasil akhir yang diharapkan dari proses iterasi ini ialah suatu nilai yang konvergen terhadap solusi dari metode
24
filter Wiener. Proses rekursi yang biasa digunakan ialah steepest descent yang bentuknya adalah : w(n+1) = w(n) + ½ m[-∆(J(n))] Untuk dapat mengembangkan perkiraan vector gradien ∆ (J(n)), strategi yang paling tepat ialah dengan mensubstitusikan mastriks korelasi
R dan vektor
korelasi silang pada persamaan : ∆ ( J(n)) = -2 p+ 2 Rw(n) Pilihan estimator yang paling sederhana untuk
R dan
padalah dengan
menggunakan perkiraan, berdasarkan pada besaran sampel vektor tap input { u(n)} dan respon yang diinginkan {d(n)}, seperti yang ditentukan oleh : R(n) = d(n)x(n) ; p(n) = x(n)xT(n)w(n) Parameter H tersebut menyatakan nilai matriks Hermitian (kompleks – conjugate). Untuk nilai vektor gradien, diperoleh dengan mensubstitusikan persamaan diatas: ∆(J(n)) = -2 (x(n)xT(n)w(n)) + 2 (d(n)x(n))w(n) Setelah memperoleh nilai dari masing-masing parameter, maka dapat ditentukan suatu nilai update dari tap-weight (bobot dari koefisien filter) dengan menggunakan persamaan sebagai berikut : w(n+1) = w(n) + µ (p(n) – R(n)w(n)) Dari keseluruhan rumus yang diturunkan, maka untuk algoritma LMS dapat disimpulkan sebagai berikut : a. Output filter : y(n) = w(n) x(n) b. Error estimasi: e(n) = d(n) – y(n) c. Adaptasi tap - weight : w(n+1) = w(n) + µ d(n)e(n)
25
Algoritma LMS ini tidak memerlukan proses perhitungan yang rumit karena tidak membutuhkan perhitungan fungsi korelasi maupun perhitungan invers matriks. Sifat-sifat perhitungan yang sederhana ini akan dapat dengan mudah diterapkan dalam bentuk program komputer. Karena kemudahannya inilah algoritma sering digunakan dalam perhitungan filter adaptif. 2.3.2
Adaptive Filter Semua Filter Adaptive memakai Filter Wiener sebagai realisasi Filter
optimum yaitu
dengan
kriteria
mean
square
error minimum.
Semua
Algoritma dengan sejalannya waktu berusaha untuk konvergen mendekati kondisi ini. Seperti pada prediksi liniear, Filter adaptive juga didasari oleh Filter Wiener. Semua kaidah dan sifat-sifat yang berlaku pada Filter Wiener tetap berlaku untuk aplikasi adaptive ini Orde Filter dibatasi oleh mean square error yang diinginkan, dan kecepatan processing yang harus dicapai. Dengan makin besarnya orde Filter tentu
mean square error
semakin kecil tetapi kecepatan processing
makin
lambat. Jadi trade-off harus dilakukan dalam penentuan orde Filter ini. Filter adaptif merupakan Filter digital yang bekerja dalam pemrosesan sinyal digital yang dapat menyesuaikan kinerjanya berdasarkan sinyal masukannya. Filter adaptif mempunyai pengatur koefisien yang dapat beradaptasi dengan keadaan lingkungan sekitar maupun perubahan sistem.
Gambar 6. 1 Diagram Adaptive Filter Sinyal masukan x(n) adalah penjumlahan dari sinyal suara s(n) dengan derau yang menyertai sinyal suara tersebut d(n). 𝑥(𝑛) = 𝑠(𝑛) + 𝑑(𝑛) Sinyal masukan pada Filter adaptif d’(n) adalah sinyal derau yang dicuplik dari sumber derau yang menginterferensi sinyal suara. Pada Filter adaptif
26
digunakan umpan balik untuk menentukan nilai koefisien Filter setiap ordenya. Filter mempunyai struktur FIR dengan tanggapan impuls sama dengan koefisien Filternya. Koefisien pada Filter adaptif untuk orde-p didefinisikan sebagai berikut : wn = [wn(0), wn(1), ..., wn(p)]T Pada variabel Filter selalu dilakukan up-date untuk koefisien Filternya sebagai berikut : wn+1 = wn + ∆wn 𝑤𝑛+1 = 𝑤𝑛 + 2𝜇 𝜖𝑘 𝑥𝑘 dengan ∆wn merupakan faktor koreksi dari koefisien Filter dan 𝜖 merupakan nilai mean square error. 2
𝜖𝑘 = 𝐸{|𝑒(𝑛) | } Filter adaptif menampilkan faktor koreksi berdasarkan sinyal masukan dan kesalahan sinyal. Kesalahan sinyal (signal error) pada Filter dapat dihitung dengan menggunakan persamaan sebagai berikut : e(n) = x(n) – y(n) dengan : y(n) = x(n) . w(n) 𝐿
𝑦(𝑛) = ∑ 𝑥(𝑛). 𝑤(𝑛) 𝑖=0
Filter adaptif biasanya menggunakan algoritma LMS (Least Mean Square) untuk mencari nilai MSE (Mean Square Error) pada sistem yang kemudian digunakan
untuk
menentukan
koefisien
Filter. Penghitungan
koefisien Filter pada Filter adaptif dengan menggunakan nilai MSE adalah sebagai berikut : w(n+1) = w(n) + µe(n)d(n)
2.3.3 Signal to Noise Ratio dan Mean Square Error Signal to Noise ratio (SNR) adalah suatu ukuran untuk menentukan kualitas dari sebuah sinyal yang terganggu oleh derau. Penelitian ini, estimasi
27
SNR dilakukan dengan menggunakan metode korelasi. Sinyal masukan (sinyal uji) dimodelkan dengan sinyal sinusoidal. Sinyal derau dimodelkan sebagai sinyal random dengan distribusi normal (Gaussian). Perancangan simulasi ini dilakukan dengan menggunakan Simulink Matlab. Hasil pengujian telah diperoleh bahwa variasi frekuensi sinyal masukan menghasilkan nilai estimasi SNR yang bervariasi. Nilai SNR suatu jalur dapat dikatakan pada umumnya tetap, berapapun kecepatan data yang melalui jalur tersebut. Satuan ukuran SNR adalah decibel (dB) . Mean Squared Error (MSE) adalah metode lain untuk mengevaluasi metode peramalan. Masing-masing kesalahan atau sisa dikuadratkan. Kemudian dijumlahkan dan ditambahkan dengan jumlah observasi. Pendekatan ini mengatur kesalahan peramalan yang besar karena kesalahan-kesalahan itu dikuadratkan. Metode itu menghasilkan kesalahan-kesalahan sedang yang kemungkinan lebih baik untuk kesalahan kecil, tetapi kadang menghasilkan perbedaan yang besar.
28
BAB III METODOLOGI PENELITIAN BAB III METODOLOGI PENELITIAN
3.1
Variabel Penelitian Variabel-variabel yang digunakan dalam penelitian ini adalah :
1. Nilai ordo atau panjang tapi (filter) dalam adaptive filter. 2. Nilai learning rate pada proses penghapusan derau.
3.2
Metode Pengumpulan Data Pengumpulan data penelitian ini dilakukan dengan metode-metode sebagai
berikut : 1. Studi Kepustakaan, yaitu mengumpulkan data dari buku, jurnal, atau hasil penelitian lainnya yang berhubungan dengan tugas akhir. 2. Observasi, yaitu mempelajari aplikasi sejenis yang terdapat pada sistem pengenalan suara lainnya seperti sistem pengenalan lagu yang terdapat dalam android, maupun sistem pengenalan suara sederhana yang terdapat pada ponsel pintar 3. Penulis mengumpulkan sendiri data suara menggunakan smartphone. Kemudian responden diminta untuk merekam suara sepanjang 10 detik dalam keadaan lingkungan saat perekaman diambil terdapat suara derau atau suara yang tidak diinginkan. Selain data suara, penulis juga mengumpulkan contoh data suara derau sepanjang 10 detik yang nantinya akan digunakan sebagai input referensi pada sistem.
3.3
Data Penelitian Data-data yang digunakan dalam penelitian ini berupa data suara manusia
yang mengucapkan kata acak selama 10 detik yang direkam dengan ekstensi WAVE (.wav). perekaman suara dengan ekstensi WAVE ini merupakan rekaman data suara yang tidak mengalami proses kompresi apapun sehingga memudahkan sistem untuk mengolah data suara tersebut. Perekaman dilakukan oleh orang
29
dengan rentang usia 18 – 50 tahun dikarenakan perubahan organ penghasil suara yang bisa berubah saat manusia mengalami proses pendewasaan serta penurunan organ penghasil suara saat manusia lanjut usia.
3.4
Perancangan Sistem Sistem yang dibangun dalam penelitian kali ini adalah sebuah sistem yang
dapat membaca sinyal suara. Dalam sistem ini user akan mengambil data suara yang telah terdapat didalam berkas database dan sistem akan mengeluarkan output berupa data suara yang telah mengalami proses penghilangan atau penekanan derau. Berikutnya akan dipaparkan tentang gambaran umum system dan flow chart dari setiap proses dari sistem penghapusan derau ini. 3.4.1
Gambaran Umum Sistem Struktur dari sistem adalah sebagai beriukut :
Gambar 3. 1 Gambaran Umum Sistem Proses penghilangan derau pada sinyal suara adalah merupakan tahap awal dari proses pengolahan sinyal suara. proses ini sangat penting mengingat noise atau derau dapat mengganggu sistem dalam melakukan proses pengolahan karena sifat daripada noise yang mengganggu. Didalam penghilangan derau ini, sinyal suara pada database akan disaring atau difilter agar mendapatkan sinyal suara yang lebih jernih. Dan dalam tahap denoising ini akan disimulasikan bagaimana sistem dapat menghilangkan derau pada sinyal suara yang kita miliki. 3.4.2
Preprocessing Tahap pengambilan input merupakan tahapan awal dari keseluruhan
proses pengenalan suara. Tahap ini dilakukan untuk melakukan pengekstraksian sinyal suara. Suara yang dimasukkan akan diolah dan diekstrak informasinya ke dalam sistem sebagai sinyal inputan. Masukkan ini diinput dengan menggunakan alat seperti mikrofon atau alat perekam suara. Tahap ini bertujuan untuk mengolah
30
sinyal inputan agar dapat diproses pada tahap selanjutnya dengan baik. Preprocessing adalah proses dimana sinyal analog akan dirubah menjadi sinyal digital atau dapat disebut dengan original signal. Sinyal analog yang direkam akan langsung diproses menjadi sinyal digital demi mendapatkan sinyal asli yang akan diproses pada tahap selanjutnya.
3.5
Proses Denoising Sinyal Suara Tahap ini merupakan tahap yang berfungsi untuk mengurangi derau atau
Noise yang terdapat dalam sinyal suara dengan harapan dapat meningkatkan akurasi dari proses pengenalan suara berikutnya. Proses ini sangatlah penting untuk dilakukan demi mendapat hasil yang lebih baik atau yang diinginkan. Adapun tahap-tahap pada proses ini dapat diuraikan sebagai berikut: 1. Pembacaan berkas suara yang telah disimpan dalam format WAV. Pada tahap ini dilakukan pemilihan sinyal asli dan derau sesuai dengan data yang tersedia. 2. Penggabungan antara berkas suara tak berderau dengan derau yang telah dipilih sehingga diperoleh isyarat berderau yang merupakan masukan dari sistem. 3. Penentuan metode yang ingin digunakan, algoritma Least Mean Square Adaptive Filter. 4. Penentuan nilai panjang tapis (L) dan konstanta ukuran langkah adaptasi (mu). 5. Perhitungan keluaran tapis : y(n) = w(n) x(n) 𝐿
𝑦(𝑛) = ∑ 𝑥(𝑛). 𝑤(𝑛) 𝑖=0
6. Perhitungan estimasi galat : e(n) d(n) y(n )
7. Perbaikan bobot Filter berikutnya : w(n+1) = w(n) + µ d(n)e(n)
31
Flowchart Sistem Penerapannya dalam flowchart adalah sebagai berikut :
Mulai
Input sinyal suara ( d ), sinyal derau ( x ), L (orde filter),
μ (step size), dan bobot (w0)
n=0 Inisialisasi vector bobot adaptive Wk+1 = Wk + 2 µe k Xk
Hitung keluaran filter adaptive L 1
y(n) w l (n) * x(n l) l0
Hitung nilai galat e(n) d(n) y(n )
e (n) < 0.001
Tidak
Yes Output Sinyal Suara
Selesai
Gambar 3. 2 Alur Data Proses Penghapusan Derau
32
3.6
Evaluasi Setelah melalui proses penghilangan derau, didapat sinyal suara dengan
jumlah derau yang telah tereduksi. Langkah selanjutnya adalah menghitung hasil kinerja lagoritma berupa akurasi dari sinyal yang telah melalui peroses penghapusan derau. Keberhasilan suatu proses penghapusan interferensi suara dapat ditentukan berdasarkan kualitas suara yang dihasilkan, SNR (Signal to Noise
Ratio), MSE (Mean Square Error). Signal
to
Noise
Ratio (SNR)
merupakan perbandingan antara daya sinyal asli (Px) dengan daya derau (Pe). Secara matematis dapat dinyatakan sebagai berikut :
Dengan
Dan
Maka persamaan tersebut dapat disederhanakan seperti berikut :
Hasil dari fungsi diatas sangat dipengaruhi oleh nilai parameter yang akan dimasukkan. Karena bila parameter yang diinputkan berbeda maka besarnya nilai SNR dan MSE pun akan berbeda. Parameter yang akan ditentukan adalah jumlah ordo filter dengan nilai 1-20. Nilai learning rate (langkah) dengan nilai 0.1, 0.01, dan 0.05
33
3.7
Implementasi dan Dokumentasi System Tahap implementasi hasil dari perancangan sistem ke source code
pemrograman agar dapat dijalankan dalam sistem. Dalam tahap ini, komponen yang digunakan adalah : 1. Bahasa pemrograman untuk sistem segmentasi yang dikembangkan menggunakan bahasa pemrograman MATLAB & Simuling (R2012a). 2. Basisdata untuk data input dari sistem adalah berupa rekaman suara manusia dengan ekstensi .wav dan samplingrate 22KHz / 22000Hz Mono 16bit.
Dalam tahap dokumentasi dibuat segala keterangan mengenai rancang bangun sampai manual sistem. Adanya dokumentasi diharapkan dapat mempermudah dalam penggunaan dan pengembangan sistem apabila ditemukan masalah dalam pengoperasian.
34
BAB IV HASIL DAN PEMBAHASAN BAB IV HASIL DAN PEMBAHASAN
4.1
Lingkungan Perancangan Sistem Pengimplementasian sistem penghapusan derau ini mencakup perangkat
keras dan perangkat lunak. Sistem diimplementasikan pada pemrograman desktop yaitu Matlab & Simulink (R2012a). Pada lingkup perangkat keras, spesifikasi yang digunakan adalah sebagai berikut : 1. Processor Intel Core i3 3217UB 2. Ram 4 GB 3. Hardisk 500GB Sedangkan spesifikasi yang diperlukan pada lingkup perangkat lunak adalah: 1. Matlab & Simulink (R2012a) 2. Perekam suara Audacity (desktop), PCM Recorder (smartphone) 3. Pemotongan sinyal suara dengan frekuensi tertentu menggunakan Adobe Audition CS5.5 4. Sistem Operasi Windows 7
4.2
Pengembangan Sistem Pada tahap pengembangan sistem penekanan derau terdapat dua tahapan
pengembangan sistem, yaitu penyimpanan database sistem dan tampilan user antarmuka (interface). 4.2.1
Tampilan User Interface Untuk membangun sistem diperlukan desain tampilan user interface yang
dirancang dengan desain yang minimalis dan user friendly sehingga diharapkan dapat dengan mudah dimengerti oleh pengguna.
35
Gambar 4. 1 Interface Sistem Denoising 4.2.2
Tampilan User Interface Saat Menampilkan Hasil Denoising Tampilan user interface program pada saat menampilkan hasil dataset citra
yang diinput oleh user dapat dilihat pada Gambar 4.2.
Gambar 4. 2 Interface Sistem Setalah Proses Denoising
36
4.3
Tahap Pengumpulan Dataset Metode pengumpulan data dilakukan dengan merekam sampel suara dari
beberapa orang dengan rentang umur 18 – 50 th. Sampel suara yang diambil berupan pengucapan kata secara acak selama kurang lebih 10 detik dengan ekstensi wave (.wav) dan samplingrate 22KHz / 22000Hz Mono 16bit PCM.
4.4
Tahap Denoising Proses denoising bertujuan untuk menghapus derau yang terdapat dalam
sinyal suara dan meningkatkan kualitas dari sinyal suara tersebut. Data input berupa data suara yang ingin dihapus deraunya dan data output berupa data suara yang telah terhapus deraunya dan mengalami peningkatan kualitas 4.4.1 Parameter Algoritma Parameter yang digunakan dalam algoritma Least Mean Square Adaptive Filter seperti ordo (jumlah tapis/filter), langkah (learning rate), batas error, dan batas iterasi harus ditentukan terlebih dahulu. Parameter ini akan menjadi variable masukkan pada sistem untuk memulai proses penghapusan derau. Dalam penelitian ini batas error yang digunakan adalah 0.00001 dan batas iterasi yang dilakukan sistem adalah sebanyak 1000 iterasi. Nilai – nilai terbaik untuk parameter lainnya dalam sistem ini adalah ordo = 10, langkah = 0.1 yang menghasilkan nilai Mean Square Error dan Signal to Noise Ratio yang minimal. 4.4.2 Implementasi Algoritma Least Mean Square Adaptive Filter Proses penghapusan derau menggunakan algoritma LMS Adaptive Filter pada dataset sinyal suara merupakan proses penekanan derau pada dataset sinyal suara dengan dataset derau yang terdapat didalam database. Berikut merupakan langkah-langkah proses penghapusan derau dan penjelasan source code Algoritma LMS Adaptive Filter.
37
1. Pembacaan berkas data suara oleh sistem Proses penghapusan derau dimulai dari pembacaan berkas data sinyal suara oleh sistem. Kode program kordinat acak awal dapat dilihat pada Tabel 4.1.
Tabel 4. 1 Kode Program Buka Berkas Baris 36
Kode Program function buttonOpen_Callback(hObject, eventdata, handles) global FileName; global FilePath; handle = guidata(gcbo); disp('Membuka berkas.'); axes(handle.axesSource); [FileName, FilePath] = uigetfile ({'*.wav' }, 'Memuat berkas suara',''); obj = findobj('tag', 'editFilename'); set(obj,'String',strcat(FilePath,FileName)); disp(strcat('Nama Berkas : ',32,strcat(FilePath,FileName))); disp(' ');
2. Penentuan Variabel-Variabel yang akan digunakan dalam Algoritma Least Mean Square. Pada proses ini, user memasukkan variable-variabel seperti ordo filter, learning rate (langkah), batas error dana batas iterasi yang akan dilakukan oleh sistem.setelah itu user akan menekan tombol proses dimana sistem akan langsung mnghitung algoritma sesuai dengan variable yang telah dimasukkan oleh user. Kode program pemasukkan variabel dapat dilihat pada Tabel 4.2.
38
Tabel 4. 2 Kode Program Proses input variabel Baris 1
Kode Program function buttonProcess_Callback(hObject, eventdata, handles) global FileName; global FilePath; global InputSignal; global InputFrequency; global ReferenceSignal; global ReferenceFrequency; global NoiseSignal; global NoiseFrequency; global NoisedSignal; global NoisedFrequency; global OutputSignal; handle = guidata(gcbo); disp('Menentukan nilai awal.'); obj = findobj('tag', 'editOrdo'); MyOrdo=str2num(get(obj,'String')); obj = findobj('tag', 'editStep'); MyStep=str2num(get(obj,'String')); obj = findobj('tag', 'editWeight'); MyWeight=str2num(get(obj,'String')); obj = findobj('tag', 'editError'); MyError=str2num(get(obj,'String')); obj = findobj('tag', 'editIteration'); MyIteration=str2num(get(obj,'String')); % Tampilkan ordo, langkah dan bobot awal disp(strcat('Ordo : ',32,num2str(MyOrdo))); disp(strcat('Langkah : ',32,num2str(MyStep))); disp(strcat('Bobot Awal : ',32,num2str(MyWeight))); disp(strcat('Batas Galat : ',32,num2str(MyError))); disp(strcat('Batas Iterasi : ',32,num2str(MyIteration))); disp(' ');
3. Perhitungan Algoritma Least Mean Square Pada proses ini dilakukan perhitungan Adaptive Filter yang digunakan untuk menghapuskan derau pada sinyal suara. Kode program perhitungan Adaptive Filter dapat dilihat pada Tabel 4.3.
39
Tabel 4. 3 Kode Program Perhitungan Algoritma Baris
Kode Program
1
% Inisisasi adaptive filter lms % hlms = dsp.LMSFilter(MyOrdo+1, 'StepSize', Step); hlms = dsp.LMSFilter('Length', MyOrdo+1, ... 'Method', 'LMS',... 'AdaptInputPort', true, ... 'StepSizeSource', 'Input port', ... 'WeightsOutputPort', true, ... 'WeightsResetInputPort', true ... ); % Inisisasi digital filter hfilt = dsp.DigitalFilter; hfilt.TransferFunction = 'FIR (all zeros)'; hfilt.Numerator = fir1(MyOrdo, .25); % Atur bobot awal (w0) MyWeights=ones(MyOrdo+1,1)*MyWeight; A=1; R=false; % Buat perulangan sampai e < MyError, maksimal perulangan sebanyak MyIteration LoopCounter=1; MaxLoop=MyIteration; StopFlag=false; TotalTime=0; LastError=0; while StopFlag==false disp('--------------------------------------------------------------------------'); disp(strcat('Iterasi ke',num2str(LoopCounter))); % Masukkan bobot filter ke properti filter hlms.InitialConditions=MyWeights; % ERRORbefore=OutputError; % Lakukan adative filter dengan metode LMS tic; [OutputSignal,OutputError,OutputCoeff] = step(hlms, ReferenceSignal, NoisedSignal, MyStep, A, R); ElapsedTime=toc*1000; TotalTime=TotalTime+ElapsedTime; % Menghasilkan % OutputSignal : hasil filter % OutputError : kesalahan hasil filter % OutputCoeff : koefisien bobot filter disp(strcat('Waktu yang diperlukan pada iterasi ini (ms) : ',32,sprintf('%f',ElapsedTime))); disp(strcat('Waktu yang diperlukan sampai
40
iterasi ini (ms) : ',32,sprintf('%f',TotalTime))); MyWeights=OutputCoeff + (2*LastError*MyStep) ; % Perbaharui bobot filter disp('Bobot hasil filter : '); disp(MyWeights); EstimatedError=round(abs(mean(OutputError))*10000000000 000000)/10000000000000000; fprintf('Galat : %.16f',EstimatedError) disp(' '); disp(' '); StopReason=''; if (LoopCounter>MaxLoop || EstimatedError<=MyError || EstimatedError==LastError) StopFlag=true; if LoopCounter>MaxLoop StopReason='Mencapai batas perulangan'; end if EstimatedError<=MyError StopReason='Mencapai batas galat'; end if EstimatedError==LastError StopReason='Tidak mengalami perubahan galat'; end end LastError=EstimatedError; LoopCounter=LoopCounter+1; hlms.release(); end
4. Perhitungan Nilai SNR dan MSE Perhitungan nilai Signal to Noise Ratio dan Nilai Mean Square error ini digunakan untuk melihat perkembangan dan hasil dari keluaran sistem. Nilai SNR dari sinyal suara output sistem akan dibandingkan dengan nila SNR sinyal suara awal. Kode Program Perhitungan SNR dan MSE dapat dilihat pada Tabel 4.4.
41
Tabel 4. 4 Kode Program Perhitungan Nilai MSE dan SNR Baris 1
Kode Program % Hitung SNR awal % snr = px/pe % snrdb = 10 log 10 (px / pe) SNRbefore=mean(InputSignal.^2)/mean(NoiseSignal.^2); SNRbeforeDB=10*log10(SNRbefore); disp(strcat('SNR Awal (db) : ',32,num2str(SNRbeforeDB))); % Hitung SNR akhir % snr = px/pe % snrdb = 10 log 10 (px / pe) SNRafter=mean(OutputSignal.^2)/mean(NoiseSignal.^2); SNRafterDB=10*log10(SNRafter); disp(strcat('SNR Akhir (db) : ',32,num2str(SNRafterDB))); % Hitung MSE SNR % mse = E [S ((x1(m1) - x2(2))^2) ] myMSE=mse(NoisedSignal,OutputSignal); disp(strcat('MSE : ',32,num2str(myMSE))); disp(' ');
4.5
Tahap Pengujian Segmentasi
4.5.1. Hasil Pengujian Algoritma Least Mean Square Hasil pengujian MSE dan SNR, besarnya ordo (panjang tapis/filter) dan nilai langkah (learning rate) dari algoritma Least Mean Square denagn Adaptive Filter dari kombinasi rentang nilai ordo 2 - 60 dan nilai langkah 0.1, 0..01, 0.05 . Hasil pengujian dapat dilihat pada lampiran. Dari lampiran dapat dilihat bahwa dari rentang nilai ordo 2 – 60 dan nilai langkah 0.1, 0.01, 0.05 didapat hasil kombinasi optimal yang didapat untuk menghasilkan nilai MSE dan SNR minimal didapat dari kombinasi nilai ordo 10 dan langkah 0.1. 4.5.2 Hasil Pengujian Perbandingan Algoritma Hasil pengujian Algoritma Least Mean Square dengan Adaptive Filter dapat dilihat pada Tabel.
42
1. Penghilangan derau dengan referensi derau berulang Tabel 4. 5 Hasil Pengujian Algoritma Referensi Derau Berulang LANGKAH
ORDO FILTER
0.1
2 4 6 8 10 12 14 16 18 20
LANGKAH
ORDO FILTER
0.01
2 4 6 8 10 12 14 16 18 20
KONDISI MSE 0.00472 0.00451 0.00443 0.00439 0.00437 0.00438 0.00439 0.00441 0.00443 0.00444
SNR 16.2658 16.0625 15.9858 15.9441 15.9269 15.9297 15.9463 15.9674 15.9847 15.9945
KONDISI MSE 0.00462 0.00457 0.00447 0.00441 0.00438 0.00437 0.00438 0.0044 0.00442 0.00444
SNR 16.1713 16.123 16.0177 15.9605 15.9314 15.9245 15.9348 15.9546 15.9744 15.9877
43
LANGKAH
0.05
ORDO FILTER 2 4 6 8 10 12 14 16 18 20
KONDISI MSE 0.00462 0.00472 0.00457 0.00451 0.00447 0.00443 0.00441 0.00439 0.00438 0.00437
SNR 16.1714 16.2656 16.1233 16.0622 16.018 15.9853 15.9609 15.9434 15.932 15.9261
Tabel 4. 6 Hasil Pengujian Algoritma Referensi Derau Jalan Raya LANGKAH
0.1
LANGKAH
0.01
ORDO FILTER 2 4 6 8 10 12 14 16 18 20
ORDO FILTER 2 4 6 8 10 12 14
KONDISI MSE 0.00792 0.007752 0.0076003 0.0074904 0.0074437 0.00746 0.007521 0.007599 0.0076686 0.007183
SNR 11.6489 11.5479 11.4585 11.3931 11.3662 11.3785 11.4183 11.468 11.5121 11.528
KONDISI MSE 0.007883 0.0078331 0.0076731 0.0075383 0.0074587 0.0074447 0.0074865
SNR 11.6192 11.5901 11.4946 11.4125 11.3635 11.3553 11.3818
44
16 18 20
LANGKAH
0.05
ORDO FILTER 2 4 6 8 10 12 14 16 18 20
0.0075597 0.007636 0.007696
11.4274 11.4745 11.5112
KONDISI MSE 0.007883 0.0079268 0.0078331 0.007752 0.0076731 0.0076003 0.0075383 0.0074904 0.0074587 0.0074437
SNR 11.6204 11.6469 11.5925 11.5449 11.4981 11.4546 11.4172 11.3883 11.3692 11.3690
Tabel 4. 7 Hasil Pengujian Algoritma Referensi Derau Pantai LANGKAH
0.1
LANGKAH
ORDO FILTER 2 4 6 8 10 12 14 16 18 20
ORDO FILTER
KONDISI MSE 0.0026829 0.0026334 0.0025881 0.0025545 0.002542 0.0025526 0.0025801 0.0026126 0.0026392 0.0026554
SNR 4.2878 4.1797 4.078 4.0018 3.9747 4.0024 4.0694 4.1473 4.2105 4.2495
KONDISI MSE
SNR
45
0.01
2 4 6 8 10 12 14 16 18 20
LANGKAH
ORDO FILTER
0.05
2 4 6 8 10 12 14 16 18 20
0.0026706 0.0026568 0.0026101 0.0025691 0.0025453 0.0025447 0.0025649 0.0025965 0.0026271 0.0026485
4.2563 4.2256 4.1195 4.0241 3.968 3.9668 4.0153 4.0896 4.1607 4.2098
KONDISI MSE 0.0026706 0.0026829 0.0026568 0.0026334 0.0026101 0.0025881 0.0025691 0.0025545 0.0025453 0.002542
SNR 4.2575 4.2856 4.2281 4.176 4.1232 4.073 4.0293 3.9955 3.9744 3.9673
Tabel 4. 8 Hasil Pengujian Algoritma Referensi Derau Televisi LANGKAH
0.1
ORDO FILTER 2 4 6 8 10 12 14 16 18
KONDISI MSE 0.00011649 0.00011474 0.0001132 0.0001121 0.00011174 0.00011216 0.00011316 0.00011434 0.00011533
SNR 5.9965 5.9149 5.8414 5.7879 5.7701 5.791 5.8396 5.8963 5.9431
46
20
LANGKAH
ORDO FILTER
0.01
2 4 6 8 10 12 14 16 18 20
LANGKAH
ORDO FILTER
0.05
2 4 6 8 10 12 14 16 18 20
0.00011595
5.9726
KONDISI MSE 0.00011594 0.00011555 0.00011394 0.00011257 0.00011182 0.00011186 0.00011261 0.00011376 0.00011488 0.00011568
SNR 5.9716 5.9494 5.8765 5.8107 5.7736 5.7757 5.8128 5.868 5.9214 5.9596
KONDISI MSE 0.00011594 0.00011649 0.00011555 0.00011474 0.00011394 0.0001132 0.00011257 0.0001121 0.00011182 0.00011186
SNR 5.9716 5.9939 5.9494 5.9126 5.8765 5.8412 5.8107 5.7876 5.7736 5.7757
Tabel 4. 9 Hasil Pengujian Algoritma Referensi Derau Kipas Angin LANGKAH
ORDO FILTER
KONDISI MSE
SNR
47
0.1
2 4 6 8 10 12 14 16 18 20
LANGKAH
ORDO FILTER
0.01
2 4 6 8 10 12 14 16 18 20
LANGKAH
ORDO FILTER
0.05
2 4 6 8 10 12 14 16 18 20
0.0024689 0.0024647 0.0024608 0.0024579 0.0024571 0.0024588 0.0024623 0.0024662 0.0024693 0.002471
3.4446 3.3477 3.3147 3.3009 3.2891 3.2701 3.2415 3.2073 3.175 3.1496
KONDISI MSE 0.0024677 0.0024667 0.0024627 0.0024592 0.0024572 0.0024577 0.0024604 0.0024643 0.002468 0.0024704
SNR 7.6443 5.3922 4.6636 4.3358 4.1568 4.0441 3.9666 3.9132 3.8807 3.8663
KONDISI MSE 0.0024677 0.0024689 0.0024667 0.0024647 0.0024627 0.0024608 0.0024592 0.0024579 0.0024572 0.0024577
SNR 4.0097 3.7291 3.6047 3.5332 3.4893 3.4611 3.4423 3.4291 3.419 3.4023
48
Perbandingan nilai ordo dan langkah pada Algoritma Least Mean Square dengan Adaptive Filter yang dimuat dalam tabel – tabel diatas menunjukan bahwa nilai MSE dan SNR yang paling kecil ditunjukan oleh kombinasi nilai ordo adalah 10 dan nilai langkah adalah 0.1. Semakin kecil besar nilai ordo pada adaptive filter maka hasil dari MSE dan SNR akan semakin kecil namun seiring dengan pertambahan nilai tersebut dalam suatu waktu nilai MSE dan SNR akan kembali naik. Maka dari itu diperlukan kombinasi tepat agar mendapat nilai yang optimal.
49
BAB V SIMPULAN DAN SARAN BAB V SIMPULAN DAN SARAN
5.1 Simpulan Proses penghapusan derau pada sinyal suara dapat dilakukan dengan menggunakan algoritma Least Mean Square. Dan dengan ditambahkannya adaptive filter akan membuat kualitas dari sinyal data suara masukkan akan meningkat dan memiliki nilai SNR yang lebih kecil dari nilai SNR awal. Selanjutnya pada penelitian ini menggunakan kombinasi nilai ordo dan langkah yang diuji cobakan sehingga mendapatkan kombinasi yang tepat untuk mendapat nilai Mean Square Error dan nilai Signal to Noise Ratio yang minimal. Dari penelitian ini diketahui kombinasi nilai ordo dan langkah terbaik yang dapat digunakan untuk mendapat nilai MSE dan SNR yang minimal adalah ordo = 10 dan langkah = 0.1 yang menghasilkan nilai MSE = 0.00437 dan SNR = 15.9269.
5.2 Saran Saran-saran yang dapat digunakan untuk pengembangan sistem lebih lanjut adalah sebagai berikut: 1.
Menambah variasi noise yang akan menjadi referensi bagi sistem untuk pengahapusan derau. Penambahan jenis noise akan membuat sistem lebih baik saat melakukan proses penghapusan derau.
2.
Algoritma Least Mean Square merupakan algoritma yang sederhana sehingga memungkinkan untuk nilai yang didapat belumlah optimal. Perkembangan dari algoritma ini sangat disarankan untuk mendapatkan nilai yang lebih optimal sesuai dengan keinginana peneliti.
DAFTAR PUSTAKA
Abushariah, a a M., Gunawan, T. S., Khalifa, O. O., & Abushariah, M. a M. (2010). English digits speech recognition system based on Hidden Markov Models. Computer and Communication Engineering ICCCE 2010 International Conference on, (May), 1–5. Gyanendra Singh, Kiran Savita, Shivkumar Yadav. (May 2013). Design of Adaptive Noise Canceller using LMS Algorithm. International Journal of Advanced Technology & Engineer Research (IJATER), 85-89. Hartmann, W. M. (1997). Signal, Sound, and Sensation. Springer. Ittichaichareon, C., Suksri, S., & Yingthawornsuk, T. (2012). Speech Recognition using MFCC, 135–138. K. Koutroumbas, and S. Theodoridis . (2006). Pattern Recognition (Third Edition). Academic Press. Kosko, B. (2006). Noise. Viking Press. Lestariningati, S. I. (n.d.). Simulasi Algoritma Filter Adaptif Pada Pengolahan Sinyal Digital. Majalah Ilmiah UNIKOM, 59-67. Md Sahidullah and Goutam Saba. (May 2012). Design Analysis and Experimantal Evaluation of Block Based Transformation in MFCC Computation for Speech Recognition. Muda, L., Begam, M., & Elamvazuthi, I. (2010). Voice Recognition Algorithms using Mel Frequency Cepstral Coefficient ( MFCC ) and Dynamic Time Warping ( DTW ) Techniques. Journal of Computing, 2(3), 138–143. Nelson Morgan, Herve Bourland, and Hynek Hermansky. (2004). Automatic Speech Recognition. Springer. Priemer, R. (1991). Introductory Signal Processing. World Scientific.
50
Rabiner, L. I., Levinson, S. E., Rosenberg, A. E., & Wilpon, J. A. Y. G. (1979). Speaker-Independent Recognition of Isolated Words Using Clustering Techniques. IEEE Trans. Acoustics, Speech, Signal Proc, ASSP-27(4), 336– 349. Susetyo Bagas Bhaskoro, Altedzar Riedho W.D. (2012). Aplikasi Pengenalan Gender Menggunakan Suara. SNATI 2012, H-16 - H-23. Yultrisna. (Oktober 2008). Aplikasi Algoritma LMS (Least Mean Square) untuk Penghapusan Interferensii Suara. Poli Rekayasa, 77-84.
51
52
LAMPIRAN 1 DATA HASIL UJI NILAI ORDO DAN LANGKAH
53
LANGKAH
ORDO FILTER
0.1
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60
LANGKAH
ORDO FILTER
MSE 0.00472 0.00451 0.00443 0.00439 0.00437 0.00438 0.00439 0.00441 0.00443 0.00444 0.00444 0.00445 0.00446 0.00447 0.00448 0.00448 0.00447 0.00447 0.00446 0.00447 0.00448 0.0045 0.00451 0.00451 0.0045 0.00449 0.00449 0.00449 0.00451 0.00452
KONDISI GALAT 5.91E-05 5.61E-05 5.33E-05 5.33E-05 5.04E-05 5.03E-05 5.05E-05 5.06E-05 5.12E-05 5.16E-05 5.14E-05 5.12E-05 5.11E-05 5.06E-05 5.03E-05 5.05E-05 5.1E-05 5.13E-05 5.18E-05 5.19E-05 5.16E-05 5.13E-05 5.07E-05 5.05E-05 5.13E-05 5.24E-05 5.33E-05 5.4E-05 5.44E-05 5.44E-05
KONDISI
SNR 16.2658 16.0625 15.9858 15.9441 15.9269 15.9297 15.9463 15.9674 15.9847 15.9945 15.992 16.0042 16.0129 16.0243 16.0336 16.0362 16.0313 16.0231 16.0186 16.0231 16.0368 16.0543 16.0676 16.0707 16.064 16.0538 16.0483 16.0531 16.0674 16.0848
54
0.01
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60
MSE 0.00462 0.00457 0.00447 0.00441 0.00438 0.00437 0.00438 0.0044 0.00442 0.00444 0.00444 0.00445 0.00445 0.00446 0.00447 0.00448 0.00448 0.00447 0.00446 0.00446 0.00447 0.00449 0.0045 0.00451 0.00451 0.0045 0.00449 0.00449 0.0045 0.00452
GALAT 5.81E-05 5.91E-05 5.96E-05 5.98E-05 5.96E-05 5.94E-05 5.93E-05 5.88E-05 5.83E-05 5.8E-05 5.75E-05 5.7E-05 5.64E-05 5.58E-05 5.52E-05 5.47E-05 5.46E-05 5.47E-05 5.48E-05 5.48E-05 5.51E-05 5.55E-05 5.59E-05 5.63E-05 5.63E-05 5.62E-05 5.63E-05 5.63E-05 5.57E-05 5.49E-05
SNR 16.1713 16.123 16.0177 15.9605 15.9314 15.9245 15.9348 15.9546 15.9744 15.9877 15.9941 15.998 16.0044 16.0146 16.0254 16.0314 16.0298 16.0222 16.0147 16.014 16.0233 16.0396 16.0557 16.064 16.0616 16.0518 16.0428 16.0418 16.0516 16.0683
55
LANGKAH
0.05
ORDO FILTER 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60
KONDISI MSE 0.00462 0.00472 0.00457 0.00451 0.00447 0.00443 0.00441 0.00439 0.00438 0.00437 0.00437 0.00438 0.00438 0.00439 0.0044 0.00441 0.00442 0.00443 0.00444 0.00444 0.00444 0.00444 0.00445 0.00445 0.00445 0.00446 0.00446 0.00447 0.00447 0.00448
GALAT 5.95E-05 5.99E-05 5.98E-05 5.95E-05 5.91E-05 5.87E-05 5.82E-05 5.77E-05 5.72E-05 5.68E-05 5.65E-05 5.64E-05 5.63E-05 5.61E-05 5.6E-05 5.59E-05 5.58E-05 5.59E-05 5.59E-05 5.58E-05 5.57E-05 5.55E-05 5.52E-05 5.5E-05 5.47E-05 5.45E-05 5.42E-05 5.38E-05 5.35E-05 5.32E-05
SNR 16.1714 16.2656 16.1233 16.0622 16.018 15.9853 15.9609 15.9434 15.932 15.9261 15.9252 15.9287 15.9357 15.9451 15.9556 15.9661 15.9755 15.9832 15.989 15.9929 15.9955 15.9974 15.9995 16.0022 16.006 16.0108 16.0164 16.0221 16.0273 16.0313