Zanim dobierzesz filtr cyfrowy: próbkowanie, zakłócenia i opóźnienie
Prostokąt, trójkąt i krótki impuls pokazują, jak próbkowanie oraz filtracja zmieniają informację. Konkretne obliczenia, ograniczenia i kryteria doboru.

Najpierw ustal, jakiej informacji potrzebujesz
Czy system ma zmierzyć częstotliwość sygnału, zachować jego kształt, czy wykryć krótkie zdarzenie? To trzy różne zadania. Wykres może wyglądać spokojniej po wygładzeniu, ale jednocześnie przestać pokazywać impuls, dla którego zbudowano cały układ. Dobór filtru zaczyna się więc od określenia informacji, której nie wolno utracić.
Dla temperatury w pomieszczeniu ważny bywa powolny trend. Dla impulsu z czujnika istotne mogą być amplituda i chwila przekroczenia progu. W sterowaniu dochodzi czas reakcji. Zapisz te potrzeby jako wymagania: użyteczne pasmo, czyli zakres częstotliwości, który chcemy zachować, dopuszczalny błąd amplitudy, minimalny czas trwania zdarzenia i limit opóźnienia. Dopiero wtedy można ocenić, czy filtr pomaga.
Trzeba też spojrzeć przed przetwornik analogowo-cyfrowy (ADC). Przesterowany wzmacniacz, zbyt wolny czujnik albo nieodpowiednie pasmo wejścia zmieniają sygnał, zanim powstanie pierwsza próbka. Żaden późniejszy algorytm nie przywróci ogólnie informacji, której tor pomiarowy nie zarejestrował.
Dwie fale, te same próbki
Przy idealnym próbkowaniu 1000 Hz porównajmy sinusoidy 100 Hz i 1100 Hz o tej samej amplitudzie i fazie. W chwilach t = k / 1000, gdzie k to numer próbki od zera, druga wykonuje dodatkowe k pełnych okresów. Wartości obu funkcji są więc identyczne w każdej chwili próbkowania.
To przykład obliczeniowy: linie przedstawiają sygnały ciągłe, punkty ich próbki. Amplituda jest znormalizowana; pomijamy szum, jitter (odchyłki chwil pobierania próbek) i nieliniowość ADC. Z samych tych próbek nie ustalimy, która fala trafiła na wejście. Tak powstaje aliasing, czyli nierozróżnialność składowych po próbkowaniu.
W rozpatrywanym tu przypadku pasmo zaczyna się od zera. Aby odtworzyć sygnał, który nie zawiera składowych powyżej określonej częstotliwości, trzeba próbkować częściej niż dwukrotność tej częstotliwości. Połowę częstotliwości próbkowania nazywamy granicą Nyquista. Granicy nie warto traktować jako punktu projektowego: sinusoida próbkowana dokładnie dwa razy na okres może, przy odpowiedniej fazie, dawać same zera. Potrzebny jest też zapas na rzeczywisty filtr wejściowy. Analog Devices opisuje ten związek między aliasingiem a filtracją przed ADC.
Prostokąt 100 Hz nie kończy się na 100 Hz
Okres przebiegu 100 Hz wynosi 10 ms. Nie oznacza to jednak, że jego kształt opisuje jedna sinusoida. Symetryczny prostokąt o wypełnieniu 50% i zerowej wartości średniej zawiera nieparzyste harmoniczne: 100, 300, 500 Hz i dalsze. Ich suma tworzy płaskie odcinki i ostre przejścia. Po usunięciu wyższych składowych zostaje bardziej zaokrąglony przebieg.
Symetryczny trójkąt również zawiera nieparzyste harmoniczne, ale ich amplitudy maleją szybciej. Dla prostokąta amplituda n-tej harmonicznej względem podstawowej wynosi 1/n, a dla trójkąta 1/n². W trójkącie dochodzi naprzemienny znak współczynników sinusowych. Faza opisuje wzajemne przesunięcie fal w ich cyklu. Decyduje więc o kształcie sumy równie istotnie jak amplitudy poszczególnych składowych.
W razie potrzeby przewiń tabelę poziomo.
| Harmoniczna | Częstotliwość | Prostokąt: amplituda względem podstawowej | Trójkąt: amplituda względem podstawowej |
|---|---|---|---|
| 1 | 100 Hz | 100% | 100% |
| 3 | 300 Hz | 33,3% | 11,1% |
| 5 | 500 Hz | 20% | 4% |
| 7 | 700 Hz | 14,3% | 2,04% |
| 9 | 900 Hz | 11,1% | 1,23% |
To porównanie amplitud, nie udziałów energii. Dotyczy przebiegów symetrycznych; zmiana wypełnienia prostokąta zmienia widmo i może wprowadzić harmoniczne parzyste. Materiał Tektronix pokazuje związek harmonicznych z kształtem przebiegu.
Osiem próbek na okres: czego właściwie wystarcza?
Na kolejnym wykresie oba przebiegi budujemy z pięciu składowych: harmonicznych 1, 3, 5, 7 i 9. Numer harmonicznej oznaczamy przez n, a czas t podajemy w sekundach. W modelu prostokąta sumujemy składniki (4/π) · sin(n · 2π · 100 · t)/n dla tych pięciu wartości n. W modelu trójkąta współczynnik wynosi 8/π², mianownik n², a znaki kolejnych składników zmieniają się naprzemiennie. Takie skalowanie odpowiada idealnym przebiegom od −1 do 1; skończone sumy nie muszą osiągać dokładnie tych granic. Jednostka na osi pionowej odnosi się do szczytu idealnego przebiegu, a nie do amplitudy jego podstawowej harmonicznej użytej jako odniesienie w tabeli.
Na wykresie fs oznacza częstotliwość próbkowania. Przy fs = 800 Hz mamy osiem próbek na okres podstawowy, lecz granica Nyquista wynosi 400 Hz. Składowe 500, 700 i 900 Hz naszego modelu już ją przekraczają. Przy 4000 Hz granica wynosi 2000 Hz, więc wszystkie pięć składowych mieści się poniżej niej. To pozwala odtworzyć ten ograniczony model przy idealnych założeniach, ale nie idealny prostokąt z nieskończoną liczbą harmonicznych.
Warto przyjrzeć się składowej 700 Hz. W chwilach próbkowania przy 800 Hz zachodzi sin(2π · 700 · k/800) = −sin(2π · 100 · k/800), gdzie k jest numerem próbki. W danych pojawia się więc składowa 100 Hz o odwróconym znaku. Podobnie 500 Hz składa się na 300 Hz ze znakiem przeciwnym, a 900 Hz na 100 Hz ze znakiem zgodnym. Dla prostokąta współczynnik sinusoidy 100 Hz w próbkach wynosi zatem (4/π) · (1 − 1/7 + 1/9). Samo dodawanie dodatnich amplitud z tabeli dałoby błędny wynik.
Wykres celowo pokazuje próbkowanie bez wcześniejszego usunięcia składowych powyżej 400 Hz. Szara linia dla danego kształtu jest identyczna w obu panelach: pokazuje sygnał przed próbkowaniem, nie wynik jego odtworzenia. Zmienia się gęstość punktów, czyli próbek. Ich połączenie prostymi odcinkami nie byłoby dowodem poprawnej rekonstrukcji. Przesunięcie chwil próbkowania względem przebiegu zmieni wartości punktów, ale nie usunie problemu zbyt szerokiego pasma.
Idealny kształt i rzeczywisty tor to różne rzeczy
Idealny prostokąt ma natychmiastowe zbocza i nieograniczone pasmo. Rzeczywiste urządzenie ma skończony czas narastania, a czujnik, wzmacniacz i filtr ograniczają pasmo. Skończona suma harmonicznych jest jeszcze innym przypadkiem: to jawny model matematyczny. Nie należy mylić jej z pomiarem urządzenia ani modelem konkretnego filtru analogowego.
Przeregulowanie przy zboczach przybliżenia prostokąta wynika z ucięcia szeregu, czyli zjawiska Gibbsa. Dodawanie harmonicznych zwęża jego obszar, lecz nie usuwa względnej wysokości przeregulowania przy idealnym skoku. Zaokrąglenie trójkąta pokazuje natomiast utratę ostrych wierzchołków. Oba efekty przypominają, że „częstotliwość 100 Hz” nie jest kompletnym wymaganiem pomiarowym.
Jeżeli interesuje nas wyłącznie składowa podstawowa, ograniczenie pasma może być właściwą decyzją. Jeżeli mierzymy czas zbocza albo krótki impuls, usunięte składowe mogą zawierać potrzebną informację. Wybór pasma jest kompromisem wynikającym z zadania, a nie uniwersalną wielokrotnością częstotliwości podstawowej.
Filtr przed ADC i filtr po ADC
Filtr antyaliasingowy ma osłabić składowe, które po próbkowaniu zafałszowałyby użyteczne pasmo. Rzeczywisty filtr potrzebuje obszaru przejściowego pomiędzy pasmem przepustowym a wymaganym tłumieniem. Przykładowo przy użytecznym paśmie do 300 Hz i próbkowaniu 800 Hz od 300 Hz do granicy Nyquista pozostaje tylko 100 Hz. To ciasny budżet dla filtru, jeśli wymagamy dużego tłumienia już przed tą granicą.
Wymagane tłumienie zależy również od amplitudy zakłócenia. Duży sygnał spoza pasma może wymagać znacznie większego osłabienia niż niewielki szum. Filtr cyfrowy może później wydzielić pasmo lub zmniejszyć szum, ale nie rozpozna ogólnie, czy składowa w tym paśmie pochodziła z prawidłowego sygnału, czy z aliasingu.
Ta sama zasada obowiązuje przy decymacji, czyli zmniejszaniu częstotliwości próbkowania. Przed przejściem z 4000 do 1000 próbek/s trzeba cyfrowo ograniczyć pasmo odpowiednio do nowej granicy 500 Hz. Samo zachowanie co czwartej próbki ponownie składa wyższe częstotliwości do niższego pasma. W ADC nadpróbkujących część filtracji wykonuje układ, lecz wymagania wejścia analogowego nadal wynikają z jego dokumentacji.
Wygładzanie może usunąć zdarzenie
Średnia ruchoma z 21 próbek dodaje bieżącą i 20 poprzednich wartości, a sumę dzieli przez 21. Taki filtr jest przyczynowy: korzysta tylko z bieżącej próbki i przeszłości. Środek jego okna leży 10 próbek za chwilą bieżącą. Przy próbkowaniu 1000 Hz daje to 10/1000 s = 10 ms opóźnienia grupowego. Dla powolnych zmian, które filtr przepuszcza niemal bez zniekształcenia, można je traktować jako przybliżone przesunięcie przebiegu w czasie. Nie oznacza to 10 ms ciszy przed pierwszą reakcją: wynik zaczyna się zmieniać już po nadejściu pierwszej niezerowej próbki. Czas wykrycia zdarzenia i ustalenia odpowiedzi na skok to osobne wielkości.
Załóżmy teraz pięć kolejnych próbek o wartości 1 w chwilach 5, 6, 7, 8 i 9 ms, otoczonych zerami. Filtr ma wcześniej zerowy stan. W żadnym oknie nie znajdzie się więcej niż pięć jedynek, więc maksymalny wynik to 5/21 ≈ 0,238. Impuls zajmuje pięć okresów próbkowania, odpowiadających 5 ms; jego dokładny analogowy czas trwania nie wynika z samych pięciu próbek.
Detektor z progiem 0,5 zareaguje na wejściowy ciąg, ale nie na wynik filtracji. Nie jest to wyłącznie późniejsza reakcja: zdarzenie nie zostanie wykryte. Wynik rozciąga się na 25 niezerowych próbek i ma niższy szczyt. W tym modelu suma wartości zostaje zachowana, lecz detektor amplitudy nie korzysta z tej własności.
Średnia ruchoma nie jest też idealnym filtrem odcinającym wszystkie częstotliwości powyżej jednej granicy. Ma zera charakterystyki, czyli częstotliwości, przy których całkowicie tłumi idealną sinusoidę w stanie ustalonym. Pierwsze tutaj wypada przy 1000/21 ≈ 47,6 Hz. Pomiędzy kolejnymi zerami część sygnału nadal przechodzi. Dobre wygładzanie w czasie nie oznacza automatycznie dobrej separacji pasm. Rozdział o średniej ruchomej opisuje ten kompromis.
Jak podjąć decyzję o filtrze
Porównuj warianty na tych samych danych: powolnej zmianie, skoku, minimalnym impulsie i zakłóceniu spoza pasma. Dla każdego zapisz błąd amplitudy oraz zachowanie detektora. Gdy potrzebne są jednocześnie spokojny wykres i szybki alarm, rozważ osobne ścieżki przetwarzania, każdą ocenianą według własnego wymagania.
Sprawdź start filtru, przerwę w danych i zmianę parametrów. Uzupełnianie braków zerami może tworzyć sztuczne zbocza; skracanie okna przy starcie zmienia chwilowo właściwości algorytmu. W arytmetyce stałoprzecinkowej dochodzą zakres sumatora i zaokrąglenia. Zmiana częstotliwości próbkowania przy tych samych współczynnikach przesuwa charakterystykę wyrażoną w hercach.
Wynikiem oceny powinno być zdanie w rodzaju: „ten wariant zachowuje wymagany impuls i amplitudę w użytecznym paśmie przy akceptowalnym opóźnieniu”. Dołącz konfigurację, współczynniki i dane testowe. Gładki wykres jest wtedy skutkiem świadomej decyzji, a nie jedynym argumentem za filtrem.
Źródła
- Analog Devices: Filter Basics - Anti-Aliasing - próbkowanie i wymagania filtracji wejścia.
- Tektronix: Using the TDS 300 Series to See Waveform Frequency Components - harmoniczne i kształt przebiegów.
- Steven W. Smith: Moving Average Filters, rozdział 15, udostępniony przez Analog Devices - właściwości średniej ruchomej.
- Wykresy i podane wyniki liczbowe: własne obliczenia dla jawnych modeli opisanych w tekście, nie pomiary sprzętu.