RPM Generator

Order analysis needs a speed reference. When a measurement was recorded without a tachometer — or the tacho channel is missing, noisy or unusable — the RPM Generator reconstructs the speed curve from the sound or vibration signal itself, by tracking a dominant order ridge across the spectrogram. The synthesized curve is written into a new HDF file as an extra channel alongside the original data, ready to drive Order Spectrum, Order Cuts and Campbell diagrams.

The RPM Generator is an offline tool. It works on a recorded file, not on a live acquisition. If your measurement chain does provide a tacho or pulse signal, use that — a measured speed signal is always more accurate than a tracked one.

Opening the RPM Generator

The tool keeps its file, its settings and its detected curve for the rest of the session, so you can navigate elsewhere and come back.

Window Layout

AreaContents
Toolbar (top)Open HDF file, Run RPM detection, Save RPM curve to HDF, Reset parameters to defaults, Draw mode, Undo last hand-drawn correction. A progress bar and a status message appear at the right.
Left panelSix sections stacked vertically: Source File, Spectrogram display, Prominent orders, Detection Area, Estimation, Smoothing and Output.
Upper plotSpectrogram of the selected channel. This is the working surface: you place guidance picks on it and, in draw mode, correct the tracked ridge on it.
Lower plotThe detected speed curve against time.

Both plots have a small reset-zoom button in their lower-right corner.

Loading a File and Choosing a Channel

  1. Click Open HDF file… and select a HEAD time-data .hdf recording.
  2. Pick the channel to track in the drop-down of the Source File section. Choose a channel in which the order of interest is clearly visible — usually a microphone near the machine, or an accelerometer on the housing.
  3. Beneath the channel list the file information is shown as sample rate, duration and sample count.

Loading a file (or switching channel) automatically sets the detection time range to the whole recording and the upper detection frequency to half the sample rate, then builds the spectrogram.

Spectrogram Display

The spectrogram settings only affect what you see; they do not change the detection result. Adjust them until the order ridge you want to track is clearly visible.

SettingSectionChoicesDefaultEffect
Spectrum sizeSource File128 … 327682048 FFT length. Larger values give finer frequency resolution and thinner, better separated order ridges, but blur fast speed changes.
OverlapSpectrogram display2, 4, 84Overlap between successive spectra. Higher values give a smoother picture along the time axis.
Log f-axisSpectrogram displayon / offonLogarithmic frequency axis. Recommended, because low orders and their harmonics stay visible together.
For a slow run-up over a wide speed range, start with a large spectrum size (4096 or 8192) to get sharp ridges. For a fast run-up, reduce it to 1024 or 512 so the ridge does not smear.

Prominent Orders: Guiding the Tracker

A machine spectrogram normally contains many parallel ridges — the fundamental, its harmonics, and orders of other shafts. To tell the tracker which one to follow, place prominent order picks directly on the ridge.

  1. Set Order: to the order the ridge represents. For the fundamental shaft frequency this is 1; for a 23-tooth gear mesh it is 23; for a 4-blade fan it is 4.
  2. Ctrl+click on the spectrogram, right on the ridge. A magenta marker appears and a row is added to the table with its Time [s] and Freq [Hz].
  3. Add a few more picks along the ridge — typically one near the start, one in the middle and one near the end is enough.
  4. Fine-tune a pick by editing its Time or Freq cell directly; the marker moves as soon as you leave the cell.

Use Add to insert a row manually and Remove to delete the selected row.

The Order value determines the numerical result: the speed is computed as RPM = frequency / Order × 60. Tracking a gear-mesh ridge but leaving Order at 1 gives a curve that is 23 times too high. Changing Order updates every existing pick, so set it before you interpret the result.

Detection Parameters

FieldSectionUnitDefaultMeaning
Time… (start – end)Detection Areaswhole file Time range analysed. Restrict it to exclude idling or shutdown at the ends of the recording.
Frequ… (start – end)Detection AreaHz10 – half the sample rateFrequency band searched for the ridge. Narrowing this band around the ridge is the single most effective way to prevent the tracker from jumping to a neighbouring order.
Δt [ms]Estimationms200Block length. One speed estimate is produced per block, so smaller values give higher time resolution but coarser frequency resolution per estimate.
σ [%]Estimation%15The largest frequency change expected between adjacent blocks, as a percentage of the previous estimate. Small values keep the tracker locked on but make it slow to follow a fast ramp; large values let it follow anything — including the wrong ridge.
CacheEstimationblocks5How many previous estimates are averaged to predict where the ridge should be next. Larger values give a steadier, more inert tracker.
Enable moving medianSmoothing—offApplies a moving median to the finished curve, removing isolated outliers without rounding off the ramp.
Length [ms]Smoothingms500Width of the median window. Only effective when the smoothing checkbox is ticked.

Reset parameters to defaults in the toolbar restores all of these; the time and frequency ranges are reset to fit the currently loaded signal.

Running the Detection

  1. Click Run RPM detection. The progress bar shows the block-by-block progress.
  2. The detected curve appears in the lower plot and, as a lime-coloured overlay, on the spectrogram itself.
  3. The status text reports the result, for example Done — 312 points, 820 – 6015 rpm.

Always check the lime overlay on the spectrogram, not just the curve in the lower plot. A curve that looks smooth and plausible can still be following the wrong ridge; only the overlay shows you whether the tracker stayed on the ridge you picked.

Time (s) Speed (rpm) idle run-up hold Synthesized speed curve reconstructed from a tracked order ridge

Correcting the Curve by Hand

If the tracker slipped onto a neighbouring order over part of the recording, you do not have to re-run the whole detection — you can redraw that section:

  1. Click Draw mode in the toolbar. A banner appears across the spectrogram.
  2. Press the left mouse button on the spectrogram and drag along the correct ridge over the region that went wrong. A cyan preview line follows the pointer.
  3. Release. The speed curve is recomputed from the drawn frequency over exactly the time span you covered; the rest of the curve is untouched.
  4. Repeat for other bad sections, or click Undo last hand-drawn correction to step back.
  5. Click Draw mode again to leave draw mode.
Drawing uses the same Order value as the detection, so the corrected section is converted to speed in exactly the same way as the automatically tracked section. Draw mode is only available after a successful detection run, and running the detection again clears the undo history.

Output and Saving to HDF

The Output section controls how the curve is written:

FieldDefaultMeaning
ChannelRPMName of the new channel in the output file.
Fs [Hz]1000Desired sample rate of the speed channel. The value is snapped to a rate that is compatible with the sample rates already present in the file; the status message tells you if it was adjusted.
QuantityRPMThe physical form of the output: RPM (rev/min), Frequency (Hz) (rev/s) or Angular velocity (rad/s).
  1. Click Save RPM curve to HDF….
  2. Accept or edit the file name; the suggestion is the source file name plus _RPM.
  3. Click Save.

The output file contains all the original channels unchanged, at their original sample rates, plus the new speed channel. Nothing is written back into the source file. The status text confirms what was written, for example Saved 8 original + 1 RPM channel to: Run01_RPM.hdf (RPM rate 1000 Hz).

Because the block length determines how often a speed estimate is produced, the internal curve is much coarser than the output sample rate — at the default 200 ms block length there are five estimates per second. The curve is interpolated onto the chosen output rate when it is saved.

Typical Workflow

  1. Right-click the recording in the file tree and choose Edit with → RPM Generator.
  2. Select the channel with the clearest order content.
  3. Set Spectrum size until the order ridges are sharp. Keep the log frequency axis on.
  4. Identify the ridge you want to follow and enter its order in the Order: field.
  5. Ctrl+click three or four picks along that ridge.
  6. In Detection Area, narrow Frequ… to a band that contains only your ridge across the whole run, and trim Time… to the ramp itself.
  7. Click Run RPM detection.
  8. Check the lime overlay against the spectrogram. If a section is wrong, narrow the frequency band or reduce σ and run again; for a short bad section, use draw mode.
  9. Tick Enable moving median if the curve is noisy, and run once more.
  10. Set the Output name, rate and quantity, then click Save RPM curve to HDF….
  11. Load the new file into the analysis Pool and use the speed channel as the RPM reference for order analysis.

Troubleshooting

SymptomCause and remedy
The curve jumps between two levels.The tracker is switching between neighbouring orders. Narrow the detection frequency band, add more prominent-order picks along the correct ridge, or reduce σ.
The curve lags behind a fast ramp and cuts corners.The prior is too inert. Increase σ, reduce the Cache size, and shorten Δt.
The curve is noisy and spiky.The ridge is weak relative to the background. Increase Δt for more frequency resolution per estimate, increase the Cache, and enable the moving median.
The whole curve is a constant multiple of the expected speed.The Order value does not match the ridge you tracked. Set it correctly and run again.
The tracker loses the ridge during idle at the start or end.There is no ridge to follow there. Restrict the detection time range to the ramp.

Notes and Limitations


© 2026 Deepsona. All Rights Reserved.