Dlaczego miałbym zostawiać nadpróbkowany sygnał?

21

Nie mogę wymyślić lepszego sposobu zadawania tego pytania, więc zacznę od przykładu. Załóżmy, że mam sygnał wejściowy o maksymalnej częstotliwości 50 Hz (próbkowany przy 100 Hz). Teraz interesujące sygnały mieszczą się w zakresie 0–5 Hz, więc mogę dodać filtr dolnoprzepustowy z odcięciem 5 Hz i wykorzystać uzyskany sygnał do dalszego przetwarzania. Rozumiem, że teraz mogę próbkować w dół filtrowanego sygnału 10-krotnie, a tym samym zmniejszyć obciążenie przetwarzania. Czy mam rację? Jeśli tak, dlaczego próbkowanie w dół nie jest ZAWSZE wykonywane po filtrowaniu, ponieważ wydaje mi się to oczywistą drogą? A jeśli się mylę z założeniem, gdzie się mylę?

anasimtiaz
źródło
4
nadpróbkowanie, a następnie zdziesiątkowanie sygnału jest często sposobem na poradzenie sobie z powolnym tłumieniem szumów z filtrowania analogowego, które spowodowałyby alias twojego sygnału. Następnie dziesiątkowanie (z wymaganym dolnoprzepustowym, który go poprzedza) może dać wyższą jakość sygnału. Filtry ceglane są łatwiejsze do zrealizowania w domenie cyfrowej.
Kortuk,

Odpowiedzi:

17

Masz rację, że jeśli twój sygnał jest ograniczony pasmem do <5 Hz, możesz idealnie go przedstawić za pomocą częstotliwości próbkowania 10 Hz. Jest to dobrze znane twierdzenie o próbkowaniu

Ale ... mogą istnieć praktyczne względy, dlaczego ktoś nie byłby w stanie i / lub nie był skłonny do korzystania z krytycznie próbkowanych danych.

Jednym z powodów jest trudność krytycznego próbkowania sygnału. Każda operacja wykonywana w celu zmiany szybkości sygnału będzie miała pewien filtr z niezerową przepustowością przejścia. W twoim przykładzie ogranicza to niezmienioną zawartość częstotliwości do 5 stóp. Ta szerokość pasma przejściowego może być bardzo wąska za pomocą filtrów o długiej odpowiedzi impulsowej, ale ma to koszty zarówno pod względem przetwarzania, jak i stanów nieustalonych (dzwonienia) na początku i na końcu sygnału.

Innym powodem jest skuteczność algorytmów, które działają na otrzymanym sygnale. Jeśli musisz pracować z komponentem blackbox, który może wybrać tylko najbliższą próbkę, lepiej będzie, jeśli będziesz karmić go danymi o nadmiernej próbce.

Większość (wszystkich?) Operacji nieliniowych będzie zachowywać się inaczej w przypadku danych krytycznie próbkowanych i nadmiernie próbkowanych. Jednym z przykładów jest podniesienie kwadratu sygnału, dobrze znanego sposobu odzyskiwania nośnej BPSK. Bez 2x nadpróbkowanego warunku, zwielokrotnienie sygnału w dziedzinie czasu z samym sobą powoduje całkowite aliasing śmieci, gdy domena częstotliwości się z sobą splata.

Mark Borgerding
źródło
1
Nie rozumiem części, w której mówisz o krytycznym próbkowaniu sygnału. Jeśli moje sygnały są w zakresie 0-5 Hz i zamiast próbkowania w dół o 10, próbkuję w dół o współczynnik 8 (na przykład), czy nadal mam ten problem?
anasimtiaz,
1
Pozwoliłoby to na uzyskanie dodatkowej przepustowości Nyquista (tj. Kodowanej za pomocą częstotliwości próbkowania), która nie jest wykorzystywana przez sygnał zainteresowania. To pasmo pozwala na uzyskanie wykonalnych filtrów, które nie wkraczają na twój sygnał zainteresowania.
Mark Borgerding
8

Dwa kolejne powody, aby przesadzić z próbką:

  1. Małe opóźnienie: na przykład pętle sterowania wymagają bardzo małego opóźnienia. Nadpróbkowanie powoduje szybsze wejście i wyjście danych, co zmniejsza opóźnienia. Również każde filtrowanie dolnoprzepustowe wprowadza opóźnienie grupowe. Im ostrzejszy filtr dolnoprzepustowy, tym większe opóźnienie grupy. Jeśli nadpróbkujesz, potrzebujesz mniej stromych filtrów antyaliasingu i skończysz z mniejszym opóźnieniem grupy, a tym samym opóźnieniem.

  2. Praktyczność: Jeśli dane wejściowe i wyjściowe działają z tą samą (wysoką) częstotliwością, możesz potencjalnie zmniejszyć próbkę, ale musisz ponownie zwiększyć próbkę, zanim będziesz mógł wygenerować wynik. Przykład: w systemie kina domowego można próbkować w dół ścieżkę przetwarzania basu, ale trzeba będzie ponownie próbkować w górę, ponieważ wyjścia pracują z wysoką częstotliwością. W wielu przypadkach oszczędności w MIPS nie są warte zawracania sobie głowy

Hilmar
źródło
2

Przy ustalaniu częstotliwości próbkowania należy wziąć pod uwagę wiele czynników. Pozwól, że wymienię niektóre z nich, aby dać ci wyobrażenie o innych konsekwencjach, jeśli obniżysz częstotliwość próbkowania. Oczywiście wiele z tego zależy od tego, jak dokładnie obniżysz częstotliwość próbkowania, ale ...

  1. Częstotliwość Nyquista: Nie można wykryć częstotliwości większych niż Nyquist, co stanowi co najmniej połowę częstotliwości wykrywania, przy użyciu typowych metod przetwarzania. Istnieją metody polegające na filtrowaniu sygnałów przed konwersją A / D na te w paśmie Nyquista.
  2. Wykrywanie częstotliwości w pobliżu Nyquista może być trudne i narażone na błędy. Uwaga: zazwyczaj dotyczy to tylko tych, którzy naprawdę zamykają zespół. W tym przykładzie ograniczenie zakresu do 12 Hz (Nyquist 6 Hz) z pewnością rozwiąże wszelkie związane z tym wątpliwości.
  3. Składniki wysokiej częstotliwości mają tendencję do zmniejszania wytrzymałości w porównaniu do niższej częstotliwości. Dzieje się tak zasadniczo, ponieważ teoria próbkowania przyjmuje funkcję grzebienia, tj. Wykrywanie w chwili równomiernie rozłożonej. Prawda jest taka, że ​​wszystkie sygnały są mierzone w pewnym krótkim przedziale czasu. Efektem tego jest splot prostokąta w dziedzinie czasu lub pomnożenie przez sygnał sinusowy w dziedzinie częstotliwości. Oczywiście, jeśli po prostu weźmiesz co 10 sygnał (w przeciwieństwie do dłuższego czasu próbkowania), ten wpływ zostanie złagodzony.

Aby zilustrować niektóre z tych zasad, napisałem prosty program matlab, do którego również pokażę wynik.

pis=linspace(0,2*pi,2048);
for f=1:512
sig=cos(f*pis+pi/2);
sig_average=filter(ones(16,1),1/16,sig);
sam_sig=sig_average(1:16:end);
freq=abs(fft(sam_sig));
freqs(f)=max(freq);
end
figure;plot((1:512)/64,freqs)

wprowadź opis zdjęcia tutaj

PearsonArtPhoto
źródło
3
Myślę, że twoja lista punktów jest nieco myląca: 1. Chciałbym tutaj wspomnieć o potencjalnym zastosowaniu „próbkowania pasmowego”; jest to stosunkowo „typowa” metoda. 2. Nie sądzę, aby można było złożyć ogólne oświadczenie. 3. Składniki wysokiej częstotliwości nie zawsze są tłumione w sposób opisany przez użytkownika. Wspomniane zjawisko związane jest z czasem konwersji przetwornika A / C; jest to czynnik ograniczający tylko wtedy, gdy czas konwersji jest znaczący w porównaniu z interwałem próbkowania, co często nie jest prawdą.
Jason R
2
4. Upsampling nie poprawia zdolności do rozwiązywania częstotliwości w bliskich odstępach. Tylko dłuższy czas obserwacji zapewni lepszą rozdzielczość częstotliwości; potrzebujesz produktu o wystarczającej przepustowości czasowej.
Jason R
@JasonR: Dobre punkty. Poprawiłem oświadczenia i w inny sposób dodałem rzeczy, które zasugerowałeś. Większość mojego tła DSP jest z sygnałami mierzonymi w pewnym okresie czasu, więc być może pokazuje moje uprzedzenia ...
PearsonArtPhoto
2

Kryterium Nyquista (podwójna nadpróbka, aby idealnie opisać twój sygnał) dotyczy danych bezszumowych. Jeśli chcesz zrekonstruować zaszumione dane, musisz próbkować z częstotliwością wyższą niż minimalna częstotliwość. Jest to szczególnie prawdziwe w przypadku obrazów, w których zwykle nie ma sygnałów okresowych, a zatem nie można po prostu uśrednić czasowo w celu zmniejszenia szumu.

Ponadto, jeśli chcesz dopasować model do swoich danych, ponownie skorzystasz z wyższego próbkowania, ponieważ dopasowanie modelu do trzech punktów danych nie będzie szczególnie stabilne, szczególnie w obecności hałasu.

Jonas
źródło
Nie można podać ogólnego oświadczenia o tym, ile oversamplingu jest wymagane w przypadku szumnych danych. Najważniejsze jest ogólne pasmo sygnału (interesujący sygnał plus szum); jest to funkcja odpowiedzi dowolnego filtrowania antyaliasingu przed samplerem. Tak długo, jak częstotliwość próbkowania jest wystarczająco duża, aby pomieścić przepustowość, która zawiera znaczną ilość energii w otworze próbkowania, wszystko jest w porządku. Nie ma twardej i szybkiej reguły dotyczącej minimalnego współczynnika nadpróbkowania; wszystko zależy od tego, jak szybko zanika widmo sygnału i szumu.
Jason R
@Jason R: Potrójne oversampling jest ogólną zasadą w obrazowaniu fluorescencyjnym; ale masz rację, że wszystko zależy od tego, ile masz hałasu. Naprawiłem swój post.
Jonas
2

Jednym z powodów utrzymywania nadpróbkowania sygnału jest kompromis zakresu dynamicznego / nadpróbkowania. Z grubsza, za każdym razem, gdy podwajasz przepustowość „niepotrzebnie” dla sygnału zainteresowania, dostajesz dodatkowy kawałek rozdzielczości próbkowania, po zastosowaniu filtrowania (co może się zdarzyć w domenie cyfrowej) możesz przechowywać wyniki na większej głębokości bitowej i te bity zawierają prawidłową treść sygnału, a nie dodatkowy szum (dla żądanej szerokości pasma). Jeśli twój system działa w warunkach, w których pomocny może być dodatkowy zakres dynamiki, to jest dobry powód, aby utrzymać wysoki poziom próbkowania sygnału, gdy wchodzi on do ADC.

Aurelio
źródło