Parece que desea una alta tasa de bits, utilizando una frecuencia de portadora baja, cuando sugiere que algunos ciclos deberían codificar cada bit. Una forma extrema de FM (o FSK de cambio de frecuencia) es codificación de Manchester (consulte su página wiki). En este esquema de codificación, se podría decir que una de dos frecuencias es posible:
- una cadena de "1" codifica un ciclo de la "portadora" por bit
- una cadena de "0" codifica un ciclo de la "portadora" por bit
- una cadena de "010101 ..." alterna se codifica a medio ciclo por bit.
Este esquema de modulación también se puede describir como una forma de cambio de fase. Se puede descodificar buscando y bloqueando una transición de bits (tanto las transiciones de bits positivas como las negativas deberían ser igualmente bloqueables). Al comienzo de una transmisión, se envía una cadena de "01010101 ...", que permite al receptor encontrar y bloquear esos bordes. Un bucle de bloqueo de fase es útil para limpiar los bordes ruidosos. Un bucle de bloqueo de fase también proporciona memoria de borde, donde anticipa el intervalo de tiempo al siguiente borde bloqueable. Es posible utilizar la función de temporizador de su Arduino para implementar un bucle de bloqueo de software adecuado, siempre que su tasa de bits en serie no sea demasiado alta (demasiado complicada para describirlo aquí). El ruido que puede interpretarse como una transición de bits interrumpirá seriamente la decodificación , por lo que este método no debe utilizarse para extraer una señal débil del ruido. En este caso, tener muchos ciclos de portadora que abarcan cada bit transmitido permite el filtrado para reducir los errores causados por el ruido. Ahora te gusta más "FM" o "PM".