Acabo de comenzar a usar un par de módulos de radio de baja potencia en mi proyecto ( HopeRF RFM69HCW ). Los hice trabajar; transmiten con éxito mensajes en un rango limitado (5-10 metros). Ahora me gustaría mejorar ese rango (con una pérdida de mensaje mínima).
Mi problema es elegir la velocidad de bits, la desviación de frecuencia y el ancho de banda de Rx para el filtro de canal (las configuraciones que estoy usando actualmente son bastante aleatorias: Br = 19600, Fdev = 2 * Br, RxBw = Br). Así que fui a la web en busca de una función atractiva que describiera la relación entre estos tres parámetros y el rango de transmisión, esperando escribir una función como setBitRate(unsigned int x) {Br = x; Fdev = func1(x); RxBw = func2(x);}
.
En lugar de eso, los documentos que explican el significado de esos parámetros a un lado (muy interesantes pero a menudo demasiado complejos para mí, especialmente aquellos relacionados con el filtro de canal), encontré algunas (no muchas) tablas de configuración, como esta en la fuente de la biblioteca RadioHead RFM69 (solo reproduciré un fragmento aquí; en este caso, RxBw se establece de forma implícita y, por lo tanto, no se muestra en esta lista):
FSK_Rb2Fd5 = 0, ///< FSK, Whitening, Rb = 2kbs, Fd = 5kHz
FSK_Rb2_4Fd4_8, ///< FSK, Whitening, Rb = 2.4kbs, Fd = 4.8kHz
FSK_Rb4_8Fd9_6, ///< FSK, Whitening, Rb = 4.8kbs, Fd = 9.6kHz
FSK_Rb9_6Fd19_2, ///< FSK, Whitening, Rb = 9.6kbs, Fd = 19.2kHz
FSK_Rb19_2Fd38_4, ///< FSK, Whitening, Rb = 19.2kbs, Fd = 38.4kHz
FSK_Rb38_4Fd76_8, ///< FSK, Whitening, Rb = 38.4kbs, Fd = 76.8kHz
FSK_Rb57_6Fd120, ///< FSK, Whitening, Rb = 57.6kbs, Fd = 120kHz
FSK_Rb125Fd125, ///< FSK, Whitening, Rb = 125kbs, Fd = 125kHz
FSK_Rb250Fd250, ///< FSK, Whitening, Rb = 250kbs, Fd = 250kHz
FSK_Rb55555Fd50, ///< FSK, Whitening, Rb = 55555kbs,Fd = 50kHz for RFM69 lib compatibility
Intenté entender que es lógica, pero no pude. Por ejemplo, ¿por qué esta lista cambia repentinamente de Fd = 2*Rb
(hasta la línea 7) a Fd = Rb
(de la línea 8)?
Encontré diferentes listas, con diferentes parámetros, pero nunca encontré una lógica detrás de ellas. ¿Existe una función (incluso compleja) que relacione la velocidad de bits, la desviación de frecuencia y el ancho de banda del filtro de canal? ¿O donde es probable que todos estos ajustes se encuentren experimentalmente? ¿Estoy tratando de relacionar configuraciones no relacionadas (admito que no las conozco, especialmente de la tercera), o me estoy olvidando de algunas que están fuertemente relacionadas?