関数create_timefunc_pow45 マニュアル

(The documentation of function create_timefunc_pow45)

Last Update: 2021/12/8


◆機能・用途(Purpose)

時間関数pow4-5(下記(\ref{eq.definition})式)に基づく時系列データを作成する。 エラーチェック機能が不十分なのでこの関数を直接用いてはならない。 この関数は関数create_timefuncからの内部呼び出し用である。
Create a time series data based on a time function pow4-5 defined by eq. (\ref{eq.definition}). Do not directly call this function because error checks are insufficient. This function is for an internal call from function create_timefunc.


◆時間関数の定義 (Definition of the time function)

概要(Overview)
時刻\(t<0\)および\(t>\tau_p\)で0、最大値が1、 かつ全ての時刻で3階導関数までが連続となる関数のうち、 時刻\(t=\tau_p/2\)に関して非対称な最小次数の多項式である。
The polynominal with minimum possible degrees that satisfy the following conditions: zero for \(t<0\) and \(t>\tau_p\), unity at the maximum, third order derivative of the function is continuous at all the time, and asymmetric with respect to time \(t=\tau_p/2\).


定義(Definition)
\[\begin{equation} f(t)= \begin{cases} 0 & (t<0) \\ C\left(\frac{t}{\tau_p}\right)^4\left(1-\frac{t}{\tau_p}\right)^5 & (0\leq t \leq \tau_p) \\ 0 & (\tau_p<t) \end{cases} \label{eq.definition} \end{equation}\] \[\begin{equation} C=\left(\frac{9}{4}\right)^4\left(\frac{9}{5}\right)^5 \label{eq.amplitude} \end{equation}\]
以下の微分形と積分形の導出にあたっては \(0\leq t \leq \tau_p\)の範囲において(\ref{eq.definition})式が \[\begin{equation} f(t)=\frac{C}{\tau_p^9}t^4(\tau_p-t)^5 =\frac{C}{\tau_p^9} (-t^9+5\tau_pt^8-10\tau_p^2t^7+10\tau_p^3t^6-5\tau_p^4t^5+\tau_p^5t^4) \label{eq.pow45.expansion} \end{equation}\] と展開できることを利用する。
In the derivations of differential and integral forms below, eq. (\ref{eq.expansion}) is used as an expanded form of eq. (\ref{eq.definition}) for the range \(0\leq t \leq \tau_p\).


1階導関数 (1st order derivative)
\[\begin{equation} \frac{df(t)}{dt}= \begin{cases} 0 & (t<0) \\ \frac{C}{\tau_p^9}\left( -9t^8+40\tau_pt^7-70\tau_p^2t^6 \right. & \\ \left. +60\tau_p^3t^5-25\tau_p^4t^4+4\tau_p^5t^3\right) & (0\leq t \leq \tau_p) \\ 0 & (\tau_p<t) \end{cases} \label{eq.derivative} \end{equation}\]

1階積分 (1st order integral)
\[\begin{eqnarray} F_1(t) &=& \int_{-\infty}^t f(t’)dt’ \nonumber \\ &=& \begin{cases} 0 & (t<0) \\ \frac{C}{\tau_p^9}\left( -\frac{1}{10}t^{10}+\frac{5}{9}\tau_pt^9-\frac{5}{4}\tau_p^2t^8 \right. & \\ \left. +\frac{10}{7}\tau_p^3t^7-\frac{5}{6}\tau_p^4t^6+\frac{1}{5}\tau_p^5t^5 \right) & (0\leq t \leq \tau_p) \\ \frac{C}{1260}\tau_p & (\tau_p<t) \end{cases} \label{eq.integral1} \end{eqnarray}\]
ここで積分定数は\(t<0\)で\(F_1(t)=0\)、 \(t=0\)および\(t=\tau_p\)で\(F_1(t)\)が連続となるように与えた。
Here, the integration constants are taken so that \(F_1(t)\) is zero for \(t<0\) and continuous at \(t=0\) and \(t=\tau_p\).


2階積分 (2nd order integral)
\[\begin{eqnarray} F_2(t) &=& \int_{-\infty}^t F_1(t’)dt’ \nonumber \\ &=& \begin{cases} 0 & (t<0) \\ \frac{C}{\tau_p^9}\left( -\frac{1}{110}t^{11}+\frac{1}{18}\tau_pt^{10}-\frac{5}{36}\tau_p^2t^9 \right. & \\ \left. +\frac{5}{28}\tau_p^3t^8-\frac{5}{42}\tau_p^4t^7+\frac{1}{30}\tau_p^5t^6 \right) & (0\leq t \leq \tau_p) \\ \frac{C}{2310}\tau_p^2+\frac{C}{1260}\tau_p(t-\tau_p) & (\tau_p<t) \end{cases} \label{eq.integral2} \end{eqnarray}\]
ここで積分定数は\(t<0\)で\(F_2(t)=0\)、 \(t=0\)および\(t=\tau_p\)で\(F_2(t)\)が連続となるように与えた。
Here, the integration constants are taken so that \(F_2(t)\) is zero for \(t<0\) and continuous at \(t=0\) and \(t=\tau_p\).


この関数の主な想定用途 (The main assumed purpose of this function)
この関数は波形インバージョンで用いるために考案したものである。 特に広帯域地震計における傾斜変動の寄与を考慮したインバージョン (Maeda et al., 2011, Geophys. J. Int.)を念頭に置いている。
This function was developed for waveform inversion taking into account the effects of tilt motions on broadband seismograms (Maeda et al., 2011, Geophys. J. Int.).

関数pow3-4の説明において、 波形インバージョンのための理論波形計算では震源時間関数として 2階導関数が連続かつスペクトルホールを持たないものを 用いるべきであることを述べた。 2階導関数が連続である必要があるのは 速度-応力型の差分法を用いて理論計算をする場合であり、 速度の遠地項が震源時間関数の2階導関数に比例することによる。 ところで傾斜変動を考慮したインバージョンでは 速度の空間微分を取ることで傾斜変動レートの理論波形を計算する。 この傾斜変動レートの理論波形では遠地項が震源時間関数の 3階導関数に比例すると考えられる。 そのため3階導関数まで連続な震源時間関数が必要になる。
In the description of function pow3-4, it was explained that a source time function for which the second order derivative is continuous and which has no spectral hole should be chosen for the theoretical waveform calculation. The continuity of the second order derivative was needed for a velocity-stress type finite difference method, because the far field term of the velocity is proportional to the 2nd order derivative of the source time function. In the inversion taking into account the tilt motion, a theoretical waveform for tilt range is calculated by taking the spatial derivative of the velocity. The theoretical waveform of this tilt rate therefore would have the far field term which is proportional to the third order derivative of the source time function. For this reason, a source time function for which the third order derivative is continuous is needed.


◆形式(Format)

#include <sequence/timefunc.h>
inline struct sequence create_timefunc_pow45
(const double tp,const int size,const double t0,const double dt,
 const int Nintegral)


◆引数(Arguments)

tp (\ref{eq.definition})式における\(\tau_p\)の値。
The value of \(\tau_p\) in eq. (\ref{eq.definition}).
size 作成する時系列データのサンプル数。
The number of samples of the time series data to create.
t0 作成する時系列データの先頭時刻。
The beginning time of the time series data to create.
dt 作成する時系列データのサンプリング間隔。
The sampling interval of the time series data to create.
Nintegral 積分回数。以下の4つの値のいずれかを指定する。
The number of integrals, which must be one of the followings.
\(-1\) 時間関数の微分形(\ref{eq.derivative}式)を作成する。
Create the differential form (eq. \ref{eq.derivative}) of the time function.
0 時間関数そのもの(\ref{eq.definition}式)を作成する。
Create the time function itself (eq. \ref{eq.definition}).
1 時間関数の1階積分形(\ref{eq.integral1}式)を作成する。
Create the 1st order integral form (eq. \ref{eq.integral1}) of the time function.
2 時間関数の2階積分形(\ref{eq.integral2}式)を作成する。
Create the 2nd order integral form (eq. \ref{eq.integral2}) of the time function.


◆戻り値(Return value)

引数Nintegralの値に応じて (\ref{eq.definition}) (\ref{eq.derivative}) (\ref{eq.integral1}) (\ref{eq.integral2})の いずれかの時間関数を表す時系列データ。
A time series data which represents the time function of either of eqs. (\ref{eq.definition}), (\ref{eq.derivative}), (\ref{eq.integral1}), and (\ref{eq.integral2}) depending on argument Nintegral.


◆使用例(Example)

struct sequence timefunc=create_timefunc_pow45(5.0,10001,-2.0,0.01,1);

この例では(\ref{eq.integral1})式で\(\tau_p=5\) sとした時系列データが \(t\in [-2,98]\)の時間範囲において0.01 sのサンプリング間隔で作成される。
In this example, a time series data based on eq. (\ref{eq.integral1}) with \(\tau_p=5\) s is created in a time range \(t\in [-2,98]\) with 0.01 s sampling intervals.