After the short-range testing of the mesh helpers, we then set about creating a longer-range test so that we could determine the maximum useful range.
As part of the exercise, a VHF repeater was located on a prominent ridge, and this seemed like a good place to put a mesh helper to give us the chance to setup some long-range links.
|The VHF repeater is on the left, and our mesh helper is hiding under the plastic bag on the right to keep out of the sun.|
We then proceeded to drive along the road towards Pongaroa with one of the mesh helpers in the car with us. Monitoring of link budget was using the built-in diagnostic webpage that we incorporated into servald.
That web page provides continuous link budget, calculated as difference between RSSI and noise-floor recalibrated into dB. I am not completely confident in the reading from this, but it is a good general guide.
For those interested, the radios we are using are transmitting at +30dBm, and using +3db antennae, that are admittedly poorly placed next to a large LiFePO4 battery and other gear in the buckets. Receiver sensitivity is around -121dB @ 1200bps, and so should be expected to be around -100dB @ 128kbps, giving a link budget of around 133dB.
Earlier, we had setup a second site nearer to the cottage, the results from which are marked as "site 2" in the following table. The primary site by the repeater is approximately 1km from the cottage, almost in the opposite direction from the road we travelled along, so the distances here are underestimates of the actual distances. The 2.65km and 2.68km records almost certainly correspond to actual distances of >3km.
The road varied in altitude, and had a lot of road-side vegetation and forest in places, as well as hills completely occluding line-of-sight to the sites where the other mesh helpers were located. This is reflected in the varying link budgets as we travelled along the road.
|Link Margin||Distance to Cottage
|11dB||0.36km||Adjacent to the bridge|
|30dB to site 2||0.76km||road side|
|13dB to site 2||1.00km||road side|
|12dB||1.19km||On the hill side|
|10dB||1.48km||Side of road, next to a gate|
|23dB||2.00km||parked, antenna vertical|
|20dB to site 2||2.19km||road side|
|22dB to site 2||2.65km||road|
|3dB to site 2||2.68km|
|14dB||26.02km||Steady 14db margin, but no lock/link.|
It is nice to know that we could maintain a link over distances of around 3km. There were of course spots along the way where link was not possible due to vegetation, hills and other obstacles getting in the way.
Between 3km and the 26km there were hills blocking any line-of-sight, and so measurements were not possible there, except in one place at around 12km, where we could not detect signal.
3KM is way short of what we believe these radios to be capable of, as reflected by the strong link budget (22dB) at around that range. Certainly 12km should be plausible, if not possible.
We are exploring a number of possible reasons why we were not able to obtain links at these distances.
One of the main culprits we are exploring is the forward error correction on the radios. Currently they can detect and correct 25% BER in every 12 bits. However, there is no block code or convolution code to allow graceful handling of bursts of errors. The addition of such a code should allow links at greater distances. The 14db reading at 26km, which was steady over several minutes, offers tantalising hope that with improved error correction links over such distances may be possible. It is also possible that the number of black spots nearer might be reduced by such improvements in forward error correction.
Something like Turbo Codes would be ideal, but are too complex to implement in the radios, but could be implemented in the wireless router.
Another source of trouble is the prototype units themselves, where all the components are sitting together in a plastic bucket. There is almost certainly interference, occlusion and other problems occurring as a result.
It is nice to know that several kilometres is possible, and that there are some obvious areas we can work on to improve the range further.
What is significant is that the mesh helpers extend the range to useful distances, compared with the native WiFi capability of smartphones, as the following table summarising our experience shows.
|Setting||SmartPhone WiFi||Mesh Helper|
|Urban, through dwellings||~20m||~200m|
Note that we are concentrating on omnidirectional antennae here, because our focus is on networks that are easy for normal people to setup, without having to aim antennae or have significant radio experience.
The Mesh Helper takes the range from being about one house to potentially tens of houses in distance, depending on the setting.
Thanks to the square rule, this means that instead of covering perhaps just one house, this means that we can cover potentially hundreds of dwellings with one unit, thus reducing the density of units required to establish a network -- which is precisely what we set out to achieve.
If it turns out that with improved forward error correction we can push those ranges out further, then the benefit will be even greater.
One of the next steps will be to reduce the size of the mesh helpers to mobile-phone size, to make them truly portable, which is entirely feasible as the core electronics are already small enough.