A compression algorithm for realtime ECG data transmission over BLE advertisements. Independently developed as a final project for my Wireless Protocols for IoT class, along with a research-style writeup. Development was done on the nRF52840DK, along with UC Berkeley's nrf52x-base repo https://github.com/lab11/nrf52x-base. Here are some stats I gathered on my own ECG recordings to help me create my algorithm. More information is in the writeup PDF.
Statistics on ECG Data:
Entire dataset:
Min: 209
Max: 541
Median: 356.0
Average: 347.4585
Difference between neighboring values:
Dif. Min: -108
Dif. Max: 113
Dif. Median: 0
Dif. Average: 0.03301650825412707
Statistics on ECG Data 2 (using EMWA):
Entire dataset:
Min: 319.0
Max: 367.97
Median: 344.91
Average: 347.23903
Standard Deviation: 7.314212036026435
Difference between neighboring values:
Dif. Min: -4.560000000000002
Dif. Max: 3.6000000000000227
Dif. Median: 0.06999999999999318
Dif. Average: 0.021400700350175075