波束空间 MIMO (四)
波束空间下的信道矩阵是具有稀疏性的,即发射端只需要发送用户对应信道向量高增益的波束。这就是波束选择的概念,这样就可以降低发射端的功耗,从而达到提升能量效率的目的。
由于毫米波通信发射端的 RF 链路的功耗和硬件复杂度都很高,有文献提出天线选择算法来解决这个问题,但是天线选择技术仍然需要很大的功率消耗来弥补 RF 链路的发射状况,并且系统性能有所下降。
波束选择算法不同的地方在于,在降低 RF 链路复杂度的条件下,同时保证了系统具有近似最优的通信质量,而且不会影响发射端波束成形的特性。根据下图,在 DLA 之后,发射端可以同时发送出多个正交的波束,并且每个波束的发射角度都是按照酉矩阵 U \mathbf U U 的一组正交基进行排列,该部分内容根据 波束空间 MIMO (一)内容可以得到,发射的多个正交的波束是在波束空间下考虑的,即在角度域上来看的。并且可以很明显的看出波束空间下的信道矩阵是具有稀疏性的,这也正是波束选择算法得以实施的基础。另外,发射端 DLA 的使用允许我们在角度域直接使用波束选择算法,同时不影响波束宽度和天线的增益。
具体表现在,对于波束空间下的信道矩阵,如果缺失了其中那些信道增益幅值接近于零的行,也就是对应了不发射其中部分波束,对于系统来说,不会对通信质量有明显的影响。
实质上,预编码的过程其实就是决定了最终发射哪些波束的过程,此处通过迫零(ZF)预编码具体阐述一下波束选择降低 RF 链路,从而减少功耗和硬件复杂度的过程。需要注意的是,此处考虑的是未应用 NOMA 的波束空间模型,考虑 NOMA 的预编码矩阵的生成会有些许变化。
预编码矩阵可以表示为
G
=
α
F
\mathbf G=\alpha \mathbf F
G=αF
其中
α
\alpha
α 用于保证
E
[
x
x
H
]
=
I
\mathbb E[\mathbf x\mathbf x^{\rm H}]=\mathbf I
E[xxH]=I,则有
α
=
ρ
tr
(
F
Λ
s
F
H
)
\alpha = \sqrt{\frac{\rho}{\text{tr}(\mathbf F\mathbf \Lambda_s \mathbf F^{\rm H})}}
α=tr(FΛsFH)ρ
其中,
ρ
\rho
ρ 是信号功率。
Λ
s
=
E
[
s
s
H
]
=
I
\mathbf\Lambda_s = \mathbb E[\mathbf s\mathbf s^{\rm H}]=\mathbf I
Λs=E[ssH]=I 也是单位阵,表示原始输入信号向量对应的
K
K
K 个用户,所有用户均为独立同分布的且均值为 0 方差为 1 的高斯随机变量。
那么根据 ZF 预编码可以得到
F
b
=
H
b
(
H
b
H
H
b
)
−
1
\mathbf F_b = \mathbf H_b (\mathbf H_b^{\rm H}\mathbf H_b)^{-1}
Fb=Hb(HbHHb)−1
可以看出,由于波束选择算法将波束空间下信道矩阵的某些行去掉了,也就是对应着信道增益极低的波束,随之预编码矩阵的行数也会降低,又根据
x
=
G
s
\mathbf x = \mathbf {Gs}
x=Gs 发现原始信号经过预编码后的信号维度取决于预编码矩阵的行数,从而可以看出预编码后的信号维度也会随着降低,那么根据上图可知,此时所需要的 RF 链路的数量也会降低,从而实现了减少功耗和降低硬件复杂度的目的。
下面将主要介绍三种主要的波束选择算法,包括
- 最大幅值选择(MM-S,Maximum Magnitude Selection)
- 最大信干噪比选择(MS-S,Maximization of the SINR Selection)
- 最大容量选择(MC-S、Maximization of the Capacity Selection)
1. MM-S
最大幅值选择的基本思想就是选择信道矩阵幅值最大的那几个波束,为了从数学上更准确地描述最大幅值选择算法,定义集合
M
(
k
)
=
{
i
∈
Γ
(
n
)
:
∣
h
i
,
k
b
∣
2
≥
ξ
(
k
)
max
i
∣
h
i
,
k
b
∣
2
}
M
=
⋃
k
=
1
,
⋯
,
K
M
(
k
)
\begin{aligned} \mathcal M^{(k)} &=\left\{i\in \Gamma(n): \vert h_{i,k}^b\vert^2 \geq \xi^{(k)} \underset{i}{\max}\vert h_{i,k}^b\vert^2 \right\} \\ \\ \mathcal M &= \underset{k=1,\cdots,K}{\bigcup} \mathcal M^{(k)} \end{aligned}
M(k)M={i∈Γ(n):∣hi,kb∣2≥ξ(k)imax∣hi,kb∣2}=k=1,⋯,K⋃M(k)
其中, h i , k b h_{i,k}^b hi,kb 为 H b \mathbf H_b Hb 的第 i i i 行 k k k 列元素。 M ( k ) \mathcal M^{(k)} M(k) 是针对于第 k k k 个用户的选择集合。 ξ ( k ) ∈ [ 0 , 1 ] \xi^{(k)}\in[0,1] ξ(k)∈[0,1] 为选择门限,通过调整该值可以选择不同数量的主要波束,为了使得每个用户都选择到最少的波束, ξ ( k ) \xi^{(k)} ξ(k) 对于每个用户必须是独立取值的。
发射端通过上述公式来确认对每个用户收到信号起最主要作用的波束序号,然后重新进行预编码,从而实现波束选择。从数学上表示为
H
^
b
=
[
h
i
,
:
b
]
i
∈
M
\hat{\mathbf H}_b = \left[ \mathbf h_{i,:}^b\right]_{i\in \mathcal M}
H^b=[hi,:b]i∈M
2. MS-S
对于第
i
i
i 个用户,其信干噪比 SINR 定义如下
SINR
i
(
ρ
,
G
b
∣
H
b
)
=
κ
∣
(
h
:
,
i
b
)
H
f
:
,
i
b
∣
2
κ
∑
m
≠
i
∣
(
h
:
,
i
b
)
H
f
:
,
m
b
∣
2
+
σ
2
\text{SINR}_i(\rho,\mathbf G_b \vert \mathbf H_b)= \frac{\kappa \vert \mathbf (\mathbf h_{:,i}^b)^{\rm H} \mathbf f_{:,i}^b \vert^2}{\kappa \sum_{m \neq i}\vert \mathbf (\mathbf h_{:,i}^b)^{\rm H} \mathbf f_{:,m}^b \vert^2 +\sigma^2}
SINRi(ρ,Gb∣Hb)=κ∑m=i∣(h:,ib)Hf:,mb∣2+σ2κ∣(h:,ib)Hf:,ib∣2
κ
=
ρ
∣
α
∣
2
K
\kappa = \frac{\rho \vert\alpha\vert^2}{K}
κ=Kρ∣α∣2
其中,
σ
2
\sigma^2
σ2 为噪声功率,
F
b
\mathbf F_b
Fb 为没有功率限制的 ZF 预编码矩阵。由于此处采用的是 ZF 预编码,基站端若能够获取完整信道信息,则有
∣
(
h
:
,
i
b
)
H
f
:
,
i
b
∣
2
=
1
,
∑
m
≠
i
∣
(
h
:
,
i
b
)
H
f
:
,
m
b
∣
2
=
0.
\vert \mathbf (\mathbf h_{:,i}^b)^{\rm H} \mathbf f_{:,i}^b \vert^2=1,\quad \sum_{m \neq i}\vert \mathbf (\mathbf h_{:,i}^b)^{\rm H} \mathbf f_{:,m}^b \vert^2=0.
∣(h:,ib)Hf:,ib∣2=1,m=i∑∣(h:,ib)Hf:,mb∣2=0.
信干噪比 SINR 可以化简为
SINR
i
,
ZF
(
ρ
,
G
b
∣
H
b
)
=
ρ
σ
2
⋅
∣
α
∣
2
K
=
SNR
⋅
∣
α
∣
2
K
\text{SINR}_{i, \text{ZF}}(\rho,\mathbf G_b \vert \mathbf H_b)=\frac{\rho}{\sigma^2 }\cdot\frac{ \vert\alpha\vert^2}{ K}=\text{SNR}\cdot\frac{ \vert\alpha\vert^2}{ K}
SINRi,ZF(ρ,Gb∣Hb)=σ2ρ⋅K∣α∣2=SNR⋅K∣α∣2
由上可知,如果要使 SINR 最大,在固定的 SNR 情况下,就需要使
∣
α
∣
2
\vert\alpha\vert^2
∣α∣2 最大。若决定共选择 N 个波束,就需要对信道矩阵进行穷举搜索,计算出使
∣
α
∣
2
\vert\alpha\vert^2
∣α∣2 最大的波束组合,这样的话运算量会太大,下面给出一种近似最优的算法结构:
Algorithm input : H b output : H ^ b C = H b F = C ( C H C ) − 1 for j=1:n-N for l=1:n-j+1 F ˇ ( l ) = C l ( C l H C l ) − 1 α ˇ ( l ) = ρ tr ( F ( l ) F ( l ) H ) end δ j = arg max { ∣ α ( l ) ∣ 2 } D = { δ 1 , ⋯ , δ j } C = [ h m , : b ] m ∉ D end H ^ b = [ h m , : b ] m ∉ D \begin{aligned} &\textcolor{green}{\text{Algorithm}}\\ &\text{input}: \mathbf H_b \\ &\text{output}: \hat{\mathbf H}_b \\ &\mathbf C= \mathbf H_b \\ &\mathbf F= \mathbf C(\mathbf C^{\rm H} \mathbf C)^{-1} \\ &\textcolor{red}{\text{for j=1:n-N}}\\ &\quad\textcolor{blue}{\text{for l=1:n-j+1}}\\ &\quad\quad\check F^{(l)}=\mathbf C_l(\mathbf C^{\rm H}_l \mathbf C_l)^{-1}\\ &\quad\quad\check\alpha^{(l)} =\sqrt{\frac{\rho}{\text{tr}(\mathbf F^{(l)} \mathbf F^{(l)\rm H})}}\\ &\quad \textcolor{blue}{\text{end}}\\ &\quad \delta_j = \arg\max\{\vert \alpha^{(l)}\vert^2\} \\ &\quad \mathcal D=\{\delta_1,\cdots,\delta_j \} \\ &\quad\mathbf C=\left[ \mathbf h^{b}_{m,:}\right]_{m \notin \mathcal D} \\ &\textcolor{red}{\text{end}}\\ &\hat{\mathbf H}_b=\left[ \mathbf h^{b}_{m,:}\right]_{m \notin \mathcal D} \end{aligned} Algorithminput:Hboutput:H^bC=HbF=C(CHC)−1for j=1:n-Nfor l=1:n-j+1Fˇ(l)=Cl(ClHCl)−1αˇ(l)=tr(F(l)F(l)H)ρendδj=argmax{∣α(l)∣2}D={δ1,⋯,δj}C=[hm,:b]m∈/DendH^b=[hm,:b]m∈/D
3. MC-S
本小节将针对容量这一指标进行最大化,首先定义容量 :
C
(
H
b
)
=
log
2
det
(
I
+
SNR
⋅
H
b
H
H
b
)
C(\mathbf H_b)=\log_2\det(\mathbf I+ \text{SNR}\cdot \mathbf H_b^{\rm H}\mathbf H_b)
C(Hb)=log2det(I+SNR⋅HbHHb)
上面定义的容量并非香农容量,这是由于其并未考虑预编码对信号的影响。 当系统去掉第
l
l
l 个波束后的容量可以表示为
C
(
H
b
(
l
)
)
=
log
2
det
(
I
+
SNR
⋅
H
b
H
(
l
)
H
b
(
l
)
)
C(\mathbf H_b^{(l)})=\log_2 \det(\mathbf I+\text{SNR}\cdot \mathbf H_b^{ \mathrm H (l)}\mathbf H_b^{(l)})
C(Hb(l))=log2det(I+SNR⋅HbH(l)Hb(l))
其中
H
b
H
(
l
)
H
b
(
l
)
=
H
b
H
H
b
−
(
h
l
,
:
b
)
H
h
l
,
:
b
\mathbf H_b^{\mathrm{H} (l)} \mathbf H_b^{(l)} = \mathbf H_b^{\rm H}\mathbf H_b -(\mathbf h_{l,:}^{b})^{\rm H} \mathbf h_{l,:}^{b}
HbH(l)Hb(l)=HbHHb−(hl,:b)Hhl,:b
接下来有推导过程
C ( H b ( l ) ) = log 2 det [ I + SNR ⋅ { H b H H b − ( h l , : b ) H h l , : b } ] \begin{aligned} C(\mathbf H_b^{(l)}) &= \log_2\det\bigg[\mathbf I+ \text{SNR}\cdot \left\{ \mathbf H_b^{\rm H}\mathbf H_b -(\mathbf h_{l,:}^{b})^{\rm H} \mathbf h_{l,:}^{b} \right\}\bigg] \end{aligned} C(Hb(l))=log2det[I+SNR⋅{HbHHb−(hl,:b)Hhl,:b}]
I + SNR ⋅ { H b H H b − ( h l , : b ) H h l , : b } = I + SNR ⋅ H b H H b − SNR ⋅ ( h l , : b ) H h l , : b = ( I + SNR ⋅ H b H H b ) { I − [ I + SNR ⋅ H b H H b ] − 1 / 2 ⋅ [ SNR ⋅ ( h l , : b ) H h l , : b ] ⋅ [ I + SNR ⋅ H b H H b ] − 1 / 2 } \begin{aligned} &\mathbf I+ \text{SNR}\cdot \left\{ \mathbf H_b^{\rm H}\mathbf H_b -(\mathbf h_{l,:}^{b})^{\rm H} \mathbf h_{l,:}^{b} \right\} =\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b -\text{SNR}\cdot(\mathbf h_{l,:}^{b})^{\rm H} \mathbf h_{l,:}^{b} \\ =&\left(\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b\right) \bigg\{ \mathbf I-\Big[\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b \Big]^{-1/2} \cdot \Big[ \text{SNR}\cdot(\mathbf h_{l,:}^{b})^{\rm H} \mathbf h_{l,:}^{b} \Big] \cdot \Big[\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b \Big]^{-1/2} \bigg\} \end{aligned} =I+SNR⋅{HbHHb−(hl,:b)Hhl,:b}=I+SNR⋅HbHHb−SNR⋅(hl,:b)Hhl,:b(I+SNR⋅HbHHb){I−[I+SNR⋅HbHHb]−1/2⋅[SNR⋅(hl,:b)Hhl,:b]⋅[I+SNR⋅HbHHb]−1/2}
det ( ( I + SNR ⋅ H b H H b ) { I − [ I + SNR ⋅ H b H H b ] − 1 / 2 ⋅ [ SNR ⋅ ( h l , : b ) H h l , : b ] ⋅ [ I + SNR ⋅ H b H H b ] − 1 / 2 } ) = det ( I + SNR ⋅ H b H H b ) ⋅ det { I − [ I + SNR ⋅ H b H H b ] − 1 / 2 ⋅ [ SNR ⋅ ( h l , : b ) H h l , : b ] ⋅ [ I + SNR ⋅ H b H H b ] − 1 / 2 } \begin{aligned} &\det \Bigg( \left(\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b\right) \bigg\{ \mathbf I-\Big[\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b \Big]^{-1/2} \cdot \Big[ \text{SNR}\cdot(\mathbf h_{l,:}^{b})^{\rm H} \mathbf h_{l,:}^{b} \Big] \cdot \Big[\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b \Big]^{-1/2} \bigg\}\Bigg) \\ =&\det \left(\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b\right) \cdot \det \bigg\{ \mathbf I-\Big[\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b \Big]^{-1/2} \cdot \Big[ \text{SNR}\cdot(\mathbf h_{l,:}^{b})^{\rm H} \mathbf h_{l,:}^{b} \Big] \cdot \Big[\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b \Big]^{-1/2} \bigg\} \end{aligned} =det((I+SNR⋅HbHHb){I−[I+SNR⋅HbHHb]−1/2⋅[SNR⋅(hl,:b)Hhl,:b]⋅[I+SNR⋅HbHHb]−1/2})det(I+SNR⋅HbHHb)⋅det{I−[I+SNR⋅HbHHb]−1/2⋅[SNR⋅(hl,:b)Hhl,:b]⋅[I+SNR⋅HbHHb]−1/2}
det { I − [ I + SNR ⋅ H b H H b ] − 1 / 2 ⋅ [ SNR ⋅ ( h l , : b ) H h l , : b ] ⋅ [ I + SNR ⋅ H b H H b ] − 1 / 2 } = det { 1 − SNR ⋅ h l , : b ( I + SNR ⋅ H b H H b ) − 1 ( h l , : b ) H } \begin{aligned} &\det \bigg\{ \mathbf I-\Big[\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b \Big]^{-1/2} \cdot \Big[ \text{SNR}\cdot(\mathbf h_{l,:}^{b})^{\rm H} \mathbf h_{l,:}^{b} \Big] \cdot \Big[\mathbf I+ \text{SNR} \cdot \mathbf H_b^{\rm H}\mathbf H_b \Big]^{-1/2} \bigg\} \\ =& \det \bigg\{ 1 - \text{SNR} \cdot \mathbf h_{l,:}^b (\mathbf I+ \text{SNR}\cdot \mathbf H_b^{\rm H}\mathbf H_b)^{-1} (\mathbf h_{l,:}^b)^{\rm H} \bigg\} \end{aligned} =det{I−[I+SNR⋅HbHHb]−1/2⋅[SNR⋅(hl,:b)Hhl,:b]⋅[I+SNR⋅HbHHb]−1/2}det{1−SNR⋅hl,:b(I+SNR⋅HbHHb)−1(hl,:b)H}
于是
C
(
H
b
(
l
)
)
C(\mathbf H_b^{(l)})
C(Hb(l)) 可化简为
C
(
H
b
(
l
)
)
=
C
(
H
b
)
+
log
2
[
1
−
SNR
⋅
h
l
,
:
b
(
I
+
SNR
⋅
H
b
H
H
b
)
−
1
(
h
l
,
:
b
)
H
]
C(\mathbf H_b^{(l)}) =C(\mathbf H_b)+\log_2 \left[ 1- \text{SNR}\cdot \mathbf h_{l,:}^b (\mathbf I+ \text{SNR}\cdot \mathbf H_b^{\rm H}\mathbf H_b)^{-1} (\mathbf h_{l,:}^b)^{\rm H}\right]
C(Hb(l))=C(Hb)+log2[1−SNR⋅hl,:b(I+SNR⋅HbHHb)−1(hl,:b)H]
从上面可以看出,要使得波束选择后的容量最大化,就需要
h
l
,
:
b
(
I
+
SNR
⋅
H
b
H
H
b
)
−
1
(
h
l
,
:
b
)
H
\mathbf h_{l,:}^b (\mathbf I+ \text{SNR}\cdot \mathbf H_b^{\rm H}\mathbf H_b)^{-1} (\mathbf h_{l,:}^b)^{\rm H}
hl,:b(I+SNR⋅HbHHb)−1(hl,:b)H 最小化。
与最大信干噪比选择算法在运算量大的问题上相似,本文给出一种近似最优的算法结构,首先定义集合
δ
=
arg
min
l
{
h
l
,
:
b
(
I
+
SNR
⋅
H
b
H
H
b
)
−
1
(
h
l
,
:
b
)
H
}
\delta = \arg\underset{l}{\min} \left\{ \mathbf h_{l,:}^b(\mathbf I+ \text{SNR}\cdot \mathbf H_b^{\rm H}\mathbf H_b)^{-1} (\mathbf h_{l,:}^b)^{\rm H} \right\}
δ=arglmin{hl,:b(I+SNR⋅HbHHb)−1(hl,:b)H}
算法如下:
Algorithm
input
:
H
b
,
SNR
output
:
H
^
b
K
=
H
b
B
=
(
I
+
SNR
⋅
K
H
K
)
−
1
for j=1:n-N
for l=1:n-j+1
Ω
ˇ
(
l
)
=
k
l
,
:
B
k
l
,
:
H
end
δ
j
=
arg
min
{
Ω
(
l
)
}
D
=
{
δ
1
,
⋯
,
δ
j
}
B
=
B
+
B
k
δ
j
,
:
H
(
SNR
−
1
−
k
δ
j
,
:
B
k
δ
j
,
:
H
)
−
1
k
δ
j
,
:
B
K
=
[
h
m
,
:
b
]
m
∉
D
end
H
^
b
=
[
h
m
,
:
b
]
m
∉
D
\begin{aligned} &\textcolor{green}{\text{Algorithm}}\\ &\text{input}: \mathbf H_b, \quad\text{SNR} \\ &\text{output}: \hat{\mathbf H}_b \\ &\mathbf K= \mathbf H_b \\ &\mathbf B= (\mathbf I+\text{SNR}\cdot \mathbf K^{\rm H} \mathbf K )^{-1}\\ &\textcolor{red}{\text{for j=1:n-N}}\\ &\quad\textcolor{blue}{\text{for l=1:n-j+1}}\\ &\quad\quad\check \Omega^{(l)}=\mathbf k_{l,:} \mathbf B \mathbf k_{l,:}^{\rm H}\\ &\quad \textcolor{blue}{\text{end}}\\ &\quad \delta_j = \arg\min\{ \Omega^{(l)} \} \\ &\quad \mathcal D=\{\delta_1,\cdots,\delta_j \} \\ &\quad\mathbf B= \mathbf B+\mathbf B\mathbf k_{\delta_j,:}^{\rm H}(\text{SNR}^{-1}- \mathbf k_{\delta_j,:} \mathbf B \mathbf k_{\delta_j,:}^{\rm H} )^{-1} \mathbf k_{\delta_j,:} \mathbf B\\ &\quad\mathbf K=\left[ \mathbf h^{b}_{m,:}\right]_{m \notin \mathcal D} \\ &\textcolor{red}{\text{end}}\\ &\hat{\mathbf H}_b=\left[ \mathbf h^{b}_{m,:}\right]_{m \notin \mathcal D} \end{aligned}
Algorithminput:Hb,SNRoutput:H^bK=HbB=(I+SNR⋅KHK)−1for j=1:n-Nfor l=1:n-j+1Ωˇ(l)=kl,:Bkl,:Hendδj=argmin{Ω(l)}D={δ1,⋯,δj}B=B+Bkδj,:H(SNR−1−kδj,:Bkδj,:H)−1kδj,:BK=[hm,:b]m∈/DendH^b=[hm,:b]m∈/D
步骤里面的
B
\mathbf B
B 计算方式:
B
=
(
I
+
SNR
⋅
K
H
K
)
−
1
\mathbf B= (\mathbf I+\text{SNR}\cdot \mathbf K^{\rm H} \mathbf K )^{-1}
B=(I+SNR⋅KHK)−1
K H ( l ) K ( l ) = K H K − ( k l , : b ) H k l , : b B ˇ = ( I + SNR ⋅ K H ( l ) K ( l ) ) − 1 = [ I + SNR ⋅ K H K − SNR ⋅ ( k l , : b ) H k l , : b ] − 1 \mathbf K^{\mathrm{H} (l)} \mathbf K^{(l)} = \mathbf K^{\rm H}\mathbf K -(\mathbf k_{l,:}^{b})^{\rm H} \mathbf k_{l,:}^{b} \\ \check{\mathbf B}=(\mathbf I+\text{SNR}\cdot \mathbf K^{\mathrm{H} (l)} \mathbf K^{(l)} )^{-1} =\bigg[\mathbf I+\text{SNR}\cdot \mathbf K^{\rm H}\mathbf K -\text{SNR}\cdot(\mathbf k_{l,:}^{b})^{\rm H} \mathbf k_{l,:}^{b} \bigg]^{-1} KH(l)K(l)=KHK−(kl,:b)Hkl,:bBˇ=(I+SNR⋅KH(l)K(l))−1=[I+SNR⋅KHK−SNR⋅(kl,:b)Hkl,:b]−1
这里用到了大名鼎鼎的矩阵求逆引理(Matrix Inversion Lemma)参考1-参考2-参考3:
( P + ρ A H A ) − 1 = P − 1 − ρ P − 1 A H ( I + ρ A P − 1 A H ) − 1 A P − 1 (\mathbf P+\rho \mathbf A^{H}\mathbf A)^{-1} =\mathbf P^{-1} -\rho \mathbf P^{-1}\mathbf A^{H} (\mathbf I+\rho\mathbf A \mathbf P^{-1}\mathbf A^{H})^{-1} \mathbf A \mathbf P^{-1} (P+ρAHA)−1=P−1−ρP−1AH(I+ρAP−1AH)−1AP−1
( P + ρ a H a ) − 1 = P − 1 − ρ P − 1 a H ( I + ρ a P − 1 a H ) − 1 a P − 1 (\mathbf P+\rho \mathbf a^{H}\mathbf a)^{-1} =\mathbf P^{-1} -\rho \mathbf P^{-1}\mathbf a^{H} (\mathbf I+\rho\mathbf a \mathbf P^{-1}\mathbf a^{H})^{-1} \mathbf a \mathbf P^{-1} (P+ρaHa)−1=P−1−ρP−1aH(I+ρaP−1aH)−1aP−1
因此,就有对应的
( P + ρ a a H ) − 1 = P − 1 − ρ P − 1 a ( 1 + ρ a H P − 1 a ) − 1 a H P − 1 (\mathbf P+\rho \mathbf a\mathbf a^{H})^{-1} =\mathbf P^{-1} -\rho \mathbf P^{-1}\mathbf a ( 1+ \rho\mathbf a^{H} \mathbf P^{-1}\mathbf a )^{-1} \mathbf a^{H} \mathbf P^{-1} (P+ρaaH)−1=P−1−ρP−1a(1+ρaHP−1a)−1aHP−1
( P − ρ a a H ) − 1 = P − 1 + ρ P − 1 a ( 1 − ρ a H P − 1 a ) − 1 a H P − 1 (\mathbf P-\rho \mathbf a\mathbf a^{H})^{-1} =\mathbf P^{-1} +\rho \mathbf P^{-1}\mathbf a (1 -\rho\mathbf a^{H} \mathbf P^{-1}\mathbf a )^{-1} \mathbf a^{H} \mathbf P^{-1} (P−ρaaH)−1=P−1+ρP−1a(1−ρaHP−1a)−1aHP−1
注意这里的 a \mathbf a a 是列向量。
步骤里面的 B \mathbf B B 的更新公式就可以如下推导( k l , : H \mathbf k_{l,:}^{\rm H} kl,:H 是列向量):
B ˇ = [ I + ρ ⋅ K H K − ρ ⋅ k l , : H k l , : ] − 1 = [ I + ρ ⋅ K H K ] − 1 + ρ [ I + ρ ⋅ K H K ] − 1 k l , : H ( 1 − ρ k l , : [ I + ρ ⋅ K H K ] − 1 k l , : H ) − 1 k l , : [ I + ρ ⋅ K H K ] − 1 = B + ρ B k l , : H ( 1 − ρ k l , : B k l , : H ) − 1 k l , : B = B + ρ B k l , : H ( ρ [ ρ − 1 − k l , : B k l , : H ] ) − 1 k l , : B = B + ( ρ ρ − 1 ) B k l , : H ( ρ − 1 − k l , : B k l , : H ) − 1 k l , : B \begin{aligned} \check{\mathbf B}&=\bigg[\textcolor{blue}{\mathbf I+\rho \cdot \mathbf K^{\rm H}\mathbf K} -\textcolor{red}{ \rho \cdot \mathbf k_{l,:}^{\rm H} \mathbf k_{l,:}} \bigg]^{-1} \\ &=\bigg[\textcolor{blue}{\mathbf I+\rho \cdot \mathbf K^{\rm H}\mathbf K}\bigg]^{-1} +\rho\bigg[\textcolor{blue}{\mathbf I+\rho \cdot \mathbf K^{\rm H}\mathbf K}\bigg]^{-1} \mathbf k_{l,:}^{\rm H} \left( 1-\rho \mathbf k_{l,:} \bigg[\textcolor{blue}{\mathbf I+\rho \cdot \mathbf K^{\rm H}\mathbf K}\bigg]^{-1} \mathbf k_{l,:}^{\rm H} \right)^{-1} \mathbf k_{l,:} \bigg[\textcolor{blue}{\mathbf I+\rho \cdot \mathbf K^{\rm H}\mathbf K}\bigg]^{-1} \\ &=\textcolor{blue}{ \mathbf B}+ \rho \textcolor{blue}{ \mathbf B} \mathbf k_{l,:}^{\rm H} \left( 1-\rho \mathbf k_{l,:} \textcolor{blue}{ \mathbf B} \mathbf k_{l,:}^{\rm H} \right)^{-1} \mathbf k_{l,:} \textcolor{blue}{ \mathbf B} \\ &=\textcolor{blue}{ \mathbf B}+ \rho \textcolor{blue}{ \mathbf B} \mathbf k_{l,:}^{\rm H} \bigg( \rho \Big[\rho^{-1} - \mathbf k_{l,:} \textcolor{blue}{ \mathbf B} \mathbf k_{l,:}^{\rm H} \Big] \bigg)^{-1} \mathbf k_{l,:} \textcolor{blue}{ \mathbf B} \\ &=\textcolor{blue}{ \mathbf B}+ (\rho\rho^{-1}) \textcolor{blue}{ \mathbf B} \mathbf k_{l,:}^{\rm H} \bigg( \rho^{-1} - \mathbf k_{l,:} \textcolor{blue}{ \mathbf B} \mathbf k_{l,:}^{\rm H} \bigg)^{-1} \mathbf k_{l,:} \textcolor{blue}{ \mathbf B} \\ \end{aligned} Bˇ=[I+ρ⋅KHK−ρ⋅kl,:Hkl,:]−1=[I+ρ⋅KHK]−1+ρ[I+ρ⋅KHK]−1kl,:H(1−ρkl,:[I+ρ⋅KHK]−1kl,:H)−1kl,:[I+ρ⋅KHK]−1=B+ρBkl,:H(1−ρkl,:Bkl,:H)−1kl,:B=B+ρBkl,:H(ρ[ρ−1−kl,:Bkl,:H])−1kl,:B=B+(ρρ−1)Bkl,:H(ρ−1−kl,:Bkl,:H)−1kl,:B
参考文献
写到这里,才发现不过是在翻译一篇论文,文献出处如下,早知道我就不码字了。
[1] P. V. Amadori and C. Masouros, “Low RF-Complexity Millimeter-Wave Beamspace-MIMO Systems by Beam Selection,” in IEEE Transactions on Communications, vol. 63, no. 6, pp. 2212-2223, Jun. 2015. doi: 10.1109/TCOMM.2015.2431266
关于矩阵求逆引理(Matrix Inversion Lemma),下面这篇文献也有提了一句:
[2] A. Gorokhov, D. Gore and A. Paulraj, “Receive antenna selection for MIMO flat-fading channels: theory and algorithms,” in IEEE Transactions on Information Theory, vol. 49, no. 10, pp. 2687-2696, Oct. 2003. doi: 10.1109/TIT.2003.817458
后记
仿真实验设置中,
-
最大幅值选择算法选择的波束数量是由设置的门限确定的,在具体使用此算法的时候,每个用户都选择其信道向量中幅值最大的波束序号对应的行即可,最后再取并集。
-
对于最大信干噪比选择、最大容量选择算法而言,除了可以固定选择波束的数量,还可以固定选择波束的信道能量捕获比,也就是不再固定选择波束的数量。
定义信道能量捕获比 CPC(Channel Power Captured):
η
=
tr
(
H
^
b
H
^
b
H
)
tr
(
H
b
H
b
H
)
\eta = \frac{\text{tr} ({ \hat{\mathbf H}_b \hat{\mathbf H}_b^{\rm H}} )}{ \text{tr} ({ {\mathbf H}_b {\mathbf H}_b^{\rm H} } )}
η=tr(HbHbH)tr(H^bH^bH)
对于最大信干噪比选择和最大容量选择算法来说,实验设置可以固定信道能量捕获比 95%。