Reconnaissez-vous ce signal?


20

Signal DAC mystique

L'histoire de ce signal est la suivante. J'ai acheté un amplificateur NAD C 356BEE avec un module DAC MDC intégré . Il a une entrée optique et USB. L'optique est OK, mais si je connecte le DAC à mon PC avec USB, cela fait du bruit de cliquetis / claquement à des moments spécifiés. La fréquence des clics est en quelque sorte liée à la fréquence d'échantillonnage du signal. Par exemple, à 96 kHz, il apparaît toutes les 2,5 secondes, mais à 48 kHz, il apparaît à 30 secondes.

J'ai joué une onde sinusoïdale, et j'ai enregistré le bruit et zoomé sur la forme d'onde. C'est un signal très court, environ 0,008 seconde. Avez-vous une idée de ce que cela pourrait être?

L'amplitude du signal de bruit est beaucoup plus élevée que le signal de test. La longueur du signal de bruit est aléatoire (mais très courte, vous entendez juste un clic), mais la forme d'onde est toujours la même pour le même signal de test.

Différentes fréquences de test provoquent des signaux d'erreur différents. Il semble que le signal d'erreur soit une transformation de l'original.

Entrez la description de l'image ici


2
On dirait presque qu'une partie du complément à 2 est alimentée en données de complément non à 2, ou vice versa.
Matt Young

1
Wow, c'est une symétrie folle, même à l'envers et à l'envers ...
Grady Player

@matt jeune ou mauvais ordre d'octets
Grady Player

Réponses:


30

Cela ressemble à une onde sinusoïdale avec l'axe y enroulé autour. Voici ma tentative de le recréer:

onde sinusoïdale enveloppée

Il s'agit d'un tracé de la fonction , où arrondit à l'entier le plus proche.1,25péché(t)-rond(1,25péché(t))rond(X)X

Peut-être que le bit le plus élevé de votre signal est coupé? Cela semblerait susceptible de produire une telle forme d'onde.


WOW, tu es génial. J'ai remarqué que la forme du signal d'erreur est liée au signal de test et j'ai testé avec un sinus effectué lorsque je suis arrivé au-dessus des formes d'onde.
csadam

3
Telle est exactement la réponse. J'ai généré ce signal exact tout en essayant de générer une onde sinusoïdale avec un convertisseur numérique-analogique connecté à un microcontrôleur. Cela s'est produit en entrant accidentellement des valeurs supérieures à la valeur maximale du convertisseur, ce qui a entraîné une sorte de bouclage comme vous le voyez dans l'onde ci-dessus.
Lightyear Buzz

8

J'ai déjà vu cela auparavant. Je travaillais sur un processeur ADSP-21xx. Le CODEC audio met les données entrantes au format complémentaire signé 2. Ce jour-là, j'envoyais les données à un DAC Maxim multicanal qui attendait un binaire non signé. Tout le monde a ri aux oreilles de Batman, puis j'ai ajouté quelques lignes de code pour revenir au binaire non signé.

Pour y remédier, nous allons avoir besoin de beaucoup plus d'informations. Il semble qu'il puisse y avoir des problèmes de débordement.


Je l'essaye avec différents signaux contrôlés comme des ondes sinusoïdales générées pour voir ce qu'il fait. Avez-vous une idée de la relation entre le taux d'échantillonnage et l'occurrence? peut-être qu'il a un tampon interne qui déborde puis se réinitialise?
csadam

Pouvez-vous essayer quelques autres taux d'échantillonnage?
Matt Young

la modification de la fréquence d'échantillonnage ne modifie pas la forme d'onde, contrairement à la fréquence du signal de test ou à la forme d'onde. J'ai eu beaucoup de chance d'avoir ce signal net, les autres fréquences sont beaucoup plus distordues.
csadam

sur 96 kHz, 72 kHz, 60 kHz, 30 kHz, 15 kHz toujours 2,5 secondes. Parfois, il "manque" certains pops, puis les derniers ne démarrent pas au 2,5 raster suivant, mais au hasard. Cependant, entre 2 clics, c'est toujours 2,5 secondes qui sont le temps le plus court.
csadam

7

C'est très intéressant. J'ai décidé de jeter un coup d'œil au concept de perdre le bit le plus significatif d'une séquence d'onde sinusoïdale. Je l'ai fait pendant un demi-cycle d'une onde sinusoïdale et cela conduit effectivement à la forme d'onde dans la question de l'affiche originale.

entrez la description de l'image ici

La feuille de calcul que j'ai créée fait passer l'argument de la fonction sin () de 0,00 à 3,14. Il met ensuite à l'échelle la plage du résultat sinusoïdal à mettre à l'échelle sur la plage de 0 à 255 pour correspondre à une plage de valeurs d'octets. Enfin, le bit supérieur de la plage de valeurs d'octets a été coupé.

La feuille de calcul utilisée pour créer l'image est disponible sous forme de fichier Excel .xlsx à partir d'ici: https://docs.google.com/file/d/0BxTbL_E1KhGvbTYtY1k1WTNxT1U/edit?usp=sharing


Vous obtenez certainement une vague d'apparence similaire, mais je pense que vous constaterez que si vous l'étendez sur toute la vague, vous obtenez un demi-cycle qui est tout positif et un tout négatif, ce qui n'est pas la même chose que la vague du PO.
gwideman

@gwideman - Pas si vous manquez le bit MSB-1, et vos données sont le complément de 2!
Connor Wolf

2

Indices jusqu'à présent: 1. La forme d'onde du problème ressemble à un sinus avec une polarité inverse de bit (s) élevée (s) ou au moins provoquant un décalage vers une ligne de base différente. 2. La forme d'onde du problème ressemble à la forme d'onde sous test, mais avec la transformation notée. 3. La périodicité du problème est assez longue (secondes) et semble varier avec la fréquence d'échantillonnage.

Je vais suggérer qu'il y a un tampon dépassé quelque part dans le système, où à un certain intervalle qui est affecté par la fréquence d'échantillonnage, les octets sont perdus, ce qui provoque la suppression des limites de nombre. Par exemple: pour les nombres à 16 bits, le D / A attend H1 L1 mais reçoit à la place L1 H2, ou similaire. (Similaire à la suggestion de Grady). Le signal a donc des caractéristiques qui rappellent le signal prévu, mais bien sûr déformé par les mauvais octets aux mauvais endroits.

csadam n'a pas mentionné comment le signal USB est généré par le PC, mais ce serait peut-être intéressant.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.