sequence/timefunc.h マニュアル

(The documentation of sequence/timefunc.h)

Last Update: 2021/12/8


sequence/timefunc.hでは 数式で表される時間関数に基づいて時系列データを生成する関数が定義されている。
Functions to create a time series data based on the time function expressed by a formula are defined in sequence/timefunc.h.

このヘッダファイルでサポートしている時間関数を下表にまとめる。 ここでは特徴を大まかに整理した。各時間関数の具体的な数式はリンク先に載せている。
Time functions supported by this header file are listed in the table below. Here, characteristics are summarized in qualitative manner; explicit formula for individual time functions are available from the links.

時間関数名
Name of time function
形状
Shape
ある時刻より前が定数
Constant before a certain time moment
ある時刻より後が定数
Constant after a certain time moment
連続性
Continuity
スペクトルホール
Spectral holes
cos インパルス型1
Impulse type1

Yes

Yes
時間関数は連続、1階導関数は不連続
The time function is continuous, but with discontinuity in the 1st order derivative
有り
Exists
pow3-3 インパルス型1
Impulse type1

Yes

Yes
2階導関数が連続
The 2nd order derivative is continuous
有り
Exists
pow3-4 インパルス型1
Impulse type1

Yes

Yes
2階導関数が連続
The 2nd order derivative is continuous
無し
None
pow4-5 インパルス型1
Impulse type1

Yes

Yes
3階導関数が連続
The 3rd order derivative is continuous
無し
None
gaussian インパルス型1
Impulse type1
×
No
×
No
無限階の導関数が連続
Continuous to infinite order of derivatives
有り
Exists
pow5 ステップ型2
Step type2

Yes

Yes
2階導関数が連続
The 2nd order derivative is continuous
無し
None
pow7 ステップ型2
Step type2

Yes

Yes
3階導関数が連続
The 3rd order derivative is continuous
無し
None
ricker 振動型3
Oscillation type3
×
No
×
No
無限階の導関数が連続
Continuous to infinite order of derivatives
有り
Exists
damp-osc 振動型3
Oscillation type3

Yes
×
No
時間関数は連続、1階導関数は不連続
The time function is continuous, but with discontinuity in the 1st order derivative
無し
None

  1. ここで「インパルス型」とは1つの最大値を持ち \(t\rightarrow\pm\infty\)で0となる関数のことである。
    Here, “impulse type” refers to a function of a single maximum and approaches to zero at \(t\rightarrow\pm\infty\).

  2. ここで「ステップ型」とは\(t\rightarrow -\infty\)で0、 \(t\rightarrow\infty\)で1となる関数のことである。
    Here, “step type” refers to a function which approaches to zero at \(t\rightarrow -\infty\) and unity at \(t\rightarrow\infty\).

  3. ここで「振動型」とは極大値または極小値を複数持つ関数のことである。
    Here, “oscillation type” refers to a function with multiple local maxima or minima.

各関数の形状をインパルス型、ステップ型、振動型に分けて下図に示す。 ここでは横軸を\(t/\tau_p\)とし、gaussianでは\(\tau_s=\tau_p/2\)、 rickerとdamp-oscでは\(\tau_s=2\tau_p\)とした。
The forms of these functions are shown by the figures below, which were separated based on the impulse, step, and oscillation types. The lateral axis represents \(t/\tau_p\), and \(\tau_s=\tau_p/2\) was used for gaussian, while \(\tau_s=2\tau_p\) was used for ricker and damp-osc.







これらの関数のフーリエスペクトルを下図に示す。 これらは理論式ではなく、時刻\(-1310.72\leq t\leq 1310.71\)の範囲の 0.01 s刻みの時系列データ(\(262144=2^{18}\)サンプル)を生成し、 これらをSeismic Analysis Code (SAC)のfftコマンドに入力することによって 作成したものである。 そのため数値的な誤差が含まれる可能性がある。
The Fourier spectra of these functions are shown below. They are not based on theoretical formula, but calculated by first generating a time series data of 0.01 s sampling intervals in a time range \(-1310.72\leq t\leq 1310.71\) (\(262144=2^{18}\) samples), and then computing the spectra by fft command of Seismic Analysis Code (SAC). Therefore they may consist of numerical errors.








このヘッダファイル内で定義されている関数を以下に示す。 各関数の詳細は関数名をクリックしてリンク先を参照のこと。
Functions defined in this header file are listed below. For details of individual functions, click the links.

関数名
Function name
機能・用途
Purpose
使用上の注意
Remark
create_timefunc 指定した時間関数を表す時系列データを作成する。
Create a time series data which represents a specified time function.
 
create_timefunc_cos 時間関数cosに基づく時系列データを作成する。
Create a time series data based on a time function cos.
エラーチェック機能が不十分なのでこれらの関数を直接用いてはならない。 これらの関数は関数create_timefuncからの内部呼び出し用である。
Do not directly call these functions because error checks are insufficient. These functions are for an internal call from function create_timefunc.
create_timefunc_pow33 時間関数pow3-3に基づく時系列データを作成する。
Create a time series data based on a time function pow3-3.
create_timefunc_pow34 時間関数pow3-4に基づく時系列データを作成する。
Create a time series data based on a time function pow3-4.
create_timefunc_pow45 時間関数pow4-5に基づく時系列データを作成する。
Create a time series data based on a time function pow4-5.
create_timefunc_gaussian 時間関数gaussianに基づく時系列データを作成する。
Create a time series data based on a time function gaussian.
create_timefunc_pow5 時間関数pow5に基づく時系列データを作成する。
Create a time series data based on a time function pow5.
create_timefunc_pow7 時間関数pow7に基づく時系列データを作成する。
Create a time series data based on a time function pow7.
create_timefunc_ricker 時間関数rickerに基づく時系列データを作成する。
Create a time series data based on a time function ricker.
create_timefunc_damposc 時間関数damp-oscに基づく時系列データを作成する。
Create a time series data based on a time function damp-osc.