Transferencia de datos mediante ultrasonido

Las aplicaciones InfoSound y ShopKick de Yamaha utilizan tecnologías que permiten transferir datos mediante ultrasonidos . Eso está reproduciendo una señal inaudible (> 18 kHz) que pueden captar los teléfonos móviles modernos (iOS, Android).

¿Cuál es el enfoque utilizado en tales tecnologías? ¿Qué tipo de modulación utilizan?

¡Puedo escuchar 18kHz! ¡Por favor, no llene las ondas de radio con más zumbidos de los que ya hay!

Respuestas (4)

Pasar datos digitales a través de ultrasonido es mucho más complicado de lo que podría pensar a primera vista. Estamos haciendo esto en un producto que actualmente se encuentra en pruebas de campo, pero cuando comenzamos a diseñar había muy poca información al respecto.

La mayoría de los problemas provienen del hecho de que el sonido se propaga lentamente (alrededor de 3 ms por metro) y puede reflejarse y hacer eco en una habitación durante un tiempo. Hicimos algunos experimentos y, aproximadamente, debe asumir que cualquier sonido emitido rebotará durante 10 m de propagación o 30 ms. Esto significa que el protocolo debe permitir que el receptor recoja copias duplicadas de la señal emitida y señales fuera de servicio hasta 30 ms. Dicho de otra manera, imagine que cualquier cosa que envíe se reordene o se duplique de manera impredecible dentro de una ventana de 30 ms.

Otro problema es que los transductores de ultrasonido tienen un Q bastante alto. Toman algunos ciclos para ponerse en marcha y luego continúan sonando unos pocos ciclos después de que no hay más entrada. Tenga en cuenta que los datos nuevos y antiguos dentro del período de 30 ms también pueden interferir de forma constructiva o destructiva ciclo a ciclo. Esto, junto con el desorden de la propagación, hará que la tasa de datos sea muy baja. Cosas como la codificación de Manchester están fuera de lugar, ya que puede parecer que el portador va y viene debido a la interferencia si se emitió algo en los 30 ms anteriores.

Para lidiar con estos problemas, creamos nuestro propio esquema de codificación en nuestro sistema. Por lo que pudimos ver, nadie había hecho esto antes. No estoy seguro, pero es posible que nuestro cliente haya presentado una patente sobre la técnica. Todos los datos se codifican en la diferencia de tiempo entre los bordes de ataque de las ráfagas cortas. Creo que enviamos entre 8 y 10 ciclos a 40 kHz por cada ráfaga. 10 ciclos son solo 250 us, y tienen una longitud de 80-85 mm que se propagan por el aire. El receptor busca los bordes de ataque de estas ráfagas y registra su tiempo. Después de recibir una ráfaga, el receptor se apaga durante un poco menos de 30 ms, ya que cualquier cosa que se reciba en ese período serían solo ecos. Los datos se codifican en el tiempo entre ráfagas sucesivas. En nuestro sistema la diferencia horaria está en el rango de 30-50ms. Utilizamos una resolución de cuantos de tiempo de curso razonable de aproximadamente 2 ms debido a otras razones dentro de los receptores. entrar. Usando este método, podemos enviar uno de 9 caracteres entre dos ráfagas. Tenemos un carácter especial para el inicio del mensaje y luego los valores 0-7. En otras palabras, enviamos 3 bits de información por ráfaga durante un mensaje. En nuestro sistema solo necesitamos enviar 10 bits de datos a la vez. De hecho, enviamos 6 caracteres por mensaje, el SOM y 5 caracteres de datos para un total de 15 bits. Usamos los 5 bits adicionales para una suma de verificación CRC.

Nuestra cantidad de tiempo de alrededor de 2 ms es más larga de lo que debería ser si solo observa los problemas de ultrasonido. El límite inferior proviene de la incertidumbre de captar el borde de ataque de una ráfaga en el receptor y los cambios de longitud de trayectoria debido al movimiento. Probablemente podría usar una cantidad de tiempo de hasta 500 us si es realmente cuidadoso, aunque no lo intentamos.

una descripción detallada de un sistema viable (no puedo imaginarlo tratando con rutas múltiples). Un sistema de teléfono celular estaría limitado a algo menos de 20 KHz; la respuesta del altavoz y el micrófono cae rápidamente por encima de eso. Sugeriría la modulación BPSK de los muchos esquemas de modulación disponibles.

Puedo decirle que la transmisión de datos a través del sonido es posible, aunque es muy difícil lograr tasas de bits más altas o largas distancias debido al eco, la multitrayectoria y las atenuaciones. Creé un protocolo de transmisión para transmitir bits de información entre un altavoz de PC y un teléfono inteligente, o entre 2 teléfonos inteligentes. Implementé un sistema de demodulación no coherente QFSK y 8fsk que usa 4/8 frecuencias y un ancho de banda de 3 kHz (el espaciado de frecuencia varía en consecuencia). Debido al hecho de que los altavoces, los micrófonos y el aire introducen no linealidades en la amplitud de la onda portadora, no utilicé modulaciones de amplitud o fase. Estoy trabajando en la región de baja frecuencia de ultrasonido entre 18 y 22 kHz. Desde un altavoz de PC (sistema de audio Creative T6300 5.1) I' Alcancé 300 bps de bits de carga útil sin errores a 1 metro de distancia detectando el sonido con varios tipos de micrófonos de teléfonos inteligentes. Estoy usando un esquema de corrección de errores BCH con 1/3 de redundancia agregada (los códigos de bloque muestran su mayor ganancia de código cuando la redundancia está entre 1/2 y 1/3). No podía usar frecuencias más altas porque todos los teléfonos inteligentes con los que podía trabajar solo admitían 48 kHz como frecuencia máxima de muestreo. No pude usar la región de frecuencia de 22-24 kHz porque los micrófonos de los teléfonos inteligentes tienen un filtro antisolapamiento que atenúa las frecuencias por encima de los 22 kHz. No todos los teléfonos inteligentes funcionaron. Encontré allí donde los micrófonos de los teléfonos inteligentes que solo estaban diseñados para grabar el espectro de la voz humana, por lo tanto, mostraban una gran atenuación de la señal sobre los 10 kHz (los componentes principales de la voz humana están en esta banda).

El enfoque suena muy simple y probablemente se basa libremente en la misma tecnología que solía usarse en computadoras antiguas como Spectrums, etc. para almacenar datos en cintas de audio magnéticas, solo que a una frecuencia más alta.

Probablemente sea binario modulado en frecuencia, con alguna codificación subyacente como la codificación Manchester o la codificación 4B5B . Al menos, así es como lo haría si fuera a hacerlo.

Aquí está la lista de proveedores debido a mi investigación;

https://chirp.io/

https://www.sonarax.com/

http://www.stimshop.com/

https://lisnr.com/

Las respuestas de solo enlace no encajan muy bien en el modelo SE. Si tiene algo que agregar que hace que esta sea una respuesta valiosa a una pregunta de hace 9 años, debe agregarlo o considerar eliminar la respuesta.