Cadzow (SSA) denoise

Cadzow filtering, also known as Singular Spectrum Analysis, is an alternative to FX decon. It is slower than FX decon, but preserves amplitudes better than FX decon, as signal to noise ratio declines. The algorithm uses singular value decomposition on frequency slices to isolate the strongest coherent components. So there will be an extra parameter to test, namely how many components to keep. This parameter is also referred to as rank, as the algorithm reduces the rank of a matrix. More components are needed as number of different dips increases, but this will reduce the noise attenuation. A bonus is that it will interpolate dead traces fairly well (if there is only one dead trace per window). The interpolation will be better with lower rank. In the plot below is the same shot with rank 3 and 5. The 25th channel was dead. One failing of the method is that it can instead create noise on the first or last few traces of a gather if rank is too low, also shown in plot below.

compare rank

The difference plots below compare the effects of FXDECON and Cadzow filtering on synthetic data with noise added to 3 traces out of each 16. The scaling is the same, showing that FXDECON is worse at preserving amplitudes of desired events. It is best to open in a new tab rather than window to compare easily.
FXDECON difference
Cadzow difference

The filter was tested on the high-resolution OC270 survey, which used a shallow streamer, and small airgun, so noise was apparent. The stack fold is 24. The brute stack flow is simply:
gain T**1.5
time-variant filter
NMO with doppler mute

The images will open in a new tab/window:

marine brute stack
after filter applied to shots
after filter applied to common offsets

The process can be added to CPSeis by downloading the following another.tar

the makefile must be copied to etc subdirectory
cadzow.xml must be copied to opencfe/xml
the others to the src subdirectory
then in src subdirectory touch cadzow* touch super*
finally in platform directory, make icps cfe
Note that you need a sourceforge revision of at least 215, which has the new category interp_and_noise in cfe.