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

Wielkość: px
Rozpocząć pokaz od strony:

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

Transkrypt

1 AKADEMIA GÓRNICZO HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE Międzywydziałowa Szkoła Inżynierii Biomedycznej Raport końcowy projektu Detekcja i synchronizacja reprezentacji uderzeń serca (zespołu QRS) z przedmiotu Dedykowane algorytmy diagnostyki medycznej Konsultant: dr hab. inż. Piotr Augustyniak Opracowali: Adrian Goral Piotr Tuczapski

2 Spis treści: 1. ABSTRAKT WSTĘP Cel projektu Czym jest elektrokardiogram? Automatyczna analiza sygnału EKG Detekcja zespołu QRS Zarys ogólny proponowanego rozwiązania KONCEPCJA PROPONOWANEGO ROZWIĄZANIA Moduł wstępnego przetwarzania danych Moduł decyzyjny REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA DODATEK A. OPIS OPRACOWANYCH NARZĘDZI I METODY POSTĘPOWANIA A1 Opis używania oprogramowania A2 Wymagania systemowe i sprzętowe aplikacji A3 Opis warunków testowania oprogramowania DODATEK B. REALIZACJA PROPONOWANEGO ROZWIĄZANIA DODATEK C. OPIS INFORMATYCZNY PROCEDUR C1 Opis głównych funkcji aplikacji C2 Struktury danych DODATEK D. SPIS ZAWARTOŚCI DOŁĄCZONYCH NOŚNIKÓW

3 1. Abstrakt Niniejsza dokumentacja stanowi opis projektu, w ramach którego opracowano narzędzia informatyczne realizujące jeden z etapów automatycznej analizy elektrokardiogramu detekcję i synchronizację zespołów QRS. Działanie zaprojektowanego modułu polega na wykryciu w dostarczonym sygnale EKG tzw. punktów detekcji QRS, w taki sposób, aby na każdą ewolucję serca przypadał dokładnie jeden taki punkt. Wykorzystywane w projekcie procedury detekcji zaimplementowano w języku C ++ z użyciem środowiska programistycznego Microsoft Visual Studio Prototypowanie, testy jakości na bazie danych (dostarczonej wraz z referencyjnymi punktami detekcji) oraz optymalizację używanych algorytmów przeprowadzono za pomocą narzędzi wykonanych na potrzeby projektu w środowisku NI LabVIEW. Jako element większego systemu prezentowane narzędzie korzysta z ujednoliconych struktur danych, zapisywanych do pliku tekstowego zgodnie z określonym standardem. Słowa kluczowe: EKG, QRS, Automatyczna analiza elektrokardiogramu, Detekcja zespołów QRS 3

4 2. Wstęp 2.1. Cel projektu Celem projektu było zaimplementowanie algorytmu detekcji QRS dla wieloodprowadzeniowego zapisu EKG. Projekt jest kompatybilny ze strukturami opisu sygnału EKG i sterującymi, które zostały wyszczególnione w dodatku C2. Komunikacja z pozostałymi projektami odbywa się poprzez pliki. Jakość detektora została przetestowana z użyciem baz danych dostarczonych przez konsultanta projektu. 2.2 Czym jest elektrokardiogram? Elektrokardiogram, zwany potocznie badaniem EKG, to najprostsze i najczęściej przeprowadzane badanie w diagnostyce chorób serca. Aparat EKG zapisuje aktywność elektryczną serca w postaci graficznego obrazu na papierze milimetrowym. Rysunek 1. Przykładowy elektrokardiogram z zaznaczonymi załamkami PQRST Przyjęto umownie, że główne załamki (wychylenia zapisu aktywności elektrycznej) EKG są określane literami P, Q, R, S, T. Każdy załamek odpowiada depolaryzacji (rozładowanie elektryczne) albo repolaryzacji (ponowne naładowanie) pewnego określonego obszaru serca. Załamek P powstaje w momencie depolaryzacji mięśniówki przedsionków szerzącej się z węzła zatokowo-przedsionkowego (węzeł SA). Odstęp PR to czas potrzebny na przewodzenie bodźca elektrycznego z przedsionków do komór serca za pośrednictwem węzła przedsionkowo - komorowego (węzeł AV), który jest regulatorem przewodzenia. Zespół QRS odpowiada depolaryzacji mięśniówki komór serca. Ostęp ST 4

5 to czas wolnej i szybkiej repolaryzacji mięśniówki komór serca. Załamek T odpowiada repolaryzacji komór. Przykładowy zapis EKG został przedstawiony na rysunku 1. Standardowe EKG wykonuje się przy pomocy 12 odprowadzeń: 3 dwubiegunowe kończynowe Einthovena (I, II, III), 3 jednobiegunowe kończynowe wzmocnione Goldbergera (avr, avl, avf), 6 jednobiegunowych przedsercowych Wilsona (V1, V2, V3, V4, V5, V6). Całe badanie trwa około 5-10 minut i jest badaniem nieinwazyjnym, bezbolesnym i nie związanym z żadnym ryzykiem dla pacjenta. Nie wymaga specjalnego przygotowania lub opieki po jego wykonaniu. 2.3 Automatyczna analiza sygnału EKG Interpretacja zapisu EKG rzeczą na tyle subtelną, że jedynie lekarz lub wykwalifikowany pracownik służby zdrowia potrafią dokonać dokładnej analizy sygnału EKG. Aczkolwiek postęp technologiczny w dziedzinie elektroniki i technik obliczeniowych skłania do podejmowania prób realizacji analizy w sposób automatyczny. Takie rozwiązanie powinno znaleźć szerokie zastosowanie w systemach telemedycznych (np. Kardiotele) lub jako systemy eksperckie wspierające wstępną diagnozę lekarską. Automatyczna analiza zapisu EKG wykonywana jest zazwyczaj w elektrokardiografach, a jej rezultaty są drukowane na drukarce rejestratora lub przesyłane w postaci cyfrowej do urządzeń zewnętrznych (monitor, modem, komputer zarządzający bazą danych). Istnieje również możliwość dokonania analizy tylko na zewnętrznym komputerze, do którego zostaną przesłane dane i taka sytuacja ma miejsce w przypadku korzystania ze starszych, mniej zaawansowanych technicznie elektrokardiografów. Na automatyczną analizę sygnału EKG składają się następujące etapy (rys.2): Określenie jakości sygnału, Detekcja zespołów QRS, Określenie przybliżonych rozmiarów zespołów QRS i położenia punktów synchronizacji, 5

6 Obliczenie częstości rytmu, Określenie poziomu linii izoelektrycznej i określenie stosunku sygnał/szum, Klasyfikacja zespołów QRS i wskazanie reprezentantów klas, Określenie morfologii reprezentantów klas, Określenie położenia początkowych i końcowych punktów zespołu QRS oraz załamków P i T, Obliczenie parametrów odcinka ST, Obliczenie dyspersji końca załamka T w poszczególnych odprowadzeniach, Stwierdzenie występowania późnych potencjałów komorowych, Obliczenie osi serca [1]. Określenie jakości sygnału Detekcja QRS Określenie położenia punktów synchronizacji Obliczenie częstości rytmu Określenie poziomu linii izoelektrycznej i SNR Klasyfikacja zespołów QRS Określenie morfologii klas Określenie położenia załamków P i T Obliczenie parametrów odcinka ST Obliczenie dyspersji kooca załamka T Sprawdzenie występowania późnych pot. komorowych Obliczenie osi elektrycznej serca Rysunek 2. Etapy automatycznej analizy zapisu EKG Określenie jakości zapisu EKG ma na celu selekcję sygnałów z odprowadzeń, dla których możliwa jest dalsza analiza. Niekiedy już na tym etapie dokonywana jest filtracja zakłóceń sieciowych i zakłóceń elektromiograficznych. Detekcja zespołu QRS, będąca przedmiotem niniejszego projektu, jest wykonywana w celu zidentyfikowania zespołów skurczowych serca w sygnale EKG i została szerzej opisana w podrozdziale 1.4. Wraz z detekcją zespołów QRS zostaje dokonane obliczenie ich przybliżonych rozmiarów, a dzięki temu wyznaczenie położenia punktów synchronizacji, a także obliczenie częstości rytmu serca. Określenie poziomu linii izoelektrycznej to detekcja odcinka P-Q 6

7 i wyznaczenie uśrednionej amplitudy tego odcinka. Wartość ta jest wykorzystywana jako amplituda szumu do obliczenia stosunku sygnał/szum sygnału, a jako amplituda sygnału jest przyjmowana wartość bezwzględna amplitudy zespołu QRS. Klasyfikacja zespołów QRS jest dokonywana w celu podziału zespołów na grupy, a kryterium jest kształt zespołu. Algorytm ten wykorzystuje wyznaczone uprzednio punkty synchronizacji, a efektem jego działania jest stworzenie pewnej liczby klas oraz wyznaczenie ich przedstawicieli, których morfologia zostanie określona. Działanie to ma na celu stwierdzenie czy zespoły QRS z danej klasy są fizjologicznie prawidłowe oraz z którego generatora rytmu pochodzą. Dokładne określenie położenia załamków sprowadza się do wyznaczenie pięciu punktów charakterystycznych. Parametry te mają podstawowe znaczenie dla prawidłowego diagnozowania, zatem jakość i dokładność ich wyznaczania ma decydujące znaczenie dla jakości analizy zapisu EKG. Interpretacja odcinka ST (położenie i nachylenie) ma znaczenie diagnostyczne związane z miażdżycą, chorobą wieńcową oraz oceną ryzyka wystąpienia zawału serca. Z kolei niejednorodność procesów repolaryzacyjnych mięśnia sercowego (ryzyko arytmii) jest obserwowana jako dyspersja końca załamka T w różnych odprowadzeniach. Występowanie późnych potencjałów jest związane z niejednorodnością przewodzenia pobudzeń (ryzyko tachykardii komorowej). Zjawiska te sprawiają trudności w ich rejestracji ze względu na niską amplitudę oraz sąsiedztwo zespołu QRS, dlatego też przy korzystaniu z elektrokardiografów niższej jakości ich wykrycie jest praktycznie niemożliwe. Określanie osi elektrycznej serca jest metoda pozwalającą określić położenie serca wewnątrz jamy ciała [1]. 2.4 Detekcja zespołu QRS Zespół QRS jest najbardziej charakterystycznym elementem sygnału elektrokardiograficznego, zapisem elektrycznej aktywności serca podczas skurczu (depolaryzacji) komór. Wyróżniająca go relatywnie wysoka wartość amplitudy, oraz fakt że występuje w każdej, nawet nieprawidłowej fizjologicznie ewolucji serca (nie można mówić o ewolucji serca bez wystąpienia zespołu QRS) czynią z niego doskonały punkt orientacyjny, od którego zaczyna się analizę zapisu EKG. Prawidłowa detekcja zespołów 7

8 QRS pozwala na określenie częstości akcji serca, ekstrakcję i klasyfikację całych ewolucji PQRST a w dalszej perspektywie na zastosowanie algorytmów kompresji sygnału EKG. Algorytmy detekcji zespołów QRS są przedmiotem intensywnych badań już od blisko 40 lat. Ich ewolucja odzwierciedla postęp, jaki dokonał się w tym okresie w technologii komputerowej. Początkowo poziom złożoności algorytmów do wykrywania zespołów QRS ograniczony był przez moc obliczeniową pierwszych procesorów. Komputery dostępne obecnie pozwalają na doskonalenie algorytmów pod względem skuteczności poprzez narzędzia, których zastosowanie nie było wcześniej możliwe z uwagi na zbyt długi czas obliczeń. Konieczność zachowania kompromisu pomiędzy skutecznością zastosowanej metody a wydajnością obliczeniową przestaje być najważniejszą zasadą projektowania procedur do automatycznej analizy zapisu EKG, choć czasem daje o sobie znać, czego najlepszym przykładem są programy przeznaczone dla urządzeń mobilnych zasilanych za pomocą baterii. W przypadku tego typu sprzętu zachodzi potrzeba optymalizacji zużycia energii w celu maksymalnego wydłużenia czasu eksploatacji w pojedynczym cyklu pracy baterii. Bez względu na szczegóły zastosowanych metod, w algorytmach detekcji zespołów QRS można wyróżnić dwa podstawowe etapy (rys. 3). Celem pierwszego z nich określanego angielskim terminem preprocessing jest uwydatnienie cech zapisu EKG pożądanych z punktu widzenia detekcji poprzez zastosowanie odpowiedniej kombinacji filtrów liniowych i nieliniowych. Otrzymany w ten sposób sygnał, nazywany w literaturze funkcją detekcyjną (rys. 3) jest przedmiotem działania drugiego etapu algorytmu detekcji, gdzie na drodze zaimplementowanych wcześniej procedur podejmowana jest automatycznie decyzja, które z próbek sygnału EKG są punktami detekcji. W zdecydowanej większości przypadków detekcja ta realizowana poprzez porównywanie wartości funkcji detekcyjnej z odpowiednio dobraną wartością progową. 8

9 sygnał EKG Filtracja liniowa Filtracja nieliniowa funkcja detekcyjna Wyznaczenie maksimów Decyzja punkty detekcji Moduł wstępnego przetwarzania Moduł decyzyjny Rysunek 3. Ogólny schemat algorytmu detekcji zespołów QRS Funkcja detekcyjna powinna posiadać określone własności [1], które decydują o jej jakości, a w rezultacie o skuteczności samej detekcji. W obrębie zespołów QRS powinna ona przyjmować jak największe wartości, podczas gdy dla próbek odpowiadających pozostałej części sygnału powinny być one jak najmniejsze. Ponadto na każdy zespół QRS powinno przypadać dokładnie jedno maksimum funkcji detekcyjnej (rys 4). Pozwala to na uniknięcie błędów związanych z wielokrotnym oznaczeniem tego samego zespołu QRS. Rysunek 4. Przykładowy zapis elektrokardiograficzny (a) i wyznaczona dla niego funkcja detekcyjna (b) Najbardziej klasycznym podejściem do wyznaczania funkcji detekcyjnej jest zastosowanie w tym celu zestawu filtrów cyfrowych, w najprostszy sposób realizowanych poprzez numeryczne różniczkowanie i całkowanie próbek sygnału, równoważne zastosowaniu odpowiednio filtru górno- i dolnoprzepustowego. Intuicyjnie jest to rozwiązanie całkowicie uzasadnione, gdyż zespół QRS jest w sygnale elektrokardiograficznym zjawiskiem cyklicznym, zajmującym określone pasmo częstotliwości (rys. 5). Szacuje się, że w widmie zapisu EKG zespołowi QRS odpowiadają częstotliwości pomiędzy 10 i 25 Hz [2]. 9

10 Drugą grupę metod pozwalających na wyznaczenie funkcji detekcyjnej stanowią rozwiązania oparte na dopasowywaniu wzorców. Analiza sygnału odbywa się tutaj według schematu najbardziej zbliżonego do tego, według którego działa człowiek interpretując zapis EKG bez pomocy komputera. Elektrokardiogram jest w tym przypadku porównywany z pewnym pamięciowym wzorcem. Wartość funkcji detekcyjnej jest wprost proporcjonalna do miary podobieństwa analizowanego fragmentu sygnału do wspomnianego wzorca. Matematyczną interpretacją tej miary podobieństwa jest wzajemna korelacja wzorca i sygnału. Metody korelacyjne posiadają jednak wadę, polegającą na trudności zdefiniowania uniwersalnego wzorca, pozwalającego na osiąganie wysokich wartości korelacji bez względu na morfologię zespołu QRS, zmieniającą się przecież w zależności od odprowadzenia, z którego został zarejestrowany sygnał. Rysunek 5. Widmo częstotliwościowe sygnału EKG z wyróżnieniem jego poszczególnych składowych Innym podejściem do analizy wykorzystującej dopasowywanie wzorców jest przekształcenie sygnału EKG do ciągu tokenów, których kolejność jest następnie badana przez automat o skończonej liczbie stanów [2]. Wystąpienie tokenów w określonej sekwencji decyduje o zaklasyfikowaniu odpowiadających im próbek sygnału do zespołu QRS. Warto zauważyć, że opisywana pośrednia metoda reprezentacji sygnału zastępuje funkcję detekcyjną. Jest ona najprostszą próbą syntaktycznego opisu sygnału. 10

11 Spośród wielu innych interesujących rozwiązań problemu detekcji, które nie zostaną tu bliżej przedstawione, ponieważ nie jest to głównym celem niniejszej pracy, wypada przynajmniej wymienić metody oparte na sztucznych sieciach neuronowych. Są to zarówno nieskomplikowane sieci o topologii MLP (ang. Multi-Layer Perceptron) wymagające zbioru uczącego, jak i sieci samoorganizujące się, które mogą być także z powodzeniem stosowane w dalszych etapach analizy sygnału EKG, na przykład do klasyfikacji ewolucji serca. Odnotowano także przypadki użycia nieliniowych sieci neuronowych w charakterze predyktora sygnału EKG [3]. Ponieważ stosunkowo niewiele próbek w zapisie elektrokardiograficznym odpowiada zespołom QRS, pojawienie się ich w sygnale będzie skutkować wzrostem błędu predykcji. Wartość tego błędu można zatem wykorzystać w charakterze funkcji detekcyjnej. 2.5 Zarys ogólny proponowanego rozwiązania Zrealizowana w ramach projektu z przedmiotu Dedykowane algorytmy diagnostyki medycznej detekcja zespołów QRS składa się z dwóch podstawowych etapów: Wyznaczenie funkcji detekcyjnej, Wyznaczenie punktów detekcji. Pierwsza moduł projektu został zrealizowany w oparciu o zaproponowany w [2] algorytm. Przy wykorzystaniu zestawu filtrów cyfrowych zostają wykonane operacje, których wynikiem jest wyznaczenie funkcji detekcyjnej w oparciu o zapis elektrokardiograficzny. Drugi etap detekcji to wyznaczenie punktów detekcji, czyli chwil czasowych występowania zespołów QRS. Podstawowym składnikiem tej procedury jest wyznaczenie maksimów lokalnych funkcji detekcyjnej. Dobrze zrealizowana operacja wyznaczania maksimów pozwala wyznaczyć chwile czasowe, które w postaci numeru próbki zostają zwracane jako punkty detekcji. Koncepcja zaproponowanego rozwiązania została opisana szerzej opisana w rozdziale trzecim niniejszej dokumentacji. Wyniki działania zrealizowanego projektu oraz wnioski z analiz zostały przedstawione w rozdziale czwartym. Szczegóły praktyczne projektu zostały zawarte w dodatkach do dokumentacji. 11

12 3. Koncepcja proponowanego rozwiązania W ramach projektu z przedmiotu Dedykowane algorytmy diagnostyki medycznej zostało wykonane oprogramowanie służące do detekcji zespołu QRS zapisu elektrokardiograficznego. Program będący przedmiotem niniejszej pracy jest częścią składową większej aplikacji wykorzystywanej do automatycznej analizy sygnału elektrokardiograficznego. Z tego powodu projekt musi być kompatybilny ze strukturami opisu sygnału EKG i sterującymi (opisanymi szerzej w dodatku C2). Oprogramowanie zostało wykonane w środowiskach programistycznych NI LabVIEW i Microsoft Visual Studio W pierwszym środowisku został wykonany prototyp implementacji algorytmu przedstawionego poniżej, natomiast wersja finalna projektu została zbudowana w środowisku Microsoft Visual Studio 2008 przy wykorzystaniu języka C++. Pierwsze z wymienionych środowisk programistycznych zostało też wykorzystane do testowania projektu. Oprogramowanie realizujące algorytm detekcji zespołu QRS składa się z dwóch podstawowych modułów: Moduł wstępnego przetwarzania danych, Moduł decyzyjny. Celem moduł wstępnego przetwarzania danych jest wyznaczenie funkcji detekcyjnej, co zostało szerzej opisane w podrozdziale 3.1. W przyjętym rozwiązaniu zostanie zastosowany algorytm wykorzystujący zestaw filtrów cyfrowych [2]. Celem modułu decyzyjnego jest wyznaczenie punktów należących do zespołu QRS (punktów detekcji) poprzez przetwarzanie funkcji detekcyjnej. W przyjętym rozwiązaniu zostanie zastosowany algorytm wykorzystujący progowanie funkcji detekcyjnej ze stałą wartością progową. [1] Koncepcja realizacji modułu decyzyjnego została szerzej przedstawiona w podrozdziale

13 3.1 Moduł wstępnego przetwarzania danych Wyznaczenie funkcji detekcyjnej poprzez wykorzystanie zestawu filtrów cyfrowych zostało wykonane na podstawie przedstawionego w [2] algorytmu. Schemat blokowy modułu wstępnego przetwarzania danych został przedstawiony na rysunku 6. Rysunek 6. Schemat blokowy modułu wstępnego przetwarzania danych Kolejnymi składowymi modułu wstępnego przetwarzania danych są: Filtracja dolnoprzepustowa, Filtracja górnoprzepustowa, Wyznaczenie pochodnej, Wyznaczenie kwadratu sygnału, Filtracja uśredniająca. Zadaniem dwóch pierwszych operacji jest wyeliminowanie szumu sygnału elektrokardiograficznego poprzez zawężenie spektrum sygnału do zakresu odpowiadającego widmu zespołów QRS. Zredukowany wpływ zakłóceń pochodzących od sieci energetycznej, potencjałów mięśni, czy też płynięcia linii izoelektrycznej wydatnie usprawnia proces detekcji zespołów QRS. Zadanie filtracji pasmowoprzepustowej zostało zrealizowane w dwóch krokach filtracja dolno- i górnoprzepustowa. Filtracja dolnoprzepustowa została zrealizowana poprzez wykorzystanie filtru o nieskończonej odpowiedzi impulsowej (ang. Infinite Impulse Response, IIR) określonego 13

14 równaniem różnicowym (1). Częstotliwość odcięcia filtru wynosi 11 Hz, a wnoszone opóźnienie to 5 próbek. (nt) = 2y(nT- T)- y(nt- 2T) + x(nt) - 2x(nT - 6T) + x(nt -12T) (1) Filtracja górnoprzepustowa również została zrealizowana poprzez wykorzystanie filtru o nieskończonej odpowiedzi impulsowej (ang. Infinite Impulse Response, IIR) określonego równaniem różnicowym (2). Częstotliwość odcięcia filtru wynosi 5 Hz, a wnoszone opóźnienie to 15 próbek. 1 y(nt) = x(nt -16T)- [y(nt- T)+ x(nt) - x(nt - 32T)] (2) 32 Kolejnym etapem procesu wyznaczania funkcji detekcyjnej jest wyznaczenie pochodnej sygnału. Różniczkowanie ma na celu wprowadzenie informacji o zboczach sygnału, co jest cechą charakterystyczną zespołów QRS. W niniejszym projekcie zostało wykorzystane wyznaczanie pięciopunktowej pochodnej przy pomocy filtru o skończonej odpowiedzi impulsowej (ang. Finite Impulse Response, FIR) określonego równaniem różnicowym (3). Częstotliwość odcięcia filtru wynosi 30 Hz y(nt) = x(nt) + x(nt T) x(nt 3T) 2x(nT 4T) (3) Wyznaczanie kwadratu sygnału jest jedyną nieliniową operacją w procesie wyznaczania funkcji detekcyjnej. Zadaniem tej operacji jest zmiana znaku wszystkich próbek sygnału na dodatni i nieproporcjonalne wzmocnienie sygnału, czego efektem jest wzmocnienie wyższych częstotliwości sygnału. Proces podnoszenie do kwadratu został określony równaniem (4). 2 y(nt)=[x(nt)] (4) Ostatnim elementem modułu wstępnego przetwarzania danych jest filtracja uśredniająca. Efektem tej operacji jest wyznaczenie funkcji detekcyjnej. W niniejszym projekcie filtracja uśredniająca została wykonana przy pomocy filtru o skończonej odpowiedzi impulsowej (ang. Finite Impulse Response, FIR) określonego równaniem różnicowym (5). Szerokość okna filtru uśredniającego to 20 próbek. 1 y(nt) = [x(nt 19T) + x(nt 18T) + + x(nt)] (5) 20 14

15 Po wykonaniu wszystkich operacji jest dokonywana normalizacja wartości funkcji detekcyjnej w celu uniezależnienia dalszego przetwarzania od skali sygnału. 3.2 Moduł decyzyjny Celem modułu decyzyjnego jest wyznaczenie punktów detekcji zespołów QRS. Podstawowym składnikiem tego procesu to zlokalizowanie w przestrzeni czasu maksimów lokalnych funkcji detekcyjnej. Operacja ta jest wykonywana poprzez sprawdzenie, czy maksimum wartości próbek w przedziale czasu 32 próbek (co odpowiada okresowi równemu 250 ms) przekracza wartość progową równą (operacja jest wykonywana po znormalizowaniu wartości funkcji detekcyjnej). W przypadku kiedy taka sytuacja nie występuje maksimum niższe od wartości progowej nie jest brane pod uwagę jako kandydat na punkt detekcji, a w kolejnej iteracji procesu sprawdzane są kolejne 32 próbki, przy czym usunięta zostaje tylko jedna najstarsza próbka, a zestaw 32 próbek zostaje uzupełniony tylko jedna próbką. Wykrycie maksimum wyższego od wartości progowej powoduje sprawdzenie w następnej iteracji 32 próbek oddalonych o 250 ms od końca przedziału czasowego, w którym znaleziono maksimum. Pominięcie kolejnych próbek nazywane jest z angielskiego eyeclosing. Samo stwierdzenie wyższej od wartości progowej wartości maksimum nie jest podstawą do zapisania numeru próbki jako punktu detekcji. Konieczne jest sprawdzenie czy obecne maksimum nie znajduje się zbyt blisko poprzedniego. Jako minimalny dystans, przy którym kolejne maksima uznaje się za sąsiadujące ze sobą zespoły QRS to 44 próbki, co odpowiada okresowi równemu 343,75 ms. W przypadku, gdy ostęp czasu jest niższy od podanego powyżej mniejsze z bliskich sobie maksimów zostaje wyeliminowane, gdyż jest ono prawdopodobnie pozostałością po załamkach P lub T. Numery próbek maksimów lokalnych nie znajdujących się blisko pozostałych maksimów oraz większych spośród blisko położonych maksimów stanowią punkty detekcji zespołu QRS i stanowią wynik działania niniejszego projektu. Algorytm działania modułu decyzyjnego został przedstawiony na rysunku 7. 15

16 Funkcja detekcyjna Detekcja maksimów Wartośd progowa przekroczona? Maksimum szumu Zbyt blisko poprzedniego max? Amplituda większa od poprzedniego max.? Obecne maksimum to załamek T Poprzednie maksimum to załamek P Punkty detekcji Rysunek 7. Algorytm modułu decyzyjnego 16

17 4. Rezultaty i wnioski Wyniki działania funkcji detekcji zespołów QRS, której implementacja była przedmiotem niniejszego projektu zostały porównane z dostarczonymi przez konsultanta projektu wynikami operacji detekcji (pliki qrs_attr.out), które zostały uznane za wyniki referencyjne. Procedura testowania działania programu, to przede wszystkim porównanie ilości punktów detekcji wyznaczonych w wyniku działania będącej przedmiotem projektu detekcji z ilością punktów detekcji w wynikach referencyjnych. Zbiorcze porównanie liczby punktów detekcji zostało przedstawione w tabeli 1. Tabela 1. Porównanie działania funkcji detekcji zespołów QRS z wynikami referencyjnymi Nazwa pliku ah_21_1.dcm ah_21_2.dcm ah_21_3.dcm ah_21_4.dcm ah_23_1.dcm ah_23_2.dcm ah_29_1.dcm ah_29_2.dcm Nr kanału Liczba punktów detekcji Średnia odległość Wyniki testowe Wyniki referencyjne punktów detekcji [ms]* Kanał ,57 Kanał ,46 Kanał ,16 Kanał ,48 Kanał ,49 Kanał ,96 Kanał ,07 Kanał ,75 Kanał ,28 Kanał ,07 Kanał ,82 Kanał ,87 Kanał ,26 Kanał ,15 Kanał ,46 Kanał ,26 Kanał ,03 Kanał ,00 Kanał ,13 Kanał ,56 Kanał ,72 Kanał ,51 Kanał ,64 Kanał ,44 17

18 ah_29_3.dcm ah_29_4.dcm Kanał ,62 Kanał ,92 Kanał ,62 Kanał ,10 Kanał ,58 Kanał ,44 *) rozumiana jako średnia odległość pomiędzy poprawnie wykrytymi punktami detekcji a odpowiadającymi im punktami referencyjnymi Testowanie detekcji zespołów QRS przy porównaniu liczby punktów detekcji może wydawać się niewystarczające, dlatego zostało też wyznaczona średnia odległość pomiędzy kolejnymi punktami detekcji w wynikach testowych i referencyjnych. Wyniki tej operacji zostały również przedstawione w tabeli 1. Przedstawione powyżej wyniki procesu testowania detekcji zespołów QRS pozwalają stwierdzić, że liczba punktów detekcji w wynikach testowych i referencyjnych jest zbliżona, a średnia odległość punktów detekcji w większości przypadków nie przekracza 20ms, co świadczy o podobnej jakości wykonanej na potrzeby projektu aplikacji do narzędzia użytego w celu wyznaczenia wyników uznawanych za referencyjne. Należy zaznaczyć, że wyniki działania detekcji zespołu QRS opracowanej przez autorów niniejszej dokumentacji zostały sprawdzone również poprzez wykreślenie wykresów badania EKG i zaznaczenie na nich punktów detekcji. Przykład takiego porównania dla odcinka o długości czterech sekund został pokazany na rysunku 8. Rysunek 8. Porównanie graficzne działania funkcji detekcji zespołów QRS (czerwony) z wynikami referencyjnymi (niebieski). 18

19 Wartym podkreślenia jest fakt, że łączna długość zapisów EKG w testowanej bazie wynosi 675 minut, co oznacza ok ewolucji serca. Tak dużej liczby danych nie sposób przeanalizować ręcznie. Wszystkie części procedury testowania jakości detekcji zespołów QRS zostały przeprowadzone automatycznie przy użyciu oprogramowania wykonanego w środowisku NI LabVIEW. 19

20 5. Podsumowanie Sformułowany w podrozdziale 2.1 niniejszej dokumentacji cel projektu to zaimplementowanie algorytmu detekcji QRS dla wieloodprowadzeniowego zapisu EKG. Zaproponowane rozwiązanie powinno być kompatybilne ze strukturami opisu sygnału EKG i sterującymi, które zostały wyszczególnione w dodatku C2. Komunikacja z pozostałymi projektami odbywać się ma się poprzez pliki. Jakość detektora została przetestowana z użyciem baz danych dostarczonej przez konsultanta projektu. Podsumowując zrealizowany i opisany w niniejszej dokumentacji projekt można stwierdzić, że wszystkie postawione cele zostały zrealizowane. Koncepcja rozwiązania problemu został przedstawiona w rozdziale trzecim, a opis jej realizacji oraz procedur informatycznych koniecznych do implementacji projektu w dodatkach B i C. Jakość detekcji zespołów QRS została szerzej opisana w rozdziale czwartym, w którym zostały przedstawione rezultaty testów projektu. Ocena jakości detekcji zespołów QRS została dokonana w odniesieniu do wyników referencyjnych. Wyniki działania detekcji uderzeń serca w wykonaniu programu będącego przedmiotem projektu są zbliżone do wyników referencyjnych, co pozwala ocenić jakość zaproponowanego rozwiązania jako porównywalną z jakością rozwiązania użytego do wyznaczenia wyników referencyjnych. Możliwymi kierunkami rozwoju projektu są; Zastosowane innego algorytmu wyznaczania funkcji detekcyjnej metody opierające się na dopasowaniu wzorców [1], Zastosowanie algorytmu adaptacyjnego wyznaczania wartości progowej np. wg Tompkinsa [2], Zastosowanie procedury korygującej wyznaczanie punktów detekcji metoda przeszukiwania wstecznego (ang. search back) [1], Implementacja projektu na systemie czasu rzeczywistego (ang. real time, RT). 20

21 6. Literatura [1] P. Augustyniak: Przetwarzanie sygnałów elektrodiagnostycznych. Wydawnictwa AGH, Kraków 2001 [2] W.J. Tompkins Biomedical Digital Signal Processing. Prentice Hall, New Jersey, 2000 [3] B.-U. Köhler, C. Henning, R. Orglmeister, The Principles of Software QRS Detection: Reviewing and Comparing Algorithms for Detecting this Important Waveform, IEEE Engineering in Medicine and Biology, January/February

22 DODATEK A. Opis opracowanych narzędzi i metody postępowania A1 Opis używania oprogramowania Wykonana w ramach projektu aplikacja jest uruchamiana z wiersza poleceń systemu MS Windows wraz z parametrami określającymi ścieżkę folderu z danymi wejściowymi, nazwą pliku zawierającego zapis badania EKG oraz numerem kanału. Należy zaznaczyć, że odczyt dokonywany jest z pliku, w którym dane zostały zapisane w sposób binarny bez żadnego formatowania. Sposób uruchamiania aplikacji wraz z koniecznymi parametrami został pokazany poniżej: >> qrsdetector.exe [pełna ścieżka do folderu plików z danymi] [nazwa pliku z danymi] [wybrany kanał (1:3)] Po wykonaniu obliczeń wyniki w postaci struktury danych QRS_ATTR zostają zapisane w pliku ASCII. Aplikacja wypełnia danymi w postaci kolejnych numerów próbek punktów detekcji tylko element DetPt struktury QRS_ATTR. Nazwa pliku zostaje utworzona poprzez połączenie nazwy pliku oraz numeru wybranego kanału, co zostało zaprezentowane poniżej: QrsAttr_[nazwa pliku z danymi]_ch[wybrany kanał (1:3)].out Plik zostaje zapisany w podfolderze results folderu, w którym została uruchomiona aplikacja. A2 Wymagania systemowe i sprzętowe aplikacji Wymagania systemowe to system operacyjny z rodziny MS Windows dla komputera klasy Desktop PC. Wymagania sprzętowe są identyczne jak dla wybranego systemy MS Windows. A3 Opis warunków testowania oprogramowania Oprogramowanie zostało przetestowane na komputerze klasy Desktop PC przy użyciu napisanych w środowisku NI LabVIEW aplikacji testujących. Szczegóły procedur testowania aplikacji zostały opisane w rozdziale czwartym niniejszej dokumentacji. 22

23 DODATEK B. Realizacja proponowanego rozwiązania W ramach projektu z przedmiotu Dedykowane algorytmy diagnostyki medycznej zostało wykonane oprogramowanie służące do detekcji zespołu QRS zapisu elektrokardiograficznego. Program będący przedmiotem niniejszej pracy jest częścią składową większej aplikacji wykorzystywanej do automatycznej analizy sygnału elektrokardiograficznego. Z tego powodu projekt musi być kompatybilny ze strukturami opisu sygnału EKG i sterującymi (opisanymi szerzej w dodatku C2). Oprogramowanie zostało wykonane w środowiskach programistycznych NI LabVIEW i Microsoft Visual Studio 2010 w systemie operacyjnym MS Windows. W pierwszym środowisku został wykonany prototyp implementacji algorytmu, którego szczegóły opisano poniżej, natomiast wersja ostateczna projektu została zbudowana w środowisku Microsoft Visual Studio 2008 przy wykorzystaniu języka C++. Środowisko LabVIEW zostało także wykorzystane do testowania wykonanego programu i optymalizacji jego parametrów. Algorytm działania aplikacji można przedstawić następująco: Odczyt zapisu EKG (omówione w dodatku A1), Wyznaczanie funkcji detekcyjnej (omówione szczegółowo w podrozdziale 3.1), Wyznaczenie punktów detekcji (omówione szczegółowo w podrozdziale 3.2), Zapis punktów detekcji do pliku ASCII (omówione w dodatku A1). Jednym z ważniejszych etapów wyznaczania punktów detekcji na podstawie wartości funkcji detekcyjnej jest usuwanie leżących zbyt blisko siebie potencjalnych punktów detekcji. Potencjalne punkty detekcji są maksimami funkcji detekcyjnej znajdującymi się powyżej wartości progowej. Zdarza się jednak, że ponad wartością progową znajdą się także maksima lokalne funkcji detekcyjnej pochodzące np. od załamka P lub T. Procedura odfiltrowywania fałszywych punktów detekcji, w przeciwieństwie do innych wykorzystywanych algorytmów została przez autorów projektu zmodyfikowana w stosunku do swojej standardowej wersji, dlatego też zostanie tu opisana. Algorytm operuje na tablicy potencjanych punktów detekcji i działa następująco: 23

24 Podstawowa struktura: bufor na zbyt blisko siebie leżące potencjalne punkty detekcji (wygodnie jest go traktować jako okno o zmiennej szerokości): 1) Ustaw szerokość okna na 1. Ustaw okno na elemencie 0. 2) Weź element 1: a) jeśli jego odległość od poprzedniego jest większa od założonego minimum przesuń okno na ten element; zapisz poprzedni element do tablicy właściwych punktów detekcji; b) jeśli nie - rozszerz okno na ten element; 3) Weź kolejny element: a) jeśli jego odległość od ostatniego elementu w oknie jest większa od założonego minimum pomniejszonego o sumę odległości pomiędzy wszystkimi kolejnymi elementami w oknie - wybierz z okna indeks, dla którego funkcja detekcji przyjmuje największą wartość i element o tym indeksie zapisz do tablicy właściwych punktów detekcji; przesuń okno na aktualny element i ustaw szerokość okna na 1; b) jeśli nie - rozszerz okno na ten element; 4) Warunek zakończenia ostatni element w oknie jest ostatnim elementem tablicy potencjalnych punktów detekcji. Wówczas wykonaj czynności jak (a) punktu 3 (bez przesuwania okna na następny element). Najważniejsze problemy napotkane podczas realizacji projektu to: Nieprecyzyjnie wyznaczone punkty detekcji w plikach z wynikami referencyjnymi, Większe doświadczenie autorów projektu ze środowiskiem LabVIEW niż z językiem programowania C/C++ wpłynęło na efektywność (a zapewne także na jakość) ostatecznej wersji napisanej aplikacji, Szybkość i wygoda tworzenia funkcjonalnego kodu w środowisku LabVIEW jest, zdaniem autorów, bezsprzecznie większa niż w języku C++, co było jednym z głównych powodów podjęcia decyzji o wykonaniu prototypu oprogramowania w LabVIEW, Brak jasno sformułowanych zasad odnośnie obowiązujących struktur danych i formatów plików wymiany. 24

25 DODATEK C. Opis informatyczny procedur Aplikacja będąca przedmiotem niniejszego projektu została napisana przy użyciu środowiska programistycznego Microsoft Visual Studio 2010 Express. Pliki źródłowe projektu to: Main.cpp główny plik aplikacji, Detectfcn.cpp plik zawierający funkcje filtracji FIR, IIR i wyznaczania drugiej potęgi, Asciiexport.cpp plik zawierający funkcje zapisu danych do pliku ASCII, Detfcnthr.cpp plik zawierające funkcje służące do wyznaczania punktów detekcji. Funkcje wykorzystywane w aplikacji zostały szerzej opisane w dodatku C1. Poza plikami źródłowymi w skład projektu wchodzą pliki nagłówkowe zawierające definicje funkcji: Detectfcn.h Asciiexport.h Detfcnthr.h qrs_attr.h W celu kompilacji nie jest konieczne dołączenie żadnych zewnętrznych bibliotek poza standardowymi języka C++. C1 Opis głównych funkcji aplikacji Funkcja main plik main.cpp int main(int argc, char *argv[]) Przeznaczenie: Funkcja wykonująca detekcję zespołów QRS. Argumenty funkcji: (I) int argc liczba argumentów wejściowych (I) char *argv[] wskaźnik do tablicy argumentów wejściowych (I) char argv[1] - pełna ścieżka do folderu plików z danymi (I) char argv[2] - nazwa pliku z danymi (I) char argv[3] - wybrany kanał (1:3) Funkcja zwraca: 0 - wszystko OK Używane funkcje: savetoascii, SaveStructToASCII, filterfir, filteriir, Square, findpotdetpts, filterdetpts 25

26 Używane biblioteki: #include<iostream>, #include<fstream>, #include<sys\stat.h>, #include<vector> #include"detectfcn.h", #include"detfcnthr.h", #include"asciiexport.h", #include"qrs_attr.h" Uwagi: Dokładny schemat działania funkcji jest opisany w niniejszej dokumentacji. Plik wejściowy to plik z zapisem EKG zapisany jako surowe dane binarne. Pliki wyjściowe to pliki ASCII z zapisaną w nim strukturą danych QRS_ATTR. Autorzy:, MSIB AGH Ostatnia modyfikacja: Funkcja savetoascii plik Asciiexport.cpp void savetoascii(float *finsign, int iinsignlength, char *cfilename, char *cdatafilename, int ichannel) Przeznaczenie: Funkcja wykonuje zapis tablicy danych do pliku w formacie ASCII Argumenty funkcji: (I) float *finsign - wskaźnik na tablice z danymi do zapisania (I) int iinsignlength - długość tablicy danych (I) char *cfilename - wskaźnik na nazwę pliku (I) char *cdatafilename - wskaźnik na nazwę pliku z danymi (I) int ichannel - numer kanału Funkcja zwraca: 0 - wszystko OK Używane funkcje: Brak Używane biblioteki: #include<iostream>, #include<fstream> Uwagi: Brak Autorzy:, MSIB AGH Ostatnia modyfikacja:

27 Funkcja SaveStructToASCII plik Asciiexport.cpp void SaveStructToASCII(struct QRS_ATTR *sqrsattr, int istructlength, char *cfilename, char *cdatafilename, int ichannel) Przeznaczenie: Funkcja wykonuje zapis tablicy danych do pliku w formacie ASCII Argumenty funkcji: (I) struct QRS_ATTR *sqrsattr- wskaźnik na tablicę ze strukturą danych do zapisania (I) istructlength - długość tablicy ze strukturą danych (I) char *cfilename - wskaźnik na nazwę pliku (I) char *cdatafilename - wskaźnik na nazwę pliku z danymi (I) int ichannel - numer kanału Funkcja zwraca: 0 - wszystko OK Używane funkcje: Brak Używane biblioteki: #include<iostream>, #include<fstream>, #include"qrs_attr.h" Uwagi: Brak Autorzy:, MSIB AGH Ostatnia modyfikacja: Funkcja filterfir plik Detectfcn.cpp float *filterfir(float *finsig, int iinsiglength, float *fcoeff, int icoefflength) Przeznaczenie: Funkcja wykonuje filtracje filtrem FIR Argumenty funkcji: (I) float *finsign - wskaźnik na tablicę z danymi do zapisania (I) int iinsignlength - długość tablicy danych (I) float *fcoeff - wskaźnik na tablicę ze współczynnikami filtru (I) int icoefflength - długość tablicy współczynników filtru Funkcja zwraca: (O) float *ffiltsign - wskaźnik na tablicę z danymi wyjściowymi Używane funkcje: Brak Używane zmienne i biblioteki: #include<math.h> #define PI Uwagi: Brak 27

28 Autorzy:, MSIB AGH Ostatnia modyfikacja: Funkcja filteriir plik Detectfcn.cpp float *filteriir(float *finsig, int iinsiglength, float *fincoeff, int icoefflength, float *foutcoeff) Przeznaczenie: Funkcja wykonuje filtracje filtrem IIR Argumenty funkcji: (I) float *finsign - wskaźnik na tablicę z danymi do zapisania (I) int iinsignlength - długość tablicy danych (I) float *fcoeff - wskaźnik na tablicę ze współczynnikami mianownika filtru (I) int icoefflength - długość tablicy współczynników filtru (I) float *fcoeff - wskaźnik na tablicę ze współczynnikami licznika filtru Funkcja zwraca: (O) float *ffiltsign - wskaźnik na tablicę z danymi wyjściowymi Używane funkcje: Brak Używane zmienne i biblioteki: #include<math.h> #define PI Uwagi: Brak Autorzy:, MSIB AGH Ostatnia modyfikacja: Funkcja square plik Detectfcn.cpp float *square(float *finsig, int iinsiglength) Przeznaczenie: Funkcja wykonuje obliczenie drugiej potęgi tablicy danych Argumenty funkcji: (I) float *finsign - wskaźnik na tablicę z danymi do zapisania (I) int iinsignlength - długość tablicy danych Funkcja zwraca: (O) float *fsqsign - wskaźnik na tablicę z danymi wyjściowymi Używane funkcje: Brak 28

29 Używane biblioteki: #include<math.h> Uwagi: Brak Autorzy:, MSIB AGH Ostatnia modyfikacja: Funkcja findpotdetpts plik Detfcnthr.cpp int *findpotdetpts(float *fdetfcn, int idetfcnlength, float fthreshold, int iwindowsize, int ieyeclosing, int OutPotDetPtsNumber) Przeznaczenie: Funkcja zwraca indeksy potencjalnych punktów detekcji Argumenty funkcji: (I) float * fdetfcn - wskaźnik na tablice z funkcja detekcji (I) int idetfcnlength - długość funkcji detekcji (I) float fthreshold - wartość progowa (I) int iwindowsize - rozmiar okna (I) int ieyeclosing - parametr eye-closing (O) int &ioutpotdetptsnumber - liczba potencjalnych punktów detekcji Funkcja zwraca: (O) int *itrimpotdetpts - wskaźnik na tablice potencjalnych punktów detekcji Używane funkcje: Brak Używane biblioteki: #include<iostream> Uwagi: Nie zaleca się stosować funkcji dla zapisów EKG zawierających więcej niż ewolucji serca. Autorzy:, MSIB AGH Ostatnia modyfikacja: Funkcja filterdetpts plik Detfcnthr.cpp int *filterdetpts(float *fdetfcn, int *ipotdetpts, int ipotdetptsnumber, int idistance, int &ioutdetptsnumber) Przeznaczenie: Funkcja usuwa maksima lokalne funkcji detekcyjnej lezące zbyt blisko siebie Argumenty funkcji: (I) float * fdetfcn - wskaźnik na tablicę z funkcja detekcji 29

30 (I) int *ipotdetpts - wskaźnik na tablicę z potencjalnymi punktami detekcji (I) int ipotdetptsnumber - ilość potencjalnych punktów detekcji (I) int idistance - minimalna odległość pomiędzy maksimami (O) int &ioutpotdetptsnumber - liczba potencjalnych punktów detekcji Funkcja zwraca: (O) int *idetpts - wskaźnik na tablice punktów detekcji Używane funkcje: Brak Używane biblioteki: #include<iostream> Uwagi: Autorzy:, MSIB AGH Ostatnia modyfikacja:

31 C2 Struktury danych Procedura detekcyjna będąca przedmiotem niniejszej pracy jest częścią składową większego projektu programistycznego służącego do kompleksowej analizy sygnału elektrokardiograficznego. W celu zachowania kompatybilności z pozostałymi jego elementami prezentowany program posługuje się tymi samym głównym typem danych strukturą języka ANSI C (rysunek 9). Rysunek 9. Schemat struktury QRS_ATTR. Opisywana struktura jest używana w programie do konstrukcji tablicy. Każdy z jej elementów zawiera informacje charakterystyczne dla pojedynczej ewolucji serca. Rozmiar tablicy definiowany jest przez ilość wykrytych zespołów QRS. Następnie, w kolejnych etapach automatycznej analizy pola struktur zawartych w tablicy są sukcesywnie wypełniane. 31

32 DODATEK D. Spis zawartości dołączonych nośników Na nośniku CD pliki zostały uporządkowane w katalogach, których struktura została przedstawiona poniżej: Rysunek 9. Organizacja danych na nośniku CD W katalogu głównym można wyróżnić pięć podkatalogów, których nazwa wskazuje ich funkcjonalność : Aplikacja, Baza zapisow EKG, Dokumentacja, Pliki zrodlowe, Prezentacja. W katalogu Aplikacja zostały zawarte końcowe efekty pracy nad systemem w postaci pliku wykonywalnego qrsdetector.exe. W katalogu tym znajduje się podkatalog results, w którym znajdują się wyniki działania aplikacji. Katalog Baza zapisow EKG zawiera dostarczoną przez Konsultanta bazę zapisów EKG wraz z wynikami referencyjnymi procesu detekcji zespołów QRS. Katalog Dokumentacja zawiera niniejszą dokumentację zapisaną w formacie pdf. Katalog Plik zrodlowe zawiera pliki źródłowe i pliki nagłówkowe. Katalog Prezentacja zawiera slajdy omawiające zagadnienia związane z projektem. Prezentacja została zapisana w formacie pdf. 32

Detekcja zespołów QRS w sygnale elektrokardiograficznym

Detekcja zespołów QRS w sygnale elektrokardiograficznym Detekcja zespołów QRS w sygnale elektrokardiograficznym 1 Wprowadzenie Zadaniem algorytmu detekcji zespołów QRS w sygnale elektrokardiograficznym jest określenie miejsc w sygnale cyfrowym w których znajdują

Bardziej szczegółowo

Zastosowanie Informatyki w Medycynie

Zastosowanie Informatyki w Medycynie Zastosowanie Informatyki w Medycynie Dokumentacja projektu wykrywanie bicia serca z sygnału EKG. (wykrywanie załamka R) Prowadzący: prof. dr hab. inż. Marek Kurzyoski Grupa: Jakub Snelewski 163802, Jacek

Bardziej szczegółowo

Automatyczna klasyfikacja zespołów QRS

Automatyczna klasyfikacja zespołów QRS Przetwarzanie sygnałów w systemach diagnostycznych Informatyka Stosowana V Automatyczna klasyfikacja zespołów QRS Anna Mleko Tomasz Kotliński AGH EAIiE 9 . Opis zadania Tematem projektu było zaprojektowanie

Bardziej szczegółowo

Analiza i Przetwarzanie Biosygnałów

Analiza i Przetwarzanie Biosygnałów Analiza i Przetwarzanie Biosygnałów Sygnał EKG Historia Luigi Galvani (1737-1798) włoski fizyk, lekarz, fizjolog 1 Historia Carlo Matteucci (1811-1868) włoski fizyk, neurofizjolog, pionier badań nad bioelektrycznością

Bardziej szczegółowo

Podstawy elektrokardiografii część 1

Podstawy elektrokardiografii część 1 Podstawy elektrokardiografii część 1 Dr med. Piotr Bienias Klinika Chorób Wewnętrznych i Kardiologii WUM Szpital Kliniczny Dzieciątka Jezus w Warszawie ELEKTROKARDIOGRAFIA metoda rejestracji napięć elektrycznych

Bardziej szczegółowo

Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI)

Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI) Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI) 1. Filtracja cyfrowa podstawowe

Bardziej szczegółowo

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

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Przetwarzanie sygnałów w systemach diagnostyki medycznej. PR04307 Temat projektu:

Bardziej szczegółowo

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

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Przetwarzanie sygnałów w systemach diagnostyki medycznej. Temat projektu: Określenie

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

Tom 6 Opis oprogramowania

Tom 6 Opis oprogramowania Część 9 Narzędzie do wyliczania wskaźników statystycznych Diagnostyka Stanu Nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 31 maja 2012 Historia dokumentu Nazwa dokumentu Nazwa

Bardziej szczegółowo

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

1.ABSTRAKT REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA...5 DODATEK C. OPIS INFORMATYCZNY PROCEDUR... 7 AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Przetwarzanie sygnałów w systemach diagnostyki medycznej. Temat projektu: Klasyfikacja

Bardziej szczegółowo

Tom 6 Opis oprogramowania

Tom 6 Opis oprogramowania Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

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

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Przetwarzanie sygnałów w systemach diagnostyki medycznej. Temat projektu: Obliczenie

Bardziej szczegółowo

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

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Przetwarzanie sygnałów. Temat projektu: Klasyfikacja zespołów QRS Spis treści: 1.

Bardziej szczegółowo

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

SYMULATOR EKG. Bartłomiej Bielecki 1, Marek Zieliński 2, Paweł Mikołajaczak 1,3 SYMULATOR EKG Bartłomiej Bielecki 1, Marek Zieliński 2, Paweł Mikołajaczak 1,3 1. Państwowa Wyższa Szkoła Zawodowa w Chełmie 2. Państwowy Szpital im. Ludwika Rydygiera w Chełmie 3. Uniwersytet Marii Curie-Skłodowskiej

Bardziej szczegółowo

System detekcji i analizowania osobliwości w sygnale cyfrowym

System detekcji i analizowania osobliwości w sygnale cyfrowym System detekcji i analizowania osobliwości w sygnale cyfrowym Wydział Informatyki, Politechnika Białostocka dr hab. inż. Waldemar Rakowski, prof. ndzw. dr inż. Paweł Tadejko inż. Michał Januszewski /4/20

Bardziej szczegółowo

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej. Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Konstrukcje i Technologie w Aparaturze Elektronicznej Ćwiczenie nr 5 Temat: Przetwarzanie A/C. Implementacja

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: SYSTEMY INFORMATYCZNE WSPOMAGAJĄCE DIAGNOSTYKĘ MEDYCZNĄ Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, projekt

Bardziej szczegółowo

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

PL B1. Sposób i układ pomiaru całkowitego współczynnika odkształcenia THD sygnałów elektrycznych w systemach zasilających RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 210969 (13) B1 (21) Numer zgłoszenia: 383047 (51) Int.Cl. G01R 23/16 (2006.01) G01R 23/20 (2006.01) Urząd Patentowy Rzeczypospolitej Polskiej (22)

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI 1 ĆWICZENIE VI SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI (00) Celem pracy jest poznanie sposobu fizycznej realizacji filtrów cyfrowych na procesorze sygnałowym firmy Texas Instruments TMS320C6711

Bardziej szczegółowo

(L, S) I. Zagadnienia. 1. Potencjały czynnościowe komórek serca. 2. Pomiar EKG i jego interpretacja. 3. Fonokardiografia.

(L, S) I. Zagadnienia. 1. Potencjały czynnościowe komórek serca. 2. Pomiar EKG i jego interpretacja. 3. Fonokardiografia. (L, S) I. Zagadnienia 1. Potencjały czynnościowe komórek serca. 2. Pomiar EKG i jego interpretacja. 3. Fonokardiografia. II. Zadania 1. Badanie spoczynkowego EKG. 2. Komputerowa rejestracja krzywej EKG

Bardziej szczegółowo

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

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 W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie 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 Grupa... Data wykonania

Bardziej szczegółowo

Podstawy Przetwarzania Sygnałów

Podstawy Przetwarzania Sygnałów Adam Szulc 188250 grupa: pon TN 17:05 Podstawy Przetwarzania Sygnałów Sprawozdanie 6: Filtracja sygnałów. Filtry FIT o skończonej odpowiedzi impulsowej. 1. Cel ćwiczenia. 1) Przeprowadzenie filtracji trzech

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery

Bardziej szczegółowo

2.2 Opis części programowej

2.2 Opis części programowej 2.2 Opis części programowej Rysunek 1: Panel frontowy aplikacji. System pomiarowy został w całości zintegrowany w środowisku LabVIEW. Aplikacja uruchamiana na komputerze zarządza przebiegiem pomiarów poprzez

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA SYSTEMY ROZMYTE Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej Laboratorium

Bardziej szczegółowo

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Dostawa oprogramowania. Nr sprawy: ZP /15

Dostawa oprogramowania. Nr sprawy: ZP /15 ........ (pieczątka adresowa Oferenta) Zamawiający: Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu, ul. Staszica,33-300 Nowy Sącz. Strona: z 5 Arkusz kalkulacyjny określający minimalne parametry techniczne

Bardziej szczegółowo

EKG (Elektrokardiogram zapis czasowych zmian potencjału mięśnia sercowego)

EKG (Elektrokardiogram zapis czasowych zmian potencjału mięśnia sercowego) 6COACH 26 EKG (Elektrokardiogram zapis czasowych zmian potencjału mięśnia sercowego) Program: Coach 6 Projekt: na ZMN060c CMA Coach Projects\PTSN Coach 6\EKG\EKG_zestaw.cma Przykład wyników: EKG_wyniki.cma

Bardziej szczegółowo

Laboratorium Komputerowe Systemy Pomiarowe

Laboratorium Komputerowe Systemy Pomiarowe Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Programowanie wielofunkcyjnej karty pomiarowej w VEE Data wykonania: 15.05.08 Data oddania: 29.05.08 Celem ćwiczenia była

Bardziej szczegółowo

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

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych

Bardziej szczegółowo

Usługa: Audyt kodu źródłowego

Usługa: Audyt kodu źródłowego Usługa: Audyt kodu źródłowego Audyt kodu źródłowego jest kompleksową usługą, której głównym celem jest weryfikacja jakości analizowanego kodu, jego skalowalności, łatwości utrzymania, poprawności i stabilności

Bardziej szczegółowo

Zad. 3: Układ równań liniowych

Zad. 3: Układ równań liniowych 1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich

Bardziej szczegółowo

Maciej Oleksy Zenon Matuszyk

Maciej Oleksy Zenon Matuszyk Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu

Bardziej szczegółowo

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

3. KONCEPCJA PROPONOWANEGO ROZWIĄZANIA...6 7. DODATEK A: OPIS OPRACOWANYCH NARZĘDZI I METODY POSTĘPOWANIA...10 AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Przetwarzanie sygnałów w systemach diagnostyki medycznej. ST_ANA Temat projektu:

Bardziej szczegółowo

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

Elektrokardiografia dla informatyka-praktyka / Piotr Augustyniak. Kraków, Spis treści Słowo wstępne 5 Elektrokardiografia dla informatyka-praktyka / Piotr Augustyniak. Kraków, 2011 Spis treści Słowo wstępne 5 1. Wprowadzenie 15 1.A Przetwarzanie sygnałów elektrodiagnostycznych profesjonalizm i pasja 15

Bardziej szczegółowo

Projektowanie systemów za pomocą języków wysokiego poziomu ESL

Projektowanie systemów za pomocą języków wysokiego poziomu ESL Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IET Katedra Elektroniki Projektowanie systemów za pomocą języków wysokiego poziomu ESL Ćwiczenie 2 Implementacja funkcji Hash z użyciem

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

8. Realizacja projektowanie i pomiary filtrów IIR

8. Realizacja projektowanie i pomiary filtrów IIR 53 8. Realizacja projektowanie i pomiary filtrów IIR Cele ćwiczenia Realizacja na zestawie TMX320C5515 ezdsp prostych liniowych filtrów cyfrowych. Pomiary charakterystyk amplitudowych zrealizowanych filtrów

Bardziej szczegółowo

Testowanie i walidacja oprogramowania

Testowanie i walidacja oprogramowania i walidacja oprogramowania Inżynieria oprogramowania, sem.5 cz. 3 Rok akademicki 2010/2011 Dr inż. Wojciech Koziński Zarządzanie testami Cykl życia testów (proces) Planowanie Wykonanie Ocena Dokumentacja

Bardziej szczegółowo

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

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 W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie 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 Grupa... Data wykonania

Bardziej szczegółowo

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ (INT) Inżynieria internetowa 1.Tryby komunikacji między procesami w standardzie Message Passing Interface. 2. HTML DOM i XHTML cel i charakterystyka. 3. Asynchroniczna komunikacja serwerem HTTP w technologii

Bardziej szczegółowo

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

1. ABSTRAKT REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA DODATEK C: OPIS INFORMATYCZNY PROCEDUR... AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Przetwarzanie sygnałów w systemach diagnostyki medycznej. Temat projektu: Wyznaczanie

Bardziej szczegółowo

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz Wykład 8 Testowanie w JEE 5.0 (1) Autor: 1. Rola testowania w tworzeniu oprogramowania Kluczową rolę w powstawaniu oprogramowania stanowi proces usuwania błędów w kolejnych fazach rozwoju oprogramowania

Bardziej szczegółowo

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia: Cel ćwiczenia: Zapoznanie się z. metodami badania i analitycznego wyznaczania parametrów dynamicznych obiektów rzeczywistych na przykładzie mikrotermostatu oraz z metodami symulacyjnymi umożliwiającymi

Bardziej szczegółowo

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI Kto, co, jak i kiedy Kto? dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16 http://jablonski.wroclaw.pl O co chodzi? Celem przedmiotu

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:

Bardziej szczegółowo

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36 Automatyzacja testowania oprogramowania Automatyzacja testowania oprogramowania 1/36 Automatyzacja testowania oprogramowania 2/36 Potrzeba szybkich rozwiązań Testowanie oprogramowania powinno być: efektywne

Bardziej szczegółowo

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ (INT) Inżynieria internetowa 1. Tryby komunikacji między procesami w standardzie Message Passing Interface 2. HTML DOM i XHTML cel i charakterystyka 3. Asynchroniczna komunikacja serwerem HTTP w technologii

Bardziej szczegółowo

Transformata Laplace a to przekształcenie całkowe funkcji f(t) opisane następującym wzorem:

Transformata Laplace a to przekształcenie całkowe funkcji f(t) opisane następującym wzorem: PPS 2 kartkówka 1 RÓWNANIE RÓŻNICOWE Jest to dyskretny odpowiednik równania różniczkowego. Równania różnicowe to pewne związki rekurencyjne określające w sposób niebezpośredni wartość danego wyrazu ciągu.

Bardziej szczegółowo

Programator Kart Master - klient

Programator Kart Master - klient Programator Kart Master - klient Kraków 2002.11.27 SPIS TREŚCI 1 WSTĘP... 2 2 ROZPOCZĘCIE PRACY Z PROGRAMEM... 3 3 ZMIANA KLUCZA DOSTĘPU.... 4 4 GENEROWANIE KART UŻYTKOWNIKÓW... 5 1 1 Wstęp Programator

Bardziej szczegółowo

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej. Efekty dla studiów pierwszego stopnia profil ogólnoakademicki na kierunku Informatyka w języku polskim i w języku angielskim (Computer Science) na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie-

Bardziej szczegółowo

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ ELEMETY ELEKTRONIKI LABORATORIUM Kierunek NAWIGACJA Specjalność Transport morski Semestr II Ćw. 2 Filtry analogowe układy całkujące i różniczkujące Wersja opracowania

Bardziej szczegółowo

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013 SIMULINK część pakietu numerycznego MATLAB (firmy MathWorks) służąca do przeprowadzania symulacji komputerowych. Atutem programu jest interfejs graficzny (budowanie układów na bazie logicznie połączonych

Bardziej szczegółowo

Przetwarzanie sygnałów

Przetwarzanie sygnałów Przetwarzanie sygnałów Ćwiczenie 5 Filtry o nieskończonej odpowiedzi impulsowej (NOI) Spis treści 1 Wprowadzenie 1 1.1 Filtry jednobiegunowe....................... 1 1.2 Filtry wąskopasmowe........................

Bardziej szczegółowo

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1 Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).

Bardziej szczegółowo

Prof. Stanisław Jankowski

Prof. Stanisław Jankowski Prof. Stanisław Jankowski Zakład Sztucznej Inteligencji Zespół Statystycznych Systemów Uczących się p. 228 sjank@ise.pw.edu.pl Zakres badań: Sztuczne sieci neuronowe Maszyny wektorów nośnych SVM Maszyny

Bardziej szczegółowo

ODRĘBNA KOMPRESJA WYŻSZYCH OKTAW ELEKTROKARDIOGRAMU

ODRĘBNA KOMPRESJA WYŻSZYCH OKTAW ELEKTROKARDIOGRAMU ODRĘBNA KOMPRESJA WYŻSZYCH OKTAW ELEKTROKARDIOGRAMU Piotr Augustyniak Katedra Automatyki AGH, 30-059 Kraków, Mickiewicza 30, e_mail: august@biocyb.ia.agh.edu.pl Streszczenie Przedmiotem referatu jest algorytm

Bardziej szczegółowo

Podsumowanie wyników ankiety

Podsumowanie wyników ankiety SPRAWOZDANIE Kierunkowego Zespołu ds. Programów Kształcenia dla kierunku Informatyka dotyczące ankiet samooceny osiągnięcia przez absolwentów kierunkowych efektów kształcenia po ukończeniu studiów w roku

Bardziej szczegółowo

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny. Filtracja nieliniowa może być bardzo skuteczną metodą polepszania jakości obrazów Filtry nieliniowe Filtr medianowy Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy

Bardziej szczegółowo

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, 2017 Spis treści Przedmowa 11 ROZDZIAŁ 1 Wstęp 13 1.1. Rys historyczny 14 1.2. Norma IEC 61131 19 1.2.1. Cele i

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Bardziej szczegółowo

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe PB, 2009 2010 Sztuczna Inteligencja Tematy projektów Sieci Neuronowe Projekt 1 Stwórz projekt implementujący jednokierunkową sztuczną neuronową złożoną z neuronów typu sigmoidalnego z algorytmem uczenia

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Funkcje systemu infokadra

Funkcje systemu infokadra System Informacji Zarządczej - infokadra jest rozwiązaniem skierowanym dla kadry zarządzającej w obszarze administracji publicznej. Jest przyjaznym i łatwym w użyciu narzędziem analityczno-raportowym,

Bardziej szczegółowo

Analiza sygnałów biologicznych

Analiza sygnałów biologicznych Analiza sygnałów biologicznych Paweł Strumiłło Zakład Elektroniki Medycznej Instytut Elektroniki PŁ Co to jest sygnał? Funkcja czasu x(t) przenosząca informację o stanie lub działaniu układu (systemu),

Bardziej szczegółowo

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK Kto? dr inż. Tomasz Janiczek tomasz.janiczek@pwr.edu.pl s. P1.2, C-16 dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

System wizyjny OMRON Xpectia FZx

System wizyjny OMRON Xpectia FZx Ogólna charakterystyka systemu w wersji FZ3 w zależności od modelu można dołączyć od 1 do 4 kamer z interfejsem CameraLink kamery o rozdzielczościach od 300k do 5M pikseli możliwość integracji oświetlacza

Bardziej szczegółowo

b n y k n T s Filtr cyfrowy opisuje się również za pomocą splotu dyskretnego przedstawionego poniżej:

b n y k n T s Filtr cyfrowy opisuje się również za pomocą splotu dyskretnego przedstawionego poniżej: 1. FILTRY CYFROWE 1.1 DEFIICJA FILTRU W sytuacji, kiedy chcemy przekształcić dany sygnał, w inny sygnał niezawierający pewnych składowych np.: szumów mówi się wtedy o filtracji sygnału. Ogólnie Filtracją

Bardziej szczegółowo

SYSTEM BIOMETRYCZNY IDENTYFIKUJĄCY OSOBY NA PODSTAWIE CECH OSOBNICZYCH TWARZY. Autorzy: M. Lewicka, K. Stańczyk

SYSTEM BIOMETRYCZNY IDENTYFIKUJĄCY OSOBY NA PODSTAWIE CECH OSOBNICZYCH TWARZY. Autorzy: M. Lewicka, K. Stańczyk SYSTEM BIOMETRYCZNY IDENTYFIKUJĄCY OSOBY NA PODSTAWIE CECH OSOBNICZYCH TWARZY Autorzy: M. Lewicka, K. Stańczyk Kraków 2008 Cel pracy projekt i implementacja systemu rozpoznawania twarzy, który na podstawie

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: laboratorium PROJEKT ZESPOŁOWY DYPLOMOWY IO Team Project SE Forma studiów:

Bardziej szczegółowo

Systemy uczące się Lab 4

Systemy uczące się Lab 4 Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego

Bardziej szczegółowo

Przekształcenia sygnałów losowych w układach

Przekształcenia sygnałów losowych w układach INSTYTUT TELEKOMUNIKACJI ZAKŁAD RADIOKOMUNIKACJI Instrukcja laboratoryjna z przedmiotu Sygnały i kodowanie Przekształcenia sygnałów losowych w układach Warszawa 010r. 1. Cel ćwiczenia: Ocena wpływu charakterystyk

Bardziej szczegółowo

Zaawansowane algorytmy DSP

Zaawansowane algorytmy DSP Zastosowania Procesorów Sygnałowych dr inż. Grzegorz Szwoch greg@multimed.org p. 732 - Katedra Systemów Multimedialnych Zaawansowane algorytmy DSP Wstęp Cztery algorytmy wybrane spośród bardziej zaawansowanych

Bardziej szczegółowo

Aby mieć możliwość przeglądania danych z 12 kanałów rejestrator powinien być ustawiony na 12-kanałowy tryb pracy. Dostępne tryby 12-kanałowe to:

Aby mieć możliwość przeglądania danych z 12 kanałów rejestrator powinien być ustawiony na 12-kanałowy tryb pracy. Dostępne tryby 12-kanałowe to: Dane 12-kanałowe Oprogramowanie Holter LX umożliwia przeglądanie i edycję 12-kanałowego zapisu zarejestrowanego za pomocą rejestratora DR-180+ przy użyciu jednego z trybów rejestracji 12-kanałowej. Dane

Bardziej szczegółowo

Charakterystyka amplitudowa i fazowa filtru aktywnego

Charakterystyka amplitudowa i fazowa filtru aktywnego 1 Charakterystyka amplitudowa i fazowa filtru aktywnego Charakterystyka amplitudowa (wzmocnienie amplitudowe) K u (f) jest to stosunek amplitudy sygnału wyjściowego do amplitudy sygnału wejściowego w funkcji

Bardziej szczegółowo

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0, Bierne obwody RC. Filtr dolnoprzepustowy. Filtr dolnoprzepustowy jest układem przenoszącym sygnały o małej częstotliwości bez zmian, a powodującym tłumienie i opóźnienie fazy sygnałów o większych częstotliwościach.

Bardziej szczegółowo

Rejestracja i analiza sygnału EKG

Rejestracja i analiza sygnału EKG Rejestracja i analiza sygnału EKG Aparat do rejestracji czynności elektrycznej serca skonstruowany przez W. Einthovena. Proszę zauważyć w jakich miejscach na ciele zbierana jest sygnał. Rozchodzenie się

Bardziej szczegółowo

Analiza właściwości filtrów dolnoprzepustowych

Analiza właściwości filtrów dolnoprzepustowych Ćwiczenie Analiza właściwości filtrów dolnoprzepustowych Program ćwiczenia. Zapoznanie się z przykładową strukturą filtra dolnoprzepustowego (DP) rzędu i jego parametrami.. Analiza widma sygnału prostokątnego.

Bardziej szczegółowo

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA Symbol Efekty kształcenia dla kierunku studiów INFORMATYKA, specjalność: 1) Sieciowe systemy informatyczne. 2) Bazy danych Absolwent studiów I stopnia kierunku Informatyka WIEDZA Ma wiedzę z matematyki

Bardziej szczegółowo

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

!!!!!!!!!!! PORTFOLIO: Analiza zachowań użytkowników serwisów internetowych. Autorzy: Marek Zachara

!!!!!!!!!!! PORTFOLIO: Analiza zachowań użytkowników serwisów internetowych. Autorzy: Marek Zachara PORTFOLIO: Analiza zachowań użytkowników serwisów internetowych Autorzy: Marek Zachara Opis merytoryczny Cel naukowy (jaki problem wnioskodawca podejmuje się rozwiązać, co jest jego istotą, co uzasadnia

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY MAJ 2014 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY MAJ 2014 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2013 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo