Module 9 ยท Lesson 4

Link Budget Analysis

18 min read
Article

Nothing in this lesson is new. That is the point of it. A link budget is the one calculation that consumes every quantity Modules 5 through 9 have built — the decibel arithmetic of M2-L4, the required SNR per modulation of M5-L2 and M6-L4, the antenna gain of M7-L2, the path loss of M8-L1 and M8-L4, the fading statistics of M8-L3, the noise floor and sensitivity of M9-L1, the interference of M9-L3 — and reduces them to a single column of numbers that either adds up or does not. If you can build one honestly you can answer the only question a radio project ever really asks: will this link work, and how far?

The Budget Is One Line of Addition

Every term in a link budget is a decibel quantity, so the whole calculation is addition and subtraction. That is not a convenience; it is the reason M2-L4 taught logarithms at all, and that lesson already worked a five-term budget ending at −73 dBm. Here is the same line, written properly:

Received Power, in dBm
P_{rx} = P_{tx} + G_{tx} - L_{tx} - PL - L_{misc} + G_{rx} \quad [\text{dBm}]
Gains enter with a plus, losses with a minus, and exactly one term carries a reference letter — the dBm of transmit power — so the answer is in dBm. That is the sanity check M2-L4 recommended, and it catches most sign errors before they propagate. The quantity Ptx + Gtx − Ltx is the EIRP of M8-L1: everything the rest of the link ever sees about the transmitter.

Received power on its own decides nothing. It has to be compared with the weakest signal the receiver can actually use, which M9-L1 named the sensitivity. The difference between the two is the link margin, and it is the number the whole exercise exists to produce:

Link Margin, and the Condition for a Working Link
M_{link} = P_{rx} - S \;\ge\; M_{fade} + M_{shadow} + M_{interf} + M_{impl}
A margin of exactly 0 dB means the link works on average and fails half the time, because half of every random variation is downward. The required margin on the right-hand side is therefore not padding, and not one number: it is a deliberate sum of allowances for the specific things that are known to vary. Getting that sum right is where budgets are won and lost.

Every Term, and Where It Comes From

A budget with a term missing is not conservative; it is wrong in a direction you cannot see. So enumerate the transmit side completely, with realistic values and the lesson each figure comes from. Nothing here is new information — the whole table is a re-reading of Modules 7 and 8 in one column.

TermSignRealistic valueSource and remarks
Transmit power Ptx+20 dBm WiFi AP, 23 dBm handset, 46 dBm macro base stationThe only absolute term. 20 dBm is 100 mW, 23 dBm is 200 mW, 46 dBm is 40 W (M2-L4)
Feeder and connector loss Ltx−0.2–0.5 dB for a short pigtail; 2–4 dB up a mastCoaxial loss grows with frequency and length. On receive this loss also raises noise figure, which is the classic double-count — see below
Antenna gain Gtx, Grx+0 dBi handset whip, 2 dBi WiFi dipole, 17 dBi sector panel, 38 dBi 1 m dish at 10 GHzM7-L2. Check the reference: dBi = dBd + 2.15. Arrays buy gain by aperture, not by power (M7-L4)
Polarisation mismatch−3 dB linear-to-circular; 20–30 dB fully cross-polarisedM7-L2. GPS and satellite links pay the predictable 3 dB rather than risk the unpredictable 20
Body loss−2–4 dB, take 3 dB for a handset at the headTissue absorbs and detunes. Absent from fixed links, unavoidable in cellular
Path loss PL−80 dB, 100 dB, 150 dB, 205 dB — it spans everythingFree space from M8-L1, log-distance or Hata from M8-L4. Almost always the largest single term
Implementation loss−1–3 dBPhase noise, quantisation, imperfect synchronisation — the gap between a real demodulator and the theory of M5-L2

The receive side is a single number built from four

Everything the receiver contributes collapses into the sensitivity, and M9-L1 already derived it. Four decibel terms, added:

Sensitivity, from M9-L1
S_{\text{dBm}} = -174 + 10\log_{10} B_{\text{Hz}} + \mathrm{NF}_{\text{dB}} + \mathrm{SNR}_{\text{req,dB}}
−174 dBm/Hz is kT₀ at the 290 K reference — physics, and not negotiable. 10 log₁₀B is your channel choice, and it is a two-sided RF bandwidth (M6-L2). NF is your front end, dominated by the first stage through the Friis cascade. SNRreq belongs to the modulation, the code and the target error rate — M5-L2, M6-L4 and M9-L2.

Margins Are Not One Number

This is where budgets go wrong. A spreadsheet with one row labelled “margin: 20 dB” hides which risk it is covering, so it cannot be argued with, checked, or reduced when a measurement campaign earns the right to reduce it. There are four distinct allowances, they answer to four different physical mechanisms, and they should appear as four rows:

Adding margins versus root-sum-square

Margins are sometimes combined by root-sum-square rather than added, and the choice can be worth five decibels — so it needs a rule rather than a preference. The rule follows from what the terms are. Two independent quantities that are both Gaussian in decibels have a sum that is also Gaussian in decibels, with a standard deviation given by the Pythagorean combination, so a single percentile of the combined variable is smaller than the sum of the individual percentiles:

Combining Two Log-Normal Margins
\sigma_{tot} = \sqrt{\sigma_1^2 + \sigma_2^2} \quad\Longrightarrow\quad M = z\,\sigma_{tot} \;\le\; z\sigma_1 + z\sigma_2
Worked: outdoor shadowing at σ₁ = 8 dB combined with building-penetration variability at σ₂ = 6 dB gives √(64 + 36) = 10 dB, so a 90% margin is 1.28 × 10 = 12.8 dB — against 1.28 × 8 + 1.28 × 6 = 17.9 dB if you add the two margins. Root-sum-square saves 5.1 dB, and it is legitimate here because both terms are independent and log-normal.

Add, rather than combine, in three cases. When the terms are not both Gaussian-in-dB — fast Rayleigh fading is not, so a Rayleigh fade margin and a log-normal shadowing margin are properly added, not root-sum-squared. When they are correlated, because the Pythagorean form assumes independence and correlation pushes the answer back towards the plain sum. And when a term is deterministic rather than statistical: an implementation or ageing allowance is not a percentile of anything, so it simply adds. The honest summary is that root-sum-square is a specific tool for combining independent log-normal variabilities, not a general discount on caution.

Worked Example: A 2.4 GHz WiFi Link

An office access point at 2.4 GHz on a 20 MHz channel, talking to a handheld client that wants 64-QAM. Start with the sensitivity, using M9-L1’s formula and a client noise figure of 6 dB, and the 20 dB of SNR that M9-L1 attributed to 64-QAM at rate 3/4:

Now the full budget. Every term from the table above that applies, in one column:

LineValueRunning totalNote
AP transmit power+20.0 dBm20.0100 mW, a typical 2.4 GHz AP per chain
Connector and pigtail loss−0.5 dB19.5Short internal cable
AP antenna gain+2.0 dBi21.5EIRP = 21.5 dBm (M8-L1)
Path loss−PL21.5 − PLThe unknown we are solving for
Client antenna gain+2.0 dBi23.5 − PLSmall dipole, M7-L2
Body loss−3.0 dB20.5 − PLHand-held device
Implementation loss−2.0 dB18.5 − PLReal demodulator versus theory
Received power—18.5 − PL dBmExactly one reference letter survives ✓
Fade margin8.0 dB—OFDM spreads a symbol across 20 MHz, far wider than the coherence bandwidth of an office, so this link earns frequency diversity and does not need the 20 dB a flat-faded Rayleigh link would (M8-L3)
Shadowing margin5.1 dB—1.28 × 4 dB, indoor σ at 90% reliability (M8-L4)
Interference margin3.0 dB—2.4 GHz is shared with everything (M9-L3)
Total required margin16.1 dB—8.0 + 5.1 + 3.0, added because they are not all log-normal

Solve it. The link works when received power exceeds sensitivity by the required margin, so 18.5 − PL ≥ −75.0 + 16.1 = −58.9 dBm, which gives an allowed path loss of 18.5 + 58.9 = 77.4 dB. Turn that into a distance with M8-L4’s log-distance model, anchored at PL(1 m) = 40.05 dB for 2.4 GHz and using n = 3.0 for an office floor:

Seventeen metres. That is the honest 64-QAM range of a 2.4 GHz access point in an office with these margins, and it is much less than the range people quote for WiFi — because the quoted range is the range of the slowest modulation, not the fastest. Redo the last three lines with the lowest rate instead, which needs about 5 dB of SNR rather than 20: sensitivity becomes −174 + 73.01 + 6 + 5 = −90.0 dBm, allowed path loss becomes 18.5 + 90.0 − 16.1 = 92.4 dB, and the range becomes 10(92.4−40.05)/30 = 101.745 = 55.6 m. Fifteen decibels of relaxed SNR bought a factor of 1015/30 = 3.16 in distance, and 55.6/17.6 = 3.16 ✓. One access point, one physical environment, two ranges differing by more than three times, and the only thing that changed was how many bits per symbol you asked for.

The small losses are not small. Drop the 0.5 dB connector, the 3 dB body loss and the 2 dB implementation loss — the three lines a hurried budget omits — and the allowed path loss rises from 77.4 dB to 20 + 2 + 2 + 75.0 − 16.1 = 82.9 dB, giving a range of 10(82.9−40.05)/30 = 26.8 m. Those 5.5 forgotten decibels are 105.5/30 = 1.53 in distance, so the tidy budget predicts 52% more range than the honest one. At n = 3 a decibel is worth 7.7% of your range; the same 5.5 dB under free-space spreading, n = 2, would be worth 1.9 times.

Worked Example: A 900 MHz Cellular Cell, and Why the Uplink Loses

Now the case where the budget has to be done twice, because a cellular link is not symmetric. Take a 900 MHz macrocell with a 30 m mast, a 17 dBi sector panel, 2 dB of feeder, and a handset on the other end. The base station transmits at 46 dBm and the handset at 23 dBm — a 23 dB advantage to the downlink — and the base station also has a better antenna and a better noise figure. The interesting question is whether those advantages cancel. They do not, and the direction of the answer decides how many base stations a city needs. Both budgets below use a 1.08 MHz allocation, so 10 log₁₀(1.08 × 10⁶) = 60.33 dB, and a required SNR of 0 dB for QPSK with rate-1/3 coding.

The uplink: handset to base station

The downlink: base station to handset

There is the asymmetry, and it is large: 141.5 − 123.5 = 18.0 dB. And it reconciles exactly, which is the check that the two budgets were built consistently. The downlink starts 46 − 23 = 23 dB ahead on transmit power. The base station’s superior noise figure gives 5 dB of that back to the uplink, since its sensitivity is −111.7 dBm against the handset’s −106.7 dBm. Every other line — the 17 dBi panel, the 2 dB feeder, the 3 dB body loss, all three margins — appears identically in both directions and therefore cancels. So 23 − 5 = 18 dB ✓, and the uplink is the binding constraint even though the base station is better at everything except output power. A handset runs on a battery; a base station runs on the grid, and no amount of tower engineering repeals that.

Turn both into a cell radius with M8-L4’s Hata fit at 900 MHz, hb = 30 m, hm = 1.5 m. That lesson computed 151.0 dB at 5 km with a distance slope of 44.9 − 6.55 log₁₀(30) = 35.22 dB per decade, so the model rearranges to PL(d) = 126.4 + 35.22 log₁₀(dkm). Check that against the source: 126.4 + 35.22 × log₁₀(5) = 126.4 + 24.62 = 151.0 dB ✓.

That last bullet is not pedantry. A model that is asked a question outside its range does not fail loudly; it returns a confident number, exactly as M8-L4 warned. And the 10.5× area ratio is the most useful single insight in this lesson: it is why cellular systems have uplink power control, why they hand narrow allocations to distant users, and why the coverage figure a network commits to is always an uplink figure.

Plausibility check on that sensitivity. −111.7 dBm looks aggressive until you notice it is for 1.08 MHz. Sensitivity scales with the bandwidth term, so widen the same radio to a 9 MHz occupied allocation and it degrades by 10 log₁₀(9/1.08) = 9.2 dB, to −102.5 dBm — the order of figure quoted for wide-area base stations. Both numbers describe the same hardware. This is why a sensitivity without a bandwidth cannot be compared with anything, and why a narrow uplink allocation is a real tool for extending cell edge: fewer hertz means less noise.

Reading and Building the Spreadsheet

A link budget in practice is a two-column sheet: a name and a signed decibel value, with a running total beside it and a source note for every row. Three conventions and three checks make the difference between a sheet that can be defended and a sheet that merely sums.

One habit is worth more than all of these. Do the budget twice, once forwards to find the received power at a stated distance, and once backwards to find the distance at a stated margin. If the two disagree you have a sign error, and you will find it in about a minute.

What Modules 5 to 9 Built

This lesson closes an arc of twenty lessons, and it is worth naming what they add up to, because the link budget is precisely the place where they meet. Read the WiFi table again and notice that every row is somebody else’s lesson:

And notice what the budget cannot do. Every calculation on this page describes one link, alone in its band, using the whole channel. Real systems put many users in the same spectrum at once, split the channel into thousands of narrow subcarriers, and use several antennas at both ends to send parallel streams through the same multipath that this lesson treated purely as a hazard. Those three ideas — multiple access, OFDM and MIMO — are Module 10 and beyond, and each of them changes the budget rather than replacing it: it acquires new rows, and the fading that cost you 8 dB here becomes something a system can exploit.

Key Takeaways

Module 9 is complete — and so is the arc. Thermal noise and SNR (M9-L1), bit error rate (M9-L2), sources of interference (M9-L3) and this link budget close the module, and with it Modules 5 through 9. Next, Module 10 asks how many users share one channel at once — by frequency, by time, by code, and by space.

Previous: Sources of Interference Overview Next: FDMA, TDMA, CDMA