When measuring the rotating speed, usually in revolutions per minute (RPM), of a shaft, often a laser or other type of optical device is aimed at a striped surface as shown in Figure 1. The time between crossings of stripes is counted and timed to calculate the RPM.
Figure 1: Encoder setup with laser on shaft for measuring RPM
In the ideal world, the RPM comes out perfectly. In practice, these measurements are often performed in “hostile” environments with interfering dirt, shaft surface imperfections, and other issues that can cause RPM anomalies.
Figure 2: In the real world, rpm measurements often take place in “hostile” environments with dirt and grime which can cause problems
These problems can manifest themselves in different ways. For example, there can be an occasional dropouts or spikes in the RPM signal. Or there can be a slight imperfections in the spacing of the stripes which cause a glitch in the RPM at the same spot in each rotation. Some of these RPM anomalies are shown in Figure 3.
Figure 3 – RPM anamolies: Left – Occasional RPM dropout or spike, Right – RPM spike at same location during each revolution of shaft
There are tools available in Simcenter Testlab (formerly called LMS Test.Lab) to remove these RPM anomalies. These tools can be accessed in the ‘Time Data Selection’ worksheet in conjunction with some specific add-ins.
Removing an Occasional Spike/Dropout in RPM
To remove an occasional spike, use “Time Data Editor - Standard” from “Tools -> Add-ins” as shown in Figure 4.
Figure 4 – Under “Tools -> Add-ins” turn on “Time Data Editor-Standard”
An editing toolbar is added above the strip chart display in the ‘Time Data Selection’ worksheet as shown in Figure 5.
Figure 5 – After selecting “Time Data Editor” under “Tools -> Add-ins” an editing toolbar is added to the ‘Time Data Selection’ worksheet
The editing toolbar has several icons, each which corresponds to a particular editing operation.
To remove the spike, first highlight the appropriate time trace in the data set area on the left of the screen. Then in the Overview display, click and drag the segment around the spike. This can be seen in Figure 6.
Figure 6 – Highlight trace and click and drag segment around the spike to be removed
Now the editing operation can be performed. Press the [R] button and the spike is replaced by a line as shown in Figure 7.
Figure 7 – After pressing the [R] button the spike is removed
There are a few things to note during this operation. There is a settings button in the upper right of the screen. Pressing the settings button will toggle it on and off:
ON - When the settings button is on, pressing a edit operation button opens a dialog box with additional settings. For example, for the [R] replace operation instead of a line, the data can be replaced with a curve.
OFF – When the settings button is off, the dialog box is not displayed and the last settings are used.
The settings button and dialog box are shown in Figure 8.
Figure 8 – There are buttons in the upper right for settings and undo/redo
There are some other useful and important features when editing:
REDO/UNDO - There is also “Redo” and “Undo” buttons for the edit operations as shown in Figure 7. These can be particularly useful when doing a delicate operation to remove spikes.
SAVING - When satisfied with the edit operations, press the “Save” button in the middle of the left side. This will save the changes permanently and overwrite the current data. If preserving the original data is desired, press the “Save As…” button instead.
When replacing a spike by a line, any torsional RPM fluctuations that were in the data are removed and replaced by a line. So while this edit operation is good for preserving the overall RPM for tracked data processing, it would not be recommended for torsional vibration analysis.
Removing RPM Spike at Same Location in Each Revolution
Another type of spike anomaly in RPM occurs at the same angular position within each rotation. This can be caused by slight imperfections in a particular stripe. This type of RPM spike is shown in Figure 9.
Figure 9 – RPM anomaly at same angular position during rotation
In the "Time Signal Calculator" there is a dedicated function called ‘TACHO_MOMENTS_SPIKEREMOVAL_TO_RPM’ to eliminate spikes in RPM on a per revolution basis.
To activate this function, select “Time Signal Calculator” under “Tools -> Add-ins” from the main Simcenter Testlab menu as shown in Figure 10.
Figure 10 – Under “Tools -> Add-ins” select “Time Signal Calculator”
After the Time Signal Calculator appears in the worksheet, press the ‘f(x)’ button in the Time Signal Calculator interface as shown in Figure 11. Select the ‘Tacho’ group of functions from the left side of the dialog box and find the function TACHO_MOMENTS_SPIKEREMOVAL_TO_RPM, and then press “OK”.
Figure 11 – Use the ‘f(x)’ button to select the RPM spike removal function from the Tacho functions
Several settings can be made in TACHO_MOMENTS_SPIKEREMOVAL_TO_RPM dialog box as shown in Figure 12. These settings are explained further at the end of this article.
After pressing OK, the spike removal is performed and a new trace is generated as shown in Figure 13.
Figure 13: Spike removal before (red) and after (green)
The spikes detection is based on statistical properties of the average speed between pulses inside the running window. The running window is defined as a specific number of pulses, which by default corresponds to one revolution, but can be user adjusted. A Median Absolute Deviation (MAD) of the pulses within the window is calculated and used to evaluate if any of the pulses are outliers. This process is outlined in Figure 12.
Figure 12: Spike removal algorithm flow chart
Some more explanation on the settings used for the TACHO_MOMENTS_SPIKEREMOVAL_TO_RPM function shown in Figure 10:
Function1: Enter channel number (CH1, CH2, etc) or channel name (Tacho, etc) that corresponds to input tachometer channel.
Pulses_per_rev : Defines the number of pulses per revolution. By default (0), the software used the tachometer definition used during data acquisition. This setting is rarely changed.
Spike_detection_window: Size in pulses of the moving average window used for the spike detection. By default (0), the moving average window corresponds to one rotation.
Spike_detection_threshold: Minimal amplitude of a spike relative to the moving average. Default = 3.5. Typical values range from 2 (low threshold) to 100 (high threshold).
Pulse_rejection_mode: Default = 0: Optimal algorithm, remove the minimal number of pulses maintaining as much as possible the frequency or torsional content of the original signal; 1: more extreme algorithm removing all pulses which give a rotational speed spike exceeding the threshold.
Additional_pulse_rejection: Default = 0: remove only the detected wrong pulse; 1: remove the detected wrong pulse and the previous one; 2: remove the detected wrong pulse and the next one; 3: remove the detected wrong pulse, the previous and the next ones.
Function2: The resulting RPM trace will have a sampling rate equivalent to the channel specified. If left at DEFAULT, the sampling rate will be the same as Function1.
The RPM spike tool is intended to remove spikes that occur regularly per cycle. There are other corrections that are similar, but different:
Zebra Tape Correction: This tool is not intended to do zebra butt joint correction. In a zebra butt joint correction, all the pulses must be corrected and redistributed evenly around the shaft. In the case of a RPM spike correction, there are only a few stripes or pulses with errors per cycle, so a localized correction is needed. In some cases, both correction methods may need to be used.
Missing Pulse: Sometimes an encoder may be missing a pulse, for example one tooth on a 36 tooth gear could be missing. This also creates a abrupt change in rpm. The missing pulse correction feature is helpful for tackling this problem.
This RPM spike removal tool was introduced in Revision 17.
Measuring RPM accurately is not always straightforward, but many common RPM errors can be corrected using the appropriate post analysis tools.