Anda di halaman 1dari 6

MODUL VI DESAIN DAN IMPLEMENTASI FILTER IIR PADA BLACKFIN DSP

Rosana Dewi Amelinda (13213060)


Asisten : Novita Hartono (13212099)
Tanggal Percobaan: 25/11/2015
EL3110-Praktikum Pengolahan Sinyal Digital

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB
Abstrak
Abstrak Pada praktikum Modul VI ini dilakukan desain
dan implementasi filter IIR pada blackfin DSP. Filter yang
didesain memiliki passband dan stopband dengan spesifikasi
tertentu. Perancangan desain dilakukan dengan menggunakan
software MATLAB dengan pendekatan transformasi bilinier
menggunakan filter Buterworth. Selanjutnya implementasi
filter dilakukan dengan menggunakan software Visual
DSP++ dan diimplementasikan langsung pada BF561EZ
DSP. Port input pada blackfin dihubungkan pada speaker
komputer serta outputnya dihubungkan ke microphone
komputer. Apabila implementasi telah selesai dikukan,
selanjutnya diamati plot frekuensi yang dihasilkan dari proses
pem-filter-an dengan menggunakan software Audacity. Hasil
spectrum plot yang dilihat pada Audacity apabila dibanding
dengan simulasi filter IIR realtime pada MATLAB
memberikan hasil yang serupa.
Kata kunci: Filter IIR, Bandpass filter, Blackfin
BF561EZ, Audacity.
1.

Filter IIR
Filter IIR (Infinite Impulse Respons) adalah
salah satu tipe dari filter digital yang dipakai pada
aplikasi
Digital
Signal
Processing
(DSP).
Keuntungan filter IIR antara lain adala
membutuhkan koefisien yang lebih sedikit untuk
respon frekuensi yang curam sehingga dapat
mengurangi jumlah waktu komputasi. Rumus
umum filter IIR yaitu :

PENDAHULUAN

Pada praktikum modul 6 ini praktikan diminta


untuk merancang suatu filter IIR dengan spesifikasi
Band pass yaitu s1 = 400 Hz, p1 = 2 kHz, p2 =
6 kHz, s2 = 14 kHz, Rp 1 dB dan As 20 dB.
Setelah dilakukan perancangan filter, kemudian
akan dilakukan implementasi pada hadware
blackfin BF561EZ. Jadi pengolahan sinyal yang
dilakukan berbasis software yang selanjutnya akan
diimplementaskan
pada
board
Blackfin.
Pengolahan tersebut dilakukan dengan bantuan
software Visual DSP++ 5.0. Tujuan yang ingin
dicapai dari percobaan Modul 6 ini antara lain :
a. Praktikan memahami dan mampu
melakukan desain filter IIR
b. Praktikan memahami algoritma filter IIR
reltime
c. Praktikan
mampu
untuk
mengimplementasikan algoritma filter IIR
realtime pada DSP Blackfin BF561EZ

2.

keluaran digital yang memiliki sifat tertentu sesuai


dengan tujuan filter. Filter digital dapat dibagi
menjadi dua yaitu Filter Digital IIR (Infinite
Impulse Response) dan FIR (Finite Impulse
Response). Perbedaan antara kedua filter tersebut
yaitu FIR memiliki tanggapan impulse yang
terbatas sedangkan IIR tanggapan impulsenya
tidak terbatas.

STUDI PUSTAKA

Filter Digital
Filter figital adalah suatu prosedur matematika
atau algoritma yang melakukan pengolahan sinyal
masukan (sinyal digital) dan mengahasilkan isyarat

Bandpass filter
Band pass filter (BPF) adalah filter yang akan
meloloskan sinyal pada range frekuensi diatas
frekuensi batas bawah (fL) dan dibawah frekuesni
batas atas (fH). Dalam band pass filter (BPF) ini
dikenal 2 jenis rangkaian band pass filter (BPF)
yaitu band pass filter (BPF) bidang lebar dan band
pass filter (BPF) bidang sempit. Untuk
membedakan kedua rangkaian ini adalah dengan
melihat dari nilai figure of merit (FOM) atau Faktor
kualitas (Q).

Filter Butterworth
Filter
butterworth
menghasilkan
tanggapan
frekuensi yang datar pada daerah passband dan redaman
yang meningkat secara monotikal pada stopband. Oleh
karena itu, Butterworth low- pass filter sering digunakan
sebagai anti-aliasing filter dalam aplikasi konverter data
di mana tingkat sinyal yang tepat diperlukan di seluruh
sinyal passband.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Konfigurasi Butterworth adalah salah satu


konfigurasi standar dari filter rekursif baik dalam bentuk
analog maupun digital. Konfigurasi ini menekankan
pada aproksimasi karakteristik lowpass dengan hasil
respons yang mendekati titk nol dengan halus dan rata
(smooth and flat). Filter Butterworth didefinisikan
melalui persamaan magnitude function H() sebagai
berikut:

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 :

di mana N adalah nilai orde filter.

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

Jelas dari rumus di atas bahwa magnitude function


Butterworth adalah fungsi frekuensi () yang menurun
secara monoton, dengan nilai maksimumnya dari unity
terjadi pada saat = 0. Untuk = 1, nilai magnitude adalah
sama dengan 1/2 untuk semua nilai N. Dengan demikian,
filter Butterworth dalam bentuk normal memiliki
frekuensi cut-off sebesar 3 dB. Dari gambar respon
frekuensi yang dihasilkan menunjukkan plot dari
karakteristik magnitude dari filter ini sebagai fungsi
frekuensi () untuk beberapa tingkatan orde. Nampak
bahwa semakin tinggi tingkatan orde, karakteristik filter
Butterworth semakin mendekati filter ideal.
White Noise

White noise adalah salah satu varian dari color noise.


Memiliki ciri khas spectral density/ power spectrum
yang konstant. Demikian juga secara spectrum analyzer
yang KRP lakukan (melalui metode Graussian)
frequency dari 100hz - 16Khz spektrumnya cenderung
konstant.
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

Sebelum memulai percobaan, isi dan tanda


tangani lembar penggunaan meja yang
tertempel pada masing-masing meja praktikum
Desain dan implementasi filter IIR
Dilakukan desain Filter Band Pass dengan filter IIR
dengan pendekatan Transformasi Bilinier dengan
filter BUtterworth menggunakan software MATLAB

Dibuat source code program untuk Filter Band Pass


IIR untuk EZ-Lite Kit BF-561 dengan melakukan
modifikasi program Talkthrough_TDM_C pada modul
3 atau program filter FIR pada modul 4

Dilakukan pengujian filter yang telah dibuat dengan


menggunakan white noise sebagai input. White noise
mempunyai daya yang sama pada semua komponen
frekuensi. White noise ini dapat dihasilkan dari
program audacity.

Direkan keluaran filter dengan Audacity.Dilakukan


pengecekean pada spektrum sinyal hasil rekaman.
Digunakan hasil ini sebagai konfirmasi apakah filter
Band Pass telah berfungsi sesuai dengan yang
diinginkan. Seharusnya dihasilkan sinyal dengan
spektrum dengan daya yang sama pada rentang
frekuensi pass band nya.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

4.

HASIL DAN ANALISIS

DESAIN DAN IMPLEMENTASI FILTER IIR

Pada percobaan VI ini dilakukan didesain


sebuah filter IIR bandpass. Sebelum mendesain
menggunakan DSP, terlebih dahulu dibuat
propotype untuk filter IIR. Prototype yang dipilih
yaitu Butterworth bandpass dengan spesifikasi :
s1 = 400 Hz

Desain filter telah berhasil dilakukan.


Selanjutnya untuk melihat frekuensi respon filter,
maka dilakukan plot grafik magnitude dan phasa
nya :

p1 = 2000 Hz
p2 = 6000 Hz
Hasilnya :

s2 = 1400 Hz
Fs = 48000 Hz
Rp 1 dB
As 20 dB
Untuk memperoleh orde filter (N) dan letak
frekuensi cut-off nya (Wn), maka filter Butterworth
haruslah memiliki ripple passband yang tidak lebih
dari 1 dB dan peredaman stopband yang tidak
kurang dari 20 dB dengan Wp dan Ws adalah
frekuensi tepi passband dan stopband.
Dimasukan inisialisasi sebagai berikut :

Berdasarkan gambar diatas diketahui bahwa


desain telah berhasil membentuk bandpass filter.
Hasil desain filter pada MATLAB ini merupakan
filter yang realtime sehingga frekeunsi respons
yang dihasilkan bersifat kausal. Kausalitas
menyebabkan frekuensi respons yang dihasilkan
tidak dapat berubah dari passband lalu menjadi
stopband secara tiba-tiba. Transisi antara passband
dan stopband ini disebut transition band atau
transition region. p adalah adalah batas passband
sedangkan s adalah batas stopband. Dari kedua
nilai tersebut (p dan s) dapat ditentukan lebar
transition band adalah s -- p.

Mencari nilai N dan Wn :

Lalu untuk mekakukan desain filter dan


memperoleh koefisien numerator (B) dan
denumerator (A) dari filter, maka digunakan
fungsi :

Sehingga diperoleh koefisien filter sebagai berikut :

Tahap selanjutnya yaitu didesain filter IIR


dengan transformasi bilinier yang dilakukan
dengan cara mengganti kode Process_data.c yang
terdapat pada Talkthrought_TDM_C pada Visual
DSP++. (kode Process_data.c terlampir)
Filter IIR yanf telah selesai didesain dan
diimplementasikan pada blackfin BF561EZ.
Kemudian dilakukan verifikasi menggunakan
sinyal input white noise dan dicek keluarannya
menggunakan software Audacity.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Apabila dibandingkan, spectrum plot yang


dihasilkan dengan plot grafik yang diperoleh
menggunakan MATLAB memiliki bentuk yang
sama sehingga dapat dikatakan bahwa filter yang
dibuat telah sesuai (yaitu bandpass filter).

KESIMPULAN
Kesimpulan yang diperoleh dari praktikum ini
antara lain :

Berdasarkan gambar sinyal keluaran diatas


terlihat bahwa plot frekuensi respons yang
dihasilkan telah sesuai dengan desain bandpass
filter yang diinginkan.
Data nilai magnitude pada s1, p1, p2, dan s2
adalah sebagai berikut :
Frekuensi (Hz)

Magnitude (dB)

400

-27

2000

-13

6000

-13

14000

-33

Dalam melakukan desain filter IIR, terlebih


dahulu harus diketahui spesifikasi filter IIR
yang akan dibuat. Kemudain frekuensi
pass band dan stop band dari filter
dinormalisasi
dengan
menggunakan
setengah
frekuensi
sampling
lalu
dilakukan perhitungan orde serta koefisien
filter dengan bantuan MATLAB.

Pada proses implementasi filter, dapat


menggunakan algoritma filter realtime
dengan buffer circular. Keuntungan dari
filter realtime dengna buffer circular ini
yaitu
lebih
menghemat
memory
dibandingkan jika tidak menggunakan
buffer circular. Algoritma yang digunakan
yaitu dengan menampung input dalam
buffer kemudian dilakukan konvolusi
dengan menggunakan parameter filter
yang dilakukan secara realtime.

Pada proses selanjutnya yaitu dilakukan


kompilasi kode yang telah dibua sehingga
dapat dijalankan kode dapat dijalankan
pada Board BF561EZ. Board ini mampu
menjalankan algoritma yang telah dibuat
dengan koefisien filter yang sudah
dirancang sehingga dapat dilakukan
Digital Signal Processing secara realtime.
Setelah implementasi selesai, kemudian
dapat dilakukan pengamatan sinyal output
yang dihasilkan dengan menggunakan
software pengolah sinyal (contohnya
audacity).

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

Berdasarkan table diatas, terlihat bahwa tidak


ada perbedaan selisih dB pada bandpassnya (f = 2
kHz dan f = 6kHz). Hal ini menunjukan filter yang
dibuat telah sesuai dengan spesifikasi yaitu Rp [3].
1 . Lalu untuk sesilih magnitude antara f = 400
Hz dan f = 14 kHz sebesar 6 dB yang menunjukan
bahwa As 20 dB.

https://prezi.com/i8wrpun5ofzc/infiniteimpuls-response-filter/, 22 November 2015,

13.14

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

[4].

http://elektronika-dasar.web.id/band-passfilter-bpf-aktif/, 22 November 2015, 13.33

[5].

https://www.academia.edu/7061066/Butterwor
th, 22 November 2015, 13.38

[6].

http://kenalirangkaipakai.blogspot.co.id/2014/
04/colour-noise.html, 22 November 2015,
13.47

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

LAMPIRAN
1. Source code process_data.c
#include "Talkthrough.h"
#include "math.h"
int
int
int
int

buffer_input_left[5];
buffer_input_right[5];
buffer_output_left[5];
buffer_output_right[5];

int tempLeft, tempRight = 0;


int i,j=0;
// Filter Coefficients (from MATLAB):
int a[5]={536870912, -1453348081, 1574796169, -838799089, 194152261};
int b[5]={45943255, 0, -91886509, 0, 45943255};
void Process_Data(void)
{
for(i = 4; i > 0; i--)
{
buffer_input_left[i] = buffer_input_left[i - 1];
buffer_input_right[i] = buffer_input_right[i - 1];
buffer_output_left[i] = buffer_output_left[i - 1];
buffer_output_right[i] = buffer_output_right[i - 1];
}
buffer_input_left[0] = iChannel0LeftIn;
buffer_input_right[0] = iChannel0RightIn;
tempRight = 0;
tempLeft = 0;
for(i = 0; i < 5; i++) {
tempLeft += (buffer_input_left[i] >> 15) * (b[i] >> 16);
tempRight += (buffer_input_right[i] >> 15) * (b[i] >>
16);
}
for(i = 1; i < 5; i++) {
tempLeft -= (buffer_output_left[i] >> 15) * (a[i] >> 16);
tempRight -= (buffer_output_right[i] >> 15) * (a[i] >>
16);
}
tempLeft = tempLeft * 4;
tempRight = tempRight * 4;
buffer_output_left[0] = tempLeft;
buffer_output_right[0] = tempRight;
iChannel0LeftOut = tempLeft;
iChannel0RightOut = tempRight;
iChannel1LeftOut = iChannel1LeftIn;
iChannel1RightOut = iChannel1RightIn;
}

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB