¿Qué tipo de modulación es esta?


8

Estoy tratando de averiguar qué tipo de modulación y codificación utiliza el control remoto de mi ventana, con el objetivo de implementar lo mismo en una Raspberry Pi para agregar un poco de automatización del hogar.

Un colega me ayudó a probar la señal con un USRP y me dio los archivos de datos. Los he examinado con Inspectrum .

Me temo que las muestras se han grabado centradas muy cerca de la frecuencia de la señal. Más tarde leí que esto podría no ser una buena idea, y creo que esto es lo que causa el ruido permanente que puedes ver en las imágenes. ¿Debo centrar el muestreo unos kHz más abajo en el futuro?

Una sola pulsación de la señal de "ventana abierta"

Resumen de señal

La velocidad de símbolos, o más bien lo que supuse que era la velocidad de símbolos, parece consistente a este nivel (alrededor de 42 baudios).

Esto muestra energía de frecuencia. El eje X es el tiempo, el eje Y es la frecuencia (banda base). Los colores se han ajustado para mostrar solo el poder interesante.

Detalle de uno de los "bloques"

Detalle de la señal Detalle de señal (Freq, Phase, IQ)

Aquí, se muestra la última imagen, de abajo a abajo: frecuencia, IQ (rojo / azul) y fase. No sé qué representa la tabla de frecuencias aquí.

Zoom en la transición de escaso a denso

La "tasa de símbolos" no parece constante aquí.

Detalle de transición Detalle de transición (Freq, Phase, IQ)

No tengo idea de qué tipo de modulación, codificación, velocidad de bits o protocolo utiliza este control remoto, y en este momento mi única opción sería probar ciegamente todos los bloques demod en gnuradio.

Sería de gran ayuda si la respuesta pudiera incluir alguna guía sobre cómo demodular esta señal en gnuradio para extraer bits. Creo que puedo tomarlo desde allí.

El controlador es para una cubierta de ventana Velux, pero no he encontrado ninguna información en la web. En última instancia, necesito averiguar qué chip comprar para el Arduino / rPi.

ingrese la descripción de la imagen aquí

Puedo decir que el chip tiene texto inscrito, pero no puedo leerlo, parece que está desgastado, pero no tengo una lupa ...: /

Datos sin procesar cargados en: https://www.dropbox.com/s/rh2k7ho68dvoxhd/data_mando3.dat?dl=0 . La frecuencia de muestreo es de 3MHz. El formato de datos es el valor predeterminado de GNU Radio Companion , que es IQ, cada componente expresado como flotante de 32 bits.

Actualizar

Después de un poco más de investigación, este parece ser el protocolo io-homecontrol . Parece que no se ha realizado ingeniería inversa, está cifrado y no hay información disponible. Es un protocolo de dos vías, por lo que necesitaré tomar muestras de conversaciones completas (las muestras actuales se toman solo con el control remoto disponible).

En teoría, este chip puede funcionar con este protocolo: http://www.analog.com/media/en/technical-documentation/data-sheets/ADF7022_2page.pdf

El consorcio no proporcionará especificaciones. Todavía estoy interesado en oler algunas conversaciones con GNURadio y ver si puedo trabajar con ellas. Dado esto, solo puedo recomendar contra io-homecontrol y los productos Velux.

¡Gracias!


1
¿Puedes describir más, lo que muestra cada curva? La primera figura se parece a STFT. ¿Qué son las curvas verde, azul y roja en la última figura?
Maximilian Matthé

2
Sí, sería bueno si pudiera volver a muestrear, de modo que un múltiplo entero de la frecuencia de muestreo no aterrice cerca de su señal. Además, si está haciendo un muestreo real, desea que la señal digital llegue a una frecuencia IF digital. Una opción ideal es tener su espectro muestreado en , por lo tanto, use la relación y donde es su frecuencia portadora y es el ancho de banda de la señal. Recomiendo ir con un resultado tal que f_c >> 2 * f_b $. Una vez que lo haga, puede eliminar digitalmente el transportista observando la rotación. fs/4Nfsfc=fs/4Nfsfc>2fbfcfb
Dan Boschen

1
¿Has abierto el control remoto? Muchas de esas compañías usarán silicio comercial, y habrá un número de parte en el chip, que a menudo puede conducir fácilmente a una hoja de datos.
Stephen Rauch

@ MaximilianMatthé Actualicé la pregunta, ¡gracias!
jjmontes

1
@jjmontes Quiero asegurarme de que vio el enlace que agregué al principio de mi respuesta en la sección "actualizar", que se repite aquí: cansecwest.com/slides/2015/… . El presentador le muestra paso a paso cómo demodular la señal io-homecontrol.
Dan Boschen

Respuestas:


5

Ok, hice algunas señales forenses sobre la captura de datos y creo que la modulación es una forma de FSK.

La modulación FSK fue de +/- 20 KHz con una velocidad de datos de 38 KHz.


ACTUALIZACIÓN: El descubrimiento de OP de que esto es "io-homecontrol" y la hoja de datos de ADI que encontró confirmó que se trata de FSK con una desviación de 20KHz y una velocidad de datos de 38.4 Kbps. Además, este enlace proporciona más detalles sobre el formato de modulación:

https://cansecwest.com/slides/2015/From_Baseband_to_bitstream_Andy_Davis.pdf

Parece que en realidad puede ser Gaussian-FSK, con señalización de respuesta completa (BT = 1), lo que significa que la respuesta para cada bit se completa antes de que comience el siguiente bit. Esto se puede implementar fácilmente con un filtro gaussiano (ver filtro FIR gaussiano sin multiplicadores?) seguido de un suboficial. En este caso, cada bit de datos se representa como impulsos seguidos de ceros para toda la longitud del filtro y la salida del filtro conduce la palabra de control de frecuencia al NCO (un VCO digital). (Para la señalización de respuesta parcial que requiere un receptor más complicado y no lo que están haciendo aquí, los ceros son más cortos que la longitud del filtro, pero eso también funcionaría). La desviación de frecuencia se puede establecer con una ganancia de multiplicador constante entre la salida del filtro y la entrada de NCO. La elección de ir con FSK gaussiana frente a FSK simple es para una mejor contención espectral en la forma de onda transmitida (y es la razón de las transiciones redondeadas que vemos).


Incluiré las parcelas en caso de que alguien tenga más información:

Primero, una vista macro cerca del primer estallido, que ocurre alrededor de 0,93 segundos. Para obtener este gráfico, eliminé un desplazamiento de frecuencia correspondiente a 0.2688 radianes / muestra después de diezmarlo con 10 muestras, suponiendo que la frecuencia de muestreo original fuera de 3 MHz, esto corresponde a un desplazamiento de 12.834 KHz.

Este gráfico muestra la fase desenvuelta frente al tiempo (el eje vertical es radianes) y la magnitud correspondiente frente al tiempo. Supongo que cuando la magnitud es baja, estamos viendo el ruido, y la señal de interés se produce solo cuando la magnitud es mayor.

ingrese la descripción de la imagen aquí

Acercándose a la primera parte de la ráfaga, el pulso comienza a aproximadamente 0.9265 segundos, y al comienzo de la ráfaga, la fase es "plana" durante aproximadamente 3 ms. Creo que corresponde a un transportista no modulado, en comparación con los detalles que vemos más adelante.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Después de los 3 ms de la porción de "fase plana", hay un patrón muy largo de lo que parece ser 1 0 1 0 1 0 con una velocidad de datos de 37.5 KS / s. La modulación va entre 0 y 180 grados, pero luego veremos rampas de fase claras que me harán sospechar de FSK en lugar de BPSK. (Si fuera MSK, hubiera esperado ver evidencia de rotaciones de 90 grados, pero la rotación mínima que encontré fue de 180 grados). Tenga en cuenta que al comienzo del patrón (suponiendo +180 = 1 y -180 = 0), vemos 1 1 0 1 0 1 0 1 ... que luego dura con el patrón 1 0 1 0 durante aproximadamente 90 ms antes de nuevo insertando un "1 1" cerca de la segunda marca de 1.02, y luego continuando nuevamente como 0 1 0 1 0 1 ... hasta la marca de 1.414 segundos. (aproximadamente 0.4 segundos de duración con un patrón 1 0 1 0). Tenga en cuenta la "joroba" en la trayectoria general;

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

A 1.414 segundos comienzan los datos reales. (El primero fue probablemente un patrón de sincronización / adquisición). Al observar primero una vista macro, vemos un patrón que en esta vista parece repetirse 3 veces antes de que termine la ráfaga.

ingrese la descripción de la imagen aquí

Al acercarnos a la primera región, vemos constantes pendientes positivas y negativas indicativas de FSK. Al final de la ráfaga de datos, hay una larga duración de 1 durante 4 ms seguido de nuevo por el patrón 101010 durante aproximadamente 14 ms.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

La siguiente ráfaga comienza alrededor de 1,51 segundos, poco después de que la primera vuelva a tener el mismo patrón de inicio de una portadora no modulada, seguido del patrón de modulación largo 101010. (Aunque ligeramente diferente en que el inicio fue 1 1 1 1 0 1 0 1 0 1 0 1 pero la duración del patrón 1010 antes de la modulación de datos fue de nuevo 14 ms)

ingrese la descripción de la imagen aquí


Pregunta secundaria novata: durante la sincronización, hay como 5 ~ 7 bandas de frecuencia prominentes en la tabla de cascada. Sin embargo, todavía tengo que centrar mi filtro (paso bajo) en el central (20 kHz), ¿es así? Estoy sorprendido porque esto deja parte del espectro (que se expande desde ~ + -35kHz) fuera del filtro, pero parece funcionar de todos modos:
jjmontes

Te centras a 12.834 KHz de compensación para demodular, y luego la frecuencia de esa señal será tu información. Un retraso y multiplicación consigo mismo puede hacer un simple discriminador de frecuencia.
Dan Boschen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.