Bit Loading
Understanding Bit Loading
In a frequency-selective channel, different subcarriers experience different attenuation and noise levels. Using the same modulation for all subcarriers wastes capacity on strong subcarriers (could carry more bits) and creates errors on weak ones (need fewer bits). Bit loading optimally distributes bits across subcarriers to maximize the total data rate for a given total transmit power and target BER.
The water-filling theorem shows the optimal continuous allocation: allocate power proportional to (threshold − noise) for each subcarrier. In practice, bit loading is discrete (integer bits per symbol) and uses algorithms like Levin-Campello or Hughes-Hartogs to iteratively assign bits to the subcarrier where the next bit costs the least power.
C = ∑k=1N log2(1 + SNRk·Pk/Ptotal)
Water-filling power allocation:
Pk = max(0, μ − N0/|Hk|2)
μ chosen so ∑Pk = Ptotal
Bit Loading in Standards
| Standard | Subcarriers | Bit Loading | Max Bits/SC |
|---|---|---|---|
| ADSL2+ | 512 | Per-tone | 15 |
| VDSL2 | 4,096 | Per-tone | 15 |
| G.hn (PLC) | 2,048 | Per-tone | 12 |
| Wi-Fi 6 | Per RU | Per-RU MCS | 10 (1024-QAM) |
| 5G NR | Per RBG | Single MCS | 8 (256-QAM) |
Frequently Asked Questions
What is water-filling?
The optimal power/bit allocation: more power to high-SNR subcarriers, less to weak ones. Total capacity = ∑log2(1+SNRk·Pk). Discrete bit loading approximates this with integer modulation orders.
Where is bit loading used?
DSL (per-tone DMT), Wi-Fi 6/7 (per-RU MCS), powerline (G.hn). 5G NR uses single MCS per RBG, not per-subcarrier loading.
Rate vs margin adaptive?
Rate-adaptive maximizes throughput for a given power. Margin-adaptive maximizes noise margin for a target rate. DSL uses margin-adaptive at init, rate-adaptive during operation.