Deconvolution problem is a subset of inversion, in which observed data is deconvolved to reconstruct the model given the blurring function or source wavelet. Items of inversion including “resolution”, “error”, “regularization”, et. al also apply to deconvolution. Besides, deconvolution always associates transformation between time domain and frequency domain. Thus, principles inherited from digital singal processing apply to deconvolution. In other words, deconvolution is very complex, though massive codes and programs could output a time series in a blink of eye given no matter what kind of data input. Without comprehension of deconvolution and inversion, programs could be misused to provide wrong results. This blog attempts to theories and implementations of deconvolution.
利用总控Makefile一次性编译所有子程序包
当一个大的项目由很多子程序组成,而每一个子程序包都有自己独立的Makefile
,这时候就需要一个总控Makefile
来一次性完成所有的编译工作。以下给出了一个例子,以说明如何构建总控Makefile
。
怎么在linux下压缩和解压文件
此文是写给呆萌女朋友的。
Linux终端美化
不知道你是不是受够了Linux终端的丑陋。黑色衬底配上刺眼的颜色和奇怪的字体,是默认Linux的终端外观。如果你长期需要在Linux下作业,那么一个养眼的终端带来的将是身心愉悦,效率翻倍,毕竟这是一个凡事看脸的时代,颜即正义。
使用github和hexo搭建静态博客
Hello World
Ray Tracing (2) Pseudo Bending Method
This post is about the pseudo bending method provided by Junho Um and Clifford Thurber. Test and codes are provided.
Intro
The key point of bending method is ray path calibration, which could be calculated according to $\eqref{rt1}$.
In $\eqref{rt1}$, the left side is the ray path curvature, while the right side states the velocity gradient component normal to the ray path. This ray path curvature direction gives the calibration direction for each points:
The amount of calibration $R_c$ is obtained by minimizing the travel time.
Computation
Discretize the seismic ray and analyze a segment of it:
The travel time for discretized ray path is:
According to $\eqref{cur}$, the curvature direction for segment ($X{k-1}X{k+1}$) should be:
After having the curvature direction, a initial point is required. The mid-point is choosed, and the ideal point is $X_k’$.
Calibration amount is obtained by minimizing the travel-time of segment $X{k-1} \rightarrow X_k’ \rightarrow X{k+1}$.
For each points of the seismic ray, apply $\eqref{e1}$ and $\eqref{e2}$ to acquire the new point. Repeat this procedure until the traveltime converges.
Moreover, more ray path control points are require for traveltime convergence. Um and Thurber provides a flow chart:
Codes & Test
1D constant gradient model
For one-dimensional constant velocity gradient model, the analytic ray path is an arc, the red line presented bellow. Ray paths of iteration are presented in black lines, which finally converge to the analytic ray path.
Codes
1 | bash> make |
Reference
Um, J.,C.H. Thurber, A fast algorithm for two-point seismic ray tracing. Bull Seismol Soc Am.Bulletin of the Seismological Society of America, 1987. 77(3).
Ray Tracing (1) Derivation
Give acoustic wave equation $\eqref{acoustic_wave}$, consider the harmonic solution $\eqref{harmonic_sol}$, where $c(x_i)$ is the velocity, $T(x_i)$ the travel time.
Applying the high frequency approximation, eikonal equation$\eqref{eikonal_eq}$ and transport equation $\eqref{transport_eq}$ are derived. $\textbf{p}$, the slowness vector, which is perpendicular to the wavefront, the contour of travel time $T$, declares the propagation direction of waves.
Build Hamilton equation for eikonal equation, where $s$ declares the ray path.
Derivation ends here. In the right side of $\eqref{rt1}$, $\frac{dc}{dx_i}$ is the velocity gradient, $\frac{dc}{ds}\frac{dx_i}{ds}$ the projection of velocity gradient along ray path. In the left side, $\frac{d^2x_i}{ds^2}$ declares the curvature direction of ray path. Thus, the direction change of ray path can be calculated given the velocity gradient and ray path direction. Or, given a initial ray path direction, we could derive each segments of ray path.
However, the boundary condition problem, the two-point ray tracing problem, but not initial condition problem is much more prevalent. It could be solved using iteration, and the ray path is calibrated in each step according to $\eqref{rt1}$. This is bending method.
Reference
Cerveny, V.,M.G. Brown, Seismic Ray Theory. Applied Mechanics Reviews, 2002. 55(6): p.14.
Const Reference in Function Parameters
This post presents tips of using const reference
in functions. Examples are presented for wrong using.