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[+ccol] ] [ -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
生成时间序列
生成从 min 到 max 间隔为 inc 的等间隔数列。
- -V[level] (more …)
设置 verbose 等级 [w]
- -bi[ncols][type][w][+l|b] (more …)
设置二进制输入数据的格式
- -bo[ncols][type][w][+l|b] (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[+n|p] (more …)
确定数据或线段的间断
- -h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle] (more …)
跳过或生成指定数目的头段记录
- -icols[+l][+sscale][+ooffset][,…][,t[word]] (more …)
设置输入数据列及简单变换(0表示第一列,t 表示文本列)
- -je|f|g (more …)
设置球面距离的计算方式
- -ocols[,…][,t[word]] (more …)
设置输出数据列(0表示第一列,t 表示文本列)
- -:[i|o] (more …)
交换输入或输出中的第一和第二列
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数