Po co próbkować z pewną częstotliwością, aby od razu ją zmniejszyć?

19

Przepraszam, jeśli to pytanie nie jest dobrze postawione. Czytam artykuł, który twierdzi, że:

Wektory magnetometru są próbkowane przy 100 Hz. Detektor filtruje i obniża próbkowanie wektorów do 10 Hz w celu usunięcia szumu sygnału i zmniejszenia obliczeń wymaganych do przetwarzania na żywo na smartwatchu.

Moje pytania brzmią: jeśli chcieli, aby częstotliwość próbkowania wynosiła 10 Hz, dlaczego początkowo nie tylko próbkowali przy 10 Hz?

colglaz
źródło
12
Wygładzanie krawędzi. Bardzo powszechne.
winny
2
Ten dokument mówi sam za siebie wescottdesign.com/articles/Sampling/sampling.pdf
Blup1980

Odpowiedzi:

41

jeśli chcieli, aby częstotliwość próbkowania wynosiła 10 Hz, dlaczego nie tylko próbkowali na początku 10 Hz?

Aby uniknąć aliasingu , sygnał musi zostać przefiltrowany dolnoprzepustowo przed próbkowaniem. Żadne częstotliwości powyżej Fs / 2 nie powinny być obecne w sygnale analogowym (lub, realistycznie, powinny być dostatecznie tłumione, aby zakopane w szumie lub na poziomie wystarczająco niskim, aby spełnić określone wymagania).

Jeśli próbkujesz przy Fs = 10 Hz i chcesz uzyskać powiedzmy sygnały 4 Hz, Twój filtr będzie musiał przepuścić je, ale zapewnić silne tłumienie powyżej 5 Hz, więc będzie potrzebował płaskiej funkcji przenoszenia w paśmie przepustowym, a następnie gwałtownego spadku po częstotliwości odcięcia.

Te filtry wyższego rzędu są trudne i kosztowne do wdrożenia w domenie analogowej, ale bardzo proste do wykonania w domenie cyfrowej. Filtry cyfrowe są również bardzo dokładne, częstotliwość odcięcia nie zależy na przykład od tolerancji kondensatorów.

Dlatego o wiele tańsze jest zastosowanie dolnoprzepustowego analogowego rzędu niskiego rzędu, nadpróbkowanie o duży współczynnik, a następnie użycie ostrego filtra cyfrowego, aby obniżyć próbkowanie do rzeczywistej końcowej częstotliwości próbkowania.

Ten sam sprzęt cyfrowy może być używany również dla kilku kanałów. Przy tej niskiej częstotliwości próbkowania wymagania dotyczące mocy obliczeniowej są bardzo niskie, a nowoczesny mikrokontroler z łatwością wdroży wiele kanałów cyfrowego filtrowania w bardzo niskiej cenie.

peufeu
źródło
10

Wspomniałeś słowo magnetometry. To nieco rozszerza zakres.

Magnetometry dla osób nieznajomych mierzą strumień magnetyczny i wytwarzają proporcjonalne napięcie wyjściowe / sygnał odpowiednio do strumienia.

Prawdopodobnie wykryjesz również dużą ilość niepożądanej „energii elektrycznej” z powodu wypromieniowanej energii magnetycznej z dowolnych kabli elektrycznych w pobliżu.

W rzeczywistości bezpośrednie próbkowanie przy 10 Hz w obecności 50 Hz może doprowadzić Cię do szaleństwa, ponieważ może nie być dokładnie 10 Hz, a zobaczysz coś, co wygląda jak powolne przesunięcie DC w górę i w dół w ciągu kilku sekund.

100 Hz staje się znaczące, pomagając wyeliminować ten niechciany sygnał z tego, co naprawdę chcesz zobaczyć. Jest to typowe dla miejsc, w których występuje 50 Hz, w USA oczywiście 60 Hz.

Jeśli używasz magnetometrów w niektórych krajach, 100 Hz / 10 Hz nie działa tak dobrze; możesz znaleźć inny model dla tych rynków.

Odpowiedzi na temat antyaliasingu / filtrowania itp. Są nadal poprawne; jest to po prostu bardziej szczegółowe dla twojego przypadku użycia.

użytkownik179518
źródło
7

Nie od razu próbkują. „Filtrują i próbkują”. Prawdopodobnie filtr jest dolnoprzepustowy, który eliminuje aliasy, które mogą wystąpić w sygnale o zmniejszonej częstotliwości próbkowania. Filtrowanie może również redukować szumy, wykorzystując informacje z kilku ze 100 próbek Sps, aby przyczynić się do określenia każdej wartości próbki w zdziesiątkowanym (10 Sps) sygnale.

The Photon
źródło
5
Ta odpowiedź jest poprawna, ale tylko pod względem kompletności, aby downsample poprawnie, należy filtr dolnoprzepustowy (przy częstotliwości Nyquista) przed próbkowania. Filtr nie jest opcjonalny.
Mark Lakata
@MarkLakata Nie zgadzam się. Sam filtr nie jest wymagany, wymagany jest brak sygnałów powyżej Fs / 2. Jeśli czegoś oczekujesz, musisz dodać tak zwany filtr antyaliasingu. Jeśli, z założenia lub z natury tego, co mierzysz, nie oczekujesz niczego (sygnału lub szumu) powyżej Fs / 2, to filtr jest bezużyteczny.
Blup1980
@ Blup1980 Technicznie prawdziwe - ale tylko wtedy, gdy próbkujesz matematycznie czysty sygnał, z nieskończoną rozdzielczością i zerowym jitterem przy generowaniu kształtu fali i punktach próbkowania. Nawet do przetwarzania końcowego „czystego” przebiegu generowanego komputerowo oznacza to, że potrzebujesz go we wszystkich próbkach cyfrowych z powodu szumu w LSB (chociaż w przypadku wysokich rozdzielczości możesz go zignorować, ponieważ jest mały). W przypadku PO jest to absolutnie wymagane i nigdy nie jest opcjonalne.
Graham
@ Blup1980 dość dobrze, możliwe jest, że sygnały były głupio próbkowane przy 100 Hz z filtrem LP 20 Hz na miejscu. Zakładając jednak ogólny przypadek, w którym kształty fal wejściowych, które nie są ograniczone częstotliwością, musisz przekazać dane w dół przed ponownym próbkowaniem z niższą częstotliwością. en.wikipedia.org/wiki/Sample-rate_conversion W przypadku magnetometru (tj. kompasu w smartfonie) można założyć, że na wszystkich częstotliwościach powyżej 20 Hz jest dużo hałasu.
Mark Lakata
5

Istnieje wiele przypadków, w których różne szybkie (w porównaniu do sygnału) źródła szumu mogą wpływać na odczyty. Innym przykładem jest fotodioda wykonująca wolne pomiary. Może łatwo wychwycić migotanie 50/60 / 100 / 120Hz typowych źródeł światła w zależności od tego, gdzie jesteś, i prawdopodobnie nawet wykryje migotanie światła LED / fluorescencyjnego wysokiej częstotliwości.

W niektórych przypadkach możesz być w stanie zastosować filtr dolnoprzepustowy na wejściu, ale często łatwiej jest zoptymalizować filtrowanie w oprogramowaniu (np. Po prostu nadpróbkowanie i uśrednienie pewnej liczby n próbek, gdzie n jest konfigurowalne przez użytkownika).

Zmniejszenie częstotliwości próbkowania nie (koniecznie) (liniowo) nie wydłuża czasu ustalania, więc zasadniczo migasz sygnał wejściowy. W rzeczywistości na przykład w MCP3002 czas ustalania zależy od częstotliwości zegara SPI, która może być ustawiona z innych powodów, a nie w ogóle częstotliwości próbkowania (co ma sens: urządzenie nie wie o częstotliwości próbkowania, sam fakt, że jest proszony o próbkowanie, ale dane w arkuszu danych używają prędkości zegara ustawionej na podstawie częstotliwości próbkowania). Jeśli wydajność urządzenia jest ustawiona na podstawie częstotliwości zegara, a minimalna prędkość zegara jest wyższa niż chcesz, możesz równie dobrze odczytać szybciej, a uśrednianie jest tanie.

Chris H.
źródło
Bardzo dobrze, że wybór częstotliwości próbkowania może być artefaktem pewnego niepowiązanego wyboru projektu.
KalleMP
3

Nadmierne próbkowanie ułatwia filtr aliasingu i reakcję przejściową za pomocą SAR ADC, a uśrednianie przez dziesiątkowanie zmniejsza szum przez pierwiastki n próbek w oprogramowaniu. Gdyby zintegrowane IDC AD było dostępne, można by to zrobić w jednym kroku.

Tony Stewart Sunnyskyguy EE75
źródło