![]() 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 hodnoty
Tato 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í. |