Señal de audio intentando volver a cero ceros

Creé dos señales diferentes en mi teléfono Android, una para actuar como la señal del reloj (señal inferior) y la otra para ser la señal de datos (señal inferior), pero el problema es que la señal de audio siempre se desvía hacia el " suelo"

señal

¿Por qué hace esto? Tenga en cuenta que mi señal no es realmente una onda cuadrada, es más un PWM.

¿Están saliendo de la toma de auriculares?
@MattYoung Sí, lo son. Uno es el canal izquierdo, y el otro es el canal derecho
¿Importa esto? Siempre que el receptor detecte el flanco ascendente del pulso, el nivel de CC no importa. O el receptor podría tomar cualquier cosa por encima de 0.3Vmax como 1 y por debajo como 0.
El exceso de CC puede dañar algunos equipos.
Sí importa porque si tengo una cierta cantidad de 1 consecutivos, digamos 8, convergería a 0, y si no fuera por 8, sería por alguna otra cantidad.

Respuestas (4)

Lo más probable es que la señal del conector de auriculares esté acoplada a CA.

La manera fácil de arreglar esto es agregar un diodo desde cada línea de señal a tierra: el ánodo de ambos diodos a tierra, el cátodo de cada diodo a su línea de señal.

Los diodos actúan como una abrazadera y permiten que la señal NO baje de aproximadamente -0.6V. El resto de la amplitud de la señal está sobre el suelo (positivo).

Tenga en cuenta que esto SÓLO funciona si la salida está acoplada a CA.

La razón por la que menciono esto es que la señal de los auriculares en su teléfono puede estar acoplada a CA, pero es posible que los teléfonos de diferentes modelos o de diferentes fabricantes NO lo estén.

Sin embargo, hay una manera de arreglar eso.

Sin embargo, hay una manera de arreglar eso. Tal vez se pueda usar algún tipo de modulación (AM o FM) para transferir la señal (la señal parece estar alrededor de los 100 Hz, y supongo que la frecuencia de audio máxima de un teléfono debería estar muy por encima de unos pocos kHz). La señal modulada estará centrada en cero.
No necesita modulación. Si observa la forma de onda de cerca, verá que la forma del pulso está bien. El único problema es la deriva del suelo. Esto se arregla fácilmente.

Eso será porque está creando una señal de audio: una señal de audio está acoplada a CA y siempre querrá derivar hacia el suelo, ya que el suelo es alrededor de lo que se centra.

La toma de auriculares de un teléfono Android no puede crear formas de onda digitales confiables ya que es una salida analógica. En su lugar, debe elegir algo que se adapte a lo que desea, en lugar de intentar usar algo que es completamente incorrecto y obtener resultados terribles.

Esta es una gran respuesta, excepto por su segundo párrafo. Hay una TONELADA de dispositivos comerciales disponibles que usan el conector de auriculares en los teléfonos para pasar datos hacia y desde el teléfono. De la memoria reciente, dos son: Ryobi Phone Tools -y- un lector de tarjetas de crédito de una compañía llamada "Square". Hay muchos más.
@DwayneReid Bueno, sí, pero están diseñados para usarse con señales de comunicación analógicas. Usar un generador de señales analógicas para generar señales puramente digitales no es un buen plan. Puede realizar la comunicación a través del conector de los auriculares, pero tiene que trabajar en el dominio analógico, no en el dominio digital, es decir, algo así como OOK de una señal de audio.
Honestamente, no quiero discutir contigo, generalmente das respuestas increíbles y te respeto. Permítanme mencionar solo un ejemplo más: los módems. Estos permiten comunicaciones digitales confiables y robustas a través de (a veces) canales de comunicación analógicos horribles. El Internet que damos por hecho hoy en día no existiría si no se hubieran inventado los módems conectados a las líneas de telecomunicaciones. Y hay muchos más ejemplos de rutas de audio / analógicas que se utilizan para pasar información digital de un lado a otro. Si tuviera que editar su respuesta para eliminar el segundo párrafo, con gusto eliminaré mis comentarios.
Una vez más, están en el dominio analógico: usan señales analógicas (audio), no señales digitales (encendido/apagado). Aprende la diferencia entre una señal analógica y una señal digital. La pista con el MODEM está en el nombre: MOdulate / DEModulate. Es lo que le hace a la señal digital para convertirla a/desde una señal analógica que puede transmitirse a través de un sistema analógico como un teléfono.
Un ejemplo final que trata específicamente con datos digitales que se alimentan directamente a una ruta analógica (audio): código de tiempo SMPTE. Esta es una señal puramente digital que se utiliza para sincronizar los sistemas de transporte de cintas de audio y películas. Esta sincronización se usó para muchas cosas: sincronización de máquina a máquina, sincronización de máquina a computadora (automatización), etc. Gran parte de la magia que Disney hizo en los viejos tiempos no podría haber existido sin el código de tiempo SMPTE.
Algunos de los proyectos de grabación de audio en vivo en los que trabajé en los años 80 usaban grabadoras multipista de audio de 4 a 24 pistas configuradas como sistemas redundantes de 48 pistas. El código de tiempo se dividió en las pistas 1 y 24 en cada máquina, lo que nos dio 40 pistas individuales pero redundantes con las que grabar las interpretaciones. La forma de onda de la señal que alimenta las máquinas de cinta son señales digitales puras: tiempos de subida y bajada rápidos con partes superiores e inferiores absolutamente planas. Lo que salió de la cinta se veía simplemente horrible, mucho peor que la señal superior en la publicación del OP. Pero funcionó.
SMPTE es un caso especial. Si bien puede parecer digital porque utiliza dos niveles discretos, la forma de la señal es analógica. En ningún momento hay un estado estacionario prolongado. La señal cambia constantemente, incluso cuando el número es solo 0. El resultado final es una forma de onda analógica que usa dos voltajes diferentes.
Técnicamente, una señal digital es una señal analógica. Y si tiene en cuenta el condensador de bloqueo de CC que se suele utilizar en las salidas de auriculares, existe una gran variedad de señales "digitales" que pueden reproducirse fielmente utilizando una salida de auriculares "analógica". Hay muchos, muchos más que se pueden reproducir adecuadamente. La distinción entre analógico y digital es arbitraria y su último párrafo es incorrecto en varios niveles.
Una señal digital es cualquier señal de dos estados que puede tener datos válidos a 0 Hz (es decir, siempre apagada o siempre encendida). Una señal analógica debe tener algunos componentes de frecuencia de >0 Hz. No puede pasar de manera confiable una señal digital a través de ningún tipo de filtro de paso alto.
Un comentario más: si observa la señal superior en la toma del alcance del OP, verá que, de hecho, la señal digital original se restaurará tan pronto como se fije la señal. Estoy mirando más de cerca la configuración del alcance: el voltaje directo de un diodo de silicio es demasiado alto para la amplitud que ingresa al alcance. Pero un comparador que maneje un MOSFET haría un excelente trabajo al sujetar el extremo inferior de la señal a tierra y los datos se restaurarían fielmente. Los televisores a color antiguos tenían un problema similar y usan un circuito llamado "Restaurador de CC" para solucionarlo de manera similar.
@DwayneReid Básicamente, un sistema para convertir la señal analógica en digital. Sí, hay formas de decodificar la señal, pero el simple hecho es que el OP intenta por error generar una señal digital a través de un sistema analógico, y eso muestra un concepto erróneo subyacente sobre cómo funciona la comunicación analógica. Si bien puede ser posible recuperar la señal en algunas circunstancias, mucho mejor sería usar el hecho de que es un medio de transmisión analógico y generar activamente una señal analógica adecuada en primer lugar que pueda garantizar que funcionará en todas las circunstancias. como notas
en su respuesta, puede funcionar en algunos teléfonos y puede que no en otros, depende del teléfono. Si genera una señal analógica adecuada y luego la interpreta correctamente (tal vez OOK un tono simple y pasa bajo para crear una onda cuadrada, tal vez con alguna codificación adicional para dar un sistema más confiable) entonces puede garantizar que lo hará. funcione en todas las circunstancias y no confiará en que el teléfono proporcione un determinado entorno específico no especificado.
Estoy bastante seguro de que estamos abusando del sistema de comentarios para convertirnos en un foro de discusión. voy a parar Terminaré con esto: es fácil hacer que un circuito de restauración de CC funcione con cualquier teléfono: simplemente acople la señal de CA al circuito tal como viene del teléfono. Y, creo que ayudar al OP a hacer que su circuito funcione en lugar de criticarlo hubiera sido el mejor enfoque.

Para resolver este problema, puede modificar la codificación para que la suma de los bits 1 y 0 realmente enviados por el cable converja en igual y el número de 1 y 0 consecutivos sea mínimo. Esto significa enviar algunos bits adicionales por el cable, pero eliminará el componente de CC que el hardware de audio no puede manejar. Esto significa usar una codificación de peso constante o una codificación de disparidad emparejada .

Peso constante en su forma más simple, lo que significa enviar un 01for 0y un 10for a 1. Este esquema tiene la desventaja obvia de que la desincronización durante la decodificación/captura significa codificar todo el mensaje.

Avanzar más con la disparidad emparejada significa crear 2 paquetes por símbolo que desee enviar, uno con más 0 y otro con más 1 y luego seleccionar dinámicamente en función de la diferencia entre la cantidad de 1 y 0 ya enviados.

En realidad, esto fue lo que hice después de enterarme de que se trataba de un acoplamiento de CA y de qué se trataba.
@Olumide Si esto es lo que terminó haciendo, entonces probablemente esta debería ser la respuesta aceptada, ¿verdad? No el que sugiere agregar diodos que podrían o no funcionar.
@fritz pregunté por qué la señal se comportaba así, no qué hacer, además no creo que pueda cambiar la respuesta aceptada
@Olumide puede simplemente hacer clic en la marca de verificación nuevamente.

¡Puedes compensar esto en el software!

Como puede ver en la forma de la señal (la curva que lleva lentamente su señal a tierra), hay un componente de tiempo involucrado. Puede compensarlo en el software emulando la constante de tiempo y compensándola.

Esta habilidad estará ligeramente limitada:

  • No será perfecto en todas las frecuencias.
  • Los pulsos largos requerirán más "margen"

Si reduce la amplitud base de la señal, el headroom disponible se puede utilizar durante más tiempo, lo que le permite compensar pulsos más largos. Pero debe tener en cuenta que su compensador de constante de tiempo tendrá que volver a centrarse en 0V eventualmente, de lo contrario, la polarización de CC eventualmente se deslizará hasta la amplitud máxima positiva o negativa y luego se recortará y distorsionará.

Entonces, la idea es crear un filtro que aumente lo que limita el amplificador de auriculares.

algo

Aquí hay un ejemplo en el que superpuse una onda triangular encima de la onda cuadrada. Tenga en cuenta que este ejemplo es una simplificación porque el voltaje de la onda triangular normalmente depende del voltaje de la onda cuadrada. Este circuito solo funcionará con esa onda cuadrada específica.

Los valores se obtuvieron empíricamente. La onda cuadrada de la izquierda representa su señal. Los dos grupos idénticos a la derecha representan el acoplamiento capacitivo de su amplificador de auriculares. En la parte superior del circuito, la señal se envía inalterada, lo que da como resultado la forma de onda del primer gráfico.

La parte inferior del circuito agrega una onda triangular encima de la señal. La fase se empareja con la onda cuadrada. La parte del amplificador operacional es simplemente un amplificador seguidor que atenúa un poco la señal para que la salida no sea demasiado alta para el amplificador de auriculares.

Al superponer la onda triangular a la señal original, la salida se parecerá más a una onda cuadrada, como en el segundo gráfico.

El tercer gráfico muestra la salida antes de que sea filtrada por el acoplamiento capacitivo.

Entonces, lo que debe intentar hacer es volver a implementar la onda triangular en el software. ¡Cuidado con las trampas!

Editar: y como señaló Dwayne Reid, este acoplamiento capacitivo es específico para su teléfono. Otros dispositivos pueden tener características diferentes o no tener acoplamiento alguno. Así que esta es una solución solo para su dispositivo.