乐吧的数学——哔哩哔哩
(从接收端角度来讲,MU-MIMO的上行建模其实和单用户MIMO是一样的,接收端采用ZF/MMSE算法即可解调得到所有数据)
块对角化预编码
块对角化预编码(Block Diagonalization, BD)的核心思想是通过预编码矩阵设计消除用户间干扰。以下从数学角度详细推导其原理:
1. 系统模型
设系统有 K K K 个用户,基站天线数 N t N_t Nt,第 k k k 个用户天线数 N r , k N_{r,k} Nr,k。定义:
- 第 k k k 个用户的信道矩阵: H k ∈ C N r , k × N t \boldsymbol{H}_k \in \mathbb{C}^{N_{r,k} \times N_t} Hk∈CNr,k×Nt
- 第 k k k 个用户的预编码矩阵: W k ∈ C N t × L k \boldsymbol{W}_k \in \mathbb{C}^{N_t \times L_k} Wk∈CNt×Lk( L k L_k Lk 为数据流数)
目标设计预编码矩阵使得:
H
j
W
k
=
0
,
∀
j
≠
k
\boldsymbol{H}_j \boldsymbol{W}_k = \boldsymbol{0}, \quad \forall j \neq k
HjWk=0,∀j=k
从而消除用户间干扰。
2. 干扰空间构造
对第
k
k
k 个用户,构造干扰矩阵:
H
~
k
=
[
H
1
T
H
2
T
⋯
H
k
−
1
T
H
k
+
1
T
⋯
H
K
T
]
T
\tilde{\boldsymbol{H}}_k = \begin{bmatrix} \boldsymbol{H}_1^T & \boldsymbol{H}_2^T & \cdots & \boldsymbol{H}_{k-1}^T & \boldsymbol{H}_{k+1}^T & \cdots & \boldsymbol{H}_K^T \end{bmatrix}^T
H~k=[H1TH2T⋯Hk−1THk+1T⋯HKT]T
维度为
(
∑
j
≠
k
N
r
,
j
)
×
N
t
\left( \sum_{j \neq k} N_{r,j} \right) \times N_t
(∑j=kNr,j)×Nt。
3. 零空间投影
对干扰矩阵进行奇异值分解(SVD):
H
~
k
=
U
k
Σ
k
[
V
k
(
1
)
V
k
(
0
)
]
H
\tilde{\boldsymbol{H}}_k = \boldsymbol{U}_k \boldsymbol{\Sigma}_k \begin{bmatrix} \boldsymbol{V}_k^{(1)} & \boldsymbol{V}_k^{(0)} \end{bmatrix}^H
H~k=UkΣk[Vk(1)Vk(0)]H
其中:
- V k ( 1 ) \boldsymbol{V}_k^{(1)} Vk(1): 非零奇异值对应的右奇异向量
- V k ( 0 ) \boldsymbol{V}_k^{(0)} Vk(0): 零空间基底,满足 H ~ k V k ( 0 ) = 0 \tilde{\boldsymbol{H}}_k \boldsymbol{V}_k^{(0)} = \boldsymbol{0} H~kVk(0)=0
4. 等效信道设计
将用户
k
k
k 的信道投影到零空间:
H
k
eff
=
H
k
V
k
(
0
)
\boldsymbol{H}_k^{\text{eff}} = \boldsymbol{H}_k \boldsymbol{V}_k^{(0)}
Hkeff=HkVk(0)
对等效信道再次SVD分解:
H
k
eff
=
U
k
eff
Σ
k
eff
(
V
k
eff
)
H
\boldsymbol{H}_k^{\text{eff}} = \boldsymbol{U}_k^{\text{eff}} \boldsymbol{\Sigma}_k^{\text{eff}} (\boldsymbol{V}_k^{\text{eff}})^H
Hkeff=UkeffΣkeff(Vkeff)H
选择前
L
k
L_k
Lk 个奇异向量作为预编码:
W
k
BD
=
V
k
(
0
)
V
k
eff
(
:
,
1
:
L
k
)
\boldsymbol{W}_k^{\text{BD}} = \boldsymbol{V}_k^{(0)} \boldsymbol{V}_k^{\text{eff}}(:,1:L_k)
WkBD=Vk(0)Vkeff(:,1:Lk)
5. 块对角化结构
组合所有用户的预编码矩阵:
W
=
[
W
1
BD
W
2
BD
⋯
W
K
BD
]
\boldsymbol{W} = \begin{bmatrix} \boldsymbol{W}_1^{\text{BD}} & \boldsymbol{W}_2^{\text{BD}} & \cdots & \boldsymbol{W}_K^{\text{BD}} \end{bmatrix}
W=[W1BDW2BD⋯WKBD]
此时全局信道矩阵满足块对角化:
H
W
=
[
H
1
W
1
BD
0
⋯
0
0
H
2
W
2
BD
⋯
0
⋮
⋮
⋱
⋮
0
0
⋯
H
K
W
K
BD
]
\boldsymbol{H} \boldsymbol{W} = \begin{bmatrix} \boldsymbol{H}_1 \boldsymbol{W}_1^{\text{BD}} & \boldsymbol{0} & \cdots & \boldsymbol{0} \\ \boldsymbol{0} & \boldsymbol{H}_2 \boldsymbol{W}_2^{\text{BD}} & \cdots & \boldsymbol{0} \\ \vdots & \vdots & \ddots & \vdots \\ \boldsymbol{0} & \boldsymbol{0} & \cdots & \boldsymbol{H}_K \boldsymbol{W}_K^{\text{BD}} \end{bmatrix}
HW=
H1W1BD0⋮00H2W2BD⋮0⋯⋯⋱⋯00⋮HKWKBD
6. 功率分配优化
通过注水算法分配功率:
max
{
p
k
}
∑
k
=
1
K
log
2
(
1
+
p
k
λ
k
2
σ
2
)
\max_{\{p_k\}} \sum_{k=1}^K \log_2 \left( 1 + \frac{p_k \lambda_k^2}{\sigma^2} \right)
{pk}maxk=1∑Klog2(1+σ2pkλk2)
其中
λ
k
\lambda_k
λk 为
Σ
k
eff
\boldsymbol{\Sigma}_k^{\text{eff}}
Σkeff 的对角元素,满足总功率约束
∑
p
k
≤
P
total
\sum p_k \leq P_{\text{total}}
∑pk≤Ptotal。
7. 数学条件分析
块对角化可行的充分条件为:
N
t
≥
∑
k
=
1
K
N
r
,
k
N_t \geq \sum_{k=1}^K N_{r,k}
Nt≥k=1∑KNr,k
此时干扰矩阵
H
~
k
\tilde{\boldsymbol{H}}_k
H~k 的零空间维度
dim
(
V
k
(
0
)
)
≥
N
r
,
k
\dim(\boldsymbol{V}_k^{(0)}) \geq N_{r,k}
dim(Vk(0))≥Nr,k,保证等效信道存在非退化解。
8. 对比信道反转
**块对角化预编码(Block Diagonalization)与信道反转预编码(Channel Inversion,如迫零预编码ZF)**两类技术的核心差异。以下是具体对比维度:
一、数学原理对比
维度 | 块对角化 (BD) | 信道反转 (ZF) |
---|---|---|
核心思想 | 将用户信道投影到干扰零空间 | 直接对信道矩阵求逆 |
数学模型 | W BD = V k ( 0 ) V k eff \boldsymbol{W}_{\text{BD}} = \boldsymbol{V}_k^{(0)} \boldsymbol{V}_k^{\text{eff}} WBD=Vk(0)Vkeff | W ZF = H H ( H H H ) − 1 \boldsymbol{W}_{\text{ZF}} = \boldsymbol{H}^H (\boldsymbol{H} \boldsymbol{H}^H)^{-1} WZF=HH(HHH)−1 |
干扰处理 | 完全消除用户间干扰(通过零空间投影) | 部分抑制干扰(可能残留噪声放大) |
二、性能特性对比
指标 | 块对角化 (BD) | 信道反转 (ZF) |
---|---|---|
干扰消除 | 彻底消除多用户干扰 | 干扰残留(依赖信道矩阵条件数) |
噪声放大 | 无额外噪声放大 | 存在噪声增强(尤其在信道病态时) |
频谱效率 | 高(干扰完全消除) | 较低(受噪声放大限制) |
适用场景 | 多用户MIMO(用户数 ≤ 基站天线) | 单用户MIMO或低干扰场景 |
三、实现条件对比
条件 | 块对角化 (BD) | 信道反转 (ZF) |
---|---|---|
天线要求 | 基站天线数 ≥ 所有用户天线总和 | 基站天线数 ≥ 单用户天线数 |
复杂度 | 高(需两次SVD分解) | 低(仅需矩阵求逆) |
动态适应性 | 适合静态/中低速场景 | 适合动态/高速场景(计算简单) |
四、与参考内容的关联
用户提供的论文中提到的动态信道分配模型与预编码技术存在以下共性:
- 干扰管理目标:两者均需优化系统资源(信道/天线)分配以消除干扰。
- 模型对比逻辑:类似论文中对比兼容矩阵模型与子区模型,预编码技术对比也需权衡不同方法的性能边界。
- 条件约束性:块对角化需满足天线数条件(类比论文中小区分割条件),而信道反转则无严格限制但性能受限。
设全局预编码矩阵为 W ZF = H H ( H H H ) − 1 \boldsymbol{W}_{\text{ZF}} = \boldsymbol{H}^H (\boldsymbol{H} \boldsymbol{H}^H)^{-1} WZF=HH(HHH)−1,则:
- 信道反转:直接求逆,用户间干扰残留
- 块对角化:通过零空间投影完全消除干扰
9. 复杂度分析
主要复杂度来自两次SVD分解:
- 干扰矩阵SVD: O ( N t 2 ∑ j ≠ k N r , j ) \mathcal{O}(N_t^2 \sum_{j \neq k} N_{r,j}) O(Nt2∑j=kNr,j)
- 等效信道SVD:
O
(
N
t
2
N
r
,
k
)
\mathcal{O}(N_t^2 N_{r,k})
O(Nt2Nr,k)
总复杂度随用户数 K K K 和天线数 N t N_t Nt 呈多项式增长。
10. 仿真验证
参考代码中通过以下步骤实现:
for k in range(K):
# 构造干扰矩阵
H_int = np.vstack([H[j] for j != k])
U,S,Vh = svd(H_int)
V_null = Vh[rank:].T.conj() # 零空间基底
# 等效信道投影
H_eff = H[k] @ V_null
U_eff, S_eff, Vh_eff = svd(H_eff)
W_k = V_null @ Vh_eff[:Lk].T.conj()
此实现严格遵循上述数学推导,验证了块对角化消除干扰的有效性。