You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于np.fft.fft()的旋转扭矩数据有害振动FFT分析问题求助

测试装置DFT分析问题

正在对测试装置的数据集做DFT分析,设备轻微不对中导致扭矩传感器产生振动,需要滤除该振动,目前先尝试识别频率峰值。当前X轴频率范围是0~约15Hz,对应采样率(约30Hz)的Nyquist频率。

遇到两个问题:

  • FFT图像(第3张图)异常,呈现重叠曲线而非实函数形态;
  • 约0Hz处出现峰值,无法理解成因:机器运行转速约240RPM,预期在4Hz或其约数频率处出现周期性不对中导致的峰值。

相关代码

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

#Import csv file:
df = pd.read_csv('FFT_data_sample_csv.csv')

N = len(df['Torque(nM) A']) #Number of samples
sample_duration = df['Time(s)'].iloc[-1] - df['Time(s)'].iloc[0] #Last sample time - first sample time
freq = N/sample_duration #Frequency is ~31 hz
T = 1/freq #Period (based on sampling)

X = np.fft.fft(df['Torque(nM) A'])
X_mag = np.abs(X) / N   #normalized magnitude by number of samples
freqPlot = np.fft.fftfreq(N, d=T)

fig, [ax1, ax2, ax3] = plt.subplots(nrows=3, ncols=1, figsize=(8, 8))
ax1.plot(df["Time(s)"], df["Torque(nM) A"])
ax1.set_title('Torque (nm) vs. Time (s)')
ax1.set_xlabel('Time (s)')
ax1.set_ylabel('Torque (nm)')

ax2.plot(df['Time(s)'], df['RPM A'])
ax2.set_title('RPM ')
ax2.set_xlabel('Time (s)')
ax2.set_ylabel('RPM')

ax3.plot(freqPlot, X_mag)
ax3.set_title('FFT Frequency')
ax3.set_xlabel('Frequency')
ax3.set_ylabel('Magnitude')
plt.subplots_adjust(top=.94, hspace=.4, bottom=.07)
plt.show()

测试图像

测试装置数据分析图像


解决思路

1. FFT图像重叠修复

np.fft.fftfreq返回的频率包含正负值,实信号的FFT正负频率幅度对称,直接全量绘制就会出现左右重叠的曲线。只需截取正频率部分绘图即可:

# 筛选正频率索引
positive_idx = freqPlot >= 0
# 只绘制正频率对应的幅度
ax3.plot(freqPlot[positive_idx], X_mag[positive_idx])

另外,为了让幅度值更贴合物理意义,实信号的正频率(除0Hz和Nyquist频率)幅度需要翻倍,修正代码如下:

X_mag = np.abs(X) / N
# 对正频率区间(除0Hz)幅度翻倍
X_mag[1:N//2] *= 2

2. 0Hz峰值成因与消除

0Hz峰值对应信号的直流分量,也就是扭矩信号的平均值,成因可能是传感器零点偏移、设备静态负载等。要消除这个峰值,只需先对信号做去直流处理:

# 减去信号平均值,去除直流分量
torque_data = df['Torque(nM) A'] - df['Torque(nM) A'].mean()
X = np.fft.fft(torque_data)

关于4Hz预期峰值的排查

如果预期的4Hz峰值没出现,建议做以下检查:

  • 查看RPM曲线,确认转速是否稳定在240RPM左右,转速波动会导致峰值分散;
  • 检查采样时长,FFT频率分辨率为1/采样时长,时长过短会导致分辨率不足,峰值难以识别。

内容的提问来源于stack exchange,提问作者ramonyc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 00:35:55