
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 redakcyjnyNajważ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 dof_max, idealnie trzeba spełnić warunekf_s > 2 × f_max. Granicaf_s / 2to 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óbkowania | T_s = 1 / f_s | czas między kolejnymi próbkami |
| Częstotliwość próbkowania | f_s = 1 / T_s | liczba próbek na sekundę |
| Częstotliwość Nyquista | f_N = f_s / 2 | górna granica pasma możliwego do odtworzenia |
| Warunek idealny | f_s > 2 × f_max | dotyczy 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:
f_pass: najwyższa użyteczna częstotliwość i dopuszczalne zafalowanie lub błąd wzmocnienia.f_stop: pierwsza częstotliwość mogąca zawinąć się do pasma pomiarowego; dla pasma podstawowego jest często bliskaf_s − f_pass.A_pass: największe dopuszczalne tłumienie w paśmie użytecznym.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
- Określ pasmo użyteczne, maksymalny poziom sygnału, źródła szumu i prawdopodobne zakłócenia.
- Ustal końcową szybkość danych i wybierz
f_sz zapasem na pasmo przejściowe, a nie tylko2 × f_max. - 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ścif_s. - Przelicz dopuszczalny błąd na wymagane tłumienie przy tych częstotliwościach.
- Dobierz topologię i rząd filtra, po czym sprawdź wzmocnienie, fazę, szum, przeciążenie i impedancję widzianą przez ADC.
- Sprawdź kartę katalogową: czas akwizycji, dopuszczalną rezystancję źródła, zalecaną sieć wejściową i wymagania zegara.
- 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_maxbez 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_Nbez 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
- Otwórz kalkulator ADC/DAC, aby przeliczyć napięcie, kod, LSB i wartości po kwantyzacji.
- Otwórz kalkulator filtrów RC i RL, aby wstępnie dobrać analogową częstotliwość odcięcia i ocenić wpływ obciążenia.
Ź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.