Professional Documents
Culture Documents
End For: 1. Program Ricker Wavelet Fortran
End For: 1. Program Ricker Wavelet Fortran
x(420)
x(500)
x(600)
x(650)
x(675)
end
= -0.4;
= -0.6;
= 0.6;
= 0.8;
= -0.2;
for i = 1:np
t = (i-1)*dt;
b = (pi*fr*t)^2;
rx(i) = (1-2*b)*exp(-b);
end
for i = 1:np
rc(np+i) = rx(i);
rc(i) = rx(np-i+1);
end
y = conv(x,rc);
subplot(3,1,1);plot(x);title('koefisien
refleksi');
subplot(3,1,2);plot(rc);title('ricker
wavelet');
subplot(3,1,3);plot(y);title('trace
seismik');
visualisasinya adalah sebagai berikut ;
2. Program BPF
t = 0:.002:10;
f1=5; f2=20; f3=25; f4=30; f5=60;
y=5*sin(2*pi*f1*t)+2.5*sin(2*pi*f2*t
)+1.5*sin(2*pi*f3*t)+0.5*sin(2*pi*f4*
t)+3*sin(2*pi*f5*t);
Y=fft(y);
m=abs(Y);
subplot(2,1,1), plot(t,y);
title('Grafik Sinyal (dalam kawasan
waktu dan frekuensi)')
ylabel('Abs. Magnitude'), grid on
xlabel('Time [second]')
subplot(2,1,2), plot(t*50,m);axis ([0
100 0 15000])
ylabel('Power'), grid on
xlabel('Frequency [Hertz]')
%bandpass
n=1:length(t)/2+1;
L=(2./(n*pi)).*(sin(n*pi*0.12)sin(n*pi*0.08));
m=length(n);
for i=1:m
a(m+i-1)=L(i); %---two side
a(i)=L(m-i+1);
end
q=-length(t)/2:length(t)/2-1;
figure();
plot(q,a); axis ([-1000 1000 -.05
0.05])
title('Band Pass Filter')
ylabel('Abs. Magnitude'), grid on
xlabel('Time [second]')
%konvolusi
h=conv(L,y); %fungsi waktu
d=fft(h); %fungsi frekuensi
e=abs(d);
s=1:length(h);
% -----PLOTING HASIL
KONVOLUSI----figure();
-1
-2
-3
100
200
300
400
500
600
700
800
900
1000
4. Gelombang Stasioner
Contoh dari gelombang stasioner sendiri
adalah gelombang sinus. Gelombang sinus
dengan fase mempunyai pengertian yang
hampir sama dengan gelombang sinus
biasa. Hanya saja gelombang ini memiliki
fase tertentu. Flowchartnya sama persis
dengan flowchart jumlahan sinus biasa,
tetapi pada masukan dan pernyataannya
ditambah fase. Hasil yang didapat
adalah sebagai berikut :
figure;
plot(x,y);
f2 = 20;
b1 = 5;
b2 = 1.5;
fase = 90;
dt = 0.002;
n = 500;
for i = 1 : n;
a1(i) = b1*sin(2*pi*f1*(i-1)+fase);
a2(i) = b2*sin(2*pi*f2*(i-1)+fase);
a = a1+a2;
end;
figure
subplot(3,1,1);plot(a1);xlabel('
');ylabel(' ');
subplot(3,1,2);plot(a2);xlabel('
');ylabel(' ');
subplot(3,1,3);plot(a);xlabel('
');ylabel(' ');
title ('hasil jumlahan gelombang sinus
dengan beda fase 90 derajat');
xlabel('time (s)');ylabel('amplitudo');
5. Koreksi NMO dan Slant Stacking
end
n = 2*n;
% Model Satu Lapis Mendatar
x = 7.5;
% Offset (m)
dx = 15;
% Interval Geophone (m)
trace = 24;
% Jumlah Coverage
v1 = 500;
% Kecepatan Lapisan 1
(m/s)
v2 = 2500;
% Kecepatan Lapisan 1
(m/s)
d = 200;
% Ketebalan Lapisan 1 (m)
m = 1200;
% Jumlah Sampel
r = (v2-v1)/(v2+v1);
% Koefisien Refraksi
k = n+m-1;
for i=1:trace
t0 = (2*d)/v1;
t = sqrt(t0^2 + (x^2/v1^2));
tx = x/v1;
l = round(t/dt);
lx = round(tx/dt);
for j=1:m
y(j) = 0.0;
end
y(l) = r;
z = conv(y,rk);
for j=1:k-nk
zx(j) = z(j);
end
for j=1:k-nk
b(j,i) = zx(j);
end
x = x+dx;
end
k = k-nk;
% Ploting Rekaman Seismik Sintetik
figure;
clf;
subplot(1,2,1);
title('Model Rekaman Seismik Pantul 1
Lapis');
xlabel('Jarak X (m)');
ylabel('Waktu t (s)');
end
for i=1:k
zs(i) = 0.0;
end
Tgeo(i) = t;
xoff = xoff + dx;
end
T=0:dt:2;
for i=1:trace;
hold on;
axis ij;
for j=1:k
y(j) = b(j,i);
end
for j=1:k
zs(j) = zs(j) + y(j);
end
plot(y(1:800)+i, T(1:800));
end
subplot(1,2,2);
plot(zs(1:800), T(1:800));
grid on;
title('Hasil Stacking 24 Trace');
axis ij;
% NMO CORRECTION
x = 7.5;
% Offset (m)
% Colecting data geophone
Xgeo(1) = x;
% Jarak geophone 1 ke
source = offset
for i = 2:trace
Xgeo(i) = Xgeo(1) + ((i-1)*dx);
subplot(1,2,2);
plot(ZS(1:800), TT(1:800));
grid on;
title('Hasil Stacking 24 Trace');
axis ij;
Model Rekaman Seismik Pantul 1 Lapis
0
Waktu t (s)
ZXcorr(j) = Zcorr(j);
end
for j=1:k-nk
Bcorr(j,i) = ZXcorr(j);
end
xoff = xoff + dx;
end
k = k-nk;
0.2
0.2
0.4
0.4
0.6
0.6
0.8
0.8
1.2
1.2
1.4
1.4
1.6
for i=1:k
ZS(i) = 0.0;
end
plot(Ycorr(1:800)+i, TT(1:800));
end
6. Pencarian Nilai a,b dan c
Dengan Tranformasi Laplace
(s + 3s + 2) (s) = 10/s + 2s -4
Waktu t(s)
for i=1:trace;
hold on;
axis ij;
for j=1:k
Ycorr(j) = Bcorr(j,i);
end
for j=1:k
ZS(j) = ZS(j) + Ycorr(j);
end
10
20
Jarak X (m)
30
TT=0:dt:2;
1.6
-1
0.4
0.4
0.6
0.6
0.8
0.8
1.2
1.2
1.4
1.4
10
20
Jarak X(m)
30
1.6
-10
0.2
0.2
1.6
10
20
(s) =
(s) = +
% ====================
% Melipat Rekaman Data
% ====================
for i=1:24;
for j=1:700;
c(j,i)=b(j,24-i+1);
c(j,24+i)=b(j,i);
end;
end;
%
=================================
====
% Menggambar Hasil Melipat
Rekaman Data
%
=================================
====
figure;
for i=1:50;
hold on;
grid on;
axis ij;
for j=1:k; y(j)=c(j,i); end;
plot(y(1:k)+i,tt(1:k));
end;
(s) =
{
} {
} {
(s) =
(s) =
2a = 10 a = 5
a+b+c = 2
2
5+b+c =
b+c = -3
3a+2b+c = -4 15+2b+c = -4
2b+c = -19
= -16
b+c = -3 c = -3 + 16 = 13
Jadi a=5, b=-16, dan c=13 maka (s) =
+
0.2
0.4
0.6
0.8
1.2
1.4
10
15
20
25
30
35
40
45
50
8. Koreksi DMO
for i=1:trace;
l=tx(i);
for j=1:k;
c(j,i)=b(l+j,i);
end;
end;
%menampilkan hasil koreksi DMO
for i=1:trace;
hold on;
grid on;
axis ij;
for j=1:k; z(j)=c(j,i);end;
plot(z(1:k)+i,tt(1:k));
end;
%interval geophone
%jumlah geophone
%jumlah data per trace
0.6
x=0;
dx=20;
trace=24;
m=1200;
0.8
1
1.2
1.4
1.6
t0=2*d/v1;
vnmo = 500/cos(dip);
%kecepatan NMO untuk lapisan
miring
figure;
title('Rekaman data seismik
setelah dikoreksi DMO');
xlabel('geofon');
ylabel('time travel');
1.8
10
15
20
25
geofon
for i=1:trace;
a=(x/(vnmo*t0))^2;
tnmo(i)=t0*(sqrt(1+a)-1);
tx(i)= round(tnmo(i)/dt);
x=x+dx;
end;
0.6
time travel
0.8
1
1.2
1.4
1.6
1.8
10
15
geofon
20
25