Embedded signal fault-detection laboratory
A completed embedded signal-processing study that detects hydraulic pump leakage from measured multirate sensor data under declared memory and compute limits.

Project definition
Problem statement
Hydraulic pump leakage changes the relationship between pressure, electrical power, and flow signals, but other component conditions can create nuisance variation.
The engineering problem is to detect three leakage states from bounded signal windows while preventing related operating conditions from leaking between validation folds.
Project objectives
- Prepare and verify the licensed UCI hydraulic condition-monitoring dataset.
- Extract six streaming-compatible time features from each selected sensor.
- Compare sensor suites and observation windows under grouped validation.
- Emulate classifier and input quantisation at several bit widths.
- Measure confidence rejection, sensor-loss sensitivity, model storage, working memory, and operation count.
Project structure
Project components
Dataset manager
Downloads, verifies, parses, and aligns the multirate hydraulic signals and condition labels.
Feature pipeline
Calculates mean, standard deviation, RMS, peak-to-peak, mean absolute delta, and delta standard deviation.
Grouped evaluator
Uses five-fold stratified group validation with fold-local scaling and training.
Quantisation study
Emulates classifier widths and ideal fixed-range ADC inputs without claiming physical hardware performance.
Deployment analysis
Calculates confidence coverage, sensor-loss effects, model bytes, working memory, and classifier operations.
Methodology
Project workflow
- 01Acquire
Download the pinned UCI archive and confirm its SHA-256 digest.
- 02Prepare
Align sensor cycles, select the stable primary subset, and retain nuisance-condition groups.
- 03Extract
Build bounded feature vectors from declared sensors and observation windows.
- 04Evaluate
Train and test every fold separately, then compare float and quantised predictions.
- 05Review
Trace tables and figures to retained CSV and JSON results and state the failure boundaries.
Demonstration scenario
Run the retained study, compare the four-sensor 20-second candidate with the sensor and window sweeps, inspect its float and 8-bit confusion matrices, then remove each required sensor to show where the proposed deployment becomes unreliable.
Engineering
Tools and method
- Tools
- The project uses Python, NumPy, SciPy, scikit-learn, Matplotlib, Jupyter for subject analysis, simulation, and results.
- Signal processing
- NumPy and SciPy prepare multirate measurements and bounded time-domain features.
- Classifier
- A compact scikit-learn logistic regression model provides interpretable multiclass scores.
- Validation
- StratifiedGroupKFold separates cooler, valve, and accumulator condition combinations.
- Embedded estimate
- Quantised coefficients and fixed feature state provide explicit flash, RAM, and operation estimates.
- Reproducibility
- Pinned packages, deterministic folds, automated tests, retained outputs, and Docker support repeat the study.
Testing
Evaluation
Evaluation measures
- 94.82 percent float accuracy and 94.81 percent balanced accuracy
- 94.34 percent 8-bit classifier accuracy with 99.10 percent float agreement
- 98.06 percent accepted accuracy at 88.75 percent coverage using a 0.65 confidence threshold
- Five sensor suites, four observation windows, four classifier widths, and four ideal ADC resolutions compared
- Estimated 276 bytes for model and scaling data, 316 bytes of feature state, and 72 classifier multiply-accumulates
- Required sensor-loss tests expose accuracy reductions to between 53.49 and 85.02 percent
Project boundaries
- The primary analysis excludes 756 cycles flagged as unstable by the source dataset.
- The ADC study is an ideal fixed-range emulation and is not proof of physical converter adequacy.
- Memory and operation values are analytical implementation estimates, not board measurements.
- The project does not include hardware, firmware, a certified diagnostic device, or a safety-control function.
- No information collected.
Included
- 01Measured 2,205-cycle hydraulic condition-monitoring dataset workflow
- 02Stable 1,449-cycle primary study with 48 nuisance-condition groups
- 03Streaming-compatible feature extraction for multirate sensor signals
- 04Sensor-suite, detection-window, classifier-width, and ideal ADC studies
- 05Five-fold grouped validation with float and 8-bit model results
- 06Confidence rejection, sensor-loss analysis, and embedded resource estimates
- 07Ten labelled project figures and three attributed literature images
- 08Twenty-nine automated tests with 97 percent branch coverage
- 09Complete source code, calculations, results, and analysis files in a private GitHub repository
- 10A 74-page project report in PDF and editable Word formats
- 11A 19-page setup and usage guide in PDF and editable Word formats
- 12Fifty annotated references
Project record
No information is collected on this page.
- Permanent project ID
- GP-EC-1PRZ799
- Catalogued
- 21 Aug 2026
- Completed
- 26 Aug 2026
- Verified
- 26 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.