    Waves in strata  Next: DIPPING WAVES Up: HORIZONTALLY MOVING WAVES Previous: LMO by nearest-neighbor interpolation

## Muting

Surface waves are a mathematician's delight because they exhibit many complex phenomena. Since these waves are often extremely strong, and since the information they contain about the earth refers only to the shallowest layers, typically, considerable effort is applied to array design in field recording to suppress these waves. Nevertheless, in many areas of the earth, these pesky waves may totally dominate the data.

A simple method to suppress ground roll in data processing is to multiply a strip of data by a near-zero weight (the mute). To reduce truncation artifacts, the mute should taper smoothly to zero (or some small value). Because of the extreme variability from place to place on the earth's surface, there are many different philosophies about designing mutes. Some mute programs use a data dependent weighting function (such as automatic gain control). Subroutine mutter() , however, operates on a simpler idea: the user supplies trajectories defining the mute zone.

system/seismic/mutter.c
 ```void mutter (float tp /* time step */, float slope0 /* first slope */, float slopep /* second slope */, float x /* offset */, float *data /* trace */) /*< Mute >*/ { int it; float wt, t; if (abs0) x = fabsf(x); for (it=0; it < nt; it++) { t = t0+it*dt; if (hyper) t *= t; wt = t - x * slope0; if ((inner && wt > 0.) || (!inner && wt < 0.)) { data[it] = 0.; } else { wt = t - tp - x * slopep; if ((inner && wt >=0.) || (!inner && wt <= 0.)) { wt = sinf(0.5 * SF_PI * (t-x*slope0)/(tp+x*(slopep-slope0))); data[it] *= (wt*wt); } } } } ```

Figure 3.6 shows an example of use of the routine mutter() on the shallow water data shown in Figure 3.5. mutter
Figure 6.
Jim's first gather before and after muting.       Waves in strata  Next: DIPPING WAVES Up: HORIZONTALLY MOVING WAVES Previous: LMO by nearest-neighbor interpolation

2009-03-16