Anda di halaman 1dari 9

MODUL IV DESAIN FILTER DAN IMPLEMENTASI ALGORITMA DSP

Rosana Dewi Amelinda (13213060)


Asisten : Alinda Nur Fitriana (13212032)
Tanggal Percobaan: 26/10/2015
EL3110-Praktikum Pengolahan Sinyal Digital

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB
Abstrak
Abstrak Pada praktikum Modul IV ini dilakukan desain
dan implementasi filter dengan mengguanakan algoritma
Digital Signal Processing. Ketiga percobaan yang dilakukan
antara lain membuat filter low-pass, band-pass, dan high-pass
dengan menggunakan MATLAB. Setelah itu diperoleh
koefisien untuk masing-masing filter (orde 31). Dari koefisien
yang diperoleh tersebut selanjutnya dimasukan kedalam kode
program pada Visual DSP++5.0 yang berikutnya akan
dilakukan compiling dan debugging pada program. Setelah
selesai, maka filter selanjutnya diimplementasikan pada board
Blackfin BF561EZ. 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-filteran dengan menggunakan software Audacity.
Kata kunci: MATLAB, Visual DSP++, Blackfin
BF561EZ, Audacity.
1.

PENDAHULUAN

Pada praktikum modul 4 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 4
ini antara lain :
a. Praktikan mampu menjelaskan bagianbagian penting dari Blackfin BF561EZ
beserta fungsinya
b. Praktikan mampu melakukan troubleshooting BF561EZ
c. Mengimplementasikan pem-filter-an FIR
untuk berbagai macam filter di BF561EZ
d. Melakukan verifikasi filter FIR hasil
implementasi

2.

digunakan untuk penelitian dan pengembangan


aplikasi menggunakan Prosesor ADSP BF561.
BF561EZ ini terdiri dari bermacam-macam
peripheral yang digunakan untuk pengembangan.
BF561EZ mempunyai fitur :
Prosesor ADSP-BF561 Blackfin
64 MB (16 M x 16-bit x 2) SDRAM
8 MB (4 M x 16-bit) FLASH memory
AD1836 multichannel 96 kHz audio codec
3 RCA jack untuk composite (CVBS),
differential component (YUV) atau S video
(Y/C) input
RCA jack untuk input/output audio stereo
10-bit video decoder ADV7183A
NTSC/PAL video encoder ADV7179
Pada Gambar 1 ditampilkan blok diagram dari
Blackfin BF561EZ. ADSP-BF561 merupakan
anggota dari keluarga prosesor Blackfin yang
memang ditargetkan untuk konsumen aplikasiaplikasi multimedia. Di dalam perangkat ini
terdapat dua core prosesor Blackfin yang
independen satu sama lain yang menawarkan
performa tinggi serta konsumsi daya yang rendah
dengan tetap menjaga kemudahan penggunaan
serta
kompatibilitas.
Arsitektur
inti
mengombinasikan mesin pengolah sinyal dualMAC, kemampuan single-instruction multiple-data
(SIMD) yang fleksibel dan fitur-fitur multimedia ke
dalam arsitektur single-instruction-set.
Gambar 1 Blok Diagram Blackfin BF561EZ

STUDI PUSTAKA

Blackfin BF561EZ
Blackfin BF561EZ adalah sebuah development
board produksi dari Analog Devices yang

Produk-produk
Blackfin
memiliki
fitur
Dynamic Power Management, yang merupakan
kemampuan untuk memvariasikan tegangan dan

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

frekuensi operasional, demi optimasi konsumsi


daya disesuaikan dengan tugas yang dijalankan.
Periferal-periferal ADSP-BF561EZ
Sistem ADSP-BF561 memiliki periferal-periferal
sebagai berikut:
Antarmuka Periferal Parallel / Parallel
Peripheral Interfaces (PPIs)
Port Serial / Serial Ports (SPORTs)
Antarmuka Periferal Serial / Serial
Peripheral Interface (SPI)
Timer multi-guna / General-Purpose Timers
Universal
Asynchronous
Receiver
Transmitter (UART)
Watchdog Timers
I/O multi-guna / General Purpose I/O
(Programmable Flags)

Gambar 2 Arsitektur setiap inti BF-561

40

File register komputasi mengandung delapan


register 32-bit. Saat menjalankan operasi-operasi
komputasi pada data operand 16-bit, file register
Periferal-periferal
tersebut
di
atas beroperasi sebagai 16 register 16-bit yang
terhubungkan dengan inti melalui beberapa bus independen. Semua operand untuk operasi-operasi
ber-bandwidth besar, seperti ditampilkan pada komputasi berasal dari file register multi-port dan
Gambar 1.
field-field instruksi yang konstan.
Semua periferal kecuali I/O multi-guna dan
Setiap MAC dapat menjalankan sebuah 16 x 16
Timer, didukung oleh struktur DMA yang fleksibel, bit perkalian setiap siklusnya, dengan akumulasi
termasuk di antaranya adalah dua buah pengatur ke sebuah hasil 40-bit. Format-format signed dan
DMA (DMA1 dan DMA2) dan sebuah pengatur unsigned, pembulatan dan saturasi didukung di
internal memory DMA (IMDMA). Pada masing- dalamnya.
masing dari DMA1 dan DMA2, terdapat dua belas
ALU
menjalankan
set-set
traditional
kanal periferal DMA yang dapat deprogram dan aritmatikadan operasi-operasi logika pada data 16dua aliran memori DMA terpisah, ditujukan untuk bit atau 32-bit. Beberapa instruksi-instruksi khusus
transfer data antar ruang memori DSP, yang tergabung di dalamnya untuk mempercepat
mencakup SDRAM dan memori asynchronous. berbagai tugas pengolahan sinyal. Ini mencakup
Beberapa bus on-chip menyediakan bandwidth operasi-operasi bit seperti field extract dan
yang cukup untuk menjaga agar inti prosesor population count, perkalian modulo 232, pembagian
berjalan meskipun terdapat pula aktivitas pada primitive, saturasi dan pembulatan, dan deteksi
semua periferal-periferal on-chip dan periferal- sign/eksponen. Set dari instruksi-instruksi video
periferal eksternal.
mencakup bytealignment dan operasi packing,
penjumlaahan 16-bit dan 8-bit dengan clipping,
Arsitektur Inti (Core)ADSP-BF561
operasi rata-rata 8-bit, dan operasi-operasi
ADSP-BF561 memiliki dua inti Blackfin identik pengurangan / nilai absolute/ akumulasi 8-bit.
dan setiap inti mengandung dua 16-bit multiplier, Selain itu tersedia pula instruksi-instruksi
dua 40-bit accumulator, dua 40-bit arithmetic logic perbandingan dan pencarian vektor. Untuk
unit (ALU),empat 8-bit video ALU dan sebuah 40- beberapa instruksi, dua operasi 16-bit ALU dapat
bit shifter bersamaan dengan unit-unit fungsional dijalankan bersamaan pada pasangan register (16dari setiap inti, seperti ditampilkan pada Gambar 2. bit paruh tengah atas dan 16-bit paruh tengah
Unit-unit komputasional memproses data 8-, 16-, bawah dari register komputasi). Juga dengan
atau 32-bit dari register.
menggunakan ALU kedua, operasi quad 16-bit
juga dimungkinkan.
Shifter 40-bit dapat menyimpan data dan juga
menjalankan operasi pergeseran, rotasi, normalisasi
dan ekstraksi.
Sebuah pegurut program mengendalikan aliran
dari eksekusi instruksi termasuk instruksi
alignment dan decoding. Untuk pengendalian
aliran program, pengurut mendukung PC-relative
dan conditional jump tidak langsung (dengan
prediksi cabang statis), dan panggilan-panggilan
Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

subrutin. Perangkat keras disediakan untuk


mendukung zero-overhead looping.
Unit alamat aritmatika menyediakan dua
alamat untuk pengambilan secara simultan dari
memori. Unit ini mengandung file register multiport yang terdiri dari empat set 32-bit, yaitu
register Index, register Modify, register Length dan
register Base (untuk circular buffer), dan delapan
register pointer 32-bit tambahan.
Produk-produk Blackfin mendukung arsitektur
Harvard termodifikasi dalam kombinasinya
dengan struktur memori hierarki. Memori level 1
(L1) biasanya beroperasi pada kecepatan prosesor
maksimum tanpa latensi. Pada level L1, memori
instruksi memegang hanya instruksi-instruksi saja
dan memori data memegang data, sedangkan
sebuah memori data scratchpad terdedikasi
menyimpan informasi mengenai stack dan
variabel-variabel lokal.
Selain itu tersedia pula blok-blok memori L1,
yang dapat dikonfigurasi sebagai campuran antara
SRAM dan cache. Memory Management Unit
(MMU) menyediakan proteksi memori untuk
pekerjaan-pekerjaan individual yang mampu
beroperasi pada inti dan dapat melindungi register
sistem dari akses yang tidak diinginkan.
Inti ganda pada ADSP-BF561 saling membagi
sistem memori on-chip L2, yang mampu
menyediakan akses SRAM kecepatan tinggi
dengan hambatan yang cukup besar. Memori L2
merupakan suatu kesatuan memori instruksi dan
data serta dapat menyimpan berbagai campuran
data dan kode yang dibutuhkan oleh desain sistem.
Arsitektur menyediakan tiga mode operasi: User,
Supervisor, dan Emulation. Mode User memiliki
akses terbatas untuk sebuah subset dari sumber
daya sistem sehingga menyediakan lingkungan
perangkat lunak yang terlindungi. Mode
Supervisor dan Emulation memiliki akses yang tak
terbatas pada sumber daya inti.
Set instruks Blackfin telah dioptimasi
sedemikian sehingga op-codes 16-bit mewakilkan
instruksi-instruksi yang paling sering digunakan.
Instruksi-instruksi DSP yang kompleks dikodekan
menjadi op-codes 32-bit sebagai instruksi-instruksi
multifungsi. Produk-produk Blackfin mendukung
kemampuan multi-isu yang terbatas, di mana
insturks 32-bit dapat diisukan secara parallel
bersamaan dengan instruksi-instruksi 16-bit. Ini
memungkinkan seorang programmer untuk
menggunakan banyak sumber daya inti dalam satu
siklus instruksi.
Bahasa assembly ADSP-BF561 menggunakan
sebuah
sintaks
aljabar.
Arsitektur
juga
diptimasikan untuk digunakan dengan sebuah
compiler C.
Dasar teori pemfilteran

Sinyal di dunia nyata ada dalam bentuk analog


dan selalu merupakan sinyal komposit antara
bagian yang diketahui dan yang tidak diketahui.
Misalnya, suara di jalur telepon adalah gabungan
dari suara speaker di ujung dan derau. Pendengar di
ujung harus mem-filter suara dominan agar
pembicaraan dapat berlangsung. Contoh ini
menunjukkan bahwa telepon mem-filter hampir
semua derau kanal dan selanjutnya terserah
pengguna untuk mem-filter dan mengartikan suara.
Karenanya, pem-filter-an adalah teknik pemrosesan
sinyal yang mendasar untuk mengekstrak sinyal
yang diperlukan dari bentuk aslinya.
Semua teknik pem-filter-an analog low-pass,
high-pass, band-pass, dan
band-stop dapat
diimplementasikan di domain dijital bila sinyalnya
di-sampling dengan tepat. Sampel sinyal ini dikirim
melalui struktur filter dijital untuk melakukan pemfilter-an.
Filter dijital diklasifikasi menjadi filter FIR
(Finite Impulse Response) dan IIR (Infinite Impulse
Response). Masing-masing filter ini dapat
melakukan hal yang serupa dengan filter analog.
input analog h(t) output analog
input analog A/D h(n) D/A output
analog
Filter analog mengambil input analog dan
menghasilkan output analog. Filter dijital, dengan
adanya perangkat pencuplikan dan konverter,
melakukan hal yang sama dengan filter analog.
Pada kasus pem-filter-an dijital, fungsi
transfernya akan berupa model filter FIR ataupun
IIR. Sinyal keluarannya dapat ditulis sebagai
persamaan perbedaan agar model filter dapat
diimplementasikan ke hardware dijital.
Filter FIR adalah sistem waktu diskrit yang
respon impulsnya terbatas:
h[n]=(h0, h1, h2, ..., hN-1)
Fungsi transfer H(z) berupa polinom dalam z-1,
yaitu
H(z)=h0+h1z-1+ h2z-2+ h3z-3+ ... + hN-1z(N-1)
Karenanya filter ini memiliki N-1 zero dan tidak
memiliki pole.
Persamaan perbedaan filter FIR tidak rekursif,

Keuntungan filter FIR :


Selalu stabil (karena fungsi transfer tidak
memiliki pole)
Dapat dirancang untuk memiliki fasa linier
Lebih mudah untuk diimplementasikan ke
hardware

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Respon transien memiliki durasi yang terbatas


Tetapi filter ini juga memiliki beberapa kelemahan
yaitu
membutuhkan
banyak
orde
untuk
memperoleh respons filter yang semakin baik
sehingga otomatis delay-nya pun lebih lama.
Penyimpanan koefisien filter dan sinyal
input
Dari percobaan sebelumnya Anda telah
memperoleh koefisien filter untuk melakukan
pemfilter-an. Kita akan menggunakannya sebagai
koefisien filter yang akan diterapkan di BF561.
Nantinya kita akan mencoba program filter dalam
bahasa pemograman C ataupun Assembly, jadi kita
dapat menuliskan koefisien tersebut di program
kita, seperti berikut (contoh)

int koef={a1,a2,a3,a4};
Tetapi biasanya akan lebih mudah bila kita
menyimpan koefisien tersebut di dalam file. Hal ini
memudahkan apabila kita ingin mengganti-ganti
koefisien kita dengan cepat.43
Perhatikan bahwa koefisien harus ditulis dalam
format Q31 dan jangan lupa bahwa prosesor yang
kita gunakan adalah prosesor fixed-point 32 bit
sehingga setiap bilangan direpresentasikan dalam
32 bit dengan kisaran 2-31 sampai 231-1 atau
2147483648 2147483647 untuk 1 sampai 1.
Q31 adalah salah satu contoh format Q, yaitu
penulisan bilangan untuk bilangan fixed-point.
Pada BF561 yang merupakan prosesor fixed-point 32
bit, maka untuk N=32, digunakan format Q31.
Format Q31 ini merepresentasikan fraksional 31 bit.
Pada format ini, MSB adalah sign bit yang
diikuti oleh suatu titik imajiner, dan kemudian 31
bit atau mantisa yang dinormalisasi ke 1. Bilangan
Q31 memiliki kisaran desimal antara 1 sampai
0.9999 (0x8000h sampai 0x7FFFh). Bilangan
fraksional h dapat direpresentasikan sebagai

dimana h adalah bilangan fraksional dan b adalah


biner 1 atau 0.
1. Buat skrip dalam Matlab yang mengubah ketiga
koefisien filter dan koefesien sinyal input menjadi
format Q31 sebelum menyimpannya ke file dalam
bentuk di atas! Misal (contoh untuk koefisien filter
fir 31 titik):
koef=fir1(30,800/48000);
koef=round(2^31*koef);
fid=fopen('koef.dat','w+');
count=fprintf(fid,'%d, ',koef);
fclose(fid)
2. Jalankan skrip yang Anda buat.

3. Skrip pada contoh di atas akan menghasilkan file


koef.dat pada folder tempat file skrip berada. File
koef.dat ini berisi koefesien-koefesien dalam format
Q31.
4. Setelah Anda menjalankan keempat skrip
tersebut, maka Anda akan memperoleh empat
buah file *.dat yang berisi koefesien-koefesien
dalam format Q31. Sekarang Anda siap untuk
melakukan pem-filter-an FIR.
White noise
White noise adalah sinyal acak (random)
dengan spektrum daya flat. Artinya sinyal white
noise memiliki daya yang sama pada bandwidth
yang tetap pada setiap frekuensi tengah. White
noise merupakan nama yang diturunkan dari
cahaya putih yang spektrum daya dari cahayanya
terdistribusi pada rentang band cahaya tampak.
Bandwidth dari white noise terbatas pada
prakteknya oleh mekanisme pembangkitan noise,
media transmisi. Sinyal random dapat dikatakan
white noise jika memiliki spektrum yang flat pada
bandwidth terlebar yang mungkin dapat
dilewatkan pada sebuah medium.
Audacity
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
Menyusun rangkaian

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

a.

Percobaan implementasi filter fir : low-pass


filter

Dengan cara yang sudah dibahas pada modul dua


dan metode pengambilan koefisien yang telah
dibahas pada subbab 4 di atas FIR dibuat filter tipe
band-pass orde 31 dengan frekuensi pass 1000-3000
Hz dengan MATLAB.

Dengan cara yang sudah dibahas pada modul dua


dan metode pengambilan koefisien yang telah
dibahas pada subbab 4 di atas FIR dibuat filter tipe
low-pass orde 31 dengan frekuensi cut-off 800 Hz
dengan MATLAB.

Ditampilkan VisualDSP++ dan siapkan program yang


digunakan pada modul tiga.

Ditampilkan VisualDSP++ dan siapkan program yang


digunakan pada modul tiga.

Dibuka Process_data.c pada bagian


CoreA SourceFiles (dengan jalan diklik tanda (+) pada
tulisan CoreA dan Source Files) dari Project window

Dibuka Process_data.c pada bagian


CoreA SourceFiles (dengan jalan diklik tanda (+) pada
tulisan CoreA dan Source Files) dari Project window

Perhatikan bagian: //Filter Coefficients (from


MATLAB): int filter[BUFFERLENGTH]={};
////////////////////////////////////////////////////

Perhatikan bagian: //Filter Coefficients (from


MATLAB): int filter[BUFFERLENGTH]={};
////////////////////////////////////////////////////

Diganti koefisien-koefisien tersebut dengan koefisien


low-pass filter yang telah didapatkan dalam MATLAB.

Diganti koefisien-koefisien tersebut dengan koefisien


low-pass filter yang telah didapatkan dalam MATLAB.

Pada menu bar diklik Project Build Project. Atau


dapat pula dilakukan dengan cara menekan tombol
F7 pada keyboard.

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 diklik Debug -> Run. Atau dapat pula
dilakukan dengan cara menekan tombol F5 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. Perhatikan efek pemfilteran (low-pass
filtering) yang telah diterapkan.

Dilakukan pengamatan pada sinyal masukan dan


keluaran. Perhatikan efek pemfilteran (low-pass
filtering) yang telah diterapkan.

Diuji filter yang telah dibuat dengan menggunakan


White noise sebagai input. White noise mempunyai
daya sama pada semua komponen frekuensi. White
noise ini bisa dihasilkan dengan program Audacity.

Diuji filter yang telah dibuat dengan menggunakan


White noise sebagai input. White noise mempunyai
daya sama pada semua komponen frekuensi. White
noise ini bisa dihasilkan dengan program Audacity.
Direkam keluaran filter dengan program Audacity.
Diperiksa spektrum sinyal hasil rekaman. Hasil ini
digunakan sebagai konfirmasi apakah filter Low Pass
telah berfungsi sesuai dengan yang diinginkan..
b.

c.

Direkam keluaran filter dengan program Audacity.


Diperiksa spektrum sinyal hasil rekaman. Hasil ini
digunakan sebagai konfirmasi apakah filter Low Pass
telah berfungsi sesuai dengan yang diinginkan..

Percobaan implementasi filter fir : Bandpass filter

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

d. Percobaan implementasi filter FIR : high-pass filter


Dengan cara yang sudah dibahas pada modul dua
dan metode pengambilan koefisien yang telah
dibahas pada subbab 4 di atas FIR dibuat filter tipe
high-pass orde 31 dengan frekuensi cut-off 6000 Hz
dengan MATLAB.

Sebelum keluar dati ruang praktikum, dirapikan meja


praktikum dan dimatikan komuter dati jala-jala listrik.

Dimatikan MCB dimeja praktikum sebelum


meninggalkan ruangan.

Ditampilkan VisualDSP++ dan siapkan program yang


digunakan pada modul tiga.
Diperiksa lembar penggunaan meja.

Dibuka Process_data.c pada bagian


CoreA SourceFiles (dengan jalan diklik tanda (+) pada
tulisan CoreA dan Source Files) dari Project window

Dipastikan asisten telah menandatangani catatan


percobaan kali ini pada Buku Catatan Laboratorium.

Perhatikan bagian: //Filter Coefficients (from


MATLAB): int filter[BUFFERLENGTH]={};
////////////////////////////////////////////////////
Diganti koefisien-koefisien tersebut dengan koefisien
low-pass filter yang telah didapatkan dalam MATLAB.

4.

HASIL DAN ANALISIS

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 diklik Debug -> Run. Atau dapat pula
dilakukan dengan cara menekan tombol F5 pada
keyboard.
Dilakukan pengamatan pada sinyal masukan dan
keluaran. Perhatikan efek pemfilteran (low-pass
filtering) yang telah diterapkan.

PERCOBAAN IMPLEMENTASI FILTER FIR :


LOW-PASS FILTER

Sebelum dilakukan implementasi pada board


blackfin BF561EZ dilakukan pengambilan koefisien
filter
low-pass
terlebih
dahulu
dengan
menggunakan MATLAB seperti yang telah
dilakukan pada praktikum sebelumnya. Filter lowpass yang dibuat yaitu low-pass orde 31 dengan
frekuensi cut-off 800 Hz dan frekuensi sampling
44100 Hz. Berikut perintah yang dilakukan untuk
membuat filter tersebut :

Diuji filter yang telah dibuat dengan menggunakan


White noise sebagai input. White noise mempunyai
daya sama pada semua komponen frekuensi. White
noise ini bisa dihasilkan dengan program Audacity.

Direkam keluaran filter dengan program Audacity.


Diperiksa spektrum sinyal hasil rekaman. Hasil ini
digunakan sebagai konfirmasi apakah filter Low Pass
telah berfungsi sesuai dengan yang diinginkan..
e.

Mengakhiri Percobaan

Perintah diatas melakukan pengubahan pada


koefisien filter menjadi bilangan fraksional terlebih
dahulu. Hal ini dikarenakan processor Blackfin
merupakan processor fixed point 32 bit sehingga
hanya dapat mengoperasikan bilangan integer Q31.
Setelah perintah tersebut dieksekusi, maka
dihasilkan koefisien low-pass filter sebagai berikut :
Koefisien filter lowpass :

Koef 1-8
9501591
10873024
14682993
20868126
29240675
39495376

Koef 9-16
77056814
90019279
102223560
113104270
122152083
128940232

Koef 17-24
133146808
128940232
122152083
113104270
102223560
90019279

Koef 24-31
51222774
39495376
29240675
20868126
14682993
10873024

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

51222774 133146808 77056814


9501591
63928399 134571638 63928399
Setelah diperoleh koefisien filter, selanjutnya
dilakukan impementasi filter pada board Blackfin
BF561EZ dengan perantara software Visual
DSP++5.0. Hasil implementasi dari lowpass filter
yang telah dibuat yaitu sebagai berikut :
Gambar 3 Sinyal hasil pem-filter-an low pass (domain
waktu)

off dari grafik dilakukan dengan mencari frekuensi


dimana daya sinyal sebesar -3 dB menurun
setengah dayanya (-3 dB + (-3 dB)) hingga menjadi
-6 dB. Seperti terlihat pada gambar, daya -6 dB
terjadi pada frekuensi seitar 1000 Hz. Nilai ini
hanya berbeda sedikit dari nilai frekuensi cut-off
yang dimasukan pada program untuk mencari
koefisien filter yaitu 800 Hz. Hal ini membuktikan
bahwa percobaan yang dilakukan sudah cukup
akurat.

PERCOBAAN IMPLEMENTASI FILTER FIR :


BAND-PASS FILTER

Sebelum dilakukan implementasi pada board


blackfin BF561EZ dilakukan pengambilan koefisien
filter
band-pass
terlebih
dahulu
dengan
menggunakan MATLAB seperti yang telah
dilakukan pada praktikum sebelumnya. Filter
band-pass yang dibuat yaitu band-pass orde 31
dengan frekuensi pass 8000 - 10000 Hz dan
frekuensi sampling 44100 Hz. Berikut perintah
yang dilakukan untuk membuat filter tersebut :

Gambar 4 Analisis frekuensi low-pass filter

Pada gambar 4 diatas, terlihat hasil pem-filter-an


sinyal input menghasilkan sinyal output yang
memblok amplituda diatas frekuensi sebesar
sekitar 3000 Hz dan hanya meloloskan frekuensi
dibawahnya. Hal ini menujukan bahwa filter
lowpas telah berhasil diimplemetasikan.
Filterisasi dilakukan dengan memasukan sebuah
sinyal
yang
mempunyai
spektrum
flat
seperti white noise (sinyal input yang digunakan
pada praktikum kali in). Karena sinyal ini bersifat
flat, maka respon frekuensi dari sinyal output yang
dihasilkan akan mengikuti plot respon magnitude
dari filter (low pass).
Frekuensi cut-off bukanlah frekeunsi saat sinyal
telah teredam (dimana pada percobaan ini sinyal
teredam pada frekuensi diatas 3000 Hz), melainkan
frekuensi ketika energi sinyal mulai menurun saat
keluar dari suatu filter. Pada frekuensi cut-off,
sinyal kehilangan dayanya (gain berkurang -3
dB). Setelah melewarti frekuensi cut-off sinyal akan
terus diperlemah (gain semakin negatif) sehingga
mencapai gain saat sinyal teredam (yaitu pada
frekuensi 300an Hz tersebut).

Perintah diatas melakukan pengubahan pada


koefisien filter menjadi bilangan fraksional terlebih
dahulu. Hal ini dikarenakan processor Blackfin
merupakan processor fixed point 32 bit sehingga
hanya dapat mengoperasikan bilangan integer Q31.
Setelah perintah tersebut dieksekusi, maka
dihasilkan koefisien low-pass filter sebagai berikut :
Koefisien filter bandpass :

Koef 1-8
3207633
-7569188
-15808001
-2861428
33885068
47562098
-13305372
-102159300

Koef 9-16
-86085576
70900435
194681636
90305262
-164223673
-257125626
-39155809
244294203

Koef 17-24
-39155809
-257125626
-164223673
90305262
194681636
70900435
-86085576
-102159300

Koef 24-31
-13305372
47562098
33885068
-2861428
15808001
-7569188
3207633

Pada tampilan analisis frekuensi sinyal (gambar 4),


terlihat bahwa sinyal mulai melemah (kurba turun)
saat amplitudo berada pada daya sekitar -3 dB
(puncak paling kiri). Untuk mencari frekuensi cutLaporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Setelah diperoleh koefisien filter, selanjutnya


dilakukan impementasi filter pada board Blackfin
BF561EZ dengan perantara software Visual
DSP++5.0. Hasil implementasi dari lowpass filter
yang telah dibuat yaitu sebagai berikut :

dengan frekuensi cut-off 6000 Hz. Berikut perintah


yang dilakukan untuk membuat filter tersebut :

Gambar 5 Sinyal hasil pem-filteran band pass (domain


waktu)

Perintah diatas melakukan pengubahan pada


koefisien filter menjadi bilangan fraksional terlebih
dahulu. Hal ini dikarenakan processor Blackfin
merupakan processor fixed point 32 bit sehingga
hanya dapat mengoperasikan bilangan integer Q31.

Gambar 6 Analisi frekuensi band-pass filter

Setelah perintah tersebut dieksekusi, maka


dihasilkan koefisien low-pass filter sebagai berikut :
Koefisien filter highpass :

Sama seperti percobaan sebelumnya, filterisasi


dilakukan dengan cara memasukan sinyal input
yang memiliki spektrum flat (yaitu white noise).
Karena sinyal yang dijadikan input bersifat flat,
maka respon frekuensi yang dihasilkan akan
mengikuti plot respon magnituda dari filter.
Dengan metoda yang sama pada percobaan
sebelumnya, frekuensi pass dicari dengan melihat
frekuensi dimana daya berkurang sebesar -3 dB.
Amplutuda daya sinyal terbesar ada pada nilai
sekitar 6 dB. Untuk frekuensi pass pertama
(frekuensi rendah), daya berkurang menjadi -9 dB
pada frekuensi sekitar 7900 Hz (sesuai dengan
input awal pada MATLAB yaitu 8000 Hz).
Sedangkan untuk frekuensi pass kedua (frekuensi
tinggi), daya berkurang menjdai -9 dB pada
frekuensi 9800 Hz (berbeda sedikut dengan
frekuensi pass yang diinputkan yaitu 10 kHz). Hal
tersebut membuktikan bahwa percobaan yang
dilakukan telah benar.

PERCOBAAN IMPLEMENTASI FILTER FIR :


HIGH-PASS FILTER

Sebelum dilakukan implementasi pada board


blackfin BF561EZ dilakukan pengambilan koefisien
filter
low-pass
terlebih
dahulu
dengan
menggunakan MATLAB seperti yang telah
dilakukan pada praktikum sebelumnya. Filter
high-pass yang dibuat yaitu band-pass orde 31

Koef 1-8
-923724
2474125
6247337
7070356
-308013
-16263337
-29797308
-22147534

Koef 9-16
16908410
70985578
95221626
39692504
-113257554
-324670252
-509986110
1561410095

Koef 17-24
-509986110
-324670252
-113257554
39692504
95221626
70985578
16908410
-22147534

Koef 24-31
-29797308
-16263337
-308013
7070356
6247337
2474125
-923724

Gambar 7 Sinyal hasil pem-filter-an high pass (domain


waktu)

Gambar 8 Analisis frekuensi high-pass filter

Bedasarkan gambar 8 diatas, terlihat bahwa


filterisasi high pass sinyal input white noise
menghasilkan sinyal output yang memblok
amplituda dibawah frekuensi sekitar 5000 Hz serta
hanya meloloskan frekuensi diatasnya. Hal ini
menunjukan bahwa filter high pass yang dibuat
telah benar.
Seperti pada percobaan sebelumnya, filterisasi
dilakukan pada sinyal white noise dikarenakan

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

sinyal input ini memiliki spektrum yang flat


sehingga respon frekuensi yang dihasilkan akan
sama dengan respon magnituda dari filter yang
digunakan.
Untuk mencari frekuensi cut-off dari grafik
dilakukan pengamatan ketika sinyal berkurang
sebesar -3 dB. Amplituda daya terbesar pada plot
frekuensi diatas yaitu -12 dB. Frekuensi saat daya
sinyal sebesar -15 dB yaitu berada pada titik
frekuensi 7000 Hz, hanya berbeda sedikit dait nilai
frekuensi cut-off yang diinputkan pada MATLAB
(yaitu 6000 Hz). Hal ini membuktikan bahwa
filterisasi yang dilakukan memiliki tingkat akurasi
yang cukup besar.
Tugas Laporan
1.

Jelaskan penggunaan format bilangan Q32


pada processor fixed point DSP Blackfin
BF561EZ

ADSP-BR561 memiliki dua inti blackfin


identuk dan setiap inti mengandung
sebuah 40-bit shifter, dua buah 16-bit
multiplier, dua buah 40-bit accumulator,
dua buah 40-bit Aritmatic Logic Unit
(ALU), dan empat buah 8-bit video ALU
beserta unit-unit fungsional dari setiap inti.
Bilangan Q32 yang dimasukan dalam
source code program dioperasikan secara
population count, perkalian modulo 232,
pembagian
primitiv,
saturasi
dan
pembulatan, serta deteksi sign/eksponen,
menggunakan ALU yang ada pada
processor DSP Blackfin.

2.

Penjelasan keuntungan menggunakan


circular buffer untuk implementas filter
FIR
Algoritma circular buffer digunakan
karena proses konvolusi dilakukan tanpa
menggunakan time shifting, melainkan
hanya
dilakukan
pengaturan
indeks/kursor array yang dgunakan,
sehingga kompleksitas program menjadi
kecil dan processor melakukan komputasi
yang lebih cepat.

3.

Penjelasan hasil pemfilteran low-pass,


band-pass,
dan
high-pass
dengan
menggunakan DSP

Filter low-pass hanya meloloskan sinyal


input yang nilai frekuensinya berada
dibawah frekuensi cut-off

Filter band-pass hanya meloloskan sinyal


input yang memiliki frekuensi diatara
kedua nilai frekuensi pass nya.

Filter high-pass hanya meloloskan sinyal


input yang nilai frekuensinya berada diatas
frekuensi cut-off

KESIMPULAN
Kesimpulan yang diperoleh dari praktikum ini
antara lain :

Blackfin BF56EZ merupakan hardware


yang dapat digunakan dalam Digital Signal
Processing yaitu dengan memroses sinyal
input digital kemudian menghasilkan
keluaran sinyal output sesuai dengan yang
diinginkan

ADSP-BF561 memiliki dua inti Blackfin


identik yang setiap intinya mengandung
sebuah 40-bit shifter, dua buah 16-bit
multiplier, dua buah 40-bit accumulator,
dua buah 40-bit Aritmatic Logic Unit
(ALU), dan empat buah 8-bit video ALU
beserta unit-unit fungsional dari setiap inti.

Implementasi
filter
digital
dapat
menggunakan board Blackfin (untuk
berbagai macam filter, seperti low-pass,
band-pass, dan high-pass).

Filter low-pass hanya meloloskan sinyal


input yang nilai frekuensinya berada
dibawah frekuensi cut-off. Filter band-pass
hanya meloloskan sinyal input yang
memiliki frekuensi diatara kedua nilai
frekuensi pass nya. Filter high-pass hanya
meloloskan sinyal input yang nilai
frekuensinya berada diatas frekuensi cutoff

Kesalahan yang mungkin terjadi pada saat


pengimplementasian filter pada BF561EZ
antara lain kesalahan pengesetan hardware
(kabel, port, board, jack, dsb) atau
kesalahan yang berasal dari software
(algoritma mencari koefisien filter sinyal,
kesalahan frekuensi sampling, dsb).

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

[3]. https://id.wikipedia.org/wiki/Audacity, 4:46, 7


Oktober 2015

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Anda mungkin juga menyukai