参考文章来自:基于能量采集的认知无线电时间和功率分配研究
https://x.cnki.net/read/article/pdfonline?filename=1019692099.nh&tablename=CMFDTOTAL&dbcode=CMFD&topic=&fileSourceType=1&taskId=&from=&groupid=&appId=CRSP_BASIC_PSMC&act=&ts=1584181528728
基于能量采集的认知无线电时间分配
模型:一对主用户PT,PR,M对认知用户ST,SR,一个时隙T:
t
1
,
t
2
,
t
3
,
t
4
t_1,t_2,t_3,t_4
t1,t2,t3,t4
模型如下图:
1.在t1时间内,认知用户采集能量
认知用户采集PT射频信号的能量,
E
k
E_k
Ek:第k个认知用户采集到的能量
E
k
=
t
1
ξ
k
P
a
∣
h
a
c
∣
2
E_k=t_1\xi_kP_a|h_{ac}|^2
Ek=t1ξkPa∣hac∣2
ξ
k
\xi_k
ξk表示
S
T
k
ST_k
STk的能量采集效率,
P
a
P_a
Pa表示
P
T
PT
PT的发射功率,
h
a
c
h_{ac}
hac表示
S
T
k
ST_k
STk的信道系数
PR收到的信号:
y
b
1
=
P
a
h
a
b
x
a
+
n
b
y_{b1}=\sqrt{P_a}h_{ab}x_a+n_b
yb1=Pahabxa+nb
h
a
b
h_{ab}
hab是链路PT->PR的信道系数,
x
a
x_a
xa是PT发送的信号,
n
b
n_b
nb是PR处的噪声。假设信道中的噪声是加性高斯白噪声,其噪声功率为
N
0
N_0
N0,认知用户的干扰忽略不计。
直连链路,PR收到的信噪比:
γ
a
b
=
P
a
∣
h
a
b
∣
2
N
0
\gamma_{ab}=\frac{P_a|h_{ab}|^2}{N_0}
γab=N0Pa∣hab∣2
信噪比=S/N=log(信号功率密度/噪声功率密度)
2.在
t
2
t_2
t2时间内,主用户选择最佳的中继
选择中继的要求:
a.
E
k
≥
E
t
h
E_k \geq E_{th}
Ek≥Eth ,
E
t
h
E_{th}
Eth是能量门限
b.
∣
h
c
k
b
∣
2
≥
G
t
h
|h_{c_kb}|^2 \geq G_{th}
∣hckb∣2≥Gth,
G
t
h
G_{th}
Gth是
S
T
k
ST_k
STk->PR的信道增益门限
若有多个认知用户满足则,选择能量与信道增益乘积最大的作为中继节点。
3.
t
3
t_3
t3时间内,最佳中继认知用户
S
T
k
ST_k
STk协助主用户传输信息
通过解码转发方式,
S
T
k
ST_k
STk收到PT的信号:
y
c
k
=
P
a
h
a
c
k
x
a
+
n
c
k
y_{c_k}=\sqrt{P_a}h_{a{c_k}}x_a+n_{c_k}
yck=Pahackxa+nck其中,
n
c
k
n_{c_k}
nck是
S
T
k
ST_k
STk收到的高斯白噪声,噪声功率为
N
0
N_0
N0。
S
T
k
ST_k
STk收到来自PT的信噪比为:
γ
a
c
k
=
P
a
∣
h
a
c
k
∣
2
N
0
\gamma_{a{c_k}}=\frac{P_a|h_{a{c_k}}|^2}{N_0}
γack=N0Pa∣hack∣2主用户目的节点PR收到中继节点的信息:
y
b
2
=
(
1
−
λ
)
p
c
k
h
c
k
b
x
c
k
+
n
b
y_{b2}=\sqrt{(1-\lambda)p_{c_k}}h_{c_kb}x_{c_k}+n_b
yb2=(1−λ)pckhckbxck+nb
其中
p
c
k
p_{c_k}
pck是认知用户
S
T
k
ST_k
STk的发射功率,
λ
\lambda
λ是认知用户功率分配的占比系数,
x
c
k
x_{c_k}
xck是
S
T
k
ST_{k}
STk的发射信号,
h
c
k
b
h_{c_k}b
hckb是
S
T
k
ST_k
STk->PR的信道系数。
PR收到中继链路的信噪比为:
γ
c
k
b
=
P
c
k
∣
h
c
k
b
∣
2
N
0
\gamma_{{c_k}b}=\frac{P_{c_k}|h_{{c_k}b}|^2}{N_0}
γckb=N0Pck∣hckb∣2在一个时隙T中,PR收到的信噪比为:
γ
b
=
γ
a
b
+
m
i
n
(
γ
a
c
k
,
γ
c
k
b
)
\gamma_{b}= \gamma_{ab}+min(\gamma_{ac_k},\gamma_{c_kb})
γb=γab+min(γack,γckb)
4.在
t
4
t_4
t4时间内,认知用户发送信息给
S
R
k
SR_k
SRk
S
R
k
SR_k
SRk收到的信息:
y
d
=
λ
p
c
k
h
c
k
d
x
c
k
+
n
d
y_{d}=\sqrt{\lambda p_{c_k}}h_{c_kd}x_{c_k}+n_d
yd=λpckhckdxck+nd
S
R
k
SR_k
SRk收到的信噪比:
γ
c
k
d
=
λ
P
c
k
∣
h
c
k
d
∣
2
N
0
\gamma_{{c_k}d}= \frac{\lambda P_{c_k}|h_{{c_k}d}|^2}{N_0}
γckd=N0λPck∣hckd∣2
认知用户
S
T
k
ST_k
STk的能效函数:
η
k
=
B
t
4
log
2
(
γ
c
k
d
k
+
1
)
λ
p
c
k
t
4
+
(
1
−
λ
)
p
c
k
t
3
\eta_{k}= \frac{Bt_4\log_2({\gamma_{{c_k}{d_k} }+1)}}{\lambda p_{c_k}t_4+(1-\lambda)p_{c_k}t_3}
ηk=λpckt4+(1−λ)pckt3Bt4log2(γckdk+1)
上式右边上下都是凸函数,优化问题可以用效用函数来解决,效用函数:
u
k
=
t
4
B
log
2
(
1
+
γ
c
k
d
k
)
−
w
1
p
c
k
(
λ
t
4
+
(
1
−
λ
)
t
3
)
u_k=t_4B\log_2(1+\gamma_{c_kd_k})-w_1p_{c_k}(\lambda t_4+(1-\lambda)t_3)
uk=t4Blog2(1+γckdk)−w1pck(λt4+(1−λ)t3)
w
1
w_1
w1是代价因子,
w
1
p
c
k
(
λ
t
4
+
(
1
−
λ
)
t
3
)
w_1p_{c_k}(\lambda t_4+(1-\lambda)t_3)
w1pck(λt4+(1−λ)t3)是代价函数。
优化函数可写为:
max
u
k
u_k
uk
s.t
γ
b
≥
S
N
R
t
h
\gamma_b \geq SNR_{th}
γb≥SNRth
P
c
k
∣
h
c
k
d
k
∣
2
<
I
t
h
P_{c_k}|h_{c_kd_k}|^2<I_{th}
Pck∣hckdk∣2<Ith
t
1
+
t
2
+
t
3
+
t
4
≤
T
t_1+t_2+t_3+t_4\leq T
t1+t2+t3+t4≤T
0
<
t
i
<
T
0<t_i<T
0<ti<T,i=1,2,3,4
γ
b
=
γ
a
b
+
m
i
n
(
γ
a
c
k
,
γ
c
k
b
)
\gamma_{b}= \gamma_{ab}+min(\gamma_{ac_k},\gamma_{c_kb})
γb=γab+min(γack,γckb),
S
N
R
t
h
SNR_{th}
SNRth是主用户服务要求的门限,
I
t
h
I_{th}
Ith是认知用户对主用户造成干扰的门限值,那么优化问题可以写为:
max
u
k
u_k
uk
s.t
γ
a
b
+
γ
a
c
k
≥
S
N
R
t
h
\gamma_{ab}+\gamma_{ac_k} \geq SNR_{th}
γab+γack≥SNRth
γ
a
b
+
γ
c
k
b
≥
S
N
R
t
h
\gamma_{ab}+\gamma_{c_kb} \geq SNR_{th}
γab+γckb≥SNRth
P
c
k
∣
h
c
k
d
k
∣
2
<
I
t
h
P_{c_k}|h_{c_kd_k}|^2<I_{th}
Pck∣hckdk∣2<Ith
t
1
+
t
2
+
t
3
+
t
4
≤
T
t_1+t_2+t_3+t_4\leq T
t1+t2+t3+t4≤T
0
<
t
i
<
T
0<t_i<T
0<ti<T,i=1,2,3,4
时间分配算法
使用随机的启发式搜索算法——自适应差分进化算法,来搜索目标函数的最优值,差分进化算法有较强的全局收敛能力,自适应差分进化算法提高了搜索到全局最优值的概率。
假设在一个时隙T内,最佳中继认知用户
S
T
k
ST_k
STk存储的能量用完,即:
E
k
=
λ
p
c
k
t
4
+
(
1
+
λ
)
p
c
k
t
3
E_k=\lambda p_{c_k}t_4+(1+\lambda)p_{c_k}t_3
Ek=λpckt4+(1+λ)pckt3
自适应差分进化算法步骤:种群初始化、变异操作、交叉操作、选择操作
(1)种群初始化
min
−
u
k
-u_k
−uk
s.t
γ
a
b
+
γ
a
c
k
≥
S
N
R
t
h
\gamma_{ab}+\gamma_{ac_k} \geq SNR_{th}
γab+γack≥SNRth
γ
a
b
+
γ
c
k
b
≥
S
N
R
t
h
\gamma_{ab}+\gamma_{c_kb} \geq SNR_{th}
γab+γckb≥SNRth
P
c
k
∣
h
c
k
∣
2
<
I
t
h
P_{c_k}|h_{c_k}|^2<I_{th}
Pck∣hck∣2<Ith
t
1
+
t
2
+
t
3
+
t
4
≤
T
t_1+t_2+t_3+t_4\leq T
t1+t2+t3+t4≤T
0
<
t
i
<
T
0<t_i<T
0<ti<T,i=1,2,3,4
初始化种群:
t
j
,
i
,
0
=
r
a
n
d
[
0
,
1
]
(
t
j
(
U
)
−
t
j
(
L
)
)
+
x
j
(
L
)
t_{j,i,0}=rand[0,1](t_j^{(U)}-t_j^{(L)})+x_j^{(L)}
tj,i,0=rand[0,1](tj(U)−tj(L))+xj(L)
t
j
(
U
)
和
t
j
(
L
)
t_j^{(U)} 和t_j^{(L)}
tj(U)和tj(L)是根据优化函数得处
t
j
t_j
tj的最大值和最小值
(2)变异
变异操作之后,自适应差分进化算法的变异向量:
x
i
,
g
+
1
=
t
r
1
,
g
+
F
(
t
r
2
,
g
−
t
r
3
,
g
)
x_{i,g+1}=t_{r_1,g}+F(t_{r_2,g}-t_{r_3,g})
xi,g+1=tr1,g+F(tr2,g−tr3,g)
其中,
r
1
,
r
2
,
r
3
r_1,r_2,r_3
r1,r2,r3是随机选择的序号数,且
r
1
≠
r
2
≠
r
3
≠
i
r_1 \neq r_2 \neq r_3 \neq i
r1=r2=r3=i,i是目标向量的序号,F是自适应变异算子:
F
=
F
0
2
σ
,
其
中
σ
=
e
1
−
(
G
/
(
G
+
1
−
g
)
)
F=F_02^\sigma,其中\sigma=e^{1-(G/(G+1-g))}
F=F02σ,其中σ=e1−(G/(G+1−g)),G是最大进化代数,g表示当前进化代数,
F
0
F_0
F0表示初始变异算子。
(3)交叉
目的是增加干扰参数向量的多样性,实验向量:
u
i
,
g
+
1
=
u_{i,g+1}=
ui,g+1={
u
1
i
,
g
+
1
,
u
2
i
,
g
+
1
,
u
3
i
,
g
+
1
,
u
4
i
,
g
+
1
u_{1i,g+1},u_{2i,g+1},u_{3i,g+1},u_{4i,g+1}
u1i,g+1,u2i,g+1,u3i,g+1,u4i,g+1}
u
j
i
=
x
j
i
,
g
+
1
,
r
a
n
d
b
(
j
)
<
=
C
R
∣
∣
j
=
r
n
b
r
(
i
)
u_{ji}=x_{ji,g+1},randb(j)<=CR|| j=rnbr(i)
uji=xji,g+1,randb(j)<=CR∣∣j=rnbr(i)
u
j
i
=
t
j
i
,
g
+
1
,
r
a
n
d
b
(
j
)
>
C
R
∣
∣
j
≠
r
n
b
r
(
i
)
u_{ji}=t_{ji,g+1},randb(j)>CR|| j\neq rnbr(i)
uji=tji,g+1,randb(j)>CR∣∣j=rnbr(i)
其中,randb(j)表示第j个随机数,范围在[0,1],rnbr(i)={1,2,3,4}随机选择序列,交叉算子CR取值在[0,1]。
(4)选择
求出的最优函数的最小值与实验向量对比,取二者中的最小值为当前个体,循环以上四个操作至最大进化代数G。
仿真结果:
设置参数
P
a
,
I
t
h
,
N
0
,
G
m
,
F
0
,
C
R
,
N
p
,
t
i
,
λ
P_a,I_{th},N_0,G_m,F_0,CR,N_p,t_i,\lambda
Pa,Ith,N0,Gm,F0,CR,Np,ti,λ。
结论:
当时隙T越大,认知用户的效用函数越大,非平均子时隙分配的效用函数比子时隙平均分配的效用函数大。对于固定时间分配,信道质量越好,发射功率越好,认知用户的效用函数越高;当主用户的信噪比门限值越高,认知用户的效用函数越小。
关于差分进化算法https://blog.csdn.net/jodie123456/article/details/95486270,这篇博客讲得清楚些,如果博文中有错,欢迎指正。