This project demonstrates how to use MATLAB's Diagnostic Feature Designer and Classification Learner to diagnose multiple mechanical faults in a triplex reciprocating pump based on flow and pressure signals.
Triplex pumps are commonly used in chemical processing and fluid transport applications. Early fault detection is critical for ensuring safety and reliability. This project builds a machine learning–based diagnostic system using:
- Simulated multi-class fault data
- Feature extraction (time and frequency domains)
- Feature ranking (ANOVA)
- Classification using SVM and others
The dataset includes 240 samples under various fault conditions:
| Fault Code | Meaning |
|---|---|
| 0 | No fault |
| 1 | Increased bearing friction |
| 10 | Blocked pump inlet |
| 100 | Leaking pump cylinder |
| 101, 110… | Combinations of multiple faults |
- MATLAB (R2022b+)
- Diagnostic Feature Designer
- Classification Learner App
- Signal Processing Toolbox
- Statistics and Machine Learning Toolbox
Grouped raw flow signals by faultCode using Signal Trace. Raw data overlaps significantly between fault types, necessitating feature engineering.
Extracted features like:
- Mean
- Standard deviation
- RMS
- Peak-to-peak amplitude
Applied separately on flow and pressure signals.
Used autoregressive spectrum estimation (order 20) between 23–250 Hz. Extracted:
- Spectral peaks
- Modal coefficients
- Band power
Visualized feature distributions to evaluate separation across fault types.
Top-ranked features:
- Flow RMS
- Pressure Mean
- Pressure RMS
Trained multiple classifiers using Classification Learner with 5-fold cross-validation. Best model: SVM with ~79% validation accuracy.
- Raw sensor signals alone are not sufficient for fault separation.
- Frequency-domain features (especially spectral peaks) are highly informative.
- SVM outperformed other models (e.g., KNN, decision trees) in fault classification.



