在振动信号的特征提取方面,除了传统的时域、频域、时频域、复杂度域上进行外,近些年来,随着图像处理技术的发展,不少学者通过振动信号可视化,然后从图像处理的角度提取故障特征,并且取得了一定的效果,SDP方法作为一种图像生成法,具有计算公式简单、运算速度快等特点,能够通过相应的计算公式,把一维的时间序列变换到极坐标下的雪花图像,不同信号的差异能够通过雪花花瓣形状的不同得以体现。
图1 SDP转换原理
在SDP方法中
import numpy as np
import 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)) * xi
polar.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
该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除