名前
filter1d - 1-D 時系列の時間ドメインフィルタリング
概要
filter1d [ infile ] -F<type><width> [ -Dincrement ] [ -E ]
[ -H[nrec] ] [ -Iignore_val ] [ -Llack_width ] [
-Nn_cols/t_col ] [ -Qq_factor ] [ -Ssymmetry_factor ] [
-Tstart/stop/int ] [ -V ] [ -bi[s][n] ] [ -bo[s][n] ]
記述
filter1d は複数列の時系列データのための一般的な時間ドメイ
ンフィルタです。ユーザは入力する列の数と、どの列が時間なの
かを指定します (下記の -N オプション参照)。入力する時系列
が等間隔でギャップや外れた値がなく特別なオプションが不要な
とき計算が最も速くなります。 filter1d にはギャップのある
不等間隔のデータを扱うために L、Q、S のオプションが用意さ
れています。
infile フィルターされるデータ値の書かれた複数列のアスキー
(またはバイナリ、-b 参照) ファイル
-F フィルタータイプを設定します。type は b(oxcar)、
c(osine arch)、 g(aussian)、 m(edian)、 p(maximum
likeli-hood Probability estimator -- モード推定)の
いずれかで、 width には時間列と同じ単位でフィルター
の全幅を特定します。または、 -Ffname を用いて独自の
係数からなる1列のファイル名を指定することもできます。
上の場合に B, C, G, M, P, F とするとロバストなフィ
ルターになります: すなわち、フィルタリングの間、外れ
た値 (メディアンからL1スケールの2.5倍離れた値) をメ
ディアンで置き換えるのです。
オプション
-D increment は時系列が等間隔でないときに用います。そ
のとき increment は横軸の分解能になります。すなわち、
すべての横軸の値は丸められて increment の倍数になり
ます。代わりに、 sample1d を用いてデータをリサンプ
ルすることもできます。
-E 時系列の端を出力に含めます。デフォルトではそれぞれ
の端でフィルタの幅の半分が失われます。
-H 入力ファイルにヘッダレコードがあります。ヘッダレコ
ードの数は .gmtdefaults ファイルを編集することによ
り変更できます。このオプションが使われた場合、GMT
のデフォルトではヘッダレコードは1行です。
-I ある値を無視するために使います; 入力値が
ignore_val に等しいとき、入力値は NaN にセットされ
ます。
-L データの欠落状態をチェックします。入力データに
width を超えるギャップがあるとき、その点には出力が
与えられません [デフォルトでは欠落はチェックされま
せん]。
-N 入力される列数と独立変数 ( 時間 ) の列を指定します。
左端の列は # 0、右端は # (n_cols - 1)です。[デフォ
ルトは n_cols = 2, t_col = 0; すなわち、ファイルに
t, f(t) の組があります]。
-Q コンボリューションにおける平均加重をチェックするこ
とにより出力値のクオリティを評価します。 q_factor
には 0 と 1 の間の値を指定します。平均加重 <
q_factor のときその点では出力されません [デフォル
トではクオリティはチェックされません]。
-S 窓中心に関してデータの対称性をチェックします。因子
には 0 と 1 の間の値を指定します。 ( (abs(n_left -
n_right)) / (n_left + n_right) ) > factor のとき、
その点では出力されません [デフォルトでは対称性はチ
ェックされません]。
-T start から stop まで int の間隔で等間隔のタイムステ
ップを作ります[デフォルトでは入力された時間が使われ
ます]。
-V 冗長モードを選択します。標準エラー出力に経過報告を
送ります[デフォルトでは"静かに"走ります]。
-bi バイナリ入力を選択します。単精度に対しては s を付け
加えます[デフォルトは倍精度です]。バイナリファイルの
列数に応じて n を付け加えてください。
-bo バイナリ出力を選択します。単精度に対しては s を付け
加えます[デフォルトは倍精度です]。
用例
ファイル cruise.gmtd に等間隔で重力、地磁気、地形、距離 (m)
のデータセットが入っています。これを 10 km のガウシアンフィ
ルタをかけ、外れ値を除去し、2 km 間隔で 0 から 100 km の範
囲を出力するには次のようにします。
filter1d cruise.gmtd -T0/1.0e5/2000 -FG10000 -N4/3 -V >
filtered_cruise.gmtd
sample1d を用いて内挿したくない不等間隔のサンプリングとギ
ャップを含んだ測線データがしばしばあります。v3312.dtに収録
されたv3312航海の測線に沿って 25 km ごとに 50 km の窓の中
でメディアンを求め、 10km のギャップと 0.3 の非対称をチェ
ックするには次のようにします。
filter1d v3312.dt -FM50 -T0/100000/25 -L10 -S0.3 >
v3312_filt.dt
関連事項
gmt(l), sample1d(l)
1 Oct 2002 FILTER1D(l)
Man(1) output converted with
man2html