ElectroDesignForgeElectroDesignForge
Sygnały i interfejsyPodstawy

Próbkowanie, częstotliwość Nyquista i aliasing

Dobierz częstotliwość próbkowania ADC, rozpoznaj składanie widma i wybierz realistyczny filtr antyaliasingowy z uwzględnieniem pasma przejściowego.

Opracowanie i przegląd techniczny:ElectroDesignForge Engineering Team

Zobacz proces redakcyjny

Najważniejsze: przetwornik ADC nie obserwuje sygnału w sposób ciągły; pobiera próbki w odstępach T_s = 1 / f_s. Aby jednoznacznie odtworzyć sygnał ograniczony do f_max, idealnie trzeba spełnić warunek f_s > 2 × f_max. Granica f_s / 2 to częstotliwość Nyquista. Składowe powyżej niej mogą pojawić się w paśmie użytecznym jako aliasing. Analogowy filtr przed ADC jest więc częścią toru pomiarowego.


Zestawienie podstawowych zależności

WielkośćZależnośćZnaczenie praktyczne
Okres próbkowaniaT_s = 1 / f_sczas między kolejnymi próbkami
Częstotliwość próbkowaniaf_s = 1 / T_sliczba próbek na sekundę
Częstotliwość Nyquistaf_N = f_s / 2górna granica pasma możliwego do odtworzenia
Warunek idealnyf_s > 2 × f_maxdotyczy sygnału o ściśle ograniczonym paśmie
Zawijanie widma`f_alias =f_in − k × f_s

Wybierz liczbę całkowitą k tak, aby f_alias znalazło się między 0 a f_s/2. Różne częstotliwości wejściowe mogą wtedy dać ten sam alias. Przetwornik ADC nie potrafi ich rozróżnić.

Co faktycznie robi przetwornik ADC

Typowy tor akwizycji wygląda następująco:

sensor / source → protection and conditioning → anti-alias filter → sample-and-hold → ADC → digital processing

W chwilach nT_s układ próbkująco-pamiętający pobiera wartość napięcia i utrzymuje ją przez czas potrzebny na konwersję. Konwersja powoduje też kwantyzację do poziomów kodowych, co wprowadza szum i błąd kwantyzacji, lecz nie powoduje aliasingu. Aliasing wynika z próbkowania w dyskretnych chwilach: widmo próbkowanego sygnału powtarza się co f_s.

Rzeczywisty ADC ma też inne ograniczenia: czas akwizycji, przełączaną pojemność wejściową, maksymalną impedancję źródła, czas konwersji, jitter zegara i zakres napięć. Wybrana szybkość próbkowania musi być osiągalna i zapewniać stabilną współpracę z analogowym torem wejściowym.

Twierdzenie Nyquista–Shannona: warunek i zakres stosowania

Twierdzenie Nyquista–Shannona mówi, że sygnał o ściśle ograniczonym paśmie poniżej f_s/2 można teoretycznie odtworzyć z jego próbek. Nie oznacza to, że dwie próbki na okres zapewniają odporny pomiar.

Przy f_s = 2 × f_max nie ma pasma przejściowego dla filtra. Sinusoida w pobliżu częstotliwości Nyquista daje tylko dwie próbki na okres, przez co pomiar fazy i amplitudy staje się wrażliwy na błędy zegara, szum i niedoskonałości filtra. W praktyce wybierz większą wartość f_s, aby zostawić odstęp między pasmem użytecznym a granicą Nyquista.

Przykład: pomiar ma zachować sygnały od 0 do 20 kHz. Przy f_s = 48 kS/s częstotliwość f_N = 24 kHz pozostawia filtrowi tylko 4 kHz pasma przejściowego. Przy f_s = 96 kS/s granica Nyquista wzrasta do 48 kHz: filtr może przepuścić 20 kHz i stłumić zakłócenia przed 48 kHz, co jest znacznie praktyczniejsze.

Na czym polega zawijanie widma

Po próbkowaniu składowa o częstotliwości f_in i składowa o częstotliwości f_s − f_in dają taką samą sekwencję wartości, z dokładnością do fazy lub odwrócenia. W danych może więc pojawić się niższa częstotliwość nieobecna w oryginalnym sygnale.

Przykład zawijania widma

Próbkujemy z częstotliwością f_s = 10 kS/s:

f_N = 5 kHz
f_in = 6.2 kHz
f_alias = |6.2 − 1 × 10| = 3.8 kHz

Rzeczywiste zakłócenie o częstotliwości 6.2 kHz pojawi się więc w danych jako ton 3.8 kHz. Zwiększenie rozdzielczości ADC nie naprawi problemu: fałszywy ton jest już w paśmie cyfrowym. Po zawinięciu jego energia nakłada się na użyteczny sygnał i późniejszy filtr cyfrowy nie może ich rozdzielić.

Zawijaniu ulegają także harmoniczne, szum szerokopasmowy, zakłócenia od przełączania zasilania i emisje RF. Na przykład w wolnym pomiarze temperatury zakłócenie w zakresie kiloherców może po próbkowaniu wyglądać jak dryft lub tętnienie o bardzo niskiej częstotliwości.

Analogowy filtr antyaliasingowy

Filtr antyaliasingowy jest analogowym, zwykle dolnoprzepustowym filtrem umieszczonym przed układem próbkującym. Nie musi usuwać wszystkich częstotliwości powyżej pasma użytecznego, bo jest to nierealne. Powinien jednak na tyle stłumić składowe mogące ulec zawinięciu, aby pozostały poniżej dopuszczalnego poziomu błędu, szumu lub zakresu dynamicznego pomiaru.

Określ cztery wielkości:

  1. f_pass: najwyższa użyteczna częstotliwość i dopuszczalne zafalowanie lub błąd wzmocnienia.
  2. f_stop: pierwsza częstotliwość mogąca zawinąć się do pasma pomiarowego; dla pasma podstawowego jest często bliska f_s − f_pass.
  3. A_pass: największe dopuszczalne tłumienie w paśmie użytecznym.
  4. A_stop: wymagane tłumienie w paśmie zaporowym.

Dla pomiaru 0–20 kHz przy 48 kS/s składowe od 28 kHz = 48 − 20 mogą zawinąć się poniżej 20 kHz. Filtr musi więc przejść z pasma przepustowego do zaporowego między 20 a 28 kHz, a nie tylko między 20 a 24 kHz. To rozróżnienie ma znaczenie przy specyfikowaniu filtra.

Jak duże tłumienie jest potrzebne?

Wyznacz tłumienie na podstawie poziomu zakłócenia przed filtrem i poziomu dopuszczalnego po zawinięciu. Jeżeli zakłócenie o wartości 1 V_RMS w najgorszym przypadku musi spaść poniżej 1 mV_RMS, potrzebne jest co najmniej:

A_stop = 20 × log10(1 V / 1 mV) = 60 dB

Dodaj zapas na tolerancje elementów, wzmocnienie czujnika, rezonanse, szum poza pasmem i temperaturę. Sprawdź też możliwość przeciążenia: duży sygnał spoza pasma może nasycić wzmacniacz lub wejście ADC, zanim zostanie dostatecznie stłumiony.

Rząd filtra, nachylenie i częstotliwość odcięcia

Filtr dolnoprzepustowy pierwszego rzędu tłumi asymptotycznie o 20 dB/decade lub 6 dB/octave. Jego częstotliwość odcięcia wynosi:

f_c = 1 / (2πRC)

Taki filtr dobrze ogranicza szum i izoluje źródło od wejścia próbkującego, ale jego tłumienie blisko częstotliwości Nyquista może być niewystarczające. Większe nachylenie zapewnia filtr wielobiegunowy, aktywny filtr Sallen–Key lub z wielokrotnym sprzężeniem zwrotnym, albo filtr z przełączanymi kondensatorami. Trzeba przy tym uwzględnić tolerancje, szum, dryft, fazę, pobór mocy i czasem wrażliwość na obciążenie.

Nie utożsamiaj f_c z częstotliwością, przy której filtr osiąga wymagane tłumienie. Przy odcięciu filtr pierwszego rzędu tłumi tylko o −3 dB. Użyj kalkulatora filtrów RC i RL, aby sprawdzić wpływ R, C, obciążenia i częstotliwości odcięcia, a następnie oblicz tłumienie dla każdej istotnej częstotliwości zakłócenia.

Nadpróbkowanie i decymacja

Nadpróbkowanie oznacza wybór f_s znacznie większego od wymaganej końcowej szybkości danych. Odsuwa częstotliwość Nyquista od pasma użytecznego, poszerza pasmo przejściowe filtra analogowego i ułatwia ograniczenie aliasingu. Następnie próbki można przefiltrować cyfrowo i poddać decymacji.

Filtr cyfrowy znajduje się jednak za pierwszym ADC, więc chroni jedynie proces decymacji. Wejście przetwornika nadal wymaga analogowego filtrowania składowych powyżej jego pierwotnej częstotliwości Nyquista. Przetworniki sigma-delta stosują znaczne nadpróbkowanie i wewnętrzną decymację; sprawdź w dokumentacji ich szybkość wyjściową, pasmo użyteczne i charakterystykę filtra cyfrowego.

Jitter zegara przy wysokich częstotliwościach wejściowych

Chwila pobrania próbki nigdy nie jest idealnie stała. Niepewność czasowa RMS oznaczona jako t_j ogranicza stosunek sygnału do szumu związany z jitterem:

SNR_jitter ≈ −20 × log10(2π × f_in × t_j)

Ograniczenie staje się bardziej dotkliwe wraz ze wzrostem f_in. Przy t_j = 10 ps i sinusoidzie 10 MHz teoretyczny SNR wynikający z samego jittera wynosi około 64 dB. Idealny 16-bitowy ADC ma około 98 dB SNR kwantyzacji, dlatego jakość zegara, układu sterującego ADC i prowadzenia ścieżek może ograniczyć pomiar znacznie wcześniej niż nominalna liczba bitów.

Sprawdzony tok projektowania

  1. Określ pasmo użyteczne, maksymalny poziom sygnału, źródła szumu i prawdopodobne zakłócenia.
  2. Ustal końcową szybkość danych i wybierz f_s z zapasem na pasmo przejściowe, a nie tylko 2 × f_max.
  3. Oblicz częstotliwości mogące zawinąć się do pasma użytecznego: f_s ± f_signal, a w razie potrzeby powtórz obliczenie dla wielokrotności f_s.
  4. Przelicz dopuszczalny błąd na wymagane tłumienie przy tych częstotliwościach.
  5. Dobierz topologię i rząd filtra, po czym sprawdź wzmocnienie, fazę, szum, przeciążenie i impedancję widzianą przez ADC.
  6. Sprawdź kartę katalogową: czas akwizycji, dopuszczalną rezystancję źródła, zalecaną sieć wejściową i wymagania zegara.
  7. Przetestuj cały układ sygnałami spoza pasma i analizą FFT, także przy skrajnych temperaturach i tolerancjach.

Częste błędy

  • Ustawienie f_s = 2f_max bez zapasu na pasmo przejściowe.
  • Umieszczenie filtra za ADC z oczekiwaniem, że usunie aliasing: zawinięcie widma jest już nieodwracalne.
  • Ustawienie odcięcia na f_N bez wyznaczenia pierwszego pasma zawijającego się do pasma użytecznego.
  • Pominięcie harmonicznych, szumu szerokopasmowego i impulsowych zakłóceń od przełączania.
  • Pominięcie obciążenia wejścia ADC: zbyt duża rezystancja źródła może uniemożliwić naładowanie wewnętrznego kondensatora w czasie akwizycji.
  • Założenie, że większa liczba bitów lub uśrednianie cyfrowe usunie spójny ton aliasowy.

Narzędzia powiązane

Źródła

  • C. E. Shannon, Communication in the Presence of Noise; podstawowe prace H. Nyquista o transmisji sygnałów.
  • IEEE 1241, Standard for Terminology and Test Methods for Analog-to-Digital Converters.
  • Karty katalogowe i noty aplikacyjne przetworników ADC dotyczące czasu akwizycji, sieci wejściowych i filtrowania.