PENGATURAN POSISI KAMERA CCTV DENGAN PERINTAH SUARA David Abriman Simatupang1, Irianto 2, Suhariningsih 3 Mahasiswa Teknik Elektro Industri PENS-ITS, Surabaya, 2 Dosen Teknik Elektro Industri PENS-ITS, Surabaya, 3 Dosen Teknik Elektro Industri PENS-ITS, Surabaya Politeknik Elektronika Negeri Surabaya – ITS, Surabaya 60111 Email :
[email protected], 1
Abstrak Pada proses kegiatan acara biasanya memiliki beberapa acara pada posisi berbeda. Oleh sebab itu dibutuhkan kamera untuk mendokumentasikan agar dapat dilihat orang banyak. Sistem yang dibangun adalah proses pengolahan sinyal suara dalam pengenalan perintah suara masuk terhadap data suara yang telah disimpan untuk menggerakkan posisi kamera ke titik-titik tertentu. Posisi kamera yang dituju terdapat 4 titik dengan perintah “SATU”, “DUA”, “TIGA” dan “EMPAT” dengan menggunakan suara penulis. Pengaturan posisi kamera menggunakan 2 buah motor dc sumbu horizontal dan vertikal. Suara yang masuk dari microphone difilter dengan band pass filter (BPF). Proses pengolahan sinyal suara menggunakan metoda fast fourier transform (FFT), euclidean distance dan divide and conquer. Motor diatur posisinya menggunakan kendali logika fuzzy. Pengkonversi sinyal suara memiliki karaktristik filter dengan cut off frekuensi 700Hz-2700Hz. Suara yang dianggap mirip apabila memiliki hasil perhitungan euclidean distance ≤ thershold referensi suara dari pengambilan contoh suara sebanyak 10 suara yang sama. Pengenalan suara yang dilakukan bahwa suara “SATU” dan “EMPAT” dikenali 100% dan suara “DUA” dan “TIGA” dikenali 60% akibat perubahan tone suara yang masuk pada saat memberikan perintah, yaitu bunyi “A” dan “E” tinggi, tetapi bunyi “U” dan “I” rendah. Sehingga persentasi error adalah 20%. Pada motor sumbu vertikal rise time maksimal (180°) 1,05 detik dan settling time maksimal (180°) 1,26 detik. Pada motor sumbu horizontal rise time maksimal (180°) 1,09 detik dan settling time maksimal (180°) 2,12 detik. Kata kunci: band pass filter, pengenalan suara, pengolahan sinyal suara, fast fourier transform, euclidean distance, divide and conquer, kendali logika fuzzy. 1. Pendahuluan Acara-acara beberapa organisasi atau kelompok memiliki beberapa acara yang berbeda dan memerlukan gedung yang besar. Dengan susunan acara yang berurut atau bersamaan. Acara yang berbeda ini biasanya memiliki posisi atau letak yang berbeda pula. Setiap acara perlu adanya dokumentasi video atau juga akses yang lebih luas kepada penonton. Seperti yang berada diluar gedung atau jarak yang cukup jauh untuk melihat atau menonton acara tersebut. Sehingga perlu ada dokumentasi yang mampu memenuhi kepuasan penonton untuk menyaksikan acara yang sedang berlangsung secara langsung. 2. Dasar Teori 2.1 Konversi Suara ke Sinyal Suara Proses ini merupkan proses pengubahan suara yang merambat di udara ke sinyal suara menjadi sinyal dengan level tegangan. Proses pengubahan sinyal suara ini dilakukan dengan menggunakan microphone sebagai sensor suara. Sinyal keluaran dari microphone kemudian dikuatkan sehingga dapat dibaca oleh piranti selanjutnya. Penguat dari sinyal suara ini menggunakan opamp LM324. Pengutan dilakukan karena sinyal suara yang masuk ini memiliki level tegangan yang sangat
kecil. Hal ini akan menyebabkan sistem pengolah sinyal tidak bisa mengolah sinyal ini. Sinyal suara yang masuk memiliki frekuensi yang berbeda-beda. Suara manusia berbicara memiliki batas frekuensi sebesar 500Hz sampai dengan 1500Hz. band pass filter (BPF) sangat cocok untuk sistem ini. Karena BPF hanya melewatkan sinyal yang berada pada batas ambang frekunsi maksimal dan minimalnya. Sehingga sinyal dengan frekuensi diluar batas ambangnya BPF akan dilemahkan. 2.2 TMS320C6713 DSK Pemroses sinyal digital seperti TMS320C6713 adalah mikroprosesor dengan tipe khusus pada arsitekturnya dan sebuah instruksi yang cocok untuk pemrosesan sinyal. Pemrosesan sinyal digital digunakan untuk aplikasi pada range yang lebar dan biasanya digunakan pada sistem komunikasi hingga image processing. Gambar 2.2.1 merupakan Board TMS320C6713.
Gambar 3.1.1 Blok Diagram Sistem
Suara yang masuk dikonversi ke sinyal suara, kemudian sinyal ini diolah pada pengolahan sinyal suara untuk dikenali. Apabila suara yang masuk terindentifikasi mirip dengan salah satu data suara yang tersimpan maka akan dikeluarkan perintah untuk menjalankan aktuator. Gambar 3.1.2 adalah flow chart secara keseluruhan: Gambar 2.2.1 Modul TMS320C6713 DSK
Pada Modul TMS320C6713 DSK ini dilakukan proses pengolahan sinyal suara untuk pengenalan suara. Prosesnya yaitu konversi dari sinyal analog ke diskrit, normalisasi, frame block, windowing, fast fourier transform, euclidean distance. 2.3 FLC (Fuzzy Logic Controller) Secara umum pengendali logika fuzzy memiliki kemampuan sebagai berikut : 1. Beroprasi tanpa campur tangan manusia secara langsung, tetapi memiliki efektivitas yang sama dengan pengendali manusia. 2. Mampu menangani sistem-sistem yang kompleks, non-linier dan tak stasioner. 3. Memenuhi spesifikasi operasional dan criteria kinerja. 4. Struktur sederhana, kuat dan beroperasi real time. Stuktur dasar sistem pengendali logika fuzzy ditunjukan pada Gambar 2.3.1 berikut:
Gambar 3.1.2 Flow Chart Sistem
3.2 Blok Diagram Konversi Sinyal Suara Gambar 3.2.1 adalah blok diagram dari sistem konversi sinyal suara:
Gambar 3.2.1 Blok Diagram Konversi Sinyal Suara Gambar 2.3.1 Stuktur dasar sistem kontrol logika fuzzy
Stuktur logika fuzzy yang dikembangkan tampak pada gambar berikut ini. Pada gambar tersebut terdapat proses kwantisasi, yaitu proses pengubahan sinyal masukan dalam hal ini error dan delta error menjadi sinyal yang terkwantisasi (E dan dE) untuk diproses selanjutnya. 3 Rancangan Sistem 3.1 Blok Diagram dan Flow chart Gambar 3.1.1 adalah blok diagram dari sistem secara keseluruhan:
Suara yang masuk berupa suara dengan karakteristik suara orang yang berbicara. Suara yang masuk yang terkonversi pada mic memiliki level tegangan yang kecil. Oleh sebab itu sinyal suara dari mic dikuatkan 100 kali. Suara yang masuk kemudian di-filter menggunakan band pass filter (BPF) dengan batas minimal dan maksimal frekuensi adalah 500Hz sampai 1500Hz. Frekuensi ini merupakan batas dari frekuensi suara manusia berbicara.
3.3 Blok Diagram Pengolahan Sinyal Suara Sinyal Suara Masuk Analog to Digital Converter
Level Detector
Normalisasi
Fast Fourier Transform
Windowing
Frame Block
Perhitungan Euclidean Distance
Penyimpanan Data Referensi
Pembandingan Data Referensi dengan Masuk
Konversi Data ke PWM sinyal indikasi
thershold masing-masing suara. Urutan yang terkecil merupakan suara yang paling mirip. Proses ini menggunakan metoda divide and conquer. Gambar 3.3.3 merupakan flow chartnya:
Sinyal Indikasi Posisi
Gambar 3.3.1 Blok Diagram Pengolahan Sinyal Suara
Gambar 3.3.1 menjelaskan proses pengolahan sinyal suara diproses pada modul TMS320C6713 DSK. Proses ini dimulai dari proses analog to digital convertion, level detection, normalisasi, frame block, windowing, fast fourier transform, perhitungan euclidean distance dan pengurutan dengan algoritma divide and conquer jika perintah yang dikenali lebih dari satu perintah. Proses pengenalan dilakukan dengan melakukan proses perhitungan euclidean distance. Proses ini untuk melihat nilai yang terkecil. Proses ini dilakukan untuk pencarian nilai thershold dan proses pengenalan. Gambar 3.3.2 merupakan flow chart euclidean distance:
Gambar 3.3.3 Flow chart divide and conquer
3.4 Blok Diagram Menjalankan Aktuator
Gambar 3.4.1 Blok Diagram Menjalankan Aktuator
Gambar 3.4.1 merupakan blok diagram dari proses pengaturan aktuator. Aktuator pada proyek ini adalah 2 buah motor dc gear box dengan kecepatan 38 rpm. Motor ini digunakan sebagai pengatur posisi dari kamera dengan menggunakan pengendalian logika fuzzy. Sistem pengendalian logika fuzzy dibangun pada mikrokontroller ATmega16 keluarannya untuk mengontrol kerja dari driver motor. Driver motor yang digunakan adalah L298. IC ini merupakan IC yang tersusun dari 2 rangkaian full bridge transistor. Data dari TMS320C6713 dikomparasi dengan op amp 741 agar data yang masuk ke mikrokontroller berupa PWM. Gambar 3.4.2 menunjukkan proses perancangan kendali logika fuzzy dengan masukan error dan delta error.
Gambar 3.3.2 Flow chart euclidean distance
Berikut proses pengurutan apabila terdapat lebih dari satu perintah suara yang lebih rendah dari nilai
Gambar 3.4.2 Input output fuzzy
Gambar 3.4.3 sampai 3.4.8 menunjukkan proses perancangan membership function error, delta error dan output.
Gambar 3.4.7 Membership function input delta error motor B
Gambar 3.4.3 Membership function input error motor A Gambar 3.4.8 Membership function output motor B
• • • • Gambar 3.4.4. Membership function input delta error motor A
• • • • •
Rule yang diberikan pada sistem kontrol ini adalah Jika Neg = = 1 && dNeg = = 1, o maka Neg & dNeg = Revs Jika Neg = = 1 && dZer = = 1, o maka Neg & dZer = Revs Jika Neg = = 1 && dPos = = 1, o maka Neg & dPos = Stop Jika Zer = = 1 && dNeg = = 1, o maka Zer & dNeg = Revs Jika Zer = = 1 && dZer = = 1, o maka Zer & dZer = Stop Jika Zer = = 1 && dPos = = 1, o maka Zer & dPos = Forw Jika Pos = = 1 && dNeg = = 1, o maka Pos & dNeg = Stop Jika Pos = = 1 && dZer = = 1, o maka Pos & dZer = Forw Jika Zer = = 1 && dPos = = 1, o maka Zer & dPos = Forw
Gambar 3.4.5 Membership function output motor A
Berikut perhitungan untuk mendapatkan nilai keluaran dari respon error dan delta error: (3.4.1) = 1 + 2 + 4
= 3 + 5 + 7
(3.4.2)
= 6 + 8 + 9
(3.4.3)
=
. + . + . + +
(3.4.4)
Gambar 3.4.6 Membership function input error motor B
Gambar 3.4.9 berikut merupakan perancangan driver motor dc H-bridge:
“satu” memiliki nilai terkecil. Apabila dibandingkan antara hasil perhitungan euclidean distance dengan nilai thershold, hasil referensi suara “satu” di bawah nilainya dengan nilai thersholdnya.
Gambar 3.4.9 Diagram blok sistem menjalankan motor
("") =
∑-./ %∑)'*+(&' − ' ) , 0 1
(4.2.1)
4 Hasil Penelitian 4.1 Percobaan Konversi Sinyal Suara Pada Tabel 4.1.1 terdapat data hasil percobaan alat dengan nilai tegangan sinus adalah 50mVpp dan digambarkan dalam bentuk grafik pada Gambar 4.1.1: Tabel 4.1.1 Data pengukuran percobaan alat band pass filter Frekuensi Tegangan Frekuensi Tegangan (Hz) Keluaran (Hz) Keluaran (mVpp) (mVpp) 100 1 1600 125 200 7 1700 124 300 17 1800 122,5 400 39 1900 120 500 54 2000 118,75 600 72,5 2100 117,5 700 87,5 2200 115 800 100 2300 112,5 900 110 2400 110 1000 115 2500 107,5 1100 117,5 2600 105 1200 120 2700 100 1300 122,5 2800 97,5 1400 124,5 2900 95 1500 125 3000 92,5
Gambar 4.2.1 Hasil perhitungan total euclidean distance semua posisi dan nilai thershold semua posisi Tabel 4.2.1 Data status percobaan pengenalan dari tiap suara
NO 1 2 3 4 5 6 7 8 9 10
SATU Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali
SUARA DUA TIGA Tidak Dikenali Dikenali Dikenali Tidak Dikenali Dikenali Dikenali Tidak Tidak Dikenali Dikenali Dikenali Tidak Dikenali Dikenali Tidak Tidak Dikenali Tidak
EMPAT Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali Dikenali
Grafik data pengukuran: Dari data Tabel 4.2.1 terlihat persentasi pengenalan dari suara “SATU” adalah 100%. Suara “DUA” adalah 60%. Suara “TIGA” adalah 60%. Suara “EMPAT” adalah 100%. Total persentasi error adalah 20%. Dari hasil percobaan yang didapat bahwa, pada suara “SATU” dan “EMPAT” merupakan suara yang selalu dikenali. Hal ini terjadi karena suara “A” dan “E” memiliki tone yang lebih tinggi. Sedangkan pada suara “DUA” dan “TIGA” memiliki tone yang terkadang melemah dan terkadang meninggi. Hal ini karena bunyi “U” dan “I” tidak terdeteksi pada proses level detection. Hal ini menyebabkan beberapa sinyal suara hilang.
Gambar 4.1.1 Grafik pengukuran dari percobaan band pass filter (BPF)
4.2 Percobaan Pengolahan Sinyal Suara Hasil euclidean distance terlihat pada Gambar 4.2.1 di bawah. Dengan persamaan (4.2.1) hasil perhitungan dengan spektrum frekuensi referensi suara
4.3 Percobaan Menjalankan Aktuator Kendali logika fuzzy dilakukan untuk mengatur posisi 2 buah motor dc. Motor dc pertama untuk pengaturan putaran dengan sumbu vertikal dan yang kedua untuk pengaturan putaran dengan sumbu horizontal. Tabel 4.3.1 menunjukkan data percobaaan fuzzy dengan masukan error dan delta error pada motor sumbu vertikal dan direpresentasikan pada grafik respon pada Gambar 4.3.1:
Tabel 4.3.1 Data respon fuzzy dengan masukan nilai error dan delta error
Error -200 -200 -200 -200 -200 -100 -100 -100 -100 -100 0 0 0 0 0 100 100 100 100 100 200 200 200 200 200
Delta Error -20 -10 0 10 20 -20 -10 0 10 20 -20 -10 0 10 20 -20 -10 0 10 20 -20 -10 0 10 20
Output -1023 -1023 -1023 -511,5 0 -1023 -648,556 -511,5 0 511,5 -1023 -511,5 0 511,5 1023 -511,5 0 511,5 648,556 1023 0 511,5 1023 1023 1023
-200 -200 -200 -100 -100 -100 -100 -100 0 0 0 0 0 100 100 100 100 100 200 200 200 200 200
0 100 200 -200 -100 0 100 200 -200 -100 0 100 200 -200 -100 0 100 200 -200 -100 0 100 200
-818,4 -328,091 0 -807,252 -548,224 -409,2 0 328,091 -818,4 -409,2 0 409,2 818,4 -328,091 0 409,2 548,224 807,252 0 328,091 818,4 807,252 827,869
Gambar 4.3.2 Respon data PWM terhadap perubahan error dan delta error pada kendali logika fuzzy motor sumbu horizontal
Gambar 4.3.1 Respon data PWM terhadap perubahan error dan delta error pada kendali logika fuzzy motor sumbu vertikal
Tabel 4.3.1 menunjukkan data percobaaan fuzzy dengan masukan error dan delta error pada motor sumbu horizontal dan direpresentasikan pada grafik respon pada Gambar 4.3.2: Tabel 4.3.2 Data respon PWM kendali logika fuzzy dari mikrokontroller sebesar 10 bit motor sumbu horizontal
Error -200 -200
Delta Error -200 -100
Output -827,869 -807,252
Pada Gambar 4.3.1 memiliki perubahan respon yang cepat sampai mencapai titik error -200 sampai 200 dan mencapai titik delta error -20 sampai 20. Hasil ini dilakukan agar respon perputaran dari motor cepat mencapai set point. Saat mencapai set point maka respon kemudian diperlambat sehingga tidak terjadi overshoot yang berlebihan. Hal ini dilakukan dengan mengkombinasikan nilai error dan delta error. Pada Gambar 4.3.2 memiliki perubahan respon yang cepat sampai mencapai titik error -250 sampai 250 dan mencapai titik delta error -250 sampai 250. Hasil ini dilakukan agar respon perputaran dari motor tidak terlalu cepat mencapai set point. Saat mencapai set point maka respon kemudian diperlambat sehingga tidak terjadi overshoot yang berlebihan. Hal ini
dilakukan dengan mengkombinasikan nilai error dan delta error. Untuk mencari membership function kendali logika fuzzy yang terbaik dilakukan beberapa percobaan. Tabel 4.3.2 menunjukkan data pengukuran respon waktu dari proses ini: Tabel 4.3.2 Data pengukuran waktu respon pengaturan posisi motor
Min -1023 -512 -250 -200
Error Mid 0 0 0 0
Max 1023 512 250 200
Min -250 -250 -250 -20
Delta Error Mid 0 0 0 0
Max 250 250 250 20 Gambar 4.3.5 Rise time dari motor sumbu horizontal
Gambar 4.3.3 Rise time dari motor sumbu vertikal Gambar 4.3.6 Settling time dari motor sumbu horizontal
Gambar 4.3.4 Settling time dari motor sumbu vertikal
Dari Gambar 4.3.3 dan Gambar 4.3.4 terlihat rise time dan settling time yang paling cepat responnya. Oleh sebab itu membership function pada percobaan IV yang digunakan untuk kendali logika fuzzy motor sumbu vertikal.
Dari Gambar 4.3.5 dan Gambar 4.3.6 terlihat rise time dan settling time yang paling cepat responnya adalah percobaan III. Oleh sebab itu membership function pada percobaan III yang digunakan untuk kendali logika fuzzy motor sumbu horizontal. Terlihat dari percobaan mencari membership function yang cocok bahwa lebar dari membership function mempengaruhi kecepatan dari rise time respon output. Apabila lebar dari membership function Zer atau dZer besar, maka rise time respon output-nya lambat. Namun apabila membership function Zer dan dZer kecil, maka respon output-nya cepat. Tetapi untuk settling time respon output-nya harus diperhatikan juga. Apabila membership function Zer dan dZer terlalu kecil, maka settling time respon output-nya akan lama, akibat dari isolasi yang terus-menerus. Pada Gambar 4.3.3 dan Gambar 4.3.4 ditunjukkan perpindahan sudut pada motor sumbu vertikal memiliki kecepatan yang tinggi saat rise time dan time settling pada sudut yang lebih besar lebih cepat. Hal ini karena membership function Zer adalah -200 sampai 200 dan dZer adalah -20 sampai 20. Hal ini akan membuat keluaran akan meredam putaran motor saat akan mencapai set point.
Pada Gambar 4.3.5 dan Gambar 4.3.6 ditunjukkan perpindahan sudut pada motor sumbu horizontal memiliki kecepatan yang menengah saat rise time dan time settling pada sudut yang lebih besar lebih lama. Hal ini karena membership function Zer adalah -250 sampai 250 dan dZer adalah -250 sampai 250. Hal ini akan membuat keluaran akan meredam putaran motor saat akan mencapai set point. Namun beban mempengaruhi kecepatan putarannya. 5 Kesimpulan • Pada simulasi memiliki batas frekuensi yang dilewatkan sebesar 500Hz-1600Hz. Pada percobaan alat memilikibatas frekuensi yang dilewatkan sebesar 700Hz-2700Hz. Hal ini karena pengaruh dari komponen yang digunakan kurang ideal dari pada hasil proses simulasi. • Suara yang mirip memliki hasil perhitungan euclidean distance antara FFT suara masuk dan FFT suara yang disimpan ≤ thershold dari hasil pengambilan contoh suara sebanyak 10 suara yang sama. • Proses pengenalan suara yang dilakukan bahwa suara “SATU” dan “EMPAT” dikenali 100%. Namun suara “DUA” dan “TIGA” dikenali 60% akibat perubahan tone suara yang masuk pada saat memberikan perintah, yaitu bunyi “A” dan “E” tinggi, tetapi bunyi “U” dan “I” rendah. Sehingga persentasi error adalah 20%. • Pada motor sumbu vertikal rise time maksimal (180°) 1,05 detik dan settling time maksimal (180°) 1,26 detik. • Pada motor sumbu horizontal rise time maksimal (180°) 1,09 detik dan settling time maksimal (180°) 2,12 detik. 6 Daftar Pustaka [1]. R. K. Nugraha, “Sistem Keamanan Rumah Berbasis Pengenalan Wicara Menggunakan DSK TMS 320C6713”, 2008, DIV-Jurusan Teknik Elektronika, Politeknik Elektronika Negeri Surabaya-ITS. [2]. Nia Maulidia, “Pembuatan Program Aplikasi untuk Menampilkan Ciri Sinyal Wicara dengan Matlab”, 2009, DIII-Jurusan Teknik Telekomunikasi, Politeknik Elektronika Negeri Surabaya-ITS. [3]. Rulph Chassaing, “Digital Signal Processing and Applications with the C6713 and C6416 DSK”, 2005, A John Wiley & Sons, Inc. [4]. S. Salivahanan, A. Vallavaraj dan C Gnanapriya, “Aplication of Digital Signal Processing (Voice Processing)”, 2000, Digital Signal Processing, McGraw-Hill. [5]. John G. Proakis, Dimitris G. Manolakis, “Digital Signal Processing 3e (Principles, Algorithms, and Application)”, 1995, Digital Signal Processing, Prentice Hall, Inc, .
[6]. Gressia Melissa, “Pencocokan Pola Suara (Speech Recognition) Dengan Algoritma FFT dan Divide and Conquer”, 2008, Makalah IF2251 Strategi Algoritmik, Institut Teknologi Bandung (ITB). [7]. Roland S. Burns, ”Advanced Control Engineering”, 2001, Butterworth-Heinemann, A division of Reed Educational and Professional Publishing Ltd. [8]. Hendawan Soebakti, “Antarmuka Mikrokontroller”, 2006, Diktat Mata Kuliah, Politeknik Batam. [9]. http://www.seattlerobotics.org/encoder/mar98/fuz/ flindex.html [10]. http://www.planet-sourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=12 673&lngWId=3 [11]. http://prihastomo.files.wordpress.com/2008/01/div ideconquer.pdf