
Summary
We have optimised how our engines model attenuation and diffraction to improve accuracy and performance within forests (and buildings).
Highlights
- 20% accuracy improvement with clutter
- 6.8 dB RMSE error for NLOS simulation (1.6 dB accuracy gain)
- 78% GPU speed increase with clutter
- Better performance for radios within trees
Evolution of attenuation and/or diffraction
When a radio signal hits an obstacle such as a building, it attenuates through the obstacle and diffracts over the obstacle. Depending on the dimensions of the obstacle, a received signal beyond it could be from attenuation, or diffraction or a bit of both. It’s hard to tell. If you can’t get a phone signal behind an obstacle but walking away from it gets you a bar that’s diffraction. If you can improve a signal by walking into the obstacle, that’s likely attenuation.
Since 2020 we have offered configurable clutter and an increasing number of advanced diffraction models such as the fast Bullington approximation and it’s more sophisticated relative, Deygout 94. To address the challenge of simulating both the direct and diffracted rays, we implemented conditional engine logic for obstacle types such as trees and buildings so they would function differently: A forest would diffract and a building would attenuate, for example. This makes sense commercially as there is normally more money and people in a city than a forest.



The conditional logic added complexity and created visual artefacts so was replaced with dominant diffraction as most field measurements, and empirical models, are made on roads with diffracted signals. Our compromise for simulating within and beyond obstacles was to offer a DSM/DTM choice so users can chose to study rooftop LOS (and diffraction) with LiDAR where it’s available or focus on attenuation inside the material, but not both together until now.
Rethinking trees
We chose to make diffraction dominant with attenuation used for the face of an obstacle and in relatively low land cover. This resulted in “hot LiDAR trees” with a good signal across the canopy which is optimistic when your network is under the canopy but the obvious artefact justified the diffraction modelling beyond them. It also made good sense for urban rooftops where static communications equipment is installed.
In 2023 we challenged popular misconceptions that LiDAR is better for accuracy with a DTM/DSM field test where we achieved higher accuracy with calibrated clutter than precision LiDAR. This holds true for NLOS signals.
We proved the accuracy of the design choice with LTE and UHF field tests around mountains, buildings and trees but were conscious that a field test inside a forest would not be as accurate as whilst some RF would scatter from the canopy within a forest, this phenomenon was not nearly as reliable for planning as a nominal value per meter based upon the vegetation type. For example, a wet jungle attenuates more than most.
Now we can model both rays without compromise which for DTM produces visually different results. Previously, a building roof or tree canopy in DTM + Buildings would have been hot but now will be cold, or non-existent, since the receiver is within the obstruction and attenuation is being applied consistently throughout the obstacle (and prior obstacles).
Reverse engineering a forest
There are many historic studies into vegetation and material attenuation which have been summarised within a standard, ITU-R P.833. The ITU recommendation provides a useful reference for appropriate attenuation figures (dB/m) for varying wavelengths but does not prescribe a value for every material in every season. The best way to improve upon this is using field test data with calibrated clutter.
First, find two paths that go through and beside some uniform trees, eg. a wood block, on level ground. Calibrate the model so the clear path (B) beside the trees aligns with simulations and then note the difference of the obstructed path (A) eg. +30dB attenuation loss.
Using the difference in decibels divided by the depth of the trees you can compute a nominal attenuation per meter and adjust your clutter profile accordingly. In our experience, this is the best way to get to an accurate, regional, nominal value that works well for other paths providing the trees are similar. Looks can be deceiving as mature trees often have higher leaf canopies so may permit more RF than you might think!
The expected range for vegetation attenuation is 0.03 to 0.5dB per meter.
Dilution by diversity
Across a wide area there will be different types of vegetation. When using space based land cover data, like ESA Worldcover, the classification is an approximation eg. “Trees” or “Shubland” with the net result that the best overall attenuation value will be lower than the nominal value for a single type. For example, a northern pine forest may have an attenuation value of 0.3dB/m but when used in a larger context with different vegetation types, the best value may be 0.03dB/m.
The key to getting this tree/building figure right for an area is having a large amount of diverse survey data.
Calibrating for success
We used OFCOM spectrum data for the UHF 450 band to prove the accuracy of our refactor and were pleased to improve upon our accuracy scores and speed. The lower UHF band was chosen as it would have the most penetration which is a notably more expensive problem to compute than a LOS viewshed.
The chosen data set is on the outskirts of a coastal city covering hills, forests and has over 10e3 samples taken by vehicle. We load this data into our calibration tool within our web interface and make appropriate clutter adjustments to tighten up the score. In our experience, you can fit the General Purpose model to most frequencies if you focus on adjusting the clutter instead of the model. Recomputing the 16 million point model takes several seconds with a GPU.


Results
The results show a 1.6 dB improvement (20% better than old score) in accuracy and a 78% speedup for GPU calculations with clutter. The CPU refactor is 1.8 dB more accurate but slower when clutter is enabled. Both engines will now show reduced coverage when working with clutter in NLOS regions but will look the same for where there is LOS or no clutter.
Test | Old | Refactor |
GP model with Deygout 94 diffraction 16MP resolution DTM, Landcover, Buildings GPU Engine (RTX3050) | Elapsed: 11.7s RMSE: 8.4dB Coverage: 82% | Elapsed: 2.6s RMSE: 6.8dB Coverage: 56% |
GP model with Deygout 94 diffraction 16MP resolution DTM, Landcover, Buildings CPU Engine (Ryzen 9, 8 threads) | Elapsed: 24.1s RMSE: 9.2dB Coverage: 84% | Elapsed: 33.7s RMSE: 7.4dB Coverage: 71% |
GPU Multisite DTM, Landcover, Buildings 4MP resolution, x3 sites | Elapsed: 4.3s | Elapsed: 1.6s |
CPU path, 20km DTM, Landcover, Buildings | Elapsed: 0.133s | Elapsed: 0.142s |
CPU path, 20km DTM | Elapsed: 0.07s | Elapsed: 0.07s |
Summary
This optimisation will change how heatmaps appear for DTM and clutter, especially around buildings which will change from hot to cold. The improvement to accuracy for both CPU and GPU is notable and we can now offer much better planning for radio users within forests as a result.
All propagation models, including ITM, will be adjusted when clutter is enabled for future calculations only. Legacy calculations are unaffected and users can choose to disable clutter or minimise the amount of change with the Minimal.clt (default) clutter profile.
For simulations using DTM or DSM layers only there will be no difference.
The change does not affect DSM mode so LOS studies of rooftops will be unaffected.
Look forward
Expect to see a field test in a forest.
We’ll buck the trend of collecting data from the comfort of a car and go off-roading to investigate VHF/UHF attenuation in trees. This data will help us refine our clutter profiles so we can offer better defaults.