Školní projekt EKG - rada C – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Školní projekt EKG - rada C – C / C++ – Fórum – Programujte.comŠkolní projekt EKG - rada C – C / C++ – Fórum – Programujte.com

 

Ivo Vorek
~ Anonymní uživatel
4 příspěvky
2. 4. 2013   #1
-
0
-

Dobrý den

Dělám na školním projektu kde mám v C naprogramovat MCU Freescale HCS08. Podstatou je, že musím přes A/D převodník převést EKG signál do digitální podoby, to bych zvládl, ale následně v tomto EKG signálu musím detekovat tzn. R vlno, je to nevětší kmit signálu (pomocí toho se bude řídit simulátor defibrilátoru). Nenapadá vás jak by se to dalo detekovat?

A/D převodník je 10bit s postupnou aproximací,kdyby to bylo třeba

pro představu jak vypadá EKG signál a R vlna je zde obrázek

Prosím kdyby vás napadla nějaká funkce jak se dá ta R vlna (ta špička) detekovat, napište to sem :) Budu moc vděčný...

Nahlásit jako SPAM
IP: 158.196.129.–
KIIV
~ Moderátor
+43
God of flame
2. 4. 2013   #2
-
0
-

ja bych to videl na nejaky plovouci threshold (tak aby byly nad nim hlavne ty spicky R) a pak rozdily s predchozi hodnotou (nebo nekolik hodnot) tak aby se dal detekovat trend... neco jako ted roste, a ted to uz dvakrat po sobe ostre kleslo ...  (ale furt to muze detekovat i ty hrany v cervene sekci)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
2. 4. 2013   #3
-
0
-

Když se dívám na ten průběh pod tím, asi bych detekoval Q (záporná) R (velká kladná) a S(velká záporná). Jinak řečeno tam, kde po záporné jde kladná a po ní zase záporná. Detekovat jen kladnou nevypadá spolehlivě.

hu

Edit: přímku pro 0 bych asi získal ar. průměrem hodnot

Nahlásit jako SPAM
IP: 195.178.67.–
Ivo Vorek
~ Anonymní uživatel
4 příspěvky
2. 4. 2013   #4
-
0
-

Děkuji, ten průběh dole to jsou patologické svaty, moje nasnímané a zesílené EKG vypadá zhruba takhle (moje je čistčí ale nemám screen)

Toto jde do toho A/D převodníku. A je to snímáno ze simulátoru takže ten signál bude pořád stejný... Na internetu jsem se dočetl o vlnkové transformaci že se na to používá ale nejsem si jist jestli je to to pravé...

Každopádně děkuji za rady!!

Nahlásit jako SPAM
IP: 158.196.129.–
KIIV
~ Moderátor
+43
God of flame
2. 4. 2013   #5
-
0
-

#4 Ivo Vorek
ta vlnkova transformace by se musela otestovat.. co by z ni lezlo... mozna jednotlive sady frekvenci trosku vyhladit, aby nebyly takovy skoky (nastesti neni moc slozita), ale mozna by se musela delat v ramci nejake vhodne periody

EDIT: ale pokud to potrebujes detekovat hned, tak to vhodny nebude

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
voty+1
Návštěvník
2. 4. 2013   #6
-
0
-

#4 Ivo Vorek
No, jelikož se to předpokládám má vše počítat v tom jednochipu, tak bych to asi moc nesložitil a zkusil bych nejprve udělat nějaké jednoduché filtrování signálu, například pomocí klouzavého průměrování, které by signál trochu vyhladilo od různých nahodilostí, ale zachovalo užitečné informace (je potřeba zjistit asi metodou pokus omyl, jaké nastavení bude vhodné).

Následně by se mi jako nejjednodušší jevilo sledovat 1. derivaci signálu, ve které by se přechod Q-R-S měl docela pěkně projevit a měl by být dobře odlišitelný od P a T vlny.

No a když bych měl tohle hotové, tak bych se asi kouknul na data a zkusil jednoduchý detekční mechanismus, který by hledal v signálu posloupnost několika kladných a následně záporných derivací větší než nějaká experimentálně nalezená hodnota, která by měla být vidět z toho průběhu 1. derivace. To se dá udělat například tak, že se vyrobí ukázkový signál, kde se pak jednotlivé vzorky násobí s naměřeným signálem (pomocí klouzavého okna) a sčítají se (taková variace na Fourierovu detekci). V nějakém okamžiku, až ukázkový signál bude hodně podobný naměřenému, tak by měl součet vyletět do nějakých velkých čísel (opět nutno experimentálně ověřit jaká čísla z toho polezou).

Nahlásit jako SPAM
IP: 109.239.71.–
Jednu rozbil a tu druhou ztratil.
Tereza Nemcová
~ Anonymní uživatel
1 příspěvek
13. 10. 2014   #7
-
0
-

Chtěla jsem se zeptat, mám naprogramovat v C++ ekg a pomocí bluetooth nebo wifi přenést hodnoty, neposkytl by mi někdo program v C++ pro to EKG, prosím?

Díky moc :)

Nahlásit jako SPAM
IP: 2001:718:1001:2c9:b09e:22...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 148 hostů

Podobná vlákna

Školní projekt v C — založil sputnikone

Školní projekt — založil Honza

Školní projekt — založil Asimka

Školní projekt (Databáze) — založil Patrik Štěrba

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý