Thursday 14 December 2017

LAB 03 - NOISE ATTENUATION

MATLAB SCRIPT LAB 3.1

clear,clc, close all;
load SeismicData_gain_C

%% Extracting shot num 8 and geometry acquisition parameters
shot_num=8;
p=0;
[Dshot,dt,dx,t,offset]=extracting_shots(Dgz,H,shot_num,p);

%% Original wavelet Figure 1
scale=2;
mwigb(Dshot,scale,offset,t)
xlabel('Offset(ft)','FontSize',14)
ylabel('Time(s)','FontSize',14)
title('Figure 1','FontSize',16)

Picture
Figure 1: shot gather no 8 contain ground roll noise

%% Before remove noise
[Data_f,f]=fx(Dshot,dt);
figure,
pcolor(offset,f,20*log10(fftshift(abs(Data_f),1)))
shading interp;
axis ij;
colormap(jet)
colorbar
xlabel('Offset(ft)','FontSize',14)
ylabel('Frequency(Hz)','FontSize',14)
title('Figure 2','FontSize',16)
set(gca,'xaxislocation','top')
axis([min(offset),max(offset),0,max(f)])

Picture
Figure 2: shot gather no 8 frequency-space (f-x) domain magnitude spectra

%% After remove noise
[Data_fk,f,kx]=fk(Dshot,dt,dx);
figure,
pcolor(kx,f,20*log10(fftshift(abs(Data_fk))))
shading interp;
axis ij;
colormap(jet)
colorbar
xlabel('Wavenumber(1/ft)','FontSize',14)
ylabel('Frequency(Hz)','FontSize',14)
title('Figure 3','FontSize',16)
set(gca,'xaxislocation','top')
axis([min(kx),max(kx),0,max(f)])

Picture
Figure 3: shot gather no 8 frequency-wavenumber (f-k) domain magnitude spectra

%% Cut off
N=100
cut_off=[15,60];
[Dbpf,Dbpf_f]=bpf_fir(Dshot,dt,N,cut_off);

%% Plotting the difference
figure,mwigb(Dshot-Dbpf,scale,offset,t)
xlabel('Offset(ft)','FontSize',14)
ylabel('Time(s)','FontSize',14)
title('Figure 4','FontSize',16)

Picture
Figure 4: difference wiggle plot between before and after BPF filtering

%% Frequency space (f-x) representation
% Extraction of information from the data:
[Data_f,f]=fx((Dshot-Dbpf),dt);
% Plotting the magnitude spectrum
figure,
pcolor(offset,f,20*log10(fftshift(abs(Data_f),1)))
shading interp;
axis ij;
colormap(jet)
colorbar
xlabel('Offset(ft)','FontSize',14)
ylabel('Frequency(Hz)','FontSize',14)
title('Figure 5','FontSize',16)
set(gca,'xaxislocation','top')
axis([min(offset),max(offset),0,max(f)])

% Displaying frequencies
x=10;y=10;
w=300;
h=600;
set(gcf,'position',[x y w h]);​

Picture
Figure 5: difference plot between before and after BPF filtering in f-x magnitude spectra of shot no 8

Ground roll noise are also known as Rayleigh waves travelling along the ground surface and generally have low velocity (<1000 m/s), low frequency (<15 Hz) and high amplitudes. Their time distance t-x curves are straight lines with low velocities and zero intercepts for an inline source. They are attenuated using source and receiver arrays in the field and various processing methods such as frequency filtering and f-k filtering.

Band pass filter (BPF) are applied to shot gather number 8 to attenuate the ground roll. BPF's enhance the overall gain of each shot gather and increases the signal to noise ratio by attenuating low and high frequency noise record including the ground roll noise.

Finite Impulse Response (FIR) BPF digital filter are applied to each seismic trace in the shot gather number 8 using the bpf_fir.m in the m-file provided in the manual.

No comments:

Post a Comment

LAB 06 - STATIC CORRECTIONS

MATLAB SCRIPT LAB 6.1 load SeismicData_gain_bpf_sdecon_gain_sorted_nmo_corrected_stacked_C.mat cmp_num t Dstacked The following MATLAB...