LifeLink Logo LifeLink
English 🇬🇧 Početna

Dokumentacija LifeLink Algoritama

Ovaj dokument opisuje algoritme za obradu signala koji se koriste u LifeLink projektu za praćenje vitalnih funkcija i detekciju pada.

1. Puls i SpO2 (Bazirano na FFT-u)

Koristimo Brzu Furijeovu Transformaciju (FFT) za analizu fotopletizmogramskog (PPG) signala sa MAX30102 senzora. Ova metoda je robusnija protiv artefakata pokreta u poređenju sa jednostavnom detekcijom vrhova u vremenskom domenu.

Detalji Implementacije:

Koraci:

  1. Uklanjanje DC komponente: Oduzimanje srednje vrednosti signala.
  2. Prozorska funkcija: Primena Hann prozora za smanjenje spektralnog curenja.
  3. FFT: Izračunavanje kompleksnog FFT-a.
  4. Izračunavanje SpO2:
    • Ekstrakcija AC i DC komponenti:
      • DC komponenta: Konstantna apsorpcija tkiva i kostiju (0Hz magnituda FFT-a).
      • AC komponenta: Pulsirajuća apsorpcija arterijske krvi (magnituda na frekvenciji pulsa).
    • Izračunavanje odnosa (Ratio of Ratios):

      $$R = \frac{AC_{red}/DC_{red}}{AC_{ir}/DC_{ir}}$$

    • Finalna formula: Procenat se dobija linearnom (empirijskom) aproksimacijom:

      $$SpO_2 = 110 - 25 \times R$$

      * Kalibrisano za medicinski opseg 70-100% gde linearni fit nudi najbolji balans preciznosti i performansi.


2. Napredna Detekcija Pada (3-Fazni Model)

Detekcija pada koristi podatke sa QMI8658 IMU senzora i implementira mašinu stanja kako bi razlikovala stvarne padove od svakodnevnih aktivnosti.

Osnovni koncept: SVM (Signal Vector Magnitude)

Totalna G-sila se izračunava kao:

$$SVM = \sqrt{a_x^2 + a_y^2 + a_z^2}$$

3-Fazna Logika:

  1. Faza 1: Slobodan Pad:

    Detekcija gubitka težine (SVM < 0.6g). Sistem beleži referentnu orijentaciju ruke neposredno pre pada.

  2. Faza 2: Udarac (Impact):

    Nagli skok ubrzanja (> 3.5g) koji se mora desiti u roku od 500ms. Ovo odvaja padove od običnih udaraca rukom o objekte.

  3. Faza 3: Mirovanje i Provera Ugla:

    Sistem čeka 5 sekundi stabilnosti. Ako je korisnik miran, računa se promena ugla u odnosu na referentnu tačku iz Faze 1.

Verifikacija Orijentacije

Koristimo kosinusnu sličnost (dot-product) za izračunavanje promene nagiba:

$$\theta = \arccos\left(\frac{v_{ref} \cdot v_{curr}}{|v_{ref}| \cdot |v_{curr}|}\right)$$

Ako je $\theta > 60^\circ$ i detektovano je mirovanje $\rightarrow$ POTVRĐEN PAD.


3. Fuzija Senzora i Ograničenje Brzine