III.1 Teknik Non-Exhaustive Search
Sebelum dibahas tentang teknik non-exhaustive search, terlebih dahulu akan dibahas tentang metodeExhaustive search. Exhaustive search adalah upaya untuk menemukan arah kedatangan sinyal dengan melakukan pemindaian pada semua arah kedatangan sinyal yang mungkin. Peneliti sebelumnya melakukan pemindaian secara exhaustive
ini. Pada makalahnya, Gorodnitsky dan Rao (1997) melakukan pemindaian pada semua sudut antara−900 sampai 900. Stoica dkk. (2011) melakukan pemindaian dari
−900 sampai 900 dengan resolusi 0.10, dengan demikian terdapat 1800 arah pindai yang berkorespondensi dengan matriks sensing A yang berdimensi M kali 1800. Hal yang sama dilakukan oleh Usman dkk. (2014).
Gambar III.1 menunjukkan ilustrasi pemindaian dengan teknik exhaustive search.
objek arah pemindaian -900 900 00
Gambar III.1. Ilustrasiexhaustive search. Algoritma memindai pada semua arah untuk memperoleh arah sumber sinyal
Permasalahan yang dihadapi oleh teknik exhaustive search, seperti yang telah dikemukakan sebelumnya, adalah besarnya sensing matrix A. Sensing matriks yang besar memerlukan proses komputasi rekonstruksi CS yang besar, sumber daya yang tinggi, serta waktu yang lama. Penyelesaian permasalahan ini diusulkan pada sub-bab berikutnya yang membahas tentang pemindaiannon-exhaustive search.
Kemajuan yang dicapai pada penelitian ini berkisar pada eksplorasi teknik
non-exhaustive search. Teknik ini adalah perbaikan dari teknik exhaustive search
berupa pengurangan rentang pemindaian dari semua sudut yang mungkin (tipikal pada−900 sampai 900), ke dalam rentang yang lebih sempit. Tentu pemindaian pada
rentang yang lebih sempit ini dimungkinkan jika telah ada gambaran tentang arah sumber sinyal.
Untuk keperluan memperoleh gambaran tentang arah sumber sinyal tersebut, maka diperlukan suatu pemindaian kasar, misalnya dengan menggunakan estimasi DoA klasik (DAS, MVDR, MUSIC, atau ESPRIT). Setelah gambaran kasar arah kedatangan sinyal ini diperoleh, maka proses DoA selanjutnya dilanjutkan dengan teknik CS dengan rentang sudut sempit, yang diperbarui setiap saat, sesuai dengan arah gerakan objek. Skema pemindaian kasar sebelum teknik CS disebut dengan istilah pra-pemindaian.
Skema non-exhaustive search dengan pra-pemindaian selengkapnya diberikan pada Gambar III.2. Akuisisi Pemindaian Kasar Pengaturan CS CS Solver Snapshot Konstruksi DoA Sinyal terima Jendela Pemindaian
Gambar III.2. Blok diagram skema non-exhaustive search dengan fungsi pemindaian kasar
Pada Gambar III.2 tersebut, sinyal mula-mula diakuisisi oleh sistem antena penerima. Pada awal operasi, sinyal dimasukkan ke blok pemindaian kasar. Proses pada blok pemindaian kasar ini bertujuan untuk memperoleh gambaran umum tentang posisi sinyal. Blok pemindaian kasar ini dapat menggunakan salah satu algoritma klasik, seperti DAS, MVDR, MUSIC, dan ESPRIT. Pada proses kemajuan ini II ini, digunakan teknik MVDR. Teknik ini sederhana serta memiliki resolusi yang tinggi. Skema MUSIC dan ESPRIT memerlukan komputasi yang lebih tinggi, sedangkan DAS memiliki resolusi yang rendah.
Gambar III.3 menunjukkan ilustrasi skema non-exhaustive search. Pada gambar tersebut, rentang sudut pemindaian dinyatakan sebagai jendela pindai (scanning window).
Tracking objek pada skema CS-DoA. Keuntungan utama pada skema yang ditawarkan ini adalah penambahan kemampuan tracking terhadap gerakan objek mudah untuk dilaksanakan. Hal ini dikarenakan sampling objek dapat dilakukan
objek Scanning Window θ1 θ2 Scanning Window θ Objek (a) (b)
Gambar III.3. Ilustrasi non-exhaustive search. (a) Skema dalam diagram arah/sudut dalam koordinat polar (b). dalam koordinat kartesian
pada interval tertentu, dan pengambilan sampel sinyal yang sedikit setiap kali pengambilan. Jendela pemindaian (scanning window) dapat digeser-geser pada setiap iterasi menyesuaikan dengan dengan posisi objek.
Untuk melakukan update scanning window ini, maka diperlukan suatu skema update. Pada penelitian ini, skema update dilakukan dengan terlebih dahulu menetapkan lebar scanning window (konstan). Pada setiap scanning, titik tengah dari scanning window diupdate sehingga berimpit atau mendekati lokasi dari posisi objek (Gbr III.5).
Proses update dengan menjadikan lokasi objek sebagai median dari jendela pindai dapat dinyatakan dengan :
θPmax =med([θmin, θmax]) (III.1) Pada Pers.III.1, θPmax menyatakan sudut estimasi objek, θmin dan θmax
berturut-turut menyatakan batas kiri dan batas kanan dari jendela pindai.
III.2 Teknik Tail-scan
Skema non-exhaustive search dilakukan dengan pembatasan wilayah sudut pindai hanya pada arah-arah tertentu saja. Namun pembatasan ini ternyata memberikan masalah baru pada proses rekonstruksi CS, yaitu CS Solver yang dalam hal ini adalah cvx-programming, tidak berhasil memperoleh solusi yang konvergen. Fenomena ini tidak diperkirakan sebelumnya, karena dengan asumsi bahwa titik optimal dari CS solver terletak pada lokasi sudut keberadaan sinyal, sedangkan sudut ini sendiri berada pada cakupan sudut yang dipindai. Namun ternyata, cvx-programming tidak berhasil memperoleh solusi yang konvergen.
(b) objek (a) objek (c) objek W1 W2 W3 θ
t
1t
2t
3 (d)objek objek objek
P
Gambar III.4. Ilustrasi tracking object dengan teknik non-exhaustive search serta update scanning window pada setiap waktu. (a),(b), dan (c) pergerakan objek beserta update scanning window yang bersesuaian. (d). ilustrasi pergeseran scanning window pada setiap waktu; W1, W2, W3 adalah scanning window berturut-turut pada t1, t2 dan t3
Pada gambar III.6 tersebut, terdapat tiga macam skema yang digunakan. Skema tersebut adalah skemaexhaustive search(lebar jendela pindai adalah−900sampai 900), skema non-exhaustive search dengan lebar jendela−300sampai dengan 900, dan skema terakhir adalah non-exhaustive search dengan lebar jendela 00 sampai dengan 900. Sebagai pembanding, posisi aktual dari objek diberikan. Objek tersebut bergerak dari sudut 300 sampai dengan 900 dengan kecepatan 1,40 per detik. Sumbu datar adalah waktu (dalam detik), dan sumbu tegak adalah sudut (dalam derajat). Pada gambar III.6 tersebut skema exhaustive search dan skema non-exhaustive search dengan sudut pindai lebar (−300 sampai dengan 900) berhasil mengikuti pergerakan objek dengan baik. Namun untuk lebar jendela pindai yang terlalu kecil (00 sampai dengan 900), cvx-programming gagal memberikan hasil konvergen. Hasil yang diperoleh, iterasi cvx-programming terjebak pada solusi semu di 50 dan 650.
Untuk mengatasi permasalahan ini, maka area pemindaian diperluas mencakup pada arah selain dari arah utama. Arah tambahan ini disebut dengantail scanning. Gambar III.7 memperlihatkan ilustrasitail-scanning.
Sifat dari tail scan adalah :
P θ θx1 P θ θx1 P θ θx2 P θ θx2
(a)
(b)
(c)
(d)
Gambar III.5. Ilustrasi detail tentang proses update scanning window dengan menggunakan median dari posisi objek. (a) hasil scanning kasar dengan algoritma klasik pada semua sudut,(b) penerapan scanning window pada sudut yang dianggap memiliki objek, (c) objek bergerak sehingga puncak scanning bergeser menuju batas window. (d). update scanning window, sehingga puncak scanning berada di tengah scanning window (main-scan)
2. mengarah pada sudut yang tidak terdapat objek
3. berfungsi mencegah algoritma cvx-programming tidak konvergen atau terjebak pada solusi semu
Pada penelitian ini, diusulkan dua macam tipe tail scan yaitu uniform tail scan dan random tail scan. Uniform tail scan adalah tail scan yang terpisah pada jarak yang seragam, sedangkan random tail scan adalah tail scan yang jarak antar pemindaian satu dan lainnya terpisah. Gambar III.8 menunjukkan ilustrasi uniform tail scan dan random tail scan.
0 10 20 30 40 50 60 70 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 an g le ( degr ee) time(second) w 0 to 90 w -30 to 90 w -90 to 90 Actual
Gambar III.6. Hasil simulasi: perbandingan skema exhaustive search terhadap
objek
-900
900
00
Tail scan
Gambar III.7. Non-exhaustive search dengan tail-scan
III.3 Metode Titik Berat
Metode titik berat dikembangkan pada tahap Kemajuan III ini sebagai jawaban atas permasalahan konvergensi yang dialami oleh metode convex programming yang dikembangkan oleh Boyd (Boyd dan Vandenberghe (2004); Boyd (2014)). Metode titik berat didasarkan pada fakta geometri bahwa rekonstruksi CS dapat diselesaikan dengan membesarkan atau mengecilkan norm L1 sehingga norm tersebut bersinggungan dengan fungsi objektif rekonstruksi. Sebagai ilustrasi, kita tinjau kasus dua dan tiga dimensi berikut. Pada kasus dua dimensi, misalkan vektor asal adalahx=
x1x2 T dan A= A11A12 T
, sehinggay=A·x=y1. Permasalahan rekonstruksi adalah : diberikan
A dan y, kita perlu mencari x sedekat mungkin dengan nilai asal. Kriteria sedekat mungkin dengan nilai asal dapat diukur misalnya dengan nilai kesalahan absolut rata-rata. Karena permasalahan ini bersifat underdetermined, kita dapat memiliki norm L1 sebagai kriteria rekonstruksi. Dengan kriteria ini, maka permasalahan rekonstruksi dapat didefinisikan kembali menjadi : diberikan A dan y, selesaikan
objek -900 900 00 Tail scan objek -900 900 00 Tail scan (a) (b)
Gambar III.8. Non exhaustive search dengan tail scan. (a) uniform tail scan, (b) random tail scan
A·x=y untukx sehingga kx|1 minimum.
Oleh karenaAadalah matrik dengan ukuran 1x2, maka solusiA·x=yadalah garis yang berada pada diagram kartesianx1-x2 seperti yang ditunjukkan pada Gbr III.9.
x
1x
2A·x =y
x
1x
2A·x = y
x
s (A) (B)Gambar III.9. Solusi persamaan Ax=y terletak pada garis (A). Solusi dari Norm-L1 (B)
Norm orde p (p-norm) dari vektor x =
x1 x2 ··· xN T diberikan oleh persamaan: kxkp=qp xp1+xp2+···+xpN (III.2) Sebagai contoh, 0-norm (L0), 1-norm (L1), dan 2-norm (L2) berturut-turut adalah
m, |x1|+|x2|+···+|xN|, and q2x21+x22+···+x2N. Dengan, m adalah jumlah elemen tak nol dari x.
Misalkan vektor x adalahx=
2 3T. Misalkan pula x=
0.6 0.4. Oleh karena itu y =Ax menghasilkan y =
1.2
. Dengan demikian permasalah rekkonstruksi adalah : diberikan y=
1.2
dan x=
0.6 0.4
, perlu dicari x, sedemikian sehingga
kxk1 minimum.
Oleh karenaxtidak diketahui, maka misalkanx=
x1 x2. Oleh karena ituAx=y
menghasilkan 0.6x1+ 0.4x2 = 1.2. Ada tak hingga banyak solusi dari
x1 x2
yang memenuhi 0.6x1+0.4x2= 1.2. Oleh karena kita ingin mencari pasangan
x1 x2
yang meminimalkankxk1. Maka sebagai langkah awalkita pilihkxk1=k0, dengank0adalah
nilai awal yang cukup besar sehingga kxk1=k0 dan 0.6x1+ 0.4x2= 1.2 berpotongan diP1 dan P2 (Gbr.III.10).
Potongan gariskxk1=k0 yang dibatasi olehP1 danP2 adalah konveks. Oleh karena itu, setiap titikM yang merupakan kombinasi konveks dari P1 dan P2
M =t·P1+ (1−t)·P2, (III.3) (0≤t≤1), akan terletak di dalam interval P1 dan P2 tersebut.
x1 kxk1=k0 x2 P1 P2 M1 x1 x2 P1 P2 M1 P3M2 kxk1=k0 kxk1=k1 (a) (b)
Gambar III.10. (a). Iterasi awal dengank0 yang cukup besar sehingga kurva Ax=y
dan kxk1=k0 berpotongan di P1 dan P2. Titik tengah M1 dipilih sebagai iterasi berikutnya. (b). Norm di M1 dipilih sebagai nilai k berikutnya. Proses ini diulangi sehingga diperoleh titik yang konvergen.
Dari Gbr III.10 juga terlihat bahwa setiap titik M yang berasal dari kombinasi konveks dari P1 dan P2 juga memiliki norm L1 yang lebih kecil dibandingkan dengan nilai awal.
Selanjutnya kita akan turunkan kasus yang lebih rumit pada dimensi 3 yang kemudian kita generalisasi untuk kasus dimensi n.
Misalkan sinyal sparse x adalahx=
0 2 0T
. Maka sensing matriksA memiliki dua kemungkinan yaitu matriks 1x3 atau matriks 2x3. Pada kondisi matriks 1x3, sinyal kompresi yadalah vektor 1x1 dan untuk kondisi matrik A 2x3, maka vektory adalah berdimensi 2x1.
Permasalahan rekonstruksi CS adalah sama dengan kasus dua dimensi: diberikan vektor y dan matrikA, tentukan x dengan kxk1 minimum. Solusi dari Ax=y pada kasus matriks A 1x3 adalah suatu bidang, sedangkan untuk matriks A 2x3 adalah suatu garis. Kita tinjau kasus matriks A 1x3 terlebih dahulu. Pada iterasi awal, kita ambil k0 cukup besar sehingga bidang Ax=y berpotongan dengan oktahedron
kxk1=k0 (Gbr.III.11).
Bentuk dari bidang perpotongan dari kxk1=k0 dan Ax=y dapat berupa politop 4-sisi atau politop 5-sisi seperti pada Gbr.III.11b. Pada algoritma titik berat, maka adalah penting untuk menentukan bidang perpotongan ini, khususnya titik sudut dari
solution ofAx=y kxk1=k0 P1 P2 P3 P4 P5 (a) (b) M1
Gambar III.11. (a). Kasus dimensi 3, kxk1=k0 membentuk oktahedron. Solusi dari
Ax=y dengan matrik A 1x3 adalah suatu bidang. Jika k0 cukup besar, kxk1=k0 akan memotong Ax=y. (b). Bidang perpotongan dengan titik sudut P1 sampai P5. Titik M1 dipilih sebagai kombinasi konveks dari titik-titikP1 sampai P5.
politof, sehingga kita dapat mencari titik beratM1 yang memiliki norm L1 yang lebih kecil dari nilai sebelumnya.
Menemukan tiap sisi dari politop dapat dilakukan dengan menyelesaikan persamaan
kxk1 = k0 dan Ax = y. Akan tetapi, karena sistem persamaan ini bersifat
underdetermined, maka mencari titik sudut politop menjadi sulit.
Di sini diusulkan suaatu teknik langsung untuk menyelesaikan permasalahan ini dengan menggunakan faktorisasi QR dari Householder (detail teori diberikan di Lampiran A). Penyelesaian dengan teknik ini disebut juga dengan istilah QR-factorization dengan pivot kolom Golub dan Loan (1996)). Pada teknik ini, proses permutasi kolom dari matrikA dilakukan sehingga suatu kriteria terpenuhi. Kriteria yang umum dipakai adalah pengurutan kolom dari kolom dengan norm L2 terbesar sampai dengan yang terkecil. Kolom dengan nilai norm tidak signifikan diabaikan. Dengan demikian, solusi dari metode ini menghasilkan nilai yang banyak memiliki nol. Transformasi Householder dengan pivot kolom dijelaskan pada Golub dan Loan (1996), dengan algoritma adalah sebagai berikut. Householder QR dengan pivot kolom. GivenA∋Rmxn.
l1 for j=1:n
l2 c(j) =A(1 :m, j)TA(1 :m, j)
l3 end
l4 r= 0; τ =max{c(1),···, c(n)}
l5 cari k terkecil dengan 1≤k≤n sehingga c(k) =τ
l6 while τ≥0
l7 r=r+ 1
l9 [v, β] =house(A(r;m, r)) l10 A(r:m, r:n) = (Im−r+1−βvvT)A(r:m, r:n) l11 A(r+ 1 :m, r) =v(2 :m−r+ 1) l12 fori=r+l:n l13 c(i) =c(i)−A(r, i)2 l14 end l15 if r≤n l16 τ= max{c(r+ 1), ..., c(n)}
l17 Find smallest k with r+ 1≤k≤n so c(k) =τ
l18 else
l19 τ= 0
l20 end
l21 end
Proses pivot kolom terjadi pada baris l8 pada algoritma di atas. Pivot dilakukan berdasarkan nilai tertinggi (barisl4 dan l5). Namun kriteria ini dapat diganti dengan nilai terendah dariL2-norm dengan mengganti max menjadi min pada baris l4. Proses faktorisasi QR Householder adalah pada barisl9. Setiap matriks A dapat difaktorkan atas matrik orthonormalQ dan matrik segitiga atas R sedemikian rupa sehingga
A=QR. (III.4)
.
Proses transformasi Householder itu sendiri adalah:
Householder transformation. Givenx∋Rn. l1 n=length(x) l2 σ=x(2 :n)Tx(2 :n) l3 v= 1 x(2 :n) l4 if σ= 0 l5 β= 0 l6 else l7 µ=q x(1)2+σ l8 if x(1)≤0 l9 v(1) =x(l)−µ l10 else l11 v(1) =−σ/(x(1) +µ) l12 end
l13 β= 2v(1)2/(σ+v(1)2)
l14 v=v/v(1)
l15 end
Dengan menerapkan faktorisasi QR Householder serta pivot kolom akan menyelesaikan sistem persamaan linier dengan pada solusi di titik sudut dari bidang datar perpotongan norm orde 1 dan fungsi objektif. Akan tetapi, jika terdapat N titik sudut, teknik ini akan mendeteksiN−1 titik sudut. Titik sudut denganL2-norm terkecil tidak dapat terpilih oleh algoritma ini.
Untuk mengatasi permasalahan ini, ditambahkan langkah khusus setelah faktorisasi QR Householder dengan pivot kolom. Pivot kolom pada langkah tambahan ini dilakukan dengan urutan nilai normL2yang terkecil, yang berkebalikan dengan kolom pivoting sebelumnya yang didasarkan pada nilai terbesar. Langkah ini disebut dengan
backward column pivoting. Kombinasi dari kedua langkah pivot kolom ini menghasilkan solusi lengkap dari semua titik sudut perpotongan (Gbr.III.12).
P5 P4 P3 P2 P1 O P5 P4 P3 P2 P1 O (a) (b)
Gambar III.12. Faktorisasi QR Householder dengan pivot kolom (a). Pivot kolom dengan urutanL2-norm dari yang terbesar ke yang terkecil (b). Pivot kolom dengan urutanL2-norm dari yang terkecil ke yang terbesar Sama dengan kasus dua variabel sebelumnya, setiap titik M yang berasal dari kombinasi konveks dari titik-titik sudut pada bidang solusi memberikan nilai k baru yang lebih kecil dari nilai sebelumnya.
M =α1·P1+α2·P2+···+αN·PN (III.5) dengan
α1+α2+···+αN = 1 (III.6) dan 0≤αi≤1 untuk semua i.
Untuk kesederhanaan, pada metode yang diusulkan ini, dipilih setiap nilai αi yang sama. Dengan demikian,
α1=α2=···=αN = 1
Secara geometri, pemilihan nilai αi yang sama maka akan dihasilkan titik M yang merupakan titik berat dari politop. Pada umumnya, metode titik berat ini tidak menjamin konvergensi pada arah yang tercepat, namun ia menjamin konvergensi pada solusi optimal.
Setelah kita tinjau matrik A dengan dimensi 1x3, maka sekarang akan ditinjau kondisi ketika matrik A berdimensi. Solusi dari permasalahan rekonstruksi Ax=y
adalah berupa irisan dari dua buah bidang yang menghasilkan suatu garis. Setiap bidang dinyatakan pada setiap baris dari persamaan linier.
Seperti halnya kondisi terdahulu, untuk nilai awal, dipilih k cukup besar sehingga oktagon kxk1 = k0 berpotongan dengan garis solusi fungsi objektif (Gbr.III.13). Misalkan titik potong tersebut adalahP1 dan P2. Kondisi ini dengan demikian sama dengan kondisi pada dua variabel. Oleh karena itu, setiap titik M1 yang berasal dari kombinasi konveks dari P1 dan P2 akan memberikan nilai k yang lebih kecil. Nilai k ini selanjutnya digunakan untuk iterasi berikutnya.
Solution of Ax=y kxk1=k0 P1 P2 P2 P1 M1
Gambar III.13. Perpotongan antara oktahedron norm L1 dengan solusi dari fungsi objektif yang berupa garis. Titik potong bidang dan garis dinotasikan denganP1 danP2. TitikM1 yang merupakan kombinasi konveks dari P1 dan P2 diilustrasikan pada gambar kanan
Generalisasi untuk dimensi n Setelah pembahasan pada dimensi 2 dan
dimensi 3, maka langkah-langkah yang dilakukan pada kedua dimensi tersebut dapat digeneralisasi menjadi suatu algoritma untuk dimensi n. Algoritma ini disebut dengan metode titik beratweight point. Sebelum algoritma tersebut dikemukakan, berikut ini adalah dua teorema fundamental yang menjadi dasar dari algoritma titik berat ini.
Teorema 1Jika suatu bidang dibatasi oleh kxk1=k dan solusi dari persamaaan linier
Ax=y saling berpotongan, maka bentuk dari perpotongan tersebut adalah berupa suatu politop.
Bukti : - .
pada Teorema 1, maka setiap kombinasi konveks dari P1, P2, ···, PN akan menghasilkan titik yang memiliki norm orde 1 kM yang lebih kecil dari norm orde 1 semula yang melalui Pi.
Bukti : - .
Setelah kedua teorema di atas, berikut ini adalah algoritma weight point untuk dimensi n.
Algoritma titik berat.
1. pilih nilai awal k yang cukup besar.
2. susun persamaan kxk1 = k untuk setiap kombinasi dari x
3. susun set persamaan linier [A;xhi] = [y;k]
4. selesaikan set persamaan linier [A;xhi] = [y;k] dengan faktorisasi QR Householder dengan pivot kolom pada pengurutan prioritas maksimum
5. selesaikan set persamaan linier [A;xhi] = [y;k] dengan faktorisasi QR Householder dengan pivot kolom pada pengurutan prioritas minimum
6. kombinasikan solusi langkah 3 dan 4 untuk memperoleh semua titik sudut dari politop (P1, P2, ···, PN).
7. hitung titik berat Mi= (P1+P2+···+PN)/N
8. hitung norm L1 dari titik berat Mi dan gunakan nilai norm ini untuk iterasi berikutnya
9. ulangi langkah 2 sampai dengan 8 sampai abs(ki+1−ki)≤epsilon, dengan < ǫ