Spatial Multiplexing

Spatial Multiplexing transmits multiple independent data streams simultaneously over the same time-frequency resource by exploiting the spatial dimension of a MIMO channel. Covers MIMO fundamentals, SVD, SU/MU-MIMO, precoding, CSI feedback with Type I/Type II codebooks and subband/wideband reporting — from LTE through 5G NR Massive MIMO to the 6G frontier.

Companion Podcast Beamforming Page →

#1The MIMO Promise — Why Spatial Multiplexing

MIMO capacity scales linearly with min(N_Tx, N_Rx) — same bandwidth, same power, just more antennas:

Drag sliders to see how MIMO capacity scales with antenna count, SNR, and bandwidth

MIMO Capacity Formula

C = min(NTx, NRx) × B × log2(1 + SNR)

No extra spectrum. No extra power. Spatial multiplexing gain multiplies throughput by the number of independent spatial streams.


#2MIMO Channel Model Foundation

2.1 The Channel Matrix H

  H (N_Rx × N_Tx):    Received signal:  y = H × x + n

  ┌ h₁₁  h₁₂  h₁₃  h₁₄ ┐    x = Tx signal vector
  │ h₂₁  h₂₂  h₂₃  h₂₄ │    y = Rx signal vector
  │ h₃₁  h₃₂  h₃₃  h₃₄ │    n = noise
  └ h₄₁  h₄₂  h₄₃  h₄₄ ┘    h_ij = complex gain from Tx_j to Rx_i

2.2 Rich Scattering vs Limited Scattering

Rich Scattering → Full Rank

Urban/indoor: many reflectors create independent paths → H is full rank → spatial multiplexing works

Limited Scattering → Rank 1

Rural LOS: single dominant path → columns of H are correlated → multiplexing fails, use diversity instead


#3SVD — Parallel Spatial Channels

The Singular Value Decomposition decomposes any MIMO channel into independent parallel sub-channels:

Adjust scattering richness — see how singular values change and how many parallel channels are available

Water-Filling Power Allocation

More power is allocated to stronger channels — weak channels below the water level get zero power


#4Channel Rank & Degrees of Freedom

The rank of H determines how many independent spatial streams can be transmitted:

Increase antenna correlation to see rank collapse — singular values drop to zero, reducing usable streams

Condition Number: κ = σmax / σmin


#5SU-MIMO — Single-User Spatial Multiplexing

Multiple independent data streams sent to a single UE over the same time-frequency resource:

Data flows from codewords → layers → DMRS ports → antenna ports. Adjust layers to see the mapping change

ScenarioMax DL LayersMax UL LayersTypical UE
FR1 (sub-6 GHz)842–4 DL (commercial)
FR2 (mmWave)422 DL (typical)

#6MU-MIMO — Multi-User Spatial Multiplexing

Multiple UEs share the same time-frequency resource, separated spatially by precoding:

Good pairs have spatially separated channels (low correlation). Bad pairs are co-located → interference dominates

AspectSU-MIMOMU-MIMO
Streams go toOne UEMultiple UEs
Per-UE throughputHigher (all layers)Lower (shared)
Cell throughputLimited by single UE rankHigher (aggregated)
SchedulingSimplerComplex pairing

#7Precoding for Spatial Multiplexing

Precoding adjusts transmitted signals to cancel inter-stream interference at the receiver:

See how different precoders handle interference between streams — ZF forces zero interference, MMSE balances interference vs noise

PrecoderComplexityPerformanceUsed In
ZFHigh (matrix inv)Good (high SNR)5G NR baseline
MMSEHighBetter (all SNR)5G NR preferred
DPCExtremeOptimalTheoretical only
BDHighGood (MU-MIMO)Advanced MU-MIMO

#85G NR Layer Mapping & DMRS

ParameterType 1Type 2
Ports per CDM group23
Max CDM groups22
Max DMRS ports4 / 86 / 12
Used for≤ 4 layers> 4 layers, dense MU-MIMO

#9CSI Feedback — RI, PMI, CQI

ParameterWhat It ReportsgNB Uses For
RI (Rank Indicator)How many layers the channel supportsSet number of spatial streams
PMI (Precoding Matrix)Best precoding weights for those layersApply beamforming weights
CQI (Channel Quality)Supported MCS at target BLERSet modulation order & code rate

Rank Adaptation Simulation

Simulated UE moving through an urban environment — watch rank, CQI, and throughput adapt in real-time

Why Codebook-Based Precoding?

In FDD and FR2 mmWave, the gNB does not have direct access to the downlink channel matrix H. Sending the full H matrix would require enormous overhead — codebooks solve this by pre-defining a finite set of precoding matrices known to both ends (TS 38.214).

Codebook Principle

UE measures H → picks best matching matrix from codebook → feeds back only the PMI index (6–10 bits) instead of 640+ bits for full H. gNB receives PMI → looks up same matrix → applies precoding. ~100× overhead reduction.

DFT Beam Grid & Two-Stage Precoding: W = W1 × W2

5G NR codebooks are built from DFT beams — a grid of fixed beams covering all spatial directions. The precoding matrix uses a two-stage structure:

W1 — Wideband (Long-term)

Selects a subset of DFT beams from the oversampled grid. Captures coarse spatial direction. Changes slowly. Reported as wideband PMI.

W2 — Subband (Short-term)

Applies co-phasing and amplitude weighting to selected beams. Captures fine-grained per-subband variations. Reported as subband PMI.

DFT beam grid with oversampled angular resolution — adjust rank to see beam selection, oversampling for finer resolution

Type I Codebook — Single Beam Selection

Type I is the basic codebook for SU-MIMO. It selects a single dominant DFT beam direction per layer:

  Type I — Single DFT Beam Per Layer
  ──────────────────────────────────
  Rank 1: One beam per polarization, co-phased
  Rank 2–4: Different beam per layer (from same W1 subset)

  PMI Payload: ~10–30 bits (W1: 4–8 bits wideband + W2: 3–6 bits/subband)
  Used when:   SU-MIMO, ≤ 4 layers, FR1 sub-6 GHz
  3GPP spec:   TS 38.214 Section 5.2.2.2

Type II Codebook — Linear Combination of Beams

Type II is the advanced codebook for MU-MIMO and high-resolution precoding. It combines L = 2, 3, or 4 beams with individual amplitude and phase coefficients:

  Type II — L Beams Combined Per Layer
  ─────────────────────────────────────
  Precoder: W_l = W1 × Σ (p_l,i × c_l,i) × b_i    (i = 1..L)

  p_l,i = amplitude {1, √0.5, √0.25, √0.125}   (3 bits/beam)
  c_l,i = phase: QPSK (4 phases) or 8-PSK (8 phases)

  PMI Payload: ~50–300 bits (10–20× more than Type I!)
  Used when:   MU-MIMO, high-order SU-MIMO, massive MIMO
  3GPP spec:   TS 38.214 Section 5.2.2.2.3

Type I vs Type II — Head-to-Head

AspectType I (Single Beam)Type II (Multi-Beam)
Beams per layer1 (best single beam)L = 2, 3, or 4 (linear combination)
PMI overheadLow (10–30 bits)High (50–300 bits)
Precoding accuracyModerate (one beam)High (amplitude + phase per beam)
MU-MIMO suitabilityLimited (coarse nulls)Excellent (precise null steering)
Feedback channelPUCCH or PUSCHPUSCH only (too large for PUCCH)
Amplitude quantizationNone (fixed)4 levels: {1, √0.5, √0.25, √0.125}
Phase quantizationQPSK (4 phases)QPSK or 8-PSK (4 or 8 phases)
3GPP releaseRel-15 baselineRel-15 enhanced, Rel-16 Port Selection

Compare single-beam (Type I) vs multi-beam combining (Type II) — see how beam resolution improves precoding accuracy

Wideband vs Subband Feedback

CSI feedback can be reported with different frequency granularity:

AspectWideband (WB)Subband (SB)
PMI granularity1 PMI for all subbands1 PMI per subband
CQI granularity1 CQI for all subbands1 CQI per subband
OverheadLow (10–14 bits)High (50–500+ bits)
Feedback channelPUCCH or PUSCHPUSCH only
Freq-selective gainNone10–30% throughput improvement
Best forCell edge, high mobilityCell center, stationary, rich scatter

Wideband applies one MCS everywhere; subband adapts per-subband — toggle to see the throughput difference in frequency-selective channels

CSI Reporting Modes — Periodic, Aperiodic, Semi-Persistent

5G NR supports three CSI reporting modes, each triggered differently and carried on different physical channels:

ModeTriggerChannelPayloadBest For
Periodic (P-CSI)RRC configuredPUCCHSmall (WB), Type I onlyCell-edge, basic tracking
Aperiodic (A-CSI)DCI requestPUSCHLarge (SB), Type I/IIOn-demand, full CSI
Semi-Persistent (SP-CSI)MAC CE / DCIPUCCH or PUSCHMediumStable channels

Practical Decision Flow


#10Diversity vs Multiplexing Trade-off

Balanced

Zheng-Tse fundamental trade-off: you cannot simultaneously maximize both diversity and multiplexing gain

ConditionStrategyWhy
High SNR + rich scatterSpatial multiplexingChannel supports multiple streams
Low SNRDiversity (coding)Need reliability, not rate
High mobilityLower rankChannel unstable, rank fluctuates
Cell center, good channelFull multiplexingStrong channel, high rank

#11Massive MIMO Multiplexing

Favorable Propagation & Channel Hardening

As N grows, user channels become nearly orthogonal automatically — simple ZF becomes near-optimal

Massive MIMO Rule of Thumb

N ≥ 2K for good performance. 64 antennas → serve ~30 UEs simultaneously. 128 antennas → ~60 UEs. Each UE gets its own spatial stream on the same time-frequency resource.


#12Beam-Domain Multiplexing (6G)

Transform to the beam domain via lens array or DFT — channel becomes sparse, reducing processing complexity:

Spatial Domain

Process N×N channel matrix — high complexity. All elements contribute. Standard MIMO processing.

Beam Domain

Channel is SPARSE — only a few beams carry energy. Reduced RF chains. Better for mmWave/THz.


#13AI/ML-Driven Multiplexing (6G)

Traditional Precoding

H → compute WZF = H⁻¹ → apply. Fixed algorithm, assumes linear model, matrix inverse every slot.

Neural Precoding (6G)

H + environment → Neural Network → Woptimal. Handles hardware imperfections, adapts to context, O(1) inference.

6G AI/ML Applications


#14Complete Evolution — LTE → 5G → 6G

AspectLTE5G NR6G (~2030)
Max DL layers48 (FR1), 4 (FR2)16+
Max MU-MIMO users212+100+ (cell-free)
PrecodingCodebook (LTE TM)Type I + Type II codebook + non-codebookAI/ML-optimized
CSI feedbackPeriodic PMI/CQI/RI (WB)Aperiodic (SB+WB) + semi-persistent; Type I/IIAI-predicted, reduced
Rank adaptationSlow (10s of ms)Fast (per-slot)Predictive (pre-adapt)
Multiplexing domainSpatialSpatial + beamSpatial + beam + near-field
Spatial modelFar-field onlyFar-field dominantNear-field dominant
Pairing algorithmGreedy heuristicProportional fairGNN-based learned

#15Practical Field Considerations

PitfallImpactBest Practice
Assuming full rank everywhereOverestimated throughputMonitor RI distribution per cell
MU-MIMO with correlated UEsInterference → throughput dropPair UEs with low channel correlation
No rank adaptation in mobilityLayer failures at high speedDoppler-aware rank restriction
Ignoring antenna correlationEffective rank < N_RxCheck UE antenna spacing
Confusing layers with antennasWrong capacity estimatesLayers = streams, not physical antennas
Using Type I for MU-MIMOCoarse nulls → inter-user interferenceEnable Type II codebook (via RRC)
Subband feedback on PUCCHPayload too large → report dropUse aperiodic (PUSCH) for subband

MU-MIMO Reality Check

Theoretical gain: K× cell throughput. Actual gain: 1.3× to 2× in commercial deployments. Gap causes: imperfect CSI, UE mobility, limited pairing options, hardware impairments, overhead.


#16Further Reading

3GPP Specifications

Research Papers

Companion Resources

Telecom Leaders Podcast Beamforming Page → ☆ Cell-Free MAC →