filter1d

官方文件:filter1d
簡介:對1D表數據做時間域濾波

filter1d 用於對多列時間序列數據做時間域濾波。用戶需要指定哪一列數據代表時間(即自變量)。若輸入的時間序列是等間隔且無間斷或outliers則濾波速度較快。對於有間斷的不等間隔數據,需要使用 -L -Q-S 選項。

對於空間序列數據,提供了一個選項用於計算沿着測線的距離,並以此作爲濾波的自變量。

語法

gmt filter1d [ table ] -Ftype<width>[modifier] [ -Dincrement ] [ -E ] [ -Llack_width ] [ -Nt_col ] [ -Qq_factor ] [ -Ssymmetry_factor ] [ -T[min/max/]inc[+e|+a|n] | -Tfile|list ] [ -V[level] ] [ -bbinary ] [ -dnodata ] [ -eregexp ] [ -fflags ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -jflags ] [ -oflags ] [ -:[i|o] ] [ --PAR=value ]

必選選項

-Ftypewidth[modifier]

設置濾波器類型

濾波器分爲兩大類,卷積濾波器和非卷積濾波器。 type 用於指定濾波器類型, width 指定濾波器寬度(單位與時間數據相同)。

對於卷積濾波器,type 可以取:

  • b Boxcar: 所有權重相同
  • c Cosine Arch: 權重爲cosine曲線
  • g Gaussian: 權重爲高斯函數
  • f Custom: 不指定 width 而是給定一個含單列數據的文件,以指定權重係數

對於非卷積濾波器,type 可以取:

  • m Median: 返回中位數
  • p Maximum likelihood probability (a mode estimator): Return modal value. If more than one mode is found we return their average value. Append - or + to the filter width if you rather want to return the smallest or largest of the modal values.
  • l Lower: 返回所有值中的最小值
  • L Lower: 返回所有正值中的最小值
  • u Upper: 返回所有值中的最大值
  • U Upper: 返回所有負值中的最大值

大寫的 B|C|G|M|P|F 會使用健壯濾波器。即在濾波時會將outliers替換爲中位數。outliers 定義爲偏離中位數 2.5 倍的 L1 sacle (1.4826倍的Median absolute deviation)。

對於 L|U 可能會出現沒有數據大於或小於0,此時濾波器會返回0.0。

該模塊默認對數據進行低通濾波,加上 +h 選項則對數據進行高通濾波。

選項

table
一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。
-Dincrement
當輸入的時間序列是不等間隔採樣時,需要使用該選項設置輸出數據的分辨率 increment。所有橫座標(時間)都會被rounded off到 increment 的整數倍。當然,也可以使用 sample1d 對時間序列做重採樣。
-E
輸出時間序列的首尾端數據。默認情況下,首尾兩端都會丟失半濾波器寬度的數據點
-Llack_width
檢查數據間斷。若輸入數據存在超過 lack_width 的間斷,則該數據點不輸出值。
-Nt_col
指定哪一列數據包含自變量(即時間)。默認值爲0,即第一列。
-Qq_factor

通過檢查卷積過程中的平均權重以評估輸出值的質量因子。

q_factor 的取值爲0到1,若某點的卷積的平均權重小於 q_factor 則不輸出該點。

-Ssymmetry_factor

檢查數據關於時間窗中心的對稱性。

symmetry_factor 的取值範圍爲0到1。若 ( (abs(n_left - n_right)) / (n_left + n_right) ) > factor,則該點不輸出值。

-T[min/max/]inc[+e|+a|n] | -Tfile|list

生成時間序列

生成從 minmax 間隔爲 inc 的等間隔數列。

-V[level] (more …)
设置 verbose 等级 [c]
-bi[ncols][t] (more …)
设置二进制输入数据的格式
-bo[ncols][type] (more …)
设置二进制输出的数据格式
-d[i|o]nodata (more …)
将输入数据中等于 nodata 的记录替换为 NaN,或将输出数据中值为 NaN 的记录替换为 nodata
-e[~]”pattern” | -e[~]/regexp/[i] (more …)
只接受匹配指定模式的数据记录
-f[i|o]colinfo (more …)
指定输入或输出列的数据类型
-g[a]x|y|d|X|Y|D|[col]zgap[u][+n|p] (more …)
确定数据或线段的间断
-h[i|o][n][+c][+d][+rremark][+rtitle] (more …)
跳过或生成指定数目的头段记录
-icols[+l][+sscale][+ooffset][,][,t[word]] (more …)
设置输入数据列及简单变换(0表示第一列,t 表示文本列)
-je|f|g (more …)
设置球面距离的计算方式
-ocols[,…][,t[word]] (more …)
设置输出数据列(0表示第一列,t 表示文本列)
-:[i|o] (more …)
交换输入或输出中的第1和第二列。
-^-
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -
-++
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
-? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
--PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 gmt.conf

相關模塊

gmt , sample1d, splitxyz