Señal al conector de audio de un teléfono inteligente

Tengo una onda cuadrada de 3,3 V que consta de grupos de 5 pulsos a 12,5 khz y 15,625 khz. Cada grupo de 5 pulsos representa un 1 o un 0. Me gustaría que esta señal se transmita a un teléfono inteligente a través de la entrada del micrófono.

Por lo que he leído (corríjame si me equivoco), el voltaje deberá reducirse a unos pocos mV, la señal deberá estar acoplada a CA. ¿Podrá el teléfono diferenciar consistentemente entre las frecuencias o se requerirá algún tipo de cambio de frecuencia?

¿Qué circuito se recomendaría para realizar esta tarea?

12.5 ~ 15.625 khz están dentro del rango de audición humana, y la mayoría de los rangos de frecuencias de los micrófonos de los teléfonos son capaces de muestrear.

Respuestas (2)

Un simple divisor de voltaje reducirá el voltaje, aunque dependerá exactamente de qué valores de resistencia usar para que sean óptimos para su teléfono: los niveles de entrada de los teléfonos están lejos de ser estandarizados. Usaría un potenciómetro y lo giraría hasta que estuviera dentro del rango.

Para detectar los pulsos de entrada, puede usar técnicas basadas en FFT como se explica en otros comentarios y respuestas. Aquí hay una introducción detallada sobre cómo hacer eso con el código C.

Sin embargo, recomiendo precaución con ese enfoque, dado que está detectando frecuencias altas, necesitará una frecuencia de muestreo alta, lo que dará como resultado una sobrecarga de cálculo alta. Este problema se puede resolver con el algoritmo de Goertzel en lugar de la FFT, pero aún tiene el problema de que con solo 5 cinco pulsos necesita una buena resolución de tiempo. Esto también se puede resolver con la superposición frecuente de sus ventanas, pero al final creo que debería usar una técnica diferente:

  1. contando el número de veces que la señal cruza el cero. Con un poco de procesamiento previo (un filtro de paso de banda sintonizado en el rango de las frecuencias esperadas), esperaría que fuera más fácil obtener resultados sólidos con esa técnica más simple.

  2. Otro enfoque, que imita cómo se haría esto en el dominio analógico, es simplemente diseñar dos filtros de paso de banda y monitorear la salida de estos. Esto podría requerir un poco de procesamiento posterior, pero creo que produciría excelentes resultados.

Es difícil decirlo con certeza, pero probablemente me inclinaría por la técnica #2. Depende de algunas cosas que no me quedan claras de su pregunta, por ejemplo, si es probable que los tonos aparezcan al mismo tiempo (en caso afirmativo, use el n. silencio, etc. Si fuera probable que la especificación cambiara y tuviera que diferenciar entre tonos que estuvieran muy juntos en frecuencia, me inclinaría por el n.º 1.

Si necesita ayuda para diseñar filtros, este podría ser un buen lugar para comenzar .

No es necesario calcular una FFT completa, sino solo evaluar la DFT en las dos frecuencias de interés. Mire los cálculos reales involucrados en hacer eso en forma de ventana y superpuestos, y son prácticamente las mismas operaciones que ejecutar un par de filtros de paso de banda FIR.
@ChrisStratton ¿En qué se diferencia del algoritmo de Goertzel?

Siempre que los circuitos de audio de los teléfonos tengan el ancho de banda/frecuencia de muestreo para manejar > 15,625 kHz, y suponiendo que su código de detección de frecuencia esté bien, entonces la detección de tonos tan separados no debería ser un problema. Hay muchos fragmentos de código y la teoría detrás de ellos en la red si miras un poco. Un buen lugar para comenzar su búsqueda de código sería el firmware de tono táctil (DTMF), en teoría, busque cosas como correlación y FFT.

Asegúrese de confirmar el ancho de banda de su teléfono en particular, es posible que deba reducir las frecuencias involucradas si esta es una posibilidad para su proyecto.

Hay un buen ejemplo introductorio de una técnica simple de detección de DTMF de Olin en esta pregunta . Cualquier libro DSP decente tendrá mucho más sobre el tema.

Por curiosidad, ¿conoces algún smartphone que no tenga suficiente ancho de banda?
@Chris: no, no tengo mucho conocimiento en el departamento de audio de teléfonos inteligentes, solo fue una nota de precaución. Fácil de verificar antes de comenzar un camino en particular, y creo que es lo suficientemente importante como para pasar 5 minutos confirmándolo. Asumiría que el 99% de los teléfonos fabricados en los últimos 5 años deberían tener suficiente ancho de banda.