decimate

概要

对数据做减采样

语法

DECimate [n] [Filter ON|OFF]

输入

n

设置减采样因子为 n,即每 n 个点中取一个点,n取值范围为2到7

FILTER ON|OFF

打开/关闭抗混叠 FIR 滤波器

缺省值

decimate 2 filter on

说明

此命令用于对内存中的数据进行减采样,减采样因子 n 表示从每 n 个数据点中取一个点,因而经过减采样之后的数据点数近似为 \(npts/n\) 个。减采样因子的允许取值为2到7,为了得到更大的减采样因子,可以多次执行该命令。

根据采样定理:

如果信号是带限的,并且采样频率大于信号带宽的2倍,那么,原来的连续信号可以从采样样本中完全重建出来。

若不满足此采样条件,采样后信号的频率就会重叠,即高于采样频率一半的频率成分将被重建成低于采样频率一半的信号。这种频谱重叠导致的失真称为混淆效应。

该命令提供了一个可选的 FIR 滤波器对数据进行低通滤波,以避免减采样过程中可能出现的混淆效应。可用的的FIR滤波器的具体参数位于 $SACHOME/aux/fir/decn 中,这些滤波器是经过精心设计的,保留了相位信息。使用 FIR 滤波器有时会在数据的两端产生瞬时跳变,因而减采样的结果需要在图形界面下人工审核。只有当高频响应的准确度不重要的时候(比如绘图时),才可以关闭 FIR 滤波器。

示例

对数据减采样42倍:

SAC> r file1
SAC> decimate 7     # 减采样因子为7时 FIR 滤波器偶尔不稳定,慎用!
SAC> decimate 6

头段变量

npts、delta、e、depmin、depmax、depmen