Skip to main content

Wireless Fundamentals - Why Radio Is Hard

TL;DR
  • Radio is a shared, noisy, lossy broadcast medium. Every receiver sees a different channel, and the rate you get is set by SNR, not by how many bars the icon shows.
  • Power falls with distance squared and with frequency squared: the same transmitter at 5 GHz arrives about 6.5 dB weaker than at 2.4 GHz. Higher bands buy bandwidth and cost range and wall penetration.
  • Shannon: C = B log2(1 + S/N). Capacity grows linearly with bandwidth and only logarithmically with SNR, which is why wide channels matter more than a louder radio.
  • A radio cannot listen while it transmits, so Wi-Fi avoids collisions (CSMA/CA) instead of detecting them (CSMA/CD), and it ACKs every unicast frame because the air loses so many.
  • Hidden terminal: A and C both reach the AP but not each other, so carrier sense says "idle" while the other is talking. This page is the physics; the 802.11 fix is on the Wi-Fi pages.

Mental model​

ANALOGYEveryday

A wireless link is a loud party in one big room. Everyone shares the same air, so two people talking at once garble each other. You cannot hear while you are talking, so you cannot notice that someone else started at the same moment. Move farther away or put a wall between you and the voice gets quieter, and the more background chatter there is, the more you have to repeat yourself. Someone in the kitchen cannot hear the guy at the front door, yet both can shout at you in the living room at the same time.

Where it breaks: in a room everyone hears roughly the same mix of voices. On radio each receiver sees its own signal strength, its own echoes and its own noise, so "the channel" is really one channel per listener.

ANALOGYFor engineers

A wireless link is a lossy, half-duplex shared bus with built-in retries. Think of one UDP socket over a flaky network where the sender expects an ACK for every message and resends on timeout, while many clients write to the same socket and nobody can read while writing. The signal-to-noise ratio plays the part of the packet-loss rate: it is a continuous dial that the hardware answers by picking a faster or slower encoding.

Where it breaks: a lossy network drops whole packets. A radio does not drop, it degrades: a falling SNR makes the sender fall back to a slower modulation first, and only then does loss appear. Your code sees latency and throughput change long before it sees errors.

How it works​

Power in decibels​

Radio powers span many orders of magnitude, so they are quoted in decibels. dBm is decibels relative to 1 milliwatt: P(dBm) = 10 log10(P in mW). Every 3 dB is a factor of 2 and every 10 dB is a factor of 10.

dBmmilliwattsWhere you meet it
20 dBm100 mWA common upper range for a Wi-Fi transmitter (regulators set the exact cap per band and country)
0 dBm1 mWThe reference
-50 dBm0.00001 mW (10 nW)A strong received signal (the macOS reading in Hands-on)
-93 dBmabout 0.0000000005 mWA real noise floor measured on the same machine

These conversions were computed with Python, 10 ** (dBm / 10). A received signal is billions of times weaker than the transmitted one, and the receiver still has to read it.

Free-space path loss​

In free space a transmitter's power spreads over a sphere, so the power per area falls with distance squared. The Friis transmission equation (Friis, Proc. IRE, 1946) adds the receive antenna: its effective area shrinks with the square of the wavelength, so the loss also grows with frequency squared. For isotropic antennas the free-space path loss is (4 pi d f / c)2, in decibels:

FSPL(dB) = 20 log10(d) + 20 log10(f) + 32.44 with d in kilometres and f in MHz.

The constant is not magic: 20 log10(4 pi * 1000 m * 1 MHz / c) evaluates to 32.448 dB (Python), which rounds to 32.44. Doubling the distance adds 20 log10(2), about 6.0 dB. Doubling the frequency adds the same 6.0 dB.

Worked numbers, computed with that formula in Python (centre frequencies of 2.4 GHz channel 6 = 2437 MHz, 5 GHz channel 36 = 5180 MHz, 6 GHz channel 1 = 5955 MHz):

Distance2437 MHz5180 MHz5955 MHz
1 m40.2 dB46.7 dB47.9 dB
10 m60.2 dB66.7 dB67.9 dB
20 m66.2 dB72.7 dB74.0 dB
100 m80.2 dB86.7 dB87.9 dB

20 log10(5180 / 2437) is 6.5 dB, and 20 log10(5955 / 2437) is 7.8 dB: that is the whole frequency penalty in free space. A 20 dBm transmitter received 10 m away in free space arrives at 20 - 60.2 = -40.2 dBm on 2.4 GHz and 20 - 66.7 = -46.7 dBm on 5 GHz. Real rooms are worse than free space: walls, floors and people add loss on top, and higher frequencies lose more to them (see Deep dive).

SNR, not RSSI, sets the speed​

RSSI is how strong the signal arrives. The noise floor is the power of everything else on the channel (thermal noise plus interference). SNR is the gap between them: SNR(dB) = RSSI(dBm) - noise(dBm). A modulation can only be decoded when SNR is high enough, so each step up the MCS ladder (denser constellation, less error correction) demands a higher SNR. The radio measures it and picks the fastest MCS that still decodes. This is rate adaptation, and it is why walking away from the AP slows you down smoothly instead of cutting you off.

The noise floor has a physical minimum, thermal noise, -174 dBm/Hz + 10 log10(B). Computed with Python:

Channel widthThermal noise floor
20 MHz-101.0 dBm
40 MHz-98.0 dBm
80 MHz-95.0 dBm
160 MHz-92.0 dBm

Doubling the width doubles the noise you collect (3 dB), so wide channels need a stronger signal to keep the same SNR. The measured -93 dBm on an 80 MHz channel in Hands-on sits about 2 dB above the 80 MHz thermal floor, which is what a real receiver adds on top.

A rough guide to RSSI, as vendors and installers commonly use it (thresholds vary by vendor, device and noise, so treat them as rules of thumb):

RSSIQualityWhat usually works
-50 dBm or strongerExcellentTop rates
about -67 dBmGoodThe level many vendors and installers target for video and voice
about -70 dBmFairBrowsing, lower rates
-80 dBm or weakerPoorFrequent retries, slow, drops

Shannon capacity​

Claude Shannon showed in A Mathematical Theory of Communication (1948) that a channel with bandwidth B hertz and signal-to-noise power ratio S/N can carry error-free at most

C = B log2(1 + S/N) bits per second.

Note S/N is a power ratio, not decibels: 30 dB means 10 ** (30/10) = 1000. Computed with Python:

SNRS/N ratio20 MHz channel80 MHz channel
10 dB1069 Mbit/s277 Mbit/s
20 dB100133 Mbit/s533 Mbit/s
30 dB1000199 Mbit/s797 Mbit/s
40 dB10000266 Mbit/s1063 Mbit/s

Read it two ways. Going from 20 MHz to 80 MHz multiplies capacity by 4 at any SNR. Going from 30 dB to 40 dB, ten times more signal power, adds only about a third. So raising bandwidth is the efficient lever, and that is exactly the pull toward wider channels and toward the 6 GHz band. It is also an upper bound for one spatial stream: real modulation and coding stay below it, and MIMO adds more streams (see Deep dive).

Bands: range against bandwidth​

Wi-Fi lives in unlicensed spectrum: anyone may transmit if the device obeys power and etiquette rules, so no one owns a clean channel. Licensed spectrum (cellular carriers) is bought or assigned, so the operator controls who transmits and can plan around interference. Band edges and power limits are set by national regulators: in the US by the FCC under 47 CFR Part 15, in Europe by ETSI harmonised standards such as EN 300 328 (2.4 GHz) and EN 301 893 (5 GHz), listed at etsi.org/standards. The IEEE 802.11 standard defines the radios, not the legal limits (ieee802.org/11).

BandRangeSpeed potentialChannelsInterferenceTypical use
2.4 GHzLongest, best through wallsLowest: narrow band, 20 MHz typicalFew non-overlapping (3 in the US plan)Heaviest: Bluetooth, microwave ovens, neighbours, legacy devicesIoT, range, legacy clients
5 GHzShorter, walls hurt more (6.5 dB more free-space loss)Higher: 40, 80, 160 MHz widthsMany; some need DFS radar avoidanceLighter but still sharedMain band for laptops and phones
6 GHzShortest of the three (7.8 dB more than 2.4 GHz in free space)Highest: room for 160 MHz and widerLargest set; 1,200 MHz in the USLightest today: only newer devicesWi-Fi 6E and Wi-Fi 7 clients

The 6 GHz opening is the FCC's April 2020 decision to make 1,200 MHz (5.925 to 7.125 GHz) available for unlicensed use (FCC announcement); the Wi-Fi Alliance counts 59 channels of 20 MHz in it for the US. Standard-power operation needs an AFC (automated frequency coordination) database check to protect incumbent users. Channel plans differ by country, so do not assume the US numbers abroad.

The shared medium, drawn​

On a switched Ethernet cable two ends own a private pair and can talk both ways at once (see Link Layer Overview). On radio, everyone within range of a transmitter hears it, and a station's own transmit power is vastly stronger than anything arriving at its antenna, so it cannot listen at the same time. That single fact drives the rest of the design. Here is where it bites.

ABCAPstationstationrange of Arange of CA and C cannot hear each other
A and C each reach the access point B, but each is outside the other's range. Both sense an idle channel, both send, and the two frames collide at B. B can hear the damage; neither sender can.

Deep dive​

Multipath and fading​

Radio does not travel only in a straight line. It also reflects off walls, floors and furniture, so several copies of one transmission reach the receiver at different delays. Each extra metre of path adds 1 / c, about 3.3 ns.

TxRxwalldirect path, 30 mreflected path, 39 m0 ns direct30 ns echopulseecho
One transmission, two routes. The reflected copy travels 9 m farther (illustrative lengths of 30 m and 39 m), so it arrives 30 ns later and overlaps the direct copy.

Two things follow from those echoes.

  • Fading. At 2437 MHz the wavelength is c / f, 12.3 cm (Python). The echo and the direct copy add or cancel depending on a path difference of half a wavelength, about 6 cm, so moving a phone a few centimetres can swing signal strength by tens of dB. A deep fade can sit right next to a strong spot.
  • Inter-symbol interference. If the echo arrives while the next symbol is being read, the symbols smear into each other. OFDM, used by 802.11a/g/n/ac/ax, defeats this by sending many slow narrow subcarriers and adding a guard interval in front of each symbol that is longer than the expected delay spread. 802.11 defines a 0.8 microsecond guard interval, and later amendments add longer options, so a 30 ns echo is absorbed with room to spare.

MIMO turns the same effect into an advantage: with several antennas on each end, each reflection path can carry a separate spatial stream, so a cluttered room can carry more data than an open field. The 1200 Mbit/s rate in Hands-on is consistent with two spatial streams at MCS 11 on 80 MHz rather than one fast stream.

Walls and materials​

Walls add loss on top of free space, and the loss is larger at higher frequency. Typical attenuation depends on thickness and construction: light partitions cost the least, brick and concrete far more, metal and water-filled objects (including people) the most. This page deliberately gives no per-material dB table, because published figures vary by study and building and none is authoritative. Measure the building instead (site surveys, below). The rule you can rely on: the same wall costs 5 GHz and 6 GHz signals more than 2.4 GHz.

Interference​

  • Co-channel: two networks on the same channel. Their radios hear each other and take turns, so airtime is shared. This is the benign kind.
  • Adjacent-channel: networks on overlapping channels. Their radios cannot decode each other, so each treats the other as noise and transmits over it. This is the harmful kind, and the reason 2.4 GHz planning matters.
  • Non-Wi-Fi: microwave ovens leak near 2.45 GHz, and Bluetooth and many cordless devices share 2.4 GHz.
ch 1ch 6ch 11ch 2ch 7ch 3ch 8ch 4ch 9ch 5ch 102400 MHz2440 MHz2480 MHzsolid = non-overlapping trio, dashed = overlaps
Channels 1 to 11 (US plan): each is 22 MHz wide but centres are only 5 MHz apart. Channels 1, 6 and 11, centred 25 MHz apart, are the only trio that does not overlap.

Geometry: channel n is centred at 2407 + 5n MHz (channel 1 = 2412, 6 = 2437, 11 = 2462). A 22 MHz signal needs centres at least 22 MHz apart, and 5 MHz steps give 25 MHz between 1, 6 and 11. Other regulatory domains allow up to channel 13, where 1, 5, 9 and 13 (20 MHz apart) are sometimes used with the narrower 20 MHz OFDM signals. "Use 1, 6, 11" is a US 2.4 GHz rule, not a universal one. Channel 14 (2484 MHz) is a Japan-only special case.

Hidden and exposed terminals​

The hidden terminal in the figure above defeats carrier sensing, which assumes "if I hear nothing, the medium is free". The mirror image is the exposed terminal: B sending to A makes C wait because C hears B, even though C sending to D (out of B's reach) would not disturb A. Hidden terminals cause collisions; exposed terminals waste capacity. The 802.11 answer (virtual carrier sense and the optional RTS/CTS handshake) belongs to the Wi-Fi medium-access material, not repeated here: see Wi-Fi CSMA/CA.

Why CSMA/CD does not work on radio​

Ethernet's original CSMA/CD relied on a sender noticing a collision while still sending. Radio fails that for three reasons: a transmitter is millions of times louder than the signal it would hear (it deafens itself), a collision is a property of the receiver and a hidden sender may not even be audible at the sender, and fading means silence on the sender's antenna proves nothing about the receiver's. So 802.11 uses CSMA with collision avoidance, random backoff before sending, and an ACK after every unicast frame: no ACK means assume loss and retry. Full-duplex switched Ethernet needs none of this because each cable has a private path (Link Layer Overview).

Wireless loss is common and random. If every loss reached TCP, a retransmission would cost a full round trip. Wi-Fi therefore does automatic repeat request on its own hop: the link retries a few times before giving up, so most losses are repaired in microseconds to milliseconds, invisible to the endpoints. The price is variable delay and lost airtime. Why this matters for the layer above: classic loss-based congestion control reads a drop as "the queue overflowed" and halves its window (Congestion Control), but a wireless drop is random corruption, not a full buffer, so the cut is unnecessary and throughput suffers. See Loss, Throughput and the Bandwidth-Delay Product for loss versus congestion, and the Mathis relation there for why even small loss caps a single flow. Delay-based or model-based algorithms such as BBR react less to random loss.

Textbook vs real world​

The textbook saysProduction doesWhy
Shannon gives the speed limitReal links deliver a fraction of the PHY rate, and PHY rate is below ShannonPractical codes are not ideal, and every frame pays headers, ACKs, backoff and inter-frame gaps
The label says 1.2 Gbit/sThat is the PHY rate summed over all spatial streams, shared by everyone on the channelHalf-duplex and shared: capacity is airtime, not a number on a box
A channel is a frequencyChannels overlap and neighbours share your airtimeUnlicensed spectrum has no owner, and 2.4 GHz has only three clean channels
Stations detect collisionsStations avoid collisions, then ACK to learn the outcomeA radio cannot listen while it sends
More bars means fasterSpeed follows SNR and airtime, not RSSI aloneA strong signal on a noisy or crowded channel is still slow

In production​

  • Enterprise Wi-Fi is planned with predictive and on-site site surveys (tools such as Ekahau) that measure RSSI, SNR and co-channel overlap per location, then place APs at lower power so cells overlap just enough.
  • Airtime utilisation is the capacity metric that matters on a busy channel, not Mbit/s of PHY rate: one slow client holds the medium for longer per byte and slows everyone.

History and evolution​

HISTORY
  • 1971 ALOHAnet at the University of Hawaii connects islands over a shared radio channel. Simultaneous senders collide, and the analysis leads to slotted ALOHA and the carrier-sense family (ALOHAnet).
  • 1985 The FCC opens the ISM bands (including 2.4 GHz) to spread-spectrum devices without a licence, the legal basis for unlicensed Wi-Fi (ISM band).
  • 1997 IEEE 802.11 is first published, at 1 and 2 Mbit/s in 2.4 GHz.
  • 1999 802.11b (11 Mbit/s) and the Wi-Fi Alliance arrive, making consumer Wi-Fi practical; 802.11a opens 5 GHz the same year (Wi-Fi Alliance history). Crowded 2.4 GHz is what pushes the move up.
  • 2020 The FCC opens 1,200 MHz at 6 GHz, which Wi-Fi 6E uses, so wide clean channels return (FCC announcement).
  • Now Wi-Fi 6, 6E and 7 deployed; the generations are on the 802.11 page.
  • Next Wider channels in 6 GHz, 60 GHz links (802.11ad and ay) for short range, and using the radio for sensing as well as data.

Hands-on​

macOS no longer ships the old airport -I tool in recent releases, so use system_profiler (no sudo needed) or sudo wdutil info. Real output from this machine, abbreviated, with the network name redacted:

system_profiler SPAirPortDataType
Current Network Information:
<redacted>:
PHY Mode: 802.11ax
Channel: 149 (5GHz, 80MHz)
Country Code: US
Network Type: Infrastructure
Security: WPA2 Personal
Signal / Noise: -50 dBm / -93 dBm
Transmit Rate: 1200
MCS Index: 11

Compute the SNR yourself: -50 - (-93) = 43 dB. That is a high SNR, consistent with the radio choosing MCS 11, the highest 802.11ax index. The rate 1200 Mbit/s is the PHY rate, a ceiling you cannot reach in a real transfer. The channel is 149 at 80 MHz.

On Linux (not run on this machine; output columns vary by driver):

iw dev wlan0 link # signal and tx bitrate of the current AP
iw dev wlan0 scan | grep -E 'SSID|signal|freq' # nearby networks (needs root)
nmcli dev wifi list # same, with channel and SIGNAL column

iw dev wlan0 link prints signal: in dBm; get the noise floor from iw dev wlan0 survey dump if your driver exposes it. To see the path-loss effect, record RSSI at two distances and check that doubling the distance costs roughly 6 dB in open space and more indoors.

Gotchas​

GOTCHAS5
More bars means faster Wi-Fi
5 GHz is always better than 2.4 GHz
Wi-Fi is full duplex like Ethernet
Channels 1, 6 and 11 work everywhere
Signal power falls with the square of distance, full stop

Interview questions​

INTERVIEWWhy is wireless less reliable than wired?junior
Show answer

A wire is a controlled private path: the signal stays inside and arrives close to how it left. Radio spreads through open air, so it weakens with distance, picks up noise and interference from other devices, and echoes off walls so copies arrive at different times (fading). The medium is also shared, so other senders collide with you.

Follow-ups:

  • What is SNR? Signal power divided by noise power, in dB. It sets which modulation the receiver can decode.
  • Is the loss random? Largely, which is why the link retries instead of raising an error.
INTERVIEWCompare 2.4, 5 and 6 GHz.junior
Show answer

2.4 GHz travels farthest and through walls best but has little spectrum and the most interference. 5 GHz offers many more and wider channels at shorter range. 6 GHz adds a large clean block usable only by newer devices, at the shortest range of the three. Higher frequency means more bandwidth and more path loss.

Follow-ups:

  • Why do walls hurt 5 GHz more? The free-space loss is already higher, and materials generally absorb and reflect more at shorter wavelengths.
  • How much is the free-space difference? 20 log10(5180 / 2437), about 6.5 dB between channel 36 and channel 6.
INTERVIEWWhat is the hidden terminal problem?mid
Show answer

Two stations are both in range of the access point but out of range of each other, so neither hears the other transmit. Each carrier-senses an idle channel, both send, and the frames collide at the AP. The senders cannot detect it. The fix is virtual carrier sense: the AP announces a reservation that both hear, optionally via RTS/CTS.

Follow-ups:

  • What is the exposed terminal problem? A station defers for a transmission it hears that would not actually disturb its own receiver, wasting airtime.
  • Does it happen on wired Ethernet? Not on a switched cable: each link has two ends.
INTERVIEWWhy does Wi-Fi ACK every unicast frame when Ethernet does not?mid
Show answer

Wireless frame loss is common and cannot be detected by the sender, so the link layer confirms each unicast frame and retries on silence. That hides random radio loss from TCP, which would otherwise treat each loss as congestion. Wired Ethernet corrupts frames so rarely that dropping and letting TCP recover is cheaper than an ACK per frame.

Follow-ups:

  • What does it cost? Airtime for the ACK and the retries, plus variable delay.
  • Are broadcast frames ACKed? No, so they are sent at a low rate to be more likely to arrive.
INTERVIEWWhy is Wi-Fi half-duplex, and why can it not detect collisions?mid
Show answer

A radio's own transmit power is vastly larger than the signal it would receive, so it cannot listen on the same channel while sending. That self-interference means it cannot notice a collision mid-frame. Collisions are also a receiver-side event the sender may not hear at all.

Follow-ups:

  • So what replaces detection? Collision avoidance (random backoff) plus a per-frame ACK.
  • Can full duplex be done? Research and some products cancel self-interference, but standard Wi-Fi is half-duplex.
INTERVIEWYour Wi-Fi advertises 1.2 Gbit/s but you measure far less. Why?senior
Show answer

The advertised number is the PHY rate at the best MCS across all spatial streams. Real throughput loses airtime to headers, ACKs, inter-frame spacing and backoff, drops to a lower MCS whenever SNR falls, and is shared with every other station and neighbouring network on the channel. A single slow client also consumes a lot of airtime per byte.

Follow-ups:

  • How would you measure? Run iperf3 against a wired server in both directions, record RSSI, noise and MCS at the same time, and repeat near and far from the AP.
  • What would improve it? Better SNR (placement, lower interference), a wider or cleaner channel, more spatial streams, or moving clients to 5 or 6 GHz.
INTERVIEWHow does TCP behave over lossy wireless, and what mitigates it?senior
Show answer

Loss-based TCP such as Reno or CUBIC treats a drop as congestion and shrinks its window, so random radio loss that reached it would collapse throughput. Link-layer ARQ hides most of it. What leaks through shows up as delay variance, which can trigger spurious timeouts.

Follow-ups:

  • What about BBR? It models bandwidth and round-trip time and reacts less to random loss.
  • What is HARQ? Cellular's hybrid ARQ combines retransmitted copies with earlier ones to recover faster.

Fun facts​

FACTSRadio trivia
  • Microwave ovens work near 2.45 GHz, inside the 2.4 GHz ISM band that Wi-Fi shares, so a leaky oven can disturb a nearby network.
  • Channels 1, 6 and 11 exist because 802.11b channels are 22 MHz wide on 5 MHz spacing: stepping by five channels gives 25 MHz, the smallest whole-channel step that avoids overlap.
  • Thermal noise sets a floor of -174 dBm per hertz at room temperature, which is why a 20 MHz channel cannot hear anything quieter than about -101 dBm.

Cheat sheet​

NUMBERSNumbers to remember
  • 6 dB - doubling distance or doubling frequency adds this to free-space path loss
  • 3 dB - a factor of 2 in power
  • FSPL(dB) = 20 log10(d km) + 20 log10(f MHz) + 32.44 - free-space path loss
  • C = B log2(1 + S/N) - Shannon capacity, S/N as a power ratio
  • -174 dBm/Hz + 10 log10(B) - thermal noise floor
  • 1, 6, 11 - the non-overlapping 2.4 GHz trio in the US plan
  • 1,200 MHz - the 6 GHz block the FCC opened in 2020