HRV -> Mood
Dependencies: MAX30101 Hexi_KW40Z Hexi_OLED_SSD1351
Revision 5:a6b6d0e5a69f, committed 2019-03-16
- Comitter:
- jeannie9809
- Date:
- Sat Mar 16 03:46:22 2019 +0000
- Parent:
- 4:94190624967a
- Child:
- 6:ff1c3560db84
- Commit message:
- up till before extract times that are max
Changed in this revision
| 8cee5929f4d8/main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/8cee5929f4d8/main.cpp Sat Mar 16 03:37:33 2019 +0000
+++ b/8cee5929f4d8/main.cpp Sat Mar 16 03:46:22 2019 +0000
@@ -260,6 +260,36 @@
for(i = 0; i < num_samples; i++) {
ppg[i] = ppg[i] - movave[i];
}
+
+ // smoothing curve
+ for(i = 1; i < num_samples; i++) {
+ ppg[i] = ppg[i] + ppg[i-1];
+ }
+
+ // AMPD Algorithm
+ const int kcap = 25;
+ int m[kcap][num_samples];
+ for(int k = 0; k < kcap; k++) {
+ for(i = 1; i < num_samples; i++) {
+ if(i-1 < 0 || i-k-1 < 0 || i+k-1 >= num_samples)
+ m[k][i] = 0;
+ else if(ppg[i-1] > ppg[i-k-1] && ppg[i-1] > ppg[i+k-1])
+ m[k][i] = 1;
+ else
+ m[k][i] = 0;
+ }
+ }
+ int max_mult[num_samples];
+ for(i = 0; i < num_samples; i++) { // max_mult = m(1,:)';
+ max_mult[i] = m[0][i];
+ }
+ for(int k = 1; k < kcap; k++) {
+ for(i = 0; i < num_samples; i++) {
+ max_mult[i] = max_mult[i]*m[k][i];
+ }
+ }
+
+
}
// main() runs in its own thread in the OS