Disusun Oleh:
Intan Andriani Putri, S.Si., M.T
SPIKING DECONVOLUTION
SPIKING DECONVOLUTION
Spiking deconvolution bertujuan untuk mengkompresi wavelet sumber 𝑤(𝑡) menjadi zero-phase
spike dengan lebar nol atau dengan kata lain fungsi impuls 𝛿(𝑡). Hal ini berarti efek dari wavelet
sumber dieliminasi dan hanya menyisakan efek dari reflektivitas bumi pada seismogram. Efek
wavelet dapat dilakukan dengan cara mengkonvolusikan trace seismic dengan suatu inverse filter
ℎ(𝑡) dari wavelet sumber yang didefinisikan sebagai:
𝑤(𝑡) ∗ ℎ(𝑡) = 𝛿(𝑡) ..................................................................................................................... (1)
Transformasi Fourier dari persamaan (1) yaitu:
𝑤(𝑓)𝐻(𝑓) = 1 ............................................................................................................................ (2)
Di mana 𝑊(𝑓), 𝐻(𝑓), dan 1 adalah Transformasi Fourier dari 𝑤(𝑡), ℎ(𝑡), dan 𝛿(𝑡). Dari
persamaan (2) dapat terlihat bahwa:
1 1
𝐻(𝑓) = 𝑊(𝑓) = 𝑊(𝑓) 𝑒 −𝜙𝑤 (𝑓) ...................................................................................................... (3)
1
Yang mengimplikasikan bahwa |𝐻(𝑓)| = |𝑊(𝑓)| dan 𝜙ℎ (𝑓) = −𝜙𝑤 (𝑓). Spectrum amplitude dari
inverse filter |𝐻(𝑓)| merupakan resiprokal dari spektrum amplitude wavelet sumber |𝑊(𝑓)| serta
spectrum fasenya adalah negatif dari spectrum fase wavelet sumber. Jika dilakukan inverse
Transformasi Fourier terhadap 𝐻(𝑓), maka kita akan mendapatkan filter ℎ(𝑡) yang diinginkan.
Spiking deconvolution dilakukan dengan konvolusi inverse filter dengan trace 𝑠(𝑡):
ℎ(𝑡) ∗ 𝑠(𝑡) = ℎ(𝑡) ∗ [𝑤(𝑡) ∗ 𝑒(𝑡)
ℎ(𝑡) ∗ 𝑠(𝑡) = [ℎ(𝑡) ∗ 𝑤(𝑡)] ∗ 𝑒(𝑡)
ℎ(𝑡) ∗ 𝑠(𝑡) = 𝛿(𝑡) ∗ 𝑒(𝑡)
ℎ(𝑡) ∗ 𝑠(𝑡) = 𝑒(𝑡) ...................................................................................................................... (4)
yang menghasilkan 𝑒(𝑡) atau respon bumi itu sendiri.
Pada praktiknya, data yang dimiliki merupakan data yang disampling secara uniform dan juga
mengandung noise. Dengan demikian, trace seismik dapat ditulis sebagai:
𝑠(𝑡) = 𝑤(𝑛) ∗ 𝑒(𝑛) + 𝛾(𝑛) ........................................................................................................ (5)
Di mana 𝑛 merepresentasikan index waktu. Transformasi-Z umumnya digunakan untuk
menghitung inverse filter. Metoda lain untuk menentukan operator filter adalah metode least
square. Optimum Wienner filter yang mencari error terkecil antara output yang diinginkan (zero
phase spike dengan lebar nol) dan output sebenarnya menghasilkan bentuk matrix sebagai berikut:
𝑟(0) 𝑟(1) 𝑟(2) ⋯ 𝑟(𝑁 − 1) ℎ(0) 𝑤(0)
𝑟(1) 𝑟(0) 𝑟(1) ⋯ 𝑟(𝑁 − 2) ℎ(1)
[ ][ ] = [ 0 ] ............................ (6)
⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮
𝑟(𝑁 − 1) 𝑟(𝑁 − 2) 𝑟(𝑁 − 3) ⋯ 𝑟(0) ℎ(𝑁 − 1) 0
Dengan 𝑟(𝑛) adalah autokorelasi data, dan 𝑤(𝑛) adalah korelasi silang.
Prewhitening
Spectrum amplitude operator filter merupakan resiprokal dari spectrum wavelet sumber. Jika
spectrum amplitude sumber pada beberapa frekuensi bernilai nol, spectrum amplitude operator
filter tidak akan stabil (mendekati tak hingga). Untuk memastikan algoritma stabil secara numeric,
random white noise biasanya ditambahkan kepada spectrum amplitude dan autokorelasi sebelum
spiking deconvolution yang disebut dengan prewhitening.
A. TUGAS PENDAHULUAN
1. Buktikan persamaan (6) dengan menggunakan prinsip least square
2. Mengapa autokorelasi data dapat menggantikan autokorelasi wavelet sumber?
3. Jelaskan yang dimaksud dengan power spectral density (PSD)
B. PRAKTIKUM
B.1 DEKONVOLUSI DATA SEISMIK MENGGUNAKAN METODE SPIKING
DECONVOLUTION
Pada bagian ini, kita akan melakukan spiking deconvolution terhadap data seismik real berupa
gather 2D lapangan East Texas, USA. Beberapa parameter data yang penting adalah:
- Jumlah penembakan : 18
- Jumlah channel per shot : 33
- Jumlah trace inline : 594
- Receiver interval : 220 ft
- Sampling interval : 2 ms
- Jumlah sample tiap trace : 1501
- Filter : 8 – 64 Hz bandpass filter
1. Buat script baru dengan nama spiking_deconv_NIM_nama
2. Inputkan data lalu ambil tiga shot point (4 – 6) untuk contoh dekonvolusi dengan dengan
menjalankan script berikut pada Editor:
clc; clear all;
% Ekstrak gather yang telah dilakukan gain dan SegyHeader (H)
load ('Data_Modul_2.mat');
%% Ambil trace yang diinginkan
shot_num=4:6; % Definisikan data gather yang akan diproses
% p=0 untuk offset (single gather) dan p=1 untuk nomor trace
p=1;
% ekstrak trace dan informasi dari data yang diperlukan
[trace,dt,dx,t,offset]=extracting_shots(Dbpf,H,shot_num,p);
% definisikan ukuran data
[nt,nx]=size(trace);
% Plot trace awal sebelum dilakukan dekonvolusi
% skala amplitudo trace bisa dimodifikasi untuk membantu display
scale=1.5;
% plot trace
figure(1)
mwigb(trace,scale,offset,t)
title('Trace awal')
xlabel('Trace number','FontSize',14)
ylabel('Time (s)','FontSize',14)
Hingga muncul trace seperti di bawah dan simpan gambar tersebut.
3. Hitung autokorelasi keseluruhan data untuk mengamati berapa panjang operator filter yang
akan digunakan
[trace_auto ,lags]=auto_correlation_map(trace,max(t),dt);
N=round(max_lag/dt);
p_noise=mu/100;
Dauto=zeros(N,nx);
Rxd=zeros(1,N);
for i=1:nx
Dauto(:,i)=my_xcorr(trace(:,i)',N)';
Rxd=Rxd+my_xcorr(trace(:,i)',N,1);
end
Rxd=abs(Rxd);
8. Setelah mendapatkan operator filter, konvolusikan dengan data untuk memperoleh hasil
spiking deconvolution
T_avg_after=mean(trace_SD');
[T_avg_after ,f] = periodogram(T_avg_after ,[],2*nt,fs);
T_avg_after=T_avg_after/max(T_avg_after);
T_avg_after=20*log10(abs(T_avg_after));
f=linspace(0,0.5,nt+1)/dt;
figure(4)
plot(f,T_avg_before')
hold on
plot(f,T_avg_after,'r')
xlabel('Frequency (Hz)','FontSize',14)
ylabel('Normalized PSD','FontSize',14)
grid
legend('Sebelum spiking deconv','Setelah spiking deconv')