Module 12 ยท Lesson 1

Putting It All Together — One End-to-End System

24 min read
Article

Forty-three lessons have each handed you one piece. Modulation was a lesson, path loss was a lesson, noise was a lesson, OFDM was a lesson, and every one of them was worked with its own numbers, chosen to make that lesson’s point cleanly. What has never happened is the thing a working engineer actually does: take one system, fix one set of parameters, and carry them through every block from a bit at the source to a bit at the sink — so that the modulation you chose on the fourth line is the reason the cell is 336 metres and not 892, and the interference margin you then had to concede is the reason you need three times as many base stations.

This lesson introduces no new physics. Its whole job is assembly, and there is exactly one worked link in it. Every number below is either recomputed from the parameters at the top or carried in from a named lesson, and where a figure disagrees with the lesson it came from, that disagreement is stated rather than smoothed over. If you can follow one link end to end, you can build the spreadsheet that decides whether a network gets built — and, more usefully, you can tell which line in someone else’s spreadsheet is doing the lying.

The Chain, in Both Directions

Start with the shape of the thing. A radio link is a pipeline, and the receiver is the pipeline run backwards. Every block costs something — bandwidth, power, latency, decibels, money — and buys something else, and the table below names the lesson that priced each trade. Read the two halves as mirror images: every operation on the left is undone by the one facing it on the right.

Transmit blockTaught inWhat it costsWhat it buys
Source, and digitising itM5-L1Sampling and quantising a waveform turns one analogue signal into a much higher raw bit rateEverything downstream: error correction, encryption, multiplexing and regeneration only exist for numbers
Source coding (compression)Not taught in this courseComplexity and delay at both endsFewer bits to carry, which is the cheapest decibel in the whole chain. Named here for completeness — M5-L1 lists compression as a consequence of going digital but does not develop it
Channel codingM6-L4, M9-L2Bandwidth or rate: a rate-Rc code sends 1/Rc channel bits per information bit, plus decoding delayCoding gain — 5 to 8 dB for classical codes, 10 to 11 dB for turbo and LDPC, measured at a stated BER (M9-L2)
Bit-to-symbol mappingM5-L2, M5-L3, M5-L4Required SNR: each extra pair of bits per symbol costs about 6 dB (M6-L4)log₂M bits per symbol, so spectral efficiency (M6-L3)
Pulse shaping / OFDM modulationM6-L2, M10-L2Excess bandwidth α for a single carrier; the cyclic prefix and PAPR for OFDMZero ISI at the symbol instants, and for OFDM a channel that is one complex number per subcarrier
Upconversion to RFM3-L1An oscillator whose phase noise and frequency error become an SNR floor (M10-L2’s ICI)A baseband signal moved to a band where an antenna is a sensible size (M3-L1, M7-L2)
Power amplifierM5-L4, M10-L2Efficiency: a signal with 8–12 dB of PAPR needs the amplifier backed off by that muchTransmit power — the first and only absolute term in the link budget (M9-L4)
AntennaM7-L1, M7-L2, M7-L4Aperture, which is physical size; and gain in one direction is loss in every otherDirective gain in dBi, and with an array, a steerable beam (M7-L4)

Between the two antennas sits the part nobody designed. The channel contributes four impairments, and it is worth noticing that they fail in four different ways, which is why they are priced with four different tools:

Receive blockTaught inWhat it costsWhat it buys
Antenna, then LNAM7-L2, M9-L1Every decibel of noise figure is a decibel of range given away. The Friis cascade makes the first stage dominant, which is why the LNA sits at the antennaThe whole receive chain collapses into one number, NF
DownconversionM3-L1, M10-L2Local-oscillator error becomes inter-carrier interference that power cannot removeRF back to baseband, where the sampling happens
Matched filter / FFTM6-L2, M10-L2Timing and frequency synchronisation, and for OFDM an FFT every symbolThe best achievable SNR in Gaussian noise (M6-L2’s root-raised-cosine pair), and per-subcarrier flat channels
Equaliser / channel estimationM10-L2, M10-L3Pilot and reference symbols, which are payload you do not sendOne complex division per subcarrier instead of an adaptive tapped-delay-line equaliser
DemodulationM5-L3, M9-L2The required SNR the whole budget is measured against — the one term the receiver cannot negotiateBit decisions, and with them the error rate M9-L2 turned into a curve
Channel decodingM9-L2Latency, and silicon areaThe coding gain the transmitter paid bandwidth for — collected here, and nowhere else
Source decoding, and the sinkM5-L1—The bit that was put in at the top. If it is the same bit, the link worked

Two blocks in that list are not radio at all, and one is missing entirely. Source coding and source decoding belong to information theory and are not developed anywhere in WRL 101 — M5-L1 mentions compression as a benefit of going digital and stops there. They are in the diagram because a chain drawn without them invites the belief that the radio decides the data rate, when in practice the codec usually does. Be equally suspicious of the other absence: nothing in the chain above is labelled “protocol”, and yet retransmission, scheduling and headers routinely cost more of the delivered rate than any single decibel below.

One System, One Parameter Set

Now fix the parameters and never change them again except deliberately. The link is a 5G NR mid-band downlink: an urban macro site at 3.5 GHz, in the n78 band M10-L4 and M11-L3 both identify as TDD almost everywhere, serving a hand-held device. Every value below is either a figure a named lesson already used, or a standards number stated as such.

ParameterValueWhere it comes from
Carrier frequency3.5 GHzBand n78, 3300–3800 MHz (M10-L4, M11-L3)
Channel bandwidth100 MHz, TDDM9-L1 works the 100 MHz noise floor; M10-L2 lists the 100 MHz / 4096-point / 30 kHz row
Subcarrier spacing30 kHz, normal cyclic prefix 2.34 µsM10-L2, verified below
Base-station power46 dBm (40 W) per carrierM9-L4’s macro figure
Feeder and connector loss2.0 dBM9-L4
Panel antenna gain17 dBi sector panelM9-L4’s cellular example; M7-L2 for what dBi means
Handset antenna gain0 dBiM9-L4; M7-L2 for what dBi means
Body loss3.0 dBM9-L4
Implementation loss2.0 dBM9-L4
Handset noise figure7.0 dBM9-L4’s downlink budget
Modulation and code rate64-QAM, Rc = 3/4M5-L4, M6-L3
Spatial layers2 (a 2×2 link to a two-antenna handset)M10-L3: min(Nt, Nr) = 2
Path-loss exponentn = 3.5, anchored at d₀ = 100 mM8-L4: urban macro n = 2.7–3.5, outdoor anchor at 100 m or 1 km
Marginsfade 8.0, shadowing 10.2, interference 3.0 dBM8-L3, M8-L4, M9-L3, all as priced in M9-L4

Step 1 — the noise floor, which is not negotiable

Everything the receiver contributes collapses into one number, and M9-L1 built it from −174 dBm/Hz at 290 K. The bandwidth term for 100 MHz is 10 log₁₀(10⁸) = 80.00 dB exactly, so the thermal floor is −174 + 80 = −94.0 dBm — and that is the figure M9-L1 states for a 100 MHz 5G channel, so this is a check rather than a new calculation. Add the handset’s 7 dB noise figure and the effective floor is −87.0 dBm.

Step 2 — the required SNR, derived rather than asserted

This is the term most budgets fudge, so build it from M6-L4 and M9-L2 instead. Uncoded 64-QAM needs Eb/N₀ = 18.8 dB at BER 10−6 (M6-L4’s table, quoted again in M9-L2). A rate-3/4 LDPC code returns coding gain that M6-L4 puts at 5 to 8 dB and M9-L2 puts at 10 to 11 dB — the two lessons disagree, and this capstone will not paper over it. Take 5.3 dB, below the bottom of both ranges, so that every figure that follows is a floor rather than a forecast; the section “What this model cannot tell you” walks what a more generous number does to the answer. Then convert energy per bit into a power ratio using M9-L1’s relation SNR = Eb/N₀ + 10 log₁₀η, where η is the on-subcarrier spectral efficiency, log₂64 × 3/4 = 6 × 0.75 = 4.5 b/s/Hz:

Required SNR, from Modulation, Code and Efficiency
\mathrm{SNR}_{req} = \frac{E_b}{N_0}\bigg|_{unc} - G_c + 10\log_{10}\eta_{sub} = 18.8 - 5.3 + 6.53 = 20.0\ \text{dB}
10 log₁₀(4.5) = 6.53 dB, so the sum is 18.8 − 5.3 + 6.53 = 20.03 dB, which rounds to 20.0 dB. That number is worth pausing on: M9-L4 used 20 dB of required SNR for 64-QAM at rate 3/4 and attributed it to M9-L1, and here it has been rebuilt from the uncoded Eb/N₀ and a stated coding gain. Two routes, the same figure ✓ — and now the 20 dB has a coding-gain assumption attached to it that can be argued with.

Step 3 — sensitivity

Sensitivity, from M9-L1
S_{\text{dBm}} = -174 + 10\log_{10}B + \mathrm{NF} + \mathrm{SNR}_{req} = -174 + 80 + 7 + 20.0 = -67.0\ \text{dBm}
Four terms, exactly as M9-L1 assembled them: physics, your bandwidth choice, your front end, your modulation. −67.0 dBm looks poor next to the −100 dBm figures quoted for narrowband radios, and it should — 80 dB of that is the bandwidth term. A sensitivity without a bandwidth beside it is meaningless (M9-L1, M9-L4), and this is the clearest possible illustration: the same silicon in a 200 kHz channel would read 10 log₁₀(10⁸/2×10⁵) = 27.0 dB better.

Step 4 — the transmit side, down to received power

EIRP first, because it is everything the rest of the link ever learns about the transmitter (M8-L1): 46.0 − 2.0 + 17.0 = 61.0 dBm. That is exactly the EIRP M9-L4 computed for its 900 MHz downlink, from the same three lines — a coincidence of shared assumptions rather than a derivation, but a useful anchor. Then the receive-end losses:

Step 5 — margins, and the distance that falls out

Three margins, three mechanisms, added rather than root-sum-squared because they are not all Gaussian in decibels (M9-L4’s rule): 8.0 dB of fade margin, which is the figure M9-L4 justified for an OFDM link whose symbol spans far more than the coherence bandwidth (M8-L3) — conservative here, since two receive antennas add diversity on top; 10.2 dB of shadowing, being 1.28 × 8 dB for 90% cell-edge reliability at the urban σ of M8-L4; and 3.0 dB of interference margin, the rise-over-thermal of M9-L3. Total 21.2 dB. The link closes when

56.0 − PL ≥ −67.0 + 21.2 = −45.8 dBm, so the allowed path loss is 56.0 + 45.8 = 101.8 dB.

Turn that into a distance. Hata is out of the question here — M8-L4 states its validity ends at 1500 MHz, and 3.5 GHz is more than twice that — so use the log-distance model with an outdoor anchor. M11-L3 computes free-space loss at 3.5 GHz over 100 m as 83.3 dB; recomputing from M8-L1’s form, 92.45 + 20 log₁₀(0.1) + 20 log₁₀(3.5) = 92.45 − 20 + 10.88 = 83.33 dB ✓.

Served Radius at the Top Modulation
d = d_0 \cdot 10^{\frac{PL_{max} - PL(d_0)}{10n}} = 100 \cdot 10^{\frac{101.8 - 83.33}{35}} = 336\ \text{m}
(101.8 − 83.33)/35 = 18.47/35 = 0.5277, and 100.5277 = 3.371, so d = 337 m — or 336 m if you carry the unrounded allowed path loss of 101.768 dB rather than the 101.8 printed above. The widget carries the unrounded chain, so it shows 336. Check it backwards: 83.33 + 35 × log₁₀(3.371) = 83.33 + 18.47 = 101.8 dB ✓. Three hundred and thirty-six metres is the honest 64-QAM radius of a 40 W macro site — and it is why dense urban 5G sites sit a few hundred metres apart rather than kilometres.

Redo the last three lines at the bottom of the modulation ladder and the same site covers a different city. QPSK at rate 1/2 has η = 2 × 0.5 = 1.0 b/s/Hz, so 10 log₁₀(1.0) = 0, and M6-L4 gives 10.5 dB of uncoded Eb/N₀ for QPSK at BER 10−6. With the same 5.3 dB of coding gain, SNRreq = 10.5 − 5.3 + 0 = 5.2 dB:

One site, one physical environment, one set of margins, and two radii differing by a factor of 2.65 — and the only thing that changed was how many bits you asked each symbol to carry. Coverage is not a property of a base station. It is a property of a base station and a data rate, quoted together.

From Hertz to Delivered Bits

The budget above says the link closes at 336 m. It says nothing about how fast, and the gap between “100 MHz” and “delivered megabits” is where most datasheet claims are manufactured. Build it the honest way, one factor at a time, using M10-L2’s numerology.

Step 6 — how many resource elements a second

Step 7 — bits

Delivered Bit Rate, Assembled from Six Factors
R_b = L \cdot N_{sc} \cdot R_{sym} \cdot U \cdot \log_2 M \cdot R_c
L layers (M10-L3), Nsc subcarriers, Rsym symbols per second, U the useful fraction, log₂M bits per symbol (M5-L4) and Rc the code rate (M6-L3). Numerically: 91.73×10⁶ × 0.86 = 78.89 × 10⁶ data RE/s, each carrying 6 × 3/4 = 4.5 information bits, giving 355.0 Mbit/s per layer and 710 Mbit/s on two layers.

Now the spectral efficiency, which is M6-L3’s definition applied to the number that was actually delivered rather than the one on the subcarrier: η = 710×10⁶/100×10⁶ = 7.10 b/s/Hz. On the subcarrier it was 4.5 per layer, so 9.0 for two layers; the ratio 7.10/9.0 = 0.789 is the useful fraction, arriving a second time by a different route ✓. And check it against a published figure: M6-L3’s table gives LTE 2×2 MIMO a peak of about 7.5 b/s/Hz, reached the same way — 64-QAM times two spatial streams. 7.10 against 7.5 is agreement to 5%, and the residue is coding: at rate 5/6 instead of 3/4 the same chain gives 6 × 5/6 × 2 × 0.789 = 7.89 b/s/Hz, so M6-L3’s 7.5 sits between this lesson’s two code rates. Nothing is inconsistent, and the comparison only works because both figures were stated with their assumptions.

The 710 Mbit/s is a downlink instant, not a downlink hour. This is a TDD carrier, so the two directions share the same 100 MHz in time. M10-L4 works its examples at a 75% downlink share (and prices the alternative at 10 log₁₀(0.75) = −1.25 dB of average power), which on a 3:1 pattern makes the sustained downlink rate 710 × 0.75 = 532 Mbit/s, and the sustained η 5.32 b/s/Hz. Note carefully that the budget does not pay this 25% — 46 dBm is the power during a downlink slot, so the range stays 336 m. TDD charges rate, not decibels. The guard period costs nothing at this cell size either: 336 m is a 672 m round trip, which at M10-L4’s 300 m per microsecond is 2.24 µs, against a single 30 kHz symbol of 35.67 µs available as guard — sixteen times more than needed.

Where the Budget Actually Went

Here is the whole link as one column of decibels. Read it top to bottom and notice that the last line is not an approximation: the SNR left over at the cell edge equals the SNR the modulation required, exactly, because the distance was solved to make it so. A ledger that closes to the decimal is a ledger you can hand to someone else.

LineValueRunning totalSource
Power amplifier output+46.0 dBm46.0 dBm40 W macro (M9-L4)
Feeder and connector loss−2.0 dB44.0M9-L4
Panel antenna gain+17.0 dBi61.0 dBm = EIRPM9-L4; M7-L2, M8-L1 for the concept
Path loss at 336 m, n = 3.5−101.8 dB−40.8M8-L4 log-distance, anchored on M11-L3’s 83.3 dB
Handset antenna gain+0.0 dBi−40.8M9-L4; M7-L2 for the concept
Body loss−3.0 dB−43.8M9-L4
Implementation loss−2.0 dB−45.8 dBm = PₕₓM9-L4 — the gap between a real demodulator and M5-L2’s theory
Thermal noise in 100 MHz−94.0 dBm—−174 + 80 (M9-L1)
Noise figure+7.0 dB−87.0 dBm floorM9-L1 Friis cascade, M9-L4’s handset value
SNR available—−45.8 − (−87.0) = 41.2 dBThe whole point of the seven lines above
Fade margin reserved−8.0 dB33.2M8-L3 Rayleigh tail, relaxed by OFDM frequency diversity (M10-L2)
Shadowing margin reserved−10.2 dB23.01.28 × 8 dB at 90% cell edge (M8-L4)
Interference margin reserved−3.0 dB20.03 dB rise over thermal (M9-L3)
SNR at the 90% cell edge—20.0 dB—
SNR required by 64-QAM r = 3/4—20.0 dB18.8 − 5.3 + 6.53 (M6-L4, M9-L2, M9-L1)
Link margin—0.0 dB ✓Zero by construction — 336 m is the radius where it hits zero

Read the ledger for what it costs rather than what it totals. The receiver was handed 41.2 dB of SNR and gave 21.2 dB of it back to statistics before the demodulator saw a symbol — more than half of it, spent on things that have not happened yet and might not. That is not waste; it is the price of promising 90% reliability instead of 50%. But it is the largest single expenditure on the sheet, larger than the antenna gain, larger than the coding gain, and it is the one that never appears in a marketing figure.

The gap to Shannon, decomposed

One last check, and it is the one that ties Module 6 to everything after it. At 20.0 dB of SNR, M6-L3 gives the Shannon ceiling as log₂(1 + 100) = 6.658 b/s/Hz per spatial channel, and M10-L3 says two channels obey it separately, so the ceiling for this link is 2 × 100 MHz × 6.658 = 1331.6 Mbit/s. We delivered 710. The whole shortfall is 10 log₁₀(1331.6/710) = 2.73 dB, and it decomposes into exactly two named parts:

Two Reasons, and Nothing Else
10\log_{10}\!\frac{C}{R_b} = \underbrace{10\log_{10}\frac{6.658}{4.5}}_{1.70} + \underbrace{10\log_{10}\frac{1}{0.789}}_{1.03} = 2.73\ \text{dB}
1.70 dB is the implementation gap M6-L3 named — 64-QAM at rate 3/4 delivers 4.5 of the 6.658 b/s/Hz that SNR permits, because a real constellation with a real code does not reach the bound. 1.03 dB is the overhead. They sum to 2.73 dB, and 10 log₁₀(1331.6/710.0) = 2.73 dB ✓. The difference between the textbook number and the delivered number is fully accounted for, line by line, with nothing left over. That is what a capstone is for.

The Design Loop: Change One Thing, Move Three

Everything so far has been one pass through the chain. What makes system design a discipline rather than a calculation is that the parameters are coupled, so a single change propagates until it comes back and changes the thing you were trying to improve. Close one loop completely, with the same parameter set, and the shape of the problem becomes visible.

The request is ordinary: go from 64-QAM to 256-QAM and give me a third more throughput. Follow it round.

That is the loop, and it does not terminate on its own. Every densification step raises interference, which shrinks cells, which forces more densification. What breaks the loop is not more power — raising everyone’s transmit power raises the interference by the same amount and changes nothing (M9-L3’s central point). What breaks it is spatial discrimination: narrow beams that put energy on one user and a null on the neighbouring cell, which is M7-L4’s array and M10-L3’s massive MIMO, and it is the single strongest reason 5G invested in antennas rather than in bandwidth. The interference term is the only one in this whole lesson that depends on decisions other people made, and that is exactly what makes it the hard one.

What This Model Cannot Tell You

A worked example this tidy invites more confidence than it has earned, so end with the boundaries. Every one of these is a limitation the source lessons stated, and repeating them is not modesty — it is the difference between a model and a claim.

What the Course Built

Look back at the ledger one more time and count the lessons in it. Nine modules and seventeen lessons turned up in a single column of sixteen numbers: the decibels of M2-L4, the reason for a carrier from M3-L1, the constellation of M5-L4, the required SNR of M6-L4, the efficiency definition of M6-L3, the antenna gain of M7-L2, the path loss of M8-L1 and M8-L4, the fading statistics of M8-L3, the noise floor of M9-L1, the error rate of M9-L2, the interference of M9-L3, the budget discipline of M9-L4, the numerology of M10-L2, the layers of M10-L3, the duplexing of M10-L4, and the band plan of M11-L3. None of them was optional. Delete any one row and the answer changes by a factor you would notice in a coverage map.

And there is a second, quieter thing the course built, which is a habit rather than a formula: every number arrives with a bandwidth, a reference, an assumption and a validity range attached, or it does not arrive. A sensitivity without a bandwidth is a mood (M9-L4). A range claim without a path-loss exponent is a best case (M11-L4). A model quoted outside its validity range returns a confident, meaningless figure (M8-L4). A spectral efficiency without an overhead assumption cannot be compared with anything (M6-L3). Those four sentences are, in the end, most of what separates an engineer from a spreadsheet.

Key Takeaways

Previous: Bluetooth, Zigbee and LoRa Overview Next: Emerging Topics