Main Content

Compute and Display Order-RPM Map

Generate a signal that consists of two linear chirps and a quadratic chirp, all sampled at 600 Hz for 5 seconds. The system that produces the signal increases its rotational speed from 10 to 40 revolutions per second during the testing period.

Generate the tachometer readings.

fs = 600; t1 = 5; t = 0:1/fs:t1; f0 = 10; f1 = 40; rpm = 60*linspace(f0,f1,length(t));

The linear chirps have orders 1 and 2.5. The component with order 1 has twice the amplitude of the other. The quadratic chirp starts at order 6 and returns to this order at the end of the measurement. Its amplitude is 0.8. Create the signal using this information.

o1 = 1; o2 = 2.5; o6 = 6; x = 2*chirp(t,o1*f0,t1,o1*f1)+chirp(t,o2*f0,t1,o2*f1) +...0.8*chirp(t,o6*f0,t1,o6*f1,'quadratic');

Compute the order-RPM map of the signal. Use the peak amplitude at each measurement cell. Specify a resolution of 0.25 orders. Window the data with a Chebyshev window whose sidelobe attenuation is 50 dB.

[map,or,rp] = rpmordermap(x,fs,rpm,0.25,...'Amplitude','peak','Window',{'chebwin',50});

Draw the order-RPM map as a waterfall plot.

[OR,RP] = meshgrid(or,rp); waterfall(OR,RP,map') view(-15,45) xlabel('Order') ylabel('RPM') zlabel('Amplitude')

Figure contains an axes object. The axes object contains an object of type patch.

Userpmordermapwith no output arguments to display the map. Specify a resolution of 0.2 orders and 80% overlap between adjoining segments. Set the sidelobe attenuation of the Chebyshev window to 80 dB.

rpmordermap(x,fs,rpm,0.2,...'Amplitude','peak','OverlapPercent',80,'Window',{'chebwin',80})

Figure Order Map contains objects of type uimenu, uitoolbar, uiflowcontainer.

See Also

|||||