RRespP v.2
|
ÚvodPůvodní práci najdete zde.
Jak si můžete přečíst na původních stránkách podařilo se nám v minulosti implementovat základní filtrační principy, za účelem odstranení vlivu RSA na RR-intervaly.
Problémem však stále zůstávalo především předzpracování signálů, a jak se později ukázalo (a zřejmě jěště ukáže) i některé části implementace filtrů.
Pokračování...Blokové schema cele filtrace je na tomto obrázku.Zatím si popíšeme pouze cást týkající se úpravy signálů. Pro úpravu signálu respirace jsou vytvořeny dvě funkce. První lindtpp, neboli funkce na odstranění lineárního trendu ze signálu. odstranovani linearniho trendu function [sig]=lindtpp(sig,metyp); vstup sig ... vstupni signal metyp ... typ pouzite metody meanp ... metoda zalozena na strednich hodnotach zacatku a konce signalu linap ... metoda aproximace polynomem (?) vystup sig ... signal bez linearniho trendu Druhou funkcí je medfilt, což je medianový filtr. Který podle dalších zkušeností je zcela k nezaplacení při vyhlazování průběhu dechového signálu. medianovy filtr function [sig]=medfilt(sig,rad); pokud neni zadan rad voli se automaticky Třetí a nejčerstvější funkcí ovšem pro úpravu RR intervalů je dextrem, která má více způsobů odstraňování extrémních hodnot. Jak je jistě známo, při jakémkoli zpracování signálů dochází k chybám - vzniku extrémních hodnot vlivem šumu převodníku, popř. jiným chybám způsobujících vznik nesmyslných hodnot v nasnímaném signálu. V našem případě se ukázalo, že takováto chyba může zásadním způsobem ovlivnit výsledek. funkce provede odstraneni extremu vzniklych bud pretecenim prevodniku nebo vlivem chyb ve vzorkovani v signalu xx = function dextrem(yy,action); yy ... vstupni signal xx ... vystupni signal action ... stac - vstup signal rrintervalu, jiz interpolovaneho neek - vstup signal rrintervalu, neekvidistantni rada K nemalým změnám došlo také ve vlastní funkci RRespP, jak je patrné již z následujícího výpisu: function [rr,r2,fs,rr1,mrr1,srr1,rr2,mrr2,srr2]= =rrespp(resp,rr,klepani,antype,fsresp,fsrr,fsklp,intl,intr); VYSTUP rr - puvodni vstupni signal rr ovsem muze byt prevzorkovan! r2 - rr ocistene, nezprumerovane fs - vzrokovaci frekvence na kterou se prevadeli vsechny zpracovavane signaly rrX - RR interval prumerovany mrrX - stredni hodnota srrX - rozptyl X=1 vstupni, X=2 odfiltrovana zavislost RSA VSTUP resp - dychani rr - RR intervaly klepani - budici impulsy pokud nebudou zadany dale uvedene parametry vezmou se defaultni: antype='reg', fsresp=10, fsrr=10, fsklp=1024, intl=10, intr=10 antype - 'reg'=regresni analyza, 'lms'=LMS algoritmus fsresp - vzorkovaci frekvence dechu fsrr - vzorkovaci frekvence rr intervalu fsklp - vzrokovaci frekvence klepani intl/r - interval -Sekund a +Sekund kolem budiciho impulsu kde se ma pocitat RR-RSA Pokud nez~a'da'te vystupni parametry jsou vykresleny grafy Pokud je definovana globalni promenna debugg(==1) je vypsano a vykresleno mnozstvi debuggovacich informaci Pokud je definovana globalni promenna dextrm(==0) neodstranuji se ze signalu extremni hodnotyTato funkce je velmi komplikovaným filtračním srdcem balíku a měla byt provádět ono, tolik vytoužené, odstranění RSA. Měla by...
Funkce grafického rozhranníPro přehlednější a snažší způsob analýzy většího množství signálů bylo vyvinuto přívětivější uživatelské rozhraní.Z popup menu lze snadno vybrat typ analýzy, kterou chcete aplikovat a skupinu na kterou má být aplikována. Radiobutton Debug slouží k zapnutí podrobnějšího grafického a textového výstupu. Pokud "zapnete" Debug, bude vypadat vase obrazovka zhruba takto. fcrr=0.5 je zapnutí frekvenční omezení vstupních signálů pomocí DP REMEZ 60 řádu s fc=0.5Hz, která se nakonec ukázala v celku užitečná. |
Komunikaci uživatelského grafického rozhraní s jednotlivými funkcemi zajišťuje v tomto případě fce main2_4862.
ZávěrJak bylo již napáno výše, RRespP je v součastnosti již poměrně velký soubor funkcí a je v něm možné ovlivňovat velké množství parametrů. RRespP si tedy postupně hledá svou cestičku skrz spletitou změť signálů a šumů. Nutno přiznat, že ani dnes nejsou výsledky optimální, ale to je proto, že předchozí úlohu se v podstatě podařilo splnit a dnes zpracováváme opět novější data, v několikanásobně vetším rozsahu.Archiv souboru funkcí. |