Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1
MODUL III PENGGUNAAN VISUAL DSP++ 5.0
Rosana Dewi Amelinda (13213060) Asisten : Gunawan Pratama H (13212115)
Tanggal Percobaan: 5/10/2015 EL3110-Praktikum Pengolahan Sinyal Digital
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB
Abstrak
Abstrak Pada praktikum Modul III ini dilakukan
pengolahan sinyal digital dengan mengunakan Visual
DSP++ 5.0 yang selanjutnya akan diproses dengan
menggunakan board Blackfin BF561EZ. Selain itu, sebagai
tools pendukung praktikum digunakan pula sebuah speaker,
serta software Audacity (untuk analisa sinyal pada domain
waktu dan frekuensi). Terdapat 3 buah percobaan yang
dilakukan, diantaranya meneruskan sinyal masukan dari
input menjadi sinyal output, meneruskan sinyal output hasil
amplifikasi sinyal input, serta melakukan konvolusi sinyal
input dengan menggunakan koefisien filter yang telah
ditentukan.
Kata kunci: Visual DSP++, Blackfin BF561EZ,
Audacity.
1. PENDAHULUAN
Pada praktikum ini mengarahkan praktikan dalam 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 3 ini antara lain :
a. Praktikan mengerti dan mampu menjelaskan fungsi-fungsi tool-tool yang terdapat pada Visual DSP++
b.
Praktikan mampu melakukan debugging dengan Visual DSP++.2. S
TUDIP
USTAKAVisual DSP++
Untuk pemrograman Blackfin digunakan
software VDSP++ (VisualDSP++) versi 5.0.
Perangkat lunak ini digunakan untuk
mengembangkan proyek berisi source code
yang nantinya akan dimasukkan ke dalam
prosesor Blackfin dalam bentuk object code.
VDSP++ ini mampu untuk men-debug,
monitoring memori pada prosesor DSP serta
mampu melakukan analisis secara real time.
Terdapat
fase
dalam
penggunaan
VisualDSP++ yang ditunjukkan oleh blok
diagram pada gambar berikut :
Beberapa tool penting pada VisualDSP++ :
1. View
a. View nilai variabel pada kode:
Pada VisualDSP++ ini terdapat tool yang dapat
memperlihatkan nilai-nilai variabel pada kode.
Prosedurnya adalah sebagai berikut:
Pada Menu bar klik : View -> Debug
Windows -> Expressions
Lalu muncul tampilan sebagai berikut :
Klik pada bagian yang kosong pada
kolom Name lalu masukan nama variabel
yang hendak dicari namanya. Setelah itu,
tipe, ukuran dan nilai dari variabel
tersebut akan muncul pada kolom
lainnya. Sebagai catatan, nilai tidak
dapat dilihat apabila program sedang
dalam mode Run.
b. View grafik waktu dan frekuensi:
Pada VisualDSP++ ini terdapat tool yang dapat memperlihatkan grafik waktu dan frekuensi dari sinyal-sinyal. Prosedur:
 Pada Menu bar klik : View -> Debug Windows -> Plot -> New
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 2  Pilih Type yagn hendak ditampilkan
 Berikan judul dan nama yang sesuai untuk grafik yang hendak ditampilkan.
 Pilih variabel yang hendak ditinjau nilainya dengan menekan tombol Browse  Masukan nilai Count lebih dari 0 dan pilih
tipe Data: yang bersesuaian
Tekan tombol Add pada sebelah kiri, lalu tekan tombol OKAudacity
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 Visual DSP++ 5.0 3. 1 set board blackfin BF561EZ Memulai percobaan
Menyusun rangkaian
a. Percobaan meneruskan sinyal masukan dari input sbagai keluaran pada port output
b. Percobaan meneruskan sinyal keluaran sebagai hasil amplifikasi sinyal masukan Sebelum memulai percobaan, isi dan tanda
tangani lembar penggunaan meja yang tertempel pada masing-masing meja praktikum
Dihubungkan kabel plug dari sinyal masukan pada jack dari board BF551EZ pada kanal 0. Selanjutnya dihubungkan ujung lain dari kabel tersebut pada
speaker.
Dibuka proyek yang bernama Talkthrough dari kumpulan contoh program. Dibuka poyek tersebut.
Untuk melihat source code dari proyek ini, dibuka Process_data.c pada agian CoreA->SourcesFiles dari
project window.
Pada VisualDSP, proses Compile, Build dan Load dapat dilakukan bersamaan. Pada menu bar klik Project Build Project. Atau dapat pula dilakukan dengan cara menekan tombol F7 pada keyboard.
Untuk menjalankan program yang telah di-build, pada menu bar diklik Debug Run. Atau dapat pula
dilakukan dengan cara menekan tombol F5 pada keyboard.
Dilakukan pengamatan pada sinyal masukan dan keluaran. Akan terdengar bahwa sinyal keluaran sama seperti sinyal masukan / sinyal keluaran merupakan sinyal masukan yang diteruskan saja.
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 3 c. Percobaan FIR dengan Circular Buffer Sederhana
d. Mengakhiri Percobaan Tetap dihubungkan kabel plug dari sinyal masukan
pada jack dari board BF561EZ pada kanal 0 serta kabel plug(male) dari sinyal keluaran pada jack dari board BF561EZ juga pada kanal 0. Dihubungkan pula
ujung lain dari kabel tersebut pada speaker.
DibBuka proyek yang bernama Talkthrough dari kumpulan contoh program. Buka proyek
Dibuka Process_data.c pada bagian CoreA SourceFiles
Amati terdapat code tertulis sebagai berikut: iChannel0LeftOut = iChannel0LeftIn: iChannel0RightOut = iChannel0RightIn;
iChannel1LeftOut = iChannel1LeftIn; iChannel1RightOut = iChannel1RightIn;
Diubah baris pertama dan kedua menjadi seperti berikut : iChannel0LeftOut = 2*iChannel0LeftIn;
iChannel0RightOut = 0.25*iChannel0RightIn;
Pada menu bar diklik Project Build Project. Atau dapat pula dilakukan dengan cara menekan tombol
F7 pada keyboard.
Untuk menjalankan program yang telah di-build, pada menu bar klik Debug Run. Atau dapat pula
dilakukan dengan cara menekan tombol F5 pada keyboard.
Dilakukan pengamatan pada sinyal masukan dan keluaran. Dimati perubahan yang terjadi antara sinyal masukan dan keluaran baik pada kanal 0 kanan
dan kiri.
Tetap dihubungkan kabel plug dari sinyal masukan pada jack dari board BF561EZ pada kanal 0 serta kabel plug dari sinyal keluaran pada jack dari board BF561EZ juga pada kanal 0. Dihubungkan pula ujung
lain dari kabel tersebut pada speaker.
Buka proyek yang bernama Talkthrough dari kumpulan contoh program.
Buka Process_data.c pada bagian CoreA SourceFiles (dengan jalan klik tanda (+) pada tulisan CoreA dan
Source Files) dari Project window.
Ketik kode inisialisasi seperti pada modul.
Lalu pada bagian void Process_Data(void), masukan kode-kode yang ada pada modul.
Pada menu bar di klik Project -> Build Project. Untuk menjalanan program yang telah di-build, pada menu
bar di klik Debug -> run.
Dilakukan pengamatan pada sinyal masukan dan keluaran.
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
4. H
ASIL DANA
NALISIS
P
ERCOBAAN MENERUSKAN SINYAL MASUKAN DARI INPUT SEBAGAI KELUARAN PADA PORT OUTPUTPada percobaan 1 ini dilakukan percobaan untuk mengamati perbedaan antara sinyal input dan sinyal output setelah dilakukan filter dengan menggunakan blackfin BF561EZ. Berikut sinyal input dan output yang dihasilkan :
Gambar 1 Sinyal input domain waktu
Gambar 2 Spektrum sinyal input domain frekuensi
Gambar 3 Sinyal output domain waktu
Gambar 4 Spektrum sinyal output domain frekuensi
Hasil diatas merupakan sampling sinyal input (selama
20 detik) yang berasal fari lagu “Sleep Away” yang
ada pada PC di laboratorium. Lalu untuk pengamatan
yang lebih akurat, maka praktikan melakukan pula
percobaan untuk sinyal white noise. Hasilnya sebagai
berikut :
Gambar 5 Sinyal input domain waktu (“white noise”)
Gambar 6 Spektrum sinyal input domain frekeuensi (“white noise”)
Gambar 7 Sinyal output domain waktu (“white noise”)
Gambar 8 Spektrum sinyal output domain frekuensi (“white noise”)
Dari bentuk sinyal diatas, terlihat bahwa sinyal input
terlihat hampir identic sama dengan sinyal inputnya
baik dilihat di domain waktu maupun frekuensi.
Hanya terdapat sedikit perbedaan pada beberapa
bagian sinyal. Hal ini kemungkinan disebabkan
adanya atenuasi dar kabel audio yang digunakan serta
adanya losses selama sampling dan processing sinyal.
Hasil tersebut telah sesuai dengan yang diharapkan,
karena hanya dimasukan kode yang langsung
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 5
meneruskan input menjadi output pada bagian
process data. Penambahan kode sebagai berikut :
iChannel0LeftOut = iChannel0LeftIn; iChannel0RightOut = iChannel0RightIn; iChannel1LeftOut = iChannel1LeftIn; iChannel1RightOut = iChannel1RightIn;Karena hanya digunakan chanel 0 pada input dan
output, maka program akan meneruskan sinyal input
langsung menjadi sinyal output tanpa adanya
perubahan apapun. Hal ini telah sesuai dengan hasil
percobaan yang diperoleh baik pengamatan dengan
Audacity maupun dengan indra pendengaran secara
langsung.
PERCOBAAN MENERUSKAN SINYAL
KELUARAN SEBAGAI HASIL AMPLIFIKASI SINYAL MASUKAN.Pada percobaan II ini dilakukan amplifikasi pada sinyal input untuk memperoleh sinyal output yang baru. Barikut hasil amplifikasi yang diperoleh : Gambar 9 Sinyal output hasil amplifikasi pada domain waktu
Gambar 10 Spektrum sinyal output hasil amplifikasi pada domain waktu
Gambar 11 Sinyal output hasil amplifikasi pada domain waktu (“white noise”)
Gambar 12 Spektrum sinyal output hasil amplifikasi pada domain frekuensi (“white noise”)
Pada percobaan 2 ini, dilakukan sampling pada lagu “Sleep away” dan “white noise” sebagai sinyal input. Sampling dilakukan masing-masing selama 20 detik sama seperti percobaan sebelumnya (percobaan 1)
Berdasarkan data yang diperoleh diatas, dapat terlihat adanya perbedaan sinyal output yang dihasilkan dengan sinyal input (pada percobaaan 1). Hal ini dikarenakan telah dilakukan modifikasi pada kode program yang dibuat. Modifikasi program yaitu pada bagian :
iChannel0LeftOut = 2*iChannel0LeftIn; iChannel0RightOut = 0.25iChannel0RightIn; Dengan adanya modifikasi menjadi kode seperti diatas, maka akan terjadi perubahan sinyal output dimana untuk sinyal output pada speaker kanan (sinyal output atas) amplitude akan menjadi ¼ kali dari sinyal inputnya sedangkan amplitude sinyal output pada speaker kiri (sinyal bawah) akan menjadi 2 kali sinyal input.
P
ERCOBAANFIR
DENGAN BUFFER SEDERHANAPada percobaan III ini dilakukan percobaan Finite Impuls Respons (FIR) dengan menggunakan buffer sederhana. Percobaan dilakukan dengan menggunaan siyal input yang berasal dari lagu “Sleep Away” dan “White Noise”. Sampling dilakukan selama 20 detik untuk masing-masing sinyal input. Kode program yang digunakan pada percobaan ini adalah sebagai berikut :
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 6 #include "Talkthrough.h"
#define BUFFERLENGTH 32
int bufferLeft[BUFFERLENGTH], bufferRight[BUFFERLENGTH]={0,0,0};
int tempLeft, tempRight = 0; int i,j=0; //Filter Coefficients (from MATLAB):
int filter[BUFFERLENGTH]={ -4.0920e+006, -4.8192e+006, -6.0388e+006,
-7.0440e+006, -6.5343e+006, -2.8071e+006, 5.9122e+006, 2.1061e+007, 4.3334e+007, 7.2381e+007, 1.0666e+008, 1.4354e+008, 1.7958e+008, 2.1099e+008, 2.3425e+008, 2.4663e+008, 2.4663e+008, 2.3425e+008, 2.1099e+008, 1.7958e+008, 1.4354e+008, 1.0666e+008, 7.2381e+007, 4.3334e+007, 2.1061e+007, 5.9122e+006, -2.8071e+006, -6.5343e+006, -7.0440e+006, -6.0388e+006, -4.8192e+006, -4.0920e+006};
void Process_Data(void) {
//channel0 //Left
//Buffering input
bufferLeft[i] = iChannel0LeftIn; //convolution with circular buffer tempLeft=0; for (j = 0; j < BUFFERLENGTH; j++) { tempLeft += (filter[j] >> 16) * (bufferLeft[(i + j) % BUFFERLENGTH] >> 15); } //Output iChannel0LeftOut = tempLeft; //Right //Buffering input bufferRight[i]= iChannel0RightIn; //convolution with circular buffer tempRight=0; for (j = 0; j < BUFFERLENGTH; j++) { tempRight += (filter[j] >> 16) * (bufferRight[(i + j) % BUFFERLENGTH] >> 15); } //Output iChannel0RightOut=tempRight; //decreasing i (circular) i=(i+BUFFERLENGTH-1)%BUFFERLENGTH; //channel1 //Left iChannel1LeftOut = iChannel1LeftIn; //right iChannel1RightOut = iChannel1RightIn; }
Dari kode diatas, menghasilkan bentuk sinyal output sebagai berikut :
Gambar 13 Sinyal output pada domain waktu
Gambar 14 Spektrum sinyal output pada domain frekuensi
Gambar 15 Sinyal output pada domain waktu
Gambar 16 Spektrum sinyal output pada domain frekuensi
Berdasarkan data diata, terlihat bahwa sinyal output yang dihasilkan berbeda jauh dengan sinyal input (percobaan 1). Hal ini mengindikasikan bahwa telah terjadi pengolahan dengan filter FIR pada sinyal input. Dari gambar spectrum sinyal dapat dilihat bahwa filter FIR yang digunakan merupakan lowpass filter karena bentuk grafik terlihan menurun. Hal ini lebih terihat jelas saat pengamatan pada lagu “white noise” yang menunjukan bahwa spectrum mulai menurun pada frekuensi 5000 Hz kemufdian semakin kecil hingga terhenti pada frekuensi 20 kHz.
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 7 Bila diamati, plot siyal pada domain waktu juga
mengalami perubahan yang disebabkan karena amplitude sinyal pada waktu tertentu merupakan superposisi dari amplitude sinyal-sinyal dengan frekuensi yang berbeda. Apabila terdapat beberapa frekuensi yang sinyalnya teratenuasi secara otomatis, hasil superposisinya akan berubah sehingga akan merubah amplitude sinyal.
5. KESIMPULAN
Berdasarkan percobaan yang dilakukan pada praktikum modul III Penggunaan Visual DSP++ 5.0 ini, maka diperoleh kesimpulan sebagai berikut :
Visual DSP++ merupakan suatu program yang digunakan untuk melakukan perancangan, editing kode, build, debugging, dan melakukan analisis dari sebuah pengolahan sinyal. Visual DSP++ juga telah terintegerasi dengan board blackfin561EZ yang berperan sebagai hardware DSP.
Processor Blackfin dapat langsung meneruskan sinyal input menjadi snyal output, melakukan amplifikasi sinyal input, serta melakukan konvolusi dengan koefisien filter yang telah ditentukan. Sinyal output hasil pengolahan sinyal dapat diamati dengan beberapa cara, diantaranya dapat dengan menggunakan tools pada Visual DSP++ (yaitu view variable dan plot), dengan software external seperti Audacity, atau juga dapat diamati secara langsung dengan indra pendengaran (namun penilaian ini cenderung kualitatif).