|
<< Click to Display Table of Contents >> Navigation: Math > Adaptive subtraction |
Adaptively subtracting the noise/multiples from input data
![]()
![]()
Seismic data consists of many unwanted data elements like ground roll, direct arrivals, coherent/incoherent noise, multiples etc.The main objective of any seismic data processing is to attenuate/remove these unwanted noise. During the process, we perform many tasks to attenuate these noise elements depending on the noise nature. Out of the methods, adaptive subtraction is one kind of method where we use extensively to attenuate/remove noise. This method is widely used for multiple attenuation.
How does it work?
Adaptive subtraction works on the principle of subtracting a modeled data set from the input data set in an adaptive fashion. In this, it'll adjust itself based on the characteristics of the data. This is the reason why it is called as Adaptive subtraction.
To preform adaptive subtraction, we need two datasets. One is the original input data with both primary and noise/multiple. On the other hand, we should have a model dataset where the noise/multiple is modeled.
In normal arithmetic subtraction, it will perform a simple subtraction which doesn't consider the phase, amplitude and frequency components. Whereas in the case of adaptive subtraction, it will adjust its characteristics to the input and model data characteristics and dynamically (both in time and space) subtract the unwanted noise/multiple from the input data. For the estimation of the unwanted noise/multiple, it will require a filter often we call it as a Matching filter. This matching filter uses any one of the algorithms like SVD (Singular Value Decompostion), Choleksy Decompostioin, LSQR (Least Square) & FISTA (Fast Iterative Shrinkage Threshold Algorithm) to estimate the unwanted noise/multiple adaptively.
In g-Platform we have two kinds of subtraction types. General Adaptive Subtraction and Arithmetic Subtraction. For SRME, we generally use General Adaptive Subtraction type. For any other subtractions we use the simple Arithmetic subtraction type.
![]()
![]()
For better Multiple attenuation/elimination, it is always advisable to mute the Input data above the water bottom in order to get a better multiple model prediction. Otherwise if we have data above the water bottom, adaptive subtraction treats that as a multiple and try to subtract the primaries from the input data.
![]()
![]()
This is the default parameters display of Adaptive subtraction parameters. There are various parameters existing in this module. Depending on the parameter type, the options changes. Some parameters will be disabled and some are enabled.

Arithmetic - In this option, it will perform a simple arithmetic subtraction like A - B. This can be used for a simple operations however it is less advisable to use in case of multiple attenuation etc.

General Adaptive subtraction - This option perform the adaptive subtraction by designing a matching filter which estimates the unwanted noise/multiple. This method takes into consideration of the input data amplitudes, frequency, phase etc.

Time variant - Time variant filter is useful whenever there is a continuous change of the noise/multiple characteristics over a period of time. These filters uses information from different time windows and attenuate the noise/multiples. When we select this option, there will be a Time Table parameter option available. Click on the table icon which is marked as a red rectangle. It will pop-up a new window with set of parameters.

Time - Define the time in milliseconds. Since it is a time variant filter, the user can input different time intervals. At different time intervals, we'll have different horizontal and vertical window parameters. Based on these, the time variant filter adaptively subtract the noise/multiple from the input data using any one of the chosen subtraction type algorithms.
Horizontal window <Traces> - Define number of seismic traces. The set of seismic traces acts as horizontal window.
Vertical window <ms> - Define the time window in milliseconds.
With the combination of both horizontal window and vertical window, it will works like a sliding window with set of seismic traces and in a particular time window. This will process in one window. Once it finishes, it will move on to the next window and it keeps continuing until it finishes all the traces and time sample of the gather.
Time constant - This is a constant filter. Irrespective of the data characteristics, it applies a constant filter to the entire seismic data samples. Here, we've horizontal and vertical windows only.

Frequency divided - Frequency divided filter divides the seismic data into different frequency bands. These frequency bands are divided using any of the decomposition techniques like Fourier transforms. In this, each frequency band is applied with a filter and combined all of them later. This allows to treat each and every one of the frequency bands differently. In cases where the noise/multiples are having different frequencies, it is really helpful in attenuating the unwanted noise/multiple.

Frequency <Hz> - Provide the frequency values. This is also works like time variant but here we've define the different frequencies and each frequency window will work with the combination of horizontal and vertical windows to estimate the unwanted noise/multiple by using the adaptive subtractive algorithms.
Horizontal window <Traces> - Provide the number of seismic traces.
Vertical window <ms> - Provide the time samples in milliseconds.
SVD - Singular Vector Decomposition: This method in adaptive subtraction works by decomposing the seismic data matrix into singular vectors and values, then separating the primary signal (high-rank components) from unwanted noise or multiples (low-rank components). By removing or filtering out the low-rank components and reconstructing the data, SVD helps to enhance the primary signal while suppressing multiples or noise.
Cholesky - Cholesky Decomposition: In the Cholesky subtraction method, the primary idea is to use the Cholesky decomposition of the auto-correlation matrix of seismic data to model and subtract multiples from the observed data. The method leverages the correlation structure between seismic traces to isolate and remove these unwanted noise/multiples, thus enhancing the clarity of the primary reflections for further interpretation.
Lsqr - Least Square method is an adaptive filtering technique used to estimate and subtract unwanted signals such as multiples or noise. It involves solving a least squares optimization problem to find the best-fit unwanted signal model, which is then subtracted from the observed data to recover the primary seismic signal. The method is flexible, data-driven, and effective for removing complex unwanted components, but it can be computationally demanding and dependent on the quality of the input data.
FISTA - Fast Iterative Shrinkage Threshold Algorithm is a powerful optimization method used in adaptive subtraction. It helps remove unwanted signals such as multiples or noise by solving sparse recovery problems with an objective function that combines data fidelity and sparsity-promoting regularization (L1 norm). FISTA is faster and more efficient than traditional methods, making it well-suited for handling large seismic datasets while preserving the primary signal and suppressing unwanted noise/multiples.
When the estimated multiples are less sensitive to the small variations, a large Lambda value gives more weight to the regularization term which leads to smoother solution. Whereas in the case of lesser Lambda value, the estimated multiples are closely fitted/matched with the input data however this will increase the noise levels also.
![]()
![]()
![]()
![]()
![]()
![]()
Here is an example workflow to attenuate/remove the multiples by using adaptive subtraction method. In this, we are building the workflow with two "Read seismic traces" modules followed by "Sort traces". We are sorting the data as Channel in Grouping and FFID in Sorting.
As we mentioned earlier, Adaptive subtraction requires two inputs i.e. input data and model data. One input data is connected/referenced to "Read seismic traces" which consists of input data followed by Subtrahend is connected/referenced to another "Read seismic traces" module which is multiple model.

In this workflow, we are using General Adaptive subtraction method with Time Constant and Least Square subtraction type. Here is the result of an adaptive subtraction of an input data and a predicted multiple model as inputs to the Adaptive subtraction module with the following parameters.



![]()
![]()
There are no action items/custom actions are available for this module
![]()
![]()
YouTube video lesson, click here to open [VIDEO IN PROCESS...]
![]()
![]()
Yilmaz. O., 1987, Seismic data processing: Society of Exploration Geophysicist
* * * If you have any questions, please send an e-mail to: support@geomage.com * * *