Wednesday 6 November 2019

Zigbee communication outdoors at long distance ( around 1 - 1.5 km)


I am planning to put some control boards around the school campus ( planning to use Arduino board with some add-ons). I would like to communicate with these boards and was thinking of Zigbee.


The distance between two controller boards is around 1 - 1.5 km. However, searched wiki that the distance depends on the line-of-sight of the transmittor.


Outdoors with line-of-sight, range may be up to 1500 m depending on power output and environmental characteristics

The environment I intend for installation has many buildings, thus no "line of sight" between each controllers. So, is there anyway I could use Zigbee (perhaps add I few more points for data collection and transfer)? Or is there any other communication media I could use?



Answer



Minimum data rate for Zigbee is 20k bits per second and this dictates the bandwidth of the receiver. The wider the bandwidth of the receiver, the more noise the receiver picks up so running at a smaller bandwidth means that for a given transmit power, the operating distance to the receiver can be bigger.


Received power needed for a given data rate is: -


Power required in dBm is -154dBm + 10\$log_{10}\$(data rate) dBm



So at 20kbits/sec the power needed is -111 dBm but this is really the hard limit and you should always consider what is called as fade-margin - basically add at least 20dB to this figure - this takes you to -91dBm.


The transmitter, in free space (ideal conditions) pushes power from its antenna and the Friis formula that equates power to distance is this: -


Link Loss (dB) = 32.4 + 20\$log_{10}\$(F) + 20\$log_{10}\$(d)


where F is MHz and d is distance between the two antennas (kilo metres).


So if the radio uses 1GHz and was 1.5 km away, the link loss would be 32.4 + 60 + 3.52 = about 96dB. If it's transmitting +10dBm then the power received would be -86dBm. This seems to work because I calculated a 20kbps receiver needed -91dBm BUT again this is a free-space perfect transmission and there are various rules of thumb needed to convert this to "on-earth" with lots of obstacles (this is a very big subject). If you added another 20 to 40dB to these figures you'd be looking at something that should work reasonably reliably.


This means you might need to be transmitting at +40dBm (10 W output power). This is too high for Zigbee so either consider directional antennas that add gain at both transmitter and receiver or consider a mesh network as recommended in the wikipedia link in the question.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...