¿Reconoces esta señal?

Señal DAC mística

La historia de esta señal es la siguiente. Compré un amplificador NAD C 356BEE con un módulo MDC DAC integrado . Dispone de entrada óptica y USB. La óptica está bien, pero si conecto el DAC a mi PC con USB, hace un chasquido/chasquido en momentos específicos. La frecuencia de clic está relacionada de alguna manera con la frecuencia de muestreo de la señal. Por ejemplo, a 96 kHz aparece cada 2,5 segundos, pero a 48 kHz aparece a los 30 segundos.

Toqué una onda sinusoidal, grabé el ruido y acerqué la forma de onda. Es una señal muy corta, de unos 0,008 segundos. ¿Tienes alguna idea de lo que podría ser?

La amplitud de la señal de ruido es mucho mayor que la señal de prueba. La longitud de la señal de ruido es aleatoria (pero muy corta, solo escucha un clic), pero la forma de onda es siempre la misma para la misma señal de prueba.

Diferentes frecuencias de prueba provocan diferentes señales de error. Parece que la señal de error es una transformación del original.

Ingrese la descripción de la imagen aquí

Casi parece que la parte del complemento de 2 está siendo alimentada con datos que no son del complemento de 2, o viceversa.
Vaya, eso es una simetría loca, lo mismo al revés y al revés...
@matt joven o orden de bytes incorrecto

Respuestas (4)

Eso parece una onda sinusoidal con el eje Y envuelto. Aquí está mi intento de recrearlo:

onda sinusoidal envuelta

Esta es una gráfica de la función 1.25 pecado ( t ) ronda ( 1.25 pecado ( t ) ) , dónde ronda ( X ) rondas X al entero más cercano.

¿Quizás el bit más alto de su señal se está cortando? Eso parece probable que produzca tal forma de onda.

WOW, eres genial. Me di cuenta de que la forma de la señal de error está relacionada con la señal de prueba y probé con un seno afectado cuando obtuve formas de onda superiores.
Esta es exactamente la respuesta. Generé esta señal exacta mientras intentaba generar una onda sinusoidal con un convertidor de digital a analógico conectado a un microcontrolador. Esto sucedió al ingresar accidentalmente valores mayores que el valor máximo del convertidor, lo que resultó en una especie de envoltura, como se ve en la ola anterior.

De hecho, he visto eso antes. Estaba trabajando en un procesador ADSP-21xx. El CODEC de audio pone los datos entrantes en formato de complemento a 2 con signo. Ese día en particular estaba enviando los datos a un Maxim DAC multicanal que esperaba un binario sin firmar. Todos alrededor se rieron de las orejas de Batman, luego agregué algunas líneas de código para volver al binario sin firmar.

Para arreglarlo, vamos a necesitar mucha más información. Parece que podría haber algunos problemas de desbordamiento.

Lo pruebo con diferentes señales controladas como ondas sinusoidales generadas para ver qué hace. ¿Tiene idea acerca de la relación de tasa de muestra de tiempo de ocurrencia? ¿tal vez tiene algún búfer interno que se desborda y luego se reinicia?
¿Puedes probar un par de otras tasas de muestreo?
cambiar la tasa de muestreo no cambia la forma de onda, sin embargo, la frecuencia de la señal de prueba o la forma de onda sí lo hacen. Tuve mucha suerte de obtener esa señal nítida, otras frecuencias están mucho más distorsionadas.
en 96kHz, 72kHz, 60kHz, 30kHz, 15kHz siempre 2,5 segundos. A veces "pierde" algunos pops y los últimos no se inician en el siguiente ráster de 2,5 segundos, sino al azar. Sin embargo, entre 2 clics, siempre 2,5 segundos son el tiempo más corto.

Esto es muy interesante. Decidí echar un vistazo al concepto de perder la parte más significativa de una secuencia de onda sinusoidal. Lo hice durante medio ciclo de una onda sinusoidal y, de hecho, conduce a la forma de onda en la pregunta del cartel original.

ingrese la descripción de la imagen aquí

La hoja de cálculo que creé recorre el argumento de la función sin() de 0.00 a 3.14. Luego escala el rango del resultado del seno para que se escale en el rango de 0 a 255 para corresponder a un rango de valor de byte. Finalmente, se recortó el bit superior del rango de valores de bytes.

La hoja de cálculo utilizada para crear la imagen está disponible como archivo Excel .xlsx desde aquí: https://docs.google.com/file/d/0BxTbL_E1KhGvbTYtY1k1WTNxT1U/edit?usp=sharing

Ciertamente obtienes una ola de aspecto similar, pero creo que encontrarás que si extiendes esto a toda la ola, obtienes un medio ciclo que es todo positivo y otro que es todo negativo, que no es lo mismo que la onda del OP.
@gwideman: ¡no si le falta el bit MSB-1 y sus datos son el complemento de 2!

Pistas hasta ahora: 1. La forma de onda del problema parece seno con polaridad inversa de bits altos o al menos provocando un cambio a una línea de base diferente. 2. La forma de onda del problema se parece a la forma de onda bajo prueba, pero con la transformación indicada. 3. La periodicidad del problema es bastante larga (segundos) y parece variar con la frecuencia de muestreo.

Voy a sugerir que hay un desbordamiento del búfer en algún lugar del sistema, por lo que en algún intervalo que se ve afectado por la frecuencia de muestreo, los bytes se pierden, lo que hace que los límites numéricos estén fuera de lugar. Por ejemplo: para números de 16 bits, el D/A espera H1 L1 pero en su lugar recibe L1 H2 o similar. (Similar a la sugerencia de Grady). Entonces, la señal tiene características que recuerdan a la señal prevista, pero, por supuesto, distorsionada por los bytes incorrectos en los lugares incorrectos.

csadam no ha mencionado cómo la PC genera la señal USB, pero eso quizás sería interesante.