Señal de audio que intenta volver a cero ceros

5

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

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

    
pregunta Olumide

4 respuestas

10

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

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

Los diodos actúan como una pinza y permiten que la señal NO sea inferior a aproximadamente -0.6V. El resto de la amplitud de la señal está por encima del suelo (positivo).

Tenga en cuenta que esto SOLO 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 puede estar acoplada a la CA, pero los teléfonos de diferentes modelos o de diferentes fabricantes podrían NO ser.

Sin embargo, hay una manera de solucionarlo.

    
respondido por el Dwayne Reid
11

Eso se debe a que está creando una señal de audio, una señal de audio está acoplada a CA, y siempre querrá desviarse hacia la tierra, ya que la tierra es en lo que se centra.

La toma de auriculares de un teléfono Android no puede crear ondas digitales confiables ya que es una salida analógica. En su lugar, debes elegir algo que se adapte a lo que quieres, en lugar de intentar usar algo que está completamente mal y obtener resultados terribles.

    
respondido por el Majenko
4

Para resolver este problema, puede modificar la codificación, de manera que la suma de 1 y 0 bits enviados en realidad por el cable converja a igual y el número de 1s y 0s consecutivos sea mínimo. Esto significa enviar algunos bits adicionales a través del 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 Codificación de disparidad emparejada .

El peso constante en su forma más simple significa enviar un 01 para 0 y un 10 para un 1 . Este esquema tiene el inconveniente obvio de que la desincronización durante la decodificación / captura significa mezclar todo el mensaje.

Ir más avanzado con disparidad emparejada significa crear 2 paquetes por el símbolo que desea enviar, uno con más 0 y otro con más 1 y luego seleccionar dinámicamente según la diferencia entre el número de 1 y 0 ya enviados.

    
respondido por el ratchet freak
2

¡Puedes compensar esto en el software!

Como puede ver en la forma de la señal (la curva que está arrastrando lentamente su señal a tierra), hay un componente de tiempo involucrado. Puede compensarlo en 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 "espacio de cabeza"

Si reduce la amplitud de la base de la señal, el espacio libre disponible se puede usar durante un tiempo más prolongado, lo que le brinda la capacidad de compensar pulsos más largos. Pero hay que tener en cuenta que su compensador de constante de tiempo tendrá que recortarse en 0V eventualmente, de lo contrario, la polarización de DC eventualmente se arrastrará a la amplitud máxima positiva o negativa y luego se cortará y distorsionará.

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

Aquí hay un ejemplo en el que superpuse una onda triangular en la parte superior 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 de forma inalterada, lo que da como resultado la forma de onda en el primer gráfico.

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

Al superponer la onda triangular en la señal original, la salida se verá más como 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 debes tratar de hacer es reimplementar 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 ningún tipo de acoplamiento. Así que esta es una solución para su dispositivo solamente.

    
respondido por el sleblanc

Lea otras preguntas en las etiquetas