Pytanie: Testowałem jeden z wykorzystywanych przetworników analogowy cyfrowych (ADC) z powodzeniem - wszystko działało dobrze, aż tu nagle na FFT zaczęły pojawiać się doprawdy zadziwiające rezultaty. O co chodzi?
Odpowiedź: To pytanie wpłynęło relatywnie niedawno i okazało się, że odpowiedź została odnaleziona bardzo szybko. Zaobserwowane zjawisko wyglądało jak na obrazie widma FFT pokazanym na rysunku 1 poniżej, po prawej stronie.
Rys.1. Poprawne (po lewej) i nie poprawne (po prawej) widmo FFT uzyskane z układu AD9684 próbkującego sygnał 170,3 MHz przy -1 dBFS z częstotliwości 500 MSPS.
To o czym mówił pytający to nie tylko niepoprawne wyniki FFT, ale także pływające - zmienne w czasie i niepowtarzalne - FFT. To zachowanie wskazywało na to, co można było zgadnąć od razu - źródło zegara w układzie albo nie działało poprawnie lub w ogóle nie było podłączone do przetwornika. Układ samoczynnie, w chaotyczny sposób, generował sobie zegar próbkowania. Takie zjawisko zajść może, gdy połączenie pomiędzy zegarem a ADC jest przerwane lub gdy tor tego sygnału jest kiepskiej jakości.
To zjawisko nie było trudne w rozszyfrowaniu, bo zdarza się zadziwiająco często. Wielu z nas - czasami nawet nieświadomie - miało okazję je zaobserwować. Na rysunku 2 zaprezentowano inne przykładowe widma FFT przetworników ADC z źle działającym zegarem.
W ogromnej większości aplikacji chcemy, aby zegar taktowania był pojedynczą, stabilną częstotliwością. Każda zmiana tego sygnału (np. z uwagi na szumy fazowe bądź termiczne, niestabilność częstotliwości oscylatora czy zakłóceń sprzęgających się z zegarem) doprowadzi do dekoherencji analogowego sygnału wejściowego i wyjściowego sygnału z ADC, szczególnie w przestrzeni częstotliwości (tj. po wykonaniu np. FFT). Więcej na ten temat poczytać można w nocie aplikacyjnej AN-756 (Link*), gdzie opisano jak nawet bardzo subtelne szumy fazowe zegara taktującego będą zniekształcać próbkowany sygnał.
Kto jest zatem winowajcą w tej sytuacji? Zegar próbkujący w tego rodzaju szybkich układach ADC są typowo prowadzone sygnałami różnicowymi, które współdzielą taką samą polaryzację napięciem współbieżnym. Odbiornik w przetworniku ma bardzo duże wzmocnienie na wejściu, więc w sytuacji, gdy na wejściu nie ma poprawnego sygnału różnicowego, ale są one spolaryzowane napięciem współbieżnym, to nawet niewielkie zakłócenie z zewnątrz może zostać wzmocnione do poziomu w którym zostaną one zinterpretowane jako zegar, Tego rodzaju oscylacje w linii zegarowej pojawiać się będą przy różnych częstotliwościach i niestety nie będą zbyt stabilne (gdyby były, to by była całkiem fajna funkcjonalność).
W momencie gdy zegar taktujący próbkowanie będzie miał - zasadniczo - losową częstotliwość energia sygnału wejściowego zostanie rozmyta po całym pasmie Nyqista w widmie FFT. I to właśnie obserwujemy na przykładach pokazanych na rysunku 2.
W większości wypadków chcemy po prostu móc wykryć taką sytuację, aby dokonać odpowiednich poprawek w układzie i kontynuować pracę w poprawnej konfiguracji. Jednakże, jeśli chcemy upewnić się, że właśnie taka sytuacja ma miejsce, musimy obserwować sygnał na wyjściu zegara danych z ADC (nie jest to możliwe w układach z wyjściem w standardzie JESD204B). Na tym wyjściu obecny jest najczęściej skopiowany zegar taktujący, lub też podzielony przez pewną wartość zegar, jeśli używamy wbudowanego w ADC układu decymującego. Sygnały zegarowe na wyjściu zegara, dla widm FFT pokazanych ma rysunku 1 zaprezentowano poniżej na rysunku 3.
Jak widać na zegarze dla niepoprawnego FFT okres zmienia się w czasie. Widać dlaczego łatwo przeoczyć taką usterkę - na pierwszy rzut oka wszystko działa, bo ADC próbkuje, a jedynie wyniki są niepoprawne i trudne w interpretacji.
Czy ADC został uszkodzony? czy odbiornik danych nie działa poprawnie? czy oprogramowanie działa źle? Nie. Po prostu straciliśmy źródło sygnału zegarowego.
Źródło: http://www.analog.com/en/analog-dialogue/raqs/raq-issue-137.html
* Jeśli czytelnicy są zainteresowani mogę ten artykuł przetłumaczyć na język polski i ew. uzupełnić inną literaturą, aby zjawisko to było lepiej zrozumiane, także na poziomie ilościowym - przyp.red.
Odpowiedź: To pytanie wpłynęło relatywnie niedawno i okazało się, że odpowiedź została odnaleziona bardzo szybko. Zaobserwowane zjawisko wyglądało jak na obrazie widma FFT pokazanym na rysunku 1 poniżej, po prawej stronie.
Rys.1. Poprawne (po lewej) i nie poprawne (po prawej) widmo FFT uzyskane z układu AD9684 próbkującego sygnał 170,3 MHz przy -1 dBFS z częstotliwości 500 MSPS.
To o czym mówił pytający to nie tylko niepoprawne wyniki FFT, ale także pływające - zmienne w czasie i niepowtarzalne - FFT. To zachowanie wskazywało na to, co można było zgadnąć od razu - źródło zegara w układzie albo nie działało poprawnie lub w ogóle nie było podłączone do przetwornika. Układ samoczynnie, w chaotyczny sposób, generował sobie zegar próbkowania. Takie zjawisko zajść może, gdy połączenie pomiędzy zegarem a ADC jest przerwane lub gdy tor tego sygnału jest kiepskiej jakości.
To zjawisko nie było trudne w rozszyfrowaniu, bo zdarza się zadziwiająco często. Wielu z nas - czasami nawet nieświadomie - miało okazję je zaobserwować. Na rysunku 2 zaprezentowano inne przykładowe widma FFT przetworników ADC z źle działającym zegarem.
W ogromnej większości aplikacji chcemy, aby zegar taktowania był pojedynczą, stabilną częstotliwością. Każda zmiana tego sygnału (np. z uwagi na szumy fazowe bądź termiczne, niestabilność częstotliwości oscylatora czy zakłóceń sprzęgających się z zegarem) doprowadzi do dekoherencji analogowego sygnału wejściowego i wyjściowego sygnału z ADC, szczególnie w przestrzeni częstotliwości (tj. po wykonaniu np. FFT). Więcej na ten temat poczytać można w nocie aplikacyjnej AN-756 (Link*), gdzie opisano jak nawet bardzo subtelne szumy fazowe zegara taktującego będą zniekształcać próbkowany sygnał.
Kto jest zatem winowajcą w tej sytuacji? Zegar próbkujący w tego rodzaju szybkich układach ADC są typowo prowadzone sygnałami różnicowymi, które współdzielą taką samą polaryzację napięciem współbieżnym. Odbiornik w przetworniku ma bardzo duże wzmocnienie na wejściu, więc w sytuacji, gdy na wejściu nie ma poprawnego sygnału różnicowego, ale są one spolaryzowane napięciem współbieżnym, to nawet niewielkie zakłócenie z zewnątrz może zostać wzmocnione do poziomu w którym zostaną one zinterpretowane jako zegar, Tego rodzaju oscylacje w linii zegarowej pojawiać się będą przy różnych częstotliwościach i niestety nie będą zbyt stabilne (gdyby były, to by była całkiem fajna funkcjonalność).
W momencie gdy zegar taktujący próbkowanie będzie miał - zasadniczo - losową częstotliwość energia sygnału wejściowego zostanie rozmyta po całym pasmie Nyqista w widmie FFT. I to właśnie obserwujemy na przykładach pokazanych na rysunku 2.
W większości wypadków chcemy po prostu móc wykryć taką sytuację, aby dokonać odpowiednich poprawek w układzie i kontynuować pracę w poprawnej konfiguracji. Jednakże, jeśli chcemy upewnić się, że właśnie taka sytuacja ma miejsce, musimy obserwować sygnał na wyjściu zegara danych z ADC (nie jest to możliwe w układach z wyjściem w standardzie JESD204B). Na tym wyjściu obecny jest najczęściej skopiowany zegar taktujący, lub też podzielony przez pewną wartość zegar, jeśli używamy wbudowanego w ADC układu decymującego. Sygnały zegarowe na wyjściu zegara, dla widm FFT pokazanych ma rysunku 1 zaprezentowano poniżej na rysunku 3.
Jak widać na zegarze dla niepoprawnego FFT okres zmienia się w czasie. Widać dlaczego łatwo przeoczyć taką usterkę - na pierwszy rzut oka wszystko działa, bo ADC próbkuje, a jedynie wyniki są niepoprawne i trudne w interpretacji.
Czy ADC został uszkodzony? czy odbiornik danych nie działa poprawnie? czy oprogramowanie działa źle? Nie. Po prostu straciliśmy źródło sygnału zegarowego.
Źródło: http://www.analog.com/en/analog-dialogue/raqs/raq-issue-137.html
* Jeśli czytelnicy są zainteresowani mogę ten artykuł przetłumaczyć na język polski i ew. uzupełnić inną literaturą, aby zjawisko to było lepiej zrozumiane, także na poziomie ilościowym - przyp.red.
Fajne? Ranking DIY