应用 Hilbert 变换
HILBERT
一个实序列 f(t) 的 Hilbert 变换定义为
其中星号表示卷积。
由于
该命令通过将原始信号与一个201点 FIR 滤波器进行时间域卷积以实现 Hilbert 变换。 此 FIR 滤波器是通过对理想 Hilbert 变换的脉冲响应加 Hanning 窗获得的。在频率域, 每个频率处的振幅响应为1,相位为90度。Hilbert 变换后的结果将替代内存中的 原始信号。
需要注意的是,此操作在零频和 Nyquist 频率附近的小区域内是不精确的。若要 对很低频率的数据进行 Hilbert 变换(比如长周期面波),则需要先对信号进行 减采样。由于该变换是在时间域完成的,所以计算时在原地使用重叠储存算法, 其对于文件长度没有限制。
理论上,Hilbert 变换可以从振幅谱的对数中计算最小延迟相位,本质上 Hilbert 变换是一个非带限的低通滤波器,因而本命令中的 Hilbert 变换无法用于计算最小 延迟相位。
SAC 提供了 Hilbert 变换的函数库,可以直接在 C 或 Fortran 程序中调用,详情参考 /libs/libsac
一节。
depmin、depmax、depmen
本段内容不够严谨,正负号可能有误,其中的细节也被省略,因而仅供参考。↩