[frame][postscript][pdf]
                                                                                                                                                                    November 15, 1994

vfilt3da - 3D [KxKy,Omega] Filtering                                                                     D.A.  Yanchak, P.G.A.  Garossino

Introduction

The proliferation of 3D post stack datasets within the industry has resulted in the geoscientist being faced with the interpretation of data that he/she was not involved in processing. Often times such datasets suffer from destructive interference caused by source / receiver orientated noise events that could effectively be removed by a full 3D velocity filter. The USP routines fftpack, vfilt3d and vfilt3da were written to provide this functionality.

 

The Algorithm

The algorithm involves using fftpack to do a forward FFT of the original post-stack volume resulting in a dataset containing trace-wise complex frequency domain information. This dataset is then sliced sample-wise to provide a frequency slice dataset for input to vfilt3d or vfilt3da. At this juncture each frequency slice undergoes a full 2D FFT, samples within a user defined velocity, azimuth and frequency range are either passed or set to zero. The vfilt3da routine make use of the full complex transform between +/- Kx and +/- Ky while the vfilt3d routine makes use of symmetry and only uses the positive Ky information. The difference in practice between these two routines is that vfilt3da achieves a greater level of rejection. An inverse rotation of the cube and an inverse FFT is applied using fftpack to complete the process.

 

Model Example

The USP routine spike3d was used to construct a 3D post-stack model containing three dipping cones of 2.5, 10 and 25 degrees as well as a single flat lying planar event. The in-line and cross-line spacing associated with the model was set to 10 meters. The source for the surfaces was placed at the center of a grid of 250 in-line by 250 cross-line source/receiver locations (Fig. 1)
To examine the 3D effects of the filtering it is necessary to observe the model volume from several vantage points. The following LI [Line Index], DI [Depth Index] and TI [Time Index] records are displayed for each filter run:
In-line

        LI 50 (Fig. 2)

        LI 125 (Fig. 3)
Cross-line
        DI 225 (Fig. 4)

Time-Slice

        TI 80 (Fig. 5)

Notice that the only view which accurately portrays the conical events in terms of their apparent linear velocity is one which bisects the volume beneath the source position (Fig. 3). The other views (Fig.'s 2, 4 and 5) display events which to the interpreter would look like a reflection from out of the plane or a broadside direct arrival [which in fact these are] or an anticlinal feature at the given location. For this discussion let us assume that all conical events are source generated linear noise while the true structure is flat lying.
We will first reject the steepest noise event [the cone dipping at 25 degrees]. To accomplish this one must first determine the velocity of the interfering event. Measure this where the


event dips the steepest throughout your volume. In this case the velocity as measured on the LI 125 display (Fig. 3) is approximately 5700 meters/second. The following flow was now executed:
 

fftpack -Nmodel |
ttds3d -NDtxy -ODxyt -M8 -Tjunk |
vfilt3da -dt1.0 -dx10.0 -dy10.0 -v1 3000 -v2 3500 -v3 8000 -v4 9000 |
ttds3d -NDxyt -ODtxy -M8 -Tjunk1 |
fftpack -R -OModel_minus25
The power of a full 3D velocity filter is now apparent. The filtered output (Fig.'s 6, 7, 8, and 9) shows that the energy associated with the steepest noise event has indeed been removed from the entire volume regardless of it's orientation on any given section. This could not be accomplished using a 2D X 2D approach. We will next filter the central cone of noise from the data.



A velocity of approximately 11390 meters / second was measured for the event and the following flow executed:

fftpack -Nmodel |
ttds3d -NDtxy -ODxyt -M8 -Tjunk |
vfilt3da -dt1.0 -dx10.0 -dy10.0-v18000 -v2 9000 -v315000 -v4 20000 |
ttds3d -NDxyt -ODtxy -M8 -Tjunk1 |
fftpack -R -OModel_minus10
The level of rejection achieved with this filter is quite startling (Fig.'s 10, 11, 12 and 13).
Picture the filter as a cone within a cone in (Kx, Ky, Omega) space (Fig. 14). The outer cone is described by the -v1 and -v4 parameters while the inner covers from -v2 to -v3 in extent. A cosine taper is applied in the zone between the two cones.




vfilt3d and vfilt3da may also be used to apply an azimuthal filter your data. For example, we will reapply the last velocity filter to remove the 10 degree dipping noise cone but this time constrain the rejection to a subset of a single quadrant. The processing flow becomes:

 
fftpack -Nmodel |
ttds3d -NDtxy -ODxyt -M8 -Tjunk |
vfilt3da -dt1.0 -dx10.0 -dy10.0 -v1 8000 -v2 9000 -v3 15000 -v4 20000 -a1 10 -a2 20 -a3 60 -a4 80
ttds3d -NDxyt -ODtxy -M8 -Tjunk1 |
fftpack -R -OModel_minus10azim
The results (Fig.'s 15, 16, 17 and 18) show the middle conical noise event has been rejected only over the portion of (Kx, Ky, Omega) space common to both the velocity and azimuthal constraints.







The addition of a frequency component to the filter specification with the f1, f2, f3 and f4 parameters (Fig. 20) one may specify any portion of the 3D FFT volume to either pass or reject.

Conclusions

fftpack, vfilt3d and vfilt3da provide the processor with a full 3D filtering capability parameterized in terms of frequency, velocity and azimuth. At present one is constrained by the linear parameter selection of these routines in terms of describing a subset of the 3D FFT volume for filtering. Within a couple of weeks of this course fft3da will appear which will allow the user to view and in concert with xsd and polymute, be able to pick ANY shape within the 3D FFT volume to either pass or reject.