Matlab 转子不平衡量的FFT分析

Matlab 转子不平衡量的FFT分析,matlab,signal-processing,fft,frequency-analysis,data-acquisition,Matlab,Signal Processing,Fft,Frequency Analysis,Data Acquisition,我正在平衡空气主轴。对于不平衡分析,我使用加速计(NI装置)。我有来自加速度计的电压信号,对应于主轴在特定频率(rpm)下的振动,并保存在excel文件中。为了分析来自该振动信号的不平衡量,我使用了Matlab中的“fft”函数。我的数据以100000 Hz的采样频率进行采样。我使用的是fft文档中给出的相同示例代码。在文件中,fft在对应于正弦波信号频率(50Hz和120Hz)的频率处具有峰值。当我使用相同的代码获得40Hz(2400rpm)旋转频率下采样数据的fft时,我没有得到40Hz处的

我正在平衡空气主轴。对于不平衡分析,我使用加速计(NI装置)。我有来自加速度计的电压信号,对应于主轴在特定频率(rpm)下的振动,并保存在excel文件中。为了分析来自该振动信号的不平衡量,我使用了Matlab中的“fft”函数。我的数据以100000 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)');

试着在显示频率从0到50000Hz的图上绘制“频谱图”和“周期图”,在y轴上,40Hz会一直显示在左右两侧,这会使人很难看到。要更好地关注感兴趣的频率,请使用。例如:
轴([0 200])
应显示距离y轴足够远的40Hz,并留出一些空间,以便在有谐波的情况下也能看到一些谐波。非常感谢,我将尝试一下。