networks//radio link

A radio link is a connection that carries data through the air between two antennas, and it is how a drone talks to its ground station, a fleet of robots to each other, and a remote sensor to a gateway: Wi-Fi, 4G and 5G, LoRa, telemetry radios at 433, 868 or 915 MHz and radio control at 2.4 GHz. All of them share the same vices: variable latency, losses that come in bursts, limited range and interference, deliberate or not.


A radio link is a connection that carries data through the air between two antennas, and it is how a drone talks to its ground station, a fleet of robots to each other, and a remote sensor to a gateway: Wi-Fi, 4G and 5G, LoRa, telemetry radios at 433, 868 or 915 MHz and radio control at 2.4 GHz. All of them share the same vices: variable latency, losses that come in bursts, limited range and interference, deliberate or not.

The order of magnitude of the range comes from the free-space path loss, the attenuation between two antennas a distance ddd apart at frequency fff with nothing in between:

L=20log⁡10 ⁣(4πdfc) dB.L = 20\log_{10}\!\left(\frac{4\pi d f}{c}\right)\ \text{dB}.L=20log10​(c4πdf​) dB.

At 2.4 GHz and 1 km it is already about 100 dB, and every doubling of the distance adds 6 dB; walls, vegetation and the drone's own body add their share. A link budget is the sum that decides whether a link closes: transmit power plus antenna gains, minus these losses, must stay above the receiver's sensitivity with a margin for fading.

Never close a fast loop over a lossy radio.

Setpoints and telemetry travel by radio; the fast loops live on board, and when the link drops the vehicle already has a plan of its own: hold position, return or land. Between Earth and Mars light alone takes about 3 to 22 minutes each way, so a robot there closes every loop that matters by itself.

Range is bought with rate. LoRa reaches kilometres at a few kbit/s, and in the European 868 MHz band many sub-bands limit each transmitter to 1% of the time, 36 seconds per hour, which suits a soil sensor reporting every few minutes and nothing that needs an answer now (channel capacity).

Number every message and check its age on arrival: old data that looks new is worse than no data. And send state rather than increments: I am at (12.3, 4.1) survives the loss of a packet because the next one replaces it, while I moved 0.3 m corrupts the receiver's count forever (communication constraints).

Do the arithmetic before choosing, as for a wired serial bus: fifty drones each sending 100 bytes of state at 10 Hz need about 400 kbit/s on one shared channel, which fits in Wi-Fi and not in a long-range telemetry radio (MAVLink, determinism).