Pracownia Sygnałów Biologicznych/Zajecia 2 4: Różnice pomiędzy wersjami
m (→Ćwiczenia) |
m |
||
(Nie pokazano 19 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
+ | [[Pracownia Sygnałów Bioelektrycznych]]/EKG | ||
+ | |||
==Rejestracja i analiza sygnału EKG== | ==Rejestracja i analiza sygnału EKG== | ||
Linia 70: | Linia 72: | ||
+ | <!-- | ||
=== Ćwiczenie 0: wstępne === | === Ćwiczenie 0: wstępne === | ||
* Podaj związek pomiędzy sygnałami mierzonymi w systemie Goldbergera, a systemem Einthovena. | * Podaj związek pomiędzy sygnałami mierzonymi w systemie Goldbergera, a systemem Einthovena. | ||
* Podaj analogiczny związek pomiędzy sygnałami w odniesieniach Goldberga co ''Prawo Einthovena''. | * Podaj analogiczny związek pomiędzy sygnałami w odniesieniach Goldberga co ''Prawo Einthovena''. | ||
− | * Pokaż, że w systemie Goldbergera uzyskuje się sygnały o amplitudzie o 50% wyższej niż w pierwotnym systemie Wilsona. | + | * Pokaż, że w systemie Goldbergera uzyskuje się sygnały o amplitudzie o 50% wyższej niż w pierwotnym systemie Wilsona. |
+ | --> | ||
+ | |||
+ | == Realizacja w grupie == | ||
+ | === Ćwiczenie 1: rejestracja sygnału === | ||
+ | Wybierz 2 filmy: relaksujący i pobudzający/stresujący | ||
+ | |||
+ | Podłącz elektrody: | ||
+ | * lewa ręka, | ||
+ | * prawa ręka, | ||
+ | * lewa noga, | ||
+ | * uziemienie do prawej nogi. | ||
+ | Zbierz 4 fragment sygnału EKG przy pomocy Svaroga. | ||
− | + | * Częstotliwość próbkowania 2048 Hz. | |
− | |||
− | |||
− | * Częstotliwość próbkowania | ||
* Długość zapisu 120 s. | * Długość zapisu 120 s. | ||
* Proszę zapisać sygnały w następujących warunkach: | * Proszę zapisać sygnały w następujących warunkach: | ||
Linia 86: | Linia 98: | ||
** podczas oglądania pobudzającego/stresującego filmu | ** podczas oglądania pobudzającego/stresującego filmu | ||
** po wysiłku fizycznym (odpiąć zatrzaskowe elektrody, przejść się po schodach i podłączyć ponownie ) | ** po wysiłku fizycznym (odpiąć zatrzaskowe elektrody, przejść się po schodach i podłączyć ponownie ) | ||
+ | * zebrane sygnały zapisz na dysku classroom | ||
+ | Zapoznaj się z zagadnieniem filtrowania dla sygnałów EKG: | ||
+ | * Proszę przejrzeć pracę: Shen Luo, Paul Johnston. A review of electrocardiogram filtering, ''Journal of Electrocardiology'', 2010, Volume 43, Issue 6, Pages 486-496 (https://www.sciencedirect.com/science/article/pii/S0022073610002852?via%3Dihub) | ||
+ | * popróbować uzyskać opisane tam filtry w SVAROGU i zaaplikować je do zebranych danych | ||
+ | |||
+ | == Realizacja indywidualna w notebooku == | ||
===Ćwiczenie 2: Wstępna obróbka sygnału EKG === | ===Ćwiczenie 2: Wstępna obróbka sygnału EKG === | ||
Napisz program który: | Napisz program który: | ||
− | * wczytuje | + | * wczytuje sygnał |
* wykonuje stosowne filtracje (stosujemy filtrację z zerowym przesunięciem fazowym: filtfilt): | * wykonuje stosowne filtracje (stosujemy filtrację z zerowym przesunięciem fazowym: filtfilt): | ||
** Filtr górnoprzepustowy z częstością odcięcia 0.67 Hz (przy tej częstości wymagamy 3dB tłumienia) i poniżej 0.5-dB tętnień w paśmie 1 - 30 Hz. Proszę sprawdzić charakterystyki). | ** Filtr górnoprzepustowy z częstością odcięcia 0.67 Hz (przy tej częstości wymagamy 3dB tłumienia) i poniżej 0.5-dB tętnień w paśmie 1 - 30 Hz. Proszę sprawdzić charakterystyki). | ||
<!--(wymagania te powinien spełnić np. filtr 1 rzędu, Butterwortha, częstość odcięcia 0.25Hz - --> | <!--(wymagania te powinien spełnić np. filtr 1 rzędu, Butterwortha, częstość odcięcia 0.25Hz - --> | ||
− | ** Filtr dolnoprzepustowy z częstością odcięcia | + | ** Filtr dolnoprzepustowy z częstością odcięcia 150Hz (wymagania te powinien spełnić np. filtr 2 rzędu, Butterwortha, - proszę sprawdzić charakterystyki). <!--150 Hz i płaskim pasmem przenoszenia w zakresie 1 |
częstość odcięcia 150 Hz --> | częstość odcięcia 150 Hz --> | ||
− | ** Filtr pasmowo-zaporowy (notch) dla 50 Hz iirnotch (scipy.signal.iirnotch( | + | ** Filtr pasmowo-zaporowy (notch) dla 50 Hz iirnotch (scipy.signal.iirnotch()) |
<!--(proszę sprawdzić charakterystyki dla filtra Chebysheva 2 rodzaju, 2 rzędu z częstościami odcięcia 49 i 51 Hz i rs = 25 dB)--> | <!--(proszę sprawdzić charakterystyki dla filtra Chebysheva 2 rodzaju, 2 rzędu z częstościami odcięcia 49 i 51 Hz i rs = 25 dB)--> | ||
− | |||
* rysuje sygnał w odprowadzeniach Einthovena i Goldberga, | * rysuje sygnał w odprowadzeniach Einthovena i Goldberga, | ||
− | * wybierz "czysty" fragment sygnału i zidentyfikuj poszczególne załamki. | + | * wybierz "czysty" fragment sygnału i zidentyfikuj poszczególne załamki. (można wykorzystać funkcję matplotlib.pyplot.axvspan) |
+ | |||
+ | ===Ćwiczenie 3: Detekcja pików R === | ||
+ | * Zaproponuj metodę rozpoznawania pików R w sygnale, wybierz do tego optymalny kanał. Przedstaw fragment sygnału z zaznaczonymi pikami R. (można skorzystać z funkcji scipy.signal.find_peaks - dobór parametrów funkcji oprzyj na badaniu histogramów odpowiednich parametrów) | ||
− | + | Przydatne pojęcie: (ang.) [https://pl.wikipedia.org/wiki/Minimalna_deniwelacja_wzgl%C4%99dna prominence - wybitność piku] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Ćwiczenie 4: Tętno === | ===Ćwiczenie 4: Tętno === | ||
− | Napisz program, który wczyta plik z sygnałem i na jego podstawie wyznaczy tętno (ang. ''heart rate''). | + | Napisz program, który: |
− | * Oblicz średnie tętno | + | * wczyta plik z sygnałem i na jego podstawie |
− | + | * wyznaczy i wykreśli tętno - liczbę uderzeń serca na minutę (ang. ''heart rate''). | |
− | + | * Oblicz średnie tętno i jego standardowe odchylenie. | |
− | |||
− | |||
− | |||
===Ćwiczenie 5: HRV === | ===Ćwiczenie 5: HRV === | ||
Linia 131: | Linia 142: | ||
*** implementacja: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.lombscargle.html#r0520a0371844-2 | *** implementacja: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.lombscargle.html#r0520a0371844-2 | ||
--> | --> | ||
− | ** można zinterpolować punkty na równomiernie próbkowanej siatce https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html#scipy.interpolate.interp1d i zastosować standardową | + | ** można zinterpolować punkty na równomiernie próbkowanej siatce https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html#scipy.interpolate.interp1d i zastosować standardową funkcję do estymacji: |
− | * porównaj widma HRV w poszczególnych warunkach eksperymentalnych. | + | *** periodogramów |
+ | *** widma metodą AR | ||
+ | * porównaj widma HRV w poszczególnych warunkach eksperymentalnych; zwróć uwagę na proporcje mocy w pasmach wysokich częstości (HF: 0.15 do 0.4 Hz), niskich częśtości (LF: 0.04 do 0.15 Hz) i bardzo niskich częstości (VLF: 0.0033 do 0.04 Hz). | ||
==Literatura uzupełniająca== | ==Literatura uzupełniająca== |
Aktualna wersja na dzień 19:10, 5 maj 2024
Pracownia Sygnałów Bioelektrycznych/EKG
Spis treści
Rejestracja i analiza sygnału EKG
Lektura: Electric and Magnetic Measurement of the Electric Activity of the Heart/12-Lead ECG System
Mechanizm powstawania czynności elektrycznej serca został omówiony na zajęciach „Sygnały Bioelektryczne". W tym miejscu przypomnimy tylko kilka ważnych (i ciekawych) faktów.
- Czynność elektryczna serca znana jest od połowy XIX, jednakże za początek narodzin elektrokardiografii uznaje się rok 1903, kiedy to W. Einthoven dokonał pomiaru czynności elektrycznej serca z powierzchni ciała (rys. 1). Jako metoda diagnostyczna, elektrokardiografia zaczęła się szybko rozwijać po roku 1936, kiedy to do rejestracji czynności elektrycznej serca zastosowano wzmacniacz lampowy oraz system zapisu pomiaru na papierze.
- Serce posiada specjalny, wzbudzany samoczynnie układ, który generuje i przewodzi bodźce elektryczne. Następstwem działania tego układu jest rytmiczna praca serca o częstości od 70 do 180 cykli na minutę (częstość ta ulega zmianom pod wpływem czynników biochemicznych, powstałych np. w skutek stresu).
- Elektroda rejestrująca sygnał EKG zbiera czynność elektryczną wszystkich komórek serca, a zatem zarówno komórek wchodzących w skład układu generującego i przewodzącego impulsy elektryczne oraz kurczących się pod wpływem impulsów sterujących mięśni, które kurcząc się, również wytwarzają sygnał elektryczny. Jednakże, z uwagi na nieporównywalnie dużo większą masę mięśni serca w porównaniu z masą komórek układu stymulującego przyjmuje się, że głównym składnikiem sygnału EKG jest czynność elektryczna mięśnia sercowego.
- W przybliżeniu, sygnał stymulujący pracę serca rozchodzi się z jego prawej górnej części w kierunku dolnym i na lewą stronę. Na skutek pobudzania kolejnych partii mięśnia sercowego, powstaje charakterystyczny kształt sygnału EKG (rys. 2, rys. 3).
- Oznaczenia kolejnych składowych sygnału EKG:
- odchylenia od linii poziomej (izoelektrycznej) nazywamy załamkami,
- odległość w czasie pomiędzy końcem załamka P i początkiem załamka Q oraz końcem załamka S i początkiem załamka T nazywamy odcinkami — odpowiednio PQ i ST.
- Elektrody pomiarowe połączone do aparatury rejestrujących nazywamy odprowadzeniami. Uwaga — przyjęto odprowadzeniami oznaczać także sygnały EKG będące liniowymi kombinacjami sygnałów zebranych przez elektrody.
- W konwencjonalnej elektroencefalografii stosuje się 12 tzw. odprowadzeń klasycznych:
- Trzy odprowadzenia kończynowe biegunowe, zaproponowane jeszcze przez Einthoven i oznaczane rzymskimi cyframi I, II i III. Elektrody w tym systemie umieszcza się prawej (R) (ang. right) i lewej (L) (ang. left) kończynie górnej (najczęściej w okolicy nadgarstka, czasem ramieniu lub czy barku) oraz lewej nodze w okolicy stopy (F) (ang. foot). Elektrodę umieszczaną na prawym nadgarstku oznacza się kolorem czerwonym, na lewym żółtym, na lewej kostce zielonym. Elektrodę masy umieszcza się zwykle na lewej kostce (choć teoretycznie można ją aplikować gdziekolwiek) i jest ona oznaczona kolorem czarnym. Odprowadzenia kończynowe mierzą różnicę napięć pomiędzy miejscami przyłożenia elektrod w następujący sposób:
[math] \begin{array}{ll} I & = V_{L} - V_{R} \\ II & = V_{F} - V_{R} \\ III & = V_{F} - V_{L} \end{array} [/math]gdzie:
[math]V_{R}, V_{L}, V_{F}[/math] to potencjały odpowiednio na prawym i lewym nadgarstku oraz stopie mierzone względem elektrody masy.
Jak łatwo zauważyć, tylko dwa spośród powyższych napięć są liniowo niezależne, co można zapisać w postaci związku:[math]I + III = II[/math]który nazywany jest prawem Einthovena. Proszę zauważyć, iż w tym przypadku wzmacniane jest sygnał będący różnicą napięć dwóch kolejnych elektrod, stąd też te odprowadzenia nazywamy dwubiegunowymi (bipolarnymi).
- Trzy odprowadzenia jednobiegunowe Goldberga. W odprowadzeniach tych sygnał w danym odprowadzeniu jest różnicą napięć pomiędzy elektrodą pomiarową a średnim napięciem na dwóch pozostałych elektrodach:
[math] \begin{array}{ll} aV_{R} & = V_{R} - \frac{V_{L}+V_{F}}{2} \\ aV_{L} & = V_{L} - \frac{V_{R}+V_{F}}{2} \\ aV_{F} & = V_{F} - \frac{V_{L}+V_{R}}{2} \end{array} [/math]
- Sześć odprowadzeń jednobiegunowych Wilsona. W przypadku warto zapoznać się z z historią tych odprowadzeń. Początkowo Wilson zaproponował układ jednobiegunowych doniesień dla kończyn w następujący sposób:
[math] \begin{array}{ll} V_{LW} & = V_{L} - \frac{V_{R}+V_{L}+ V_{F}}{3} \\ V_{RW} & = V_{R} - \frac{V_{R}+V_{L}+ V_{F}}{3} \\ V_{FW} & = V_{F} - \frac{V_{R}+V_{L}+ V_{F}}{3} \end{array} [/math]
Jak widzimy, jako elektrodę odniesienia wybrał on średnie napięcie rejestrowane przez elektrody. Niestety, sygnały prezentowane w tym systemie miały małą amplitudę, w związku z czym tego rodzaju odprowadzenia nie stosowano w praktyce. Z systemu zaproponowanego przez Wilsona wywodzi się jednak system odniesień Goldberga, który zauważył, że napięcie na trzeciej kończynie można zwiększyć o 50% jeśli do wyznaczenia napięcia odniesienia zastosuje się dwie, a nie trzy elektrody. Metoda wyznaczania potencjału odniesienia zaproponowana przez Wilsona znalazła jednak zastosowanie przy mierzeniu czynności elektrycznej serca mierzonej z powierzchni klatki piersiowej. W tym celu elektrody umieszcza się w pewnych ustalonych miejscach (rys. 4, zaś odprowadzenia oznacza się symbolami [math]V_1, V_2, \dots, V_6[/math]. Odniesieniem w tym przypadku jest średni sygnał rejestrowany na kończynach górnych i lewej stopie.
- Trzy odprowadzenia kończynowe biegunowe, zaproponowane jeszcze przez Einthoven i oznaczane rzymskimi cyframi I, II i III. Elektrody w tym systemie umieszcza się prawej (R) (ang. right) i lewej (L) (ang. left) kończynie górnej (najczęściej w okolicy nadgarstka, czasem ramieniu lub czy barku) oraz lewej nodze w okolicy stopy (F) (ang. foot). Elektrodę umieszczaną na prawym nadgarstku oznacza się kolorem czerwonym, na lewym żółtym, na lewej kostce zielonym. Elektrodę masy umieszcza się zwykle na lewej kostce (choć teoretycznie można ją aplikować gdziekolwiek) i jest ona oznaczona kolorem czarnym. Odprowadzenia kończynowe mierzą różnicę napięć pomiędzy miejscami przyłożenia elektrod w następujący sposób:
Ćwiczenia
Aby uruchomić zbieranie sygnału należy wykonać następujące operacje:
- przykleić elektrody do badanego;
- włożyć przewody do elektrod, a potem do wzmacniacza;
- podłączyć zasilanie wzmacniacza;
- podłączyć wzmacniacz do komputera (przejściówka optyczna i kabel USB);
- uruchomić program SVAROG
- otworzyć sygnał on-line ze wzmacniacza.
- Po tym poleceniu wzmacniacz powinien wyświetlać napis „Fiber”; napis „Connect” oznacza, że połączenie wzmacniacza z komputerem nie udało się.
Realizacja w grupie
Ćwiczenie 1: rejestracja sygnału
Wybierz 2 filmy: relaksujący i pobudzający/stresujący
Podłącz elektrody:
- lewa ręka,
- prawa ręka,
- lewa noga,
- uziemienie do prawej nogi.
Zbierz 4 fragment sygnału EKG przy pomocy Svaroga.
- Częstotliwość próbkowania 2048 Hz.
- Długość zapisu 120 s.
- Proszę zapisać sygnały w następujących warunkach:
- spoczynkowe
- podczas oglądania relaksującego filmu
- podczas oglądania pobudzającego/stresującego filmu
- po wysiłku fizycznym (odpiąć zatrzaskowe elektrody, przejść się po schodach i podłączyć ponownie )
- zebrane sygnały zapisz na dysku classroom
Zapoznaj się z zagadnieniem filtrowania dla sygnałów EKG:
- Proszę przejrzeć pracę: Shen Luo, Paul Johnston. A review of electrocardiogram filtering, Journal of Electrocardiology, 2010, Volume 43, Issue 6, Pages 486-496 (https://www.sciencedirect.com/science/article/pii/S0022073610002852?via%3Dihub)
- popróbować uzyskać opisane tam filtry w SVAROGU i zaaplikować je do zebranych danych
Realizacja indywidualna w notebooku
Ćwiczenie 2: Wstępna obróbka sygnału EKG
Napisz program który:
- wczytuje sygnał
- wykonuje stosowne filtracje (stosujemy filtrację z zerowym przesunięciem fazowym: filtfilt):
- Filtr górnoprzepustowy z częstością odcięcia 0.67 Hz (przy tej częstości wymagamy 3dB tłumienia) i poniżej 0.5-dB tętnień w paśmie 1 - 30 Hz. Proszę sprawdzić charakterystyki).
- Filtr dolnoprzepustowy z częstością odcięcia 150Hz (wymagania te powinien spełnić np. filtr 2 rzędu, Butterwortha, - proszę sprawdzić charakterystyki).
- Filtr pasmowo-zaporowy (notch) dla 50 Hz iirnotch (scipy.signal.iirnotch())
- rysuje sygnał w odprowadzeniach Einthovena i Goldberga,
- wybierz "czysty" fragment sygnału i zidentyfikuj poszczególne załamki. (można wykorzystać funkcję matplotlib.pyplot.axvspan)
Ćwiczenie 3: Detekcja pików R
- Zaproponuj metodę rozpoznawania pików R w sygnale, wybierz do tego optymalny kanał. Przedstaw fragment sygnału z zaznaczonymi pikami R. (można skorzystać z funkcji scipy.signal.find_peaks - dobór parametrów funkcji oprzyj na badaniu histogramów odpowiednich parametrów)
Przydatne pojęcie: (ang.) prominence - wybitność piku
Ćwiczenie 4: Tętno
Napisz program, który:
- wczyta plik z sygnałem i na jego podstawie
- wyznaczy i wykreśli tętno - liczbę uderzeń serca na minutę (ang. heart rate).
- Oblicz średnie tętno i jego standardowe odchylenie.
Ćwiczenie 5: HRV
HRV - heart rate variability.
- zapoznaj się z koncepcją HRV
- Literatura Heart rate variability: a review.
- napisz program, który przedstawiwa interwały R-R jako szereg czasowy
- wyestymuj widmo częstotliwościowe tego sygnału
- uwaga: próbki są pobierane w różnych odstępach!
- można zinterpolować punkty na równomiernie próbkowanej siatce https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html#scipy.interpolate.interp1d i zastosować standardową funkcję do estymacji:
- periodogramów
- widma metodą AR
- porównaj widma HRV w poszczególnych warunkach eksperymentalnych; zwróć uwagę na proporcje mocy w pasmach wysokich częstości (HF: 0.15 do 0.4 Hz), niskich częśtości (LF: 0.04 do 0.15 Hz) i bardzo niskich częstości (VLF: 0.0033 do 0.04 Hz).
Literatura uzupełniająca