当前位置: 首页 > web >正文

时间序列成像之点对称模式(Symmetrized Dot Pattern,SDP)

时间序列成像之点对称模式(Symmetrized Dot Pattern,SDP)python实现-CWRU数据集上的多传感器融合

点对称模式分析是一种将时间序列转化为极坐标系散点图的数据图像化方法,可以直接将原始信号转换为镜像对称雪花图像,实现简单,计算量小,且对噪声鲁棒性强。

SDP原理

在这里插入图片描述

下面为SDP的公式:
r i = ( x i − x m i n ) / ( x m a x − x m i n ) r_i = (x_i-x_{min})/(x_{max}-x_{min}) ri=(xixmin)/(xmaxxmin)

θ i = θ + ( ( x i + L − x m i n ) / ( x m a x − x m i n ) ) ∗ ζ θ_i = θ+((x_{i+L}-x_{min})/(x_{max}-x_{min}))*\zeta θi=θ+((xi+Lxmin)/(xmaxxmin))ζ

ϕ i = θ − ( ( x i + L − x m i n ) / ( x m a x − x m i n ) ) ∗ ζ \phi_i = θ-((x_{i+L}-x_{min})/(x_{max}-x_{min}))*\zeta ϕi=θ((xi+Lxmin)/(xmaxxmin))ζ

由公式可以看出,SDP利用时间序列x的第i个数据和第i+L个数据的值获取极坐标中第i对散点的坐标(r(i),θ(i),φ(i))。式中首先对时间序列x进行最大最小归一化,θ为绘图初始角,ξ 为角域增益因子;L为时间延滞系数。

SDP 分析不断将时间序列元素转化为极坐标系中 的散点对,最终所有散点对将在角度范围[θ - ξ,θ + ξ] 内形成对称的两片叶瓣。θ 为两片叶瓣的对称轴角度, 角域增益因子 ξ 限制了叶瓣的角域分布范围,时间延 滞系数L 则可以影响叶瓣形态。

存在多个传感器时,SDP 分析能够通过调整 θ 与 ξ 将所有传感器信号融合到同一张 SDP 图像中,进一步 增大不同故障状态的表征差异,弥补单一传感器特征 信息不足的缺陷。

使用python实现CWRU数据集多传感器融合SDP成像

选择CWRU数据集中的多个传感器,使用SDP方法实现传感器信号融合到同一张SDP图像中。需要注意的是,CWRU数据集中“Normal Baseline Data”文件夹中的数据只有两个传感器数据,而其他文件夹中的数据有三个传感器数据。因此,本文实现CWRU数据集两个传感器数据的SDP图像融合。
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/eb3e527eb726493a802c7fb7b82e5e8c.png#pic_center
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、选择某个mat文件,这里以98.mat文件为例。这个文件中共有两个传感器数据,分别是X098_DE_time和X098_FE_time。

2、其次,使用滑动窗口分割法,将单个mat文件中的数据分割成一个一个的样本(即一个mat文件可以生成多个样本,并非一个mat文件生成一个样本)。并给样本以标签。这里的滑动窗口分割法使用的是这篇文章中的方法。

3、设置SDP参数并根据SDP公式生成多传感器融合后的图像。

4、绘制SDP图像并保存,保存像素为512×512(可自行修改)。图片命名格式为98_0、98_1等等。表示98.mat文件的第0个样本、第一个样本。

代码调用及参数解释

调用代码:

if __name__ == "__main__":loc_1 = 3 #对于CWRU数据集,3和4分别代表两个传感器数据,DE_time和FE_time。因为normal文件夹中的数据只有两个传感器数据loc_2 = 4
#     loc_3 = 5#其他数据集有DE_time,FE_time,BA_timenum_segments = 120#生成的样本数量segment_length = 1024#样本长度overlap = 32#滑动窗口两个样本重叠点数target = 0#故障类型标签length = segment_length + (num_segments-1)*(segment_length-overlap)#生成所需样本需要从数据集中获取数据# 两个传感器数据,所以调用两处函数data_1 = sliding_window_sampling(r'E:\数据集\西储大学数据\48k Drive End Bearing Fault Data\112.mat',loc_1, length, num_segments, segment_length, overlap, target)data_2 = sliding_window_sampling(r'E:\数据集\西储大学数据\48k Drive End Bearing Fault Data\112.mat',loc_2, length, num_segments, segment_length, overlap, target)
#     data_3 = sliding_window_sampling(r'E:\数据集\西储大学数据\48k Drive End Bearing Fault Data\112.mat',
#                                    loc_3, length, num_segments, segment_length, overlap, target)    #这是第三个传感器数据BA_timedata = [data_1,data_2]#将两份数据放在一起作为sdp的输入
#     data = [data_1,data_2,data_3]#三个传感器数据时取消注释th = [0,180]#SDP中theta参数,两份数据使用不同的theta参数才能在极坐标图上分开
#     th = [0,90,180] #三个传感器数据时取消注释dpi = 600#保存的图片的清晰度file_name = 112#数据集名称,这里表示使用的是112.mat文件L = 24#SDP参数,时滞参数zeta = 60#SDP参数,角度增益save_dir = r'E:\数据集\西储大学数据\figure' # 图片保存地址save_figure(save_dir, file_name, data,th, L, zeta, dpi)

代码获取

关注私信回复关键词:“sdpcwru
或点击链接

http://www.xdnf.cn/news/2303.html

相关文章:

  • 【2025 最新前沿 MCP 教程 04】通信渠道:理解 MCP 传输机制
  • ShenNiusModularity项目源码学习(22:ShenNius.Admin.Mvc项目分析-7)
  • 【深度强化学习 DRL 快速实践】稀疏奖励问题 sparse reward
  • 高中数学联赛模拟试题精选第17套几何题
  • C++中const的应用(1)之const 形参和实参以及成员函数的 const 和重载
  • 从循环角度分析逐位分离法
  • 形象的讲解什么是Gateway网关
  • leetcode110 平衡二叉树
  • Ubuntu 之软件包管理系统
  • 前端技术个人求职简历模板
  • new/delete 重载与对象池实现
  • 高性能电脑系统优化工具Advanced SystemCare PRO v18.3.0.240 解锁永久专业版
  • 学习Spire.Office for Java版本的科学实践
  • 栈与队列 Part 2
  • 【NeurlPS 2024】MAR:无矢量量化的自回归图像生成
  • Jquery -函数调用使用创建立即执行函数
  • 代码随想录回文子序列
  • MQL5教程 06 EA开发实战
  • 【免费项目分享】(项目加说明文档)基于Go语言的城市电动汽车充电桩管理系统设计与实现
  • 深度学习原理与Pytorch实战
  • B. And It‘s Non-Zero
  • 八、Constants(常量)
  • Spring 学习笔记之 @Transactinal实现原理
  • Loki日志体系的搭建
  • Linux: 如何在VMware上安装Ubuntu操作系统
  • Redis 数据类型全览:特性、场景与操作实例
  • 泽润新能IPO隐忧:募资缩水2亿元,毛利率两连降,内控存瑕疵?
  • Eigen稀疏矩阵类 (SparseMatrix)
  • VS2019 与gitcode团队管理
  • QT6 源(52)篇二:存储 c 语言字符串的类 QByteArray 的使用举例,