Pracownia Sygnałów Biologicznych/Zajecia 10: Różnice pomiędzy wersjami
Linia 35: | Linia 35: | ||
** do średniej z M1 i M2 i | ** do średniej z M1 i M2 i | ||
** do średniej ze wszystkich kanałów | ** do średniej ze wszystkich kanałów | ||
− | *** wykreśl przebiegi sygnałów (na wspólnym plocie, sygnały z poszczególnych kanałów poprzesuwaj 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 |
Wersja z 11:18, 6 cze 2024
Pracownia Sygnałów Bioelektrycznych/Analiza EEG
Widmo sygnału spoczynkowego EEG
- Z zapisów wykonanych na poprzednich zajęciach wybierz dwa fragmenty:
- 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