Actualmente estoy trabajando en algún código para transmitir mensajes/archivos/y otros datos sobre los láseres que utilizan transformación de audio. Mi código actual usa la función hexlify del módulo binascii en python para convertir los datos a binarios, y luego emite un tono para un 1 y un tono diferente para un 0. Esto en teoría funciona, aunque no es la manera más rápida de codificar/decodificar , pero en las pruebas hay algunos errores.Cambio de fase binario Keying en Python
los tonos generados no son acertadas, es decir: emitir 150Hz puede llegar a ser 145-155Hz en el extremo receptor, esto no es un gran problema ya que sólo puede establecer los límites en el extremo receptor más bajo o más alto
el problema real es que si emito un tono, y se reproduce, la computadora en el extremo receptor puede leerlo varias veces o no leerlo en absoluto en función de la frecuencia con que muestrea el audio entrante. Intenté reproducir los tonos a la misma velocidad que muestrea, pero eso es muy dudoso.
En total, he tenido un par de carreras con éxito utilizando mensajes cortos, pero esto es muy poco fiable e inexacta debido a los problemas anteriormente mencionados.
He analizado esto más a fondo y una solución a esto parece que podría involucrar BPSK o Binary Phase Shift Keying, aunque no estoy seguro de cómo implementar esto. ¡Cualquier sugerencia o muestra de código sería apreciada!
Mi código para el proyecto se puede encontrar here pero los archivos principales en los que estoy trabajando son para decodificación binaria y codificación que es here y here. No soy un experto en Python, así que, por favor, perdónenme si algo que dije es incorrecto, mi código no es el mejor, o si he pasado por alto algo básico.
Gracias! :-)
¡Gracias, esto ayudará mucho! – sbrichards