Dlaczego zakresy cyfrowe próbkują sygnały z częstotliwością wyższą niż wymagana przez twierdzenie o próbkowaniu?

15

W poszukiwaniu niedrogiego analizatora zakresu / logiki na PC znalazłem ładne, małe urządzenie, które wygląda bardzo dobrze i wiem, że to zadziała.

Jednak patrząc na specyfikacje , napotkałem to:

Przepustowość a częstotliwość próbkowania

Aby dokładnie zarejestrować sygnał, częstotliwość próbkowania musi być wystarczająco wyższa, aby zachować informacje w sygnale, jak wyszczególniono w twierdzeniu Nyquista – Shannona o próbkowaniu. Sygnały cyfrowe muszą być próbkowane co najmniej cztery razy szybciej niż składnik najwyższej częstotliwości w sygnale. Sygnały analogowe muszą być próbkowane dziesięć razy szybciej niż najszybsza składowa częstotliwościowa sygnału.

I w konsekwencji ma częstotliwość próbkowania 500MSP, ale szerokość pasma (filtr) wynosi 100 MHz, więc stosunek 1: 5 dla sygnałów cyfrowych i częstotliwość próbkowania 50MSP i szerokość pasma (filtr) 5 MHz, więc stosunek 1:10 dla sygnałów analogowych

O ile rozumiem, Niquist-Shannon mówi tylko o próbkowaniu z podwójną maksymalną częstotliwością (teoretycznie), oczywiście dobrze jest nie przekraczać granic i nie ma doskonałych filtrów. ale nawet prosty UART próbkuje sygnał cyfrowy z tą samą prędkością, co szybkość transmisji!

Czy to zwyczajowa zasada pobierania próbek? czy jest to coś, co mógł napisać ktoś ze sprzedaży? To pozwala mi jakoś nieświadomie, że nigdy o tym nie słyszałem.

LuisF
źródło
5
Tanie lunety przecinają wszelkie zakręty, jeśli chodzi o ich zdolność do prawidłowej interpolacji próbek sygnału do wyświetlania, dlatego potrzebują tak wysokich współczynników nadpróbkowania, aby uzyskać przyzwoitą jakość obrazu.
Dave Tweed
7
Cokolwiek poniżej 5000 USD jest wystarczająco tanie, musisz zaprojektować lunetę za rogami.
Photon
9
Jeśli próbkujesz powtarzalny przebieg w 2f, nie wiesz nic o jego kształcie. Czy to był kwadrat, sinus, sawtoooth? Kto wie ... twoje próbki nie mogą ci powiedzieć.
brhans
5
@brhans zauważ, że twój punkt jest absolutnie dyskusyjny. Kwadratowa fala częstotliwości nie ma bynajmniej szerokości pasma f , ale składowe widmowe w całym miejscu. ff
Marcus Müller,
4
Mylisz się co do UART. Klasyczny UART 16550 działający z najwyższą prędkością transmisji pobiera 16 próbek na bit. Nie można uzyskać niezawodnej synchronizacji z czymkolwiek mniejszym niż 3 próbki na bit (przesunięcie zegara będzie się kumulować, co spowoduje okresową utratę jednego bitu). Twierdzenie o próbkowaniu Niquista mówi tylko, że nie można zrekonstruować sygnału o częstotliwości próbkowania mniejszej niż 2x, nie oznacza to, że można uzyskać dobry sygnał przy częstotliwości 2x.
slebetman

Odpowiedzi:

10

„nawet prosty UART próbkuje sygnał cyfrowy z tą samą prędkością ...” UART nie musi rekonstruować analogowego sygnału fali prostokątnej, który przenosi informację cyfrową, więc nie bierze pod uwagę twierdzenia.

Shannon-twierdzenie Nyquista rzeczywiście mówi o idealnej reprezentacji wystąpienia analogowego sygnału. Idealna reprezentacja oznacza tutaj, że znając tylko próbki sygnału, można idealnie odtworzyć próbkowany analogowy sygnał w dziedzinie czasu.

Oczywiście jest to możliwe tylko w teorii. W rzeczywistości wzór rekonstrukcji obejmuje szereg funkcji „sinc” ( ), które nie są ograniczone w czasie (rozciągają się od-dosinc(x)=sin(πx)πx ), więc nie można ich tak naprawdę idealnie zaimplementować w sprzęcie. Najwyższej klasy lunety używają skróconej formy tej funkcji sinc, aby osiągnąć wyższą przepustowość przy niższych częstotliwościach próbkowania, tj. Więcej MHz przy mniejszej liczbie próbek, ponieważ nie po prostu „łączą kropki”, więc nie wymagają zbytniego nadpróbkowania.+

Nadal jednak potrzebują one nadpróbkowania, ponieważ częstotliwość próbkowania musi być większa niż 2B, gdzie B jest przepustowością, a fakt, że używają skróconej funkcji sinus w rekonstrukcji, nie pozwala zbliżyć się zbytnio do tej liczby 2B.

Lorenzo Donati wspiera Monikę
źródło
8
Właściwie każde UART, które widziałem, próbkuje dane z prędkością 8 lub 16 razy większą niż prędkość transmisji.
rura
1
@pipe Zgadzam się, nieliczni, których widziałem, zachowują się w ten sposób. Właśnie wskazałem fałszywą przesłankę w rozumowaniu OP.
Lorenzo Donati popiera Monikę
@rura. BTW, myślę, że próbkują tak szybko tylko dlatego, że pozwala to na prostsze algorytmy wykrywania. Nie jestem pewien, ale myślę, że mogliby zrobić przy znacznie mniejszej liczbie próbek, gdyby zastosowali bardziej skomplikowane algorytmy (co jest prawdopodobnie niepraktyczne i kosztowne, więc pytanie jest dyskusyjne).
Lorenzo Donati wspiera Monikę
2
sinc(x)
3
Niektóre jednostki MCU UART, jak stary MC6811, próbkowano trzy razy w środku bitu (zegary 5, 7 i 9, ponieważ korzystały z nadpróbkowania 16X), korzystały z funkcji większości, aby uzyskać wartość bitu danych i ustawiały flagę szumu "bit statusu, jeśli próbki nie wszystkie pasują. Użyli także wielu próbek, aby potwierdzić początkową krawędź bitu. To nie tylko pomogło w wykryciu i złagodzeniu niektórych szumów, ale może także dać nieco większą tolerancję częstotliwości zegara.
Mike DeSimone
29

Twierdzenie Nyquista-Shannona o próbkowaniu ... często źle stosowane ...

Jeśli masz sygnał doskonale pasmowy ograniczony do szerokości pasma f0, możesz zebrać wszystkie informacje zawarte w tym sygnale, próbkując go w dyskretnych momentach, o ile częstotliwość próbkowania jest większa niż 2f0

jest bardzo zwięzły i zawiera w sobie dwa bardzo ważne zastrzeżenia

  1. IDEALNIE OGRANICZONA
  2. Większy niż 2f

Punkt 1 jest tutaj głównym problemem, ponieważ w praktyce nie można uzyskać sygnału całkowicie pasmowego. Ponieważ nie jesteśmy w stanie osiągnąć idealnie pasmowego sygnału, musimy poradzić sobie z cechami prawdziwego sygnału o ograniczonym paśmie. Bliżej częstotliwości nyquista spowoduje dodatkowe przesunięcie fazowe. Bliżej spowoduje zniekształcenie, niemożność odtworzenia sygnału zainteresowania.

Praktyczna zasada? Próbowałbym 10-krotnie przy maksymalnej częstotliwości, którą jestem zainteresowany.

Bardzo dobry artykuł na temat niewłaściwego użycia Nyquist-Shannon http://www.wescottdesign.com/articles/Sampling/sampling.pdf

Dlaczego „At 2x” jest błędne

Weźmy to jako przykład: chcemy próbkować sinusoidę o częstotliwości f. jeśli ślepo próbkujemy na 2f ... możemy skończyć uchwyceniem linii prostej.

wprowadź opis zdjęcia tutaj

JonRB
źródło
3
Doskonała odpowiedź. Limit 2f Nyquista zapobiega aliasingowi, ale nadal dopuszcza błąd amplifikacji 100%, jak pokazano na rysunku. Przy większej liczbie punktów na cykl błąd amplitudy, błąd fazy, błąd przesunięcia i błąd częstotliwości ostatecznie spadają do dopuszczalnych wartości.
MarkU
6
To była doskonała odpowiedź do przykładu, który pokazuje tylko, że bardzo ważne jest, aby częstotliwość próbkowania była ponad dwukrotnie większa niż przepustowość. @ MarkU mówi o efektach, które istnieją, gdy nie przestrzegasz „prawa”.
rura
4
dokładnie potok :) jeśli przeczytasz, co napisał OP „próbkowanie przy dwukrotności maksymalnej częstotliwości (teoretycznie)” Na początek nie jest to twierdzenie (jak napisałem) i jest to najczęstsze nieporozumienie twierdzenie o próbkowaniu. Czy obraz jest prymitywny tak, ALE do tego stopnia, że ​​„dwa razy” jest tak bardzo błędne i zupełnie nie to, co stwierdził NS.
JonRB
Zgodnie z twierdzeniem podany przez ciebie przykład jest zły. Rzeczywiście, jest to przykład pokazany, dlaczego częstotliwość próbkowania powinna być większa niż 2f. W idealnie pasmowej fali o dowolnej częstotliwości większej niż 2f idealnie umożliwiłby odtworzenie fali.
bunyaCloven
4
I o to mi chodzi. PO stwierdzało się 2x. Cytuję to twierdzenie dokładnie (nigdy nie mówi przy 2x, mówi więcej niż Z idealnie ograniczonym pasmem sygnału), a także pokazuję, dlaczego nie należy próbkować przy 2x. Ten przykład nie ma na celu pokazać, co należy zrobić, ALE dlaczego kolokwialna interpretacja NS jest tak bardzo błędna
JonRB
13

Istnieje różnica między analizą sygnału pod kątem informacji a wyświetleniem go na ekranie lunety. Wyświetlacz lunety jest w zasadzie połączeniem kropek, więc jeśli próbkowałeś falę sinusoidalną 100 MHz przy 200 MHz (co 5 ns) ORAZ miałeś próbkę wymyślonego komponentu, możesz również zrekonstruować sygnał. Ponieważ masz dostępną tylko część rzeczywistą, 4 punkty to właściwie minimum wymagane, a nawet wtedy zdarzają się sytuacje patologiczne, takie jak próbkowanie przy 45, 135, 225 i 315 stopniach, które wyglądałyby jak fala prostokątna o mniejszej amplitudzie. Twój zakres pokazuje jednak tylko 4 punkty połączone prostymi liniami. W końcu zakres nie ma możliwości dowiedzenia się, jaki jest rzeczywisty kształt - aby to zrobić, potrzebowałby wyższych harmonicznych. Aby uzyskać dość dobre przybliżenie do sinusoidy 100 MHz, potrzebowałoby około 10 próbek na okres - im więcej, tym lepiej, ale 10 to z grubsza ogólna zasada. Z pewnością 100 próbek byłoby przesadnych w celu wyświetlenia zakresu, a praktyczne zasady inżynieryjne zwykle działają z mocami 10.

WhatRoughBeast
źródło
3
Ale urojonym składnikiem jest (prawdopodobnie) zero ...
Oliver Charlesworth
2
@OliverCharlesworth - Nie w odniesieniu do zegara próbkowania. Wyimaginowana składowa wynosi 90 stopni dla cyklu sinusoidalnego uruchomionego przy zerowej amplitudzie, ponieważ gdyby była zerowa, a obie próbki byłyby zerowe, nie ma sposobu, aby stwierdzić, że sinus jest nawet tam.
WhatRoughBeast
1
Szczerze mówiąc, to brzmi jak nadpróbkowanie 2x. Trudno mi modelować, w jaki sposób generuje się wyimaginowany komponent (bez operacji przesunięcia częstotliwości lub transformaty Hilberta). Nie twierdzenie, że ten framework jest tutaj niepoprawny, tyle że nigdy nie widziałem, aby był używany w ten sposób. Jakieś wyszukiwane hasła Google, które powinienem zbadać?
Oliver Charlesworth
Ponadto, nie przekonany przez „potrzebę wyższych harmonicznych” - cytat OP odnosi się do „ komponentu najszybszej częstotliwości” - biorąc pod uwagę to ograniczenie, (wystarczająca) interpolacja sinusowa powinna zrekonstruować pierwotny przebieg dla czegokolwiek> 2f.
Oliver Charlesworth
1
@OliverCharlesworth - „modelowanie w trudny sposób, w jaki sposób generuje się wyimaginowany komponent” - Dokładnie. Nie jest to wykonalne, dlatego musisz przeskanować. W świecie RF generujesz I i Q, ale tutaj nie jest to przydatne. A jeśli chodzi o interpolację sinc, producenci zakresów uważają, że jest to nieekonomiczne, nie wspominając o braku intuicyjności ze strony użytkowników. Przy maksymalnej częstotliwości skanowania w zakresie cyfrowym ślad staje się oczywisty, gdy punkty połączone są liniami prostymi, a granice częstotliwości próbkowania stają się oczywiste (i, miejmy nadzieję, jako źródło ostrożności).
WhatRoughBeast