Saturday, June 16, 2007

Konvolusi (Convolution)

Secara umum konvolusi didefinisikan sebagai cara untuk mengkombinasikan dua buah deret angka yang menghasilkan deret angka yang ketiga. Didalam dunia seismik deret-deret angka tersebut adalah wavelet sumber gelombang, reflektivitas bumi dan rekaman seismik.
Secara matematis, konvolusi adalah integral yang mencerminkan jumlah lingkupan dari sebuah fungsi a yang digeser atas fungsi b sehingga menghasilkan fungsi c. Konvolusi dilambangkan dengan asterisk ( *).
Sehingga, a*b = c berarti fungsi a dikonvolusikan dengan fungsi b menghasilkan fungsi c.
Konvolusi dari dua fungsi a dan fungsi b dalan rentang terbatas [0, t] diberikan oleh:






Contoh:
a = [1, 2, 3] dan b = [4,5,6] maka a*b :



Sehingga a*b adalah [4,13,28,27,18]
Dari contoh diatas terlihat bahwa jumlah elemen c adalah jumlah elemen a ditambah jumlah elemen b dikurangi 1
(3+3-1 = 5).


Konvolusi dikawasan waktu (time domain) ekuivalen dengan perkalian dikawasan frekuensi dan sebaliknya konvolusi dikawasan frekuensi ekuivalen dengan perkalian dikawasan waktu [Bracewell, 1965]


#!/usr/bin/perl
@a=(1,2,3);
@b=(4,5,6);
$la=@a;  #length a
$lb=@b;  #length b
$lab=$la+$lb-1;  #length of result

for ( $i = 0; $i < $lab; $i++ )
{
    $k=$i;
    $y[$i]= 0;
    for ( $j = 0; $j < $lb; $j++ )  #length b
    {
    if ($k>=0 && $k<$lab) 
    {
         $y[$i] = $y[$i] + ($a[$k]*$b[$j]); 
         $k=$k-1; 
    }
    }
 print $y[$i], "\n";
}



4 comments:

Anonymous said...

thanks tutorialnya om...

widy133

Anonymous said...

best seismic blog....thanks a lot..help me a lot during my exam

My World said...

jika a dikonvolusikan dengan b (a*b), fungsi yang nilainya dicerminkan atau dibalik itu fungsi a atau fungsi b? Soalnya ada tutorial lain yang bilang fungsi b yang dibalik bukan fungsi a.


Terima kasih jawabannya

Agus Abdullah, PhD said...

Konvolusi bersifat komutatif i.e a*b=b*a