旋转机械的阶次跟踪步骤:

  1. 采集旋转机械的振动信号;
  2. 对信号进行预处理,包括去趋势、去直流分量、去高频噪声等;
  3. 对预处理后的信号进行傅里叶变换,得到频域谱线;
  4. 根据旋转机械的旋转速度和齿轮齿数等参数,计算出旋转机械的阶次频率;
  5. 对频域谱线进行滤波,只保留与阶次频率接近的谱线;
  6. 对滤波后的谱线进行幅度调制,得到阶次幅度谱;
  7. 根据阶次幅度谱,确定旋转机械的阶次分量。

Python代码案例:

以下是一个简单的旋转机械阶次跟踪的Python代码案例,仅供参考。

import numpy as np
import scipy.signal as signal

# 采集振动信号
t = np.linspace(0, 1, 1000)
f1 = 50
f2 = 150
x = np.sin(2*np.pi*f1*t) + 0.5*np.sin(2*np.pi*f2*t)

# 预处理信号
x = signal.detrend(x)
x = x - np.mean(x)

# 傅里叶变换
X = np.fft.fft(x)
f = np.fft.fftfreq(len(x), t[1]-t[0])

# 计算阶次频率
fs = 1000
N = len(x)
n = np.arange(N)
f0 = 50
Np = 12
f_harmonics = np.arange(f0, Np*f0+f0, f0)
w_harmonics = 2*np.pi*f_harmonics/fs

# 滤波
Wn = 0.05
b, a = signal.butter(4, Wn)
X_filt = signal.filtfilt(b, a, X)

# 幅度调制
X_m = np.zeros(len(f_harmonics), dtype='complex')
for i, w in enumerate(w_harmonics):
    X_m[i] = np.abs(X_filt[np.argmin(np.abs(f-w)):np.argmin(np.abs(f-w))+2])

# 输出阶次分量
for i, X_i in enumerate(X_m):
    if np.abs(X_i) > 0.1*np.max(X_m):
        print('阶次频率:', f_harmonics[i])
        print('阶次幅度:', np.abs(X_i))

这段代码模拟了一个振动信号,其中包含两个频率为50Hz和150Hz的成分,然后对信号进行预处理、傅里叶变换、滤波和幅度调制等操作,最终输出旋转机械的阶次分量。实际应用中,需要根据具体的旋转机械参数和采集的振动信号进行相应的调整

旋转机械的阶次跟踪的步骤和python代码案例

原文地址: https://www.cveoy.top/t/topic/dda5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录