时间序列成像之点对称模式(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=(xi−xmin)/(xmax−xmin)
θ 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+L−xmin)/(xmax−xmin))∗ζ
ϕ 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+L−xmin)/(xmax−xmin))∗ζ
由公式可以看出,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图像融合。
。并给样本以标签。这里的滑动窗口分割法使用的是这篇文章中的方法。
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”
或点击链接