MODUL V IMPLEMENTASI ALGORITMA DSP LANJUTAN Rosana Dewi Amelinda (13213060) Asisten : Orvin Demsy (13212129) Tanggal Percobaan: 9/11/2015 EL3110-Praktikum Pengolahan Sinyal Digital
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB Abstrak Abstrak Pada praktikum Modul V ini dilakukan desain dan implementasi filter dengan mengguanakan algoritma Digital Signal Processing. Sebelum memulai praktikum terlebih dahulu di copy source code yang ada pada modul ke dalam process_data.c yang ada pada project. Lalu dilakukan kompilasi dan running pada project tersebut kemudian dilakukan persiapan untuk implementasi pada blackfin. Algoritma DSP yang akan diimplementasikan pada praktikum kali ini yaitu algoritma scramble dan efek pelebaran stereo. Implementasi algoritma scrambler akan menyebabkan sinyal keluaran menjadi sinyal input yang diacak dengan suatu pola tertentu sehingga tidak dapat dikenali tanpa diolah oleh descrambler. Algoritma efek pelebaran stereo akan dilakukan pengolahan bentuk sinyal pada kanal kanan dan kiri sehingga diperoleh efek suara yang berbeda pada kedua kanal untuk efek stereo. Port input pada blackfin dihubungkan pada computer serta outputnya dihubungkan ke speaker. Apabila implementasi telah selesai dikukan, selanjutnya diamati plot frekuensi yang dihasilkan dari proses pem-filter-an dengan menggunakan software Audacity. Kata kunci: MATLAB, Visual DSP++, Blackfin BF561EZ, Audacity. 1.
PENDAHULUAN
Pada praktikum modul 5 ini mengarahkan praktikan untuk mempelajari pengolahan sinyal digital dengan menggunakan hadware blackfin BF561EZ. Pengolahan sinyal yang dilakukan berbasis software yang selanjutnya akan diimplementaskan pada board Blackfin dengan arsitektur SIMD. Pengolahan tersebut dilakukan dengan bantuan software Visual DSP++ 5.0. Tujuan yang ingin dicapai dari percobaan Modul 5 ini antara lain : a. Praktikan memahami teknik implementasi algoritma pada DSP Blackfin BF561EZ b. Praktikan mampu untuk mengimplementasi berbagai macam algoritma pada DSP Blackfin BF561EZ
2.
STUDI PUSTAKA
Scrambler Dalam dunia telekomunikasi, scrambler merupakan sebuah sistem yang mampu menginversi / mengkodekan
sinyal pesan pada sebuah transmitter sehingga pesan tidak dapat dimengerti oleh pihak penerima yang tidak memiliki perangkat descrambler. Teknik ini serupa dengan encoding hanya saja apabila teknik encoding diterapkan pada domain digital, maka scrambler diterapkan pada domain analog. Teknik scrambling ini dapat dilakukan dengan berbagai cara misalnya dengan mengubah besaran besaran seperti amplituda pada sinyal asli ataupun dengan serangkaian proses rumit seperti yang diterapkan pada satelit, radio relay dan modem PSTN sehingga pesan tidak dapat dimengerti lagi tanpa melalui proses descrambler. Namun pada praktikum kali ini, akan dilakukan proses scrambler yang paling sederhana pada sinyal masukan, yaitu dengan jalan mengubah secara periodik polaritas sinyal-sinyal masukan Efek Pelebaran Stereo Efek pelebaran stereo ini merupakan salah satu dari serangkaian efek audio 3D. Sedangkan efek-efek audio 3D merupakan kumpulan dari efek-efek suara yang bertujuan untuk melebarkan image stereo yang dihasilkan oleh dua loudspeaker atau headphone stereo. Atau dapat juga berupa efek untuk menciptakan ilusi persepsi mengenai keberadaan sumber-sumber suara dalam ruang tiga dimensi, misalnya di belakang, di atas atau di bawah pendengar. Efek pelebaran stereo sendiri dapat dihasilkan dengan memanipulasi hubungan antara sinyal tengah C dan sinyal sisi S. Kedua sinyal tersebut memiliki rumusan : C=(L+R)/2; S=(L-R)/2. Bagian positif dari sinyal sisi S kemudian dijumlahkan dengan sinyal tengah pada kanal kiri, sedangkan bagian yang fasanya berkebalikan dijumlahkan dengan sinyal tengah pada kanal Efek pelebaran stereo ini merupakan salah satu dari serangkaian efek audio 3D. Sedangkan efek-efek audio 3D merupakan kumpulan dari efek-efek suara yang bertujuan untuk melebarkan image stereo yang dihasilkan oleh dua loudspeaker atau headphone stereo. Atau dapat juga berupa efek untuk menciptakan ilusi persepsi mengenai keberadaan sumber-sumber suara dalam ruang tiga dimensi, misalnya di belakang, di atas atau di bawah pendengar. Efek pelebaran stereo sendiri dapat dihasilkan dengan memanipulasi hubungan antara sinyal tengah C dan sinyal sisi S. Kedua sinyal tersebut memiliki rumusan : C=(L+R)/2; S=(L-R)/2. Bagian positif dari sinyal sisi S kemudian dijumlahkan dengan sinyal tengah pada kanal kiri, sedangkan bagian yang fasanya berkebalikan dijumlahkan dengan sinyal tengah pada kanal Audacity
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
1
Audacity merupakan sebuah aplikasi pemberi efek suara. Aplikasi ini dibangun dengan pustaka WxWidgets sehingga dapat berjalan pada berbagai Operating System. Dengan menggunakan audacity, pengguna dapa mengoreksi berkas suara tertentu, atau sekedar menambahkan berbagai efek yang disediakan. Kelebihan aplikasi ini terletak pada fitur yang disediakan serta kestabilannya. Pustaka yang digunakan juga tidak terlalu banyak dan waktu tunggunya tidak terlalu lama. Sedangkan kekurangannya yaitu terletak pada interface (antar muka) yang sedikit kaku dibandingkan dengan aplikasi sejenis. Pada praktikum ini, software audacity digunakan untuk melihat bentuk sinyal input dan output serta meliha respons frekuensinya.
3.
METODOLOGI
Pada percobaan 2 ini, alat dan bahan yang digunakan yaitu : 1.
1 Unit computer
2.
Software MATLAB dan Visual DSP++ 5.0
3.
Kit Blackfin BF561EZ, adaptor, kabel RCA, converter RCA, dan speaker aktif.
Memulai percobaan Sebelum memulai percobaan, isi dan tanda tangani lembar penggunaan meja yang tertempel pada masing-masing meja praktikum
Dibuka VisualDSP++ dan dibuka kembali project Talkthrough.
Dibuka Process_data.c pada bagian CoreA SourceFiles (dengan jalan klik tanda (+) pada tulisan CoreA dan Source Files) dari Project window
Pada bagian Void Process_Data(Void), diganti kodekode yang ada dengan kode-kode sebagai berikut: //amplitude polarizer j=(i+1)%2; i=j; //Channel0 iChannel0LeftOut = (pow((-1),j))*iChannel0LeftIn; iChannel0RightOut = (pow((-1),j))*iChannel0RightIn; //Channel1 iChannel1LeftOut = (pow((-1),j))*iChannel1LeftIn; iChannel1RightOut = (pow((-1),j))*iChannel1RightIn;
Pada menu bar dipilih Project -> Build Project.
Untuk menjalankan program yang telah di-build, pada menu bar dipilih Debug -> Run.
Menyusun rangkaian a.
Implementasi Scrambler
Dilakukan pengamatan pada sinyal masukan dan keluaran. Diperhatikan efek Scrambling yang telah diterapkan. b.
Implementasi Efek Pelebaran Stereo
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
2
Dibuka VisualDSP++ dan buka kembali project Talkthrough.
Sebelum keluar dati ruang praktikum, dirapikan meja praktikum dan dimatikan komuter dati jala-jala listrik.
Dimatikan MCB dimeja praktikum sebelum meninggalkan ruangan.
Dibuka Process_data.c pada bagian CoreA SourceFiles (dengan jalan klik tanda (+) pada tulisan CoreA dan Source Files) dari Project window
Diperiksa lembar penggunaan meja.
Pada bagian Void Process_Data(Void), diganti kodekode yang ada dengan kode-kode sebagai berikut: norm = (width + 1) / 2; left = (float)iChannel0LeftIn; right = (float)iChannel0RightIn; C=(left+right)/2; S=(left-right)/2; Left = (C + S * width) / norm; right = (C – S * width) / norm; iChannel0LeftOut=(int)left; iChannel0RightOut=(int)right; iChannel1LeftOut = iChannel0LeftIn; iChannel1RightOut = iChannel0RightIn;
Dipastikan asisten telah menandatangani catatan percobaan kali ini pada Buku Catatan Laboratorium.
4.
HASIL DAN ANALISIS
IMPLEMENTASI SCRAMBLER
Pada percobaan ini dilakukan scrambling menggunakan lagu Sleep Away – Bob Acri sebagai masukan (input) dengan lama pengamatan sekitar 10 detik pertama dari lagu. Code process_data yang digunakan adalah sebagai berikut :
Pada menu bar dipilih Project -> Build Project.
#include "Talkthrough.h" #include "math.h"
Untuk menjalankan program yang telah di-build, pada menu bar dipilih Debug -> Run.
process_data (void) { //Deklarasi variabel int i,j; //amplitude polarizer j=(i+1)%2; i=j;
Dilakukan pengamatan pada sinyal masukan dan keluaran. Diperhatikan efek pelebaran stereo yang telah diterapkan. c.
Mengakhiri Percobaan
//Channel0 iChannel0LeftOut = (pow((1),j))*iChannel0LeftIn; iChannel0RightOut = (pow((1),j))*iChannel0RightIn; //Channel1 iChannel1LeftOut = (pow((1),j))*iChannel1LeftIn; iChannel1RightOut = (pow((1),j))*iChannel1RightIn; }
Berikut hasil sinyal input apabila diamati dengan software Audacity : Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
3
Gambar 1 Sinyal Input domain waktu
Pada pengamatan kualitatif yang dilakukan (dengan mendengarkan output sinyal dari speaker secara langsung), hasilnya lagu menjadi tidak jelas dan frekuensinya terdengar lebih tinggi dari frekuensi lagu pada saat belum di scrambling. Perubahan frekuensi ini dapat terlihat secara kuantitatif pada spectrum plot sinyal output yang memiliki lebih banyak komponen frekuensi inggi dibandingkan dengan spectrum pot pada sinyal input.
Gambar 2 Sinyal output domain waktu
IMPLEMENTASI EFEK PELEBARAN STEREO
Pada percobaan kedua ini, dilakukan implementasi efek pelebaran stereo pada lagu yang sama dengan percobaan 1 yaitu lagu sleep away – Bob Acri . Code process_data yang digunakan adalah sebagai berikut :
Gambar 3 Spektrum plot sinyal input
#include "Talkthrough.h" process_data (void) { int width, norm, C, S; float left, right; norm = (width + 1) / 2; left = (float)iChannel0LeftIn; right = (float)iChannel0RightIn; C=(left+right)/2; S=(left-right)/2; left = (C + S * width) / norm; right = (C – S * width) / norm; iChannel0LeftOut=(int)left; iChannel0RightOut=(int)right; iChannel1LeftOut = iChannel0LeftIn; iChannel1RightOut = iChannel0RightIn;
Gambar 4 Spektrum plot sinyal output
Apabila diamati dari code yang digunakan, dapat dilihat bahwa nilai variable i tidak di-assign terlebih dahulu sehingga akan berisi nilai yang random. Kemudian nilai j merupakan nilai i + 1 yang selanjutnya di modulo dengan 2 maka untuk nilai j kemungkinan bernilai 0 atau 1. Pada baris selanjutnya didefinisikan bahwa nilai i adalah nilai j sehingga nilai i kemungkinan bernilai 0 atau 1 pula. Pada eksekusi berikutnya, nilai I akan menjadi kebalikan / invers – nya. Sehingga nilainya akan selalu bergantian antara 0 dan 1 Width pada tiap proses.
} Pada percobaan ini dilakukan pengamatan dengan 3 nilai width yang berbeda yaitu -50, 50 dan 100. Untuk dapat lebih mengamati perbedaan yang dihasilkan pada perubahan nilai width tersebut, maka praktikan juga melakukan pengamatan spectrum plot sinyal output yang dihasilkan pada nilai width yang jauh lebih besar yaitu 1000. Berikut hasil yang diperoleh : Sinyal di domain waktu
Spektrum plot
-50 Nilai ini selanjutnya akan digunakan untuk melakukan distorsi pada sinyal sehingga amplitude nya bisa dikalikan 1 atau -1. Proses ini dilakukan berulang untuk setiap sample sinyal yang bergantung pada sampling rate (44100 Hz). Sehingga bentuk sinyal output yang dihasilkan akan terdistorsi menjadi bentuk yang mirip dengan sinyal termodulasi AM. Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
4
dihasilkan. Semakin besarnya nilai width, semakin kecil nilai keluaran namun perbedaan sinyal sisi yang ditambahkan menjadi semakin besar.
KESIMPULAN 50
Kesimpulan yang diperoleh dari praktikum ini antara lain :
Dalam proses implementasi algoritma DSP pada kit Blackfin BF561EZ, terlebih dahulu dilakuka perancangan algoritma dalam bahasa C yang akan digunakan sehingga selanjutnya dapat dikompilasi (dengan menggunakan Visual DSP++) dan diimplementasikan ke modul BF561EZ. Selelah dilakukan implementasi kemudian diamati hasil sinyal output yang hasilkan dengan menggunakan software Audacity.
Algoritma scramble berperan untuk mengubah bentuk sinyal input tidak secara acak, melainkan dengan suatu kunci tertentu sehingga dapat diterima dan dapat diubah kembali menjadi bentuk sinyal aslinya. Hal ini dapat digunakan untuk keamanan pada transmisi sinyal.
Algoritma efek pelebaran stereo yang digunakan berfungsi untuk memanipulasi sinyal keluaran pada kanal-kanal keluaran. Pada praktikum ini hanya digunakan 2 buah kanal. Pada implementasinya di dunia nyata telah digunakan sampai 7 buah kanal sehingga efek suara yang dihasilkan dapat lebih baik. Selain memperbanyak jumlah kanal, agar diperoleh hasil suara yang lebih baik juga dapat dilakukan dengan penambahan delay pada tiap kanal sehingga dihasilkan efek reverbasi pada kanal keluaran. Efek pelebaran stereo ini dilakukan agar suara yang dihasilkan dapat terdengar lebih nyata dan posisi sumber suara dapat diperkirakan.
100
1000
Saat dilakukan pengamatan secara kualitatif (dengan mendengarkan output sinyal dari speaker secara langsung), pada 1 speaker terdengar suara yang lebih keras dibandingkan dengan speaker lain sehingga menimbulkan persepsi sumber suara pada sisi pendengar. Sedangkan pada nilai width yang lebih besar, suara yang terdengar menjadi semakin kecil. Jika diamati dari source code yang digunakan, maka dapat diketahui penyebabnya. Sinyal C adalah sinyal tengah yang merupakan rata-rata dari kedua sinyal sedangkan sinyal S adalah sinyal sisi yang merupakan bagian berbeda dari kedua sinyal. Selanjutnya dilakukan manipulasi pada chanel left dengan menambahkan sinyal C dan sinyal S yang diamplifikasi sebesar width kemudian di normalisasi sehingga tidak melewati batas amlituda sinyal. Untuk chanel right dimanipulasi dengan menambahkan sinyal C dan sinyal S (yang fasa nya berlawanan dengan sinyal S yg ditambahkan pada chanel left), kemudian sinyal ini diamplifikasi dan dinormalisasi. Hasil dari manipulasi ini adalah kanal kiri dan kanan yang berbeda dominansinya. Hal ini meyebabkan efek suara yang dominan pada salah satu speaker.
DAFTAR PUSTAKA [1]. Mervin T Hutabarat, Praktikum Pengolahan Sinyal Digital, Laboratorium Dasar Teknik Elektro ITB,Bandung, 2015. [2]. Proakis, John G. dan Dimitris G. Manolakis. 2007.
Digital Signal Processing Principles, Algorithms, and Applications Fourth Edition. New Jersey, Prentice Hall
Perbedaan amplitude maksimal dipengaruhi oleh besarnya width melalui norm. Jadi besarnya norm sebanding dengan besarnya width, sehingga menjadi factor pembagi pada sinyal yang Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
5