next up previous print clean
Next: Dip moveout with v(z) Up: ROCCA'S SMEAR OPERATOR Previous: ROCCA'S SMEAR OPERATOR

Push and pull

Migration and diffraction operators can be conceived and programmed in two different ways. Let $\vec {\bold t}$ denote data and $\vec {\bold z}$ denote the depth image. We have
\vec {\bold z} &=& \bold C_h\ \vec {\bold t}
 \quad\quad {\rm s...
 ... {\rm spray\ or\ push\ a\ flattened\ hyperbola\ into\ the\ output}\end{eqnarray} (14)
where h is half the shot-geophone offset. The adjoints are
\vec {\bold t} &=& \bold C_h' \; \vec {\bold z} \quad\quad
 {\rm sum\ or\ pull\ a\ flattened\ Hyperbola\ from\ the\ input}\end{eqnarray} (16)
In practice we can choose either of $\bold C \approx \bold H'$.A natural question is which is more correct or better. The question of ``more correct'' applies to modeling and is best answered by theoreticians (who will find more than simply a hyperbola; they will find its waveform including its amplitude and phase as a function of frequency). The question of ``better'' is something else. An important practical issue is that the transformation should not leave miscellaneous holes in the output. It is typically desirable to write programs that loop over all positions in the output space, ``pulling'' in whatever inputs are required. It is usually less desirable to loop over all positions in the input space, ``pushing'' or ``spraying'' each input value to the appropriate location in the output space. Programs that push the input data to the output space might leave the output too sparsely distributed. Also, because of gridding, the output data might be irregularly positioned. Thus, to produce smooth outputs, we usually prefer the summation operators $\bold H'$ for migration and $\bold C'$ for diffraction modeling. Since one could always force smooth outputs by lowpass filtering, what we really seek is the highest possible resolution.

Given a nonzero-offset section, we seek to convert it to a zero-offset section. Rocca's concept is to first migrate the constant offset data with an ellipsoid push operator $\bold C_h$and then take each point on the ellipsoid and diffract it out to a zero-offset hyperbola with a push operator $\bold H_0$.The product of push operators $\bold R = \bold H_0 \bold C_h$is known as Rocca's smile. This smile operator includes both normal moveout and dip moveout. (We could say that dip moveout is defined by Rocca's smile after restoring the normal moveout.)

Because of the approximation $\bold H \approx \bold C'$,we have four different ways to express the Rocca smile:  
\bold R \eq
 \bold H_0 \bold C_h
 \bold H_...
 \bold C'_0 \bold H'_h
 \bold C'_0 \bold C_h\end{displaymath} (18)
$\bold H_0 \bold H'_h$ says sum over a flat-top and then spray a regular hyperbola.

The operator $\bold C'_0 \bold H'_h$,having two pull operators should have smoothest output. Sergey Fomel suggests an interesting illustration of it: Its adjoint is two push operators, $ \bold R' = \bold H_h \bold C_0$.$ \bold R'$ takes us from zero offset to nonzero offset first by pushing a data point to a semicircle and then by pushing points on the semicircle to flat-topped hyperbolas. As before, to make the hyperbolas more distinct, I broke the circle into dots along the circle and show the result in Figure 20. The whole truth is a little more complicated. Subroutine flathyp() [*] implements $\bold H$ and $\bold H'$.Since I had no subroutine for $\bold C$,figures 18 and 20 were actually made with only $\bold H$ and $\bold H'$.

Figure 20
The adjoint of Rocca's smile is a superposition of flattened hyperbolas, each with its top on a circle.

view burn build edit restore

We discuss the $\bold C'_0 \bold C_h$representation of $\bold R$ in the next section.

next up previous print clean
Next: Dip moveout with v(z) Up: ROCCA'S SMEAR OPERATOR Previous: ROCCA'S SMEAR OPERATOR
Stanford Exploration Project