This invention relates to analysis of machine vibration data. More particularly, this invention relates to a method for automatically determining a proper threshold for a tachometer signal in order to produce the desired tachometer pulses necessary for analysis of machine vibration data.
One of the most important characteristics of machine operation used in the analysis of vibration data is the rotational speed of the machine. Machine speed is often acquired from tachometer measurements. Accurate tachometer pulses are essential for applications such as order tracking, synchronous time averaging, single channel phase, Bode plots, and general turning speed calculations. Ideally, tachometer pulses are generated when illumination from a tachometer sensor passes over a section of reflective tape placed on a rotating portion of the machine, such as a rotating shaft. However, the shafts of most machines in industry do not have reflective tape. If they have reflective tape, often times the tape is covered with grime or has rubbed off or is otherwise damaged to some extent. Because a machine typically cannot be stopped in order to place reflective tape on the shaft, an analyst will collect tachometer data in hopes of getting a trigger from a keyway, a scratch on the shaft, or remnants of old reflective tape. The resulting tachometer waveform is typically noisy and small in amplitude and the tachometer pulses are not very distinctive.
An ideal tachometer waveform consists of a series of distinct pulses, wherein each pulse indicates a single revolution of the shaft. To generate a tachometer pulse sufficient for the applications mentioned above, a threshold is set such that a rising (or falling) edge of the tachometer signal triggers a pulse when it passes the threshold. This threshold is manually entered by an analyst. In an ideal situation, where reflective tape is present resulting in a strong tachometer signal, the chosen threshold value will generally be acceptable for all measurements. However, when reflective tape is not present, the level of the tachometer signal varies from one machine to the next and the necessary threshold will be different for each measurement.
What is needed, therefore, is an automatic method for calculating a proper threshold for a given tachometer signal in order to produce the desired tachometer pulses needed for machine vibration analysis.
The various embodiments of the invention described herein extract an event from data. The data of interest is generally characterized by a rapid change in a signal amplitude. By applying a derivative to the signal, these rapid changes in amplitude become more evident and are much easier to see and quantify. When evaluating tachometer signals associated with a machine being monitored, the rapid change in signal amplitude occurs at a rate substantially equivalent to the running speed of the machine. Such tachometer signals may be generated by various sources, including but not limited to laser, optical, eddy current, magnetic, and LED sources.
Embodiments of the invention can also be applied to vibration signals having repetitive and impulsive features. One example of an impulsive signal is a signal associated with a bearing defect. By taking the derivative of an acceleration waveform (sometimes referred to as a “jerk”), a threshold value can be calculated using an embodiment of the invention that extracts a repetitive signal associated with the impulsive characteristic generated from a defective bearing. Embodiments of the invention may be applied to any vibration waveform to extract information associated with impulse-driven information.
A preferred method embodiment begins by passing a tachometer signal through a low-pass filter to exclude high-frequency noise. Preferably, the low-pass corner frequency of the filter is 250 Hz, but depending on the signal the desired corner frequency may vary between 100 Hz and 1000 Hz. Next, a running derivative of the filtered tachometer waveform is taken. The resulting signal is referred to herein as the derivative waveform (“Deriv_WF”). A new waveform is then created that includes only positive values from the derivative waveform that correspond to positive values in the associated low-pass filtered tachometer waveform. This new waveform is referred to herein as Deriv>0_WF. In general, a tachometer signal has the greatest derivative value (slope) when a tachometer pulse is present. Based on this observation, preferred embodiments of the method derive a threshold value using both the low-pass filtered tachometer waveform and Deriv>0_WF along with statistics from both waveforms. In alternative embodiments, a Deriv<0_WF waveform is derived using only negative values in the associated low-pass filtered tachometer waveform. A negative threshold value may be calculated for negative going pulses such as generated by proximity probe tachometers.
In preferred embodiments, determination of the tachometer threshold value is based on finding a specified number of peaks in the Deriv>0_WF waveform and locating their associated peaks in the low-pass filtered tachometer waveform. Using a combination of statistics derived from both waveforms, one of three options will be selected:
Preferred embodiments of the method include:
Peaks representative of tachometer pulses in the raw tachometer waveform are determined from the peaks found in the Deriv>0_WF waveform. The Deriv>0_WF waveform consists of subsets or groups of positive peak values. (For example, in
Alternative embodiments of the method may employ a different statistical process, such as a mode, to find a frequently recurring family of peaks within the derivative waveform. For example, a statistical histogram, a cumulative distribution, or another probability density technique may be implemented to detect and identify a range of interest based on a mode or a most frequently recurring subset of data values within a population of data values from the derivative waveform.
Further advantages of the invention are apparent by reference to the detailed description in conjunction with the figures, wherein elements are not to scale so as to more clearly show the details, wherein like reference numbers indicate like elements throughout the several views, and wherein:
In the embodiment of
As depicted in
Once Filtered_WF is stable (after about the 50th sample), the root-mean-square (RMS) value of Filtered_WF is calculated (step 16), and the waveform is centered about the RMS value and then centered about zero with the RMS offset (DC offset) (step 18). The Crest Factor (CF) for Filtered_WF is then calculated according to:
This value is referred to herein as Filtered_WF_CF_RMS.
A running derivative of Filtered_WF is taken which is referred to as the Deriv_WF signal (step 22), wherein the zero value derivative point at the beginning is dropped. The Crest Factor (CF) for the Deriv_WF signal is calculated according to:
This value is referred to as Deriv_CF_RMS.
Using the Deriv_WF signal, a new waveform is created from the positive values in Filtered_WF that have only the positive derivative values (slopes). The new waveform retains all values that are greater than zero while setting all negative values (i.e. slope≤0) to zero (step 26). The resulting signal, referred to herein as Deriv>0_WF, looks like a “rectified” version of Deriv_WF, although this waveform is not actually rectified. Specifically, values greater than zero in Filtered_WF are determined, the slope of the resulting signal is calculated, and any slopes that are less than or equal to zero are set to zero. The mean value (μ) of the resulting signal is found and referred to as Deriv>0 Mean, and the standard deviation (σ) is found and referred to as Deriv>0_SD (step 28). In the preferred embodiment, values of zero are not used to calculate Deriv>0_Mean and Deriv>0_SD. In some embodiments, Deriv>0_WF is created in an opposite manner using only the negative slope of Deriv_WF, and the absolute value is taken of the resulting signal for further analysis.
The upper portion of
In a preferred embodiment, all peaks in Deriv>0_WF are found by one of three methods (step 30). Each method evaluates every group of points defined as a set of points (positive derivatives) bounded by zero:
The N number of largest peaks are then found in Deriv>0_WF (step 32). The value of N can be user-selected or calculated as described in a process performed in a preferred embodiment to calculate the number of peaks for analysis. Typically, N is 20 for one second of data at speeds greater than 1800 RPM. The largest of these N peaks is found and the Crest Factor (CF) for the Deriv>0_WF data is determined according to:
This value is referred to as Deriv>0_CF_RMS. When calculating the RMS value of the Deriv>0_WF, values of zero are included.
The N peaks found in step 32 are sorted by amplitude from largest to smallest (step 36), and any of the N peaks greater than the boundary of μ+σ are discarded as outliers (step 38). A statistical method used in a preferred embodiment to discard the outlier data is described in hereinafter (method 2). A Crest Factor for the remaining values is calculated according to:
This value is referred to as Adj_Deriv>0_CF_RMS. Preferably, the RMS calculation used for the Adj_Deriv>0_CF_RMS value does not incorporate the discarded peak values.
Next locations in Deriv>0_WF are determined where the signal crosses zero to the right of the peaks (
In preferred embodiments, the analysis used for threshold calculations is based on Filtered_WF data using either of two methods:
The ratio of the CF values found in steps 40 and 20 is expressed as:
If Adj/Filter_CF_RMS is greater than or equal to three (step 52) and no maximum peaks were discarded in Deriv>0_WF (step 53), then the Deriv>0_WF waveform is used as the signal from which tachometer pulses are derived. The tachometer signal threshold (step 54) is calculated from the Deriv>0_WF waveform. If maximum peaks were discarded in Deriv>0_WF (step 53), then a “bad data” indication is generated (step 55). If Adj/Filter_CF_RMS is less than three (step 52), then the Filtered_WF waveform is used to create tachometer pulses and as a basis to set the tachometer signal threshold (step 56). Whichever waveform is used to set the threshold is referred to herein as the “decision WF.”
Calculation of Threshold Value
The set of amplitudes (values) of the decision WF used to calculate the threshold limit are preferably within μ±2σ, where the mean and standard deviation are calculated from the set of values used in calculating Max_Diff and Max_Value (steps 46 and 48). Details of a statistical method for discarding data outside the limits is described hereinafter (Method 3 with n=2).
For calculations related to Max_Diff:
Max_Threshold=Max+Base Value (step 58);
and
Min_Threshold=Min+Base Value (step 60)
where
For calculations related to Max_Value:
Calculation of the Percent Difference Threshold (referred to herein as %_Diff_Threshold) indicates how much the difference between two values change from the average:
The Percent Mean Filtered Max Peak (referred to herein as %_Mean_Fltd_Max_PK) is the percent change in the amplitude values of the maximum peaks in the Filtered_WF data:
This parameter is the percent mean taken from the “N” maximum peaks of the Filtered_WF data, where N is either a user-selected number of peaks or is calculated as described hereinafter in a process that calculates the number of peaks for analysis. The mean and standard deviation are calculated for the set of maximum peak values taken from the Filtered_WF data.
If % Mean_Fltd_Max_PK from step 68 is larger than ten, then the data is considered “questionable.” This means the data “jumps” around too much and it is difficult, if not impossible, to set a realistic threshold. A threshold can still be calculated but will probably not be useful.
As shown in
Thrsh10=Min(Max_Threshold and Min_Threshold)−2*(|Max_T res old Min_T res old|) (step 74).
If %_Mean_Fltd_Max_PK is greater than ten (step 72), then:
Thrsh10=Min(Max_Threshold and Min_Threshold)−(|Max T res old Min T res old|) (step 76)
and the method proceeds to step 78.
If %_Diff_Threshold (calculated at step 68) is greater than 40 (step 78), then
where Threshold_multiplier is a user-selectable value between 0 and 1 (step 80). In preferred embodiments, the value used is 1. If % Diff_Threshold (calculated at step 68) is less than or equal to 40 (step 78), then the method proceeds to step 82.
If %_Mean_Fltd_Max_PK is greater than or equal to 0.5 (step 82), then
Threshold=Thrsh10 (step 84).
If %_Mean_Fltd_Max_PK is less than 0.5 (step 82), then
Threshold=0.67*Min(Max_Threshold and Min_Threshold) (step 86).
Generally, %_Mean_Fltd_Max_PK is less than 0.5 when data is very steady and the values of the peaks are all about the same amplitude.
Referring back to step 52 of
Threshold=0.5×Min+Min base value (step 90).
If % Diff_Threshold is greater than 40 (step 88), then
Threshold=Min_Threshold (step 92).
It should be noted that if peaks are discarded, then there are peaks in the original “number of peaks for analysis” which are statistical outliers (values greater than μ±nσ).
Referring again to step 52 of
Threshold=μ+2σ (step 94)
where μ and σ are calculated from the N peaks of the Deriv>0_WF waveform.
Tables 1 and 2 provide a summary of the threshold calculation.
Adj_Deriv > 0_CF_RMS
Method to Determine the Number (N) of Peaks for Analysis
Following is a preferred embodiment of a routine for determining the number of largest peaks in a given waveform necessary to effectively evaluate data for determination of a threshold level. To calculate the number peaks (N) for analysis:
If (Filter_WF_Kurtosis>Deriv_CF_RMS) AND
(Deriv>0_CF_RMS>Deriv_CF_RMS) AND
(Deriv>0_CF_RMS>Filter_WF_Kurtosis) THEN
Peak Multiplier=1.5
Else
Peak Multiplier=0.75
Endif
N=[Integer value (rounded up) of ((Peak Multiplier)×(Cycles of RPM))]
where:
Methods for Sorting Out Statistical Outliers
The following routine takes an array of data values and discards values outside the statistically calculated boundaries. In a preferred embodiment, there are four methods or criteria for setting the boundaries.
Method 1: Non-Conservative, Using Minimum and Maximum Statistical Boundaries
Consider an array of P values (or elements) where P0 represents the number of values in the present array under evaluation. Now let P−1 represent the number of values in the array evaluated a single step before P0, let P−2 represent the number of values in the array evaluated a single step before P−1, and let P−3 represent the number of values in the array evaluated a single step before P−2.
Step 1:
While evaluating the array of values for either the first time or P0≠P−1,
Step 2:
Step 3:
If P0=P−1=P−2, and P−2≠P−3, then
Method 2: Non-conservative, Using Maximum Statistical Boundary Only (No Minimum Boundary)
Use the same procedure as in Method 1 except only values exceeding the upper statistical boundaries are discarded. The minimum boundary is set to zero.
Method 3: Conservative, Using Minimum and Maximum Statistical Boundaries
Discard values based on Method 1, Step 1 only.
Method 4: Conservative, Using Maximum Statistical Boundary Only (No Minimum Boundary)
Discard values based on Method 1, Step 1 only and based on values exceeding the upper statistical boundaries. The minimum boundary is set to zero.
Example of Method 1 for Sorting Out Statistical Outliers
As an example of the sorting Method 1, consider an original set of values, P0, containing the 21 values listed below in Table 3 below, with n=1.
The mean (μ) of this original set, P0, is 0.54955 and standard deviation (σ) is 0.13982. Therefore, in Step 1 of Method 1,
Since 0.25442 is greater than 0.1, calculate
μ−nσ=0.54955−1*0.13982=0.409735
and
μ+nσ=0.54955+1*0.13982=0.689373.
Next, define the set P−1=P0 and define a new set P0, the values of which are all the values of P−1 that are between the values μ+σ=0.689343 and μ−σ=0.409735. The set P0 now contains the values listed below in Table 4, wherein three outlier values have been eliminated.
Since P0≠P−1, Step 1 is repeated, where for the set P0:
Now define the set P−2=P−1, and P−1=P0 and define a new set P0, the values of which are all the values of P−1 that are between the values μ+α=0.571797 and μ−σ=0.432887. The set P0 now contains the values listed below in Table 5, wherein four more outlier values have been eliminated.
Since P0≈P−1, Step 1 is repeated, where for the set P0:
Since
If at any point in the calculations P0=P−1 and P−1≠P−2, then Step 2 would be executed instead of Step 1. In the example above, since P0≠P−1 for every iteration, only Step 1 was necessary for the calculations.
The foregoing description of preferred embodiments for this invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiments are chosen and described in an effort to provide the best illustrations of the principles of the invention and its practical application, and to thereby enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly, legally, and equitably entitled.
This nonprovisional patent application claims priority as a divisional of U.S. nonprovisional patent application Ser. No. 14/296,480, titled “Automatic Threshold Detection for Tachometer Signals,” which claims priority to U.S. provisional patent application Ser. No. 61/835,684, filed Jun. 17, 2013, titled “Automatic Threshold Detection for Tachometer Signals,” the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3789816 | Taplin | Feb 1974 | A |
3822402 | Vest | Jul 1974 | A |
4228396 | Palombo | Oct 1980 | A |
5059901 | Van Voorhis | Oct 1991 | A |
H1006 | Zwicke | Dec 1991 | H |
5290205 | Densmore | Mar 1994 | A |
5369344 | Mezzatesta et al. | Nov 1994 | A |
5744723 | Piety | Apr 1998 | A |
6087796 | Canada et al. | Jul 2000 | A |
6234487 | Shoemarker, Jr. | May 2001 | B1 |
6618128 | Van Vorhis et al. | Sep 2003 | B2 |
7142125 | Larson et al. | Nov 2006 | B2 |
8368329 | Depew et al. | Feb 2013 | B1 |
20040133394 | Huang et al. | Jul 2004 | A1 |
20040236525 | Nelson | Nov 2004 | A1 |
20080177485 | Cohen | Jul 2008 | A1 |
20140324367 | Garvey | Oct 2014 | A1 |
Number | Date | Country | |
---|---|---|---|
20170160302 A1 | Jun 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14296480 | Jun 2014 | US |
Child | 15436925 | US |