Penginderaan Kompresif

Embed Size (px)

Citation preview

Memahami Penginderaan Kompresif dengan MATLABTM

oleh

Andriyan Suksmono

Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung 2008

2

Andriyan B. Suksmono

Memahami Penginderaan Kompresif dengan MATLABTM

3

Daftar Isi

I. Konsep Dasar Penginderaan Kompresif 1.1 Prinsip Ketidakpastian dan Kompresi Data 1.2 Pencuplikan Sinyal 1.3 Aljabar Pengolahan Sinyal 1.4 Matriks Transformasi Uniter dan Ortogonal 1.5 Prinsip Ketidakpastian untuk Kawasan Waktu-Frekuensi Diskrit 1.6 Prinsip Ketidakpastian untuk Sebarang Kawasan Diskrit II. Dekomposisi Sinyal dan Pencarian Basis Ideal 2.1 Basis Ortogonal dan Lengkap dari Sinyal 2.2 Representasi Sinyal dengan Kamus Basis 2.3 Batas Keunikan P0 dan P1 2.3.1 Batas Keunikan P0 dan P1 Elad-Bruckstein untuk Pasangan Orto-basis 2.3.2 Batas Keunikan P0 dan P1 untuk Kamus Basis 2.3.2 Batas Keunikan P0 dan P1 untuk Kamus Basis 2.4 Pengolahan Sinyal dengan Pemrograman Matematika 2.4.1 Pemrograman Matematika dan Optimasi 2.4.2 Metode Basis Pursuit dengan Pemrograman Linier III. Aplikasi Penginderaan Kompresif 3.1 Kamera Piksel-Tunggal 3.1.1 Pencuplikan kompresif kawasan spasial 3.1.2 Transformasi Haar untuk Pencuplikan Kompresif 3.1.3 Pencuplikan Kompresif Kawasan Frekuensi 3.2 Radar Pensintesa Frekuensi Berdasarkan Penginderaan Kompresif 3.2.1 Prinsip Kerja dan Geometri Pencitraan GPR 3.2.2 Teknik Sintesa Frekuensi untuk Radar 3.2.3. Pertimbangan Desain SFCW-GPR 3.2.4 Eksperimen SFCW-GPR Dengan VNA (Vector Network Analyzer) 3.2.5 Radar SFCW-GPR Kompresif Daftar Pustaka

4

Andriyan B. Suksmono

Memahami Penginderaan Kompresif dengan MATLABTM

5

I. Konsep Dasar Penginderaan Kompresif

1.1 Prinsip Ketidakpastian dan Kompresi Data Siapapun yang pernah belajar Fisika Modern akan mengenal ketidakpastian Hiesenberg atau HUP (Heisenberg Uncertainty Principle). Prinsip ini menyatakan bahwa pengukuran posisi dan momentum suatu partikel tidak mungkin keduaduanya dibuat teliti atau presisi, atau px h/4 (1.1)

HUP adalah konsekuensi langsung dari sifat dualitas gelombang-partikel. Sebelum Teori Kuantum muncul, orang mengira bahwa ketetlitian pengukuran posisi suatu partikel dan momentum (pada saat bersamaan) hanya akan dibatasi oleh ketelitian alat ukur. Prinsip diatas bahkan menyatakan larangan alam untuk mengetahui keduanya sekaligus secara teliti, secanggih apapun alat ukur yang digunakan. Selain relasi ketidakpastian momentum-posisi, HUP juga dapat dinyatakan sebagai hubungan ketidakpastian antara energi E dengan waktu t, yaitu Et h/4 (1.2)

Menurut Max Planck, suatu foton yang memiliki frekuensi f, akan memiliki energi sebesar hf dimana h adalah konstanta Planck. Dengan demikian HUP untuk energi-waktu akan setara dengan (hf) (t) h/4 atau (2f)(t) 1/2 . Dengan menyebut 2f sebagai frekuensi sudut , kita akan mendapatkan HUP dalam bentuk lain, yaitu t (1.3)

6

Andriyan B. Suksmono

Ketidaksamaan diatas dinamakan juga prinsip ketidakpastian Weyl-Heisenberg (WHUP) yang berbunyi sbb:

sinyal atau fungsi (waktu) kontinyu tidak mungkin terlokalisasi dengan baik dalam kawasan waktu dan frekuensi secara bersama-sama Apakah arti dari WHUP dan apa bedanya dengan HUP? Jika HUP berbicara mengenai partikel dan gelombang sebagai objek fisik, WHUP menyatakan sifat umum dari prinsip ketidakpastian untuk diterapkan ke sebarang sinyal atau fungsi kontinyu (dengan batasan-batasan tertentu). Dalam bahasa pengolahan sinyal bisa ditafsirkan bahwa jika suatu sinyal s(t) terlokalisir dalam kawasan waktu maka transform Fourier dari sinyal ini, F[s(t)] = S(), akan tersebar dikawasan frekuensi dan demikian pula sebaliknya, suatu sinyal yang terlokalisir dikawasan frekuensi akan memiliki transform Fourier yang tersebar dikawasan waktu.

(t)

|()|

Gb.1.1 Pasangan transform Fourier dari sinyal delta Dirac Contoh dari sinyal kontinyu terlokalisir waktu adalah sinyal delta Dirac (t). Transform Fourier dari sinyal ini, F[(t)] =(t) akan tersebar keseluruh rentang frekuensi . Gambar 1.1 memperlihatkan pasangan transformasi ini. Karena (t) riil, maka haruslah () kompleks. Gambar ini hanya menunjukkan nilai magnitude dari koefisien Fourier-nya, yaitu |()|, untuk memperlihatkan sebaran komponen dominan dan terlihat disini bahwa semua komponen samasama dominan-nya. Fungsi delta dapat dilihat sebagai fungsi (distribusi) Gaussian dengan limit variansi mendekati nol. Kita akan memakai fungsi Gaussian ini untuk memperlihatkan bahwa implikasi tidak langsung dari WHUP adalah:

Memahami Penginderaan Kompresif dengan MATLABTM

7

sinyal kontinyu yang tersebar dalam kawasan waktu, akan terlokalisir pada kawasan frekuensi dan begitu pula sebaliknya.

Pasangan Fourier dari fungsi Gaussian dengan mean =0 dan variansi 2 dapat dituliskan sebagai berikut g(t) = ( sqrt(2))-1 exp(-t2/2) G() ~ exp(-2/(1/)2) (1.4)

yakni, untuk g(t) fungsi Gaussian dengan variansi 2 maka pasangan Fouriernya mirip dengan fungsi Gaussian dengan variansi 1/2. Jika naik pada g(t) atau fungsinya melebar, maka pasangan Fouriernya akan menyempit dan demikian pula yang sebaliknya. Dengan demikian implikasi tak langsung dari WHUP tersebut menjadi jelas khususnya untuk fungsi Gaussian. Fungsi-fungsi atau sinyal-sinyal waktu-kontinyu yang lain juga akan memiliki sifat yang demikian. Matlab Script berikut ini dapat dipakai untuk memperlihatkan peristiwa ini.

%-------------------------------------------------------------------------------% Script Matlab untuk memperlihatkan prinsip ketidakpastian %--------------------------------------------------------------------------------

clear; clc; t=-5:0.1:5; w=t; %koordinat waktu dan frekuensi. sigma1=1; sigma2=0.5; sigma3=0.25;

%Hitung Fungsi Gaussian g1=normal_baku(sigma1,t); g2=normal_baku(sigma2,t); g3=normal_baku(sigma3,t);

%Hitung transform Fourier-nya G1=F_normal_baku(sigma1,w); G2=F_normal_baku(sigma2,w); G3=F_normal_baku(sigma3,w);

figure(1);plot(t,g1,t,g2,t,g3);

8

Andriyan B. Suksmono

legend('sigma','0.5sigma','0.25sigma') figure(2);plot(w,G1,w,G2,w,G3); legend('sigma','0.5sigma','0.25sigma')

%----------------------------------------------------% Fungsi untuk menghitung fungsi Gaussian %----------------------------------------------------function [g]= normal_baku(sigma,t) g=(1/sqrt(2*pi*sigma*sigma))*exp(-t.*t/(sigma*sigma));

%-------------------------------------------------------------------------% Fungsi untuk menghitung transform Fourier dari f. Gaussian %-------------------------------------------------------------------------function [G]= F_normal_baku(sigma,w) G=exp(-w.*w*(sigma*sigma));

Keluaran dari program Matlab diatas diperlihatkan pada Gambar 1.2 dan Gambar 1.3. Disini jelas terlihat penyempitan fungsi Gauss pada kawasan waktu akan mengakibatkan pelebaran pada kawasan frekuensi.

1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -5 sigma 0.5sigma 0.25sigma

0

5

Gb.1.2 Fungsi Gaussian g(t) dng =1, 0.5, dan 0.25

Memahami Penginderaan Kompresif dengan MATLABTM

9

1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -5 0 5 sigma 0.5sigma 0.25sigma

Gb.1.3 Transform Fourier Fungsi Gaussian |G()| dng =1, 0.5, dan 0.25 Sebelum diskusi berlanjut, akan terlebih dahulu disinggung sekilas mengenai suatu teorema yang sangat penting dalam pengolahan sinyal, yaitu Teorema Parseval. Teorema ini sebenarnya merupakan prinsip kekekalan energi sinyal, yang menyatakan bahwa pengukuran energi dalam kawasan waktu (misalnya dengan bantuan Osciloscope) dan pengukuran energi pada kawasan frekuensi (misalnya dengan Spectrum Analyzer) akan memberikan hasil yang sama. Teorema ini juga berimplikasi bahwa penghilangan komponen frekuensi tertentu dari sinyal akan mendistorsi sinyal kawasan waktunya, sepadan dengan magnitudo koefisien Fourier tersebut. Dengan demikian, hilangnya komponen dengan magnitudo rendah tidak akan mengubah terlalu banyak bentuk sinyal semula. Untuk aplikasi pengolahan sinyal atau citra dijital, perhitungan dilakukan terhadap data dijital yang tak lain adalah fungsi-fungsi diskrit. Fungsi ini diperoleh dari fungsi kontinyu dengan melalui proses pencuplikan dan kuantisasi yang dapat dilakukan dengan sebuah ADC (Analog to Digital Converter).

10

Andriyan B. Suksmono

1.2 Pencuplikan Sinyal Supaya dapat diolah oleh komputer (dijital) atau pengolah DSP (Digital Signal Processing), sinyal-sinyal alami seperti suara atau gambar (citra) harus diubah menjadi sinyal dijital. Proses pengolahan sinyal secara dijital dapat digambarkan kedalam daigram blok berikut ini. Terlebih dahulu pengolah ini menerima masukan sinyal listrik analog dari transducer, yaitu sinyal s(t) yang disini digambarkan sebagai campuran dari komponen xa(t) yang ingin berada pada rentang frekuensi yang akan diolah dan xa(t) yang tidak diinginkan. Tapis (filter) antialiasing akan menghapus xa(t) sehingga tinggal xa(t) yang mengandung semua informasi didalam pita frekuensi yang dikehendaki atau akan diolah.Pada gamabar diperlihatkan sinyal menjadi lebih halus karena komponen frekuensi tinggi yang berada diluar pita kerja sudah dihilangkan.

xa(t) +xa(t) input

Anti-Aliasing xa(t) Filter

S/H

xa(n)

A/D x (n) Digital Processor y(n)

ya(t) output

Reconstruction y (t) Filter

D/A

Gb.1.4 Blok dasar pengolahan sinyal secara dijital

Blok S/H (sampling anda hold) mengambil cuplikan sinyal (fungsi) kontinyu dalam kawasan waktu secara periodik dan sinyal akan berubah xa(t) dari menjadi sinyal diskrit xa(n), dimana n bilangan bulat, dengan amplitudo kontinyu (analog). Karena register dari processor bekerja dengan kapasitas

Memahami Penginderaan Kompresif dengan MATLABTM

11

terbatas, sinyal ini harus terlebih dahulu diubah menjadi sinyal dijital dengan perangkat A/D (analog to digital converter). Suatu kartu ADC biasanya juga telah dilengkap dengan tapis antialiasing dan juga blok S/H. Keluaran dari A/D adalah sinyal dijital x(n). Pengolah dijital (DSP processor) selanjutnya memproses sinyal sesuai dengan tujuan yang telah ditetapkan, misalnya melakukan penapisan. Blok ini akan mengubah sinyal asal x(n) menjadi sinyal y(n) yang sudah terolah. Supaya bisa disajikan kembali ke pengguna, sinyal dijital y(n) harus

dikembalikan menjadi sinyal analog melalui blok D/A (digital to analog converter). Selanjutnya sebuah tapis rekonstruksi untuk menghilangkan cacat akibat konversi dijital ke analog. Akhirnya diperoleh keluaran ya(t) yang siap disajikan ke pengguna.

1.3 Aljabar Pengolahan Sinyal Sinyal dijital dapat dianggap sebagai suatu deret waktu dan dapat dituliskan sebagai suatu vektor kolom. Sebagai contoh, vektor s(n)=[2 3 7]T menyatakan sinyal dijital sepanjang 3 cuplikan. Karena berbentuk vektor, manipulasi atau pengolahan sinyal ini dapat dilakukan dengan operasi-operasi matriks atau vektor, misalnya penjumlahan atau pengurangan, perkalian dengan skalar atau matriks, dll.

z k j i x

s(n)

z

z k

S(k) y j y j

k y

Ti i x x

Gb.1.5 Transformasi uniter sebagai perputaran koordinat

12

Andriyan B. Suksmono

Salah satu proses yang sangat penting didalam DSP adalah transformasi sinyal. Pada dasarnya transformasi adalah mengubah suatu sinyal dari suatu kawasan ke kawasan lain atau dari suatu representasi ke representasi yang lain. Secara geometrik, transformasi sinyal pada hakekatnya adalah perubahan sistem koordinat seperti diperlihatkan pada Gambar 1.5. Pada gambar diperlihatkan sinyal semula s dalam koordinat (x, y, z) diubah menjadi sinyal S dalam koordinat baru (x, y, z) melalui transformasi T. Kita bisa menganggap vektor basis dari koordinat asal adalah {i, j, k}={(1,0,0), (0,1,0), (0,0,1)}, sedangkan vektor basis dari koordinat yang baru adalah {i, j, k}. Pada Aljabar Linier, transformasi dari vektor s menjadi vektor S dapat dinyatakan sebagai perkalian antara vektor s dengan matriks transformasi T, atau S = Ts (1.5)

Ada sekelompok transformasi penting didalam pengolahan sinyal yang disebut sebagai transformasi ortogonal. Semua vektor basis dalam transformasi ini memiliki panjang satu satuan. Dengan demikian maka panjang atau magnitudo sinyal (vektor) s tidak akan berubah oleh transformasi. Secara geometrik, transformasi yang demikian akan berupa perputaran atau rotasi koordinat. Sebagai contoh, rotasi terhadap sumbu z sebesar sudut dapat dinyatakan sebagai matriks transformasi:

cos( ) sin ( ) 0 T = sin ( ) cos( ) 0 0 0 1

(1.6)

Akibat rotasi terhadap sumbu-z sebesar 45 derajat atau /4, maka sinyal s=[2 3 7]T pada contoh sebelumnya akan berubah menjadi:

cos(45) sin (45) 0 2 0.7071 S = Ts = sin (45) cos(45) 0 3 = 3.5355 0 0 1 7 7.0000

Memahami Penginderaan Kompresif dengan MATLABTM

13

Perhitungan diatas dapat dilakukan dengan Matlab sebagai berikut:

%** Transformasi sinyal ** s=[2 3 7]', % sinyal asli

% ** Definisikan matriks transformasi ** T=[cos(pi/4) -sin(pi/4) 0; sin(pi/4) cos(pi/4) 0; 0 0 1]; S=T*s, % sinyal hasil transformasi

Bentuk umum dari transformasi ortogonal disebut sebagai transformasi uniter, dimana basis vektor memiliki magnitudo satu tetapi nilainya bisa kompleks. Transformasi Fourier adalah contoh dari transformasi uniter. Matriks DFT dapat diperoleh secara mudah dengan Matlab dengan melakukan operasi fft terhadap suatu matriks satuan berukuran NN.

% cara-1: kalikan sinyal dengan matriks DFT s=[2 3 7]', N=length(s); U=fft(eye(N,N))/sqrt(N); %bentuk matriks DFT 3x3 S1= U*s, % hasil transformasi Fourier % sinyal asli

%cara-2: langsung dengan perintah fft S2=fft(s)/sqrt(N), %sama dengan S1

Untuk kasus sinyal kita terdahulu, kita perlu membentuk matriks DFT berukuran 33 yang kita sebut sebagai U. Hasil perkalian U dengan s akan menghasilkan sinyal kawasan frekuensi yaitu S1 = S2.

1 1 1 1 U= 1 0.5 0.87i 0.5 + 0.87i 3 1 0.5 + 0.87i 0.5 0.87i

6.93 S = Us = 1.73 + 2.0i 1.73 2.0i T

Kita akan memakai hasil diatas untuk menunjukkan konsep-konsep penting yang disinggung didepan. Yang pertama, suatu matriks U disebut uniter jika perkalian matriks ini dengan transpose dari konjugasi kompleksnya menghasilkan matriks satuan, atau U*TU = I. Kedua, kita akan memeriksa Teorema Parseval bahwa energi dikawasan waktu akan sama dengan energi dikawasan frekuensi, atau s*Ts = S*TS. Dan yang terakhir adalah sifat

14

Andriyan B. Suksmono

pengkompakan energi dengan memeriksa sebaran energi dikawasan frekuensi E = S S*. Script Matlab berikut dapat ditambahkan pada script sebelumnya:

S=S1; % sama juga S=S2 % Cek sifat uniter, T. Parseval, dan sebaran conj(transpose(U))*U %jika uniter akan hasilnya I berukuran NxN E_waktu=sum(conj(transpose(s))*s), %Energi kawasan waktu

E_frekuensi=sum(conj(transpose(S))*S) , %Energi kawasan frekuensi E_dist_frek = S.*conj(S), %sebaran energi

Akan diperoleh bahwa U benar-benar uniter karena hasil perkalian dengan konjugasi transpose-nya menghasilkan matriks identitas berukuran NxN. Nilai energi yang didapat adalah E_waktu=62 dan E_frekuensi=62, jadi keduanya identik dan memenuhi Teorema Parseval. Hal yang juga menarik adalah sebaran energi dikawasan frekuensi, yakni E_dist_frek=[48.0 7.0 7.0]T. Disini terlihat bahwa sebagian energi hasil transformasi terkumpul pada sejumlah kecil koefisien, dalam hal ini adalah koefisien yang pertama saja.

1.4 Matriks Transformasi Uniter dan Ortogonal Disamping DFT, beberapa matriks ortogonal atau uniter memiliki sifat pengkompakan energi. Disini akan ditinjau dua buah matriks ortogonal yang sering dipakai untuk melakukan transformasi sinyal, yaitu matriks DCT dan matriks Hadamard. Sinyal asal kita panjangkan menjadi empat cuplikan menjadi s=[2 3 7 11]. Dengan demikian kita akan memilih matriks DCT dan Hadamard yang ukurannya 44, masing-masing diberi notasi D dan H, yaitu:

0.50 0.50 0.50 0.50 0.65 0.27 0.27 0.65 D= 0.50 0.50 0.50 0.50 0.27 0.65 0.65 0.27

1 1 1 1 1 1 1 1 1 H2 = 2 1 1 1 1 1 1 1 1

Memahami Penginderaan Kompresif dengan MATLABTM

15

Matriks DCT diatas dapat dibentuk dengan perintah Matlab dct(eye(4,4)), sedangkan matriks Hadamard bisa dibentuk secara rekursif dengan perkalian Kronecker matriks dasar-nya, yaitu H1:

H1 =

1 1 1 1 H n 1 1 1 , H n = H n 1 H 1 = 2 2 H n 1

H n 1 H n 1

(1.7)

Script Matlab berikut ini dapat dipakai untuk mempelajari sifat-sifat penting kedua transformasi ortogonal tersebut.

%Transformasi ortogonal: DCT dan Hadamard s=[2 3 7 11]', N=length(s); %bentuk matriks transformasi D=dct(eye(N,N)); %bentuk matriks DCT 4x4 H2=[1 1 1 1; 1 -1 1 -1; 1 1 -1 -1; 1 -1 -1 1]/2; S_dct= D*s, S_had= H2*s, % hasil transformasi DCT % hasil transformasi Hadamard %energi sinyal asal % sinyal asli

E_asli= sum(transpose(s)*s),

E_dct =sum(transpose(S_dct)*S_dct) , %Energi kawasan DCT E_hadamard =sum(transpose(S_had)*S_had) , %Energi kawasan Hadamard E_dist_dct = S_dct.*S_dct, E_dist_had = S_had.*S_had, %gambarkan sebaran energi figure(1); bar(E_dist_dct); title('Sebaran energi di kawasan DCT'); figure(2); bar(E_dist_had); title('Sebaran energi di kawasan Hadamard'); %sebaran energi DCT %sebaran energi Hadamard

Perhitungan dengan script diatas menegaskan kembali hukum konservasi energi akibat Teorema Parseval, yaitu E_asli=E_dct=E_had = 183. Sifat pengkompakan energi juga ditemukan dikedua transformasi ini, yakni, masingmasing punya sebaran seperti pada Gb.1.6. Kompresi data yang sederhana dapat dilakukan dengan cara memilih beberapa koefisien dominan saja dan mengabaikan yang lain. Sebagai contoh, hasil transformasi DCT untuk sinyal s adalah S=[11.5 -6.9 1.5 0.1]T. Jika dipilih dua komponen dominan saja (yaitu kompresi duakalinya) dan mengisi komponen

16

Andriyan B. Suksmono

sisanya dengan nol, maka kita dapat pendekatan dari S , yaitu S_hat = [11.5 6.9 0 0]. Hasil transformasi balik sinyal ini (dengan perintah Matlab: D'*[11.5 6.9 0 0]' ) maka akan diperoleh nilai pendekatan dari sinyal asal sebesar s_hat=[1.2 3.9 7.6 10.3]. Sebaliknya, jika dua komponen tak-dominan yang dipilih, dengan kompresi yang sama akan diperoleh s_hat1= D'*[0 0 1.5 0.1]'=[0.8 -0.8 -0.7 0.7]T yang jauh lebih buruk dari sinyal aslinya.

Sebaran energi di kawasan DCT140 120 100 80 60 40 20 0 1 2 3 4 140 120 100 80 60 40 20 0

Sebaran energi di kawasan Hadamard

1

2

3

4

Gb.1.6 Perbandngan sebaran energi dalam kawasan DCT dan kawasan Hadamard Ukuran persis dari baik-buruk pendekatan sinyal yang satu terhadap yang lain dapat ditentukan dari jarak Euclidian kedua sinyal, yakni kurangkan kedua sinyal komponen demi komponen, lalu kuadratkan setiap komponen dan jumlahnya. Akar kuadrat dari hasil terakhir menunjukkan jarak yang kita cari. Analisis untuk transformasi Hadamard sejalan dengan penjelasan ini, tinggal menggantikan D dengan H2. Pada sub bab sebelumnya, diperoleh hasil berupa implikasi tak-langsung dari WHUP, yaitu sinyal yang tersebar dikawasan waktu akan terkumpul di kawasan frekuensi dan begitu pula sebaliknya. Hasil ini telah ditunjukkan dengan Matlab, dimana kita menghitung energi dari koefisien transformasi Fourier diskrit. Lebih lanjut lagi, sifat ini dimiliki juga oleh transformasi ortogonal atau uniter yang lainnya, misalnya DCT dan transformasi Hadamard. Sebuah teknik kompresi data yang sederhana telah dijelaskan, yaitu dengan mengambil dua dari komponen dominan koefisien transformasi DCT. Hasil inversi dari data kawasan transformasi yang telah dikompresi dengan cara ini mirip dengan sinyal aslinya, setidaknya jika dibandingkan dengan pilihan koefisien lainnya.

Memahami Penginderaan Kompresif dengan MATLABTM

17

Kompresi JPEG (lama) memakai DCT dan bukan transformasi Fourier karena pertimbangan praktis. Menyimpan koefisien kompleks yang terdiri dari bagian riil dan imajiner terlalu merepotkan dan kurang efisien. Lagipula, DCT adalah hampiran yang cukup baik terhadap transformasi idel KLT (Karhunen-Love Tranform) untuk sinyal Markov orde satu. Cara kerja kompresi JPEG mirip dengan kompresi sederhana yang telah dijelaskan, dengan tambahan kompresi tak-merugi entropy coding. Pada kompresi DCT diatas, telah dipilih komponen yang dominan dan letaknya bisa berubah bergantung pada sinyal masukannya, meskipun pada JPEG letaknya komponen ini dan alokasi bit-nya telah ditentukan oleh standard. Pemilihan yang mengikuti bentuk sinyal seperti ini disebut pemilihan secara adaptif, pada umumnya hal ini sebisa mungkin dihindari. Lagipula, kompresi dilakukan pada data dijital yang saat pengumpulan-nya (dipotret atau direkam) menghasilkan sejumlah besar data untuk kemudian dibuang pada saat kompresi. Teknik terbaru yang disebut Compressed Sensing/Compressive Sampling (CS) menghindari ketidakefisienan ini. Disamping itu, CS juga tidak memerlukan pencuplikan koefisien dominan secara adaptif karena bisa diambil yang mana saja asalkan batas minumum terpenuhi. Yang terakhir, teori CS memerlukan generalisasi dari hubungan waktu-frekuensi supaya prinsip ketidakpastian berlaku.

1.5 Prinsip Ketidakpastian untuk Kawasan Waktu-Frekuensi Diskrit Prinsip ketidakpastian Weyl-Heisenberg (WHUP) menyatakan bahwa sinyal kontinyu tidak mungkin terlokalisir sekaligus pada kawasan waktu dan frekuensi. Derajat lokalisasi suatu sinyal dinyatakan sebagai lebar/luas wilayah dimana sinyal ini memiliki nilai yang tidak nol, atau daerah-dukung (RoS-region of support) dari fungsi atau sinyal tersebut. Sebagai contoh, fungsi delta Dirac (t) hanya memiliki nilai tak nol pada waktu t=0; dengan demikian RoS-nya adalah satu. Sebaliknya, sinyal sinusoidal A.sin(t+) terbentang ke seluruh kawasan waktu sehingga memiliki RoS di kawasan waktu yang tak berhingga.

18

Andriyan B. Suksmono

Pengertian RoS untuk sinyal (waktu-) diskrit mirip dengan penjelasan diatas, yaitu daerah atau sekumpulan indeks waktu n dimana transform Fourier2kn N

sinyal diskrit s(n)

bernilai tak nol. Sinyal diskrit s(n) sepanjang N cuplikan akan memiliki

S (k ) =

1 N

s(n ) en =0

N 1

j

; k=0, 1, 2, , N-1

(1.8)

Untuk sinyal ini, WHUP menyatakan bahwa penjumlahan RoS (dilambangkan sebagai supp) sinyal dikawasan waktu dan RoS di kawasan frekuensi dibatasi oleh suatu nilai tertentu, yakni: |supp(s)| +|supp(S)| 2N (1.9)

Nilai terkecil dari jumlah kedua RoS ini, yaitu 2N, dicapai oleh fungsi Dirac Comb yang support-nya bersifat invarian terhadap transformasi Fourier. Fungsi ini dinyatakan sbb:

1 ; untuk n = m N ; m = 0, 1,..., N 1 s (n ) = 0 ; lainnyaN=16.

(1.10)

Gambar 1.7 memperlihatkan sinyal s(n) dan transform Fouriernya untuk kasus

T im e -d o m a in D ira c C o m b

F r e q u e n c y d o m a in a b s (D ira c C o m b )

1 0 .8 Magnitude Amplitude 0 .6 0 .4 0 .2 0

1 0 .8

s(n)

0 .6 0 .4 0 .2 0

S(k)

DFT/ IDFT15

0

5 T im e

10

0

5

10 F re q u e n c y

15

|supp(s)| = 4 |supp(s)| + |supp(S)| = 8 = 2N

|supp(S)| = 4

Gb.1.7 Fungsi ekstremal sisir Dirac memenuhi batas bawah prinsip ketidakpastian

Memahami Penginderaan Kompresif dengan MATLABTM

19

Sifat ini menunjukkan bahwa batas bawah dari prinsip ketidapkastian bersifat ketat (tight), dan telah dipenuhi oleh sebuah fungsi ekstremal berupa Dirac comb. Kedua gambar sinyal diatas dapat dibuat dengan memanfaatkan script Matlab berikut ini:

%-------------------------------------------------% Sifat Invarian Sisir Dirac (Dirac Comb) % terhadap Transformasi Fourier %--------------------------------------------------clear; clc; N=16; s=zeros(N,1); sqrt_N = round(sqrt(N)); maxIdx = floor(N/sqrt_N); for m=1:maxIdx; s(m*sqrt_N) =1; end figure(1);stem(s);title('Time-domain Dirac Comb'); xlabel('Time');ylabel('Amplitude'); %Dirac Comb in Frequency Domain S=fft(s)/sqrt(N); figure(2);stem(abs(S)); title('Frequency domain abs(Dirac Comb)') xlabel('Frequency');ylabel('Magnitude');

1.6 Prinsip Ketidakpastian untuk Sebarang Kawasan Diskrit Apakah prinsip ketidakpastian berlaku juga untuk pasangan kawasan selain waktu-frekuensi? Seperti telah diuraikan pada tulisan sebelumnya, suatu sinyal dapat dilihat dari berbagai kawasan melalui transformasi. Transformasi pada dasarnya adalah perubahan basis dan operasi untuk sinyal diskrit dapat dilihat sebagai perkalian antara vektor sinyal dengan matriks transformasi .

20

Andriyan B. Suksmono

sinyal hasil transformasi s(m) dengan

sinyal asli

s(n)koherensi pasangan basis

S(k) transformasidengan

sinyal hasil

(,)

Generalized Uncertainty Principle |supp(s)| + |supp(S)| 2/|(,)|

Gb.1.8 Diagram keterkaitan transformasi dalam GUP

Suatu matriks transformasi akan berisi vektor-vektor basis lengkap yang membentang ruang vektor. Ini berarti bahwa setiap sinyal dalam kawasan ini dapat dilihat sebagai kombinasi linier dari vektor-vektor basis tersebut. Untuk sepasang basis ortonormal (saling tegak-lurus dan panjangnya satu) dan , Elad dan Bruckstein memperkenalkan sebuah prinsip ketidakpastian yang diperumum atau GUP (Generalized Uncertainty Principle):

1 + 2 dimana:

2 (, )

(1.11)

(, ) = max , ,

(1.12)

Pada ekspresi diatas, 1 adalah support dari sinyal dalam basis (kawasan) , sedangkan, 2 adalah support dari sinyal dalam basis (kawasan) . Besaran (,) disebut koherensi (mutual coherence) antara kedua basis dan haruslah memenuhi syarat

1

N (, ) 1

(1.13)

Memahami Penginderaan Kompresif dengan MATLABTM

21

Koherensi menggambarkan tingkat keserupaan kedua basis: nilainya akan kecil jika keduanya berbeda dan akan bernilai satu jika mereka identik. Sebagai contoh, tinjau kasus WHUP kawasan diskrit yang merupakan kasus khusus dari GUP. Sinyal s(n) berada pada kawasan waktu memiliki pasangan S(k) pada kawasan frekuensi. Bisa dianggap bahwa s(n) memiliki basis berupa matriks identitas I, sedangkan S(k) memiliki basis Fourier diskrit. Dengan demikian bisa dianggap bahwa pasangan basis ini adalah

1 0 = ... 0

0 1 ... 0

... ... ... ...

0 0 =I ... 1

(1.14)

1 ... 1 1 N 1 2 i W ... W 1 1 N = , dimana W = e ... W kn ... N ... 1 W N 1 ... W ( N 1)( N 1)

(1.15)

Nilai maksimum dari perkalian skalar vektor basis || akan tercapai untuk sebarang pasangan vektor dan semuanya akan menghasilkan koherensi yang bernilai sama dengan 1/N akibat faktor normalisasi dari basis Fourier. Dengan demikian GUP akan menjadi |1|+|1|2/N atau |supp(s)|+|supp(S)|2/N seperti pada WHUP untuk kasus diskrit yang telah diuraikan sebelumnya. Tingkat koherensi beberapa pasangan basis lain dapat dihitung dengan menggunakan kode Matlab berikut ini.

%Hitung koherensi beberapa pasangan basis N=4; %dimensi basis I=eye(N,N); %basis identitas / waktu DFT=fft(eye(N,N))/(sqrt(N)); %basis DFT H2=[1 1 1 1; 1 -1 1 -1; 1 1 -1 -1; 1 -1 -1 1]/2; mu1=mu_GUP(I,DFT); %koherensi waktu-frekuensi disp(sprintf('Koherensi basis waktu-frekuensi %f\n',mu1)); mu2=mu_GUP(H2,DFT); %koherensi Hadamard-Fourier disp(sprintf('Koherensi basis Hadamard-Fourier %f\n',mu2));

% === FUNGSI %====

22

Andriyan B. Suksmono

function [mu_value]= mu_GUP(PHI, PSI); % fungsi untuk menghitung koherensi dua buah sistem basis % untuk memperlihatkan Generalized Uncertainty Principle % masukan: PHI, PSI dua buah matriks berdimensi sama [M,N]=size(PHI); G=PHI'*conj(PSI); mu_value = sqrt(M)*max(max(abs(G)));

Seperti pada kompresi dengan matriks ortogonal, metoda CS (compressed sensing) juga mengambil komponen dominan dari suatu sistem basis. Namun demikian, basis yang dipakai bersifat overcomplete, dimana ada banyak sekali kemungkinan memilih basis yang sesuai untuk menyatakan suatu sinyal. Oleh karena itu perlu kendala tambahan agar solusi bisa ditemukan, yakni sinyal yang direkonstruksi dianggap bersifat sparse. Metoda CS memerlukan dua buah basis pada saat melakukan pencuplikan atau sensing, yaitu sparsity basis dan projection basis . Tingkat koherensi kedua basis menentukan batas minimum banyaknya cuplikan untuk merekonstruksi suatu sinyal secara eksak.

Memahami Penginderaan Kompresif dengan MATLABTM

23

II. Dekomposisi Sinyal dan Pencarian Basis Ideal2.1 Basis Ortogonal dan Lengkap dari Sinyal Pada pembahasan sebelumnya telah ditunjukkan cara memanfaatkan

transformasi ortogonal untuk melakukan kompresi sinyal. Secara intuitif dapat difahami jika suatu sistem kompresi menghendaki terkumpulnya energi pada kawasan transformasi hanya ke sejumlah kecil koefisien supaya tingkat kompresi tinggi dengan kualitas hasil rekonstruksi yang terjaga. Namun demikian hal ini tidak selalu bisa dilakukan karena setiap sistem basis hanya cocok untuk seglongan sinyal-sinyal tertentu saja. Basis sinusoid dalam transformasi Fourier atau DCT melakukan pengkompakan energi dengan baik jika sinyal asalnya tersebar di kawasan waktu. Sebaliknya, sinyal yang terlokalisir dalam kawasan ini akan baik jika dipakai basis impuls atau wavelet.

Vektor basis impuls

60 32 16 88 60 32 16

Vektor basis DCT

4 2 1 0

4 2

2

4

8

16

32

60

0

10

20

30

40

50

60

Gb.2.1 Beberapa vektor basis impuls Gb.2.2 Beberapa vektor basis DCT Gambar 2.1 dan 2.2 diatas memperlihatkan beberapa vektor basis dari sistem basis impuls dan sistem basis DCT , keduanya dilukiskan pada kawasan waktu. Sifat lokalisasi sinyal terlihat dengan jelas dari kedua gambar, yakni basis impuls terlokalisir sedangkan DCT tersebar. Program Marlab berikut dapat dipakai untuk menampilkan vektor-vektor basis seperti diatas.

%----------------------------------------------% Sistem Basis Impuls dan DCT

24

Andriyan B. Suksmono

%----------------------------------------------N=64; %dimensi vektor basis x=1:N; %buat sumbu x PHI=eye(N,N); %Basis Impulse PSI=dct(eye(N,N)); %Basis DCT figure(1);plot(x,PHI(2,:),x,1+PHI(4,:),x,2+PHI(8,:),... x,3+PHI(16,:),x,4+PHI(32,:),x,5+PHI(60,:)); title('Vektor basis impuls'); figure(2);plot(x,PSI(2,:),x,0.5+PSI(4,:),x,1+PSI(8,:), ... x,1.5+PSI(16,:),x,2+PSI(32,:),x,2.5+PSI(60,:)); title('Vektor basis DCT');

Basis mana yang harus dipilih jika suatu sinyal merupakan campuran dari komponen sinusoid dan impuls? Tinjau suatu sinyal s(n) yang terbentuk dari sistem basis berupa vektor basis ke-4 dan ke-32 dan dua buah lainnya dari sistem basis , yaitu vektor basis ke-8 dan ke-60. Prinsip kompresi sederhana yang sudah dijelaskan dapat dicobakan untuk setiap sistem basis, yaitu dengan mengalikan matriks transformasi-nya dengan vektor s(n), Proyeksi sinyal ke basis impuls: S 1 = s

(2.1)

Proyeksi sinyal ke basis DCT:

S2 = s

(2.2)

Langkah berikutnya, ambil beberapa koefisien dengan energi (magnitudo) terbesar. Tentu cara lain dapat dilakukan, misalnya tresholding dengan mencari koefisien-koefisien yang energi/magnitudo-nya berada diatas ambang batas nilai tertentu. Untuk indeks dari koefisien kK dari vektor basis terpilih, rekonstruksi dilakukan dengan cara menjumlahkan vektor dari basis yang telah diboboti, yaitu:

Rekonstruksi dng basis impuls:

s1 (n ) = S1 (k )(k , n )kK

(2.3)

Rekonstruksi dng basis DCT:

s 2 (n ) = S 2 (k ) (k , n )kK

(2.4)

Memahami Penginderaan Kompresif dengan MATLABTM

25

Kinerja dari rekonstruksi sinyal dilihat dari energi sinyal kesalahan (error) ratarata atau RMSE (Root Mean Square Error) masing-masing, yang dinyatakan sebagai:

RMSE =

1 N

(e(n ))n=0

N 1

2

dimana e(n ) = s (n ) s (n )

(2.5)

Semakin kecil nilai ini, maka secara obyektif hasil rekonstruksi semakin baik. Nilai RMSE yang besar menandakan terjadinya distorsi yang besar pada sinyal.sinyal kombinasi impuls dan DCT 1 0.8 0.6 s(n) 0.4 0.2 0 -0.2 -0.4 0 10 20 30 n 40 50 60

Gb.2.3 Sinyal asal s(n) Gambar 2.3 menunjukkan sinyal asal s(n) berupa gabungan dua sinusoid dan dua sinyal impuls. Sinyal ini akan didekomposisi dengan basis impuls dan kemudian dengan basis DCT. Hasil proyeksi dari sinyal ini ke kedua basis akan menghasilkan koefisien yang dinyatakan sebagai vektor S1 dan S2. Untuk mengamati sebaran energi, nilai mutlak S1 dan S2 diurutkan dan kemudian dibuatkan kurvanya.

26

Andriyan B. Suksmono

magnitudo koefisien terurut 1.4 1.2 1 |S|-terurut 0.8 0.6 0.4 0.2 0 0 10 20 30 index 40 50 60 proyeksi Impuls proyeksi DCT

Gb.2.4 Magnitudo koefisien terurut Kedua kurva diberikan pada Gambar 2.4. Terlihat bahwa, meskipun beberapa koefisien awal dominan, penurunan nilai energi koefisien lainnya tidak terlalu tajam. Dengan demikian, pengambilan sejumlah kecil komponen dominan akan tetap menghasilkan sinyal sisa yang cukup tinggi energinya yang menggambarkan rekonstruksi sinyal yang kurang berhasil.

perbandingan hasil rekonstruksi 1 0.8 0.6 s(n) 0.4 0.2 0 -0.2 -0.4 0 10 20 30 n 40 50 60 asli rek. impuls rek. DCT

Gb.2.5 Perbandingan sinyal asli dng rekonstruksi

Memahami Penginderaan Kompresif dengan MATLABTM

27

sinyal kesalahan 1 0.8 0.6 e(n) 0.4 0.2 0 -0.2 -0.4 0 10 20 30 n 40 50 60 sinyal error impulse sinyal error DCT

Gb.2.6 Sinyal kesalahan e(n) Gambar 2.5 memperlihatkan hasil rekonstruksi dengan menggunakan delapan buah vektor basis. Kurva biru merupakan hasil dari basis impuls, sedangkan kurva merah dari basis DCT. Perbandingan dengan sinyal asli yang dinyatakan sebagai titik-titik berwarna hitam memperlihatkan beda yang cukup signifikan. Perbedaan ini semakin jelas setelah sinyal kesalahan e1(n) dan e2(n) diperlihatkan pada Gambar 2.6.

kinerja RMSE pengkodean 0.025 Impulse DCT 0.02 RMS Error

0.015

0.01

0.005

0 0

10

20

30 40 jumlah koefisien

50

60

Gb.2.7 Kinerja RMSE Kinerja rekonstruksi dapat dievaluasi dengan mengukur RMSE berbagai jumlah vektor basis seperti yang diperlihatkan pada Gambar 7. Penurunan RMSE

28

Andriyan B. Suksmono

terjadi secara perlahan dan mencapai nol ketika seluruh N-buah vektor basis diikutsertakan; yang artinya tidak ada kompresi. Program Matlab berikut dapat dipergunakan untuk menunjukkan proses proyeksi dan rekonstruksi diatas.

% Pencarian basis clear;%close all;clc; N=64; %dimensi vektor basis x=1:N; %buat sumbu x PHI=eye(N,N); %Basis Impulse PSI=dct(eye(N,N)); %Basis DCT %bentuk sinyal dari basis DCT saja s1=zeros(N,1);s1=zeros(N,1); s1=(PHI(4,:)+PHI(32,:))'; s2=(PSI(8,:)+PSI(60,:))'; s=zeros(N,1); s=s1+s2; figure(1);plot(x,s); title('sinyal kombinasi impuls dan DCT'); xlabel('n');ylabel('s(n)'); S1=PHI*s; S2=PSI*s; %cari koefisien

%urutkan koefisien dan ambil dua terbesar [S1_oval,S1_oidx]= sort(abs(S1),'descend'); [S2_oval,S2_oidx]= sort(abs(S2),'descend');

% rekonstruksi sinyal s_hat1=zeros(N,1); s_hat2=zeros(N,1); for k=1:8; s_hat1=s_hat1+(S1(S1_oidx(k))*PHI(S1_oidx(k),:))'; end; for k=1:8; s_hat2=s_hat2+(S2(S2_oidx(k))*PSI(S2_oidx(k),:))'; end;

%hitung kesalahan e1=s-s_hat1;e_rms1=sqrt(e1'*e1)/N;disp(sprintf('rms error-Impulse %f',e_rms1)); e2=s-s_hat2;e_rms2=sqrt(e2'*e2)/N;disp(sprintf('rms error-DCT %f',e_rms2)); figure(2); plot(x,S1_oval,'r-', x,S2_oval,'b-'); title('magnitudo koefisien terurut'); xlabel('index');ylabel('|S|-terurut'); legend('proyeksi Impuls','proyeksi DCT');

figure(3);plot(x,s,'k.',x,s_hat1,'b:',x,s_hat2,'r-');title('perbandingan hasil rekonstruksi'); xlabel('n');ylabel('s(n)'); legend('asli','rek. impuls','rek. DCT'); figure(4);plot(x,e1,'r-',x,e2,'b--');title('sinyal kesalahan'); xlabel('n');ylabel('e(n)'); legend('sinyal error impulse','sinyal error DCT');

Memahami Penginderaan Kompresif dengan MATLABTM

29

%data error beberapa nilai k x_e=[2 4 8 16 32 64]'; e_PHI=[2.18e-2 2.05e-2 1.78e-2 1.33e-2 5.94e-3 0.0]'; e_PSI=[2.16e-2 2.02e-2 1.77e-2 1.32e-2 6.28e-3 0.0]'; figure(5);plot(x_e,e_PHI,'r-',x_e,e_PSI,'b-'); title('kinerja RMSE pengkodean'); xlabel('jumlah koefisien');ylabel('RMS Error'); legend('Impulse','DCT');

Melihat hasil yang kurang baik dengan satu buah basis ortogonal saja, apakah mungkin terjadi peningkatan kinerja jika dua atau lebih sistem basis digabungkan? Memang cara inilah yang paling masuk akal, namun demikian ada satu masalah besar yang sudah menanti. Gabungan kedua basis akan menghasilkan suatu basis baru yang dimensinya menjadi 2NxN. Dilihat dari sistem persamaan linier, permasalahan berubah menjadi lebih sulit karena diharuskan mencari solusi dari N buah persamaan dengan 2N buah peubah yang tak diketahui (Underdetermined Liniear Equations). Tinjau suatu matriks transformasi A berukuran 2x2 yang bisa dianggap menyatakan transformasi vektor pada bidang atau transformasi sinyal 2 cuplikan dari x=[x1 x2] T menjadi y=[y1 y2]T. Pencarian koefisien transformasi x(n) yang tepat dari sinyal teramati y(n) dapat dinyatakan sebagai persamaan matriks: Ax=y, atau

a11 a 21

a12 x1 y1 = a 22 x 2 y 2

Bentuk sistem persamaan liniernya adalah

a11 x1 + a12 x 2 = y1 a 21 x1 + a 22 x 2 = y 2Karena yang takdiketahui ada dua {x1,x2} dan ada dua persamaan, jika matriks A tak-singular tau memiliki inverse, maka sistem persamaan linier diatas dapat dipecahkan dengan eliminasi Gauss atau mengalikan inverse A dengan vektor [y1 y2 ]T dari kiri.

30

Andriyan B. Suksmono

Penggabungan sistem basis A dengan basis baru B menjadi D=[A;B] akan membuat persamaan matriks diatas menjadi

a11 a 21

a12 b11 a 22 b21

x1 b12 x 2 y1 = b22 x 3 y 2 x 4

(2.6)

Atau dinyatakan sebagai sistem persamaan linier berikut:

a11 x1 + a12 x 2 + b11 x 3 + b12 x 4 = y1 a 21 x1 + a 22 x 2 + b21 x 3 + b22 x 4 = y 2

(2.7.a) (2.7.b)

Sistem persamaan linier diatas terdiri dari empat buah variabel, yaitu {x1, x2, x3, x4} sedangkan hanya ada dua persamaan linier saja. Inilah yang disebut sebagai sistem persamaan linier yang underdetermined dan pemecahannya tidak mudah. Untuk kasus sinyal, karena masing-masing sistem basis bersifat lengkap, akan ada banyak sekali kombinasi yang muncul untuk menyatakan suatu vektor s(n). Dapat ditunjukkan bahwa pencarian basis ke seluruh kemungkinan memerlukan sumberdaya komputasi yang sangat besar karena termasuk permasalahan kombinatorial.

2.2 Representasi Sinyal dengan Kamus Basis Penggabungan berbagai basis ortogonal menjadi satu buah kamus-basis yang lewat-lengkap (overcomplete) diharapkan dapat membuat dekomposisi sinyal lebih efisien. Peningkatan kinerja kompresi dapat terjadi akibat dari dua hal: (1) tingkat kompresi tinggi karena koefisien yang diambil hanya sedikit, dan (2) sejumlah kecil koefisien tadi cukup untuk merekonstruksi sinyal secara baik. Namun demikian pencarian vektor didalam basis overcomplete dengan kriteria cacah koefisien terkecil memerlukan sumberdaya komputasi yang sangat besar.

Memahami Penginderaan Kompresif dengan MATLABTM

31

Melalui prinsip ketidakpastian, masalah ini dapat diubah menjadi optimisasi konveks yang lebih mudah dipecahkan, asalkan sinyal bersifat sparse. Tinjau gabungan M buah basis ortogonal 1, 2,..., M yang masing-masing berukuran NN menjadi satu buah basis overcomplete = 12...M. Basis baru yang juga disebut sebagai dictionary (kamus basis), akan memiliki dimensi N(MN). Suatu sinyal s=[s1 s2 ... sN]T sepanjang N cuplikan dapat dinyatakan dengan berbagai macam kombinasi linier vektor-vektor basis yang ada didalam , bahkan dari masing-masing sistem basis ortogonal m karena bersifat lengkap, atau semua kombinasi yang mungkin dari m. Dengan pertimbangan efisiensi yang dituntut oleh kinerja kompresi sinyal, haruslah dipilih kombinasi berbentuk:

s =

(2.8)

dimana adalah vektor basis didalam , sedangkan =(m,i) menyatakan bahwa basis tersebut adalah vektor basis kei didalam sistem basis d. Syarat kompresi efisien mengharuskan cacah yang sekecil mungkin. Cacah dari dapat dituliskan secara ringkas sebagai

0

=

0

(2.9)

Sebagai ilustrasi arti norm ||||0 , tinjau contoh perhitungan berikut ini. Suatu dictionary yang merupakan hasil penggabungan 2 buah basis ortogonal memiliki dimensi 42, dimana

1 0 1 0 1 1 1 , 2 = ; = 1 2 = 1 = 0 1 0 1 2 1 1

1 2 1 2

1 2 1 2

Tiga dari empat basis didalam ini dapat dipakai untuk menyatakan sebuah sinyal dua cuplikan, misalnya s=[-0.75/2 (1-0.75/2)]T. Sinyal ini dapat terbentuk dari ={(1,2), (2,1), (2,2)}, masing-masing dengan koefisien (1,2) = 0.25, (2,1) = -0.25, dan (2,2) =- 0.5. Dengan demikian |(1,2)| = 0.25, |(1,2)| = 0.25, dan |(2,2)|=0.5, sehingga

32

Andriyan B. Suksmono

0

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

0

0

0

= 0.25 + 0.25 + 0.5 = 1 + 1 + 1 = 30 0 0

Terlihat bahwa norm ||||0 hanya menghitung cacah (count) dari koefisien terpilih, tidak peduli berapapun nilai dari || karena bilangan positif yang dipangkatkan nol akan sama dengan satu. Pencarian basis representasi sinyal s didalam dengan cacah terkecil disebut sebagai masalah (P0) yang dapat dinyatakan sebagai optimisasi berikut: (P0): min , s.t. s =

0

(2.10)

Mengingat ada sejumlah tak-berhingga solusi dari sistem persamaan linier yang underdetermined, apakah nilai minimum ini dapat ditemukan? Untuk pasangan basis waktu-frekuensi, Donoho memberikan batasan supaya pencarian menemukan solusi yang unik dengan menggunakan prinsip ketidakpastian sebagai berikut.

Teorema 1. Jika s(n) adalah sinyal waktu diskrit sepanjang N cuplikan yang memiliki Nt buah support (koefisien tak-nol), sedangkan S(k) adalah transform Fourier sinyal tersebut yang memiliki Nw buah support, maka NtN N atau Nt + N 2N (2.11)

Jika cuplikan yang bernilai tak-nol (support) dari sinyal di kedua wilayah kurang dari setengah batas prinsip ketidakpastian diatas, maka P0 akan memiliki solusi yang unik. Teorema 2. Tinjau sinyal s(n) yang tersusun atas himpunan T dari vektor basis kawasan waktu dan himpunan basis dari kawasan frekuensi. Jika |T| + || N (2.12)

maka P0 akan memiliki solusi yang unik. Sementara itu akan ada sinyal s(n) lain sedemikian hingga |T| + || = N dan P0 akan memiliki solusi yang tidak unik.

Memahami Penginderaan Kompresif dengan MATLABTM

33

Pada teorema diatas, notasi |.| menyatakan kardinalitas atau banyaknya anggota himpunan. Donoho memberikan pembuktian dari teorema diatas dengan meninjau kasus fungsi ekstremal sisir Dirac (Dirac comb) yang telah dijelaskan sebelumnya. Untuk N bilangan kuadrat sempurna (perfect square), misalnya 4, 9, 16, ... dst, sisir Dirac memiliki support sebesar N di kawasan waktu maupun kawasan frekuensi. Ini berarti bahwa sebuah sisir Dirac dapat dinyatakan sebagai N buah vektor basis impuls atau N buah basis Fourier, sehingga representasinya didalam basis gabungan impuls-Fourier tidaklah unik. Akibatnya solusi dari P0 juga tidak unik. Sebaliknya, jika jumlah support-nya kurang dari K=N, maka akan hanya ada satu buah solusi saja, sehingga solusi P0 akan bersifat unik. Meskipun solusinya unik, memecahkan masalah P0 bukanlah hal yang mudah. Untuk mengatasi hal ini, Chen dan Donoho mengajukan teknik Basis Pursuit, yaitu dengan menggantikan P0 dengan optimisasi P1 sebagai berikut: (P1): min , s.t. s =

1

(2.13)

Keberadaan solusi P1 memerlukan batasan support sinyal didalam yang lebih kecil lagi, yaitu kurang dari setengah batas P0. Untuk basis waktu-frekuensi, ketentuan ini dinyatakan dalam teorema berikut. Teorema 3. Untuk sinyal s seperti pada Teorema 2, jika |T| + || (1/2)N (2.14)

Maka solusi dari P1 adalah unik, yang juga merupakan solusi unik untuk P0. Sementara itu, ada sinyal yang jika |T| + || = N dimana P1 memiliki solusi yang tidak unik. Sinyal dengan support dibawah batas ketentuan P1 ini disebut sebagai sinyal sparse karena dapat dibentuk hanya dari sejumlah kecil vektor basis didalam . Secara singkat dapat disebutkan sebuah hasil penting berikut ini:

34

Andriyan B. Suksmono

jika

sinyal

s

bersifat

sparse

dalam

kawasan

waktu-frekuensi,

maka

dekomposisinya bersifat unik, dan algoritma basis pursuit atau P1 akan dapat menemukannya. Bagaimana dengan pasangan basis selain waktu-frekuensi? Pada tulisan sebelumnya dikatakan bahwa prinsip ketidakpastian dikawasan lain telah diperumum oleh Elad dan Bruckstein dengan melibatkan koherensi antara sistem basis 1 dan 2, yaitu (1,2), yang secara konsisten akan kembali menjadi WHUP jika kedua basis adalah pasangan waktu-frekuensi. Dasar pemikiran ini dipakai oleh Elad-Bruckstein maupun Donoho-Huo untuk menghasilkan teorema keunikan dari solusi P1 berikut.

Teorema 4. Andaikan 1 dan 2 adalah dua basis ortonormal dengan koherensi (1,2) dan andaikan =12 adalah gabungan kedua basis. Jika suatu sinyal waktu diskrit s dapat dinyatakan sebagai s= dengan memenuhi syarat ||||0 2/.

Memahami Penginderaan Kompresif dengan MATLABTM

37

Dengan demikian, diperoleh hubungan antara koherensi dengan batas dari jumlah koefisien dikedua kawasan, yaitu: Ketidakpastian Elad-Bruckstein: ||||0 + ||||0 2/ (2.19)

Batas atas ini lebih baik daripada yang diperoleh Donoho-Huo sebelumnya, yaitu sebesar Ketidakpastian Donoho-Huo: Andaikan suatu sinyal ||||0 + ||||0 (1 + 1/) (berenergi satu-satuan) s (2.20) dapat

ternormalisasi

dinyatakan dengan dua cara berbeda didalam kamus-basis =, yaitu s = 1 = 2 sehingga

x 0 = ( 1 2 ) = ( ) 1 x 2

(2.21)

Akibatnya x1+x2 = 0 atau x1 = -x2. Berdasarkan prinsip ketidakpastian, maka (2/M) ||x1||0+||x2||0 = ||1 - 2||0 ||1||0 + ||2||0, (2/M) ||1||0 + ||2||0, atau (2.22)

yakni, dua representasi dari sinyal yang sama tidak bisa sekaligus sparse duaduanya. Akhirnya diperoleh hasil berikut:

Teorema 2. Jika ada suatu representasi yang memenuhi syarat Batas Keunikan P0 Elad-Bruckstein: ||||0 < 1/ (2.23) maka haruslah representasi itu unik, atau yang paling sparse. Sampai dengan tahap ini, pencarian basis ideal masih mengandalkan P0. Tujuan berikutnya adalah mencari batas sparsity dimana P1 sanggup

38

Andriyan B. Suksmono

menemukan solusinya yang identik dengan solusi P0. Untuk suatu sinyal s=[; ], dengan asumsi sparsity pada dan k1> add noise derau=randn(N,1); y = x0 + 5*derau/(derau'*derau);

48

Andriyan B. Suksmono

min_y=min(y);

D_pos=-D; %define dictionary A A=zeros(N,2*over_factor*N); A(:,1:over_factor*N)=D; A(:,over_factor*N+1:2*over_factor*N)=D_pos;

%Basis Pursuit on random basis f=ones(2*nAtoms,1); lb=zeros(2*nAtoms,1); alpha=linprog(f,[],[],A,y,lb);

figure(2);plot(1:nAtoms,X,'r:',1:nAtoms,alpha(1:nAtoms),'b--'); legend('original','alpha');

%obtain a few largest component, by sorting alpha [z,imax]=sort(alpha(1:nAtoms));

%Reconstruct estimated signal x_hat=zeros(N,1); for k=1:N_support; x_hat=x_hat+ D(:,imax(nAtoms-k+1)); end; x_hat1=D*alpha(1:nAtoms); figure(3);plot(1:N,x0,'k.',1:N,y,'b-',1:N,x_hat,'r:',1:N,y-x0,'g-',1:N,x_hat1,'k--'); legend('original','noisy','estimated','noise-level','D*alpha'); figure(4);plot(1:N,y-x0,'r-',1:N,x_hat-x0,'b-',1:N,x_hat1-x0,'k-'); legend('initial error','estimation error','D*alpha error');

Gabungan pasangan sistem-basis impulse-DCT menghasilkan sebuah kamusbasis berukuran 64128. Batas sparsity Elad-Bruckstein untuk pasangan basis ini adalah sekitar 0.9N ~7. Dengan hanya mengambil 4 buah vektor basis penyusun, yaitu vektor pada urutan ke 8, 32, 73, dan 125 haruslah P1 dapat menemukan solusi eksak-nya.

Memahami Penginderaan Kompresif dengan MATLABTM

49

Vektor basis terpilih 1.4 1.2 magnitudo koefisien 1 0.8 0.6 0.4 0.2 0 0 20 40 60 80 indeks vektor 100 120 original alpha

Gb.2.9 Vektor basis terpilih didalam kamus basis

Gambar 2.9 menunjukkan vektor basis terpilih oleh P1 yang tepat berhimpit dengan basis penyusun sinyal. Dengan demikian seluruh komponen sinyal telah berhasil ditemukan. Disamping itu, koefisian basis lainnya jauh lebih kecil daripada komponen basis penyusun. Komponen ini biasanya dihilangkan dengan peng-ambangan (tresholding).

Perbandingan sinyal 1.2 1 0.8 magnitudo 0.6 0.4 0.2 0 -0.2 -0.4 0 10 20 30 waktu 40 50 60original noisy estimated noise-level D*alpha

Gb.2.10 Sinyal asal dan hasil rekonstruksi

50

Andriyan B. Suksmono

Perbandingan sinyal kesalahan 0.2 0.15 0.1 amplitudo 0.05 0 -0.05 -0.1 -0.15 -0.2 0 10 20 30 waktu 40 50 60 initial error estimation error D*alpha error

Gb.2.11 Sinyal kesalahan

Berbagai sinyal dibandingkan dalam Gambar 2.10. Terlihat bahwa sebenarnya tingkatan sinyal derau (kurva berwarna hijau) cukup tinggi jika dibandingkan dengan sinyal asalnya (titik-titik hitam), menghasilkan distorsi yang signifikan (sinyal warna biru). Namun demikian, karena semua koefisien berhasil ditemukan, sinyal dapat direkonstruksi secara eksak. Hal ini ditunjukkan pada Gambar 2.11, dimana sinyal kesalahan (biru) berharga nol.

Memahami Penginderaan Kompresif dengan MATLABTM

51

III. Aplikasi Penginderaan Kompresif

3.1 Kamera Piksel-Tunggal Technology Review adalah sebuah majalah bulanan yang sering dijadikan acuan untuk melihat perkembangan teknologi terkini. Seperti pada tahun-tahun sebelumnya, setiap bulan Maret majalah ini akan menampilkan sepuluh macam teknologi yang diramalkan bakal menjadi kunci dimasa mendatang, Ten Emerging Technologies. Pada tahun 2006, ada satu dari 10 teknologi ini yang cukup menarik perhatian khalayak karena sangat tidak biasa, yaitu Kamera Piksel-Tunggal. Kamera ini tidak memakai CCD sebagai pengubah bayangan benda menjadi gambar dijital, melainkan hanya satu buah fotodioda saja. Sebuah kamera piksel-tunggal, seperti yang diperlihatkan secara skematik pada Gambar 3.1, memanfaatkan larik cermin mikro (DMD-Digital Micromirror Device) yang secara acak melakukan penyapuan bayangan benda. Bagian bayangan yang jatuh pada elemen cermin yang sedang aktif diteruskan kesebuah fotodioda untuk diubah menjadi sinyal listrik. Perangkat DMD biasanya dipakai pada televisi proyeksi.

Light source

Photo diode

object

DMD array optical lens

random number

Gb.3.1 Kamera piksel-tunggal Informasi elemen DMD aktif dan intensitas cahaya yang sudah didijitasi selanjutnya disampaikan ke sebuah pengolah data. Karena tidak seluruh cermin diaktifkan untuk menangkap benda, jumlah piksel yang direkam

52

Andriyan B. Suksmono

menjadi lebih kecil jika dibandingkan dengan kamera dijital biasa. Selanjutnya rekonstruksi dilakukan menurut prinsip pencuplikan kompresif. Dari sudut pandang pencuplikan kompresif, operasi pengambilan elemen bayangan secara acak oleh DMD menyatakn proses pengamatan yang dapat dinyatakan sebagai proyeksi s dengan matriks pengukur . Jika N jumlah total dari cermin DMD, sedangkan M menyatakan cermin aktif dalam satu kali pengambilan gambar, maka dapat dinyatakan sebagai matriks berukuran MxN. Setiap baris dari matriks ini akan berisi satu buah angka satu yang letaknya acak, sedangkan elemen sisanya pada baris ini bernilai nol. Operasi pengukuran ini dapat dinyatakan sebagai:

s = s = ( )S

(3.1)

Berdasarkan persamaan diatas, proses pengamatan dapat dipandang sebagai pencuplikan kompresif dengan dua cara yang berbeda, yaitu: 1. Pencuplikan kawasan spasial terhadap sinyal s secara acak 2. Pencuplikan kawasan transform sebagian dari basis penjarang secara acak Dua cara pandang ini dapat memberikan dua pendekatan berbeda dalam mencari solusi atau merekonstruksi citra hasil pengamatan. Tulisan ini akan menjelaskan terlebih dahulu cara pertama, sedangkan cara kedua akan dijelaskan pada tulisan berikutnya. 3.1.1 Pencuplikan kompresif kawasan spasial Pada tulisan sebelumnya telah diperkenalkan formulasi teknik pencuplikan kompresif dalam kawasan ruang-waktu. Secara prinsipil, teknik pencitraan yang pertama ini tidak berbeda dari yang telah dijelaskan dalam pencuplikan kompresif. Dengan demikian, diagram ranah-jamaknya masih tetap sama seperti sebelumnya. Selanjutnya, persamaan (3.1) dapat diuraikan menjadi

Memahami Penginderaan Kompresif dengan MATLABTM

53

s1 s2 ... s M

0 0 = ... 0

0 ... 0 0 0 0 ... 1 0 ... ... ... ... ... 0 1 ... 0 0 1

11 12 22 21 ... ... M 1 M 2

... 1N S 1 ... 2 N S 2 ... ... ... ... MN S N

(3.2)

Operasi proyeksi dilakukan dengan mengalikan sinyal asli s dengan operator proyeksi yang dibuat dengan mengaktifkan satu elemen saja dari setiap vektor baris matriks ini. Setelah mengubah bayangan benda dari larik dua dimensi menjadi satu dimensi, instruksi untuk mensimulasikan proses pengukuran dengan Matlab adalah:

% *** Simulasikan Digital Micromirror Device *** rp=randperm(N); act_cell(1:M_sub)=rp(1:M_sub); %randomize mirror in DMD PHI=zeros(M_sub,N); for k=1:M_sub; PHI(k,act_cell(k))=1;end; PHI=orth(randn(M_sub,N)')'>0;

%*** Lakukan pengukuran x_sub=PHI*x0 *** x_sub=PHI*x0;

Pada contoh ini dipakai sebuah objek sederhana, yaitu citra yang menyerupai huruf H seperti yang diperlihatkan pada Gambar 3.2. Hasil pengukuran akan merupakan citra tak-sempurna karena piksel yang terambil hanya sedikit dan letaknya acak. Hasil ini diperlihatkan pada Gambar 3.3.

citra asli2 4 6 8 10 12 14 16 5 10 15

Gb.3.2 Citra sederhana dalam pencitraan kompresif

54

Andriyan B. Suksmono

citra teramati2 4 6 8 10 12 14 16 5 10 15

Gb.3.3 Citra hasil pengukuran Berdasarkan hasil pengukuran, gambar dapat direkonstruksi dengan melalui algoritma basis pursuit. Sebagai contoh bisa diambil DCT sebagai transformasi

penjarang. Jika s menyatakan hasil pengamatan, k vektor basis penjarang kek, maka pencarian basis dapat dirumuskan sebagai berikut:

P1: min ||S||1 s.t. s =

S k k

k

(3.3)

Setelah seluruh vektor basis ditemukan, citra bisa direkonstruksi dengan menjumlahkan vektor-vektor basis ini yang diboboti dengan Sk yang sesuai. Hasil rekonstruksi ditunjukkan pada Gb. 3.4.citra rekonstruksi2 4 6 8 10 12 14 16 5 10 15

Gb.3.4. Citra rekonstruksi Meskipun citra huruf H masih terlihat pada hasil rekonstruksi, Gambar 4 memperlihatkan bahwa secara visual hasilnya masih kurang baik. Hal ini bisa dijelaskan dengan melihat seluruh komponen Sk yang terambil pada pencarian basis.

Memahami Penginderaan Kompresif dengan MATLABTM

55

Gambar 3.5 memperlihatkan kurva magnitudo Sk yang telah diurutkan. Meskipun koefisien ini meluruh, terlihat bahwa peluruhan ini kurang cepat. Pengambilan koefisien sebanyak derajat sparsity yang diperkirakan masih akan menyisakan informasi yang Bagaimana cara mengatasinya? cukup penting. Dengan demikian, masalah utamanya adalah pemilihan transformasi penjarang yang kurang tepat.

koefisien terurut4 3.5 3

magnitudo

2.5 2 1.5 1 0.5 0 0 50 100 150 200 250 300

indeksGb.3.5 Magnitudo koefisien terpilih yang diurutkan Kode Matlab

%---------------------------------------------------------% Pencitraan Kompresif: kamera dijital dng 1 foto-dioda %---------------------------------------------------------clear;%close all;clc; % read original image

%cam01=double(imread('cameraman.tif','tif')); %I=cam01(140:155,35:50); %load cam01; I=cam01;

%baca citra I=double(imread('IMG\H.bmp','bmp'));

%tampilkan citra asal; figure(1); imagesc(I); colormap(gray); title('citra asli');

56

Andriyan B. Suksmono

[N_col,N_row]=size(I);

N=N_col*N_row; %panjang sinyal %Pembentukan basis sparsity /DCT PSI=dct(eye(N,N)); %buat matriks DCT K_sparse=2*round(sqrt(N));%tingkat sparsity

x = reshape(I,N,1); %ubah menjadi vektor x0=(x-mean(x))/(max(x)-min(x));%normalisasi

%proses pengamatan/pengukuran %estimasikan minimal jumlah cuplikan M>CKlog(N) mu=1*(1/sqrt(N)); %tentukan koherensi->perkiraan C=sqrt(N)*mu; %koherensi tak ternormalisasi=sqrt(N).koh M_sub=ceil(C*K_sparse*log(N));

% *** Simulasikan Digital Micromirror Device *** rp=randperm(N); act_cell(1:M_sub)=rp(1:M_sub); %randomize mirror in DMD PHI=zeros(M_sub,N); for k=1:M_sub; PHI(k,act_cell(k))=1;end; PHI=orth(randn(M_sub,N)')'>0;

% *** Lakukan pengukuran x_sub=PHI*x0 *** x_sub=PHI*x0; x_obs=zeros(N,1);x_obs(act_cell)=x0(act_cell);

%Lakukan recovery %Bentuk kamus basis D=PHI*PSI D=PHI*PSI; %x_sub=D*x0;

figure(4);imagesc(reshape(x_obs,N_row,N_col));colormap(gray);title('DMD aktif');

[D_row,D_col]=size(D); D_pos=-D;

%ubah L1 menjadi LP A=zeros(D_row,2*D_col); A(:,1:D_col)=D; A(:,D_col+1:2*D_col)=D_pos;

Memahami Penginderaan Kompresif dengan MATLABTM

57

f=ones(2*D_col,1); lb=zeros(2*D_col,1); f1=ones(2*D_col,1); lb1=zeros(2*D_col,1); A1=-A; x_sub1=x_sub;

%******************************* %* Jalankan algoritma simpleks * %******************************* alpha0=linprog(f,[],[],A,x_sub,lb); %get positive part alpha1=linprog(f1,[],[],A1,x_sub1,lb1);%get negative part alpha=alpha0-alpha1;

% Urutkan [z,imax]=sort(abs(alpha(1:D_col)),'descend'); x_abs=1:D_col; figure(2); plot(x_abs, z,'b-');

%Reconstrusi Citra %=== x_hat=zeros(N,1); for k=1:K_sparse; x_hat=x_hat+alpha(imax(k))*PSI(:,imax(k)); end; Ip = reshape(x_hat, N_row, N_col); figure(3);imagesc(Ip);colormap(gray);title('citra rekonstruksi');

3.1.2 Transformasi Haar untuk Pencuplikan Kompresif Ketidaksesuaian DCT sebagai transformasi penjarang kurang tepat terlihat dari peluruhan koefisien dari citra berbentuk H yang kurang cepat. Hal ini telah dapat diperbaiki dengan meminimumkan nilai TV (total variance). Cara ini cukup ampuh, namun kurang intuitif karena tidak secara langsung memberikan transformasi pada kawasan basis penjarang-nya. Tulisan ini menjelaskan penggunaan transformasi Haar, salah satu bentuk transformasi wavelet paling tua dan paling sederhana, sebagai transformasi penjarang-nya.

58

Andriyan B. Suksmono

Konstruksi sbb :

matriks

penjarang

PSI

pada

kode

sebelumnya

diubah

dari

transformasi DCT menjadi transformasi Haar dengan mengubah baris terkait

PSI = haar_T(N)';%(eye(N,N)); % ** buat matriks transformasi Haar **

dimana haar_T diatas adalah fungsi untuk membentuk matriks transformasi Haar yang diperlihatkan di akhir tulisan. Hasil dari transformasi Haar dengan citra dan parameter kompresi sebesar 1.4 seperti pada tulisan pertama diberikan pada Gb.3.6 berikut ini:citra rekonstruksi2 4 6 8 10 12 14 16 5 10 15 2 4 6 8 10 12 14 16 5 10 15 citra rekonstruksi

(a)

(b)

Gb.3.6 Hasil rekonstruksi pencitraan kompresif dengan transformasi Haar: (a) K-buah koefisien pertama, (b) 50 buah koefisien pertama.

Memahami Penginderaan Kompresif dengan MATLABTM

59

koefisien terurut 5 4 magnitudo 3 2 1 0 0

50

100

150 indeks

200

250

300

Gb.3.7 Plot koefisien terurut dari citra H terhadap basis Haar. Hasil rekonstruksi terlihat masih kurang baik, meskipun bagian utama dari citra sudah terambil. Ini bisa dijelaskan dengan melihat kembali plot koefisien penyusun citra hasil optimasi yang ditampilkan pada Gambar 3.7. Terlihat bahwa meskipun koefisien meluruh jauh lebih cepat dari DCT, nilai koefisien nol tercapai pada indeks urutan ke sekitar 50. Dengan demikian, asumsi derajat sparsity sebesar 32 masih kurang mencukupi. Bahkan, melibatkan 50 buah koefisienpun masih belum menghasilkan rekonstruksi yang sempurna.

citra asli2 4 6 8 10 12 14 16 5 10 15

Gb.3.8 Citra asli papan catur

Sebagai perbandingan, berikut ini disajikan hasil pencitraan kompresif dengan basis Haar untuk citra papan catur (checker board) yang diperlihatkan pada

60

Andriyan B. Suksmono

Gambar 3.8. Relatif terhadap basis Haar, citra ini sangat sparse, seperti diperlihatkan pada Gambar 3.9.

koefisien terurut2

1.5magnitudo

1

0.5

0

50

100indeks

150

200

250

Gb.3.9 Koefisien terurut citra papan-catur hasil pemilihan basis

Kali ini tingkat kompresi diperbesar menjadi 2.3 kalinya, dengan cara memperkecil K menjadi sekitar 1.25N. Gambar 5 menunjukkan citra teramati, dimana piksel abu-abu menyatakan piksel yang tak terlihat oleh pengamatan DMD. Hasil rekonstruksi diperlihatkan pada Gambar 3.10. Terlihat bahwa rekonstruksi eksak sudah tercapai.citra teramati2 4 6 8 10 12 14 16 5 10 15 2 4 6 8 10 12 14 16 5 10 15 citra rekonstruksi

(a)

(b)

Gb.3.10 (a) Citra teramati dan (b) citra rekonstruksi

Memahami Penginderaan Kompresif dengan MATLABTM

61

Kode Matlab

% -----------------------------------------------------------------% ** fungsi membentuk matriks transformasi Haar ** % -----------------------------------------------------------------function [H]=haar_T(h_size); n=ceil(log2(h_size));N=2^n; H=zeros(N,N); norm_factor=1/sqrt(N); %difine z-axis z=(0:1:N-1)/N; H(1,:)=1; for p=0:n-1; for q=1:2^p; k=2^p+q-1; %disp(sprintf('k=%d , p=%d, q= %d \n',k,p,q)); % debug p and q hk=zeros(N,1); hk_1=2^(p/2); hk_2=-(2^(p/2)); lb_1=ceil(N*(q-1)/2^p);ub_1=ceil(N*(q-0.5)/2^p); lb_2=ceil(N*(q-0.5)/2^p);ub_2=ceil(N*q/2^p); % *debug z-bound % disp(sprintf('lb_1=%d , ub_1=%d, lb_2= %d, ub_2= %d\n',lb_1,ub_1,lb_2,ub_2)); H(k+1,lb_1+1:ub_1)=hk_1; H(k+1,lb_2+1:ub_2)=hk_2; end end; H=H*norm_factor;

3.1.3 Pencuplikan Kompresif Kawasan Frekuensi Pemilihan transformasi penjarang yang tepat sangat berpengaruh pada hasil rekonstruksi pencitraan kompresif. Bagian ini menjelaskan pemakaian teknik minimisasi variansi total (TV-total variance), salah satu estimasi kokoh (robust) yang sebenarnya sudah sering dipakai namun baru disadari hubungannya dengan pencuplikan kompresif. Karena parameter dari TV minimum saja tidak bisa dipakai untuk melakukan inversi, harus ada basis lain yang terhubung dengan seleksi TV minimum. Diagram ranah-jamak dipakai untuk menjelaskan keterkaitan antar transformasi dan parameter yang digunakan dalam pencitraan kompresif kawasan frekuensi.

62

Andriyan B. Suksmono

Operasi pengamatan pada kawasan spasial yang dijelaskan sebelumnya dapat ditafsirkan sebagai pencuplikan terhadap vektor basis penjarang jika dituliskan sebagai:

s = ( )S

(3.4)

Setiap baris pada hanya berisi satu buah angka bernilai satu, sedangkan sisanya nol. Perkalian dengan mengakibatkan seleksi vektor baris pada indeks yang bersangkutan dengan letak kolom elemen aktif tersebut. Sebagai akibatnya, vektor basis dalam akan berkurang dan letaknya diacak. Kinerja rendah yang dihasilkan akibat penggunaan DCT sebagai transformasi penjarang dapat ditingkatkan dengan transformasi bentuk lain. Salah satu yang telah sering dipakai tetapi baru disadari kaitannya dengan pencuplikan kompresif adalah variansi total (TV-total variane). Pendekatan ini berbeda cukup jauh jika dibandingkan dengan metoda sebelumnya yang merupakan tafsiran langsung pencuplikan spasial. Kaitan berbagai transformasi dan proses recovery sinyal dilukiskan dalam diagram ranah jamak berikut ini.

S P1 s

||1

F -1 F{}

s

F -1E P1

F

Gb.3.11. Diagram ranah-jamak pencuplikan kompresif kawasan frekuensi

Memahami Penginderaan Kompresif dengan MATLABTM

63

Mengacu pada diagram, sinyal s terlebih dahulu ditransformasikan ke kawasan frekuensi menjadi . Pencuplikan kompresif kawasan ini dengan transformasi

pengukur akan menghasilkan cuplikan kompresif . Karena basis penjarangada dalam kawasan lain yang perhitungannya didasarkan pada sinyal kawasan spasio-temporal, maka hasil cuplikan kompresif terlebih dahulu dikembalikan

ke kawasan semula menjadi sinyal s . Selanjutnya yang akan diminimumkanadalah nilai variansi total:

ds ds ds + + ... + S s = dx dx dx 1 2 n

2

2

2

(3.2)

dan basis pursuit dapat dirumuskan sebagai

(P1): min |S| s.t. s = F 1

(3.3)

Optimisasi ini mengatakan untuk memilih yang inverse transform Fouriernya, yaitu s memiliki variansi total |S| terkecil, tetapi bisa menjelaskan hasil

pengamatan s = F-1 . Pada diagram, pengaruh hasil pemilihan |S| terkecilpada koefisien Fourier digambarkan sebagai panah bergaris dan berujung ganda pada bagian kiri diagram. Operasi pengambilan nilai variansi total digambarkan sebagai transformasi merugi karena pengetahuan nilai variansi total saja tidak dapat dipakai untuk merekonstruksi sinyal semula. 3.1.4 Eksperimen dan Analisis Pada eksperimen dipakai citra yang sama seperti sebelumnya, tetapi mekanisme rekonstruksi-nya sangat berbeda; yang dapat disimpulkan dengan membandingkan diagram ranah jamak pada Gambar 3.11 dengan yang ada pada tulisan sebelumnya. Untuk keperluan ini bisa di-unduh paket program optimisasi l1-magic dari Caltech. Program utama sedikit dimodifikasi seperti diperlihatkan pada lampiran di akhir tulisan ini.

64

Andriyan B. Suksmono

citra asli 2 4 6 8 10 12 14 16 5 10 15

Gb.3.12 Citra asli

citra teramati2 4 6 8 10 12 14 16 5 10 15

Gb.3.13 Citra teramati Gambar 3.12 menunjukkan citra asli, sedangkan Gambar 3.13 adalah citra teramati dilihat dari kawasan spasial. Piksel berharna abu-abu menyatakan ketiadaan data pada posisi bersangkutan, sedangkan piksel hitam dan putih menyatakan hasil pengamatan terkompresi sebanyak 4 kali. Tidak seperti pada tulisan sebelumnya, sangat sulit menebak citra sebenarnya dari citra teramati ini.citra rekonstruksi2 4 6 8 10 12 14 16 5 10 15

Gb.3.14. Citra hasil rekonstruksi berdasarkan TV

Memahami Penginderaan Kompresif dengan MATLABTM

65

Hasil rekonstruksi yang diperlihatkan pada Gambar 3.14 jauh lebih bagus dari yang sebelumnyabahkan tepat sama dengan citra asalnya. Disini terlihat betapa pentingnya pemilihan basis penjarang yang tepat didalam pencuplikan kompresif. Nilai TV menggambarkan smoothness karena berhubungan dengan variansi atau keragaman citra. Meminimumkan nilai ini berarti memilih citra dengan variansi rendah, atau smoothness yang tinggi. Ini sangat cocok untuk citra-citra tomografi dalam biomedika, karena organ tubuh semestinya smooth.

Kode Matlab

% ******************************************* % kamera piksel tunggal: cs_camera.m % ditulis kembali berdasarkan kode L1-magic % fungsi-fungsi lain dapat di-download dari Caltech % *******************************************

% use implicit, matrix-free algorithms ? largescale = 1;

path(path, './Optimization'); path(path, './Measurements'); path(path, './Data');

% read original image I=double(imread('IMG\H.bmp','bmp'));

%tampilkan citra asal; figure(1); imagesc(I); colormap(gray); title('citra asli'); [n_row,n_col] = size(I); n = n_row; % panjang baris/kolom N = n_row*n_col; % total cuplikan asal/ jumlah piksel I = I/norm(I(:)); %normalisasi energi citra I = I - mean(I(:)); %mean dibuat nol x = reshape(I,N,1); %ubah menjadi larik 1-D /vektor

% jumlah observasi yang diinginkan f_comp=4;%faktor kompresi K = N/f_comp;%jumlah pengamatan

% Simulasi DMD kawasan frekuensi P = randperm(N)';

66

Andriyan B. Suksmono

q = randperm(N/2-1)+1; OMEGA = q(1:K/2)';

% measurement matrix if (largescale) A = @(z) A_f(z, OMEGA, P); At = @(z) At_f(z, N, OMEGA, P); % obsevations b = A(x); % initial point x0 = At(b); else FT = 1/sqrt(N)*fft(eye(N)); A = sqrt(2)*[real(FT(OMEGA,:)); imag(FT(OMEGA,:))]; A = [1/sqrt(N)*ones(1,N); A]; At = []; % observations b = A*x; % initial point x0 = A'*b; end

I0=reshape(x0, n, n); figure(2);imagesc(I0);colormap(gray);title('citra teramati');

tvI = sum(sum(sqrt([diff(I,1,2) zeros(n,1)].^2 + [diff(I,1,1); zeros(1,n)].^2 ))); disp(sprintf('Original TV = %.3f', tvI)); %TV asal

time0 = clock; xp = tveq_logbarrier(x0, A, At, b, 1e-3, 5, 1e-8, 200); Ip = reshape(xp, n, n); disp(sprintf('Total elapsed time = %f secs\n', etime(clock,time0)));

figure(3);imagesc(Ip);colormap(gray);title('citra rekonstruksi');

3.2 Radar Pensintesa Frekuensi Berdasarkan Penginderaan Kompresif Radar penembus permukaan (GPR/Ground Penetrating Radar) adalah suatu alat pencitra gelombang elektromagnetik (EM) yang mampu melihat benda-benda di

Memahami Penginderaan Kompresif dengan MATLABTM

67

bawah permukaan tanah. Desain GPR sangat bergantung pada tujuan aplikasi; GPR untuk mencitra benda dibawah permukaan dalam (mis. air) akan berbeda dengan yang akan dipakai untuk melihat benda di permukaan dangkal (mis. ranjau). Disamping itu, persyaratan resolusi yang juga akan menentukan persyaratan desain dari radar. Secara prinsipil ada dua macam teknologi pancaran radiasi EM yang bisa dipakai untuk membuat radar, yaitu pancaran impuls dan pancaran gelombang kontinyu. Tulisan ini akan menjelaskan GPR yang dibuat berdasarkan prinsip kedua, yakni radar dengan teknik SFCW (Stepped-Frequency Continuous Wave). Untuk kepentingan praktis tertentu yang memerlukan resolusi tinggi, durasi impuls (efektif) yang diperlukan haruslah sangat singkat (sampai orde sub-nano detik). Sumber impuls yang demikian sangat sulit dicari, sangat mahal, memerlukan rangkaian RF yang tidak sederhana, dan perlu penguat daya yang sulit untuk dibeli. Masalah ini dapat diatasi dengan teknik SFCW, meskipun akan meningkatkan waktu akuisisi data dan pengolahan sinyal. Teknik multipleksing ruang-frekuensi, dimana beberapa frekuensi dapat dipancarkan secara serempak pada beberapa titik koordinat spasial sekaligus dapat dipakai sebagai pilihan dalam mengatasi masalah kecepatan pencitraan. Disampiing itu, perkembangan mutakhir dari teknik pencitraan kompresif juga menjanjikan solusi bagi masalah yang sangat mendasar ini. 3.2.1 Prinsip Kerja dan Geometri Pencitraan GPR Citra benda yang diperoleh sistem radar pada dasarnya merupakan sekumpulan pantulan gelombang EM sebagai fungsi dari posisi dan sifat benda pemantul. Untuk sebuah radar ideal, impuls radar dapat dianggap sebagai suatu fungsi delta Dirac (t), seperti yang dilukiskan pada Gb.3.15: (a) skema pencitraan GPR dan (b) deretan gema impuls yang diterima sistem radar. Bagian pengirim (Tx) memancarkan impuls (t t 0 ) , kemudian impuls akan mengenai objek lalu sebagian akan dipantulkan kembali dan akhirnya diterima oleh sistem penerima (Rx) yang dinyatakan oleh (t t 0 t ) . Karena kecepatan gelombang EM dalam medium tertentu telah diketahui, maka jarak antara antenna ke benda dapat dihitung berdasarkan waktu tunda t.

68

Andriyan B. Suksmono

Tx

Rx

Benda

(a)

C1(t) t

C2(t-t)

(b) Gb.3.15 Prinsip radar: (a) geometri pencitraan GPR dan (b) A-scan ideal

Data pantulan untuk satu titik pencitraan akan berupa suatu fungsi waktu yang menyatakan letak dan kekuatan pemantul sepanjang perjalanan gelombang. Bentuk data radar yang paling mendasar ini disebut sebagai sapuan jenis-A atau A-scan. Untuk kasus impuls Dirac, pantulan ideal akan berupa impuls Dirac yang tertunda dengan dilemahkan, seperti yang diperlihatkan pada Gb.3.15.b. Jika penyapuan dilakukan sepanjang suatu garis lurus, akan diperoleh sekumpulan A-scan yang menyatakan letak-letak pemantul pada kedalaman tertentu sepanjang garis. Untuk pemantuk berupa benda titik, profil pantulan akan berbentuk hiperbola tertelungkup, seperti diperlihatkan pada Gb.3.16. Hasil penyapuan yang demikian disebut sebagai B-scan. Jika B-Scan dilakukan berkali-kali sehingga meliputi suatu bidang datar, maka hasilnya adalah gambaran dimensi tiga yang disebut sebagai C-scan.

Memahami Penginderaan Kompresif dengan MATLABTM

69

Benda

Gb.3.16 Kurva hiperbola yang dihasilkan oleh B-scan Pada kenyataanya, impuls delta Dirac tidak mungkin dapat diperoleh karena beberapa alasan. Yang pertama adalah keterbatasan rentang frekuensi kerja dari peralatan. Sebagai akibatnya akan terjadi pelebaran impuls sehingga membentuk suatu fungsi Gaussian. Disamping itu, antena juga berfungsi sebagai diferensiator. Ini bisa difahami karena komponen arus searah (DC) dari sinyal tidak mungkin disalurkan antenna tanpa kontak langsung dengan medium dan tanpa pembentukan rangkaian tertutup. Dengan demikian, keluaran dari antenna pemancar akan berupa turunan pertama dari fungsi Gaussian, yang biasa dikenal sebagai impuls monocycle. Sinyal monocycle dalam kawasan waktu dan frekuensi dilukiskan pada Gb.3.17.

s(t) Fourier Transform 1 i

|S()|2

N

Gb.3.17 Hubungan waktu-frekuensi dari monocycle Berdasarkan penjelasan sebelumnya dan mengacu pada Gb.3.17, terlihat bahwa sebuah impuls dapat dibangkitkan melalui dua cara, yaitu: (1) pembangkitan pada kawasan waktu, dan (2) pembangkitan pada kawasan frekuensi. Cara (1) disebut juga cara langsung, sedangkan cara (2) adalah cara yang tidak langsung dengan sintesa tanggapan frekuensi. Prinsip yang dipakai pada cara (2) ini adalah dualitas dari sinyal dalam kawasan waktu dan frekuensi melalui transformasi Fourier.

70

Andriyan B. Suksmono

Tinjau suatu fungsi waktu atau sinyal kontinyu s(t). Penguraian sinyal ini kedalam komponen frekuensi dilakukan dengan transformasi Fourier sebagai berikut:

S ( ) = s (t ) = 1

1 2 2

s(t ) exp( jt )dt

(3.4.a)

S ( ) exp( jt )d

(3.4.b)

dimana =2f adalah frekuensi (angular), sedangkan j =

1 adalah bilangan

imajiner. Persamaan (3.4.a) disebut sebagai persamaan analisis, sedangkan persamaan (3.4.b) adalah persamaan sintesis. Teknik SFCW berhubungan langsung dengan sintesis Fourier. Dalam hal ini, sinyal s(t) diperoleh dengan cara mengukur nilai S sebagai fungsi frekuensi. Karena pada umumnya S() bernilai kompleks, sintesis s(t) memerlukan magnitudo maupun fasa dari S(). Kebutuhan data yang demikian berakibat langsung pada sisi implementasi, yakni sistem deteksi sinyal harus dibuat sedemikian hingga komponen magnitudo dan fasa, atau bagian riil dan imajiner bisa didapatkan. Perangkat yang mampu melakukan pengukuran sinyal kompleks ini adalah pendemodulasi kuadratur (I/Q demodulator). Setelah S() diperoleh, maka secara prinsipil sinyal s(t) yang tak lain adalah A-scan, dapat ditentukan dari proses inversi Fourier dari persamaan (3.4.b). 3.2.2 Teknik Sintesa Frekuensi untuk Radar Pada kenyataanya, nilai S() tidak bisa diperoleh untuk seluruh dalam kawasan waktu-kontinyu, melainkan hanya untuk sejumlah berhingga dari titik pengamatan. Ini berarti bahwa data S hanya dapat diperoleh untuk sekumpulan frekuensi yang berubah secara diskrit. Dengan demikian, proses yang sebenarnya lebih sesuai untuk memodelkan sistem radar SFCW adalah analisis dan sintesis sinyal dengan transformasi Fourier diskrit (DFT) sbb:

Memahami Penginderaan Kompresif dengan MATLABTM

71

Sk =

1 N

sn =0

N 1

n

2 jn k exp N

(3.5.a)

sn =

1 N

Sk =0

N 1

k

2 jk exp N

n

(3.5.b)

Sintesa untuk membentuk impuls dilakukan dengan persamaan (3.5.b), sedangkan koefisien Fourier Sk yang bernilai kompleks diperoleh dari pengukuran magnitudi dan fasa gelombang pantul. Indeks k menyatakan urutan frekuensi ke-k dari sinyal. Dengan demikian, pada saat akuisisi data dilakukan, sekumpulan sinyal dengan frekuensi tertentu dipancarkan kemudian tanggapannya diukur untuk mendapatkan estimasi dari koefisien

Fourier S k .

Gb.3.18 Konstruksi Dasar Sistem SFCW-GPR Diagram blok sederhana dari sistem SFCW-GPR diperlihatkan pada Gb.3.18. Pada gambar tersebut, sekumpulan gelombang dengan frekuensi tertentu (k) dibangkitkan gelombang oleh frequency synthesizer dan dipancarkan secara berurutan antena penerima untuk di-demodulasi dengan penmelalui antena UWB (ultrawideband). Penerima akan menangkap pantulan melalui demodulator kuadratur. Hasilnya adalah sinyal Ik (inphase) dan sinyal Qk (quadrature) yang secara bersama-sama membentuk koefisien Fourier kompleks

72

Andriyan B. Suksmono

S k = S ( k ) = I ( k ) + jQ( k )

(3.6)

Setelah dicuplik dengan ADC, pengolah sinyal akan merekonstruksi sinyal kawasan waktu sn dengan algoritma IDFT.

3.2.3. Pertimbangan Desain SFCW-GPR Ada beberapa hal penting yang perlu dipertimbangkan dalam merancang sistem SFCW-GPR, diantaranya adalah: lama pancaran untuk satu frekuensi tertentu (t), frekuensi pusat 0 dan rentang frekuensi kerja, jumlah fekuensi yang digunakan (N), separasi antar frekuensi , tingkat kuantisasi ADC, dan ketersediaan komponen. Berikut ini penjelasan singkat dari masing-masing aspek: Lama pancaran (t) dan jumlah frekuensi N: kedua hal ini akan menentukan kecepatan pencitraan radar. Batas minimum-nya adalah settling-time dari pensintesis dan kecepatan ADC, sedangkan batas maksimumnya berhubungan dengan lama waktu pencitraan yang diinginkan. Jika t terlalu kecil, ada kemungkinan pembangkit frekuensi belum mencapai keadaan tunak. Disisi lain, jika nilainya terlalu besar, maka waktu untuk mendapatkan data akan terlalu lama. Hal terakhir harus diperhitungkan untuk menentukan kecepatan penyapuan radar. Rentang frekuensi kerja dan pusat frekuensi 0: frekuensi kerja akan sangat mempengaruhi aplikasi dari GPR. Radar dengan 0 rendah akan mampu menembus permukaan yang lebih dalam. Sebaliknya, radar dengan 0 besar lebih cocok untuk pencitraan dangkal. Lebar pita (BW) berhubungan langsung dengan resolusi, semakin tinggi BW semakin besar pula resolusinya. Tingkat kuantisasi ADC: hal ini akan menentukan lebar dinamika sinyal yang diperoleh. Sebagai gambaran, ADC 8 bit dapat dipakai untuk mengkuantisasi sinyal dengan lebar dinamika 41 dB, 12 bit bisa mencapai 65 dB, 14 bit mampu mengkuantisasi sinyal 77 dB, sedangkan untuk sinyal dengan lebar dinamik 89 dB memerlukan ADC 16 bit.

Memahami Penginderaan Kompresif dengan MATLABTM

73

Ketersediaan komponen: meskipun dari perhitungan bisa diperoleh disain yang bagus, implementasi menjadi perangkat keras sangat ditentukan oleh ketersediaan komponen di pasaran.

Separasi antar frekuensi akan menentukan ambiguitas jangkauan (range ambiguity). Ini setara dengan PRF (pulse repetition frequency) pada radar impuls.

3.2.4 Eksperimen SFCW-GPR Dengan VNA (Vector Network Analyzer) Pada dasarnya sebuah SFCW-GPR adalah pencitra kawasan Fourier. Sebuah citra GPR tersusun atas A-scan yang didapat dari inversi data kawasan frekuensi, yaitu koefisien Fourier kompleks untuk setiap frekuensi. Dengan demikian, perangkat SFCW-GPR bukan hanya dituntut untuk mampu mendeteksi magnitudo, tetapi juga fasa dari gelombang yang datang. Alat ukur yang bisa dipakai untuk keperluan ini adalah VNA (Vector Network Analyzer). Konfigurasi bistatik seperti pada Gb.3.18 dapat dipakai untuk melakukan pencitraan, antena pertama berfungsi sebagai pemancar dan yang kedua sebagai penerima. Pada GPR-test range, antena dipasang pada penyapu elektromekanik tiga dimensi, tetapi penyapuan dapat juga dilakukan secara jika peralatan yang demikian tidak tersedia. VNA diatur untuk mengukur S21 dan mengeluarkan data kompleks. Sebuah komputer dapat dihubungkan ke VNA untuk mengambil dan merekonstruksi A-scan secara langsung. Jika antarmuka VNA dan komputer tidak memungkinkan pengambilan langsung, data bisa dipindahkan secara manual melalui floppy disk. Sebelum scanning VNA dijalankan, rentang frekuensi kerja harus terlebih dahulu ditentukan. Hal ini bisa diperkirakan berdasarkan impuls T atau resolusi yang diinginkan. Lebar pita yang dipakai harus berbanding terbalik dengan lebar impuls, atau B=1/T.

74

Andriyan B. Suksmono

A-scan0.5

amplitude

0

-0.5 0

0.2

0.4 time

0.6

0.8

1

Gb.3.19 A-scan hasil pencitraan SFCW-GPR dengan VNA Setelah data S21 berhasil dikumpulkan, langkah selanjutnya adalah melakukan inversi Fourier dengan persamaan (2.b). Hal penting yang perlu dicatat, A-scan adalah sebuah sinyal riil. Dengan demikian hasil transformasi Fouriernya adalah sinyal kompleks yang bersifat konjugasi simetrik. Data dari S21 dari VNA hanya berisi setengah bagian dari koefisien Fourier, setengah bagian sisanya diisi dengan memanfaatkan sifat konjugasi simetrik ini. Contoh pengisian data bagian konjugasi simetrik diperlihatkan pada program Matlab diakhir tulisan. Contoh hasil rekonstruksi A-scan untuk pengujian di test-range diperlihatkan pada Gb.3.19. Disini terlihat adanya 2 buah pantulan dominan, yang pertama berasal dari pancaran langsung yang diterima antena loop yang terbenam dalam bak pasir, sedangkan yang kedua berasal dari pantulan benda. Konfigurasi pencitraan normal dengan kedua antena berada diatas permukaan akan menghasilkan A-scan yang bentuknya berbeda. Biasanya pantulan kuat terjadi di sekitar t=0 akibat pantulan langsung dari tanah atau kebocoran dari pemancar, sedangkan pantulan lain berasal dari benda didalam tanah. Karena jarak antena ke tanah maupun jarak pemancar ke penerima tetap, pantulan kuat yang dapat mengganggu analisis hasil pencitraan ini dapat dihilangkan dengan penapisan sederhana. Kode Matlab

Memahami Penginderaan Kompresif dengan MATLABTM

75

% ***************************************************** % * display A-scan: menampilkan kurva A-scan dari data S21 % **************************************************** path(path, 'Data\'); % baca dara, format: FREQ. ## REAL-PART ## IMAGINARY-PART data=load('VNA_TRACE.txt'); N=length(data); NRows = 512; %extend seq. length delta_t = 1/NRows; t=delta_t*(1:NRows); dmy=zeros(NRows,1); S21 = data(:,2) + data(:,3).*i; trc_N = length(S21); dmy(1) = 0; dmy(2:trc_N+1) = S21; dmy(trc_N+2:512) = 0; dmy(NRows-trc_N+1:NRows) = conj(S21(trc_N:-1:1)); % inversi dan normalisasi f=real(ifft(dmy)); f=f-mean(f); x=f/norm(f(:)); figure(1);plot(t,x); title('A-scan'); xlabel('time');ylabel('amplitude'); % Raw complex data % filling the conjugate symmetric part of the data

3.2.5 Radar SFCW-GPR Kompresif Radar pensintesa frekuensi SFCW-GPR memiliki kelemahan dalam hal

kecepatan pengumpulan data. Inilah salah satu alasan mengapa sistem radar ini kurang berkembang. Berbagai upaya telah dilakukan untuk mengatasi masalah ini, misalnya dengan mengirimkan beberapa frekuensi sekaligus secara serempak. Munculnya teknik pencitraan kompresif memungkinkan masalah ini dapat diatasi dengan pendekatan lain. Pada prinsipnya, radar kompresif ini melakukan pencuplikan sejumlah kecil frekuensi secara acak dan kemudian menerapkan prinsip penginderaan kompresif untuk melakukan proses rekonstruksi sinyal. Dengan demikian, perlu adanya blok tambahan berupa pembangkit bilangan acak dan blok pengolah sinyal bersarkan pemrograman matematika. Disamping itu,

76

Andriyan B. Suksmono

pembangkit frekuensi harus memiliki kemampuna membangkitkan frekeusnsi secara acak. Gambar 3.20 memperlihatkan perubahan sistem yang dimaksud.

Pseudorandom Number Generator

Optimization Algorithm

Display f Random Access Frequency Synthesizer I QADC

t

Tx Antenna

Quadrature Mixer Rx Antenna

Gb. 3.20. Blok diagram dari SFCW-GPR Kompresif Perbandingan hasil pengolahan sinyal dari jumlah cuplikan yang sama, dengan teknik konvensional IDFT dan teknik penginderaan kompresif untuk hasil pengamatan VNA sebelumnya diperlihatkan pada Gambar 3.21. Pada gambar terlihat bahwa hasil rekonstruksi dengan penginderaan kompresif jauh lebih baik daripada IDFT, hal ini tentu mempengaruhi kinerja radar yang dibuat. Pada gambar, sinyal dengan label ORG merupakan sinyal hasil rekonstruksi seluruh cuplikan, label IDFT menyatakan rekonstruksi dengan inverse DFT dari 1/8 cuplikan acak, sedangkan CS8, sampai, CS2 menyatakan rekonstruksi dengan metoda penginderaan kompresif berdasarkan 1/8 buah cuplikan sampai banyak cuplikan asalnya.

Memahami Penginderaan Kompresif dengan MATLABTM

77

ORG IDFT CS8x CS5x CS4x CS3x CS2x

0

50

100

150

200

250

300

350

400

450

500

Gb.3.21. Perbandingan hasil rekonstruksi sinyal dengan IDFT dan CS untuk berbagai tingkat kompresi

50

100 d e p th ( s a m p le - in d e x ) 200 300 400 500 0.25 0.5 0.75 1 1.25 1.5 1.75 y-axis (m)

100 d e p th ( s a m p le - in d e x ) 200 300 400 500 0.25 0.5 0.75 1 1.25 1.5 1.75 y-axis (m)

100 d e p th ( s a m p le - in d e x ) 200 300 400 500 0.25 0.5 0.75 1 1.25 1.5 1.75 y-axis (m)

100 150 d e p t h (s a m p le -in d e x ) 200 250 300 350 400 450 500 0.25 0.5 0.75 1 y-axis (m) 1.25 1.5 1.75

ORIGINAL

IDFT8x

CS8x

CS2x

Gb.3.22 Perbandingan hasil rekonstruksi B-scan Perbandingan citra B-scan pada Gb.3.22 memperlihatkan efek ini lebih jelas lagi. Lengkungan hiperbola pada rekonstruksi IDFT terkotori oleh cacat akibat cuplikan tak lengkap, sedangkan rekonstruksi dengan CS memberikan hasil

78

Andriyan B. Suksmono

yang jauh lebih baik. Citra scan-B untuk cuplikan dari semula memberikan hasil yang hampir sempurna seperti pada citra asal dengan cuplikan penuh. Hal ini memperlihatkan kemungkinan implementasi radar kompresif dengan kecepatan tinggi dan hasil rekonstruksi citra yang baik.

Memahami Penginderaan Kompresif dengan MATLABTM

79

Daftar Pustaka

[1]. S.S. Chen, D. Donoho, and MA Saunders, Atomic decomposition by basis pursuit, SIAM J. on Scientific Computing, 20(1):33-61, 1999. [2]. DL Donoho & PB Stark, Uncertainty principles and signal recovery, SIAM J. on Applied Math., 49(3):906-31, 1989. [3]. DL Donoho & X. Huo, Uncertainty Principles and Ideal Atomic Decomposition, Tech. Report, Stanford University. [4]. M.Elad and A.M. Bruckstein, A generalized uncertainty principle and sparse representation in pairs of bases", IEEE Trans. on Information Theory, Vol. 48, pp. 2558-2567, September 2002. [5]. D. L. Donoho and M. Elad, Maximal sparsity representation via l1 Minimization, Proc. of the National Academy of Science, [6]. S.S. Chen, D. Donoho, and MA Saunders, Atomic decomposition by basis pursuit, SIAM J. on Scientific Computing, 20(1):33-61, 1999. [7]. AB. Suksmono, A graphical representation of multi-domain signal processing, Proc. of SICE-ICASE 2006, Busan, Korea. [8]. EJ. Candes, J. Romberg, and T. Tao, Robust uncertainty principles: Exact signal recovery from highly incomplete frequency information, IEEE Transaction Information Theory, Vol.52, no.2, Feb.2006, pp.489-509. [9]. MF. Duarte, MA. Davenport, D. Takhar, JN. Laska, T. Sun, KF. Kelly, and RG. Baraniuk, Single-pixel imaging via compressive sampling, IEEE Signal Proc. Magazine (83), March 2008, pp.83-90. [10]. [11]. L.P. Ligthart, Course Handout: A 3-Days Short Course on GPR, IRCTRA.B. Suksmono, E. Bharata, A.A. Lestari, A. Yarovoy, and LP. Ligthart, Delft. Compressive Stepped-Frequency Continuous Wave Ground Penetrating Radar, IEEE Geoscience and Remote Sensing Letters, 2009, (minor revision). [12]. A.B. Suksmono, E. Bharata, A.A. Lestari, A. Yarovoy, and LP. Ligthart, A compressive SFCW-GPR System, The 12th Intl. Conf. on Ground Penet. Radar, June 16-19, 2008, Birmingham, UK. [13]. A.B. Suksmono, AA Lestari, AA Pramudita, E. Bharata, and N. Rachmana, An Algorithm to Select the Best Set of Frequencies in Stepped-Frequency

80

Andriyan B. Suksmono

Continuous-Wave Radars, J. Elektronika dan Telekomunikasi, LIPI, Vol.8, No.1, Januari 2008, hal 1-5. [14]. [15]. [16]. [17]. AB Suksmono, An introduction to compressive sensing and its A.B. Suksmono, A brief review on compressive imaging, Proc. of APT A.B. Suksmono, Compressive imaging, invited speaker in ICMNS (Intl A.A. Pramudita, A. Kurniawan, A.B. Suksmono, Hexagonal Monopole application, Intl. Univ. Exchange Seminar and IJJSS2008, Chiba, Japan. Workshop and ITU Rapporteur Group Meeting 2008, Tokyo, Japan. Conf. on Math. And Nat. Sciences, Oct. 2008, ITB, Bandung. Strip Antenna with Rectangular Slot for 100-1000 MHz SFCW GPR Applications, Int. J. of Antennas and Propagation, Vol.2008, pp.1-6.