Zapisz jako PDF

Transkrypt

Zapisz jako PDF
Praktyczna rejestracja danych. Próbkowanie
Jak wiemy, dane eksperymentalne zbierane są dzisiaj przy użyciu przetworników analogowocyfrowych. Urządzenia te mierzą badaną przez nas wielkość fizyczną w pewnych chwilach czasu i
przekazują wynik pomiaru w postaci liczby binarnej, zapisywanej przez komputer sterujący całym
procesem. Operację wybierania wartości mierzonych w kolejnych chwilach czasu nazywamy
próbkowaniem. Dane nie mają więc postaci funkcji ciągłych lecz są szeregami osobnych wartości.
Postać taką nazywamy w odróżnieniu od ciągłej — dyskretną. Fakt, że dane eksperymentalne mają
postać szeregów liczb (tzw. szeregów czasowych) ma istotne konsekwencje w doborze metod ich
analizy.
Podczas próbkowania zapisujemy tylko niektóre wartości mierzonej wielkości fizycznej. Wartości
spomiędzy chwil zapisu są „stracone”. Czy jesteśmy w stanie powiedzieć ile informacji tracimy w
procesie próbkowania? Ponieważ analiza danych w dziedzinie częstości ma duże znaczenie dla
analizy EEG, zastanowimy się nad konsekwencjami próbkowania w tym przypadku.
Jeżeli dane są próbkowane w stałych odstępach czasu Δt (a tylko takimi przypadkami będziemy się
zajmować), to możemy powiedzieć, że częstość próbkowania wynosi 1/Δt. Jeśli więc np. dane są
próbkowane co 10 ms, to innymi słowy są próbkowane 100 razy na sekundę czyli częstość ich
próbkowania wynosi fs = 1/(10·10−3 s) = 100 1/s = 100 Hz.
Z intuicyjnego punktu widzenia możemy wyobrazić sobie składowe o różnych częstościach, czyli
sinusoidy od bardzo „rozwlekłych” do coraz „gęstszych”. Podczas próbkowania otrzymujemy co
prawda tylko niektóre wartości tych funkcji, ale ich kształt pomiędzy punktami obserwacji ciągle jest
możliwy do odtworzenia. Granicznym przypadkiem będzie częstość taka, że podczas próbkowania
będziemy na przemian mierzyć maksymalną i minimalną wartość funkcji. Składowe o wyższych
częstościach będą zmieniać się już na tyle szybko, że w czasie między pobraniem jednej próbki a
próbki następnej nie będziemy w stanie stwierdzić jaką naprawdę funkcję mierzymy — czy taką,
której pół okresu już minęło, czy taką, której do połowy okresu jeszcze chwilę brakuje (rys. Figure 1).
Demonstracja zjawiska utożsamiania:
sygnały „czarny”, „zielony” i „czerwony” (o
różnych częstościach) są próbkowane w
chwilach czasu t_1, t_2, t_3, t_4. Częstość
sygnału „czarnego” odpowiada dokładnie
połowie zastosowanej częstości
próbkowania. Próbki zmierzone dla
sygnałów „zielonego” (zielone kropki) i
„czerwonego” (czerwone kółka) są
nieodróżnialne, mimo że sygnały te różnią
się częstościami (sygnał „czerwony” ma
częstość większą od fs/2, sygnał „zielony” —
mniejszą).
Z powyższych rozważań wnioski są następujące. Jeżeli dane są próbkowane z częstością fs, to
jesteśmy w stanie zarejestrować częstości z zakresu [0, fs/2]. Istnieje ścisły dowód tego faktu zwany
twierdzeniem o próbkowaniu lub twierdzeniem Nyquista (czasem spotyka się tu też inne nazwiska).
Częstością Nyquista dla konkretnych danych nazywamy połowę częstości z jaką te dane były
próbkowane. A co z częstościami większymi niż częstość Nyquista? Jak widzieliśmy na przykładzie
nie możemy ich odróżnić od częstości mniejszych niż fs/2. Zjawisko takie nazywamy utożsamianiem
(ang. aliasing). Jeśli w mierzonym sygnale są obecne częstości większe niż połowa częstości z jaką
ten sygnał próbkujemy, to będą one sygnale spróbkowanym „udawać” inne, niższe częstości. Prosty
eksperyment myślowy przekonuje, że np. sygnał o częstości dokładnie równej częstości próbkowania
będzie nieodróżnialny od wartości stałej. Jest to zjawisko silnie niepożądane. Aby uniknąć tego
rodzaju problemów musimy przed rozpoczęciem zbierania danych upewnić się, że w sygnale nie
będzie częstości wyższych niż częstość Nyquista. Używa się w tym celu filtrów sprzętowych —
układów elektronicznych usuwających z sygnału częstości z niepożądanego zakresu.
Warto wspomnieć, że zjawisko utożsamiania w przypadku próbkowania obrazów nosi nazwę zjawiska
stroboskopowego. Ponieważ obraz telewizyjny lub filmowy jest próbkowany i widzimy poszczególne
„próbki czasowe” wyświetlane kolejno po sobie, zjawiska periodyczne, aby były wyświetlane
prawidłowo, muszą mieć częstość poniżej częstości Nyquista. Obrót koła samochodu jest przykładem
takiego zjawiska periodycznego — przy wzroście prędkości obrotowej nagle obserwujemy na ekranie
jakby koło obracało się w przeciwną stronę lub wręcz stanęło. Oświetlenie jarzeniowe starego typu
dawało światło migoczące regularnie (z częstością sieci energetycznej). Zastosowanie takiego
oświetlenia w hali maszyn mogłoby spowodować, że ze względu na zjawisko stroboskopowe np.
szybko wirujący wał tokarki mógłby być postrzegany jako obracający się powoli lub wręcz
nieruchomy. Mogłoby to prowadzić do wypadków przy pracy i dlatego maszyny takie oświetla się
oświetleniem żarowym.
Formaty danych
Każdy producent aparatury do pomiaru EEG tworzy zwykle własny format, w którym dane
zapisywane są w postaci cyfrowej na dysku. Jeśli opis formatu jest otwarty, to można dane
wczytywać do innych programów, ale trzeba w tym celu napisać odpowiedni fragment kodu.
Paradoks polega na tym, że różnice między formatami są zwykle minimalne i ograniczają się zwykle
do kilkunastu - kilkudziesięciu bajtów nagłówka, podczas gdy większość danych to po prostu liczby
całkowite -- bo takie wychodzą z przetwornika ADC (kiedyś 12-bitowe, ostatnio coraz częściej 24bitowe). Fizyczny sposób pomiaru wymusza również organizację danych -- kanały odpowiadające
zapisom potencjałów z odprowadzeń zapisywane są w formie multipleksowanej, czyli: pierwsza
próbka z pierwszego kanału, pierwsza próbka z drugiego kanału ... pierwsza
próbka z ostatniego kanału, druga próbka z pierwszego kanału .... Ale żeby te
liczby poprawnie odczytać i zinterpretować, musimy wiedzieć co najmniej:
ile kanałów jest zapisanych w danym pliku
jaka była częstość próbkowania, co określa odległość w czasie między kolejnymi próbkami
jak przeliczyć zapisane wartości liczbowe na napięcie w mikrowoltach
itp.
Takie właśnie dane zapisywane są w nagłówkach (header, na początku pliku) czy ew. w stopkach
(footer, na końcu pliku), do ich odczytania konieczna jest znajomość danego formatu - na przykład
żeby wiedzieć, że informację o tym, ile w danym pliku zapisano kanałów, odczytamy jako
liczbę całkowitą na ósmym bajcie (offset) od początku pliku.
Propozycją rozwiązania tego problemu jest zapis tych informacji w języku SignalML opartym o XML,
por. http://signalml.org.

Podobne dokumenty