How can I reduce false positives in vibration anomaly detection on an AVR128DA48?

I'm still on the project tho where I've installed a vibration sensor to monitor industrial machinery using an AVR128DA48 microcontroller. While my basic anomaly detection code is functioning,
if (vibration_data > threshold) {
alert();
}
if (vibration_data > threshold) {
alert();
}
it tends to produce too many false positives. Given the limitations of the microcontroller, I'm looking for a more refined algorithm to improve the accuracy of detecting anomalies in the vibration data. Any suggestions on how to enhance my approach?
5 Replies
ZacckOsiemo
ZacckOsiemo•2mo ago
Look into signal processing and reducing noise with it.
Dtynin
Dtynin•2mo ago
hey guys I was able to get a lead on this, I implemented a sliding window averaging technique, which smoothed out the vibration data over a short period, reducing the impact of sudden spikes that were causing false positives.
Dtynin
Dtynin•2mo ago
By averaging the readings before comparing them to the threshold, I was able to improve detection accuracy
Dtynin
Dtynin•2mo ago
I also introduced a derivative-based approach to monitor the rate of change in vibration, which helped me detect sharp increases rather than just focusing on absolute values.
Dtynin
Dtynin•2mo ago
Also, I adjusted the threshold based on normal operating conditions, ensuring the system was less sensitive to minor fluctuations and better at detecting true anomalies😤😤
Want results from more Discord servers?
Add your server