Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2015:bio-polygraph

Toto je starší verze dokumentu!


Detektor stresového stavu (lži)

Jakub Rusz
Jakub Milek

Úvod

Cílem projektu bylo sestavit detektor lži s pomocí vývojového kitu FRDM-K64F. Vstupní signály jsou záznam EKG a záznam dechové křivky z termistoru. Jako předzesilovače slouží měřící jednotky MP-35 od firmy Biopac. Zesílené nefiltrované signály jsou přivedeny na analogové vstupy procesoru. V processoru se EKG signál vzorkuje frekvencí 1 kHz a dechová křivka frekvencí 10 Hz. Filtrace je pomocí IIR filtrů. Výsledné vyhodnocení je posíláno přes sériovou linku do PC.

Použitý hardware

Měřící jednotka Biopack MP35 pro měření EKG.

Měřící jednotka Biopack MP35 pro měření dechové křivky.

Detail termistoru pro měření dechové křivky

Celkový pohled na workspace

Vstupní signály

EKG je elektrická aktivita srdce. Nejjednodušší způsob jak ji zaznamenat je pomocí tří elektrod na končetinách a tak je tomu i v našem případě. Zemnící elektroda je na pravé noze, kladná je na levém zápěstí a záporná na pravém zápěstí. Tyto elektrody vedou na jeden ze čtyř vstupních kanálů na měřící jednotce MP-35. Software v počítači zobrazuje filtrovanou a zesílenou EKG křivku a na výstup posílá pouze zesílený signál z vybraného vstupu. Signál je vyveden dvěmi dráty a přiveden na osciloskop pro vizualizaci a na analogový vstup A0 na procesoru. Tepová frekvence se určuje z doby mezi jednotlivými R vlnami, což signalizuje stah levé komory a vypuzení krve ze srdce do krevního oběhu. Tepová frekvence v tepech za minutu se určí jako 60/RR_interval.

Dechová křivka je zaznamenána pomocí termistoru, který je možné připojit k měřící jednotce MP-35. Termistor reaguje na změny teplot způsobené prouděním vzduchu při dýchání změnou svého odporu. Výsledkem jsou tedy změny úbytků napětí a to je opět vizualizováno softwarem na počítači a posíláno výstupem na osciloskop a analogový vstup A5 na procesoru. Dechová frekvece se určí podle periody dechové křivky, která připomíná sinusovku. Počet dechů za minutu je tedy 60/perioda.

Zesílení je v obou případech 5000. V průběhu práce bylo zkoušeno několik různých návrhů filtrů a přesné charakteristiky funkčních filtrů ve finální verzi byly ztraceny. Poslali jsme tedy na filtry Dirackův impuls a z výsledků filtrace jsme získali jejich impulsní charakteristiky. Filtrace EKG je pomocí pásmové propusti s mezními frekvencemi 10 Hz a 25 Hz. Filtrace dechové křivky je pomocí pásmové propusti s mezními frekvencemi 0.1 Hz a 1.2 Hz. Oba filtry jsou IIR typu Inverse Chebyshev (Chebyshev II).

Impulzní charakteristika filtru pro EKG

Impulzní charakteristika filtru pro dechovou křivku

Zpracování vstupních signálů

V první části programu je for smyčka, která má za úkol naučit se práh pro detekci R vlny v EKG signálu. Čtení i filtrování je po jednom vzorku v každé iteraci smyčky ve které je nastaven wait na 1 ms čímž je určena vzorkovací frekvece. Neni to tedy přesně 1 kHz, ale vzhledem k jednoduchosti příkazů ve smyčce dostatečně blízko této hodnotě. Z načtených dat se počítá obálka, která má okno o velikosti 7 vzorků, takže se začne počítat až po načtení sedmi vzorků. Při výpočtu obálky se z okna vybere maximum, umocní na druhou a to se uloží jako aktuální vzorek obálky. Tato inicializačni smyčka proběhne 10000x. Výsledný práh se pak vypočítá jako 40% ze 150ti maxim v této učící fázi.

V druhé části programu se určuje normální tepová i dechová frekvence. Před začátkem se spustí timer t pro potřebné výpočty. Smyčka je oproti té předešlé doplněna o zaznamenání času při prvním překročení meze a druhém překročení meze EKG obálky. Aktuální tepová frekvence se vypočítá jako 60/doba_mezi_detekcemi. Výsledná tepová frekvence se počítá jako průměr z posledních tří hodnot a ta se uloží. Pro frekvenci dýchání je zde podmínka, která nabere vzorek každých 100 ms což opět dostatečně odpovídá vzorkovací frekvenci 10 Hz. Zde se po filtraci detekují průchody nulou a čas se zapisuje pomocí timeru. Výsledná dechová frekvence je 60/T, kde T je doba mezi 1. a 3. průchodem nulou. Smyčka se ukončí po detekci 30ti tepů, vypočítá se průměr s nasbíraných dat a po serialu se vypíšou výsledné normální hodnoty.

V poslední části je nekonečná smyčka, která funguje jako ta předešlá, ale místo zaznamenávání normálu se detekuje překročení normálu o 5 tepů nebo dechů za minutu. V tom případě se po serialu vypíše, že došlo k překročení a o kolik.

2015/bio-polygraph.1453029254.txt.gz · Poslední úprava: 2016/01/17 12:14 autor: Jakub Rusz