Pracownia EEG/Potencjały wywołane

Z Brain-wiki
Wersja z dnia 18:39, 23 maj 2015 autorstwa Jarekz (dyskusja | edycje) (Utworzono nową stronę "=Wstęp= ==Potencjały wywołane== {{EEG:Potencjały_wywołane}} ===Załamki w krzywej potencjału wywołanego vs ukryte komponenty=== Komponenta potencjału wywołanego...")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Wstęp

Potencjały wywołane

Szablon:EEG:Potencjały wywołane

Załamki w krzywej potencjału wywołanego vs ukryte komponenty

Komponenta potencjału wywołanego to bardzo ważne ale jednocześnie źle określone pojęcie. Krzywa otrzymana w wyniku uśredniania potencjałów wywołanych przedstawia serię załamków dodatnich i ujemnych, ale trzeba być świadomym, że ten przebieg napięcia rejestrowany przez elektrody przedstawia tak naprawdę sumę potencjałów pochodzących od wielu dość niezależnie działających źródeł w mózgu. Przyczynek pochodzący od jednego funkcjonalnego źródła będziemy określać jako komponentę.

Komentarza wymaga też pojęcie źródła funkcjonalnego. Czynność elektryczną synchronicznie działających neuronów piramidalnych w określonym fragmencie kory mózgowej z pewnej odległości można przybliżyć potencjałem dipola prądowego. Taki aktywny fragment kory stanowi źródło dające przyczynek do mierzonego na powierzchni głowy potencjału. W najprostszej sytuacji taki przyczynek może być obserwowany jako komponenta. Mózg jest jednak obiektem niezwykle złożonym i gęsto połączonym. Wiele obszarów korowych może być funkcjonalnie połączonych i aktywowanych synchronicznie w celu realizacji określonego zadania — o takim funkcjonalnym zespole też możemy myśleć jako o pojedynczym źródle, choć może ono mieć złożoną strukturę przestrzenną. Często zatem myślimy o komponentach ukrytych potencjału wywołanego jako o aktywności takich funkcjonalnych zespołów.

Po tym wstępie widać już chyba, że do zrozumienia co dzieje się w czasie reakcji na bodziec, którą obserwujemy w potencjale wywołanym, bardziej pożądane byłoby badanie komponent ukrytych niż poszczególnych załamków krzywej potencjału wywołanego, która stanowi ważoną sumę owych komponentów. Zanim przejdziemy do omówienia technik służących „wyłuskiwaniu” komponent prześledźmy kilka symulacji i wnioski z nich płynące.

Załamki i komponenty nie są tym samym.

Tę samą krzywą można otrzymać na nieskończenie wiele sposobów przez sumowanie rożnych kombinacji domniemanych komponentów. Przykładowy rysunek pokazuje, jak tę samą krzywą można złożyć z dwóch rożnych zestawów komponentów (kod wytwarzający przykładową symulację pokazany jest poniżej).

Panel a) przedstawia hipotetyczną krzywą ERP, panel b) jedna z możliwych dekompozycji sygnału w panelu a), panel c) inna możliwa dekompozycja sygnału z panelu a)
# -*- coding: utf-8 -*-
from __future__ import division
import numpy as np
from matplotlib.pyplot import plot, show ,subplot, figure, title, xlabel, ylabel, ylim

Fs = 1
t = np.arange(0,700)

C1 = np.exp(-(t-100)**2/(2*30**2))
C2 = np.exp(-(t-200)**2/(2*50**2))
C3 = np.exp(-(t-350)**2/(2*100**2))
ERP = 0.5*C1-C2+C3

C2p = np.concatenate((C2[0:200], np.ones(30), C2[200:700-30] ))
C3p = ERP - 0.5*C1 + C2p
ERP_v2 = 0.5*C1-C2p+C3p

subplot(3,1,1)
plot(t,ERP, t[::10],ERP_v2[::10],'g.')
ylabel('a)',rotation='horizontal')
ylim([-1, 1.5])

subplot(3,1,2)
plot(t,0.5*C1,t,-C2,t,C3)
ylabel('b)',rotation='horizontal')
ylim([-1, 1.5])

subplot(3,1,3)
plot(t,0.5*C1,t,-C2p,t,C3p)
ylabel('c)',rotation='horizontal')
ylim([-1, 1.5])

show()

Zmiana jednej komponenty może powodować zmiany w amplitudzie i latencji więcej niż jednego załamka.

Poniższy rysunek przedstawia sytuację gdy zmiana amplitudy jednego komponentu może znacząco wpływać na amplitudę i latencję innych załamków.

Panel a) przedstawia dwie hipotetyczne krzywe ERP, panel b) panel b i c komponenty z których powstały owe krzywe. Zmiana amplitudy komponentu oznaczonego kolorem powoduje zmianę amplitudy oznaczonych załamków ale także zmianę latencji wcześniejszego załamka.

Poniżej kod odtwarzający powyższy przykład:

# -*- coding: utf-8 -*-
from __future__ import division
import numpy as np
from matplotlib.pyplot import plot, show, subplot, figure, title, xlabel, ylabel, ylim

Fs = 1
t = np.arange(0,700)

C1 = np.exp(-(t-100)**2/(2*30**2))
C2 = np.exp(-(t-200)**2/(2*50**2))
C3 = np.exp(-(t-350)**2/(2*100**2))
ERP1 = 0.5*C1-C2+C3
ERP2 = 0.5*C1-C2+1.5*C3


subplot(3,1,1)
plot(t,ERP1,'b', t,ERP2,'g')
plot(t[np.argmin(ERP1)],np.min(ERP1),'r.' )
plot(t[np.argmax(ERP1)],np.max(ERP1),'m.' )
plot(t[np.argmin(ERP2)],np.min(ERP2),'r.' )
plot(t[np.argmax(ERP2)],np.max(ERP2),'m.' )

ylabel('a)',rotation='horizontal')
ylim([-1, 1.6])

subplot(3,1,2)
plot(t,0.5*C1,'k',t,-C2,'k',t,C3,'b')
ylabel('b)',rotation='horizontal')
ylim([-1, 1.6])

subplot(3,1,3)
plot(t,0.5*C1,'k',t,-C2,'k',t,1.5*C3,'g')
ylabel('c)',rotation='horizontal')
ylim([-1, 1.6])

show()

Instrukcje do ćwiczeń

Zadanie 1: uśrednianie symulowanych sygnałów

w tym ćwiczeniu chcemy pokazać efekty:

  1. uśredniania sygnałów związanych fazowo z bodźcem i nieskorelowanych z bodźcem / wpływ ilości realizacji,
  2. uśredniania sygnałów z fluktuacją latencji,
  3. wpływ filtrów o różnych funkcjach odpowiedzi impulsowej na morfologię uśrednionego potencjału.

Sygnały testowe

Proszę zaimplementować funkcje generujące następujące przebiegi czasowe (oznaczenia: Fs — częstość próbkowania, T — czas trwania w sekundach, analogicznie do tego):

  • sinusoida o zadanej częstości f i fazie [math]\phi[/math]: y = sin(f, phi, Fs, T),
  • funkcja Gaussa o zadanym położeniu i szerokości y = g_1(t0, sigma, Fs, T)
[math]g_1(t) = \exp\left(-\frac{(t-t_0)^2}{2 \sigma^2}\right)[/math],
  • pochodną funkcji Gaussa o zadanym położeniu i szerokości y = g_2(t0, sigma, Fs, T),
  • połowę funkcji Gaussa o zadanym położeniu i szerokości y = g_3(t0, sigma, Fs, T),
[math]g_{3}(t) = \left\{ \begin{array}{lll} 0 & \mathrm{dla}& t\lt t_0 \\ \exp\left(-\frac{(t-t_0)^2}{2 \sigma^2}\right)& \mathrm{dla}& t \ge t_0 \end{array} \right. [/math].

W dalszych zadaniach tej sekcji przyjmiemy:

  • T = 1 s,
  • Fs = 128 Hz,
  • t0 = 0,3 s,
  • σ = 0,02 s.

Uśrednianie w modelu addytywnym: sygnał + szum

Dla funkcji [math]g_1[/math], [math]g_2[/math] i [math]g_3[/math] wykonaj N symulacji sygnału opisanego daną funkcją z dodanym szumem gaussowskim (numpy.random.randn). Zaobserwuj zmianę wariancji uśrednianego sygnału wraz z N.

Uśrednianie w modelu addytywnym: sygnał + szum + niezależna czynność rytmiczna

Powtórz poprzednie symulacje dokładając w każdej realizacji sinusoidę o losowo wybranej fazie. Symulacje wykonaj dla różnych częstości sinusoidy, takich których połówka okresu zbliżona jest do szerokości funkcji Gaussa, oraz znacząco od niej różnych.

Uśrednianie w modelu z resetem fazy

Zbuduj sygnał składający się z dwóch fragmentów sinusoidy o częstości f:

  • pierwszy fragment ma losową fazę,
  • drugi fragment ma fazę równą 0.

Wykonaj N realizacji takiego sygnału, przy czym każda realizacja ma częstość losowaną z rozkładu Gaussa o średniej 10 i pewnej wariancji (czyli [math]f \in \mathrm{N}(10,\sigma)[/math]). Uśrednij otrzymane realizacje. Zaobserwuj zależność średniej od ilości uśrednianych realizacji i od wariancji częstości.

Uśrednianie potencjału z fluktuacją latencji

Wygeneruj sygnały składające się z funkcji [math]g_1[/math], [math]g_2[/math] albo [math]g_3[/math] z fluktuującą latencją, tzn. z wartością [math]t_0[/math] pochodzącą z jakiegoś rozkładu prawdopodobieństwa. U nas dla ustalenia uwagi niech będzie to rozkład Gaussa. Wykonaj zestaw symulacji obrazujący zależność od ilości realizacji i od wielkości fluktuacji, mierzonej przez wariancję rozkładu. Czy jest związek pomiędzy wariancją fluktuacji [math]t_0[/math] a szerokością załamków?

Wpływ filtrów

  1. Zaprojektuj następujące filtry (przyjmij częstość próbkowania 128 Hz):
    • dolnoprzepustowy: Butterwortha z częstością odcięcia: 30, 40, 50 Hz, i rzędach od 1 do 5 (funkcja butter w module scipy.signal),
    • górnoprzepustowy: Butterwortha z częstością odcięcia: 0,1, 0,5, 2 i 5 Hz, i rzędach od 1 do 5,
    • notch: Czybyszewa II rodzaju z pasmem zaporowym ustawionym na 50 Hz, i rzędach od 1 do 3 (funkcja cheby2),
  2. Zbadaj funkcję odpowiedzi impulsowej i funkcję przenoszenia tych filtrów (w skali dB). Zaobserwuj jak długa jest odpowiedź impulsowa i jak daleko od częstości odcięcia zaburzone jest pasmo przenoszenia.
  3. Zastosuj powyższe filtry do funkcji [math]g_1[/math], [math]g_2[/math] albo [math]g_3[/math]. Filtrowanie przeprowadź w jedną (lfilter) oraz w dwie strony (filtfilt). Zaobserwuj związek między zniekształceniem wprowadzanym przez filtr a funkcją odpowiedzi impulsowej filtru.
  4. W ćwiczeniu tym posłuż się symulowanymi sygnałami uzyskanymi z modelu addytywnego: „sygnał+szum”. Dla funkcji [math]g_1[/math], [math]g_2[/math] albo [math]g_3[/math] wykonaj N = 60 realizacji sygnału opisanego daną funkcją z dodanym szumem gaussowskim (numpy.random.randn). Każdą z realizacji przefiltruj, a następnie uśrednij uzyskane sygnały.

Zadanie 2: rejestracje i analiza potencjałów wzrokowych

Synchronizacja występowania bodźców z sygnałem EEG

Rejestracja potencjałów wywołanych jest przykładem pomiaru czynności elektrycznej mózgu w odpowiedzi na określony bodziec. W przypadku tego rodzaju pomiarów konieczna jest synchronizacja momentu wystąpienia bodźca z sygnałem EEG. Wzmacniacze do pomiaru czynności elektrycznej mózgu wyposażone są w specjalne wejścia, na które można podawać sygnał odpowiadający pojawianiu się bodźca. Jak pamiętamy z zeszłego semestru, wejście to (jak i podawany na nie sygnał) nazywamy trigerem (ang. trigger — spust, cyngiel, wyzwalacz). W najprostszym przypadku, bodziec moglibyśmy wyświetlać na monitorze komputerowym, a sygnał związany z jego wystąpieniem wysyłać przez któryś z portów komputera (LPT, COM) na wzmacniacz EEG. Niestety, obecnie dostępne i popularne systemy operacyjne, takie jak Windows czy Linux nie są systemami czasu rzeczywistego (http://pl.wikipedia.org/wiki/System_operacyjny_czasu_rzeczywistego). Od momentu wyświetlania bodźca na ekranie, do pojawiania się sygnału odpowiednim porcie komputerowym może upłynąć kilkadziesiąt milisekund i co gorsza czas ten zwykle jest losowy. W przypadku gdy wzmacniacz próbkuje sygnał z częstością 1000 Hz, moment wystąpienia bodźca możemy określić z dokładnością 1 ms, jednakże wspomniane opóźnienia w systemie operacyjnym uniemożliwiają to. Ponadto, jak dowiedzieliśmy się w rozdziale wstępnym [1], pierwsze załamki związane z potencjałami wywołanymi pojawiają się już 10 ms po wystąpieniu bodźca. W związku z tym, losowe, rzędu kilkudziesięciu milisekund opóźnienia sygnału określającego moment pojawienia się bodźca względem jego rzeczywistego wystąpienia są niedopuszczalne. Istnieją pewne techniki programowania, dzięki którym opisywane opóźnienia można zmniejszyć, jednakże są one bardzo trudne do realizacji. Ponadto, standardowe porty komputera, takie jak LPT, czy COM zostały zaprojektowane przede wszystkim do sterowania urządzeniami zewnętrznymi, a nie ich zasilania. Przykładowo, jedna linia portu drukarkowego (LPT) może być obciążona prądem nie większym niż 5 mA, podczas gdy do zapalenie zwykłej diody LED potrzeba około 10 mA. Taki pobór prądu możliwy jest do uzyskania z portu USB, jednakże jest on wyjątkowo trudny do oprogramowania. W celu ominięcia powyższych niedogodności w Zakładzie Fizyki Biomedycznej UW w przeprowadzanych eksperymentach wykorzystywane są mikrokontrolery [2], w szczególności ATmega16 i ATmega32. Mikrokontrolery te wyposażone są w procesory o architekturze RISC [3] i mocy obliczeniowej porównywalnej z szeroko stosowanym kiedyś w komputerach ZX Spectrum, Commodore, Amiga i Atari procesorem Z80. Oprócz jednostki centralnej mikrokontrolery zawierają stałą pamięć FLASH przeznaczoną do przechowywania kodu programu, pamięć RAM i pamięć EEPROM, liczniki 8- i 16-bitowe, komparatory, przetworniki analogowo-cyfrowe, porty wejścia/wyjścia, łącze RS232 (popularnie nazywane portem szeregowym) i układy przerwań.

Mikrokontrolery wchodzące w skład zestawów pomiarowych na Pracowni EEG zawierają program, który umożliwia komunikację z nimi poprzez port szeregowy. Obecnie, komputery są coraz rzadziej wyposażane w porty szeregowe. Standard komunikacji RS-232, opracowany w 1962 roku nadal jest jednak popularny i często wykorzystywany do komunikacji miedzy urządzeniami. W celu połączenia komputera posiadającego tylko porty USB z mikrokontrolerem zastosowano przejściówkę USB/RS-232.

Jak każde urządzenie w systemie Linuks, przejściówka USB/RS-232 widoczna jest jako plik, znajdujący się w katalogu /dev. Nazwy plików obsługujących urządzenia szeregowe to ttyXY, gdzie XY to kolejny numer przydzielony do urządzenia szeregowego. Do komunikacji komputera z mikroknotrolerem w Zakładzie Fizyki Medycznej UW została napisana prosta biblioteka. Jej użycie jest następujące:

  • Po podłączeniu przejściówki USB/RS232 do komputera mikrokontrolera sprawdź jaki plik w katalogu /dev został utworzony i przydzielony do urządzenia.
  • Zaimportuj bibliotekę do komunikacji z mikrokontrolerem:
import SerialPort as SP
  • Otwórz plik powiązany z urządzeniem zewnętrznym:
sp = SP.SerialPort(nazwa_pliku)
sp.open()

gdzie przykładowa nazwa pliku wynosi /dev/ttyUSB0.

  • Po włączeniu zasilania mikrokontrolera, diody podłączone do niego i wykorzystywane w eksperymencie z potencjałami wywołanymi będą zapalone. Następujące polecenie zgasi obydwie diody:
sp.blinkP300([0, 0])
  • Wydanie poniższego polecenia spowoduje, iż mikrokontroler zapali podłączoną do niego diodę numer 1 na czas 100 ms, zaś diodę numer 2 na 200 ms. Jednocześnie, w momencie włączenia jak i wyłączenia diody, sygnał z mikrokontrolera zostanie wysłany na 5-stykowe wejście AUX mikrokontrolera:
sp.blinkP300([100, 200])
  • Jeśli chcemy zapalić tylko diodę numer dwa, np. na czas 500 ms w programie podajemy następującą instrukcję:
sp.blinkP300([0, 500])
  • Jeśli chcemy zakończyć komunikację z mikrokontrolerem piszemy:
sp.close()

Kod biblioteki do komunikacji z mikrokontrolerem:

# -*- coding: cp1250 -*-
import serial
import logging
import sys
import os


def to_hex_word(a):
    '''encodes a decimal number hexadecimally on two bytes'''
    return chr(a%256) + chr(a/256)

class SerialPort(object):
    def __init__(self, port_name):
        import serial
        try:
            self.port = serial.Serial(
                port=port_name,
                baudrate=9600,
                bytesize=serial.EIGHTBITS,
                parity=serial.PARITY_NONE,
                stopbits=serial.STOPBITS_ONE,
                xonxoff=False
                )
        except serial.SerialException, e:
            print "Nieprawidłowa nazwa portu lub port zajęty."
            raise e
        self.close()
        
    def open(self):
        self.port.open()

    def close(self):
        self.port.close()

    def send(self, value):
        self.port.write(value)
                           
    def blinkSSVEP(self,d, p1, p2):
        '''
        d = list of frequencies;
        p1:p2 = ratio LED_on_time/LED_off_time
        if you want i-th LED to be OFF all the time send  d[i] = 0
        if you want i-th LED to be ON all the time send  d[i] = -1
        in these two cases p1 and p2 do not matter
        '''
        clock  = 62500
        factor = float(p1) / float(p1 + p2)
    
        str = chr(3) # 'SSVEP_RUN'

        for i in range(len(d)):
            # i-th LED OFF
            if d[i] == 0:                       
                str += to_hex_word(0) + to_hex_word(255) 
            # i-th LED ON
            elif d[i] == -1:
                str += to_hex_word(255) + to_hex_word(0)
                #str = 'S'
                # i-th LED blinks d[i] times per second
                # p1:p2 = on_time:off_time in one blink
            else:
                period = clock/d[i]
                bright = int((clock/d[i]) * factor)
                dark = period - bright
                str += to_hex_word(bright) + to_hex_word(dark)

        self.send(str)

    def blinkP300(self,d):
        clock  = 62500
        str = chr(4) # 'P300_RUN'

        for i in range(len(d)):
            period = int(clock*d[i]/1000.0)
            str += to_hex_word(period)
            print(period)

        self.send(str)


Zestaw eksperymentalny

Zestaw składa się ze:

  • wzmacniacza,
  • stymulatora — układ zapalający i gaszący diodę w kontrolowany sposób,
  • izolowanego galwanicznie układu generującego impulsy odpowiadające gaszeniu i zapalaniu diody, o wartościach dopasowanych do akceptowalnych przez wejścia AUX wzmacniacza,
  • komputera: w tym eksperymencie komputer będzie służył do zaprogramowania stymulatora i do rejestracji sygnałów.

Wersja 1: obserwacja błyskającej diody

Proszę zapoznać się ze standardami rejestracji wzrokowych potencjałów wywołanych [4]

Rejestracja

  • Paradygmat: z odległości około 40 cm badany obserwuje błyski diody. Błyski powtarzają się co 1[math]\pm[/math]0,1 sekundy. Każdy błysk trwa 20 ms. Rejestrujemy 2 serie po 100 błysków. Częstość próbkowania 512 Hz.
    • W pierwszej serii błyskamy tylko jedną diodą.
    • W drugiej serii błyskamy dwiema diodami.

Pomiędzy seriami badany odpoczywa około 2 min. Diody powinny być ustawione na jednakową jasność błysków.

  • Pomiar
    • Zakładamy czepek i elektrody w systemie 10-20, dbamy o to by opory pomiędzy elektrodami były poniżej 5 k[math]\Omega[/math] i różnice pomiędzy oporami różnych elektrod nie przekraczały 20%.
      Glowka10-20 ERPy.svg
    • Elektrodę GND mocujemy w otworze czepka odpowiadającym pozycji AFz (na linii centralnej 10% w stronę nosa od elektrody Fz)
    • Montujemy także elektrodę FCz (na linii centralnej pomiędzy Fz a Cz), będziemy jej używać w montażu i w czasie analizy jako referencji.

Analiza

  1. Filtrujemy sygnał w paśmie 0,1-20 Hz.
  2. Z ciągłego zapisu wycinamy fragmenty od −300 ms do +400 ms (zero oznacza moment wystąpienia bodźca). W czasie wycinania badamy wycinane fragmenty pod względem zakresu amplitudy (wszystkie kanały powinny mieć amplitudę w granicach ±75 μV) i zawartości artefaktów od mrugania (w tym celu trzeba oglądając sygnał w SVAROG-u ustalić próg na amplitudę sygnału w kanałach Fp1 i Fp2).
  3. Uśredniamy wycięte sygnały.
  4. Rysujemy średni potencjał we wszystkich kanałach.
  5. Identyfikujemy załamki N2 i P2. Mierzymy amplitudę P2 jako różnicę między ekstremalną wartością załamka P2 a ekstremalną wartością załamka N2.
Uśredniony potencjał wywołany dla serii 1 i 2 na kanale T5 z zaznaczonymi załamkami N2 i P2. Na osi poziomej czas [s] natomiast na pionowej amplituda [μV].

Pomiar wykonujemy dla obu serii błysków.

Pytanie: Czy intensywność bodźca wpływa na amplitudę potencjału P2? Jak stwierdzić czy amplitudy załamków P2 istotnie różnią się pomiędzy seriami?

Musimy przeprowadzić test statystyczny. Możemy skonstruować go np. tak: Mamy dwa warunki I i II. Jako statystykę przyjmiemy różnicę pomiędzy amplitudą załamka zmierzoną w serii z dwoma diodami (P2II) a amplitudą zmierzoną w serii z jedną diodą (P2I):

S = P2II − P2I

Postawmy hipotezę zerową, że nie ma różnicy w amplitudzie pomiędzy warunkiem II a I oraz hipotezę alternatywną, że różnica taka występuje.

H0: S = 0
H1: S ≠ 0

Zgodnie z H0 dla wartości S nie ma różnicy czy realizacja została zarejestrowana w warunkach I czy II, zatem można losowo poprzypisywać numery warunków do realizacji i w ten sposób uzyskać rozkład statystyki S pod warunkiem prawdziwości H0, czyli obliczyć średnie potencjały dla 'pomieszanych' tagów, wyliczyć średnie potencjały dla sztucznie wygenerowaych grup, i wyliczyć różnicę amplitud dla tych średnich, czyli wartość statystyki dla hipotezy H0.

Zaimplementuj test permutacyjny zgodny z powyższą koncepcją.

Wersja 2: obserwacja habituacji / uśrednianie w blokach

Rejestracja

  1. Paradygmat:
    • z odległości około 40 cm badany obserwuje błyski diody.
    • Błyski powtarzają się co 0,5 sekundy.
    • Rejestrujemy 60 serii po 15 błysków.
    • Pomiędzy seriami badany odpoczywa około 10 sekund.
  2. Zakładamy czepek i elektrody w systemie 10-20, dbamy o to by opory pomiędzy elektrodami były poniżej 5 k[math]\Omega[/math] i różnice pomiędzy oporami różnych elektrod nie przekraczały 20%.
    • Elektrodę GND mocujemy w otworze czepka odpowiadającym pozycji AFz (na linii centralnej 10% w stronę nosa od elektrody Fz)
    • Montujemy także elektrodę FCz (na linii centralnej pomiędzy Fz a Cz), będziemy jej używać w montażu i w czasie analizy jako referencji.
    • Częstość próbkowania 512 Hz.

Analiza

  1. Filtrujemy sygnał w paśmie 0,1-20 Hz.
  2. Z ciągłego zapisu wycinamy fragmenty od −300 ms do +600 ms (zero oznacza moment wystąpienia bodźca). W czasie wycinania badamy wycinane fragmenty pod względem zakresu amplitudy (wszystkie kanały powinny mieć amplitudę w granicach ±75 μV) i zawartości artefaktów od mrugania (w tym celu trzeba oglądając sygnał w SVAROG-u ustalić próg na amplitudę sygnału w kanałach Fp1 i Fp2).
  3. Uśredniamy wycięte sygnały o tym samym numerze wewnątrz serii.
  4. Rysujemy serie 15 uśrednionych potencjałów dla tego kanału, który wykazywał najsilniejszy potencjał w pierwszej wersji eksperymentu.

Zadanie 3: rejestracja i analiza potencjału P3

Rejestracja

  1. Paradygmat:
    • z odległości około 40 cm badany obserwuje błyski diody.
    • Błyski diody nr 1 powtarzają się co 1[math]\pm[/math]0,1 sekundy.
    • W losowych realizacjach zapalana jest także dioda nr 2.
    • Proporcja pomiędzy ilością błysków pojedynczych i podwójnych powinna wynosić 10:2, przy czym błyski podwójne muszą być odseparowane co najmniej jednym błyskiem pojedynczym.
    • Czas zapalenia diod, tak jak w poprzednich eksperymentach, wynosi 20 ms.
    • Zadaniem badanego jest liczenie liczby błysków podwójnych.
    • Wykonujemy tyle realizacji aby zarejestrować 50 powtórzeń podwójnych błysków.
  2. Zakładamy czepek i elektrody w systemie 10-20, dbamy o to by opory pomiędzy elektrodami były poniżej 5 k[math]\Omega[/math] i różnice pomiędzy oporami różnych elektrod nie przekraczały 20%.
    • Elektrodę GND mocujemy w otworze czepka odpowiadającym pozycji AFz (na linii centralnej 10% w stronę nosa od elektrody Fz)
    • Montujemy także elektrody M1 i M2, będziemy ich używać w montażu i w czasie analizy jako referencji typu połączone uszy.
    • Częstość próbkowania 512 Hz.

Analiza

  1. Filtrujemy sygnał w paśmie 0,1-20 Hz.
  2. Z ciągłego zapisu wycinamy fragmenty od −300 ms do +600 ms (zero oznacza moment wystąpienia bodźca). W czasie wycinania badamy wycinane fragmenty pod względem zakresu amplitudy (wszystkie kanały powinny mieć amplitudę w granicach ±75 μV) i zawartości artefaktów od mrugania (w tym celu trzeba oglądając sygnał w SVAROG-u ustalić próg na amplitudę sygnału w kanałach Fp1 i Fp2).
  3. Uśredniamy osobno realizacje błysków pojedynczych i błysków podwójnych.
  4. Nakładamy na siebie na rysunkach oba typy średnich.