1. Field of the Invention
Implementations of various techniques described herein generally relate to data processing. More specifically, various techniques described herein generally relate to seismic data processing.
2. Description of the Related Art
The following descriptions and examples do not constitute an admission as prior art by virtue of their inclusion within this section.
In a typical seismic survey, a plurality of seismic sources, such as explosives, vibrators, airguns or the like, may be sequentially activated at or near the surface of the earth to generate energy which may propagate into and through the earth. The seismic waves may be reflected back by geological formations within the earth. The resultant seismic wave field may be sampled by a plurality of seismic sensors, such as geophones, hydrophones and the like. Each sensor may be configured to acquire seismic data at the sensor's location, normally in the form of a seismogram representing the value of some characteristic of the seismic wave field against time. The acquired seismograms or seismic data may be transmitted wirelessly or over electrical or optical cables to a recorder system. The recorder system may then store, analyze, and/or transmit the seismograms. This data may be used to detect the possible presence of hydrocarbons, changes in the subsurface and the like.
In some circumstances, sampled data (e.g., the seismic data described above) may be acquired at irregular locations. That is, data may be acquired from locations which were not planned to be sampled. For example, seismic data may be planned to be sampled in a first location. However, an obstacle (e.g., a building) may be located on top of the first location. Consequently, a sensor or receiver may not be placed at the planned first location. Therefore, the sensor may have to be placed in a second location which is close to the first location, but is not the same as the planned location. This second location may be referred to as an irregular location. Many receivers may acquire seismic data at irregular locations resulting in irregularly spaced data.
After acquiring sampled data, the data may be processed using specific signal-processing algorithms. For example, Fourier transforms may be applied to the data. The signal-processing algorithms (e.g., Fourier transforms) may require the data to be located at regularly spaced locations. For example, the algorithms may require the data to be located at the nodes of a regularly spaced grid (e.g., a Cartesian grid). If the data is not located at regularly spaced locations, the results of the signal-processing algorithms may be inaccurate or distorted. Consequently, using irregularly sampled data may result in inaccurate or distorted results.
One solution to the problem of having data at irregularly spaced locations while the data is needed at regularly spaced locations is to use the data at the irregularly spaced locations to estimate the data at regularly spaced locations. Obtaining data at regular locations from data which was measured at irregular locations is commonly referred to as re-sampling or interpolation. The process of interpolating data or re-sampling data onto a regular grid from data sampled at irregular locations is called regularization or gridding. Regularization of seismic data is often a very important pre-processing step for several data processing algorithms, including 3-dimensional SRME, migration and 4-dimensional survey matching.
Although the aforementioned interpolation techniques allowed for estimation of data from irregularly spaced samples, the accuracy of interpolated data from the aforementioned techniques may still be improved and the interpolated data also suffers from the effects of noise.
Described herein are implementations of various techniques for interpolating irregularly sampled data.
In one implementation, a method for interpolating seismic data is provided. The method may include: receiving seismic data acquired at irregularly spaced sensor locations; defining a global grid having nodes corresponding to locations where seismic data values are desired; selecting an output location corresponding to a node on the global grid; setting a maximum bandwidth for an interpolation operator; and computing the interpolation operator for the selected output location based on the maximum bandwidth.
In another implementation, another method for interpolating seismic data is provided. The method may include: receiving seismic data acquired at irregularly spaced sensor locations; defining a global grid having nodes corresponding to locations where seismic data values are desired; selecting actual sensor locations within a vicinity of a desired interpolation location residing on the global grid; selecting an acceptable mean square error for an interpolation operator; selecting a local grid for the interpolation location; and forming a matrix of interpolation coefficients for the local grid.
In yet another implementation, another method for interpolating seismic data is provided. The method may include: receiving seismic data acquired at actual sensor locations; defining a global grid having nodes corresponding to locations where data values are desired; selecting actual sensor locations within a vicinity of an interpolation location residing on the global grid; selecting an acceptable mean square error for an interpolation operator; selecting a maximum bandwidth for the interpolation operator; forming a matrix of interpolation coefficients based on the separable sinc function of the differences of actual sampling locations; forming a vector based on separable sinc functions of the difference of selected actual sampling locations and the selected interpolation location; and forming an interpolation operator vector by application of the inverse of the matrix of interpolation coefficients to the vector.
In still another implementation, a computer readable medium containing a program is provided. When executed, the program performs operations that include: perform operations comprising: receiving seismic data acquired at irregularly spaced sensor locations; defining a global grid having nodes corresponding to locations where seismic data values are desired; selecting an output location corresponding to a node on the global grid; setting a maximum bandwidth for an interpolation operator; computing the interpolation operator for the selected output location based on the maximum bandwidth; computing a mean square error for the interpolation operator; determining if the mean square error for the interpolation operator is acceptable; and if the mean square error is acceptable, calculating an interpolated seismic data value for the selected output location using the interpolation operator and the acquired seismic data.
In still yet another implementation a computer system is provided. The computer system may include: a processor; and memory comprising program instructions executable by the processor to: receive seismic data acquired at irregularly spaced sensor locations; define a global grid having nodes corresponding to locations where seismic data values are desired; select an output location corresponding to a node on the global grid; set a maximum bandwidth for an interpolation operator; compute the interpolation operator for the selected output location based on the maximum bandwidth; compute a mean square error for the interpolation operator; and determine if the mean square error for the interpolation operator is acceptable.
The above referenced summary section is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description section. The summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
Implementations of various techniques will hereafter be described with reference to the accompanying drawings. It should be understood, however, that the accompanying drawings illustrate only the various implementations described herein and are not meant to limit the scope of various techniques described herein.
The discussion below is directed to certain specific implementations. It is to be understood that the discussion below is only for the purpose of enabling a person with ordinary skill in the art to make and use any subject matter defined now or later by the patent “claims” found in any issued patent herein.
Hendriks and Duijndam proposed the use of least-squares estimation of the Fourier components for data construction in “Reconstruction of 3-D Seismic Signals Irregularly Sampled Along Two Spatial Coordinates,” Geophysics 56, pp. 253-263. Their proposal consisted of a transformation of the actual data into the wave number domain, and correcting there for distortions due to the irregular sampling. The reconstruction of the data in the space domain is then achieved by an inverse Fourier transform onto a Cartesian spatial sampling grid.
Furthermore, Rosenfeld proposed the rBURS (Block Uniform Re-Sampling) enhanced gridding technique used to interpolate data onto a regularly spaced grid from irregularly spaced samples. Rosenfeld's proposal introduced a regularization parameter during the gridding algorithm. (See Rosenfeld, “New Approach to Gridding Using Regularization and Estimation Theory, Magnetic Resonance in Medicine, 48, pp. 193-202, 2002).
Although the aforementioned interpolation techniques allowed for estimation of data from irregularly spaced samples, the accuracy of interpolated data from the aforementioned techniques may still be improved and interpolated data acquired using the aforementioned techniques also suffers from the effects of noise. Consequently, implementations of the present disclosure provide enhanced interpolation techniques.
The following paragraphs generally describe one or more implementations of various techniques directed to compute interpolated data for an interpolation location as a weighted average of actual data in a proximity or vicinity of the interpolation location. Various implementations described herein compute optimum interpolation operators having acceptable mean square errors and having a maximum spatial bandwidth (e.g., over the widest possible wave number band). Multiple implementations for computing optimum interpolation operators for each interpolation location are presented herein.
One aspect of the implementations described herein concerns an enhancement of the Block Uniform Re-Sampling (rBURS) algorithm introduced by Rosenfeld. According to the enhanced BURS implementation described herein, in addition to a global grid with nodes corresponding to interpolation locations, local grids are introduced at each desired interpolation location and are used to calculate optimum interpolation operators. The local grids may have different spacing than the spacing of the global grid.
Another aspect of the implementations described herein concerns interpolation of data using an interpolation operator which is calculated by varying a wave number. The wave number may be varied to calculate an interpolation operator having an acceptable mean square error for each interpolation location.
Additionally, some implementations described herein are configured to enhance the minimum mean square design of interpolation operators. Specifically, some implementations incorporate the spatial bandwidth in the interpolation operator design criterion such that the computed interpolation operator has a mean square error not exceeding a user specified threshold over the largest possible spatial bandwidth. One or more implementations of various techniques for computing interpolated data will now be described in more detail with reference to
As described above, data (e.g., seismic data) is often acquired from a plurality of irregularly spaced locations. Furthermore, it may be desirable to estimate or interpolate data (e.g., seismic data) from the data acquired at a plurality of irregularly spaced locations. It may also be desirable to estimate or interpolate data at a plurality of locations which are regularly and evenly spaced, for example at the nodes of a grid.
For example,
As illustrated in
Method 200 may begin at step 205 for example when data (e.g., seismic data) has been acquired at irregularly spaced locations (e.g., as illustrated in
After receiving the irregularly spaced data, at step 210 the data processing system may define a global grid. The global grid may be defined such that the nodes of the grid are at locations where data values are desired. That is, the nodes of the global grid may correspond to the interpolation locations. The grid may be any type of grid corresponding to the desired interpolation locations, such as, a Cartesian grid, a rectilinear grid, etc. For example, the data processing system may define a global grid similar to the grid formed by the large diamonds illustrated in
Next, at step 215 of method 200 the data processing system may enter a processing loop including steps 220-250. The processing loop may execute for each location or node within the global grid. That is, the processing loop may execute for each location on the grid for which a data value needs to be interpolated.
During the first step in the processing loop, step 220, the data processing system may select an output location or node on the grid for which a data value is to be estimated/interpolated. In one implementation, the data processing system may select the next interpolation location on the global grid. Next, at step 225 the data processing system (or a user of the data processing system) may set or select a maximum bandwidth for an interpolation operator. As described further below with respect to
After setting the maximum bandwidth, at step 230 the data processing system may use the selected maximum bandwidth to calculate an interpolation operator for the output location (i.e., the output location selected in step 220). The interpolation operator may be a weighting value or a number of weighting values which may be used to determine an interpolated value for the interpolation location.
After calculating an interpolation operator, at step 235 a mean square error may be calculated for the interpolation operator. Calculation of a mean square error for the interpolation operator is described further below. Next, at step 240 a determination may be made as to whether or not the mean square error for the interpolation operator is acceptable. An acceptable mean square error for the interpolation operator may be one that is, for example, less than or equal to a pre-defined threshold for the mean square error. Pre-defining a threshold for the mean square error may allow a calculation of an optimal interpolation operator with a maximum spatial bandwidth.
If at step 240 a determination is made that the mean square error for the interpolation operator is not acceptable, the data processing system may proceed to step 245 where the bandwidth may be reduced. After reducing the bandwidth in step 245, the data processing system may return to steps 230, 235 and 240 to compute a new or a second interpolation operator based on the reduced bandwidth, compute a second mean square error for the second interpolation operator, and determine if the second mean square error is acceptable. The data processing system may continue to reduce bandwidth and calculate an interpolation operator based on the reduced bandwidth until an interpolation operator is computed with a mean square error less than the acceptable mean square error. Consequently, an optimal interpolation operator may be calculated.
If at step 240 a determination is made that the mean square error is acceptable, the data processing system may proceed to step 245 where the interpolation operator and the acquired data may be used to estimate/interpolate a data value for the output location selected in step 220. The interpolation operator (which may contain a plurality of weighting values) may be multiplied with the previously acquired data. This product of the weighting values and the actual data values may then be summed to determine an estimated or interpolated data value at the desired interpolation location.
Furthermore, in step 245 the mean square error calculated in step 235 may be saved for quality control purposes. For example, the mean square error may be saved and used for comparison during a later determination of an acceptable mean square error in step 240. Likewise, the mean square error may be saved/displayed and used for comparison during a later execution of step 240. Likewise, a maximum squared error or similar error measure may be computed and saved/displayed for quality control purposes.
The data processing system may then return to step 215 where the data processing system may continue to step 220 if another data value needs to be interpolated at another point on the global grid. Otherwise, the data processing system may proceed to step 255 where method 200 may end.
According to implementations described herein, the data processing system may store the interpolated data for later use, may present the interpolated data visually to a user (e.g., via a monitor, printout, etc), or the data processing system may use the interpolated data for further data processing.
In this manner, method 200 incorporates spatial bandwidth (e.g., user specified spatial bandwidth) in the interpolation operator design criterion, such that the computed interpolated operator has a mean square error not exceeding a user specified threshold (e.g., acceptable mean square error) over the largest possible spatial bandwidth. Consequently, various implementations described herein may increase the accuracy of interpolated data by calculating an optimal interpolation operator having a maximum bandwidth and with a mean square error less than a user specified threshold.
As described above with regards to method 200, implementations described herein may incorporate spatial bandwidth into the design of an optimal interpolation operator. In one implementation, spatial bandwidth may be incorporated into the design of an optimal interpolation operator via an improvement to the rBURS (Block Uniform Re-Sampling) algorithm. The improvement to the rBURS algorithm, achieved via implementations described herein, will hereby be known as Block Uniform Spatial Interpolation with Local Grid Optimization. The Block Uniform Spatial Interpolation with Local Grid Optimization estimates or interpolates a desired data value as a weighted summation of data values within a proximity or a vicinity of data previously acquired.
Method 300 may begin at step 305 after data (e.g., seismic data) has been acquired (e.g., from a land or marine based seismic data acquisition system). Next, at step 310 the data processing system may define a global grid. Similar to method 200, the global grid may contain nodes which correspond to locations where data values are desired. The global grid may be any type of grid corresponding to the desired interpolation locations, such as a Cartesian grid, a rectilinear grid, and the like. For example, the data processing system may define a global grid similar to the grid formed by the large diamonds illustrated in
At step 315, the data processing system may determine or select the locations where data values (e.g., seismic data values) may need to be estimated or interpolated. These locations may be the nodes on the global grid where actual data values were not acquired. The selected interpolation locations may make up a vector {right arrow over (y)}j(j=1, . . . , N) in a space of dimension Ng for estimation of data {circumflex over (d)}({right arrow over (y)}j) from data {circumflex over (d)}({right arrow over (x)}j) at the actual sampling locations {right arrow over (x)}j, j=1, . . . , M, {right arrow over (x)}j εN
At step 320, the data processing system may enter a loop containing a plurality of steps. The loop may be executed for each interpolation location in the vector {right arrow over (y)}j for which a data value needs to be interpolated (i.e., each interpolation location in the vector {right arrow over (y)}j(j=1, . . . , N)).
During the first step of the loop, step 325, for a selected interpolation location (e.g., {right arrow over (y)}1) the data processing system may select a number of actual sampling locations in a proximity of or in the neighborhood or vicinity of the interpolation location {right arrow over (y)}1. For example, the data processing system may select Mj=Mj({right arrow over (y)}1) actual sampling locations {right arrow over (x)}i={right arrow over (x)}j, j=1, . . . , Mj, {right arrow over (x)}iεN
Then, at step 330 an acceptable mean square error (MSEACC) may be selected for an interpolation operator which will be calculated later in step 350. The acceptable mean square error may be a user specified threshold which may be used later for comparison with a mean square error for a calculated interpolation operator. An optimum interpolation operator may be determined by calculating interpolation operators for an output location until an interpolation operator is calculated which has a mean square error less than the user specified acceptable mean square error.
After selecting the MSEACC, a local grid may be selected or created. The local grid may be formed based on the actual sampling locations which are in the vicinity of the interpolation location, and the local grid may be selected such that the interpolation location is at the origin of the local grid. The local grid may be any suitable grid, such as, a Cartesian grid, a rectilinear grid, and the like. Selecting a local grid may result in a maximum possible spatial bandwidth. The cell size vector Δ{right arrow over (c)}=(Δc1, . . . , ΔcN
Returning to method 300. After selecting a local grid, the data processing system may proceed to step 340 where a Mj×Nj matrix Ā=Ā(Δ{right arrow over (c)}) of interpolation coefficients may be formed for the local grid. The matrix Ā=Ā(Δ{right arrow over (c)}) may be formed based on the separable sinc function (e.g., Equation 4 described further below).
At step 345, the data processing system may compute the least squares inverse of the interpolation coefficients matrix (i.e., Ā−1). Then, at step 350 a linear interpolation operator (i.e., {right arrow over (w)}) may be formed by extracting a row corresponding to the interpolation location from the least squares inverse matrix (i.e., Ā−1). After forming the linear interpolation operator ({right arrow over (w)}), at step 355 a mean square error for the linear interpolation operator may be computed/calculated. A mathematical equation for calculating the mean square error for the interpolation operator is detailed below in Equation 2.
At step 360, the mean square error for the linear interpolation operator may be compared to the acceptable mean square error previously selected in step 330. At step 365, a determination is made as to whether the mean square error for the linear interpolation operator is greater than the acceptable mean square error.
If the mean square error for the linear interpolation operator is larger than or greater than the acceptable mean square error, the data processing system may proceed to step 370 where the data processing system may increase the local grid cell size. This increase in cell size may effectively decrease the spatial bandwidth for the interpolation operator for the interpolation location selected in step 320. After increasing the cell size of the local grid, the data processing system may proceed to step 340 to form a matrix of interpolation coefficients based on the separable sinc function. In addition to executing step 340, the data processing system may also execute steps 345, 350, 355, 360, and step 365 based on the increased cell size until the data processing system determines if a mean square error for a linear interpolation operator corresponding to the increased cell size of the local grid is less than or equal to the acceptable mean square error.
The data processing system may continue to return to step 370 and increase the cell size for the local grid until the cell size is large enough such that a mean square error for the corresponding linear interpolation operator is less than or equal to the acceptable mean square error. In this manner, an optimum linear interpolation operator may be selected for the interpolation location. The linear interpolation operator is optimum in the sense that it is calculated with the largest or maximum spatial bandwidth while having an acceptable mean square error as specified by the user in step 330.
However, if at step 365 a determination is made that the mean square error for the linear interpolation operator is less than or equal to the acceptable mean square error, the data processing system may proceed to step 375 where the mean square error for the linear interpolation operator may be saved. The data processing system may save the mean square error for the linear interpolation operator as a quality control measure for the interpolated data. The quality control measure may be displayed as a color coded attribute on a map of the interpolation locations. This color coded map would allow identification of regions in which the interpolation is relatively poor, as well as regions in which the interpolation is relatively good.
After saving the mean square error for the linear interpolation operator, at step 380 the data processing system may estimate/interpolate data value(s) at the selected interpolation location ({right arrow over (y)}j). The data processing system may estimate/interpolate the data value(s) at the selected interpolation location using a weighted summation of the sampling locations selected in step 325. That is, the data processing system may estimate/interpolate data values by multiplying the linear interpolation operator with the data at the actual sampling locations selected in step 325 and summing the products of the multiplication. The weighted summation may be represented by the equation:
Furthermore, in step 380 the data processing system may combine the computed linear interpolation operator with a spatial high-cut filter based on the cell size of the local grid. In addition to providing consistency, this extra filtering step may reduce artifacts in the interpolation data.
After estimating or interpolating the data at the interpolation location, the data processing system may return to step 320 to calculate an optimum linear interpolation operator for another interpolation location on the global grid. Furthermore, after data values have been estimated for all interpolation locations on the global grid, the data processing system may proceed from step 320 to step 385 where the method 300 may end.
Furthermore, various implementations described herein may also introduce a quality control measure. The quality control measure may predict the performance of the linear interpolation operators as a function of wave number (dip). Signals with higher wave numbers (stronger dip) are more difficult to interpolate. Hence the quality control measure depends on wave number (or dip) to reflect this situation.
According to implementations described herein, the data processing system may store the interpolated data for later use, may present the interpolated data visually to a user (e.g., via a monitor, printout, etc), or the data processing system may use the interpolated data for further data processing.
As described above with regards to method 200, spatial bandwidth may be incorporated into the design of the interpolation operator. In one implementation, spatial bandwidth may be incorporated into the design of the interpolation operator by varying the wave number when calculating the interpolation operator. The wave number may be varied to select an optimum wave number for each interpolation location resulting in a maximum spatial bandwidth and an optimum interpolation operator for each interpolation location.
Method 500 may be executed by a data processing system as described with regards to
Similar to method 200, the global grid may contain nodes which correspond to locations where data values are desired. The global grid may be any suitable grid, such as, Cartesian, rectilinear, and the like, and may be defined such that all of the acquired data locations reside within the global grid.
At step 515, the data processing system may determine or select the locations where data values may need to be estimated/interpolated. These locations may be the nodes on the global grid where actual seismic data was not acquired. The selected interpolation locations may make up a vector {right arrow over (y)}j(j=1, . . . , N) in a space of dimension Ng for estimation of data {circumflex over (d)}({right arrow over (y)}j) from data {circumflex over (d)}({right arrow over (x)}j) at the actual sampling locations {right arrow over (x)}j, j=1, . . . , M, {right arrow over (x)}jεN
At step 520, the data processing system may enter a loop containing of a plurality of steps. The loop may be executed for each interpolation location {right arrow over (y)}j for which a data value needs to be interpolated, i.e., each interpolation location in the vector {right arrow over (y)}j(j=1, . . . , N).
During the first step of the loop, step 525, the data processing system may select a number of actual sampling locations in a proximity or in the neighborhood or vicinity of an interpolation location {right arrow over (y)}j. The data processing system may select Mj=Mj({right arrow over (y)}j) actual sampling locations {right arrow over (x)}i={right arrow over (x)}j,i=1, . . . , M, {right arrow over (x)}iεN
Then, at step 530 an acceptable mean square error (MSEACC) may be selected for an interpolation operator. The interpolation operator will be calculated later in step 550 of method 500. The acceptable mean square error may, for example, be a user specified threshold which may be used later for comparison with a mean square error for the calculated interpolation operator.
After selecting a MSEACC, at step 535 a maximum bandwidth may be selected. The maximum bandwidth may be selected by selecting a maximum wave number vector {right arrow over (k)}={right arrow over (k)}maxinN
Next, at step 550 a Mj sized linear interpolation operator vector {right arrow over (w)}={right arrow over (w)}({right arrow over (k)}) may be formed by applying the inverse of the matrix S to the vector {right arrow over (r)} (i.e., {right arrow over (w)}={right arrow over (w)}({right arrow over (k)})=S−1{right arrow over (r)}). Then, a mean square error (MSE) for the linear interpolation operator vector ({right arrow over (w)}) may be calculated in step 555.
After calculating the MSE for the interpolation operator vector, at step 560 the data processing system may compare the acceptable mean square error selected in step 530 with the mean square error for the interpolation operator calculated in step 555. Then at step 565, the data processing system may determine if the mean square error for the interpolation operator is greater than the acceptable mean square error.
If during step 565 the data processing system determines that the mean square error for the interpolation operator is greater than the acceptable mean square error, the data processing system may proceed to step 570 to reduce the spatial bandwidth. The data processing system may reduce bandwidth by reducing the value of the wave number. Then the data processing system may repeat steps 540-560 to determine a new or a second interpolation operator using the reduced bandwidth and may determine a mean square error for the new interpolation operator. The data processing system may then compare the new mean square error for the new interpolation operator with the acceptable mean square error during step 565. If the new mean square error is not less than or equal to the acceptable mean square error, the data processing system may return to step 570 to again reduce the spatial bandwidth.
If the mean square error for the interpolation operator is less than or equal to the acceptable mean square error, the data processing system may proceed to step 575 of method 500 to save the interpolation operator mean square error as a quality control measure for interpolated data. Then at step 580, the data processing system may estimate or interpolate the data value at the interpolation location by applying the linear interpolation operator ({right arrow over (w)}) to the data at the selected actual sampling locations in the neighborhood or vicinity of the interpolation location.
After estimating the data value at the interpolation location, the data processing system may return to step 520 to select another interpolation location and repeat the processing loop beginning with step 525 for the selected interpolation location. After the data processing system has estimated a data value for all of the interpolation locations, the data processing system may proceed from step 520 to step 585 where method 500 may end.
Consequently, the data processing system may continue to reduce the spatial bandwidth (by reducing the wave number in step 570) until an interpolation operator is computed with the reduced bandwidth having a mean square error less than or equal to the acceptable mean square error. The data processing system may determine an optimal interpolation operator having a maximum spatial bandwidth (i.e., maximum wave number) and having an acceptable mean square error for each interpolation location.
According to implementations described herein, the data processing system may store the interpolated data for later use, may present the interpolated data visually to a user (e.g., via a monitor, printout, etc), or the data processing system may use the interpolated data for further data processing.
According to certain aspects of the implementation, an acceptable mean square error may be selected and spatial bandwidth optimization may be applied (e.g., maximum wave number or local grid) to calculate an optimal interpolation operator.
In contrast, a slightly smaller bandwidth or spatial wave number of k=0.036 1/m may be used to create an interpolation operator with a corresponding diagonal through the error spectrum 900 as illustrated in
The minimum mean square error (MMSE) interpolation operator can be computed from the following matrix/vector equation:
{right arrow over (w)}({right arrow over (k)})=S−1({right arrow over (k)}){right arrow over (r)}({right arrow over (k)}) Equation 2.
In Equation 2, S is the sampling location matrix which depends only on the differences between actual sampling locations. Furthermore, {right arrow over (r)} is a vector which depends on the actual sampling locations and the interpolation location. Both S and {right arrow over (r)} also depend on the spatial bandwidth, represented by a wave number vector which may need to be selected in an optimum way. A mathematical derivation of Equation 2 is presented below.
The sampling location matrix S depends on the differences of the actual location vectors via a product of individual component sinc functions and the spatial bandwidth as shown in the following equations:
The size M of the sampling location matrix depends on the number of samples (e.g., seismic traces) actually selected to compute the interpolated data, and may vary for different interpolation locations as outlined above. The vector {right arrow over (k)}=(k1, . . . ,kN
The vector {right arrow over (r)} depends on the difference vector between the actual sampling locations and the interpolation location, as well as on the spatial bandwidth, and is defined as the following product of individual component sinc functions:
The size of the vector may correspond to the size of the sampling locations matrix, i.e., the number of samples selected to compute the interpolation data, and may vary with the interpolation locations. The elements of this vector are sometimes already used as the weights of the interpolation operator. However, this may not be optimum; such an operator is “off” by the sampling location matrix, which has to be taken “away”, as shown in Equation 2.
The mean square error of any candidate interpolation operator, relative to base cosine functions of amplitude √{square root over (2)}N
while the minimum mean square error is expressed as
if the weights are computed according to Equation 2.
This section provides the mathematical derivations of some of the formulae used above. Consider base functions
b(x)=√{square root over (2)} cos(2πkx+φ) Equation 9;
with the wave number k measured in 1/m and phase 0≦φ≦2π. The base functions are normalized to have maximum amplitude √{square root over (2)}, which ensures that the root mean square value of the base function, averaged over phase, is unity at each wave number. The interpolation error may be defined as:
ε=Σwib(xi)−b(y) Equation 10
for the problem of interpolating the base function at sampling location y from actual sampling locations xi. Substituting Equation 8 in Equation 9 yields:
The phase mean square error may be defined via:
the integral defining the phase mean square error can be evaluated analytically via
Given the operator coefficients, Equation 12 allows computation of the phase mean square interpolation error for each wave number.
Similarly, the phase and wave number mean square error may be defined using the following equation:
Equation 15 may be computed analytically using the following equation:
In this manner, Equation 7 is proven for the 1-dimensional case.
Differentiating Equation 14 with respect to wj gives the following equation:
Furthermore, setting Equation 17 to zero
yields a simple linear system represented by the following equations:
The linear system represented by Equation 18 can be solved for the operator weights {right arrow over (w)}=S−1{right arrow over (r)}, which proves Equation 2 for the 1-dimensional case.
Consequently, Equation 7 may be proofed for the 1-dimensional case by re-writing Equation 14 as Ē2=1−2{right arrow over (w)}T{right arrow over (r)}+{right arrow over (w)}TS{right arrow over (w)} and using S{right arrow over (w)}={right arrow over (r)} from Equation 18.
Therefore, the general n-dimensional case may be solved by replacing the 1-dimensional sinc function by the product sinc functions
in Equation 16 and Equation 17. Correspondingly, the cosine function in Equation 12 may be replaced by the product cosine function.
The system computer 1030 may be in communication with disk storage devices 1029, 1031, and 1033, which may be external hard disk storage devices. It is contemplated that disk storage devices 1029, 1031, and 1033 are conventional hard disk drives, and as such, will be implemented by way of a local area network or by remote access. Of course, while disk storage devices 1029, 1031, and 1033 are illustrated as separate devices, a single disk storage device may be used to store any and all of the program instructions, measurement data, and results as desired.
In one implementation, seismic data from the receivers may be stored in disk storage device 1031. The system computer 1030 may retrieve the appropriate data from the disk storage device 1031 to process seismic data according to program instructions that correspond to implementations of various techniques described herein. The program instructions may be written in a computer programming language, such as C++, Java and the like. The program instructions may be stored in a computer-readable medium, such as program disk storage device 1033. Such computer-readable media may include computer storage media and communication media. Computer storage media may include volatile and non-volatile, and removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules or other data. Computer storage media may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, CD-ROM, digital versatile disks (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the system computer 1030. Communication media may embody computer readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism and may include any information delivery media. The term “modulated data signal” may mean a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above may also be included within the scope of computer readable media.
In one implementation, the system computer 1030 may present output primarily onto graphics display 1027, or alternatively via printer 1028. The system computer 1030 may store the results of the methods described above on disk storage 1029, for later use and further analysis. The keyboard 1026 and the pointing device (e.g., a mouse, trackball, or the like) 1025 may be provided with the system computer 1030 to enable interactive operation.
The system computer 1030 may be located at a data center remote from the survey region. The system computer 1030 may be in communication with the receivers (either directly or via a recording unit, not shown), to receive signals indicative of the reflected seismic energy. These signals, after conventional formatting and other initial processing, may be stored by the system computer 1030 as digital data in the disk storage 1031 for subsequent retrieval and processing in the manner described above. While
While the foregoing is directed to implementations of various techniques described herein, other and further implementations may be devised without departing from the basic scope thereof, which may be determined by the claims that follow. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
This application claims benefit of United States provisional patent application Ser. No. 60/895,347, filed Mar. 16, 2007, which is incorporated herein by reference
Number | Date | Country | |
---|---|---|---|
60895347 | Mar 2007 | US |