0

我正在平衡一个空气主轴。对于不平衡分析,我使用加速度计(NI 设备)。我有来自加速度计的电压信号,对应于主轴在特定频率(rpm)下的振动,保存在 Excel 文件中。为了分析这个振动信号的不平衡,我使用了 Matlab 中的“fft”函数。我的数据以 100,000 Hz 的采样频率进行采样。我正在使用 fft 文档中给出的相同示例代码。在文档中,fft 在对应于正弦波信号频率(50Hz 和 120Hz)的频率处具有峰值。当我使用相同的代码获取旋转频率为 40Hz (2400rpm) 的采样数据的 fft 时,我没有得到 40Hz 的峰值。难道我做错了什么??在 fft 代码中我应该在哪里提到我的主轴的旋转频率。我想知道我的旋转频率(40Hz)的振动信号的相位和幅度。fft 图看起来像这个。我的代码如下。任何帮助深表感谢。

%For vibration analysis of signal without any trial mass.

filename = '2400RPM.xlsx';
sheet = 1;
xlRange = 'C40:C516039'; % Column C has sampled vibration data
x = xlsread(filename,sheet,xlRange);
T=1/100000;
Fs=1/T;
L = length(x);
t= (0:L-1)*T;
Y = fft(x);
mag1 = abs(Y/L);
mag = mag1(1:L/2+1);
mag(2:end-1) = 2*mag(2:end-1);
ph1 = rad2deg(Y/L);
ph = ph1(1:L/2+1);
ph(2:end-1) = 2*ph(2:end-1);
f=Fs*(0:(L/2))/L;

%PLOTTING RESULTS
%--------------------------------------

subplot(2,2,[1,2])
plot(t,x);
title('Vibration Signal: 2400RPM');
xlabel('Time (seconds)');
ylabel('Amplitude (voltage)');

subplot(2,2,3)
plot(f,mag);
title('Magnituge Plot');
xlabel('Frequency (Hz)');
ylabel('Amplitude');

subplot(2,2,4)
plot(f,ph);
title('Phase Plot');
xlabel('Frequency (Hz)');
ylabel('Phase (degree)');
4

0 回答 0