Condition Based Monitoring Statistical Functions
Condition Based Monitoring Statistical Functions
Ver 0.0.1
Created: 1/7/2019
Author: Sharkey, Tom
Last Modified: 7/1/2021
Modified by: Sharkey, Tom
Modes:
Terms used:
Data frame – Used to describe a set of 512 elements of “raw” time domain data. This is the amount of
data seen on the time series plot and so a data frame can be considered a basic unit, to which each
statistical formula is applied.
Data point – One element of “raw” time domain data, sent from a mote.
RPM – Revolutions per minute. Describes the rotational speed of the motor or vibration source being
measured. Converted to Hertz by dividing by 60.
PDF – Probability Density Function. A function of a continuous random variable whose value at any given
point can be interpreted as providing a relative likelihood that the value would equal that sample. Useful
visualisation of the spread of time series data values – also necessary to describe the effects of kurtosis
and skew factor on the data. See Figure 6.
Mathematical notation:
Measures the dominant frequency of the repetitive impulse period of certain faults
due to the contact between rolling elements and defective spot. Therefore, the type of
bearing defects such as outer race, inner race or ball defect can be detected [1] .
“Discrete” simply describes a computationally-efficient algorithm which involves
breaking up the time data into equally-spaced samples
Calculation The Fourier transform used is a fast Fourier transform performed on the embedded
used system i.e. the mote (C code).
Typical Figure 1 below shows typical values for DFT for an imbalanced motor at 2000 RPM.
values
Application The DFT plot is the most effective method of showing what source(s) of vibration are
acting on the mote in question.
The rotation of the motor is seen at lower frequencies, at the fundamental frequency
of the motor and integer multiples of this frequency.
Bearing faults constitute small spikes at high frequencies, which should also be visible
on this graph, if any are present.
Plot shown In Figure 1, the GUI plots the time and frequency data for a motor acting on an
imbalanced load at 2000 RPM. This evaluates to about 33.3Hz, which is the first large
spike seen in the figure. Additionally, the imbalance creates small frequency spikes at
integer multiples of this fundamental frequency.
Code See ARM math for extra info
https://www.keil.com/pack/doc/CMSIS/DSP/html/group__RealFFT.html#ga180d8b76
4d59cbb85d37a2d5f7cd9799
Figure 1: DFT data for 2000 RPM motor with imbalance
Included in program to give user more flexibility with calculation of statistics, and a
means of setting an alarm on the max value of acceleration that a mote should reach.
Calculation Compares largest value in each raw data frame to the current max. If it is larger, sets a
used new max.
Typical Vibration source dependent. Test motor did not exceed 0.6 g.
values
Application For user visualisation and setting of alarms.
Plot shown Figure 3 shows peak values for almost 40 data frames, quite steady around the 0.53g
value. Label on peak graph shows max value achieved over all data frames collected.
Code
Figure 3: Peak
P2P - Peak-to-Peak
Explanation Similar to peak value, but calculates amplitude from max to min, rather than
from zero value to max.
Calculation used Subtracts max time series value from min time series value achieved.
Typical values ~1g when measuring an imbalanced motor at 2000 RPM – will vary based on
motor used – should be approximately double peak value.
Application Not used in further statistical analysis. Useful for setting alarms on mote
values i.e. Set alarm to trigger if P2P exceeds 1g acceleration.
Plot shown Figure 4 shows peak-to-peak values for 25 data frames. Approximately 1.020
in value.
Code
𝑥𝑟𝑚𝑠
𝑁
1
𝑠= √ ∑(𝑥𝑖 − 𝑥 )2
𝑁−1
𝑖=1
Where xi is the current data point, 𝑥 is the mean, N is the number of data
points summed.
Typical values From testing – standard deviation values for our specific motor were around
0.335. This implies that most of the data lies between ±0.67 of the mean (0).
See “Chebyshev’s Inequality” for greater detail on this.
Application Standard deviation is used in conjunction with kurtosis to assess bearing
faults. Kurtosis is known to increase as a bearing fault develops, but this only
tells half of the story. Standard deviation describes how far points spread out
from the mean, and kurtosis indicates whether outliers are infrequent and
extreme (high kurtosis), or frequent and moderately sized (low kurtosis).
Plot shown Figure 6 describes the relationship between standard deviation in the normal
distribution and the percentage of data contained within each section. This
gives an approximation of the percentage of data contained within 1, 2 and 3
standard deviations.
Code
Figure 6: Standard Deviation for Normal Distribution [2]
Note: The standard deviation values shown in Fig.7 correspond to the width of the σ intervals in Fig.6. A
larger value of standard deviation would indicate a data distribution with values which are more spread
out from the mean.
Kurtosis
Explanation The “tailedness” of the data, kurtosis describes the “mass” of data contained
in the tails of the probability density function. Kurtosis indicates whether
outliers are infrequent and extreme (high kurtosis), or frequent and
moderately sized (low kurtosis).
The kurtosis displayed is the “excess kurtosis” which is the actual kurtosis
value minus 3. This causes the kurtosis value of the normal distribution to be
0.0. A distribution with larger and more infrequent outliers will have a higher
kurtosis. Such a distribution is “leptokurtic” – see Figure 8.
Calculation used Scipy.kurtosis given here:
https://github.com/scipy/scipy/blob/v1.3.0/scipy/stats/stats.py#L1137-L1214
Uses the second and fourth moments to calculate kurtosis
𝑋− 𝜇 4 𝜇4
𝐾𝑢𝑟𝑡[𝑋] = 𝐸 [( ) ]= 4
𝜎 𝜎
Where μ4 is the fourth central moment and σ is the standard deviation.
Typical values Kurtosis’ value for normal rolling element bearing (using the Fisher definition)
is 0.
Application Deviations from a zero value for kurtosis can be used to indicate a bearing
fault.
Plot shown Figure 8 shows the difference between positive and negative kurtosis, as
compared to a normal distribution which has 0 excess kurtosis
Code
[2] https://commons.wikimedia.org/wiki/File:Standard_deviation_diagram.svg
[3] http://www.columbia.edu/~ld208/psymeth97.pdf
[4] https://commons.wikimedia.org/wiki/File:Negative_and_positive_skew_diagrams_(English).svg