Pracownia Sygnałów Biologicznych/Zajecia 10: Różnice pomiędzy wersjami
Linia 3: | Linia 3: | ||
== Widmo sygnału spoczynkowego EEG == | == Widmo sygnału spoczynkowego EEG == | ||
− | * Z zapisów wykonanych na poprzednich zajęciach wybierz dwa fragmenty: | + | * Z zapisów wykonanych na poprzednich zajęciach wybierz dwa fragmenty (z sygnału norma.raw wybierz minutę pomiędzy 2-3 min i pomiędzy 4-5 min): |
** zapis spoczynkowy z oczami otwartymi (tam gdzie nie były specjalnie wytwarzane artefakty) | ** zapis spoczynkowy z oczami otwartymi (tam gdzie nie były specjalnie wytwarzane artefakty) | ||
** zapis spoczynkowy z oczami zamkniętymi | ** zapis spoczynkowy z oczami zamkniętymi | ||
Linia 27: | Linia 27: | ||
| || O1 || || O2 || | | || O1 || || O2 || | ||
|} | |} | ||
− | |||
==Identyfikacja artefaktów == | ==Identyfikacja artefaktów == |
Aktualna wersja na dzień 07:11, 14 cze 2024
Pracownia Sygnałów Bioelektrycznych/Analiza EEG
Widmo sygnału spoczynkowego EEG
- Z zapisów wykonanych na poprzednich zajęciach wybierz dwa fragmenty (z sygnału norma.raw wybierz minutę pomiędzy 2-3 min i pomiędzy 4-5 min):
- zapis spoczynkowy z oczami otwartymi (tam gdzie nie były specjalnie wytwarzane artefakty)
- zapis spoczynkowy z oczami zamkniętymi
- zmontuj sygnały do średniej z kanałów M1 i M2 (od każdego kanału odejmij średnią z M1 i M2)
- przefiltruj sygnały górnoprzepustowo z częstościa odcięcia 0.5 Hz, i dolnoprzepustowo z częstością odcięcia 40 Hz, oba filtry Butterwortha 2 rzędu
- dla tych zapisów wyestymuj widma metodą Welcha:
- dobierając długość okna tak aby uzyskać rozdzielczość 1 Hz
- na wykresach:
- zakres osi poziomej ogranicz do 60Hz
- zakres osi pionowej dobierz tak aby był wspólny dla wszystkich kanałów
- zaprezentuj wyniki dla poszczególnych kanałów układając wykresy topograficznie, tzn. w siatce subplotów 5x5:
Fp1 | Fp2 | |||
F7 | F3 | Fz | F4 | F8 |
T3 | C3 | Cz | C4 | T4 |
T5 | P3 | Pz | P4 | T6 |
O1 | O2 |
Identyfikacja artefaktów
- sygnały z artefaktami przefiltruj analogicznie jak w poprzednim punkcie
- wybierz po jednym przykładzie o długości 6s prezentującym zarejestrowane artefakty,
- porównaj przebiegi tych sygnałów w montażu:
- do średniej z M1 i M2 i
- do średniej ze wszystkich kanałów
- wykreśl przebiegi sygnałów (na wspólnym plocie, sygnały z poszczególnych kanałów poprzesuwaj w pionie względem siebie dodając do poszczególnych kanałów inną wartość satłą)
- w opisie zwróć uwagę na amplitudę i rozkład przestrzenny tej amplitudy artefaktów w obu montażach, rozkład przestrzenny amplitudy przedstaw w postaci heatmapy 5x5 o układzie topograficznym, takiej, że kolor danego pola jest wartością standardowego odchylenia sygnału w odpowiadającym mu kanale.
ICA (ćwiczenie dodatkowe)
Popularna w ostatnich latach metoda "czyszczenia" sygnału z artefaktów opiera się na analizie składowych niezależnych.
Analiza składowych niezależnych (ang. Independent Components Analysis, ICA) to jedno z określeń dla metod rozwiązywania problemu tzw. ślepej separacji źródeł (blind source separation, BSS). Przyjęty model zakłada, że mamy do czynienia z następującą sytuacją: dane którymi dysponujemy ([math]\vec{x}[/math] — np. zapisy z kilku mikrofonów) są liniową mieszaniną kilku statystycznie niezależnych sygnałów ([math]\vec{s}[/math] — np. głosy kilku mówiących jednocześnie osób, tzw. cocktail party problem):
[math] \vec{x} = A \vec{s} [/math]
[math]A[/math] zwiemy macierzą mieszającą, a rozwiązania szukamy w postaci macierzy separującej [math]B[/math], takiej, że wektor sygnałów
[math] \vec{y}=B\vec{x} [/math]
jest możliwie bliski (nieznanym) sygnałom [math]\vec{s}[/math]. Wymóg niezależności statystycznej elementów [math]\vec{y}[/math] wymaga uwzględnienia statystyk rzędów wyższych niż 2.
Procedura usuwania artefaktów polega na zerowaniu komponentów, które zidentyfikujemy -- na przykład na podstawie kształtu, widma i rozkładu przestrzennego -- i odtwarzaniu sygnału z pominięciem tych komponentów. Procedura jest zaimplementowania w programie Svarog, którego aktualną wersję można ściągnąć stąd: https://braintech.pl/software/svarog-streamer/
Z poziomu pythona najłatwiej skorzystać z implementacji w bibliotece mne: https://mne.tools/stable/auto_tutorials/preprocessing/40_artifact_correction_ica.html