Paso 3: Transcripción de la señal resultante
Ahora que han identificado el bloque de altibajos periódicos correspondientes a la señal de un botón particular, necesita una manera de almacenar e interpretación. En el ejemplo anterior de la señal, usted notará que hay dos patrones únicos que componen el bloque toda la señal. A veces ves un alto corto seguido de una baja larga, y a veces es lo contrario - un largo alto seguido de un bajo corto. Cuando yo estaba transcribiendo mis señales, decidí utilizar la Convención siguiente de nomenclatura:
1 = short_on + long_off
0 = long_on + short_off
Mirar otra vez la forma de onda con, y usted verá lo que quiero decir. Una vez haya identificado los patrones equivalentes en su señal, todo lo que tienes que hacer es número 0 y el 1 de construir la secuencia. Al transcribir, la señal anterior se puede escribir como sigue:
Ahora solo tienes que repetir este proceso para el grabar y transcribir las señales correspondientes a los otros botones en el teléfono, y usted haya completado la primera parte del proceso de!
Antes de volver a puede enviar las señales mediante el transmisor, hay que hacer un trabajo un poco más. La sincronización entre las altas y bajas correspondientes a un 1 o un 0 es muy importante, y usted necesita para asegurarse de que usted sabe cuánto realmente dura un 'short_on' o un 'long_off'. Para mis códigos, había tres piezas de información de tiempo que necesitaba para extraer con el fin de replicar las señales:
- La duración de un intervalo 'corto', es decir, el principio de un 1 o el extremo de un 0.
- La duración de un intervalo de 'largo', es decir, el final de un 1 o el comienzo de un 0.
- La duración de un intervalo 'extendido'. He notado que cuando pulsado un botón en el auricular, hubo un período de 'extended_off' entre cada instancia repetida del bloque de la señal. Este retardo se utiliza para la sincronización y tiene una duración fija.
Para determinar estos valores de sincronización, puede utilizar la función de zoom en la ventana de matplotlib para acercar el fondo y coloque el cursor sobre las partes pertinentes de la señal. La lectura de ubicación del cursor en la parte inferior de la ventana debe permitir determinar cada parte de la señal de qué tan amplia es que corresponde a un intervalo largo, corto o largo. Tenga en cuenta que el eje x del diagrama representa tiempo, y es el componente x de la lectura del cursor en unidades de segundos. Para mí, las anchuras eran como sigue (en segundos):
- short_delay = 0.00045
- long_delay = 0.00090 (dos veces tan de largo como un 'corto')
- extended_delay = 0.0096