
step5:将信号的趋势部分去除,得到去趋势后的信号,即:

2.3 sosBandpass 算法
sosBandpass 是一种数字信号处理算法,用于对地震数据进行带通滤波。其原理是使用一组二阶 IIR 滤波器级联,实现对地震数据在指定频率范围内的滤波,同时保留原始信号的相位信息。
具体地,sosBandpass 算法使用了一组二阶 IIR 滤波器级联的结构,也称为“串联二阶段滤波器”(Second-Order Sections Filter,SOS Filter)。每个二阶 IIR 滤波器的传递函数可以表示为:

其中 z 是单位圆上的复变量,b0 b1, b2, a1, a2 是滤波器的系数。通过调整这些系数的值,可以实现不同类型的滤波器,例如低通滤波器、高通滤波器和带通滤波器等。
对于一个带通滤波器,其通带范围可以表示为 [flow, fhigh],其中 flow 和 fhigh 分别表示低频和高频截止频率。在 sosBandpass 算法中,通带范围被分成若干个子段,每个子段对应一个二阶 IIR 滤波器。假设通带范围被分成了 N 个子段,那么 sosBandpass 算法可以表示为:

其中 x[n] 表示原始地震数据,y[n] 表示滤波后的地震数据。设 Hi(z) 表示第 i 个二阶 IIR 滤波器的输出,可以表示为:

其中,bi,0 ,bi,1,bi,2,ai,1, ai,2 是第 i 个二阶 IIR 滤波器的系数。
3. DolphinDB解决方案

- **实时流接入:**流数据表是 DolphinDB 设计专门用于应对实时流数据存储与计算的内存表。具备吞吐量大,低延迟的优点,支持持久化,支持高可用。
- **流数据发布、订阅与消费:**DolphinDB 流数据模块采用“发布-订阅-消费”的模式。流数据首先注入流数据表中,通过流数据表来发布数据,数据节点或者第三方的应用可以通过 DolphinDB 脚本或 API 来订阅及消费流数据。
- **FilterPicker 插件:**FilterPicker 是一种自动地震信号检测工具,可以从大量地震数据中自动检测和识别地震信号。它主要应用于地震预警、地震监测、地震研究等领域。DolphinDB 开发了对应的 FilterPicker 插件,根据该插件,可在 DolphinDB 内调用模板匹配算法,实现对地震波数据的处理,输出其中的突峭点。
- **RTSeis 插件:**RTSeis 是一个基于 Python 的实时地震数据处理包,包括地震数据的读取、处理、滤波、台阵响应的移除和地震事件检测等。DolphinDB 开发了对应的 RTSeis 插件,根据该插件,可以对波形数据进行 sosBandPass 滤波处理。
- **TensorFlow 插件:**用户可以使用 TensorFlow 框架将训练好的模型导出成 .pb 文件,在 DolphinDB 中通过 TensorFlow 插件调用该模型进行预测。
技术架构图中,DolphinDB 流数据表接收外部地震计产生的实时流数据,调用 FilterPicker 插件中的模板匹配算法对实时数据进行一级异常检测,对于异常点,先进行去趋势、滤波处理,再将结果归一化,最后调用 TensorFlow 插件进行预测,输出异常检测结果。
4. 环境准备
本节主要内容为加载插件、创建流数据表等,是后续波形实时数据模拟、异常检测的前备工作。
4.1 加载插件
为实现波形数据异常检测,DolphinDB 开发了对应的插件,见附录(目前只提供离线版,插件正式发布后会提供下载链接)。下载插件,在 plugins 目录下建立 filterpicker、rtseis、tf 三个文件夹,将插件解压到对应的文件夹里。
注意:添加环境变量前需关闭 DolphinDB Server。
Linux 添加环境变量:
export LD_LIBRARY_PATH=<YOUR DolphinDB Dir>/server/plugins/rtseis/:$LD_LIBRARY_PATH
export LD_LI


870

被折叠的 条评论
为什么被折叠?



