问题背景
考虑MIMO上行通信场景,基站配有
N
N
N根天线,
K
K
K个单天线用户同时向基站发送数据符号符号。信道矩阵为
H
∈
C
N
×
K
\mathbf{H}\in \mathcal{C}^{N\times K}
H∈CN×K,符号向量为
s
=
(
s
1
,
.
.
.
,
s
K
)
T
\mathbf{s}=(s_1,...,s_K)^T
s=(s1,...,sK)T,且
E
[
s
s
H
]
=
I
K
\mathbb{E}[\mathbf{s}\mathbf{s}^H]=\mathbf{I}_K
E[ssH]=IK。基站端的噪声向量为
n
∈
C
N
(
0
,
I
N
)
\mathbf{n}\in \mathcal{CN}(0,\mathbf{I}_N)
n∈CN(0,IN)。用户
k
k
k的发射功率为
P
k
P_k
Pk,(不考虑大尺度衰落),并记矩阵
D
=
diag
(
P
1
,
.
.
.
,
P
K
)
\mathbf{D}=\text{diag}(\sqrt P_1,...,\sqrt P_K)
D=diag(P1,...,PK)
若基站采用的线性滤波矩阵为 W \mathbf{W} W,其维度为 N × K N\times K N×K。
则滤波后的信号向量为
y
=
W
H
H
D
s
+
W
H
n
\mathbf{y}=\mathbf{W}^H\mathbf{H}\mathbf{D}\mathbf{s}+\mathbf{W}^H\mathbf{n}
y=WHHDs+WHn
分量形式为
y
k
=
P
k
w
k
H
h
k
s
k
+
∑
j
≠
k
P
j
w
k
H
h
j
s
j
+
w
k
H
n
y_k=\sqrt P_k\mathbf{w}_k^H\mathbf{h}_ks_k+\sum_{j\neq k}\sqrt P_j\mathbf{w}_k^H\mathbf{h}_js_j+\mathbf{w}_k^H\mathbf{n}
yk=PkwkHhksk+j=k∑PjwkHhjsj+wkHn
最小均方误差角度
考虑到不同用户信号的功率有可能不同,所以定义MSE如下:
e
=
E
n
,
s
[
∣
∣
W
H
H
D
s
+
W
H
n
−
D
s
∣
∣
2
2
]
=
Tr
(
(
W
H
H
D
−
D
)
H
(
W
H
H
D
−
D
)
+
W
H
W
)
\begin{aligned} e&=\mathbb{E}_{\mathbf{n,s}}[||\mathbf{W}^H\mathbf{H}\mathbf{D}\mathbf{s}+\mathbf{W}^H\mathbf{n}-\mathbf{D}\mathbf{s}||_2^2]\\ &=\text{Tr}\left(\left(\mathbf{W}^H\mathbf{H}\mathbf{D}-\mathbf{D}\right)^H\left(\mathbf{W}^H\mathbf{H}\mathbf{D}-\mathbf{D}\right)+\mathbf{W}^H\mathbf{W}\right) \end{aligned}
e=En,s[∣∣WHHDs+WHn−Ds∣∣22]=Tr((WHHD−D)H(WHHD−D)+WHW)
令
∂
e
∂
W
∗
=
H
D
D
H
H
H
W
−
H
D
D
H
+
W
=
0
\frac{\partial e}{\partial \mathbf{W}^*}=\mathbf{HDD}^H \mathbf{H}^H\mathbf{W}-\mathbf{HDD}^H+\mathbf{W}=\mathbf{0}
∂W∗∂e=HDDHHHW−HDDH+W=0
可得到
W
opt
=
(
H
D
2
H
H
+
I
N
)
−
1
H
D
2
=
H
D
2
(
H
H
H
D
2
+
I
K
)
−
1
\begin{aligned} \mathbf{W}^{\text{opt}}&=(\mathbf{HD}^2\mathbf{H}^H+\mathbf{I}_N)^{-1}\mathbf{HD}^2\\ &=\mathbf{HD}^2(\mathbf{H}^H\mathbf{HD}^2+\mathbf{I}_K)^{-1} \end{aligned}
Wopt=(HD2HH+IN)−1HD2=HD2(HHHD2+IK)−1
上面的第2个等号,是由于
A
+
A
B
A
=
A
(
I
+
B
A
)
=
(
I
+
A
B
)
A
A+ABA=A(I+BA)=(I+AB)A
A+ABA=A(I+BA)=(I+AB)A
所以
(
I
+
B
A
)
−
1
A
−
1
=
A
−
1
(
I
+
A
B
)
−
1
(I+BA)^{-1}A^{-1}=A^{-1}(I+AB)^{-1}
(I+BA)−1A−1=A−1(I+AB)−1
两边同时左乘右乘
A
A
A,得到
A
(
I
+
B
A
)
−
1
=
(
I
+
A
B
)
−
1
A
A(I+BA)^{-1}=(I+AB)^{-1}A
A(I+BA)−1=(I+AB)−1A
最大信干噪比角度
基站通过线性滤波得到的关于第
k
k
k个用户的信干噪比为
γ
k
=
P
k
∣
w
k
H
h
k
∣
2
∑
j
≠
k
P
j
∣
w
k
H
h
j
∣
2
+
∣
w
k
H
w
k
∣
\gamma_k = \frac{P_k|\mathbf{w}_k^H\mathbf{h}_k|^2}{\sum_{j\neq k} P_j|\mathbf{w}_k^H\mathbf{h}_j|^2+|\mathbf{w}_k^H\mathbf{w}_k|}
γk=∑j=kPj∣wkHhj∣2+∣wkHwk∣Pk∣wkHhk∣2
可以看出
γ
k
\gamma_k
γk只与
w
k
\mathbf{w}_k
wk有关,所以针对不同用户可以单独优化。
γ
k
\gamma_k
γk的最大化其实是一个广义瑞利商的最大化问题
γ
k
=
w
k
H
(
P
k
h
k
h
k
H
)
w
k
w
k
H
(
∑
j
≠
k
P
j
h
j
h
j
H
+
I
N
)
w
k
\gamma_k=\frac{\mathbf{w}_k^H(P_k\mathbf{h}_k\mathbf{h}_k^H)\mathbf{w}_k}{\mathbf{w}_k^H(\sum_{j\neq k}P_j\mathbf{h}_j\mathbf{h}_j^H+\mathbf{I}_N)\mathbf{w}_k}
γk=wkH(∑j=kPjhjhjH+IN)wkwkH(PkhkhkH)wk
容易得到
w
k
=
(
∑
j
≠
k
P
j
h
j
h
j
H
+
I
N
)
−
1
h
k
P
k
\mathbf{w}_k =\left(\sum_{j\neq k}P_j\mathbf{h}_j\mathbf{h}_j^H+\mathbf{I}_N\right)^{-1}\mathbf{h}_k\sqrt P_k
wk=⎝⎛j=k∑PjhjhjH+IN⎠⎞−1hkPk
通过秩1更新
公式很容易得到下面的表示也是等价的
w
k
=
(
∑
j
=
1
K
P
j
h
j
h
j
H
+
I
N
)
−
1
h
k
P
k
\mathbf{w}_k =\left(\sum_{j=1}^KP_j\mathbf{h}_j\mathbf{h}_j^H+\mathbf{I}_N\right)^{-1}\mathbf{h}_k\sqrt P_k
wk=(j=1∑KPjhjhjH+IN)−1hkPk
只是scale
了一下。
很容易可以看出两种视角得到的结果是相同的!
MATLAB仿真验证代码
N = 6;
K = 4;
P = 2;
tmp = randn(K,1);
D = diag(tmp/norm(tmp)*sqrt(P));
H=.5*(randn(N, K) + 1i * randn(N, K));
cvx_begin
variable G(N, K) complex
minimize sum(sum_square_abs(G'*H*D-D))+sum(sum_square_abs(G))
cvx_end
G;
G = G./vecnorm(G)
G2 = H*D*D/(eye(K)+H'*H*D*D);
G2 = G2./vecnorm(G2)
G3 = (H*D*D*H'+eye(N))\H*D*D;
G3 = G3./vecnorm(G3)
G4 = zeros(size(G));
for k = 1:K
D1 = D;
D1(k,k) = 0;
G4(:, k) = (H*D1*D1*H'+eye(N))\H(:, k)*D(k,k);
end
G4 = G4./vecnorm(G4)
G5 = zeros(size(G));
for k = 1:K
D1 = D;
G5(:, k) = (H*D1*D1*H'+eye(N))\H(:, k)*D(k,k);
end
G5 = G5./vecnorm(G5)
- cvx求解
- 角度1的两种表示
- 角度2的两种表示