FILTER1D

名前
書式
説明
オプション
アスキー形式の精度

関連項目

名前

filter1d − 1 次元時系列の時間領域におけるフィルタリング

書式

filter1d [ infile ] −F<type><width>[mode] [ −Dincrement ] [ −D ] [ −H[i][nrec] ] [ −Iignore_val ] [ −Llack_width ] [ −Nn_cols/t_col ] [ −Qq_factor ] [ −Ssymmetry_factor ] [ −Tstart/stop/int ] [ −V ] [ −b[i|o][s|S|d|D][ncol] ] [ −f[i|o]colinfo ]

説明

filter1d は複数列の時系列データのための一般的な時間領域フィルタである。 ユ ーザは入力する列の数と、どの列が時間なのかを指定する (下の −N オプシ ョンを参照)。入力する時系列が等間隔で隙間や外れ値がなく特別なオプション が 不要な場合には計算が最も速くなる。 filter1d には隙間のある不等間隔の データを扱うために -L, -Q, -S のオプションが用意されている。

infile

フィルタするデータ値を含む複数列のアスキー (又はバイ ナ リ、−b 参照) ファイル。

−F

フィルタの種類を設定する。畳込み・非畳込みフィルタの中から 選ぶこと。フィルタコードと時間列と同じ単位のフィルタ全幅 width を付けること。利用できる畳込みフィルタは以下の通り。

(b) ボックスカー: 全ての重みが等しい。
(c) コサインアーチ: コサインアーチ曲線に従う重み。
(g) ガウシアン: ガウス関数によって与えられる重み。
(f) カスタム: width の代わりに独自の重み定数の 1 列のファイルの 名前を与えること。
非畳込みフィルタは以下の通り。
(m) 中央: 中央値を返す。
(p) 最尤推定 (最頻値推定): 最頻値を返す。 1 つ以上の最頻値が 見 つ かったときはそれらの平均値を返す。最頻値の中から最小あるいは 最大を返して欲しい場合はフィルタ幅に - あるいは + を付けるこ と 。
(l) 最小: 全ての値の最小値を返す。
(L) 最小: 全ての正の値の中から最小値を返す。
(u) 最大: 全ての値の最大値を返す。
(U) 最大: 全ての負の値の中から最大値を返す。
大 文字の B, C, G, M, P, F にすると頑健フィルタが使われる。すな わち、フィルタリングの際に、外れ値(中央値から L1 スケール の2.5 倍離れた値)を中央値に置き換える。
L|U
の場合は最初の符号テストを通過するデータが無いことがある。 その場合、フィルタは 0.0 を返す。

オプション

−D

increment は時系列が等間隔でないときに 使 う 。 そ の と き increment は横軸の分解能になる。すなわち、全ての横軸の値は丸め られて increment の倍数になる。代わりに、 sample1d を用いてデー タを再サンプルすることもできる。

−E

時系列の端を出力に含める。デフォルトではそれぞれの端でフィ ルタの幅の半分が失われる。

−H

入力ファイルにヘッダ行がある時に使う。 ヘ ッ ダ 行 の 数 は .gmtdefaults4 ファイルを編集することにより変更できる。このオプ ションが使われた場合、 GMT のデフォルトではヘッダ行は 1 行で あ る。入力データだけにヘッダ行が必要な場合は −Hi を使うこと [デフ ォルトでは入力データにヘッダ行があればそれも出力される]。

−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 を付けること [ デフォルトは d (倍精度)]。大文字の S (又は D) にするとバイト ス ワ ップを行う。随意で、バイナリファイルの列数がこのプログラムで 必要な列数を越えるときは、バイナリファイルの列数 ncol を付け る こと。

−bo

バイナリ出力を選択する。単精度に対しては s を付けること [ デフォルトは d (倍精度)]。大文字の S (又は D) にするとバイト ス ワ ップを行う。随意で、バイナリ出力ファイルの必要な列数 ncol を 付けること [デフォルトは入力と同じ]。

−f

入出力列の特殊フォーマットを使う(時間又は地 理 デ ー タ) 。 i(nput) 又は o(utput) を指定すること [デフォルトでは入力と出力 の両方]。コンマ区切りで 1 列以上(又は列の範囲)を与えること。 各 列 又 は 列 の範囲の項目に対して T (絶対暦時刻)、 t (選択された TIME_EPOCH に対する相対時間)、 x (経度)、 y (緯度)、 f ( 小 数) の いずれかを付けること。 −f[i|o]g−f[i|o]0x,1y (地理座標)の 省略形である。

アスキー形式の精度

数値データのアスキー出力形式は .gmtdefaults4 ファイルのパラメータによっ て 決まる。緯度経度は OUTPUT_DEGREE_FORMAT に従ってフォーマットされ、一 方、他の値は D_FORMAT に従ってフォーマットされる。フォーマットの結果 と し て出力の精度が落ちて、その先の処理に影響する可能性があることに注意す ること。十分な精度で出力されていないと思ったら、バイナリ出力に変更する( も し使えるなら −bo とする)か、 D_FORMAT の設定を用いてより多くの桁数を 指定すること。

ファイル cruise.gmtd に等間隔の重力、地磁気、地形、距離( m 単位)のデ ー タセットが入っているとする。これに 10 km のガウシアンフィルタをかけ、外 れ値を除去し、 0 から 100 km の範囲を 2 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)