Penginderaan Kompresif

80
Memahami Penginderaan Kompresif dengan MATLAB TM oleh Andriyan Suksmono Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung 2008

description

all

Transcript of Penginderaan Kompresif

Page 1: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM

oleh Andriyan Suksmono

Sekolah Teknik Elektro dan Informatika

Institut Teknologi Bandung 2008

Page 2: Penginderaan Kompresif

2 Andriyan B. Suksmono

Page 3: Penginderaan Kompresif

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

Page 4: Penginderaan Kompresif

4 Andriyan B. Suksmono

Page 5: Penginderaan Kompresif

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 kedua-

duanya dibuat teliti atau presisi, atau

ΔpΔx ≥ 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

ΔEΔt ≥ 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 (hΔf) (Δt) ≥ h/4π atau Δ(2πf)(Δt) ≥ 1/2 .

Dengan menyebut 2πf sebagai frekuensi sudut ω, kita akan mendapatkan HUP

dalam bentuk lain, yaitu

Δω Δt ≥ ½ (1.3)

Page 6: Penginderaan Kompresif

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 sama-

sama 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:

Page 7: Penginderaan Kompresif

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);

Page 8: Penginderaan Kompresif

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.

-5 0 50

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6sigma0.5sigma0.25sigma

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

Page 9: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 9

-5 0 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1sigma0.5sigma0.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).

Page 10: Penginderaan Kompresif

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

x’a(t) yang tidak diinginkan. Tapis (filter) antialiasing akan menghapus x’a(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) Anti-AliasingFilter S/H A/D

Digital Processor

D/AReconstruction

Filterya(t)

output

input

xa(t) xa(n)

x (n)

y(n)

y (t)

xa(t) +xa’(t) Anti-AliasingFilter S/H A/D

Digital Processor

D/AReconstruction

Filterya(t)

output

input

xa(t) xa(n)

x (n)

y(n)

y (t)

xa(t) +xa’(t) Anti-AliasingFilter S/H A/D

Digital Processor

D/AReconstruction

Filterya(t)

output

input

xa(t) xa(n)

x (n)

y(n)

y (t)

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

Page 11: Penginderaan Kompresif

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.

Gb.1.5 Transformasi uniter sebagai perputaran koordinat

s(n)

y

x

z

j

i

k

S(k)

y

x

z

j i

k k’

i’

j’

z’

x’

y’

T

Page 12: Penginderaan Kompresif

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:

( ) ( )( ) ( )

⎥⎥⎥

⎢⎢⎢

⎡ −=

1000cossin0sincos

θθθθ

T (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:

( ) ( )( ) ( )

⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡ −==

0000.75355.37071.0

732

100045cos45sin045sin45cos

TsS

Page 13: Penginderaan Kompresif

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 N×N.

% cara-1: kalikan sinyal dengan matriks DFT

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

N=length(s);

U=fft(eye(N,N))/sqrt(N); %bentuk matriks DFT 3x3

S1= U*s, % hasil transformasi Fourier

%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 3×3 yang kita sebut sebagai U. Hasil perkalian U dengan s akan

menghasilkan sinyal kawasan frekuensi yaitu S1 = S2.

⎟⎟⎟

⎜⎜⎜

−−+−+−−−=

iiiiU

87.05.087.05.0187.05.087.05.01

111

31

⎟⎟⎟

⎜⎜⎜

−−+−==

iiUsS T

0.273.10.273.1

93.6

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*T⋅U = I. Kedua, kita akan memeriksa

Teorema Parseval bahwa energi dikawasan waktu akan sama dengan energi

dikawasan frekuensi, atau s*T⋅s = S*T⋅S. Dan yang terakhir adalah sifat

Page 14: Penginderaan Kompresif

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 4×4, masing-masing diberi notasi D dan H, yaitu:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−

−−=

27.065.065.027.050.050.050.050.065.027.027.065.0

50.050.050.050.0

D

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−−−

=

111111111111

1111

21

2H

Page 15: Penginderaan Kompresif

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:

⎟⎟⎠

⎞⎜⎜⎝

⎛−

=11

112

11H , ⎟⎟

⎞⎜⎜⎝

⎛−

=⊗=−−

−−−

11

1111 2

1nn

nnnn HH

HHHHH (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]', % sinyal asli

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, % hasil transformasi DCT

S_had= H2*s, % hasil transformasi Hadamard

E_asli= sum(transpose(s)*s), %energi sinyal asal

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, %sebaran energi DCT

E_dist_had = S_had.*S_had, %sebaran energi Hadamard

%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');

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, masing-

masing 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

Page 16: Penginderaan Kompresif

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.

1 2 3 40

20

40

60

80

100

120

140Sebaran energi di kawasan DCT

1 2 3 40

20

40

60

80

100

120

140Sebaran energi di kawasan Hadamard

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.

Page 17: Penginderaan Kompresif

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.

Page 18: Penginderaan Kompresif

18 Andriyan B. Suksmono

Pengertian RoS untuk sinyal (waktu-) diskrit mirip dengan penjelasan diatas,

yaitu daerah atau sekumpulan indeks waktu n dimana sinyal diskrit s(n)

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

transform Fourier

( ) ( )∑−

=

−⋅=

1

0

21 N

n

Nknj

ensN

kSπ

; 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)| ≥ 2√N (1.9)

Nilai terkecil dari jumlah kedua RoS ini, yaitu 2√N, dicapai oleh fungsi Dirac

Comb yang support-nya bersifat invarian terhadap transformasi Fourier. Fungsi

ini dinyatakan sbb:

( )⎩⎨⎧ −==

=lainnya

NmNmnuntukns;0

1,...,1,0;;1 (1.10)

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

N=16.

0 5 1 0 1 50

0 .2

0 .4

0 .6

0 .8

1

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

F re q u e n c y

Mag

nitu

de

0 5 1 0 1 50

0 .2

0 .4

0 .6

0 .8

1

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

T im e

Am

plitu

de

DFT/IDFT

s(n) S(k)

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

0 5 1 0 1 50

0 .2

0 .4

0 .6

0 .8

1

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

F re q u e n c y

Mag

nitu

de

0 5 1 0 1 50

0 .2

0 .4

0 .6

0 .8

1

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

T im e

Am

plitu

de

DFT/IDFT

s(n) S(k)

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

Gb.1.7 Fungsi ekstremal sisir Dirac memenuhi batas bawah prinsip

ketidakpastian

Page 19: Penginderaan Kompresif

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 Φ.

Page 20: Penginderaan Kompresif

20 Andriyan B. Suksmono

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):

( )ΨΦ≥Γ+Γ

,2

21 μ (1.11)

dimana:

( ) ψφμψφ

,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,1 ≤ΨΦ≤ μN (1.13)

s(n) Ψ S(k) Φ s’(m)

μ(Φ,Ψ)

sinyal asli sinyal hasil transformasi

dengan Ψ

sinyal hasil transformasi

den an Φ koherensi

pasangan basis

g

Generalized Uncertainty Principle |supp(s)| + |supp(S)| ≥ 2/|μ(Φ,Ψ)|

Page 21: Penginderaan Kompresif

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

I=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

1...00............0...100...01

(1.14)

( )( ) ⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−

111

1

...1.........

...11...11

1

NNN

kn

N

WWW

WWN

, dimana Ni

eWπ2

−= (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 %====

Page 22: Penginderaan Kompresif

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.

Page 23: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 23

II. Dekomposisi Sinyal dan Pencarian Basis Ideal

2.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.

0 2 4 8 16 32 601

2

4

8

16

32

60Vektor basis impuls

0 10 20 30 40 50 60

2

4

8

16

32

60

Vektor basis DCT

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

Page 24: Penginderaan Kompresif

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: sS ⋅Φ=1 (2.1)

Proyeksi sinyal ke basis DCT: sS ⋅Ψ=2 (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 k∈K dari vektor basis terpilih,

rekonstruksi dilakukan dengan cara menjumlahkan vektor dari basis yang telah

diboboti, yaitu:

Rekonstruksi dng basis impuls: ( ) ( ) ( )∑∈

Φ=Kk

nkkSns ,ˆ 11 (2.3)

Rekonstruksi dng basis DCT: ( ) ( ) ( )∑∈

Ψ=Kk

nkkSns ,ˆ 22 (2.4)

Page 25: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 25

Kinerja dari rekonstruksi sinyal dilihat dari energi sinyal kesalahan (error) rata-

rata atau RMSE (Root Mean Square Error) masing-masing, yang dinyatakan

sebagai:

( )( )∑−

=

=1

0

21 N

n

neN

RMSE dimana ( ) ( ) ( )nsnsne ˆ−= (2.5)

Semakin kecil nilai ini, maka secara obyektif hasil rekonstruksi semakin baik.

Nilai RMSE yang besar menandakan terjadinya distorsi yang besar pada sinyal.

0 10 20 30 40 50 60-0.4

-0.2

0

0.2

0.4

0.6

0.8

1sinyal kombinasi impuls dan DCT

n

s(n)

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.

Page 26: Penginderaan Kompresif

26 Andriyan B. Suksmono

0 10 20 30 40 50 600

0.2

0.4

0.6

0.8

1

1.2

1.4magnitudo koefisien terurut

index

|S|-t

erur

ut

proyeksi Impulsproyeksi 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.

0 10 20 30 40 50 60-0.4

-0.2

0

0.2

0.4

0.6

0.8

1perbandingan hasil rekonstruksi

n

s(n)

aslirek. impulsrek. DCT

Gb.2.5 Perbandingan sinyal asli dng rekonstruksi

Page 27: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 27

0 10 20 30 40 50 60

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1sinyal kesalahan

n

e(n)

sinyal error impulsesinyal 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.

0 10 20 30 40 50 600

0.005

0.01

0.015

0.02

0.025kinerja RMSE pengkodean

jumlah koefisien

RM

S E

rror

ImpulseDCT

Gb.2.7 Kinerja RMSE

Kinerja rekonstruksi dapat dievaluasi dengan mengukur RMSE berbagai jumlah

vektor basis seperti yang diperlihatkan pada Gambar 7. Penurunan RMSE

Page 28: Penginderaan Kompresif

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');

Page 29: Penginderaan Kompresif

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

⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

2

1

2

1

2221

1211

yy

xx

aaaa

Bentuk sistem persamaan liniernya adalah

1212111 yxaxa =+

2222121 yxaxa =+

Karena 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.

Page 30: Penginderaan Kompresif

30 Andriyan B. Suksmono

Penggabungan sistem basis A dengan basis baru B menjadi D=[A;B] akan

membuat persamaan matriks diatas menjadi

⎟⎟⎠

⎞⎜⎜⎝

⎛=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎠

⎞⎜⎜⎝

2

1

4

3

2

1

2221

1211

2221

1211

yy

xxxx

bbbb

aaaa

(2.6)

Atau dinyatakan sebagai sistem persamaan linier berikut:

1412311212111 yxbxbxaxa =+++ (2.7.a)

2422321222121 yxbxbxaxa =+++ (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.

Page 31: Penginderaan Kompresif

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 N×N menjadi satu buah basis overcomplete Φ = Φ1∪Φ2∪...∪Φ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 ke–i 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 4×2, dimana

⎟⎟⎠

⎞⎜⎜⎝

⎛=Φ

1001

1 , ⎟⎟⎠

⎞⎜⎜⎝

⎛−

=Φ11

112

12 ; ⎟

⎟⎠

⎞⎜⎜⎝

⎛−

=Φ∪Φ=Φ2

12

12

12

1

21 1001

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

Page 32: Penginderaan Kompresif

32 Andriyan B. Suksmono

( ) ( ) ( ) 31115.025.025.0 0000

2,2

0

1,2

0

2,10=++=++=++= αααα

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): 0min α , s.t. (2.10) ∑=

γγγ ϕαs

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ω ≥ 2√N (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.

Page 33: Penginderaan Kompresif

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): 1min α , s.t. (2.13) ∑=

γγγ ϕαs

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:

Page 34: Penginderaan Kompresif

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 Φ=Φ1∪Φ2 adalah gabungan kedua basis. Jika suatu sinyal

waktu diskrit s dapat dinyatakan sebagai s=Φα dengan α memenuhi syarat

||α||0 <(1/2){1+(μ(Φ,Ψ))-1} (2.15)

maka α adalah solusi unik dari (P1) dan juga merupakan solusi unik dari (P0).

Dalam bahasa yang non-teknis, teorema ini mengatakan bahwa suatu sinyal s

yang terbentuk dari kombinasi linier vektor-vektor basis didalam kamus-basis Φ

dapat ditemukan vektor basis penyusunnya dengan memecahkan masalah

optimisasi (P1), asalkan jumlah vektor basis penyusun sinyal ini kurang dari

0.5(1+μ-1).

Seberapa besar signifikansi perubahan optimisasi P0 menjadi P1? Meskipun

sekilas optimisasi ini hanya mengubah norm dari l0 menjadi l1, perubahan yang

terjadi sangat besar. Saat ini, kebanyakan algoritma optimisasi didalam

pengolahan sinyal justru menggunakan kriteria atau fungsi biaya kuadratis

yang tak lain adalah l2. Penjelasan diatas bahkan menginginkan pencarian

solusi ideal dengan kriteria l0. Dari sudut pandang pencarian ruang solusi,

optimisasi dengan kriteria l2 dan l1 bersifat konveks, sedangkan l0 bukan

Page 35: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 35

konveks. Algoritma untuk mencari solusi dari optimisasi konveks yang efisien

telah banyak tersedia. Transformasi dari masalah l0 menjadi l1 ini disebut juga

sebagai proses konveksifikasi.

Salah satu contoh yang sederhana didalam statistik adalah perhitungan untuk

mencari nilai tengah suatu populasi. Meminimumkan nilai kesalahan kuadrat

terkecil, yang tak lain adalah l2, akan menghasilkan nilai mean cuplikan,

sedangkan jika yang diminumkan adalah bilai absolut kesalahan atau l1,

solusinya akan berupa median. Pada pengolahan sinyal atau citra dijital para

peneliti menemukan bahwa tapis median lebih kokoh (robust) terhadap derau

jika dibandingkan dengan tapis mean. Analogi yang sama dapat dipakai untuk

menjelaskan mengapa P1 ini memiliki peranan yang sangat penting dalam

pencarian basis sinyal.

2.3 Batas Keunikan P0 dan P1

Pencarian basis untuk pasangan transformasi waktu-frekuensi telah diperluas

untuk sebarang pasangan basis ortonormal. Berbagai basis baru yang telah

dietmukan belakangan ini, baik yang ortonormal (mis. wavelet, Fourier, DCT,

Hadamard, ridgelets), yang bukan-ortobasis (mis. Gabor, pseudo-polar FFT),

maupun transformasi tak-kuadrat (Laplacian pyramid, wavelet invarian-geser)

perlu dielaborasi untuk menyatakan berbagai macam bentuk sinyal atau citra.

Pencarian vektor basis ”ideal” untuk menyatakan sinyal didalam gabungan

berbagai macam basis memerlukan generalisasi teorema keunikan representasi

sinyal sparse. Tulisan ini memberikan penjelasan singkat hasil yang telah

dicapai oleh Elad-Bruckstein dan perbedaan/persamaannya dengan yang

diperoleh Donoho.

2.3.1 Batas Keunikan P0 dan P1 Elad-Bruckstein untuk Pasangan Orto-

basis

Teorema 4 pada tulisan terdahulu memberikan batas Donoho-Huo (DHB-

Donoho Huo Bound) dari jumlah komponen penyusun sinyal ||γ||0 untuk

pasangan orto-basis Θ dan Ψ supaya sinyal s= [Ψ;Θ]γ dapat dinyatakan secara

unik sehingga P1 dapat menemukannnya, yaitu

Page 36: Penginderaan Kompresif

36 Andriyan B. Suksmono

Batas Keunikan P1 Donoho-Huo: ( )10

15.0 −+< μγ (2.16)

dimana μ=μ(Ψ,Θ) adalah koherensi antar basis. Pada kasus pasangan orto-basis

ini, Elad dan Bruckstein memberikan batas yang lebih baik untuk γ, sehingga

cukup penting untuk dijelaskan juga disini. Sinyal s sepanjang N-cuplikan

dapat dinyatakan dalam setiap sistem orto-basis, yaitu: s=Θα atau s=Ψβ.

Seperti telah diberikan sebelumnya, koherensi antar sistem basis diberikan oleh

Koherensi pasangan basis: 1/√N ≤ ( ) θψμψθ

,max,, Ψ∈Θ∈

=ΘΨ ≤ 1 (2.17)

Oleh karena itu, prinsip ketidakpastian akan mengatakan bahwa jumlah

support di kedua kawasan adalah ||α||0 + ||β||0 . Untuk setiap dua bilangan

bulat positif x dan y berlaku bahwa x2+y2 ≥ 2xy, , Karena (x+y)2 = (x2 + y2) + 2xy

maka berdasarkan hasil sebelumnya diperoleh (x+y)2 ≥ 4xy. Jika x maupun y

positif, maka x+y ≥ 2√xy. Oleh karena itu:

Teorema 1. ||α||0 + ||β||0 ≥2√(||α||0 ⋅||β||0) ≥2/μ (2.18)

Dua relasi terakhir pada pertidaksamaan diatas, yaitu 2√(||α||0⋅||β||0)≥2/μ,

dapat diilustrasikan sebagai berikut.

1. Nilai √(||α||0⋅||β||0) minimum terjadi jika keduanya basis impuls

dimana hanya ada satu komponen vektor α dan β yang tak nol, sehingga

||α||0 =||β||0 =1 dan √(||α||0⋅||β||0)=1. Untuk pasangan basis ini,

nilai koherensinya akan maksumum, yaitu μ=1 sehingga

2√(||α||0⋅||β||0)=2/μ, .

2. Disisi lain, nilai ||α||0+||β||0 maksimum terjadi jika semua komponen

dari vektor α dan β tak nol, misalnya jika keduanya basis Hadamard.

Pada saat tersebut ||α||0 =||β||0 =N dan √(||α||0⋅||β||0)=N,

sedangkan koherensinya akan mencapai maksimum juga, yaitu μ=1

sehingga 2√(||α||0⋅||β||0)>2/μ.

Page 37: Penginderaan Kompresif

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: ||α||0 + ||β||0 ≥ (1 + 1/μ) (2.20)

Andaikan suatu sinyal ternormalisasi (berenergi satu-satuan) s dapat

dinyatakan dengan dua cara berbeda didalam kamus-basis Φ=Ψ∪Θ, yaitu s =

Φγ1 = Φγ2 sehingga

( ) ( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛ΘΨ=−Φ=

2

1210

xx

γγ (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, atau

(2/M) ≤ ||γ1||0 + ||γ2||0, (2.22)

yakni, dua representasi dari sinyal yang sama tidak bisa sekaligus sparse dua-

duanya. 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

Page 38: Penginderaan Kompresif

38 Andriyan B. Suksmono

menemukan solusinya yang identik dengan solusi P0. Untuk suatu sinyal s=[Ψ;

Θ]γ, dengan asumsi sparsity pada γ dan k1<k2 sehingga

γ = [γ1 γ2 ... γN, γN+1 γN+2 ... γ2N] (2.24)

Dengan k1 buah koefisien tak nol dalam N koefisien pertama (didalam Ψ) dan k2

buah tak nol untuk N koefisien kedua (didalam Θ), Elad-Bruckstein

mendapatkan hasil berikut:

jika k1 dan k2 memenuhi hubungan 2μ2k1k2+μk2-1<0, maka P1 akan

dapat menemukannnya.

Hasil yang lebih lemah tapi bentuknya sederhana diberikan oleh k1+k2<(√2-

0.5)/μ, sehingga dapat disimpulkan sebagai berikut.

Batas Keunikan P1 Elad-Bruckstein: μμ

γ 9142.0~5.020

−< (2.25)

Sebagai ilustrasi, untuk sinyal s sepanjang N=1024 cuplikan yang tersusun dari

komponen pasangan basis impulse-Fourier, maka P0 akan sanggup menemukan

solusi untuk 32 vektor basis. Bandingkan dengan P1 yang memberikan harga

yang lebih kecil lagi, yaitu 16 menurut DHB. Akan tetapi EBB memberikan

angka untuk P1 yang lebih besar, yaitu 29 buah.

2.3.2 Batas Keunikan P0 dan P1 untuk Kamus Basis

Keunikan untuk sepasang ortobasis telah diturunkan secara langsung dari

prinsip ketidakpastian. Sebuah kamus basis bersifat overcomplete, jumlah

vektor basisnya lebih banyak dari yang seharusnya cukup untuk membentuk

vektor dimensi N. Andaikan suatu sinyal s sepanjang N-cuplikan dinyatakan

dalam dua representasi didalam kamus-basis Φ yang dinyatakan sebagai

matriks berdimensi N×K, dimana K>>N

s= Φγ1= Φγ2 dengan demikian

Φ(γ1-γ2) = 0 atau Φv = 0

Page 39: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 39

Ini menyatakan kombinasi linier dari vektor-vektor kolom dari Φ yang saling

bergantung dan akan dicari sekelompok vektor yang demikian. Untuk keperluan

ini diperkenalkan spark yang dilambangkan sebagai σ sebagai berikut

Definisi. Spark dari suatu matriks Φ yang dituliskan sebagai σ=spark(Φ) adalah

bilangan bulat terkecil yang menyatakan banyaknya anggota dari sekelompok

vektor kolom dari Φ yang saling bebas.

Berikut ini ilustrasi dari konsep spark dari dua matriks sederhana:

1

1...11

1...00............0...100...01

+=

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

Nspark , dan 2

0...01

1...00............0...100...01

=

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

spark

Apa hubungannya dengan rank? Rank sebuah matriks adalah jumlah

maksimum vektor kolom yang saling-bebas, sedangkan spark adalah jumlah

minimum vektor kolom yang tidak-saling-bebas dan secara umum hubungan

berikut berlaku:

2 ≤ σ=Spark{Φ} ≤ Rank{Φ}+1 (2.26)

Berdasarkan definisi, untuk sinyal s yang diatas akan berlaku ||v||0 ≥ σ,

dengan demikian ||γ1-γ2||0 ≥ σ atau σ≤||γ1-γ2||0 ≤ ||γ1||0 +||γ2||0. Akhirnya

diperoleh hubungan mirip prinsip ketidakpastian untuk kamus-basis Φ yaitu

||γ1||0 +||γ2||0 ≥ σ (2.27)

yang artinya bahwa dua buah representasi berbeda sinyal s didalam kamus-

basis Φ tidak boleh sekaligus sparse. Selanjutnya akan diperoleh persyaratan

keunikan sinyal s sebagai berikut

Teorema 4. Representasi sinyal s=Φγ dimana ||γ||0 < σ/2 akan bersifat unik.

Page 40: Penginderaan Kompresif

40 Andriyan B. Suksmono

Koherensi suatu kamus-basis Φ dapat didefinisikan dengan cara mirip dengan

pasangan orto-basis sbeagai berikut

Koherensi kamus-basis: ? ≤ ( ) nmnmφφμ ,max

≠=Φ ≤ 1 (2.28)

Berdasarkan teorema piringan Gresgorin, dapat ditunjukkan batas bawah σ≥

(1+1/μ) dari spark, yang sebenarnya pesimistik. Dengan demikian, dari (2.28)

akan diperoleh

||γ1||0 +||γ2||0 ≥ σ ≥ (1+1/μ)

(2.29)

dan dari Teorema 4 akan diperoleh

Teorema 5. Representasi sinyal s=Φγ dimana ||γ||0 <0.5(1+1/μ)≤ σ/2

akan bersifat unik.

Dengan cara yang sama seperti sebelumnya, keunikan sinyal s didalam basis Φ

terhadap optimasi P1 dapat dinyatakan sbb;

Teorema 6. Diberikan suatu sinyal s dengan representasi s=Φγ, jika

||γ||0 <0.5(1+1/μ) (2.30)

Maka P1 atau algoritma Basis Pursuit akan dapat menemukannya.

Apa bedanya dengan yang diperoleh Donoho-Huo pada tulisan sebelumnya?

Perbedaan pertama, jumlah support dari sinyal yang dibentuk pasangan orto-

basis dalam penurunan Elad-Bruckstein lebih tinggi dari yang diberikan

Donoho-Huo. Yang kedua, Elad-Bruckstein memberikan generalisasi dari

pasangan basis ortogonal ke kamus-basis dengan batas sparsity yang diberikan

oleh persamaan (2.30).

Contoh Permasalahan

Page 41: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 41

Soal-1: Tentukan batas sparsity suatu sinyal s sepanjang 64 cuplikan yang

terbentuk dari sistem-basis acak tersebar normal Φ berdimensi 64×1024 dan

tingkat koherensi basis ini!

Jawab: Didalam compressive sensing, basis acak dapat dianggap sebagai basis

universal karena bersifat hampir ortogonal ke semua sistem basis lain.

Koherensi dihitung menurut rumus (7) sedangkan batas sparsity memakasi

rumus (9). Program Matlab berikut ini dapat dipakai untuk membantu

pemecahan masalah ini.

% progam menghitung koherensi dan

% batas sparsity basis acak Gaussian

clear;close all;clc;

N=64;M=1024; %dimensi kamus basis

%buat basis acak Gaussian MxN

D=orth(randn(N,M)')';

%hitung koherensi kamus basis D

mu=mu_PHI(D);

disp(sprintf('koherensi kamus-basis = %f\n', mu));

%Tentukan batas sparsity

N_sparse=floor(0.5*(1+1/mu));

disp(sprintf('batas sparsity = %d', N_sparse));

% === fungsi yang dipakai ===

%fungsi menghitung koherensi kamus basis

function [mu]=mu_PHI(PHI);

[M,N]=size(PHI);

CORR=transpose(conj(PHI))*PHI;

mu=max(max(CORR));

Hasil running program Matlab diatas menghasilkan nilai koherensi μ(Φ) ~ 0.094

dan batas sparsity sebesar 5. Dengan demikian, sebarang sinyal sepanjang 64

cuplikan yang terbentuk dari kombinasi linier kamus basis Φ berukuran

64×1024 akan dapat ditemukan dengan optimasi P1 atau algoritma Basis

Pursuit.

Soal-1: Tentukan koherensi antara ortobasis DCT dan ortobasis acak tersebar

normal, masing-masing berdimensi 512×512. Tentukan batas sparsity untuk P1

berdasarkan DHB (Donoho-Huo Bound) dan EBB (Elad-Bruckstein Bound).

Page 42: Penginderaan Kompresif

42 Andriyan B. Suksmono

Jawab: Perhatikan bahwa sistem yang ditinjau adalah dua orto-basis, bukan

kamus-basis. Dengan demikian, perhitungan koherensi akan memakai rumus

(2) sedangkan batas sparsity adalah rumus (1) untuk DHB dan rumus (6) untuk

EBB. Kode Matlab berikut dapat dipakai.

% progam menghitung koherensi dan batas sparsity

% antara basis DCT dengan basis acak Gaussian

clear;close all;clc;

N=512; %panjang sinyal yang diasumsikan

%buat basis DCT berdimensi NxN

THETA=dct(eye(N,N));

%buat basis acak Gaussian NxN

PSI=orth(randn(N,N)')';

%hitung koherensi antara DCT dengan Gauss

mu_DCT_Gauss=mu_THETA_PSI(THETA,PSI);

disp(sprintf('koherensi DCT-Gauss = %f\n', mu_DCT_Gauss));

%Tentukan batas sparsity

%kasus-1: DHB (Donoho-Huo bound)

N_DHB=floor(0.5*(1+1/mu_DCT_Gauss));

disp(sprintf('batas sparsity Donoho-Huo= %d\n', N_DHB));

%kasus-2: EBB (Elad-Bruckstein bound)

N_EBB=floor((sqrt(2)-0.5)/mu_DCT_Gauss);

disp(sprintf('batas sparsity Elad-Bruckstein= %d', N_EBB));

%==FUNGSI ===

%fungsi menghitung koherensi dua orto basis

function [mu]=mu_THETA_PSI(THETA,PSI);

[M,N]=size(PSI); %THETA diasumsikan berdimensi sama

CORR=transpose(conj(THETA))*PSI;

mu=max(max(CORR));

Hasil perhitungan memberikan nilai koherensi μ=0.219030, DHB =2, dan EBB

= 4. Terlihat perbedaan cukup signifikan antara EBB dengan DHB.

Page 43: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 43

2.4 Pengolahan Sinyal dengan Pemrograman Matematika

Masalah pencarian vektor basis ideal dari sebuah sinyal dapat diformulasikan

sebagai proses optimisasi berkendala (constrained optimization) P1. Tulisan ini

meninjau secara sekilas konsep optimisasi linier, khususnya LP (Linear

Programming), dan metode pemecahannya. Meskipun kendala dalam P1

sebenarnya bersifat tak-linier, pengaturan parameter yang tepat dan batas-

batas yang sesuai dapat mengubahnya menjadi linier, sehingga dapat

diselesaikan dengan LP. Suatu contoh pencarian basis ideal dari sinyal hasil

bentukan sepasang ortobasis dipakai untuk menunjukkan kegunaan LP. Jika

batasan sparsity terpenuhi, LP dapat menemukan seluruh basis penyusun

sinyal dan sinyal dapat direkonstruksi secara eksak.

2.4.1 Pemrograman Matematika dan Optimasi

Didalam optimasi ada suatu fungsi objektif yang akan dioptimumkan; dibuat

minimum atau maksimum. Kendala memberi batas wilayah dimana fungsi ini

berlaku. Dari berbagai macam metoda optimisasi yang ada, salah satu memiliki

pemakaian luas adalah pemrograman linier (LP/Linier Programming), suatu

bentuk khusus dari pemrograman matematika (Mathematical Programming).

Bahkan metoda Simpleks yang ditemukan oleh G. Dantzig untuk mencari solusi

masalah LP dinobatkan sebagai satu dari sepuluh algoritma terbaik abad

keduapuluh.

LP pada dasarnnya merupakan masalah pencarian nilai optimum (maksimum

atau minimum) dari suatu fungsi linier dengan kendala yang juga berbentuk

linier. Berikut ini contoh sederhana dari permasalahan didalam LP (diambil dari

contoh Matlab):

Tentukan harga x1 dan x2 yang memaksimumkan nilai x1+ x2, dengan syarat

bahwa x1+x2 ≤10, -x1 + x2 ≤5, x1≥1, dan x2≥1.

Masalah diatas dapat dituliskan kedalam bentuk baku sebagai berikut:

Page 44: Penginderaan Kompresif

44 Andriyan B. Suksmono

Maximize x1-x2

Subject to x1+x2 ≤10,

-x1+x2 ≤5,

x1≥1, and x2≥1.

Nilai yang akan dimaksimumkan (atau diminimumkan) disebut sebagai fungsi

obyektif, dalam soal diatas adalah x1-x2. Pemecahan masalah ini dapat

dilakukan secara grafis dengan cara menggambarkan semua kendala, lalu

mencari titik dimana nilai obyektif mencapai maksimum dalam daerah solusi:

Gb.2.8. Ilustrasi pencarian titik optimum dalam LP

Pada gambar ini, daerah yang diarsir adalah pasangan (x1, x2) yang memenuhi

semua kendala yang diberikan atau disebut juga feasible region. Kita harus

mencari satu titik dimana nilai fungsi obyektif mencapai optimal. Pada LP,

solusi selalu terletak di pojok wilayah daerah atau titik simpul. Program Matlab

berikut dapat dipakai untuk mencari solusinya:

% pemrograman linier untuk masalah sederhana

% min c'x s.t. Ax<=b; x1>=1, x2>=1

%------------------------------------------

c=[1;-1]; % koefisien fungsi obyektif

A=[1 1; 1 -1]; %matriks Z

b=[10; 5]; % kendala

lb=[1 1] ; %batas bawah x1 dan x2

x1

x2

5 10

5

10

-x1 + x2 ≤ 5

x1 - x2 0 ≤

x2 = 0

x1 = 0

Page 45: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 45

[x, fval,exitflag,output,lambda]=linprog(c,A,b,[],[],lb);

disp(sprintf('x1= %f x2=%f\n',x(1),x(2))); %tampilkan

Dari eksekusi program diperoleh x1=1, x2=9 yang akan menghasilkan nilai

objektif paling kecil, yaitu -8. Posisi titik optimum ini terletak dipojok daerah

politop paling kiri atas.

Metoda simpleks dari Dantzig melakukan perunutan setiap tepian wilayah

hingga ditemukan titik optimal yang selalu terletak di sudut atau verteks dari

politop. Dengan demikian, dapat ditunjukkan bahwa pada kondisi terburuk,

metoda ini akan memiliki kompleksitas yang tumbuh secara eksponensial.

Namun kebanyakan masalah praktis dapat dipecahkan dengan cukup cepat,

karena meskipun kompleksitas rata-ratanya cukup kecil hingga dapat

ditangani.

Masalah pertumbuhan kompleksitas perhitungan dalam metoda Simpleks

akhirnya dapat diatasi oleh Narendra Karmakar dengan metoda interior point

(IPM), yang memiliki kompleksitas polinomial. IPM tidak hanya dipakai pada

optimisasi linier, kasus lain yang taklinier-pun dapat dipecahkan dengan

metoda ini asalkan bersifat konveks. IPM mencapai kompleksitas polynomial

karena tidak lagi merunut tepian daerah solusi, tapi masuk menerobos kedalam

wilayah ini sampai solusi yang dicari dapat ditemukan.

Masalah optimisasi seperti diatas dapat dituliskan dalam bentuk umum sebagai

berikut:

minimize c1x1 + c2x2 + …+cnxn

subject to a11x1 + a12x2 + … +a1nxn ≤ b1

a21x1 + a22x2 + … +a2nxn ≤b2

………………………………. (2.31)

am1x1 + am2x2 + … +amnxn ≤ bm

x1, x2, …, xn ≥0

atau dituliskan secara ringkas sebagai

minimize Σnj=1 cjxj

Page 46: Penginderaan Kompresif

46 Andriyan B. Suksmono

subject to Σnj=1 aijxj ≤ bi i=1, 2, …, m (2.32)

xj≥ 0 j=1, 2, …, n

bahkan dengan dengan menggunakan slack variables

xn+1 = bj - Σnj=1 aijxj , i=1, 2, …, m (2.33)

LP dapat dituliskan dalam bentuk matriks yang lebih ringkas, yaitu

minimize cTx subject to Ax = b, x≥ 0 (2.34)

Masalah mencari nilai minimum suatu fungsi obyektif dapat diubah menjadi

pencarian minimum fungsi obyektif yang lain. Dengan demikian, pencarian nilai

minimum diatas memiliki solusi yang sama dengan masalah dual-nya, yaitu

pencarian nilai maksimum. Jika fungsi objektif dan kendala tidak lagi linier,

fungsi dari peubah x ini dapat ditulis sebagai c(x) dan kendala dapat ditulis

sebagai ai(x) ≥ bi.

2.4.2 Metode Basis Pursuit dengan Pemrograman Linier

Metoda basis pursuit merumuskan pencarian basis ideal φM didalam kamus-

basis Φ berdimensi N×M sebagai masalah pemrograman konveks:

(P1): min ||γ||0 s.t. Φγ = s (2.35)

Telah diketahui sejak lama bahwa optimisasi non-linier l1 seperti ini ekivalen

dengan LP

min cTx s.t. Ax = b, x ≥0 (2.36)

jika dilakukan substitusi sebagai berikut

M⇔2M; x⇔(α1, α2); c⇔[1 1 …. 1; 1 1… 1]; A⇔[Φ; -Φ]; b ⇔ s (2.37)

Page 47: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 47

Artinya, kamus-basis di gabung dengan nilai negatif dari kamus tersebut untuk

menggantikan peran matriks A, peran dari batas kendala b digantikan dengan

sinyal s, panjang vektor solusi dibuat menjadi dua-kalinya, sedangkan fungsi

objektif adalah penjumlahan masing-masing koefisien vektor solusi sparse α

dan dimensi kolom diperbesar menjadi duakali-nya.

Cara ini selanjutnya akan dipakai untuk memecahkan masalah dekomposisi

sinyal s terdahulu yang terdiri dari dua impuls dan dua vektor basis DCT.

Sebagai tambahan, sinyal ini tercampur dengan derau acak Gaussian. Berikut

ini kode Matlab-nya.

%-----------------------------------------------

%Basis pursuit on overcomplete basis

%Using Matlab Optimization Toolbox

%To search for solution ... modified

%-----------------------------------------------

%length of signal

clear;close all;clc;

N=64; %signal dimension

over_factor=2; %over complete factor

nAtoms=N*over_factor;

%create pair of orto-basis dictionary

D1=eye(N,N); D2=dct(eye(N,N)); D=[D1;D2]';

%create a signal with N_support'

N_support=4;

pN=[8 32 73 125]; %dpt diganti dng indeks acak jika perlu

x=zeros(N,1); X=zeros(nAtoms,1);%'transformed-domain signal

for k=1:N_support;

x=x+D(:,pN(k)); X(pN(k))=1;

end;

x0=x;

figure(1);plot(x0);title('Original Signal');

%perform measurement, >> add noise

derau=randn(N,1);

y = x0 + 5*derau/(derau'*derau);

Page 48: Penginderaan Kompresif

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 kamus-

basis berukuran 64×128. Batas sparsity Elad-Bruckstein untuk pasangan basis

ini adalah sekitar 0.9√N ~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.

Page 49: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 49

0 20 40 60 80 100 1200

0.2

0.4

0.6

0.8

1

1.2

1.4

indeks vektor

mag

nitu

do k

oefis

ien

Vektor basis terpilih

originalalpha

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).

0 10 20 30 40 50 60

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

waktu

mag

nitu

do

Perbandingan sinyal

originalnoisyestimatednoise-levelD*alpha

Gb.2.10 Sinyal asal dan hasil rekonstruksi

Page 50: Penginderaan Kompresif

50 Andriyan B. Suksmono

0 10 20 30 40 50 60-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

waktu

ampl

itudo

Perbandingan sinyal kesalahan

initial errorestimation errorD*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.

Page 51: Penginderaan Kompresif

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.

DMD array

optical lens

Light source

object

Photo diode

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

Page 52: Penginderaan Kompresif

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:

( )Sss ΦΨ=Φ=ˆ (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

Page 53: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 53

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

NMNMM

N

N

M S

SS

s

ss

......

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

0...00

0...10

...100

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

...000

...010

ˆ...ˆˆ

2

1

21

22221

11211

2

1

ψψψ

ψψψψψψ

(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 asli

5 10 15

2

4

6

8

10

12

14

16

Gb.3.2 Citra sederhana dalam pencitraan kompresif

Page 54: Penginderaan Kompresif

54 Andriyan B. Suksmono

citra teramati

5 10 15

2

4

6

8

10

12

14

16

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 menyatakan hasil pengamatan, ψs k vektor basis penjarang ke-

k, maka pencarian basis dapat dirumuskan sebagai berikut:

P1: min ||S||1 s.t. (3.3) ∑=k

ks ψkSˆ

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 rekonstruksi

5 10 15

2

4

6

8

10

12

14

16

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.

Page 55: Penginderaan Kompresif

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 cukup penting. Dengan demikian, masalah

utamanya adalah pemilihan transformasi penjarang yang kurang tepat.

Bagaimana cara mengatasinya?

0 50 100 150 200 250 3000

0.5

1

1.5

2

2.5

3

3.5

4koefisien terurut

indeks

mag

nitu

do

Gb.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');

Page 56: Penginderaan Kompresif

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;

Page 57: Penginderaan Kompresif

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.

Page 58: Penginderaan Kompresif

58 Andriyan B. Suksmono

Konstruksi matriks penjarang PSI pada kode sebelumnya diubah dari

transformasi DCT menjadi transformasi Haar dengan mengubah baris terkait

sbb :

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 rekonstruksi

5 10 15

2

4

6

8

10

12

14

16

citra rekonstruksi

5 10 15

2

4

6

8

10

12

14

16

(a) (b)

Gb.3.6 Hasil rekonstruksi pencitraan kompresif dengan transformasi Haar:

(a) K-buah koefisien pertama, (b) 50 buah koefisien pertama.

Page 59: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 59

0 50 100 150 200 250 3000

1

2

3

4

5koefisien terurut

indeks

mag

nitu

do

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 asli

5 10 15

2

4

6

8

10

12

14

16

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

Page 60: Penginderaan Kompresif

60 Andriyan B. Suksmono

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

diperlihatkan pada Gambar 3.9.

50 100 150 200 2500

0.5

1

1.5

2koefisien terurut

indeks

mag

nitu

do

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.25√N. 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 teramati

5 10 15

2

4

6

8

10

12

14

16

citra rekonstruksi

5 10 15

2

4

6

8

10

12

14

16

(a) (b)

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

Page 61: Penginderaan Kompresif

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.

Page 62: Penginderaan Kompresif

62 Andriyan B. Suksmono

Operasi pengamatan pada kawasan spasial yang dijelaskan sebelumnya dapat

ditafsirkan sebagai pencuplikan terhadap vektor basis penjarang jika dituliskan

sebagai:

( )Ss ΦΨ=ˆ (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 s

S

|∇|1

Φ

P1

ε

ς

F F -1 F

F -1

Φ E{ζ}

P1

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

Page 63: Penginderaan Kompresif

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 penjarang

ada dalam kawasan lain yang perhitungannya didasarkan pada sinyal kawasan

spasio-temporal, maka hasil cuplikan kompresif terlebih dahulu dikembalikan

ke kawasan semula menjadi sinyal . Selanjutnya yang akan diminimumkan

adalah nilai variansi total:

s

22

2

2

1

ˆ...

ˆˆˆ ⎟⎟⎠

⎞⎜⎜⎝

⎛++⎟⎟

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛=∇≡

ndxsd

dxsd

dxsdsS (3.2)

dan basis pursuit dapat dirumuskan sebagai

(P1): min |S| s.t. (3.3) ςˆ 1−= Fs

Optimisasi ini mengatakan untuk memilih ς yang inverse transform Fouriernya,

yaitu memiliki variansi total |S| terkecil, tetapi bisa menjelaskan hasil

pengamatan = F

s

s -1 ς . Pada diagram, pengaruh hasil pemilihan |S| terkecil

pada 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.

Page 64: Penginderaan Kompresif

64 Andriyan B. Suksmono

citra asli

5 10 15

2

4

6

8

10

12

14

16

Gb.3.12 Citra asli

citra teramati

5 10 15

2

4

6

8

10

12

14

16

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 rekonstruksi

5 10 15

2

4

6

8

10

12

14

16

Gb.3.14. Citra hasil rekonstruksi berdasarkan TV

Page 65: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 65

Hasil rekonstruksi yang diperlihatkan pada Gambar 3.14 jauh lebih bagus dari

yang sebelumnya—bahkan 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)';

Page 66: Penginderaan Kompresif

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

Page 67: Penginderaan Kompresif

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 ( 0tt − )δ , kemudian impuls akan mengenai objek lalu

sebagian akan dipantulkan kembali dan akhirnya diterima oleh sistem penerima

(Rx) yang dinyatakan oleh ( ttt )Δ−− 0δ . Karena kecepatan gelombang EM dalam

medium tertentu telah diketahui, maka jarak antara antenna ke benda dapat

dihitung berdasarkan waktu tunda Δt.

Page 68: Penginderaan Kompresif

68 Andriyan B. Suksmono

Tx Rx

Benda

(a)

C1δ(t) C2δ(t-Δ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.

Page 69: Penginderaan Kompresif

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.

ΔΩ1 ΔΩi ΔΩN

|S(Ω)|2s(t)Fourier

Transform

ΔΩ1 ΔΩi ΔΩN

|S(Ω)|2s(t)s(t)Fourier

Transform

ΔΩ1 ΔΩi ΔΩN

|S(Ω)|2s(t)s(t)Fourier

Transform

ΔΩ1 ΔΩi ΔΩN

|S(Ω)|2s(t)s(t)Fourier

Transform

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.

Page 70: Penginderaan Kompresif

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:

( ) ( ) ( )∫∞

∞−−= dttjtsS ω

πω exp

21

(3.4.a)

( ) ( ) ( )∫∞

∞−= ωωω

πdtjSts exp

21

(3.4.b)

dimana ω=2πf adalah frekuensi (angular), sedangkan 1−=j 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:

Page 71: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 71

⎟⎠⎞

⎜⎝⎛−= ∑

=

kN

jnsN

SN

nnk

π2exp1 1

0 (3.5.a)

⎟⎠⎞

⎜⎝⎛= ∑

=

nN

jkSN

sN

kkn

π2exp1 1

0

(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 . kS

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 oleh frequency synthesizer dan dipancarkan secara berurutan

melalui antena UWB (ultrawideband). Penerima akan menangkap pantulan

gelombang melalui antena penerima untuk di-demodulasi dengan pen-

demodulator kuadratur. Hasilnya adalah sinyal Ik (inphase) dan sinyal Qk

(quadrature) yang secara bersama-sama membentuk koefisien Fourier kompleks

Page 72: Penginderaan Kompresif

72 Andriyan B. Suksmono

( ) ( ) ( kkkk jQISS )ωωω +== (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.

Page 73: Penginderaan Kompresif

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 elektro-

mekanik 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 antar-

muka 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.

Page 74: Penginderaan Kompresif

74 Andriyan B. Suksmono

0 0.2 0.4 0.6 0.8 1-0.5

0

0.5A-scan

time

ampl

itude

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

Page 75: Penginderaan Kompresif

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; % Raw complex data

% filling the conjugate symmetric part of the data

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');

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,

Page 76: Penginderaan Kompresif

76 Andriyan B. Suksmono

pembangkit frekuensi harus memiliki kemampuna membangkitkan frekeusnsi

secara acak. Gambar 3.20 memperlihatkan perubahan sistem yang dimaksud.

t

f

Random Access Frequency

Synthesizer

×

I Q

ADC

Tx Antenna Rx Antenna

Quadrature Mixer

Display

Pseudorandom Number

Generator

Optimization Algorithm

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.

Page 77: Penginderaan Kompresif

Memahami Penginderaan Kompresif dengan MATLABTM 77

0 50 100 150 200 250 300 350 400 450 500

CS2x

CS3x

CS4x

CS5x

CS8x

IDFT

ORG

Gb.3.21. Perbandingan hasil rekonstruksi sinyal dengan IDFT dan CS

untuk berbagai tingkat kompresi

dept

h (s

ampl

e-in

dex)

y-axis (m)0.25 0.5 0.75 1 1.25 1.5 1.75

100

200

300

400

500

dept

h (s

ampl

e-in

dex)

y-axis (m)0.25 0.5 0.75 1 1.25 1.5 1.75

100

200

300

400

500

dept

h (s

ampl

e-in

dex)

y-axis (m)0.25 0.5 0.75 1 1.25 1.5 1.75

100

200

300

400

500

dept

h (s

ampl

e-in

dex)

y-axis (m)0.25 0.5 0.75 1 1.25 1.5 1.75

50

100

150

200

250

300

350

400

450

500

ORIGINAL IDFT8x CS8x CS2x

dept

h (s

ampl

e-in

dex)

y-axis (m)0.25 0.5 0.75 1 1.25 1.5 1.75

100

200

300

400

500

dept

h (s

ampl

e-in

dex)

y-axis (m)0.25 0.5 0.75 1 1.25 1.5 1.75

100

200

300

400

500

dept

h (s

ampl

e-in

dex)

y-axis (m)0.25 0.5 0.75 1 1.25 1.5 1.75

100

200

300

400

500

dept

h (s

ampl

e-in

dex)

y-axis (m)0.25 0.5 0.75 1 1.25 1.5 1.75

50

100

150

200

250

300

350

400

450

500

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

Page 78: Penginderaan Kompresif

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.

Page 79: Penginderaan Kompresif

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]. L.P. Ligthart, Course Handout: A 3-Days Short Course on GPR, IRCTR-

Delft.

[11]. A.B. Suksmono, E. Bharata, A.A. Lestari, A. Yarovoy, and LP. Ligthart,

“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

Page 80: Penginderaan Kompresif

80 Andriyan B. Suksmono

Continuous-Wave Radars,” J. Elektronika dan Telekomunikasi, LIPI, Vol.8,

No.1, Januari 2008, hal 1-5.

[14]. AB Suksmono, “ An introduction to compressive sensing and its

application,” Intl. Univ. Exchange Seminar and IJJSS2008, Chiba, Japan.

[15]. A.B. Suksmono, “ A brief review on compressive imaging,” Proc. of APT

Workshop and ITU Rapporteur Group Meeting 2008, Tokyo, Japan.

[16]. A.B. Suksmono, “Compressive imaging,” invited speaker in ICMNS (Intl

Conf. on Math. And Nat. Sciences, Oct. 2008, ITB, Bandung.

[17]. A.A. Pramudita, A. Kurniawan, A.B. Suksmono, “Hexagonal Monopole

Strip Antenna with Rectangular Slot for 100-1000 MHz SFCW GPR

Applications,” Int. J. of Antennas and Propagation, Vol.2008, pp.1-6.