Na czym polega próbkowanie, co to jest aliasing i czym jest częstotliwość Nyquista ?

Wiemy już od jakiegoś czasu na czym polega praca akcelerometru i co on mierzy. Pytanie które chcę zadać w tym momencie jest następującej treści: jak to się dzieje, że to napięcie, które ‚wychodzi‚ z akcelerometru może być odczytywane przez np. mój komputer czy jakiekolwiek inne cyfrowe urządzenie ?

Ano wszystko to ma miejsce dzięki zabiegowi noszącemu nazwę ‚próbkowania’ (ang. sampling). W skrócie rzecz ujmując chodzi o to, aby napięcie z wyjścia akcelerometru przetworzyć na postać cyfrową tj. poddać to napięcie zabiegowi cyfryzacji lub dyskretyzacji. Odbywa się to przy pomocy tzw. przetworników analogowo-cyfrowych które biorąc na wejście sygnał analogowy (tj. ciągły w czasie) przetwarzają go na postać cyfrową (tj. dyskretną w czasie czyli nieciągła – posiadającą luki o nieznanej wartości pomiędzy kolejnymi wartościami). O detalach przetworników analogowo-cyfrowych można poczytać np. tu . Ja powiem tylko to, co jest najważniejsze z punktu widzenia diagnostyki maszyn.

Tak więc jak taka cyfryzacja przebiega ? Przetwornik analogowo-cyfrowy (A/C) bierze analogywy sygnał i próbkuje go z pewną częstotliwością – zczytuje wartości danego sygnału w równych odstępach czasowych (równych 1/częstotliwość próbkowania) i zachowuje je w chronologicznej kolejności. Przykład analogowej i spróbkowanej sinuoidy widac na rycinie poniżej gdzie linia ciągła oznacza analogowy sygnał a kółeczka to poszczególne próbki sygnału czyli efekt jego próbkowania. Sygnał ma częstotliwość 20Hz i został spróbkowany z częstotliwością 1024 próbek/sekundę.  Na rycinie poniżej pokazałem tylko pierwszych 512 próbek czyli dziesięć cykli sinusoidy.

cyfryzacja sinusoidy

Im większa częstotliwość próbkowania (and. ‚sampling frequency‚) tym szczegóły sygnału analogowego lepiej zachowane w postaci cyfrowej.  I vice versa – im mniejsza częstotliwość próbkowania tym scyfrowany sygnał uboższy w szczególy. Poniższy obrazek przedstawia tą samą sinusoidę lecz scyfrowaną z częstotliwością 128 próbek/sekundę.

cyfrowa sinusoida

Kolejne pytanie nasuwa się samo: to z jaką częstotliwością najlepiej próbkować ?  Aby odpowiedzieć sobie na to pytanie musimy zapoznać się z pojęciem częstotliwości Nyquista.

Chodzi o to, że w myśl tzw. twierdzenia Kotielnikowa-Shannona częstotliwość próbkowania musi być nie mniejsza niż DWA RAZY najwyższa częstotliwość jakiej spodziewamy się w rejestrowanym sygnale (w praktyce jest to przynajmniej 2.56). Czyli spodziewając się sygnału 100Hz musiamy próbkować sygnał z częstotliwościa przynajmniej 200 próbek/sekundę. Dlaczego ? Ano dlatego, aby poprawnie przetworzyć każdą częstotliwość i uniknąć zjawiska tzw. aliasingu.

Skonstruowałem sinusoidę o częstotliwościach 200, 450 i 700 Hz a następnie spróbkowałem ją z częstotliwością 2048 próbek/sekundę (ważnym z praktycznego punktu widzenia aby częstotliwość próbkowania była którąś z potęg 2). Spektrum owego sygnału widać poniżej:

spektrum FFT

Wszystko gra, prawda ? Trzy komponenty: 200Hz, 450Hz i 700Hz. Jest tak dlatego, że spróbkowałem ten sygnał zgodnie z twierdzeniem Kotielnikowa-Shannona (maksymalna częstotliwość w moim sygnale to 700Hz a ja spróbkowałem go z częstotliwością 2048 próbek/sekundę tj. wiecej niż 2x700HZ.

Co się stanie jednak, jeśli ten sam sygnał spróbkuję z częstotliwością 1024 próbek/sekundę?

spectrum FFT

Hmm: 200Hz – jest, 450Hz – jest…a gdzie 700Hz ? i skąd 324Hz ? Ano właśnie – pokarało mnie za próbkowanie z częstotliwością mniejszą niż 2x700Hz i komponent z 700Hz ‚odbił’ mi się od połowy mojej częstotliwości próbkowania w efekcie czego spektrum jest przekłamane. Spójrz poniżej: Komponent 324 powstał w skutek odbicia się 700Hz od granicy 512Hz (700-512=188; 512-188=324).

aliasing

Aliasing jest zły ! Wystrzegaj się go ! 🙂