sacfile_mirror_signalコマンド マニュアル

(The documentation of sacfile_mirror_signal command)

Last Update: 2025/5/21


◆機能・用途(Purpose)

SAC時系列データファイルを読み込み、シグナルとその鏡像を繋げた時系列データを合成する。
Read a SAC time series data file and synthesize a time series data composed of the original signal and its mirror.

有限区間\([t_{st},t_{en}]\)で定義された時系列データ\(u(t)\)のフーリエ変換では 定義域外において\(u(t)=0\)であることが仮定される。 すなわち、\(u(t)\)のフーリエスペクトルを\(U(\omega)\)とおくと \[\begin{equation} U(\omega)\equiv \int_{-\infty}^{\infty}u(t)e^{-i\omega t}dt \sim \int_{t_{st}}^{t_{en}}u(t)e^{-i\omega t} \label{eq.Fourier.approx} \end{equation}\] という近似が用いられる (関数fft2のマニュアル参照)。 火山地域で行われる波形解析ではこの近似が問題になるケースが存在する。
The Fourier transformation of a time series data \(u(t)\) defined in a finite section \([t_{st},t_{en}]\) assumes that \(u(t)=0\) outside of the definition range. This assumption is expressed as Eq. (\ref{eq.Fourier.approx}), where \(U(\omega)\) is the Fourier spectrum of \(u(t)\); see the documentation of function fft2. This approximation is problematic to some of the analyses of waveforms in volcanic regions.

例として、御嶽山2014年噴火開始前後に観測された傾斜変動の波形を図1aに示す (Kato et al., 2015; Maeda et al., 2017)。 空振記録から噴火開始時刻は11:52:30と推定され(Maeda et al., 2015)、 ちょうどその時刻を境に傾斜変動の極性が山上がりから山下がりへと反転している(図1a)。 噴火によって傾斜変動源の位置やメカニズムが変化する可能性があるので このシグナルの力源推定は噴火開始前後で分けて行うのが好ましい。 力源は点ソースを仮定した波形逆解析によって推定されるが、 その解析は計算効率の観点から波形の代わりにフーリエスペクトルを用いて 周波数領域で行われる(Auger et al., 2006)。 それを踏まえて図1aの波形から噴火前の区間のみを取り出してフーリエ変換を行うと 何が起きるかを考えよう。 この場合、噴火開始時刻が\(t_{en}\)であり、明らかに\(u(t_{en})\neq 0\)である。 この波形を(\ref{eq.Fourier.approx})式の近似のもとでフーリエ変換すると、 時刻\(t_{en}\)において大きなステップを持つ波形(図1b)のフーリエ変換になってしまう。
As an example, Fig. 1a shows the waveform of a tilt change observed before and after the onset of the eruption of Mt. Ontake in 2014 (Kato et al., 2015; Maeda et al., 2017). The eruption is estimated to have started at 11:52:30 based on an infrasonic record (Maeda et al., 2015), and the polarity of tilt reversed from uplift to subsidence of the mountain side at this moment (Fig. 1a). The sources of this signal should be estimated separately for pre- and syn-eruptive periods because the source location and mechanism may have changed at the time of the eruption. The sources are estimated by waveform inversion of a point source, which is performed in a frequency domain using Fourier spectra instead of waveforms for efficiency (Auger et al., 2006). Now, consider what will happen if we compute the Fourier transformation of a windowed waveform before the eruption in Fig. 1a. In this case, the eruption onset time is used for \(t_{en}\), where \(u(t_{en})\neq 0\). A Fourier transformation of this waveform under the approximation of Eq. (\ref{eq.Fourier.approx}) results in the Fourier transformation of a waveform that consists of a large step at \(t_{en}\) (Fig. 1b).

時系列データの定義域の先頭や末尾でのステップを避けるため、 通常はフーリエ変換を行う前にテーパーを掛ける。 しかし図1aの噴火前の区間のように一方向に変化する波形に対して テーパーを掛けるのは好ましくない。 シグナルの最も大きい部分の振幅をテーパーで抑えてしまうことになるからである(図1c)。 噴火開始後のシグナルを少し含めてその部分にテーパーを掛ける手もあるが(図1d)、 この場合には本来は解析に含めたくない噴火開始後の波形の影響が フーリエスペクトルに含まれてしまう。
To avoid steps at the beginning and end of the definition range of a time series data, a taper is usually applied before Fourier transformation. However, the taper is not appropriate to a waveform that moves toward one direction, as in the case of the pre-eruptive period of the waveform in Fig. 1a, because the taper suppresses the amplitude of the largest signal part (Fig. 1c). Alternatively, an initial part of the syn-eruptive period may be included into the waveform and a taper may be applied to it (Fig. 1d); in this case, however, the syn-eruptive signal that should not be included into the analysis contaminates the Fourier spectrum.

このプログラムはこのような波形に対して テーパーの代わりとなる処理を提供するものである。 ステップや傾きの突然の変化を避けるため図1eのように
を作成し、これらを不連続が無いように接続する。数学的に表すと \[\begin{equation} \bar{t}\equiv t-t_{st} \label{eq.t_bar} \end{equation}\] \[\begin{equation} \bar{u}(\bar{t})\equiv u(t_{st}+\bar{t})-u(t_{st}) =u(t)-u(t_{st}) \label{eq.u_bar} \end{equation}\] \[\begin{equation} T\equiv t_{en}-t_{st} \label{eq.T} \end{equation}\] \[\begin{equation} \tilde{u}(\bar{t})\equiv \begin{cases} 0 & (-T_0 \leq \bar{t} \leq 0) \\ \bar{u}(\bar{t}) & (0 \leq \bar{t} \leq T) \\ 2\bar{u}(T)-\bar{u}(2T-\bar{t}) & (T \leq \bar{t} \leq 2T) \\ 2\bar{u}(T)-\bar{u}(\bar{t}-2T) & (2T \leq \bar{t} \leq 3T) \\ \bar{u}(4T-\bar{t}) & (3T \leq \bar{t} \leq 4T) \\ 0 & (4T \leq \bar{t} \leq 4T+T_0) \end{cases} \label{eq.u_tilde} \end{equation}\] と定義される\(\tilde{u}(\bar{t})\)を作成する。 ここで\(T_0\)は波形の前後に挿入する値が0の区間(図1e黒)の長さである。
This program offers an alternative procedure to this type of waveforms. To avoid steps and abrupt slope changes, the following six waveforms are connected without discontinuities (Fig. 1e):
Mathematically, this operation is expressed by \(\tilde{u}(\bar{t})\) defined by Eqs. (\ref{eq.t_bar})-(\ref{eq.u_tilde}), where \(T_0\) is the length of the section of zero values (Fig. 1e, black).


図1. 御嶽山2014年噴火開始前後の傾斜変動(気象庁田ノ原、東西成分)。 噴火開始時刻を灰色のバーで示す。 (a)生波形。 (b)噴火前の傾斜変動(青色の部分)のみを取り出し、他の時刻のデータを0で置換した波形。 (c)その波形の最後の1分間にcosineテーパーを掛けた波形(橙)。 テーパーを掛ける前の波形を黒破線で示す。 (d)噴火開始の1分後までを切り出した上で1分間にcosineテーパーを掛けた波形(橙)。 テーパーを掛ける前の波形を黒破線で示す。 (e)本プログラムからの出力波形。
Fig. 1. Tilt change before and during the 2014 eruption of Mt. Ontake (EW component at Tanohara station operated by Japan Meteorological Agency). The gray bar represents the onset time of the eruption. (a) Raw waveform. (b) The raw waveform during a pre-eruptive tilt change (marked by blue); data at other times are replaced by zero. (c) Cosine tapered waveform of Fig. 1b for the last 1 min (orange). The black dashed line represents a waveform before the tapering. (d) Waveform until 1 min after the onset of the eruption (black dashed line) and cosine tapered waveform for the last 1 min (orange). (e) The output waveform of this program.


◆ソースコード(Source code)

$YMAEDA_OPENTOOL_DIR/sac_data/src/sacfile_mirror_signal.c


◆使用方法(Usage)

コマンドライン引数でパラメータを指定する。 パラメータの一覧を下表に示す。
Specify parameters by command-line arguments. The table below shows a list of parameters.


●「-」から始まらない引数 (Arguments not beginning with “-”)

引数
Argument
与える値
Quantity to be given
第1引数
1st argument
入力SACデータファイル名。
The input SAC data file name.
第2引数
2nd argument
出力SACデータファイル名。
The output SAC data file name.


●1つの「-」から始まる引数 (Arguments beginning with a single “-”)

このコマンドでは1つの「-」から始まる引数は存在しない。
This command does not have arguments beginning with a single “-”.


●「--パラメータ名=パラメータ値」の形式の引数 (Arguments of a form “--Parameter name=Parameter Value”)

「--パラメータ名=パラメータ値」の形式の引数は自由な順番で指定できる。 「-」から始まらない引数の間に挿入しても良い。 相反する指定がなされた場合には後の指定が優先される。 デフォルト値を持つパラメータは省略できる。
Arguments of a form “--Parameter name=Parameter Value” can be placed in an arbitrary order. They can even be inserted between arguments not beginning with “-”. In case of conflicting options being specified, the latter option has a higher priority. Parameters that have default values can be omitted.

パラメータ名
Parameter name
意味
Meaning
可能なパラメータ値
Allowed parameter values
デフォルト値
Default value
t_st \(t_{st}\)の値(s)。
The value of \(t_{st}\) (s).
実数。入力SACデータの定義域内かつサンプル時刻でなければならない。
A real number in the definition range and at a sample time of the input SAC time series data.
入力SACデータの先頭時刻。
The beginning time of the input SAC time series data.
t_en \(t_{en}\)の値(s)。
The value of \(t_{en}\) (s).
実数(>t_{st})。入力SACデータの定義域内かつサンプル時刻でなければならない。
A real number greater than \(t_{st}\) in the definition range and at a sample time of the input SAC time series data.
入力SACデータの末尾時刻。
The end time of the input SAC time series data.
T0 \(T_0\)の値(s)。
The value of \(T_0\) (s).
非負の実数。 入力SACデータのサンプル間隔の整数倍でなければならない。
A non-negative real number, which is an integer multiple of the sampling interval of the input SAC time series data.
\(t_{en}-t_{st}\)


◆動作(Behaviour)

第1引数で指定したSAC時系列データを読み込み、 これを\(u(t)\)としたときの\(\tilde{u}(\bar{t})\)の時系列データを作成して 第2引数で指定したファイルにSAC形式で出力する。 出力データにおける基準日時は元の波形を単純にコピーした部分(図1e青)の日時範囲が 入力データにおける対応する区間の日時範囲と一致するように決定される。
Read a SAC time series data specified by the 1st argument, regard it as \(u(t)\), create a time series data of \(\tilde{u}(\bar{t})\), and output it to the file specified by the 2nd argument in SAC format. The reference date and time of the output data are determined to make the time ranges of the input and output data for the same waveform (Fig. 1e, blue) being equal.


◆使用例(Example)

sacfile_mirror_signal 2014-09-27.11_V.ONTN.tE.sac pre_eruptive_with_mirror.sac --t_st=2700.0 --t_en=3150.0


◆引用文献 (References)