Documentation
Vibration Post-Processing Module
vibEngine.jar© for Android™
- Version: 1.01
- Author: David Bukowitz
- Created: 11 Jun, 2021
- Update: 28 Oct, 2021
If you have any questions that are beyond the scope of this help file, Please feel free to email via info@rotovibes.com
Description
vibEngine.jar© is an Android™ library that contains experienced methods for vibration data post-processing, such as:
Installation
Follow the steps below to install the vibEngine.jar library
- In your projects top bar menu, select >File >New >New Module... A new window will appear, select "Import .JAR/.AAR Package" from the options
- In the new popup window browse and select the vibEngine.jar library and click on "Finish"
- The vibEngine library will appear on the right
- in your App build.gradle add the following dependency
...
dependencies {
...
implementation files('libs/vibeEngine.jar')
}
...
Library Anatomy
- Signal Processing Modules (selected samples)
...
//Time-Domain Overall
public static double timeDomainOverall (double[] signalArray, int dataSize)
//Frequency-Domain Overall
public static double frequencyDomainOverall (double[] spectrumArray, int spectrumSize)
//Frequency-Domain Overall (bins)
public static double frequencyDomainBandOverall (double[] spectrumArray, int startFreqBin, int enFreqBin)
//Frequency-Domain Overall (Hz)
public static double frequencyHzDomainBandOverall (double[] spectrumArray, int samplingRate, int numberOfSamples int startFreq, int enFreq)
//FFT for Acceleration raw data
//integrationType: 0->Acceleration, 1->Velocity, 2->Displacement
public static double[] fft_calc (double[] rawData, int samplingRate, int numberOfSamples, int integrationType)
//Frequency-Domain Windowing
//windowType: 0->None, 1->Hanning, 2->Hamming, 3->Blackman, 4->Nutall, 5->Flat-Top
public static double[] spectrumWindowing (double[] spectrumArray, int spectrumSize, int windowType)
//Time-Domain Filters
//filterType: 0->None, 1->Low-Pass, 2->High-Pass
public static double[] filteredSignal (double[] signalArray, int dataSize, int filterType)
//Time-Domain DC-removal
public static double[] dcRemoval (double[] signalArray, int dataSize)
//Overall Velocity from Acceleration raw data
//isMetric: true->Metric (mm/s), false->Imperial (ips)
//isRms: true->rms, false->peak
public static double overallVelocityFromAccTWF (double[] rawData, int samplingRate, int numberOfSamples, boolean isMetric, boolean isRms)
//Overall Displacement from Acceleration raw data
//isMetric: true->Metric (microns), false->Imperial (mils)
//isRms: true->rms, false->peak
public static double overallDisplacementFromAccTWF (double[] rawData, int samplingRate, int numberOfSamples, boolean isMetric, boolean isRms)
//Running-Speed (RS) estimator (RPM)
public static double rsEstimator (double[] rawData, int samplingRate, int numberOfSamples)
...
In your project import com.rotovibes.vibEngine.vibePostProc and use as follow:
...
import com.rotovibes.vibEngine.vibePostProc
...
//Sample to calculate overall Velocity from Acceleration raw data in mm/s rms
//isMetric: true->Metric (mm/s), false->Imperial (ips)
//isRms: true->rms, false->peak
Double overallVelocity = vibePostProc.overallVelocityFromAccTWF (rawDataArray, samplingRate, numberOfSamples, true, true)
...
Changelog
See what's new added, changed, fixed, improved or updated in the latest versions.
Version 1.01 (12 Jun, 2021)
- Updated Several Enhancements
Version 1.0 (28 Nov, 2011)
Initial Release for Android based on a previous C++ version