You are on page 1of 12

VLSI SYSTEM: SOUND-SOURCE LOCALIZATION

Soal untuk topik VLSI tahun ini adalah sound source localization. Sistem yang dilombakan ini
merupakan perangkat yang berfungsi mengetahui arah datangnya suara. Sistem ini banyak sekali
aplikasinya, misalnya untuk membantu orang yang mengalami spatial heraring loss, untukk robot,
deteksi/sonar pasif untuk mengetahui datangnya ikan atau kapal selam, dan lainnya. Sistem ini dapat
berfungsi mengetahui arah datang suara dalam 2 dimensi ataupun 3 dimensi.
Secara sederhana, sistem ini bekerja menggunaka beberapa sensor suara (microphone), kemudian
dari suara yang ditangkap tersebut, harus dianalisis dari mana suara tersebut datang. Berikut ini
adalah contoh implementasinya secara matematis. Sistem yang dibuat harus dibuat dengan
menggunakan FPGA, beberapa sensor dan display,
Dalam design contest ini ada beberapa hal yang menjadi penilaian:
1. Inovasi dan novelty, yaitu tingkat kebaruan dan tingkat kreativitas yang ditunjukan dalam
rancangan tersebut
2. Fungsional, yaitu seberapa lengkap/banyak fitur yang ditunjukan oleh perangkat ini, misalnya
3D tentu saja lebih baik dari 2D, fitur mendeteksi signature/pola suara tertentu, dst
3. Kinerja, misalnya tingkat akurasi (1o, 5o, ...), waktu proses real-time ?, tes apa yang telah
dilakukan, ...
4. Presentasi meliputi demo, paper, proposal, presentasi oral, dan poster. Yang akan dievaluasi
adalah kejelasan dan tingkau menarik tidaknya presentasi tersebut.

2.1 Perhitungan Sudut Datang Suara


Pada saat suara membentuk sudut terhadap posisi dua telinga maka gelombang suara tersebut akan
sampai pada salah satu telinga yang posisinya lebih dekat ke sumber suara terlebih dahulu kemudian
diikuti telinga satunya dikarenakan kecepatan suara yang tetap. Perbedaan waktu antara gelombang
suara yang masuk ke salah satu telinga terhadap telinga satunya inilah yang disebut sebagai ITD.
Dengan menggunakan 2 buah microphone sebagai representasi 2 telinga maka kita dapat
mengimplementasikan proses spatial hearing. Pemodelan proses spatial hearing menggunakan 2
buah microphone ini ditunjukkan pada Gambar 2.1[14].

Gambar 2.1 Model ITD

Titik A adalah microphone 1 sedangkan titik B adalah microphone 2. Jarak kedua microphone adalah
d. Saat gelombang suara dari sebuah sumber suara telah sampai ke microphone B maka gelombang
suara tersebut akan sampai ke microphone A setelah menempuh jarak sejauh e meter dalam waktu
T dan nilai T inilah yang disebut sebagai ITD . Sudut yang dibentuk antara AB dan BC adalah sama
dengan sudut datang suara yaitu yang nilainya dapat dihitung menggunakan persamaan :

()

(1)

Untuk menghitung maka diperlukan mengetahui panjang e dan d, nilai d adalah diameter kepala
yang direpresentasikan sebagai jarak antara dua microphone sedangkan nilai e dapat dihitung dengan
mengalikan time delay (T) dengan konstanta kecepatan suara di medium udara pada kondisi ruang
(Vsound). Sehingga didapat persamaan untuk menghitung sudut datang suara seperti berikut:
V T
)

2.2 Perhitungan ITD

(2)

Pemodelan sinyal yang diterima oleh dua buah sensor x1 (t) dan x2 (t) dari sebuah sumber sinyal s1 (t)
dalam lingkungan yang mempunyai noise n1 (t) dan n2 (t) adalah[15]:
x1 (t) = s1 (t) + n1 (t)

(3)

x2 (t) = s1 (t + D) + n2 (t)

Jika sumber sinyal s1 (t) diasumsikan tidak berkorelasi dengan noise n1 (t) dan n2 (t) dan D adalah
waktu delay maka fungsi cross correlation dari dua sinyal tersebut dapat dirumuskan dengan:

1 2 () = 1 () 1 ( + )

(4)

Transformasi Fourier dari fungsi cross correlation pada persamaan 4 adalah :

1 2 () = 1 2 ()

(5)

Dengan mengaplikasikan sifat konvolusi dari Transformasi Fourier pada persamaan 4 kemudian
mensubstitusikannya ke persamaan 5 akan dihasilkan persamaan cross correlation dalam domain
frekuensi, yaitu:
1 2 () = 1 ()2 ()

(6)

dimana () adalah Transformasi Fourier dari sinyal (), dan tanda * menunjukkan complex
conjugate dari Transformasi Fourier. Dengan melakukan Inverse Fourier Transform (IFT) dari
persamaan 6 akan didapatkan fungsi cross correlation dalam domain waktu, yaitu :
1

1 2 () = 2 1 ()2 ()

(7)

Time delay antara dua sensor x1 (t) dan x2 (t) ini adalah time lag yang memaksimalkan fungsi 1 2 ()
dalam batasan jarak kedua sensor :
12 =

1 2 ()

(8)

2.3 Transformasi Fourier


Menurut Joseph Fourier, sinyal suara dibentuk dari komponen-komponen sinyal sinus. Walaupun
bentuk sinyal tersebut sangat kompleks asalkan sinyal periodik maka sinyal kompleks tersebut dapat
diuraikan menjadi komponen-komponen frekuensi sinyal sinus pembentuknya. Hal ini juga berlaku
sebaliknya, yaitu dengan menggabungkan komponen-komponen sinus maka akan didapatkan sebuah
sinyal kompleks. Transformasi Fourier berguna untuk menTransformasi sinyal dalam ranah waktu

menjadi ranah frekuensi. Analisa Fourier terdiri atas Discrete Fourier Series (DFS) untuk sinyal yang
periodik dan Discrete Fourier Transform (DFT) untuk sinyal yang sifatnya aperiodik [16].

2.3.1 Discrete Fourier Transform


DFT dari sinyal kontinyu () menurut teori Transformasi Fourier dirumuskan dengan:

() = () 2

(9)

sedangkan Inverse Discrete Fourier Transform (IDFT) spektrum frekuensi dirumuskan dengan :

() = () 2

(10)

Untuk sinyal diskrit (), rumus DFT adalah sebagai berikut :

() = 1
=0 ()

(11)

(12)

=
n = 0, 1, 2,...,N-1
N = jumlah sampel sinyal diskrit
k = indeks sinyal diskrit
X(n) = koefisien Fourier ke-k
Sedangkan rumus IDFT adalah :
1

() = 1
=0 ()

(13)
(14)

Persamaan 14 sama dengan persamaan 12 tetapi berbeda tanda, biasa dituliskan :


( ) =

(15)

2.3.2 Fast Fourier Transform


DFT memerlukan proses komputasi yang intensif, N-point DFT membutuhkan proses perkalian
bilangan komplek sebanyak N dan operasi penambahan bilangan kompleks sebanyak N-1. Untuk

mempercepat proses komputasi DFT, J.W. Cooley dan J.W. Tukey memperkenalkan metode Fast
Fourier Transform (FFT). Berdasarkan teori Danielson-Lanczos, persamaan DFT dapat diuraikan
menjadi penjumlahan bagian genap dan bagian ganjil. Apabila bagian genap dimisalkan dengan E yaitu
input dengan indeks 2k dan bagian ganjil adalah input dengan indeks 2k+1 dimisalkan sebagai O, maka
persamaan DFT ekuivalen dengan[17]:

1
2

= =0 (2)

( )
2

2
= =0
(2 + 1)

1
2

= =0 (2 + 1)

2(2+1)
()

( )
2

() = +

1
2

() = =0 (2)
Nilai

( )
2

1
2

+ =0 (2 + 1)

( )
2

(16)

pada persamaan 16 ini disebut sebagai twiddle factor dan biasa dilambangkan dengan .

FFT bekerja dengan memecah-mecah DFT menjadi bagian genap dan ganjil seperti yang telah
dijelaskan sebelumnya. Jika digambarkan dalam bentuk diagram maka akan terlihat seperti pada
Gambar . Oleh karena itulah FFT memerlukan data yang merupakan pangkat 2, misalnya 2, 4, 8, 16,
32, dan seterusnya.

Gambar 2.2 Proses pemecahan persamaan DFT


Berikut ini adalah contoh jika N=4. Sesuai dengan gambar 2.2:

E = EE + EO
O = OE + OO
Jika dijabarkan bagian genap dari E:

1
2(2)

2(2)

( )
2
(2(2))

=0

1
4

= =0 (4)

( )
4

(17)

bagian ganjil dari E :

1
2(2)

= (2(2 +

2(2+1)

( )
2
1))

=0

1
4

= =0 (4 + 2))

( )
4

1
4

= =0 (4 + 2))

( )
2

( )
4

(18)

bagian genap dari O :

1
2(2)

= (2(2) +

2(2)

( )
2
1)

=0

1
4

=0 (4 + 1)

( )
4

(19)

bagian ganjil dari O :

1
2(2)
=0 (2(2

+ 1) + 1)

2(2+1)

( )
2

1
4
=0
(4

+ 3)

( )
4

(20)

Dengan menggabungkan persamaan 17, 18, 19 dan 20 akan didapatkan persamaan FFT untuk jumlah
sampel N=4 seperti berikut:
() = + = + + + ()


1
4

= =0 (4)

( )
4

1
4

+ =0 (4 + 2))

( )
4

2
2

( )
4

1
4
=0
(4

+ 1)

4
=0
(4 + 3)

( )
4

(21)

Sehingga untuk N=4 dan k=0, nilai DFT ekuivalen dengan:


() = (0) + 2 (2) + 4 (1) + 4 2 (3)

(22)

2.3.3 Inverse Fast Fourier Transform


Proses Inverse Fourier Transform (IFFT) sama seperti proses FFT tetapi terjadi proses complex
conjugate dan proses scaling seperti pada rumus berikut ini :
1

() = 1
=0 ()

(23)

2.3.4 FFT Window


Proses windowing FFT dilakukan dengan melakukan perkalian sinyal input dengan koefisien window.
Jika koefisien window semuanya bernilai 1 maka window ini disebut dengan rectangular window, yang
mempunyai karakteristik adanya ripple pada frekuensi responnya. Untuk menghindari masalah ripple
tersebut ada beberapa alternatif window yang biasa digunakan seperti misalnya Hamming window,
Hanning window, Blackman window, Bartlett window, dan lain-lain[18]. Pada penelitian ini window
yang digunakan adalah Hamming window yang persamaannya adalah seperti berikut:
2

() = 0.54 0.46 (1)

= 0,1, , 1 (24)

2.4 Konvolusi dalam Domain Frekuensi


Konvolusi adalah operator matematis seperti halnya penambahan, pengurangan dan perkalian.
Rumus konvolusi dua sinyal diskrit periodik x() dan () dengan periode N adalah [16] :
1

() = 1
=0 ()( )
= () ()

= 0,1, , 1
(25)

Dalam domain frekuensi, persamaan 25 ini ekuivalen dengan :


1

() = ()()

(26)

dimana ()(), ()(), dan () ().


Pembuktian:
1

() = 1
=0 [ =0 ()( )]
1

1
= 1
=0 () =0 ( )
1

= ()()
1

[ ()()] = ()

(27)

Dari persamaan 27 didapatkan bahwa proses konvolusi dua sinyal diskrit dalam ranah waktu adalah
ekuivalen dengan proses perkalian biasa dalam domain frekuensi.

2.5 Cross correlation dalam Domain Frekuensi


Persamaan korelasi circular dua sinyal diskrit periodik x() dan () adalah :
1

() = 1
=0 ()( + )

= 0,1, , 1

(28)

Jika sinyalnya adalah complex maka persamaan korelasinya adalah :


1

() = 1
=0 ()( + )

Jika dibandingkan persamaan 25 dengan persamaan 28 dapat dilihat bahwa proses cross correlation
sama dengan konvolusi tetapi sinyal y(k) tidak di refleksi.
Pembuktian:
1

mn
N-1
() = N-1
m=0 [N k=0 x(k)y(m+k)] WN
1
N

(m+k)n
-kn N-1
= N-1
k=0 x(k) WN m=0 y(m+k) WN

jika + =
1

-kn N-1+n
nl
= N N-1
k=0 x(k)WN l=n y(l)WN
1

= N ()()

(29)

Sehingga untuk menghitung cross correlation dalam domain frekuensi dapat digunakan persamaan
berikut :
1

() = [ ()()]

(30)

2.6 Bilangan Kompleks


Bilangan kompleks terdiri atas bagian real dan imaginer, dituliskan dengan = + , dimana z
adalah bilangan kompleks, a adalah komponen bilangan real dan b komponen bilangan imaginer yang
nilainya = 1 [19]. Bilangan komplek dapat dinyatakan dalam bentuk koordinat polar sebagai =
(cos() + sin()), nilai = 2 + 2 adalah jarak/magnitude r terhadap titik pusat sedangkan
adalah sudut yang dibentuk antara garis dari titik pusat ke r terhadap garis sumbu real. Dengan
menggunakan bilangan komplek maka persamaan Euler = cos() + sin() dapat dinyatakan
dalam bilangan kompleks =

2.7 Representasi Bilangan dalam Hardware Digital


Hardware Digital hanya dapat menyimpan dan memproses bilangan biner yang terdiri dari dua kondisi
0 dan 1 yang disebut bit. Bit-bit ini kemudian disusun untuk merepresentasikan bilangan desimal
atau disebut sebagai integer. Ada beberapa format yang digunakan untuk penyusunan bit-bit ini
menjadi bilangan integer seperti misalnya sign and magnitude, 1s complement dan 2s complement.

2.7.1 Format 2s Complement


Bilangan biner dengan panjang N-bit dalam format 2s complement dapat merepresentasikan bilangan
integer dengan range nilai [21 , 21 1]. Sebagai contoh bilangan biner 8 bit
(7 6 5 4 3 2 1 0 ), maka nilai bilangan ini dalam integer dihitung dengan cara [20]:
= (7 27 ) + 6 26 + + 1 21 + 0 20

(31)

sehingga range nilai bilangan integer yang dapat direpresentasikan menggunakan bilangan biner 8 bit
adalah dari -128 sampai 127. Berikut ini adalah beberapa contoh representasi bilangan integer dalam
format 2s complement:

binary
00000000
00000001
01000000
01111111
10000000
10000001
11000000
11111111

integer
0
1
64
127
-128
-127
-64
-1

Nilai MSB bilangan biner digunakan sebagai sign-bit, jika nilainya 0 maka menunjukkan bilangan
integer positif, dan jika nilainya 1 menunjukkan bilangan integer negatif.

2.7.2 Bilangan Fixed Point


Untuk merepresentasikan bilangan real menggunakan bilangan integer terdapat 2 cara yaitu
menggunakan format floating point dan fixed-point. Bilangan real ini terdiri dari 2 bagian yaitu bagian
didepan koma untuk menyakan bilangan integer dan bagian dibelakang koma untuk menyatakan
bilangan pecahan yang disebut fractional. Pada metode floating point posisi koma ditentukan pada
saat program berjalan sehingga akan didapat range nilai yang besar. Sedangkan metode fixed point
menggunakan jumlah bit yang tetap di bagian integer dan fractionalnya. Untuk menyatakan format
bilangan dalam fixed point biasanya digunakan bentuk , dimana m menyatakan panjang bit bagian
integer sedangkan n menyatakan panjang bit yang digunakan sebagai bagian fraction. Penjumlahan m
dan n menghasilkan total panjang bit yang digunakan untuk merepresentasikan bilangan yang disebut
sebagai word length.

2.7.3 Konversi Bilangan Real ke Format Fixed Point 2s Complement


Untuk mengkonversi bilangan real menjadi bilangan fixed point integer , dalam format 2s
complement dengan word length N digunakan rumusan [21]:
1

= 2 [21 1 + 2
=0 2 ]

dengan range nilai:


= 2 _ = 2^ 2^()
resolusi = 2

2.7.4 Operasi Komplemen Bilangan 2s Complement

(32)

Untuk melakukan komplemen dari bilangan integer dalan format 2s pertama-tama adalah membalik
bilangan biner ekuivalen dari bilangan integer tersebut, 1 menjadi 0 dan sebaliknya 0 menjadi 1,
kemudian menambah dengan 1 [20].
Contoh: bilangan integer 16 dalam 2s, komplemennya adalah :
16integer = 0000 1000biner
komplemen bit-bit NOT(0000 1000) = 1111 0111
tambah 1 1111 0111 + 0000 0001 = 1111 1000
1111 1000biner = 248integer
komplemen 16 = 248

2.7.5 Operasi Penjumlahan Bilangan 2s Complement


Penjumlahan bilangan 2s mengikuti aturan penjumlahan bilangan biner. Sebagai contoh penjumlahan
bilangan 4 dengan 13:
0000 0100 = 4
+0000 1101 = 13
0001 0001 = 17

2.7.6 Operasi Pengurangan Bilangan 2s Complement


Pengurangan bilangan 2s complement adalah sama dengan penjumlahan bilangan biner dari bilangan
yang dikurangi dengan komplemen bilangan pengurangnya. Contoh bilangan 7 dikurangi dengan 3
[20]:
0000 0111 = 7
+1111 1101 = (3)
0000 0100 = 4

2.7.7 Operasi Perkalian Bilangan 2s Complement


Perkalian bilangan 2s adalah sama dengan perkalian bilangan biner dari bilangan biner ekuivalen
bilangan-bilangan yang dikalikan [20]. Contoh perkalian 2 dengan -2
0000 0010 = 2
1111 1110 = (2)

1111 1100 = (4)