?? paper.tex
字號(hào):
can sum to a constantif the spacing is such that the midpoint of one triangleis at the beginning of the next.I imagined in two dimensions that something similar would happenwith shapes like Egyptian pyramids of Cheops, $2-|x-y|+|x+y|$.Instead,the equation $(1-|x|)(1-|y|)$which has the tent-like shape shownin Figure~\ref{fig:wind0wt}adds up to the constant flat top shown in Figure~\ref{fig:wall0wt}.(To add interest to Figure~\ref{fig:wall0wt},I separated the windows by a little more than the precise matching distance.)In practice we may chose window shapes and overlaps forreasons other than the constancy of the sum of weights,because \texttt{mkwallwt} \vpageref{lst:mkwallwt} accounts for that.\sideplot{wall1wt}{width=3.00in}{ (Inverse) wall weights with {\tt n1=100, w1=61, k1=2, n2=30, w2=19, k2=2 }}%\par%Inserting the calls to internal convolution \GPROG{CHANGED cvi2} %and \GPROG{tent2}%into \GPROG{idempatch} gives the subroutine%\GPROG{cinloip}%that does the time and space variable filtering%by invariant filtering in patches.%(Grumbling about computer languages commented out here).%%(Subroutine {\tt cinloip()}, filtering in patches, is commented out here.%I don't know if I never use filtering in patches or whether%I have some other program that does this job.)%\par%The basic rule of computer program management is that we should%have no duplicated code.%Otherwise improvements might be made to one copy but not the other,%and inconsistency could grow.%It is an aggravation to me,%and a defect in the Fortran language%that I must present to you two copies of nearly identical code,%\GPROG{idempatch} and \GPROG{cinloip},%and when you or I prepare the next application,%we cannot link this code from a library,%but we will need to create another copy%changing the call to {\tt ident()} to a call to our next%application subroutine.%I plan to study the possibility of using interlude subroutines%that pick up the required variables through common%and the use of other languages.\parFinally is an exampleof filtering a plane of uniform constants with an impulse function.The impulse function is surrounded by zeros,so the filter output patches are smaller than the input patches back in Figure~\ref{fig:idempatch}.Here in Figure~\ref{fig:cinloip},both axes need more window density.\sideplot{cinloip}{width=3.00in}{ Filtering in patches Mid with the same parameters as in Figures~\protect\ref{fig:parcel} and~\protect\ref{fig:idempatch}. Additionally, the filter parameters are { \tt a1=11 a2=5 lag1=6 lag2=1 }. Thus, windows are centered on the 1-axis and pushed back out the 2-axis.}%\progdex{cinloip}{patch and filter}\subsection{Designing a separate filter for each patch}Recall the prediction-error filter subroutine \texttt{find\_pef()} \vpageref{lst:pef}.Given a data plane, this subroutine finds a filter that tendsto whiten the spectrum of that data plane.The output is white residual.Now suppose we have a data plane where the dip spectrumis changing from place to place.Here it is natural to apply subroutine {\tt find\_pef()} in local patches.This is done by subroutine \texttt{find\_lopef()}. The output of this subroutine is an array of helix-type filters,which can be used, for example,in a local convolution operator\texttt{loconvol} \vpageref{lst:loconvol}.\moddex{lopef}{local PEF}{61}{85}{user/gee}We notice that when a patch has fewer regression equationsthan the filter has coefficients, then the filter is takento be that of the previous patch.\opdex{loconvol}{local convolution}{27}{42}{user/gee}\par\subsection{Triangular patches}\sx{patch ! triangular}I have been running patching code for several yearsand my first general comment is that realistic applicationsoften call for patches of different sizes and different shapes.(Tutorial, non-interactive C code is poorly suited to this need.)Raw seismic data in particular seems more suited to triangular shapes.It is worth noting that the basic concepts in this chapterhave ready extension to other shapes.For example,a rectangular shape could be duplicated into two identical patches;then data in one could be zeroed above the diagonaland in the other below;you would have to allow, of course, for overlap the size of the filter.Module \texttt{pef} \vpageref{lst:pef} automatically ignores the zeroed portionof the triangle,and it is irrelevant what \texttt{mis2()} \vpageref{lst:mis2}does with a zeroed portion of data,if a triangular footprint of weights is designed to ignore its output.\begin{exer}\item Code the linear operator $ \bold W_{\rm wall} \bold P' \bold W_{\rm wind} \bold P $ including its adjoint.% (Note: It is cheating to search around the CD-ROM for subroutine {\tt idempatch()}).\item {\bf Smoothing program.} Some familiar operations can be seen in a new light when done in patches. Patch the data. In each patch, find the mean value. Replace each value by the mean value. Reconstruct the wall.\item {\bf Smoothing while filling missing data.} This is like smoothing, but you set window weights to zero where there is no data. Because there will be a different set of weights in each window, you will need to make a simple generalization to \texttt{mkwallwt} \vpageref{lst:mkwallwt}.\item {\bf Gain control.} Divide the data into patches. Compute the square root of the sum of the squares of all the data in each patch. Divide all values in that patch by this amount. Reassemble patches.\end{exer}\section{STEEP-DIP DECON}\sx{steep dip decon}\sx{deconvolution ! steep dip}\parNormally,whenan autoregression filter (PEF) predictsa value at a point it uses values at earlier points.In practice,a gap may also be set between the predicted valueand the earlier values.What is not normally done is to supplement the fittingsignals on nearby traces.That is what we do here.We allow the prediction of a signal to include nearby signalsat earlier times.The times accepted in the goal are inside a triangle of velocityless than about the water velocity.The new information allowed in the predictionis extremely valuable for water-velocity events.Wavefronts are especially predictablewhen we can view them along the wavefront(compared to perpendicular or at some other angle from the wavefront).It is even better on land,where noises move more slowly at irregular velocities,and are more likely to be aliased.\parUsing \texttt{lopef} \vpageref{lst:lopef},the overall process proceeds independentlyin each of many overlapping windows.The most important practical aspect is the filter masks, described next.\subsection{Dip rejecting known-velocity waves}\sx{dip reject}Consider the two-dimensional filter\begin{equation} \begin{array}{rrr} \ & +1 & \ \\ -1 & 0 & -1 \\ \ & +1 & \ \end{array}\end{equation}\noindentWhen this this filter is applied to a field profilewith 4 ms time sampling and 6 m trace spacing,it should perfectly extinguish1.5 km/s water-velocity noises.Likewise, the filter\begin{equation} \begin{array}{rrr} \ & +1 & \ \\ \ & 0 & \ \\ \ & 0 & \ \\ -1 & 0 & -1 \\ \ & 0 & \ \\ \ & 0 & \ \\ \ & +1 & \ \end{array}\end{equation}%{\samepage%\begin{verbatim}% +1% 0% 0% -1 0 -1% 0% 0% +1%\end{verbatim}%}\noindentshould perfectly extinguish water noisewhen the trace spacing is 18 m.Such noise is, of course, spatially aliasedfor all temporal frequencies above 1/3 of Nyquist,but that does not matter.The filter extinguishes them perfectly anyway.Inevitably, the filter cannot both extinguish the noiseand leave the signal untouched where the alias of one is equal to the other.So we expect the signal to be altered where it matches aliased noise.This simple filter does worse than that.On horizontal layers, for example,signal wavelets become filtered by $(1,0,0,-2,0,0,1)$.If the noise is overwhelming,this signal distortion is a small price to payfor eliminating it.If the noise is tiny, however, the distortion is unforgivable.In the real world,data-adaptive deconvolution is usually a good compromise.\parThe two-dimensional deconvolutions filterswe explore herelook like this:\begin{equation} \begin{array}{ccccccccc} x& x& x& x& x& x& x& x& x \\ x& x& x& x& x& x& x& x& x \\ .& x& x& x& x& x& x& x& . \\ .& x& x& x& x& x& x& x& . \\ .& x& x& x& x& x& x& x& . \\ .& .& x& x& x& x& x& .& . \\ .& .& x& x& x& x& x& .& . \\ .& .& x& x& x& x& x& .& . \\ .& .& .& x& x& x& .& .& . \\ .& .& .& x& x& x& .& .& . \\ .& .& .& x& x& x& .& .& . \\ .& .& .& .& .& .& .& .& . \\ .& .& .& .& .& .& .& .& . \\ .& .& .& .& .& .& .& .& . \\ .& .& .& .& 1& .& .& .& . \end{array}\end{equation}%\begin{verbatim}% x x x x x x x x x% x x x x x x x x x% . x x x x x x x .% . x x x x x x x .% . x x x x x x x .% . . x x x x x . .% . . x x x x x . .% . . x x x x x . .% . . . x x x . . .% . . . x x x . . .% . . . x x x . . .% . . . . . . . . .% . . . . . . . . .% . . . . . . . . .% . . . . 1 . . . .%\end{verbatim}\noindentwhere each $.$ denotes a zero and each$x$ denotes a (different) adjustable filter coefficientthat is chosen to minimize the power out.\parYou can easily imagine variations on this shape,such as a diamond instead of a triangle.I invite you to experiment with the various shapes that suggest themselves.\subsection{Tests of steep-dip decon on field data}\inputdir{mideast}\parLow-velocity noises on shot recordsare often not fully suppressed by stackingbecause the noises are spatially aliased.Routine field arrays are not perfectand the noise is often extremely strong.An interesting, recently-arrived data setworth testing is shown in Figure \ref{fig:gravel2D}.\plot{gravel2D}{height=4.0in,width=6in}{ Gravel plain ground roll (Middle East) Worth testing.}\parI scanned the forty \bx{Yilmaz} and \bx{Cumro} shot profilesfor strong low-velocity noises and I selected six examples.To each I applied an AGC that is a slow function of time and space(triangle smoothing windows with triangle half-widths of 200time points and 4 channels).Because my process simultaneously doesboth low-velocity rejection and deconvolution,I prepared more traditional 1-D deconvolutions for comparison.This is done in windows of 250 time points and 25 channels,the same filter being used for each of the 25 channels in the window.In practice, of course, considerably more thought would be givento optimal window sizes as a function of the regional nature of the data.The windows were overlapped by about 50\%.The same windows are used on the steep-dip deconvolution.\inputdir{steep}\parIt turned out to be much easier than expectedand on the first tryI got good results on all all six field profiles tested.I have not yet tweaked the many adjustable parameters.As you inspect thesedeconvolved profiles from different areas of the worldwith different recording methods, land and marine,think about how the stacks should be improved by the deconvolution.Stanford Exploration Project report 77 (SEP-77) shows the full suite of results.Figure~\ref{fig:wz} is a sample of them.\plot{wz}{width=7in,height=8.0in}{ Top is a North African vibrator shot profile (Y\&C \#10) after AGC. Middle is gapped 1-D decon. Bottom is steep-dip decon.}%\ACTIVEPLOT{wz.25}{width=7in,height=8.0in}{steep}{% Bottom is an Alberta dynamite shot profile (Y\&C \#25) after AGC.% Middle is gapped 1-D decon. Top is steep-dip decon.% }%\ACTIVEPLOT{wz.31}{width=7in,height=8.0in}{steep}{% Bottom is a North Sea air gun shot profile (Y\&C \#30) after AGC.% Middle is gapped 1-D decon. Top is steep-dip decon.% }%\ACTIVEPLOT{wz.32}{width=7in,height=8.0in}{steep}{% Bottom is a North Sea air gun shot profile (Y\&C \#31) after AGC.% Middle is gapped 1-D decon. Top is steep-dip decon.% }%\ACTIVEPLOT{wz.39}{width=7in,height=8.0in}{steep}{
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -