# 振动信号的阶次分析

load helidata vib = vib - mean(vib); % Remove the DC component subplot(2,1,1) plot(t,rpm) % Plot the engine rotational speed xlabel('Time (s)') ylabel('Engine Speed (RPM)') title('Engine speed') subplot(2,1,2) plot(t,vib) % Plot the vibration signal xlabel('Time (s)') ylabel('Voltage (mV)') title('Accelerometer Vibration Data')

rpmfreqmap(vib,fs,rpm)

rpmfreqmap 生成的交互式图窗窗口包含 RPM-频率图、对应于该图的 RPM 对时间的曲线图，以及可用于量化振动分量的几个数值指示符。默认情况下，图的振幅是均方根 (RMS) 振幅。可使用可选参数指定其他振幅选项，包括峰值振幅和功率。瀑布图菜单按钮生成一个三维视图：

RPM-频率图中的许多轨迹具有随发动机速度增加和减少的频率。这表明轨迹是发动机旋转频率的阶次。RPM 峰值附近有高振幅分量，频率在 20 至 30 Hz 之间。可以将十字准线放在图上的此位置，以在 RPM 曲线图下方的指标框中查看频率、RPM 值、时间以及图振幅。

rpmfreqmap(vib,fs,rpm,1)

rpmordermap(vib,fs,rpm,0.005)

[map,mapOrder,mapRPM,mapTime] = rpmordermap(vib,fs,rpm,0.005);

figure orderspectrum(map,mapOrder)

[spec,specOrder] = orderspectrum(map,mapOrder); [~,peakOrders] = findpeaks(spec,specOrder,'SortStr','descend','NPeaks',2); peakOrders = round(peakOrders,3)
peakOrders = 2×1 0.0520 0.0660 

ordertrack(map,mapOrder,mapRPM,mapTime,peakOrders)

orderWaveforms = orderwaveform(vib,fs,rpm,peakOrders); helperPlotOrderWaveforms(t,orderWaveforms,vib)

mainRotorOrder = mainRotorEngineRatio; tailRotorOrder = tailRotorEngineRatio; ratioMain = peakOrders/mainRotorOrder
ratioMain = 2×1 4.0310 5.1163 
ratioTail = peakOrders/tailRotorOrder
ratioTail = 2×1 0.7904 1.0032 

load helidataAfter vib = vib - mean(vib); % Remove the DC component [mapAfter,mapOrderAfter] = rpmordermap(vib,fs,rpm,0.005); figure hold on orderspectrum(map,mapOrder) orderspectrum(mapAfter,mapOrderAfter) legend('Before Adjustment','After Adjustment')

Brandt, Anders.Noise and Vibration Analysis:Signal Analysis and Experimental Procedures.Chichester, UK:John Wiley and Sons, 2011.