Signal processing

Noise attenuation software

g-Platform includes a complete range of noise attenuation and signal enhancement tools — spike removal, F-K and radial-trace filtering, advanced 2D and 3D linear noise modules, F-X and F-XY prediction, Cadzow rank reduction, spectral balance and Q compensation — and every one of them is parameter-tested interactively, inside the seismic loop, against the gather you are looking at.

F-K, F-X, radial
Noise separated in its own domain
Pre- & post-stack
Gathers, and sections after migration
In · out · difference
Every module shows what it removed
Seismic gathers before noise attenuation in g-Platform, beside the survey location map
The same gathers after linear and random noise attenuation in g-Platform, with reflections visible through the noise cone
g-Platform denoise workspace showing the input gather, the output gather and the difference gather side by side, with the module's frequency and time threshold table below
In view
Before noise attenuation
Noise is not one thing, so denoise is not one filter. A spike from the recording instrument, ground roll rolling in at a few hundred metres per second, swell shaking a streamer and the featureless randomness left over after all of them each have a domain in which they stand out from the signal — frequency-wavenumber, radial trace, frequency-space, a frequency slice. g-Platform's job is to take you into that domain, let you draw the boundary between noise and signal on the gather in front of you, and then show you what came out: input, output and difference, side by side, before a single production job is queued.
Noise attenuation

Eight ways to separate noise from what you came for.

Coherent or random, spiky or persistent, on a shot gather or on a migrated section — each family of noise gets a module built around the property that makes it separable.

Spikes and spurious amplitudes
Despike compares every sample against the median, lower quartile or a regression fit of its neighbours in a sliding trace-and-time window, and clips or nulls anything beyond a threshold you can vary down the trace.
Linear noise by velocity
LNA transforms local sliding windows into F-K and rejects — or keeps — everything between a minimum and a maximum apparent velocity, symmetrically if you want both dips, with an anti-aliasing option and a taper set by slope, wavenumber or frequency.
A polygon on the F-K spectrum
The FK filter lets you draw the rejection zone by hand, mute inside or outside it, on one side of the spectrum or both, with tapers on the wavenumber and frequency axes. Pick different polygons along the line and they are interpolated between.
Frequency-dependent thresholds
FDNA compares the input against a model gather you prepare with the noise zones muted, then attenuates amplitudes that exceed a threshold — set per frequency and per time from a table of triplets, so shallow reflectors keep their energy while ground roll loses its.
Radial trace transform
Re-map the gather by apparent velocity instead of offset and ground roll and diffractions turn into coherent fans, easy to isolate as a noise model and adaptively subtract — with less reduction of the amplitude spectrum than an F-K filter costs.
Swell noise on marine data
SWNA slides a time window down the gather and, frequency by frequency, compares the spectral amplitude across traces to find the ones behaving as outliers rather than as data. Those are rescaled to the local background or predicted from their neighbours.
Random noise attenuation
RNA works on what is not linearly predictable: a horizontal sliding window and a chosen number of eigenvalues decide how much incoherent energy goes. It runs on shot, receiver and CMP gathers or on the stack, and it makes velocity picking noticeably easier.
Cadzow rank reduction
Rank reduction applied to frequency slices, with eigenvectors in three dimensions or more where RNA uses two. The practical benefit is dip: Cadzow keeps steeply dipping events intact while it removes the random component, pre-stack or post-stack.
Filters & spectral shaping

Shape the band, then give back what the earth took.

Beyond the denoise modules sits the everyday filter roster, and beside it the two procedures that put lost frequencies back — because absorption and scattering cost the deep, high-frequency end of the spectrum long before the data reach the recorder.

Band limits
Band-pass & Butterworth

The two basic pass-band filters, either of which can display input, output and difference for the panel you are working on — the first thing reached for when the useful band is known and everything outside it is not.

Single frequency
Notch filter

Power lines crossing a survey record at 50 to 51 Hz. The notch filter takes out one mono-frequency component without touching the band around it.

Time-variant
Time varying band-pass

A band-pass whose corners change down the trace: define time intervals and give each one its own filter, which is how you keep the shallow band wide and the deep band honest.

Prediction
FX / FXY Decon

Transform to frequency-space and design a complex Wiener filter that predicts each trace from its neighbours — forward and reverse, averaged. What cannot be predicted is incoherent noise. The 3D form works across inline and crossline from a prepared cube.

Spectrum
Spectral balance

Splits the trace into frequency bands, runs a transparent gain on each to a set level, and recombines. Low-frequency shot noise comes down, the high end comes back up, and the output spectrum flattens.

Attenuation
Q compensation

The earth is an inelastic filter, so deeper reflections arrive with their high frequencies spent. Inverse Q filtering restores them — from a constant Q, a Q model or a time-variant function — and corrects the phase distortion that came with the loss.

Workflow

Six steps from a noisy shot to a clean section.

1
Sort, then loop
Sort into the domain the noise lives in and hand the sorting to the seismic loop: every module inside it takes the previous module's output automatically, gather by gather, with no references to wire by hand.
2
Look at the spectrum first
Spectral analysis tells you which frequencies carry the linear noise and which carry signal — the band you then hand to LNA, to the F-K polygon or to the band-pass.
3
Prepare a model where one is needed
FDNA works against an etalon with the noise muted out, built in its own flow inside the loop; the radial-trace route builds its noise model in the transform domain. Both are then subtracted rather than blanked.
4
Test on the gather, live
Draw velocity lines on the display and double-click to load them straight into the min and max velocity fields, pick the F-K polygon by hand, change the eigenvalue count — the parameters answer immediately.
5
Judge it on the difference
Turn on the difference gather and read what left: noise only, and no coherent reflection. Compare amplitude spectra before and after for the same verdict in another form.
6
Finish after migration
Post-stack, F-X or F-XY Decon, RNA and Cadzow lift signal-to-noise and event continuity again on the migrated section, where the residual noise is what survived everything before it.
Amplitude & execution

True amplitudes, and a flow that survives production.

Denoise is only half of signal processing. The other half is amplitude: compensating the decay that geometry and absorption impose, and levelling the differences that the acquisition surface itself creates, without flattening the reflectivity you are trying to measure.

Amplitude corrections
Recovering what propagation cost, surface point by surface point
AGC
Single-window, time-variant or exponential, with the gain computed from RMS or maximum amplitude inside a window you set — and the option to keep the coefficients so the gain can be taken back out.
Spherical divergence
Geometrical spreading compensated pre-stack from a single velocity function, in T², T²V or T²V² form, offset-dependent or not. The QC displays the input, the output, the scale factor and the amplitude graph together.
Surface-consistent amplitude
One operator per surface point: calculated iteratively over source, receiver, CMP and offset until the scale factors converge, then applied as a pair of Calculate and Apply modules.
Operator domains
Common source for the source signature, common receiver for receiver sensitivity, common offset for offset-driven variation, and a bin term for what varies spatially.
Spectral shaping
Spectral balance for the frequency bands and Q compensation for absorption — usually after surface-consistent deconvolution rather than before it.
Deconvolution
Wavelet shaping and the surface-consistent deconvolution operator pair have their own page — see Deconvolution.
Testing & running
What every module in this group gives you
Interactive testing
Parameters are tested on the gather inside the loop, not on a batch job: change a window or a velocity pair and the displays redraw.
Difference gather
An optional output on every module — input minus output — and the fastest way to see signal leakage before it reaches the stack.
Auto-connection
Modules inside the seismic loop connect to their predecessor by default; insert a Flow to break the chain deliberately, as the FDNA model preparation does.
Bad-sample policy
Corrupted or NaN samples are fixed, reported and stopped on, or passed over — chosen per module so a long job does not die on one bad gather.
Threads
Multi-threaded execution with a thread limit per module, and a Skip switch that bypasses a module without unwiring it from the flow.
Pre- or post-stack
Most of the toolkit runs in both places; the post-stack sequence exists because migration leaves its own residue to clean up.
Modules in this group
Denoise, filter and amplitude modules named on this page — not the full list
FDNA LNA FK Filter Despike 2D Radial trace denoise SWNA RNA Cadzow De-Noise Filter FX-Decon filter FXY-Decon filter Spectral balance Q compensation AGC Spherical divergence correction SC Amplitude correction
More g-Platform capabilities

Clean gathers are what everything downstream assumes.

The same project, the same batch processing and the same cluster carry a survey from field tape through to depth. These are the other topics in the g-Platform workflow.

FAQ

Questions, answered.

Which module should I use for which kind of noise?
Match the tool to the character of the noise. Amplitude spikes from the recording equipment go to Despike. Linear, coherent noise — ground roll and guided waves — is attenuated in the frequency-wavenumber domain by LNA or by a hand-drawn F-K polygon, or in the radial-trace domain where a fan of ground roll becomes easy to separate from hyperbolic reflections. Frequency-dependent, time-variant noise is handled by FDNA against a model gather. Random, incoherent noise goes to RNA or to Cadzow rank reduction, and to F-X or F-XY prediction after stack. Marine swell noise has its own statistical detector.
What is the difference between LNA and the FK filter?
Both work in the frequency-wavenumber domain and both remove energy by defining a zone in it — the difference is how you define the zone. The FK filter takes a polygon you draw on the F-K spectrum and mutes inside or outside it, symmetrically or on one side only. LNA is parameterised by apparent velocity instead: a minimum and a maximum velocity bound the rejection zone, with a taper defined by slope, wavenumber or frequency, and the filter is applied in local sliding time and trace windows rather than over the whole gather at once.
RNA or the Cadzow filter for random noise?
Both suppress incoherent noise using eigenvalues, and their parameters look alike, but Cadzow reduces the rank of a matrix built on frequency slices and uses eigenvectors in three or more dimensions where RNA uses two. That gives Cadzow an advantage on dipping data: it preserves steeply dipping events while attenuating random noise. Both run on pre-stack gathers and on stacked sections. With either, the number of eigenvalues is the control that decides how harsh the result is, so it is set by watching the difference display.
How do I know the denoise has not removed signal?
Every module can output a difference gather — the input minus the output — alongside the result, and that display is the check: coherent reflection energy visible in the difference means the parameters are too aggressive. The amplitude spectrum before and after is the second reading, and because parameter testing happens interactively inside the seismic loop, you can adjust a window, a velocity pair or a threshold and look again without leaving the flow.
Get started

Test the denoise on your own gathers.

Draw the polygon, set the window, read the difference — on land or marine data, pre-stack or post-stack. Talk to Geomage about a demo, or take g-Platform for a trial run.