www.gusucode.com > signal 案例源码程序 matlab代码 > signal/OrderMapOfHelicopterVibrationDataExample.m

    %% Order-RPM Map of Helicopter Vibration Data
% Analyze simulated data from an accelerometer placed in the cockpit of a
% helicopter.

%%
% Load the helicopter data. The vibrational measurements, |vib|, are
% sampled at a rate of 500 Hz for 10 seconds. Inspection of the data
% reveals that it has a linear trend. Remove the trend to prevent it from
% degrading the quality of the order estimation.

load('helidata.mat')

vib = detrend(vib);

%%
% Plot the nonlinear RPM profile. The rotor runs up until it reaches a
% maximum rotational speed of about 27,600 revolutions per minute and then
% coasts down.

plot(t,rpm)
xlabel('Time (s)')
ylabel('RPM')

%%
% Compute the order-RPM map. Specify an order resolution of 0.015.

[map,order,rpmOut,time] = rpmordermap(vib,fs,rpm,0.015);
  
%%
% Visualize the map.

imagesc(time,order,map)
ax = gca;
ax.YDir = 'normal';
xlabel('Time (s)')
ylabel('Order')

%%
% Repeat the computation using a finer order resolution. Plot the map using
% the built-in functionality of |rpmordermap|. The lower orders are
% resolved more clearly.

rpmordermap(vib,fs,rpm,0.005)