欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

基于能量采集的认知无线电时间和功率分配(二)

发布时间:2023/12/9 编程问答 63 豆豆
生活随笔 收集整理的这篇文章主要介绍了 基于能量采集的认知无线电时间和功率分配(二) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

参考文章来自:基于能量采集的认知无线电时间和功率分配研究
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:t1,t2,t3,t4t_1,t_2,t_3,t_4 t1,t2,t3,t4
模型如下图:
1.在t1时间内,认知用户采集能量
认知用户采集PT射频信号的能量,EkE_kEk:第k个认知用户采集到的能量
Ek=t1ξkPa∣hac∣2E_k=t_1\xi_kP_a|h_{ac}|^2Ek=t1ξkPahac2
ξk\xi_kξk表示STkST_kSTk的能量采集效率,PaP_aPa表示PTPTPT的发射功率,hach_{ac}hac表示STkST_kSTk的信道系数
PR收到的信号:yb1=Pahabxa+nby_{b1}=\sqrt{P_a}h_{ab}x_a+n_byb1=Pahabxa+nb
habh_{ab}hab是链路PT->PR的信道系数,xax_axa是PT发送的信号,nbn_bnb是PR处的噪声。假设信道中的噪声是加性高斯白噪声,其噪声功率为N0N_0N0,认知用户的干扰忽略不计。
直连链路,PR收到的信噪比:γab=Pa∣hab∣2N0\gamma_{ab}=\frac{P_a|h_{ab}|^2}{N_0}γab=N0Pahab2
信噪比=S/N=log(信号功率密度/噪声功率密度)
2.在t2t_2t2时间内,主用户选择最佳的中继
选择中继的要求:
a. Ek≥EthE_k \geq E_{th}EkEth ,EthE_{th}Eth是能量门限
b. ∣hckb∣2≥Gth|h_{c_kb}|^2 \geq G_{th}hckb2GthGthG_{th}GthSTkST_kSTk->PR的信道增益门限
若有多个认知用户满足则,选择能量与信道增益乘积最大的作为中继节点。
3.t3t_3t3时间内,最佳中继认知用户STkST_kSTk协助主用户传输信息
通过解码转发方式,STkST_kSTk收到PT的信号:yck=Pahackxa+ncky_{c_k}=\sqrt{P_a}h_{a{c_k}}x_a+n_{c_k}yck=Pahackxa+nck其中,nckn_{c_k}nckSTkST_kSTk收到的高斯白噪声,噪声功率为N0N_0N0
STkST_kSTk收到来自PT的信噪比为:
γack=Pa∣hack∣2N0\gamma_{a{c_k}}=\frac{P_a|h_{a{c_k}}|^2}{N_0}γack=N0Pahack2主用户目的节点PR收到中继节点的信息:
yb2=(1−λ)pckhckbxck+nby_{b2}=\sqrt{(1-\lambda)p_{c_k}}h_{c_kb}x_{c_k}+n_byb2=(1λ)pckhckbxck+nb
其中pckp_{c_k}pck是认知用户STkST_kSTk的发射功率,λ\lambdaλ是认知用户功率分配的占比系数,xckx_{c_k}xckSTkST_{k}STk的发射信号,hckbh_{c_k}bhckbSTkST_kSTk->PR的信道系数。
PR收到中继链路的信噪比为:
γckb=Pck∣hckb∣2N0\gamma_{{c_k}b}=\frac{P_{c_k}|h_{{c_k}b}|^2}{N_0}γckb=N0Pckhckb2在一个时隙T中,PR收到的信噪比为:
γb=γab+min(γack,γckb)\gamma_{b}= \gamma_{ab}+min(\gamma_{ac_k},\gamma_{c_kb})γb=γab+min(γack,γckb)
4.在t4t_4t4时间内,认知用户发送信息给SRkSR_kSRk
SRkSR_kSRk收到的信息:
yd=λpckhckdxck+ndy_{d}=\sqrt{\lambda p_{c_k}}h_{c_kd}x_{c_k}+n_dyd=λpckhckdxck+nd
SRkSR_kSRk收到的信噪比:
γckd=λPck∣hckd∣2N0\gamma_{{c_k}d}= \frac{\lambda P_{c_k}|h_{{c_k}d}|^2}{N_0}γckd=N0λPckhckd2
认知用户STkST_kSTk的能效函数:
ηk=Bt4log⁡2(γckdk+1)λpckt4+(1−λ)pckt3\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)
上式右边上下都是凸函数,优化问题可以用效用函数来解决,效用函数:uk=t4Blog⁡2(1+γckdk)−w1pck(λt4+(1−λ)t3)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)
w1w_1w1是代价因子,w1pck(λt4+(1−λ)t3)w_1p_{c_k}(\lambda t_4+(1-\lambda)t_3)w1pck(λt4+(1λ)t3)是代价函数。
优化函数可写为:
max uku_kuk
s.t γb≥SNRth\gamma_b \geq SNR_{th}γbSNRth
Pck∣hckdk∣2<IthP_{c_k}|h_{c_kd_k}|^2<I_{th}Pckhckdk2<Ith
t1+t2+t3+t4≤Tt_1+t_2+t_3+t_4\leq Tt1+t2+t3+t4T
0<ti<T0<t_i<T0<ti<T,i=1,2,3,4
γb=γab+min(γack,γckb)\gamma_{b}= \gamma_{ab}+min(\gamma_{ac_k},\gamma_{c_kb})γb=γab+min(γack,γckb)SNRthSNR_{th}SNRth是主用户服务要求的门限,IthI_{th}Ith是认知用户对主用户造成干扰的门限值,那么优化问题可以写为:
max uku_kuk
s.t γab+γack≥SNRth\gamma_{ab}+\gamma_{ac_k} \geq SNR_{th}γab+γackSNRth
γab+γckb≥SNRth\gamma_{ab}+\gamma_{c_kb} \geq SNR_{th}γab+γckbSNRth
Pck∣hckdk∣2<IthP_{c_k}|h_{c_kd_k}|^2<I_{th}Pckhckdk2<Ith
t1+t2+t3+t4≤Tt_1+t_2+t_3+t_4\leq Tt1+t2+t3+t4T
0<ti<T0<t_i<T0<ti<T,i=1,2,3,4

时间分配算法

使用随机的启发式搜索算法——自适应差分进化算法,来搜索目标函数的最优值,差分进化算法有较强的全局收敛能力,自适应差分进化算法提高了搜索到全局最优值的概率。
假设在一个时隙T内,最佳中继认知用户STkST_kSTk存储的能量用完,即:Ek=λpckt4+(1+λ)pckt3E_k=\lambda p_{c_k}t_4+(1+\lambda)p_{c_k}t_3Ek=λpckt4+(1+λ)pckt3
自适应差分进化算法步骤:种群初始化、变异操作、交叉操作、选择操作
(1)种群初始化
min −uk-u_kuk
s.t γab+γack≥SNRth\gamma_{ab}+\gamma_{ac_k} \geq SNR_{th}γab+γackSNRth
γab+γckb≥SNRth\gamma_{ab}+\gamma_{c_kb} \geq SNR_{th}γab+γckbSNRth
Pck∣hck∣2<IthP_{c_k}|h_{c_k}|^2<I_{th}Pckhck2<Ith
t1+t2+t3+t4≤Tt_1+t_2+t_3+t_4\leq Tt1+t2+t3+t4T
0<ti<T0<t_i<T0<ti<T,i=1,2,3,4
初始化种群:tj,i,0=rand[0,1](tj(U)−tj(L))+xj(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)
tj(U)和tj(L)t_j^{(U)} 和t_j^{(L)}tj(U)tj(L)是根据优化函数得处tjt_jtj的最大值和最小值
(2)变异
变异操作之后,自适应差分进化算法的变异向量:
xi,g+1=tr1,g+F(tr2,g−tr3,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,gtr3,g)
其中,r1,r2,r3r_1,r_2,r_3r1,r2,r3是随机选择的序号数,且r1≠r2≠r3≠ir_1 \neq r_2 \neq r_3 \neq ir1=r2=r3=i,i是目标向量的序号,F是自适应变异算子:F=F02σ,其中σ=e1−(G/(G+1−g))F=F_02^\sigma,其中\sigma=e^{1-(G/(G+1-g))}F=F02σ,σ=e1(G/(G+1g)),G是最大进化代数,g表示当前进化代数,F0F_0F0表示初始变异算子。
(3)交叉
目的是增加干扰参数向量的多样性,实验向量:
ui,g+1=u_{i,g+1}=ui,g+1={ u1i,g+1,u2i,g+1,u3i,g+1,u4i,g+1u_{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}
uji=xji,g+1,randb(j)<=CR∣∣j=rnbr(i)u_{ji}=x_{ji,g+1},randb(j)<=CR|| j=rnbr(i)uji=xji,g+1,randb(j)<=CRj=rnbr(i)
uji=tji,g+1,randb(j)>CR∣∣j≠rnbr(i)u_{ji}=t_{ji,g+1},randb(j)>CR|| j\neq rnbr(i)uji=tji,g+1,randb(j)>CRj=rnbr(i)
其中,randb(j)表示第j个随机数,范围在[0,1],rnbr(i)={1,2,3,4}随机选择序列,交叉算子CR取值在[0,1]。
(4)选择
求出的最优函数的最小值与实验向量对比,取二者中的最小值为当前个体,循环以上四个操作至最大进化代数G。
仿真结果:
设置参数Pa,Ith,N0,Gm,F0,CR,Np,ti,λP_a,I_{th},N_0,G_m,F_0,CR,N_p,t_i,\lambdaPa,Ith,N0,Gm,F0,CR,Np,ti,λ
结论
当时隙T越大,认知用户的效用函数越大,非平均子时隙分配的效用函数比子时隙平均分配的效用函数大。对于固定时间分配,信道质量越好,发射功率越好,认知用户的效用函数越高;当主用户的信噪比门限值越高,认知用户的效用函数越小。

关于差分进化算法https://blog.csdn.net/jodie123456/article/details/95486270,这篇博客讲得清楚些,如果博文中有错,欢迎指正。

总结

以上是生活随笔为你收集整理的基于能量采集的认知无线电时间和功率分配(二)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。