Block Diagonalization
Understanding Block Diagonalization
For K users, each with channel matrix Hk, BD constructs a stacked interference matrix for user k by stacking all other users' channels. The SVD of this matrix reveals the null space. The precoder Wk is chosen from the null space columns, guaranteeing HjWk = 0 for all j ≠ k. Within the null space, waterfilling or SVD decomposition maximizes each user's rate.
BD is the multi-antenna generalization of zero-forcing. When each user has only one RX antenna, BD reduces to standard ZF precoding.
H̄k = [H1T ... Hk-1T Hk+1T ... HKT]T
SVD: H̄k = UΣ[V(1) V(0)]H
Wk = V(0)k (null space columns)
Result: HjWk = 0, ∀ j ≠ k
MU-MIMO Precoding Comparison
| Method | IUI Handling | Multi-Antenna UE | CSI Needed |
|---|---|---|---|
| ZF (linear) | Pseudo-inverse | Single-antenna | Full |
| Block Diag. | Null-space proj. | Multi-antenna | Full |
| SLNR (RZF) | SINR optimization | Single-antenna | Full |
| DPC (nonlinear) | Successive encoding | Any | Full |
Frequently Asked Questions
How does it eliminate interference?
Projects each user's precoder into the null space of all other users' channels. HjWk = 0 for j≠k. Block-diagonal effective channel.
BD vs ZF?
ZF inverts the channel (noise amplification). BD uses null-space projection, generalizing to multi-antenna users with better degrees of freedom.
Limitations?
Requires Nt ≥ ∑Nr,k. Null-space reduces per-user rank. Sensitive to CSI errors and feedback delay.