Dlaczego zwiększenie częstotliwości próbkowania ułatwia wdrożenie filtra antyaliasingu?

11

Od odpowiedzi na pytanie dotyczące częstotliwości próbkowania i filtra antyaliasingowego przeczytałem:

Im bardziej zbliżasz się do teoretycznej minimalnej częstotliwości próbkowania, tym trudniej jest praktycznie zrealizować filtr analogowy.

Jeśli się nie mylę, oznacza to, że jeśli nasza częstotliwość próbkowania jest bliska naszej wymaganej teoretycznej minimalnej częstotliwości próbkowania, to zaprojektowanie analogowego filtra przeciwaliasingowego będzie trudniejsze.

Jestem pewien, że dla wielu ma to sens, ale nie mogłem zrozumieć, o co tu chodzi i dlaczego tak jest. Czy można to wyjaśnić przykładem w prostszy sposób?

użytkownik1245
źródło

Odpowiedzi:

24

W miarę zmniejszania częstotliwości próbkowania zmniejsza się separacja między obrazami w dziedzinie częstotliwości.

aliasing

źródło

Pamiętaj, że powtórzenie widma zachodzi przy częstotliwości próbkowania. Kiedy obrazy są bliżej siebie, musisz uzyskać większe tłumienie w filtrze antyaliasingu. Filtr musi przejść z pasma przepustowego na pasmo zatrzymujące przed pojawieniem się następnego obrazu.

filtr

źródło z tej prezentacji

użytkownik110971
źródło
Ciekawy. Ale filtry LP w kolorze zielonym stają się zerowe nie przy 1fs, ale 1fs-w. Powiedzmy, że mój pożądany sygnał BW wynosi 100 Hz, a jeśli moja częstotliwość próbkowania wynosi 500 Hz, czy to oznacza, że ​​pasmo zatrzymania filtra LP musi wystąpić maksymalnie przy 400 Hz?
user1245
@atmnt myśleć, co się stanie. Twój sygnał zajmuje zakres [-100, 100]. Masz również sygnał spoza tego zakresu częstotliwości, na którym ci nie zależy. Twój pierwszy obraz pojawi się przy 500 Hz. Aby uniknąć aliasingu, należy ograniczyć wejście analogowe do zakresu [-400, 400]. Stąd -400Hz pojawi się przy 100Hz podczas próbkowania.
user110971
Czy to prawidłowe ustawienie pasma zatrzymania na wartość pomiędzy 100 Hz a 400 Hz? (Zakładając, że przy 100 Hz nie mamy tłumienia) Dla sygnału wejściowego 100 Hz BW.
user1245
1
Albo mógłbym zamiast tego zwiększyć częstotliwość próbkowania. Ale problem polega na tym, że muszę wiedzieć, że region przejściowy zakresu filtra ustawia prawidłową minimalną wymaganą częstotliwość próbkowania. Wiem tylko, że jest to 3dB przy 1kHz i 6. rzędzie.
user1245
1
@ atmnt możesz to wypracować. Jeśli na przykład użyjesz filtra Butterwortha, będzie to 20dB na dekadę na zamówienie filtra. Ustaw tłumienie pasma zatrzymania na 60dB lub coś takiego. Ale myślę, że to nie wchodzi w zakres tego pytania. Jeśli nie masz pewności co do swojego filtra, powinieneś zadać kolejne pytanie.
user110971,
8

Aby zrekonstruować sygnał w dziedzinie cyfrowej z dziedziny analogowej, potrzebujesz co najmniej dwóch próbek w każdym cyklu o najwyższej częstotliwości występującej w sygnale analogowym. Na przykład na płytach CD używają 44,1 kHz do próbkowania maksymalnej częstotliwości w paśmie audio 20 kHz. Mogliby użyć 40 kHz, ale to jest na granicy, a filtr anty-aliasowy byłby niemożliwy.

Przy częstotliwości próbkowania 44,1 kHz teoretycznie najwyższy częstotliwościowy sygnał audio, który można by uchwycić cyfrowo bez wystąpienia aliasingu, wynosiłby 22 kHz. Więc co by się stało, gdyby 24 kHz zasilało cyfrowy system próbkowania 44,1 kHz, możesz zapytać.

Oznaczałoby to alias na sygnał 20 kHz w dziedzinie cyfrowej i mogłoby się pogorszyć. Co by było, gdyby sygnał wynosił 30 kHz? W sferze cyfrowej będzie to 16 kHz.

Wynika to z faktu, że undersampling tworzy aliasowany wynik:

wprowadź opis zdjęcia tutaj

Zdjęcie stąd .

Aby temu zapobiec, stosujesz filtr zapewniający odpowiednie tłumienie między 20 kHz a 24 kHz. Mówię 24 kHz, ponieważ sygnał 24 kHz jest na granicy stania się aliasowanym rzeczywistym sygnałem audio 20 kHz. Tak więc dla osób z doskonałym słyszeniem do 20 kHz (już nie dla mnie), filtr antyaliasowy musi zapewniać praktycznie zerowe tłumienie przy 20 kHz i może do 80 dB (lub więcej) tłumienie przy 24 kHz.

Jest to filtr dość wysokiego rzędu i większość inżynierów zajmujących się takimi systemami wolałaby stosunek bardziej jak 3: 1 dla częstotliwości próbkowania do najwyższej częstotliwości analogowej.

Andy aka
źródło
4

Twój filtr antyialiasowy ma trzy pasma

1) Pasmo przenoszenia, od DC do Fwanted
2) Stopband, od Fsample-Fwanted do nieskończoności
3) Pasmo przejściowe, od Fwanted do Fsample-Fwanted

Koszt filtra (liczba stopni, komponent Q, liczba mnożników) jest w przybliżeniu proporcjonalna do odwrotności pasma przejściowego i rośnie wraz z głębokością w dB pasma zatrzymania.

Im wyższy Fsample, tym szersze pasmo przejściowe i tańszy filtr

Neil_UK
źródło
Ale czy pasmo stop ma jakąkolwiek definicję ilościową w dB?
użytkownik1245
1
@atmnt Stopband jest tym, czym chcesz. Niektórzy ludzie są zadowoleni z -40dB (nie zobaczysz aliasingu na oscyloskopie), inni potrzebują -100dB (dla wysokowydajnych przyrządów pomiarowych). Głębszy stopband również kosztuje, zaktualizuję swoją odpowiedź, aby to uwzględnić.
Neil_UK
Twoje odpowiedzi są bardzo pouczające. Jeszcze tylko jedno pytanie na przykładzie. Kiedy mówisz Fwanted, masz na myśli 3dB odcięty freq.? Jeśli na przykład pożądana szerokość pasma wibracji z przetwornika siły wynosi 200 Hz, czy nasz Fwanted byłby wybrany na 200 Hz lub nieco więcej? Pytam, ponieważ kiedy mówimy Fwanted, mamy na myśli płaskie i bez tłumienia lub częstotliwości 3dB.
użytkownik1245,
3

Załóżmy, że częstotliwość próbkowania wynosifs

Następnie, zgodnie z Nyquist , mogę próbkować sygnały o częstotliwości do i wykorzystywać próbkowane dane do dokładnej rekonstrukcji mojego sygnału.fs/2

Co się stanie, jeśli mój sygnał nie „zatrzyma się” na , wówczas te sygnały powyżej próbkowanie, a mój zrekonstruowany sygnał nie będzie już taki sam. Ten efekt nazywa się aliasingiem .fs/2fs/2

Tak więc te sygnały powyżej muszą zostać odfiltrowane za pomocą filtra antyaliasingowego.fs/2

Jednak nie chcemy, aby ten filtr wpływał na sygnały !fs/2

Zatem filtr idealnie musi:

Nie rób nic, gdyf<fs/2

ale

blokuj wszystko, gdyf>fs/2

To niemożliwe do zrobienia! Więc musi być kompromis.

Gdy najwyższa częstotliwość w twoim sygnale jest bliska wówczas nie można wprowadzić filtra, aby nie wpływał on na częstotliwości sygnału bliskiefs/2fs/2

Sprawa staje się znacznie łatwiejsza, jeśli:

Ogranicz częstotliwości sygnału do znacznie mniejszych częstotliwości niżfs/2

lub

możemy zwiększyć częstotliwość próbkowania tak, że kończy się w znacznie wyższej częstotliwości.fs/2

Następnie „rozłączamy” najwyższą częstotliwość sygnału i częstotliwość .fs/2

To wtedy „tworzy przestrzeń” dla filtra antyaliasingowego, ponieważ częstotliwość, przy której filtr nie powinien nic robić (najwyższa częstotliwość sygnału), i częstotliwość, przy której wszystko powinno być zablokowane ( ), będą dalej od siebie oddalone.fs/2

Bimpelrekkie
źródło
Czy w praktyce pasmo stop ma jakąkolwiek definicję ilościową w dB? Podejrzewam, że należy to ustalić podczas projektowania, ale jaki jest docelowy poziom dB? Dowolny pomysł?
user1245
Jako inny przykład, mam kilka przetworników siły, które są próbkowane z częstotliwością 500 Hz, a odsetek BW wynosi 200 Hz. Czy więc potrzebuję filtra antyaliasingu LP, którego pasmo zatrzymania wynosi 300 Hz? Obecnie używany jest filtr antyaliasingu 6. rzędu 6. rzędu.
user1245
Nie ma jednoznacznej odpowiedzi. Jeśli twój filtr tłumi więcej (wyższy poziom), wtedy aliasing staje się mniejszym problemem. Ale może to bardziej wpłynąć na twój sygnał. Jest to kompromis , który należy znaleźć dla każdej aplikacji indywidualnie. Zależy to również od twojego sygnału, jeśli nie ma treści, które mogłyby tworzyć aliasy, to nie jest potrzebny żaden filtr. 500 Hz jest wyjątkowo niskie i stosunkowo zbliżone do 200 Hz BW. Ponieważ nawet 1 Msps ADC są obecnie tanie, alternatywą może być bardzo prosty filtr RC (1. rzędu), ale próbka przy 1 MHz. Jeśli to za dużo danych, wykonaj uśrednianie.
Bimpelrekkie
2

Załóżmy, że twoje pasmo zainteresowania wynosi od DC do 100 Hz, a twój sygnał ma ograniczony przez pasmo biały szum do 10 kHz. Powiedzmy, że zdecydowałeś się na próbkowanie przy częstotliwości 2 kHz. Możesz zbudować ładny filtr z dolnym biegunem z tłumieniem 20dB / dekadę i tłumić hałas, aby zminimalizować aliasing

Powiedzmy, że chcesz próbkować przy 210 Hz. Musisz zbudować filtr wyższego rzędu, aby uzyskać wystarczające tłumienie. Takie filtry są trudniejsze i droższe w projektowaniu i budowie. Jeśli uda Ci się to zrobić poprawnie, otrzymasz sygnał ze znacznym zniekształceniem faz w paśmie pasmowym.

Scott Seidman
źródło
0

W przypadku filtra analogowego należy wziąć pod uwagę jego wydajność w zakresie najwyższej częstotliwości. Często oznacza to, że trzeba ustawić „fc” dla filtra analogowego nieco wyższą niż najwyższa częstotliwość będąca przedmiotem zainteresowania (i / lub użyć ostrzejszego filtra).

Aby uniknąć aliasingu, musisz próbkować z częstotliwością co najmniej dwukrotnie wyższą niż najwyższy składnik, który przejdzie przez filtr na pewnym maksymalnym poziomie, na którym możesz tolerować zanieczyszczenie przez aliasowany sygnał. Oznacza to, że częstotliwość próbkowania jest co najmniej dwa razy większa od fc i często musi być nieco wyższa.

Więc teraz, praca wstecz, wyższa częstotliwość próbkowania, oznacza, że ​​możesz mieć wyższą wartość fc, a to oznacza, że ​​możesz łatwiej uzyskać płaską odpowiedź do pewnej częstotliwości zainteresowania mniejszej niż fc.

Ale … jak zapewne wiesz, szum rośnie wraz z przepustowością. Dlatego w przypadku aplikacji o niskim poziomie hałasu może być konieczne konserwatywne ustawienie przepustowości filtra.

DrM
źródło