Zpracování spojitého signálu přes ATmega – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Zpracování spojitého signálu přes ATmega – Assembler – Fórum – Programujte.comZpracování spojitého signálu přes ATmega – Assembler – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
w-e-w-e0
Duch
4. 3. 2014   #1
-
0
-

Zdravím všechny,

potřeboval bych poradit, budu snímat EKG, a potřeboval bych ho dále zpracovávat, ale mimo PC, jako, že bych v něm potřeboval detekovat maxima a z počtu maxim pak něco vypočítat, šlo by to dělat přes ATmega168???

V tomhle jsem teĎ začátečník....

Nahlásit jako SPAM
IP: 77.48.160.–
Reklama
Reklama
hlucheucho+10
Posthunter
4. 3. 2014   #2
-
0
-

Záleží na složitosti výpočtu a počtu vzorků signálu, které budeš zpracovávat. U EKG bude vzorkovací frekvence ADC asi odvozená od tepové frekvence. Průběh je neharmonický, takže je třeba určit, kolik vyšších harmonických snímat. Z nejvyššího kmitočtu se pak odvodí nejmenší možná vzorkovací frekvence ADC. Je vhodné zvolit vyšší vzorkovací frekvenci než je minimum. Z počtu vzorků za sekundu a délky zpracovávaného záznamu určíš velikost paměti. A ze složitosti výpočtu a objemu zpracovávaných dat určíš potřebný výkon CPU. Že jsi poskytl málo konkrétních informací, nedá se jednoznačně odpovědět. Naprogramovat to v assembleru bude dřina, má to jednu výhodu: dobře napsaný program v assembleru umí nejlépe využít možnosti hardware. Pochybuji, že jako začátečník dovedeš tuto výhodu zúročit. Možná by bylo vhodnější programovat v C a adekvátně navýšit HW prostředky.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
w-e-w-e0
Duch
4. 3. 2014   #3
-
0
-

#2 hlucheucho
Potřeboval bych to zpracovávat online. Signál mám ořezanej, že mě tam zůstavají největší výchylky (nevím jak se moc v EKG orientuješ, ale zůstanou mi tam jenom QRS komplexy). Potřeboval bych detekovat maximum a počítat maxima po určitou dobu, tak abych z nich mohl odvodit tepovou frekvenci, což je jedno násobení, takže výpočet to moc složitej nebude. Mám v plánu to programovat v C, ale jak říkám, tak s tím teprve začínám. Jenom potřebuju vědět, jestli je ten A/D převodník co je uvnitř dostatečně dobrej, aby šlo EKG v pohodě zpracovat (rozsah signálu je od 14 do 18 Hz, největší výkon QRS) a vzorkovačku bych teda potřeboval minimálně 40 Hz, jestli dobře počítám. 

Nahlásit jako SPAM
IP: 77.48.160.–
hlucheucho+10
Posthunter
4. 3. 2014   #4
-
0
-

Asi jsi měl jít do konference Mikrokontroléry.

Pro určení tepové frekvence bych měřil dobu mezi maximy (periodu signálu) a frekvenci počítal. Na určení maxima signálu by 10-bitový převodník mohl stačit. Signál budeš muset zesílit na úroveň několik V. Zde asi bude šum úhlavním nepřítelem.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
w-e-w-e0
Duch
4. 3. 2014   #5
-
0
-

#4 hlucheucho
Díky za rady...jj, všiml jsem si, že jsem to přidal do špatnýho fóra. Nicméně signál budu zesilovat a teprve následně po průchodu zesilovačem a filtrací, bych ho načítal do ATmega, kde už by probíhala detekce, ještě jsem se chtěl zeptat ohledně výstupu, rád bych tepovou frekvenci zobrazoval na 7-segmentu nebo na nějakem displeji, to by asi neměl být problém, ale ještě potřebuju, aby se mě detekovaný maximum projevilo nějak na výstupu, např. když projde R vlny(maximum), tak se rozsvítí LED a pípne bzučák? Je nějak ATmega omezený, co se týče počtu výstupů...?? Díky

Nahlásit jako SPAM
IP: 2001:67c:1220:809::93e5:9...–
hlucheucho+10
Posthunter
4. 3. 2014   #6
-
0
-

Když si pročteš datasheet, zjistíš, že LED může budit přímo. Je důležité si dát pozor na součet proudů portu. U 3-mísného multiplexovaného LED bych použil spínací tranzistory pro společnou elektrodu (anodu nebo katodu). Pro větší odběr pípáku není problém použít taky pomocný tranzistor. Spolu s displejem se společnou katodou se nabízí použít tranzistorové pole např. ULN 2003.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
w-e-w-e0
Duch
4. 3. 2014   #7
-
0
-

Tak asi se budu nejdřív soustředit na to, jak detekovat ty maxima a zároveň na výstupu zobrazovat jejich průchod. To by měl být program tak na pár řádků. A tu tepovku budu řešit až poyději, protože to zobrazování je trochu složitější než jsem si myslel.

Nahlásit jako SPAM
IP: 2001:67c:1220:984f:d938:6...–
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, 234 hostů

 

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