Detekcja zmienności rytmu serca

Podobne dokumenty
1. ABSTRAKT WSTĘP KONCEPCJA PROPONOWANEGO ROZWIĄZANIA REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA...

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

Analiza zmienności rytmu serca (HRV). Analiza częstotliwościowa sygnałów próbkowanych niejednorodnie

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

PL B1. Sposób i układ pomiaru całkowitego współczynnika odkształcenia THD sygnałów elektrycznych w systemach zasilających

Automatyczna klasyfikacja zespołów QRS

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

przedmiot kierunkowy (podstawowy / kierunkowy / inny HES) obieralny (obowiązkowy / nieobowiązkowy) polski semestr VI

1.ABSTRAKT REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA...5 DODATEK C. OPIS INFORMATYCZNY PROCEDUR... 7

Język programowania C C Programming Language. ogólnoakademicki

1. ABSTRAKT REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA DODATEK C: OPIS INFORMATYCZNY PROCEDUR...

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

TOMASZ KRAUZE, PRZEMYSŁAW GUZIK*, HENRYK WYSOCKI* ZMIENNOŚĆ RYTMU SERCA: ASPEKTY TECHNICZNE. Streszczenie HEART RATE VARIABILITY: TECHNICAL ASPECTS

ANALIZATOR TOPAS 1000 (FLUKE 1760) POMIARY PARAMETRÓW JAKOŚCI ENERGII ELEKTRYCZNEJ

METODY INŻYNIERII WIEDZY

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Oprogramowanie Analizy Elektrokardiogramów dla Nauki i Edukacji

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

3. KONCEPCJA PROPONOWANEGO ROZWIĄZANIA DODATEK A: OPIS OPRACOWANYCH NARZĘDZI I METODY POSTĘPOWANIA...10

POMIARY I ANALIZA WSKAŹNIKÓW JAKOŚCI ENERGII ELEKTRYCZNEJ

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

METODY INŻYNIERII WIEDZY

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Projektowanie rozwiązania prostych problemów w języku C++ obliczanie pola trójkąta

Pomiary i analiza biosygnałów

ANALIZA JAKOŚCI ENERGII ELEKTRYCZNEJ ANALIZA WARUNKÓW ZASILANIA

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Tom 6 Opis oprogramowania

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.

Transformacja Fouriera i biblioteka CUFFT 3.0

Sylabus. Zaawansowana analiza danych eksperymentalnych Advanced analysis of experimental data

1.3. Zmienność rytmu serca (HRV) jako nowe narzędzie diagnostyczne w medycynie weterynaryjnej

Miernictwo dynamiczne Dynamic Measurement. Elektrotechnika I stopnia (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

Kompresja JPG obrazu sonarowego z uwzględnieniem założonego poziomu błędu

Transformacje Fouriera

7. Szybka transformata Fouriera fft

Inżynieria Środowiska. II stopień ogólnoakademicki. przedmiot podstawowy obowiązkowy polski drugi. semestr zimowy

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES)

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

JAKOŚĆ ENERGII ELEKTRYCZNEJ ZAPADY NAPIĘCIA

KARTA MODUŁU / KARTA PRZEDMIOTU

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

INFORMATYKA W SELEKCJI

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

Ćwiczenie 6. Transformacje skali szarości obrazów

Symulacja obliczeń kwantowych

PRZEWODNIK PO PRZEDMIOCIE

Teoria sygnałów Signal Theory. Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

PL B1. POLITECHNIKA WARSZAWSKA, Warszawa, PL

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

DYSKRETNA TRANSFORMACJA FOURIERA

Ćwiczenie 3. Właściwości przekształcenia Fouriera

PRZETWARZANIE CZASOWO-PRZESTRZENNE SYGNAŁÓW PROJEKT -2016

Elektrokardiografia dla informatyka-praktyka / Piotr Augustyniak. Kraków, Spis treści Słowo wstępne 5

Algorytmy detekcji częstotliwości podstawowej

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

TRANSFORMACJE I JAKOŚĆ DANYCH

AKADEMIA GÓRNICZO HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Międzywydziałowa Szkoła Inżynierii Biomedycznej. Raport końcowy projektu

Miernictwo dynamiczne Dynamic Measurement. Elektrotechnika I stopnia (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

KARTA MODUŁU KSZTAŁCENIA

Adaptacyjne Przetwarzanie Sygnałów. Filtracja adaptacyjna w dziedzinie częstotliwości

Opis efektów kształcenia dla modułu zajęć

Interaktywne wykresy. Interaktywne histogramy. Analiza granicznych wartości w zapisie EKG. Pełne dostosowanie do indywidualnych potrzeb

Przekształcenie Fouriera i splot

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Zastosowanie Informatyki w Medycynie

Egzamin / zaliczenie na ocenę*

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

2.2 Opis części programowej

Generowanie sygnałów na DSP

System detekcji i analizowania osobliwości w sygnale cyfrowym

PL B1. Układ do przetwarzania interwału czasu na słowo cyfrowe metodą kompensacji wagowej

PL B1. AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE, Kraków, PL BUP 15/15

PRZETWARZANIE SYGNAŁÓW

RAPORT KOŃCOWY 3. KONCEPCJA PROPONOWANEGO ROZWIĄZANIA DODATEK A: OPIS OPRACOWANYCH NARZĘDZI I METODY POSTĘPOWANIA... 14

SYMULACJA KOMPUTEROWA SYSTEMÓW

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

SYMULATOR EKG. Bartłomiej Bielecki 1, Marek Zieliński 2, Paweł Mikołajaczak 1,3

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Sygnały losowe i ich analiza. Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Laboratorium Inżynierii akustycznej. Przetwarzanie dźwięku - wprowadzenie do efektów dźwiękowych, realizacja opóźnień

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Technika audio część 2

Podstawy analizy danych numerycznych w języku Python

Modelowanie glikemii w procesie insulinoterapii

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Zadanie 1. Analiza Analiza rozkładu

Opis efektów kształcenia dla modułu zajęć

Instalacja Pakietu R

Podstawy Przetwarzania Sygnałów

LABORATORIUM Z FIZYKI

Transkrypt:

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Temat projektu: Przetwarzanie sygnałów w systemach diagnostyki medycznej PR04307 Detekcja zmienności rytmu serca Wykonali: Tomasz Jama Andrzej Gryboś Rok akademicki: 2010/2011, semestr zimowy Informatyka Stosowana V konsultant: dr hab. inż. Piotr Augustyniak v 1.4 Kraków, 01.19.2010

Spis treści 1.Abstrakt...3 2.Wstęp...3 3.Analiza złożoności i estymacja zapotrzebowania na zasoby...4 4 Koncepcja proponowanego rozwiązania...4 5. Symulacja i Testowanie...7 6. Rezultaty I wnioski...7 7. Podsumowanie...8 8. Literatura...8 Dodatek A: Opis narzędzi...9 Dodatek B: Dokumentacja techniczna...9

1.Abstrakt Pogram DetektorHRV analizuje zmienność rytmu serca (HRV) ma podstawie interwałów międzyuderzeniowych (odstepy RR) w trzech dziedzinach: Czasu za pomocą metod statystycznych Gemoetrycznej Częstotliwościopwej z wykorzystaniem FFT Udało nam się osiągnąć wszystkie założenia. Postawły program jest prosty i przejrzysty. Analiza zwraca poprawne wyniki i działa bardzo szybko. 2.Wstęp a) Cel Projektu Celem projektu jest zaimplementowanie algorytmu wyznaczania parametrów czasowych (statystycznych), częstotliwościowych i geometrycznych zmienności rytmu serca na podstawie sekwencji interwałów RR pochodzenia zatokowego. Implementacja powinna obsługiwać pojawienie się pobudzeń zastępczych oraz powinna być kompatybilna ze strukturami opisu sygnału EKG i sterującymi. b) Zarys ogólny proponowanego rozwiązania Do przeprowadzenia analizy zmienności rytmu serca w dziedzinie czasu metodami statystycznymi i gemoetrycznmi sami zaimplentowaliśmy odpowiednie działania matematyczne. Połączyliśmy je w jedną metodę aby zmniejszyć złożoność czasową programu. Do analizy częstotliwościowej wykorzystalismy dwie biblioteki: FFTW do przeprowadznia szybkiej transformaty fouriera ALGLIB do przeprowadzenia aproksymacji z użyciem funkcji sklejanej trzeciego stopnia c) Dyskusja alternatywnych rozwiązań Do obliczenia widma sygnału można było zastosować techniki autokorelacyjne, jednak ze względu na nasze większe doświadczenie z FFT i dużą ilość dobrych bibliotek zdecydowaliśmy się pozostać przy FFT.

3.Analiza złożoności i estymacja zapotrzebowania na zasoby Nasz program przeznaczony jest na PC i po skompilowaniu wraz z bibliotekami zajmuje niecałe 2 MB. Złożoność pamięciowa i czasowa wynosi O(n). Ze względu na to że jako dane wejściowe otrzymujemy już przetworzone wyjście innego modułu (analizy QRS) zapotrzebowanie na pamięć jest niewielkie. 4 Koncepcja proponowanego rozwiązania Nasz program wczytuje piliki z zapisami atrybutów zespołów QRS (qrs_attr.out). Interesuje nas w szczególności trzecia i piąta kolumna: lokalna wartosc interwalu miedzyuderzeniowego [ms] oraz typ morfologii. Po wczytaniu danych wywołujemy funcję analizastatgeo() która dokonuje analizy statystycznej i geometrzycznej. Połączylismy te dwie osobne części w jedną aby uniknąć niepotrzebnych przebiegów po danych. Statystyczne parametry które wyznaczamy: Ilosc calkowita zespolow qrs w zadanym odcinku czasu ilosc zespolow dominujacych w zadanym odcinku czasu usredniona wartosc interwalu RR [ms]: wariancja interwalow RR odchylenie standardowe interwalow RR (SDNN)

RR (RMSSD) Pierwiastek kwadratowy ze średniej kwadratów różnic pomiędzy dwoma interwałami Średnia z odchyleń standardowych interwałów RR w 5 minutowych segmentach czasu całego zapisu [ms] (SDANN index) Odchylenie standardowe ze wszystkich średnich interwałów RR w 5 minutowych segmentach czasu całego zapisu [ms] (SDANN) Liczba interwałów RR które przekraczają 50 ms (NN50) Odsetek róznic pomiędzy interwałami RR które przekraczają 50ms (p50nn) Gemoetryczne parametry: Indeks trójkątny ilość słupków w podstawie trójkąta histogramu odstepów RR rytmu zatokowego TINN długość podstawy trójkąta aproksymującego histogram kolejnych odstępów RR rytmu zatokowego Wyznaczenie parametrów częstotliwościowych jest bardziej skomplikowane i wymaga wcześniejszego przygotowania danych. Zaczynamy od odtworzenia ciągłej funkcji czasu na podstawie posiadanych danych. W tym celu korzystamu aproksymacji cubic spline z biblioteki ALGLIB. Nastepnie powstałą funkcję próbkujemy jednorodnie co 1s (1Hz). Na tak uzyskanym sygnale wykonujemy FFT i otrzymane dane przetwarzamy na wartości widma. Dzięku temu możemy dokonać pomiaru prametrów częstotliwościowych:

HF moc widma w zakresie częstotliwości wysokich (0,15 0,4 Hz) LF moc widma w zakresie częstotliwości niskich (0,04 0,15 Hz) VLF moc widma w zakresie częstotliwości bardzo niskich (0,0033-0,04 Hz) ULF moc widma w zakresie częstotliwości utra niskich (poniżej 0,0033 Hz) NHF Znormalizowana moc widma w zakresie częstotliwości wysokich NLF Znormalizowana moc widma w zakresie częstotliwości niskich LF/HF Wartość stosunku mocy LF/HF Otrzymane wyniki jednocześnie zapisujemy do pliku hrv_attr.out i wyświetlamy na standardowym wyjściu.

5. Symulacja i Testowanie Przy pomocy dostarczonej przez profesora bazy sygnałów holterowskich przetestowaliśmy nasz program na przykładowych zapisach. Uruchamialiśmy nasz program podając mu jako argument kolejne nazwy pliku z danymi QRS i zapisywaliśmy otrzymane wyniki. 6. Rezultaty I wnioski Uzyskane przez nasz program wyniki nie zawsze pokrywają się dokładnie z referencyjnymi, jednak różnice są raczej niewielkie. Przykładowe wyniki które uzyskaliśmy z próbek testowych: Illustration 1: Plik ah_21_1.dcm Różnice w analizie częstotliwościowej mogą być spowodowane wyborem innej metody tworzenia widma. Być może różnice w metodach statystycznych spowodowane są błędami numerycznymi i zaokrągleniami, jednak nie są to skomplikowane obliczenia.

Czasami różnice występują w dość prostych metodach i podejrzewamy że w plikach referencyjnych mogą występować błędy. 7. Podsumowanie Uważamy że spełniliśmy wszystkie założenia i program działa prawidłowo. Postaraliśmy się również aby program był dobrze udokumentowany i przejrzysty aby w razie potrzeby mógł zostać rozbudowany lub ulepszony w przyszłości. 8. Literatura [1] Augustyniak P., Przetwarzanie sygnałów elektrodiagnostycznych Uczelniane Wydawnictwa Naukowo-dydaktyczne AGH, Kraków, 2001. [2] Heart Rate Variability - Standards of Measurement, Physiological Interpretation, and Clinical Use, http://circ.ahajournals.org/cgi/content/full/93/5/1043 [3] Kenneth C. Bilchick, MD, Ronald D Berger, MD, PhD, Heart Rate Variability: Frequency Domain Measures of HRV, Johns Hopkins Medical Institutions, Baltimore, Maryland, USA [4] http://www.adinstruments.com/solutions/research/hrv/ [5] http://www.ncbi.nlm.nih.gov/pubmed/3812275 [6] http://www.ncbi.nlm.nih.gov/pubmed/10333974 [7] http://www.ncbi.nlm.nih.gov/pubmed/7987529 [8] http://przyrbwn.icm.edu.pl/app/pdf/118/a118z1p31.pdf [9] FFTW 3.2.2, http://www.fftw.org/ [10] ALGLIB 3.2.0 http://www.alglib.net/

Dodatek A: Opis Narzędzi Nasz projekt pisaliśmy w środowisku Code::Blocks w C++. Korzystaliśmy z kompilatora gcc w wersji 4.4.5 oraz następujących bibliotek: FFTW darmowa, bardzo szybka biblioteka do obliczania transformaty fouriera. ALGLIB darmowa biblioteka do analizy numerycznej, potrzebowaliśmy jej do przeprowadzenia interpolacji tachogramu. Dodatek B: Dokumentacja techniczna Detailed Description Klasa Detektor. Jest to glowna klasa programu. Wczytuje plik z danymi zalamkow QRS i dokonuje analizy HRV Constructor & Destructor Documentation Detektor::Detektor() Konstruktor. Nie potrzebuje zadnych parametrow Member Function Documentation void Detektor::analiz aczest ( ) Analiza Czestotliwosciowa. Dokonuje analizy czestotliwosciowej HRV na wczytanych wczesniej zalamkach QRS void Detektor::analiz astatgeo ( )

Analiza Statystyczna i Geometryczna. Dokonuje analizy statystycznej i geometrycznej HRV na wczytanych wczesniej zalamkach QRS Oblicza ilosc zespolow dominujacych w zadanym odcinku czasu void Detektor::loa dfile ( char * filename ) Metoda loadfile. Wczytuje podany plik z danymi QRS Przetwarza go do postaci wektora struktur QRS_ATTR Parameters: filename nazwa pliku w postaci tablicy znakow z jego nazwa