Czy rozpoznajesz ten sygnał?

20

Mistyczny sygnał DAC

Historia tego sygnału jest następująca. Ja kupiłem wzmacniacz NAD C 356BEE ze zintegrowanym modułem MDC DAC . Ma wejście optyczne i USB. Optyczne jest OK, ale jeśli podłączę DAC do mojego komputera za pomocą USB, powoduje to klikanie / trzaskanie w określonych momentach. Częstotliwość kliknięcia jest w jakiś sposób związana z częstotliwością próbkowania sygnału. Na przykład przy 96 kHz wyskakuje co 2,5 sekundy, ale przy 48 kHz wyskakuje po 30 sekundach.

Grałem falę sinusoidalną, zarejestrowałem szum i zbliżyłem się do kształtu fali. To bardzo krótki sygnał, około 0,008 sekundy. Czy masz pojęcie, co to może być?

Amplituda sygnału szumu jest znacznie wyższa niż sygnał testowy. Długość sygnału szumu jest losowa (ale bardzo krótka, słychać tylko kliknięcie), ale przebieg jest zawsze taki sam dla tego samego sygnału testowego.

Różne częstotliwości testowe powodują różne sygnały błędów. Wygląda na to, że sygnał błędu to jakaś transformacja oryginału.

Wpisz opis zdjęcia tutaj

csadam
źródło
2
Prawie wygląda na to, że część dopełniacza 2 jest zasilana danymi uzupełnienia 2, lub odwrotnie.
Matt Young,
1
Wow, to szalona symetria, tak samo do góry nogami i do tyłu ...
Grady Gracz
@matt młody lub niepoprawny porządek bajtów
Grady Player

Odpowiedzi:

30

To wygląda jak fala sinusoidalna z owiniętą osią Y. Oto moja próba odtworzenia:

owinięta fala sinusoidalna

Jest to wykres funkcji , gdzie zaokrągla do najbliższej liczby całkowitej.okrągły ( x ) x1,25grzech(t)-okrągły(1,25grzech(t))round(x)x

Być może najwyższy fragment twojego sygnału zostaje odcięty? Wydaje się, że mogłoby to spowodować taki przebieg.

Ilmari Karonen
źródło
WOW, jesteś świetny. Zauważyłem, że kształt sygnału błędu jest związany z sygnałem testowym i testowałem z efektem sinusoidalnym, kiedy przekroczyłem przebiegi.
csadam
3
To jest dokładnie odpowiedź. Wygenerowałem ten dokładny sygnał, próbując wygenerować falę sinusoidalną za pomocą konwertera cyfrowo-analogowego podłączonego do mikrokontrolera. Stało się tak przez przypadkowe wprowadzenie wartości większych niż maksymalna wartość konwertera, co skutkuje zawijaniem się, jak widać na powyższej fali.
Lightyear Buzz
8

Tak naprawdę już to widziałem. Pracowałem na procesorze ADSP-21xx. Kodek audio umieścił przychodzące dane w formacie uzupełnienia podpisanego 2. Tego konkretnego dnia wysyłałem dane do wielokanałowego przetwornika cyfrowo-analogowego Maxim, który oczekiwał binarnego niepodpisanego. Wszyscy wokół śmiali się z uszu Batmana, a potem dodałem kilka wierszy kodu, aby wrócić do niepodpisanego pliku binarnego.

Aby to naprawić, potrzebujemy znacznie więcej informacji. Wygląda na to, że mogą występować problemy z przepełnieniem.

Matt Young
źródło
Próbuję z różnymi kontrolowanymi sygnałami, takimi jak generowane fale sinusoidalne, aby zobaczyć, co robi. Czy masz pojęcie na temat relacji czas-częstotliwość próbkowania? może ma jakiś wewnętrzny bufor, który się przepełnia, a następnie resetuje?
csadam
Czy możesz wypróbować kilka innych częstotliwości próbkowania?
Matt Young
zmiana częstotliwości próbkowania nie zmienia kształtu fali, jednak zmienia się częstotliwość sygnału testowego lub kształt fali. Miałem wielkie szczęście, że dostałem ten ostry sygnał, inne częstotliwości są znacznie bardziej zniekształcone.
csadam
na 96 kHz, 72 kHz, 60 kHz, 30 kHz, 15 kHz zawsze 2,5 sekundy. Czasami „tęskni” za niektórymi trzaskami, późniejsze nie zaczynają się od następnego 2,5-sekundowego rastra, ale losowo. Jednak między 2 kliknięciami zawsze jest to najkrótszy czas wynoszący 2,5 sekundy.
csadam
7

To jest bardzo ciekawe. Postanowiłem przyjrzeć się koncepcji utraty najbardziej znaczącego fragmentu fali sinusoidalnej. Zrobiłem to przez pół cyklu fali sinusoidalnej i rzeczywiście prowadzi to do kształtu fali w pytaniu oryginalnego plakatu.

wprowadź opis zdjęcia tutaj

Arkusz kalkulacyjny, który utworzyłem, argumentuje argument funkcji sin () od 0,00 do 3,14. Następnie skaluje zakres skalowanego wyniku sinus w zakresie od 0 do 255, aby odpowiadał zakresowi wartości bajtów. W końcu górny bit zakresu wartości bajtów został obcięty.

Arkusz kalkulacyjny użyty do utworzenia obrazu jest dostępny jako plik .xlsx Excela tutaj: https://docs.google.com/file/d/0BxTbL_E1KhGvbTYtY1k1WTNxT1U/edit?usp=sharing

Michael Karas
źródło
Z pewnością otrzymujesz podobną falę, ale myślę, że przekonasz się, że jeśli rozszerzysz ją na całą falę, otrzymasz pół cyklu, który jest całkowicie dodatni i taki, który jest całkowicie ujemny, co nie jest tym samym co fala OP.
gwideman
@gwideman - Nie, jeśli brakuje Ci bitu MSB-1, a twoje dane są uzupełnieniem 2!
Connor Wolf,
2

Wskazówki do tej pory: 1. Problemowy przebieg wygląda jak sinusoidalny z wysoką odwróconą polaryzacją bitów lub co najmniej powodujący przejście do innej linii bazowej. 2. Przebieg problemu wygląda jak testowany przebieg, ale z zaznaczoną transformacją. 3. Okresowość problemu jest dość długa (sekundy) i wydaje się zmieniać w zależności od częstotliwości próbkowania.

Mam zamiar zasugerować, że gdzieś w systemie jest przekroczony bufor, w którym w pewnym okresie, na który wpływa częstotliwość próbkowania, bajty gubią się, powodując wyłączenie granic liczb. Np .: dla liczb 16-bitowych D / A oczekuje H1 L1, ale zamiast tego odbiera L1 H2 lub podobny. (Podobne do sugestii Grady'ego). Zatem sygnał ma cechy przypominające zamierzony sygnał, ale oczywiście zniekształcony przez niewłaściwe bajty w niewłaściwych miejscach.

csadam nie wspomniał o tym, jak sygnał USB jest generowany przez komputer, ale być może byłoby to interesujące.

gwideman
źródło