【大窗除强信号,小窗清残留】基于双尺度广义交叉验证阈值的地震信号自适应剥离和噪声提取方法(MATLAB)
背景知识在环境噪声层析成像等研究中我们需要的是纯粹的“噪声”记录而不是被地震信号“污染”的波形。传统方法是人工剔除含事件的时间段或者用时间域归一化压制信号但这些方法要么主观要么难以彻底去除能量较强的信号。广义交叉验证是一种不依赖噪声先验信息的自适应阈值选取方法它通过最小化预测误差来找到最优阈值。同步压缩变换则能将信号能量在时频域中高度聚焦使信号和噪声更容易区分。本算法结合了这两者专门用于从地震记录中“剥离”有效信号保留背景噪声服务于环境噪声研究。算法总结这个算法的核心任务是从含噪地震记录中移除有效信号提取纯粹的背景噪声。它先把信号分成多个滑动窗口对每个窗口做连续小波变换得到时频系数。首先它利用峰度这个统计量做预处理剔除那些明显呈高斯分布即纯噪声的尺度因为这些尺度不含信号信息。接着对保留下来的系数用斐波那契搜索法快速找到使广义交叉验证函数最小的最优阈值并对系数进行一种特殊的“硬阈值”处理——将大于阈值的系数压缩为阈值的一半而不是直接置零这样既能削弱信号又能保留噪声成分。然后将预处理时剔除的噪声尺度系数“恢复”回来确保噪声信息完整。最后逆变换回时域拼接到完整信号中。由于一次处理可能不够彻底建议用两个不同大小的窗口先后处理两遍先用大窗口去除主体信号再用小窗口精雕细琢把残留的微弱信号也清理掉最终得到纯净的噪声记录。算法步骤读取数据与参数设置输入含噪地震信号设定采样间隔、小波类型、每个八度的声音数、高斯修正因子、窗口大小秒等参数。滑动窗口划分根据设定的窗口大小秒计算对应的采样点数按此宽度将长信号分成若干无重叠的窗口逐窗口处理。窗口数据归一化取当前窗口数据找到最大值将整个窗口归一化到 [0,1] 区间方便后续阈值计算。连续小波变换对归一化后的窗口数据做CWT得到时频系数矩阵行尺度列时间。预处理基于峰度剔除高斯噪声尺度对每个尺度计算其实部系数的峰度值。峰度衡量数据偏离高斯分布的程度。如果峰度绝对值小于某阈值由高斯修正因子控制说明该尺度为高斯噪声将其系数全部置零并记录该尺度索引。广义交叉验证最优阈值搜索对每个未被置零的尺度用斐波那契搜索法在系数绝对值范围内寻找使广义交叉验证函数最小的最优阈值特殊硬阈值处理将该尺度系数中绝对值大于最优阈值的部分全部替换为阈值的一半其余系数保持不变。这种处理方式能有效削弱信号能量同时保留噪声。恢复被剔除的噪声尺度将步骤5中置零的尺度系数用原始 CWT 系数替换回来。这样做可以保证噪声成分完整不被误删。逆连续小波变换对处理后的系数矩阵做逆变换重建该窗口的时域信号并乘以步骤3的归一化因子恢复幅度。窗口拼接与双重处理将所有窗口处理后的结果按顺序拼接得到第一次处理后的信号。以该信号作为新的“含噪”输入换一个更小的窗口比如从500秒换成55秒重复步骤1-9进一步去除残留的短时信号得到最终的纯净噪声记录。结果输出与绘图保存最终信号提取的噪声并绘制原始信号与提取噪声的对比图。如果你对信号滤波/降噪机器学习/深度学习时间序列预分析/预测设备故障诊断/缺陷检测/异常检测有疑问或者需要论文思路上的建议欢迎咨询担任《MSSP》《中国电机工程学报》《宇航学报》《控制与决策》等期刊审稿专家擅长领域信号滤波/降噪机器学习/深度学习时间序列预分析/预测设备故障诊断/缺陷检测/异常检测
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2456680.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!