在振动信号的特征提取方面,除了传统的时域、频域、时频域、复杂度域上进行外,近些年来,随着图像处理技术的发展,不少学者通过振动信号可视化,然后从图像处理的角度提取故障特征,并且取得了一定的效果,SDP方法作为一种图像生成法,具有计算公式简单、运算速度快等特点,能够通过相应的计算公式,把一维的时间序列变换到极坐标下的雪花图像,不同信号的差异能够通过雪花花瓣形状的不同得以体现。

图1 SDP转换原理在SDP方法中
import numpy as npimport matplotlib.pyplot as plt# SDP变换函数def sdp(wave_data, start_angle, xi, il):data_len = len(wave_data)x_max = np.max(wave_data)x_min = np.min(wave_data)polar_list = []clockwise_list = []anticlockwise_list = []xi = np.radians(xi)for j in range(6):theta = np.radians(start_angle + j*60)polar = []clockwise = []anticlockwise = []for i in range(data_len-il):if i < data_len - il:x_i = wave_data[i]# 计算极坐标上的半径polar_radius = (x_i - x_min) / (x_max - x_min)# 获取x(i+l)值x_i_l = wave_data[i + il]# 计算顺时针转角clockwise_angle = theta + ((x_i_l - x_min) / (x_max - x_min)) * xi# 计算逆时针转角anticlockwise_angle = theta - ((x_i_l - x_min) / (x_max - x_min)) * xipolar.append(polar_radius)clockwise.append(clockwise_angle)anticlockwise.append(anticlockwise_angle)polar_list.append(polar)clockwise_list.append(clockwise)anticlockwise_list.append(anticlockwise)return polar_list, clockwise_list, anticlockwise_list# 生成模拟信号,采样频率12800Hz,周期100Hz,1秒时长t = np.arange(0, 1, 1 / 12800)signal = np.sin(2 * np.pi * 100 * t)beta, gamma = sdp(signal, 60, 40, 5)for x, k in enumerate(r):ax = plt.subplot(111, projection='polar')# 绘制散点k, c='red')k, c='green')Image')plt.show()
使用3个频率为100Hz,200Hz,400Hz的正弦信号的SDP图像(

图2 100Hz正弦波SDP图像

图3 200Hz正弦波SDP图像

图4 400Hz正弦波SDP图像
[1] 应用SDP点对称特征融合图像的行星齿轮箱故障诊断[J],噪声与振动控制,2023,43(4):82-88.DOI:10.3969/j.issn.1006-1355.2023.04.013
编辑:海洋
校核:李正平、陈凯歌、赵栓栓、曹希铭、赵学功、白亮、任超、陈宇航、Tina
该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除