- When
- Oct 2023 – Dec 2023
- Type
- Coursework
What I built9
- Programmed an Android app measuring heart and breath rates.
- Suggested personalized workout routines using machine learning and Fuzzy Logic Control.
- Measured heart rate from the camera and flash: the fingertip changes colour with each pulse, so the signal is the mean red channel over time rather than anything the phone exposes as a sensor.
- Band-pass filtered the signal to the plausible human range before peak counting, since ambient light flicker and a shifting finger both land in the raw trace as convincing false peaks.
- Derived breathing rate from accelerometer motion at the chest, a far lower frequency band, so the two measurements do not contaminate each other.
- Rejected a reading rather than reporting a wrong one: low signal amplitude or an unstable peak interval returns try again, because a health number presented confidently is worse than no number.
- Used fuzzy logic deliberately over hard thresholds, since a resting rate of 79 and one of 81 should not produce two different workout recommendations.
- Tuned the membership functions against measurements taken alongside a commercial monitor, which is what turned the rules from a guess into something defensible.
- Kept every reading on the device, with no account and no upload, because heart-rate data does not need to leave a phone to recommend a workout.
Tools
- Android Studio
- MATLAB
- Machine Learning
- Java
Next projectE-Commerce Platform→