CodingBox Documentation

Link budget engineering

A link budget is the one calculation every fibre link is designed by and every failing link is judged against: does the light that leaves the transmitter, minus everything the plant takes, still exceed what the receiver needs — with room to spare for ageing, repairs and a dirty connector? This page gives the equation and its terms, the standard allowances for each loss, the penalties that are not losses but behave like them, a margin policy, four worked examples, and the opposite problem: too much light.

The equation

Power budget      = Tx power (min)  −  Rx sensitivity (worst)                        [dB]
Plant loss        = fibre (km × dB/km) + connector pairs + splices + passive devices   [dB]
Penalties         = dispersion + reflections + crosstalk + modal noise (spec-defined)  [dB]
Ageing / repair   = 1–3 dB reserved                                                   [dB]
Margin remaining  = Power budget − Plant loss − Penalties − Ageing  (target ≥ 3 dB)

Where the numbers come from:

TermSourceTypical (10GBASE-LR)
Tx power minmodule datasheet / IEEE clause (average power, min)−8.2 dBm
Rx sensitivity worstdatasheet at the specified BER (1e-12; pre-FEC for 25G+)−14.4 dBm
Power budgetdifference6.2 dB
Fibrelength × attenuation coefficient (design max)10 km × 0.35 = 3.5 dB (Attenuation)
Connectorscount of mated pairs × allowance4 × 0.5 = 2.0 dB (design)
Splicescount × allowance4 × 0.1 = 0.4 dB
PenaltiesIEEE budget already includes them for the standard reach; add for non-standard links0.5–1.5 dB
Ageinglaser output falls 1–2 dB over life; add for repairs1 dB

Allowances by standard

Body / documentConnector pairSpliceFibre (SMF 1310 / 1550)Fibre (MMF 850)
TIA-568.3-D0.75 dB0.3 dB0.5 / 0.5 dB/km (indoor), 0.4 outdoor3.5 dB/km
ISO/IEC 14763-30.75 (grade C) / 0.25 (grade B)0.30.4 / 0.4 (OS2)3.5
ITU-T G.652.D cable spec0.35–0.4 / 0.21–0.3
IEEE 802.3 link model2 pairs included (≈ 1.5 dB MMF, 2 × 0.5 SMF)worst-case per clauseper clause
Practical design0.50.10.35 / 0.223.0

Use the stricter of the customer's standard and the practical numbers; document which.

Penalties that are not losses

PenaltyCauseSizeWhen it matters
Dispersion (TDP)pulse spreading closes the eye1–3 dBlong SMF at 10G+, MMF near its reach (Dispersion)
Reflections / return losslight bounced back into a DFB laser destabilises it; multiple reflections interfere0.5–1 dBUPC connectors on long links; APC for PON and DWDM
Modal noisespeckle pattern changes at MMF connectors0.5–1 dBmulti-mode with lasers, offset connectors
Extinction ratiolow ER = less "1" power for the same average0.5–2 dBcheap DMLs
Crosstalkadjacent WDM channels0.5–1 dBCWDM/DWDM muxes
PolarizationPDL/PMD< 0.5 dBlong coherent links

IEEE PMD budgets already contain the penalties for the standard reach on standard fibre; add your own only for non-standard combinations.

Margin policy

Margin leftVerdict
≥ 3 dBdesign pass
1–3 dBpass with conditions: clean connectors verified, no future splitters, monitoring alerts on
0–1 dBworks on day one, fails on the first dirty connector or hot day — redesign (better fibre, fewer connectors, longer-reach module)
< 0does not link; choose an ER module, add an amplifier or shorten the path

Worked examples

1. 10GBASE-LR over 10 km SMF, 4 connector pairs, 4 splices

ItemdB
Budget (−8.2 − (−14.4))6.2
Fibre 10 × 0.35−3.5
Connectors 4 × 0.5−2.0
Splices 4 × 0.1−0.4
Margin0.3 — marginal by design allowances; with typical connectors (4 × 0.2) margin is 1.5 dB. Verdict: verify measured plant loss ≤ 3.5 dB or use 10GBASE-ER with an attenuator

2. 10GBASE-ER over 35 km SMF at 1550 nm, 6 pairs, 20 splices

ItemdB
Budget (−4.7 − (−15.8))11.1 (IEEE ER: −4.7 min Tx, −15.8 sensitivity, budget 15 with 40 km at 0.25 and penalties)
Fibre 35 × 0.22−7.7
Connectors 6 × 0.5−3.0
Splices 20 × 0.1−2.0
Margin−1.6 by allowances → with measured plant (connectors 0.2, splices 0.05) loss is 9.9 → margin 1.2 dB. Verdict: measure before committing, or use ZR (budget ~23 dB) with a 5 dB attenuator

3. 100GBASE-SR4 over 90 m OM4, 2 MPO pairs

ItemdB
Budget (−8.4 OMA min Tx − (−10.3) sensitivity OMA)1.9 (IEEE channel insertion loss allowance 1.9 dB for 100 m incl. 1.5 dB connectors)
Fibre 0.09 × 3.0−0.27
MPO 2 × 0.5−1.0
Margin0.6 — within IEEE model; the real limit is modal bandwidth, not power (Reach tables)

4. GPON class B+ over 18 km, 1:32 split, 5 pairs, 8 splices

ItemdB
Class B+ budget (min 13, max 28 dB)28
Fibre 18 × 0.35 (1310 upstream is worst)−6.3
Splitter 1:32−17.5
Connectors 5 × 0.5−2.5
Splices 8 × 0.1−0.8
Margin0.9 — tight; class C+ (32 dB) or 1:16 split recommended (ODN classes & budget)

Too much light: overload and attenuators

Receivers have a maximum input (overload, −1 … +3 dBm for PIN, lower for APD). A 40 km ER module on a 2 km link delivers −5 dBm to a receiver rated to +1 — fine; a ZR module with +4 dBm Tx on a patch cord delivers +3.5 dBm to an APD rated to −7 — errors or damage.

SituationFix
Long-reach module on a short linkfixed attenuator 5–15 dB at the receiver end, chosen so Rx sits mid-window
DWDM/EDFA output into a moduleVOA set during commissioning
PON ONU close to the OLTclass-dependent; usually within range because of the splitter
Both directionsattenuate each direction separately; attenuators are per fibre

Both ends must be checked: budgets are per direction and the two ends' modules may differ (Rx power & budget).

From design to acceptance

  1. Design with allowances → margin ≥ 3 dB.
  2. Install; measure insertion loss with LSPM at the working wavelengths (Testing).
  3. Compare measured loss with design loss; investigate any connector > 0.5 dB.
  4. Light the link; record Tx and Rx DDM at both ends — the link passport (Monitoring).
  5. Margin = Rx power − sensitivity; alert if it drops by 2 dB from the passport.

In CodingBox

Step 4 starts on the bench: read each module's Tx power and thresholds before install, and after install read the Rx values on the switch — the pair of numbers is the measured budget. CodingBox stores the module's values with its serial so the passport survives module swaps (DDM in the app, Code database).