Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1
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. P
ENDAHULUANPada 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 BF561EZb.
Praktikan mampu untukmengimplementasi berbagai macam algoritma pada DSP Blackfin BF561EZ
2. S
TUDIP
USTAKAScrambler
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
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 2 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. M
ETODOLOGIPada 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
Menyusun rangkaian
a. Implementasi Scrambler
b. Implementasi Efek Pelebaran Stereo
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 kode-kode yang ada dengan kode-kode-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.
Dilakukan pengamatan pada sinyal masukan dan keluaran. Diperhatikan efek Scrambling yang telah
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 3 c. Mengakhiri Percobaan
4. H
ASIL DANA
NALISIS
I
MPLEMENTASIS
CRAMBLERPada 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 : #include "Talkthrough.h" #include "math.h" process_data (void) { //Deklarasi variabel int i,j; //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; }
Berikut hasil sinyal input apabila diamati dengan software Audacity :
Dibuka VisualDSP++ dan buka 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 kode-kode yang ada dengan kode-kode-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;
Pada menu bar dipilih Project -> Build Project.
Untuk menjalankan program yang telah di-build, pada menu bar dipilih Debug -> Run.
Dilakukan pengamatan pada sinyal masukan dan keluaran. Diperhatikan efek pelebaran stereo yang
telah diterapkan.
Sebelum keluar dati ruang praktikum, dirapikan meja praktikum dan dimatikan komuter dati jala-jala listrik.
Dimatikan MCB dimeja praktikum sebelum meninggalkan ruangan.
Diperiksa lembar penggunaan meja.
Dipastikan asisten telah menandatangani catatan percobaan kali ini pada Buku Catatan Laboratorium.
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 4 Gambar 1 Sinyal Input domain waktu
Gambar 2 Sinyal output domain waktu
Gambar 3 Spektrum plot sinyal input
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 pada tiap proses.
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.
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.
IM
PLEMENTASIE
FEKP
ELEBARAN STEREOPada 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 :
#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; }
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 :
Width Sinyal di domain waktu Spektrum plot -50
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 5 50
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. Perbedaan amplitude maksimal dipengaruhi oleh besarnya width melalui norm. Jadi besarnya norm sebanding dengan besarnya width, sehingga menjadi factor pembagi pada sinyal yang
dihasilkan. Semakin besarnya nilai width, semakin kecil nilai keluaran namun perbedaan sinyal sisi yang ditambahkan menjadi semakin besar.
K
ESIMPULANKesimpulan 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.