Porcentaje esperado de colisiones para transmisiones inalámbricas unidireccionales

1

Estoy desarrollando sensores alimentados por batería para medir diferentes parámetros dentro de mi casa.

Las medidas las toman los controladores AVR simples (no Arduino) a intervalos más o menos regulares y se enviarán de forma inalámbrica a un Arduino central con un escudo Ethernet que los transmite a mi servidor, donde se almacenarán.

Para mantener bajo el consumo de energía y mantener los sensores simples, planeé usar transmisores de 433MHz en los sensores y un receptor en el Arduino: no se espera comunicación bidireccional. Los sensores enviarán el valor y una suma de comprobación y el receptor los verificará antes de realizar la transmisión.

Si se producen dos transmisiones al mismo tiempo, cualquiera de las dos

  • el receptor no podrá entenderlos
  • la suma de control será incorrecta
  • uno de ellos será cubierto por el otro y se perderá.

Considero que estos tres casos son "colisiones".

Planeo introducir fluctuaciones "aleatorias" entre las mediciones (y las transmisiones, se realizan siempre juntas) agregando al intervalo predefinido un retardo pseudoaleatorio de 8 bits. Esto debería reducir el número de colisiones. Sin embargo, habrá algunos de todos modos dependiendo de la cantidad de sensores y de la duración de la comunicación. Además, los relojes de los sensores no están sintonizados, puede haber pequeñas variaciones (el 10% es la tolerancia para el oscilador integrado en los AVR).

Puedo aceptar algunas colisiones, pero me gustaría estimar cuántas son para poder reducir la tasa de bits de la transmisión (y, por lo tanto, la potencia de transmisión) y para poder estimar cuántos sensores y con qué frecuencia las lecturas. puede permitirse.

Entonces, ¿es posible estimar las colisiones esperadas de acuerdo con

  • duración (en ms) de cada transmisión
  • número total de transmisiones por segundo

¿Suponiendo que las transmisiones se realicen de forma más o menos homogénea?

Incluso si la energía por bit se puede suponer constante y, por lo tanto, debería apuntar a la tasa de bits más alta para ahorrar ciclos de CPU e ir más temprano en el modo de bajo consumo, la pregunta sigue siendo válida: saber cuántas colisiones debería ¿Espera dada la frecuencia de las mediciones y la cantidad de sensores?

Gracias

(¿quizás alguien debería agregar "colisión" como etiqueta? No puedo)

    
pregunta FarO

2 respuestas

3
  

Puedo aceptar algunas colisiones, pero me gustaría estimar cuántas   son para que pueda reducir la velocidad de bits de la transmisión (y   por lo tanto la potencia de transmisión)

La reducción de la velocidad de bits aumentará el tiempo de transmisión, lo que irónicamente puede aumentar el consumo de energía en general.

Si tiene un valor promedio de todas las transmisiones por hora, creo que la probabilidad de que se produzcan dos transmisiones en un determinado período de tiempo puede calcularse suponiendo que Distribución de Poisson . Si la probabilidad de una transmisión en un cierto período de tiempo es (por ejemplo) 0.1, entonces la probabilidad de más de una transmisión es de 0.00468. Consulte esta calculadora . Asumí que X era 1 y que la probabilidad, \ $ \ mu \ $ era 0.1 y estaba conectada a los números.

Recuerde que si una transmisión tiene (digamos) 20 ms de largo, entonces debe considerar un período que tenga un ancho de hasta 60 ms porque una transmisión en colisión podría ocurrir justo al final de cualquiera de las transmisiones.

    
respondido por el Andy aka
0

Hice algunas medidas de medición. Energía / bit en transmisiones inalámbricas.

Uno de los resultados es; Elija la velocidad de datos más alta posible, ya que la ganancia en el ancho de banda supera el aumento en el consumo de energía. 1

    
respondido por el Roland Mieslinger

Lea otras preguntas en las etiquetas