APP下载

基于SumTree采样结合Double DQN的非合作式多用户动态功率控制方法*

2023-10-31王永华尹泽中

电讯技术 2023年10期
关键词:发射功率信噪比频谱

刘 骏,王永华,王 磊,尹泽中

(广东工业大学 自动化学院,广州 510006)

0 引 言

伴随着无线通信技术的迅猛发展,5G技术也迎来了更加广泛的应用,不同的终端和设备可以通过无线技术接入到互联网,基于5G技术的万物互联也变成了可能[1]。无线通信业务快速增长的同时也导致对频谱需求的急剧增加,当前部分比较传统且固定的静态分配方法已无法满足频谱资源共享的需求[2]。认知无线电的目标是为了实现频谱资源的高效利用,而功率控制技术作为一项重要的认知无线电技术,自然也是频谱共享领域的重要研究方向[3-4]。

发射功率是一种重要的无线通信资源,对于认知无线网络(Cognitive Radio Network,CRN)的功率控制问题,目前已有很多相关的研究。文献[5]研究了由一个基站和多个用户组成的简单物联网系统,使用深度Q网络(Deep Q Network,DQN)解决了该场景下的访问控制和连续控制问题,使得对于功率的发射控制更加灵活,但没有考虑发射功率的损耗问题,并且算法的复杂度也比较高。文献[6]提出了一种动态多目标方法用于认知无线电中的功率和频谱分配,该方法的算法复杂度不是很高,并且有利于释放认知无线电的潜能,但该方法没有考虑频谱分配的成功率以及发射功率的损耗问题。文献[7]设计了一种分布式深度强化学习的功率控制方案,在该方案中CRN采用分层DQN来实现动态频谱分配,算法复杂度较低,收敛速度较快,但却没有考虑到要最大化吞吐量上限和降低功率损耗等问题。文献[8]提出将用户社会关系考虑到频谱的功率控制中并验证了该方法的可行性,创新性地提供了一个新的应用场景,但该方法的算法复杂度比较高,并且也没有考虑到发射功率的损耗问题。

总的来说,目前的功率控制方法往往没有很好地平衡次用户(Second User,SU)的功率损耗和次用户通信服务质量(Quality of Service,QoS)之间的性能关系。本文为了解决认知无线网络中多个用户的动态功率控制问题,既保证SU本身的QoS,同时还要降低SU因发射功率不合理而造成的功率损耗,提出了一种基于SumTree采样结合Double DQN的非合作式多用户动态功率控制方法,可以解耦目标Q值动作的选择和目标Q值的计算,能够有效减少过度估计和算法的损失。在抽取经验样本时采用结合优先级和随机抽样的SumTree采样方法,既能保证优先级转移也能保证最低优先级的非零概率采样。同时,建立了SU重叠式接入到主用户(Primary User,PU)信道的动态频谱资源分配模型,主次用户为非合作式关系,SU可以不断与辅助基站进行交互,在动态变化的环境下经过不断的学习,选择以较低的发射功率完成功率控制任务,达到减少能耗的目的。仿真结果表明,本文方法的算法损失函数更小,算法收敛速度更快,还能有效提高次用户功率控制的成功率和次用户总的吞吐量上限。

1 系统模型

如图1所示,本模型中有1个主基站(Primary Base Station,PBS),位于本模型靠近中心的位置,它能够保障PU的正常通信。多个辅助基站(Auxiliary Base Station,ABS)随机散布于模型中的各个区域,采集主次用户接收信号强度信息(Received Signal Strength Information,RSSI)[9],同时还能够与SU进行交互和通信,并把采集到的PU及SU的RSSI信息再传送给SU。M个PU和N个SU(N>M)随机散布于各个区域。采用自由路径损耗的信道模型,主次用户基于同一个信道进行通信,并且主次用户为非合作式的关系,SU采用重叠式接入PU信道。

图1 系统模型

在本模型中,SU采用重叠式接入PU信道,SU接入到PU的频段是会对PU的通信造成一定干扰的,并且这个干扰会随着SU数量的增多而增大。而PU和SU进行频谱共享的一个重要要求是SU不能对PU的正常通信造成干扰,因此在进行功率控制时需要将SU的发射功率控制在一定的阈值之内。但是,SU的发射功率过低会导致其无法满足自身的QoS要求,甚至可能会导致SU的通信发生中断。所以,对于功率控制技术而言,就是要处理好SU对PU的通信干扰问题,同时也要尽可能保证SU自身的QoS。这就需要SU在进行功率控制时寻找到发射功率的平衡点,通过学习主次用户的RSSI信息自适应地调整发射功率来完成通信任务。

信干噪比(Signal-to-Interference plus Noise Ratio,SINR)是衡量链路质量的重要指标。定义第i个PU的信噪比为[10]

(1)

同理,定义第j个SU的信噪比为

j=1,2,…,N。

(2)

本模型的认知无线网络环境是动态变化的,PU和SU都是通过信噪比来判断自身的QoS。对于PU而言,设定任意主用户i正常工作的要求为

γi≥μi。

(3)

为了满足QoS,PU应根据自身需要智能调整发射功率。而一种高效的PU功率控制策略能够有效减少因频繁切换带来的能量损耗,从而可以在一定程度上节约能源。因此,本文引入一种较为高效且智能的PU功率控制策略[11]。

首先设置PU功率值集合为

Pi(t){P1,P2,…,Pl}。

(4)

定义PU的功率控制策略如下:

(5)

式中:

(6)

当前时刻对下一时刻的PU信噪比预测值为

(7)

式中:l为PU动作空间的长度。

该本策略通过判断当前时刻PU信噪比是否达到阈值要求,并预测下一时刻是否能够满足要求,只通过一次切换即可完成功率发射。具体地,若t时刻PU信噪比低于要求阈值,但预测到下一时刻提高自身发射功率就能够满足要求,此时PU会增加发射功率;若t时刻PU已满足阈值要求,且预测下一时刻下调功率仍然满足要求,此时PU会减小发射功率以降低能耗。其余情况维持当前功率不变。

在实际情况中,SU接入到PU的频段是会对PU的通信造成一定干扰的,而PU和SU进行频谱共享的一个重要前提是SU不能对PU的正常通信造成干扰。所以对于SU的功率控制策略,本文将采用深度强化学习的方法,使SU通过不断的学习,能够智能选择和更新自身的发射功率,达到提高频谱资源利用率的目的。

为了模拟更加复杂的动态环境,本模型中的信道增益每隔一段时间会更新一次。根据香农定理,第j个SU的吞吐量上限与信噪比间的函数可表示为[12]

Tj(t)=Wlb(1+ργj(t))。

(8)

在该动态变化的系统中,要保证系统的功率分配效果最佳,就是既要满足PU的信噪比高于预设阈值,还要保证SU能够通过不断学习来调整自身发射功率,从而让整个系统中SU总的吞吐量上限最大化。本节涉及到的系统参数如表1所示。

表1 系统参数

2 算法设计

如图2所示,为了解决认知无线网络中多个用户的动态功率控制问题,既保证SU本身的QoS,同时还要降低SU因发射功率不合理而造成的功率损耗,本文采用一种基于SumTree采样结合Double DQN的非合作式多用户动态功率控制方法(简称ST_double DQN方法)来进行求解。使用Double DQN算法来解耦目标Q值动作的选择和目标Q值的计算,这样可以有效减少过度估计。而普通的深度强化学习使用等概率随机采样进行经验回放,这样会存在重要经验利用率不足和收敛速度较慢等问题。本文的SumTree采样方法能够对经验样本赋予不同优先级并在采样时还加入随机性,可以防止系统的过拟合,提高认知无线网络的性能。本方法能够在动态变化的环境下使SU经过不断的学习,选择以较低的发射功率完成功率控制任务,达到减少能耗的目的。

图2 基于SumTree采样结合Double DQN的非合作式多用户动态功率控制方法框图

2.1 SumTree采样

如图3所示,本文使用一种二叉树结构的存储单元作为记忆库的存储结构。SumTree存储示意图中从上往下一共有四层节点结构,最顶部的那个节点称之为根节点,最底层一行称之为叶子节点,中间两行称之为内部节点。所有经验样本的数据都是储存在叶子节点,不仅如此,叶子节点还会存储样本的优先级。除叶子节点外的所有节点都是不存储数据的,但是会保存下级的左右子节点优先级之和,并且把子节点优先级之和用数字显示出来。

图3 SumTree存储单元结构示意

SumTree采样主要是根据优先级来对样本进行训练,优先级取决于时序差分(Temporal-Difference Learning,TD)误差的大小,TD误差的值越大说明神经网络的反向传播作用越强,样本被学习的重要性就越高,相应的优先级也越高,这些样本就会优先被训练[13]。

为了保证采样能够按照优先级进行,并且所有样本都有被抽到的可能,本文采用这种结合优先级和随机抽样的方法,既能保证优先级转移也能保证最低优先级的非零概率采样。采样转移概率为

(9)

式中:pj和pk分别表示样本j和任意样本k的优先级,k代表采样的批量数;α为优先级指数,α=0时为随机均匀采样。对于pk有

pj=|TDerror(j)|+。

(10)

(11)

式(11)中:ωj表示权重系数;N代表经验池大小;β表示非均匀概率补偿系数,当β=1时就完全补偿了p(j)。

2.2 基于Double DQN的动态功率控制

强化学习属于机器学习的一个大的分支,它是多个学科交叉的领域。强化学习的数据和环境是动态的,它通过不断与环境进行交互,在试错的过程中找到有效的策略,所以它主要用来解决智能决策问题。

图4为强化学习的学习过程,该过程是伴随着智能体(Agent)和环境(Environment)的交互而产生[14]。其中,在t时刻的Agent能够感知Environment所处的状态s(t),并且Agent可以选择一个动作a(t)作用于Environment,Environment在受到动作的作用后对Agent产生一个奖励r(t),此时Environment转移进入到下一个状态s(t+1)。

图4 强化学习过程

本文研究的动态功率控制问题,本质上是一个马尔科夫决策过程[15]。设置一个四元组结构,其中S表示环境的状态值集合,A表示Agent动作值集合,R表示在状态下采用动作所得到的奖励值,π为策略函数。Agent在状态下选择动作获得的奖励期望回报为

(12)

式中:折扣因子γ∈[0,1];Rt+1为t时间步所获环境奖励值。在状态st下采取策略π的状态价值函数为

Vπ(s)=Eπ[Gt|st=s]。

(13)

基于策略π,采用动作at,则st状态下的动作价值函数为

Qπ(s,a)=Eπ[Gt|st=s,at=a]。

(14)

最优策略和最优价值函数可表示为

(15)

用Bellman最优方程求解最优价值函数可得

(16)

式中:p表示状态转移概率;s′表示在s下一时刻的状态。

Q-learning和上述马尔科夫决策过程一样,也是通过迭代更新值函数,其更新公式为

(17)

对于要解决的动态功率控制问题,SU的任务就是通过不断的学习得到最优的功率控制策略π*(s)。SU的发射功率是不断变化的,传统的强化学习方法很难对其进行求解,而DQN就能很好解决这一问题。DQN既有深度学习强大的感知能力,又具备强化学习的决策能力,还能够克服传统强化学习不能处理高维连续状态和动作空间的问题。

DQN采用的是两个结构完全相同但是参数不同的神经网络,其中一个是作为实时更新参数的神经网络结构,另一个是用于更新目标Q值的神经网络结构。目标Q值的更新公式为

(18)

将目标Q值Qtarget和当前网络Q值之间的均方差称之为损失函数,则损失函数可表示为

L(θ)=E[(Qtarget-Q(s,a;θ))2]。

(19)

然而,普通的DQN算法是从目标Q网络中寻找各个动作最大的Q值,这样会大概率选择过估计的value,进而导致value的过乐观估计。

为了解决这个问题,本文采用Double DQN算法来进行动态功率控制。如图5所示,Double DQN算法具有与普通DQN相同的网络结构,即Double DQN也有一个环境、两个结构相同但参数不同的神经网络、一个回放记忆单元以及误差函数,但Double DQN在从目标Q网络中寻找最大的Q值时能够解耦合:

图5 Double DQN结构

(20)

采用Double DQN的动态功率控制方法,ABS可将采集到的主次用户RSSI信息传送给SU,SU根据这些信息进行学习,并智能选择和更新自身的发射功率,使得在满足PU正常通信不受影响的情况下还能以一定的发射功率进行通信,从而实现频谱资源的动态共享。

1)状态

本模型下的主次用户基于同一个信道进行通信,且主次用户为非合作式的关系,SU采用重叠式通信。因为主次用户不能直接感知对方的功率发射方法,所以需要通过ABS来进行状态感知,ABS可不间断采集主次用户的RSSI信息并再传送给SU。若系统中有x个ABS,那么状态值可表示为

S(t)=[s1(t),s2(t),…,sk(t),…,sx(t)]。

(21)

定义第k个ABS采集到的RSSI信息为

(22)

式中:在t时刻,PU与ABS的距离用lik(t)表示;SU与ABS的距离用ljk(t)表示;基准距离用l0(t)表示;τ表示路径损耗指数;该环境下的平均噪声功率用σ(t)表示。

2)动作

SU通过不断接收ABS的RSSI信息,能够根据获得的状态值选择到一个动作进行输出,输出的动作为发射功率。若每个SU有H种发射功率值,那么对于有N个SU的系统,动作空间的大小为Hn。定义动作空间为

A(t)=[P1(t),P2(t),…,Pn(t)]。

(23)

3)奖励

SU想要通过不断的学习,完成动态功率控制,那么一个重要的环节就是奖励函数的设计。本文依据SU从ABS处接收观测到的不同频谱接入情况,首先设置从S1~S4的四种不同频谱接入条件:

(24)

满足任意PU信噪比都大于等于PU预设阈值记为S1,满足任意PU发射功率都大于等于所有SU发射功率的和记为S2,若存在SU信噪比大于等于SU预设阈值则记为S3,若无PU信噪比高于预设阈值则记为S4。

根据以上接入情况,定义奖励函数为

(25)

式中:a1,a2,a3为三个不同常系数。当同时满足条件S1,S2,S3时,表明SU观测到所有PU正常工作,SU顺利进行功率控制且达到了频谱资源共享的目的,此时把所有主次用户的信噪比求和并将一个正的系数a2与之相乘作为奖励值。当满足条件S4时,所有PU信噪比均低于阈值,若触发此条件,表明SU观测到所有PU的通信都受到了影响,此时将所有主次用户的信噪比求和并将一个负的a1系数与之相乘作为奖励值,这个奖励值实际上是一个惩罚,说明选择到的该动作是错误的。其余所有情况,把PU信噪比求和并乘以一个负的a3系数作为奖励值。

2.3 基于SumTree采样结合Double DQN的非合作式多用户动态功率控制方法

本文采用基于SumTree采样结合Double DQN的非合作式多用户动态功率控制方法进行求解。

固定经验池D的容量为O,确定主次用户发射功率分别为Pi(t)和Pj(t),初始化两个神经网络的参数,初始化优先级指数α和β,权重差值Δ=0,该算法的伪代码如下:

1 对于每个回合Form=1 toMdo

2 根据初始状态S0(t),选择出动作A0(t),到达下一个状态

3 对于回合中的每一步Fort=1 toTdo

4 PU自适应控制自身发射功率

5 SU基于贪婪算法选择动作,以ε概率随机选择动作At,或者以1-ε概率选择动作At=maxaQ(st,a;θ,α,β);

6 通过选择动作At,得到奖励Rt,到达下一个状态St+1

7 将样本数据(St,At,Rt,rt+1,St+1)存储到经验池中的叶子节点中,并根据各样本的时序差分误差确定优先级

8 Ift>O/2 then

10 计算采样重要性权重ωj

12 更新样本的优先级

13 基于梯度下降法更新梯度

14 更新深度双Q网络的两个神经网络的权重参数θ=θ+η·Δ,重置Δ=0

15 更新目标Q网络的权重参数θ′

16 End If

17 End For

18 每隔一定步数随机更新环境的参数

19 End For

3 仿真实验与结果分析

本节通过Python平台进行仿真实验,在相同环境中,比较不同深度强化学习算法下各项指标性能的差异。本实验的场景为半径200 m范围的圆形区域,以PBS为正中心,1个PU、2个SU和10个ABS随机分布在区域内,PBS负责PU的正常通信,ABS可收集主次用户通信信息并把收集到的数据通过专用信道再发送给SU。设置PU发射功率Pi(t)为0~30 mW范围内以5 mW为间隔的7个离散值,SU发射功率Pj(t)为0~4.5 mW范围内以0.5 mW为间隔的10个离散值。参照现有文献以及梯度进行仿真实验的结果,本实验规定PU的预设信噪比阈值不低于1.0 dB,SU预设信噪比阈值不低于0.5 dB,环境噪声均为0.1 mW。

本实验的当前Q网络和目标Q网络均使用含4个隐含层的全连接层,其中前三层隐含层神经元个数分别为256,128和256,输出层神经元个数为动作空间的大小。前两层使用ReLUs函数作为激活函数,第三层使用tanh函数作为激活函数,神经网络权重的更新方法为Adam算法。经验池的容量为1 000,当经验池容量超过500时才开始训练。批量采样数目为128,目标Q网络的更新频率为250。在动作的选择上采用贪婪算法(ε-greedy)的初始值为0.8,ε随着训练次数线性迭代至0。

本文提出的基于SumTree采样结合Double DQN的非合作式多用户动态功率控制方法,因核心算法为SumTree采样结合Double DQN,故后文及仿真实验中将该算法简称为ST_double DQN。将相同仿真环境和奖励函数下的natural DQN算法、Double DQN算法、dueling DQN算法按照其算法名称直接命名并进行实验对比和分析。同时将文献[8]中的算法(简称SAA_dueling DQN算法)也进行仿真实验与分析。

图6给出了相同环境下5种算法的损失函数对比,可以看到5种深度强化学习算法在经过一定回合的学习之后均能够达到收敛。natural DQN算法、Double DQN算法和SAA_dueling DQN算法的收敛速度都比较慢,都是直到第30回合左右才逐渐趋于稳定,并且这三种算法在收敛之前的波动也比较大。dueling DQN算法较之上述三种算法在收敛速度上稍好一些,但还是存在较大波动。而本文提出的ST_double DQN算法能够在5个回合的训练内将损失值迅速降至0.1以内,在第15回合左右即可达到收敛,并且收敛的平均损失值在0.04以内,说明本方法具有更好的适应性和学习能力。

图6 损失函数

图7为5不同算法累计奖励对比曲线。从图中可以看出,natural DQN算法、Double DQN算法和dueling DQN算法的累计奖励一直在振荡,说明这三种算法在探索过程中,一直在接入成功的动作和接入不成功的动作之间切换,最终都没有确定合适的接入动作。SAA_dueling DQN算法和ST_double DQN算法在前面4个回合都没有采取正确的动作,从第5回合开始就能探索出SU接入成功的动作,开始获得正奖励,累计奖励也持续保持上升,表明这两种算法都能够快速探索出SU接入成功的动作,找到合适的功率控制策略。

图7 累计奖励

图8为SU总的吞吐量上限图像。本模型下的动态功率控制问题,就是在满足PU通信质量的前提下,SU自适应调整自身发射功率,达到最大化SU总吞吐量的目的。初始阶段,5种算法的吞吐量上限都几乎没有变化,随着不断学习和交互,从第5回合开始,natural DQN算法、Double DQN算法和dueling DQN算法的总吞吐量上限开始持续增加,但这三种算法都在第35回合左右总吞吐量上限开始几乎保持不再增加。而SAA_dueling DQN算法和ST_double DQN算法在训练4回合后,SU的总吞吐量上限一直保持持续上升,没有出现再次下降或者不变的情况,表明这两种算法都可以使 SU总的吞吐量上限持续提高,但ST_double DQN算法的上限值略高于SAA_dueling DQN算法。

图8 次用户总的吞吐量上限

本实验训练的总次数为40 000次,每1 000次定义为图像所显示的一个回合,在每个回合内选取50次训练进行测试,若测试中SU能够选择成功的接入动作则视为成功完成传输任务,成功的次数与测试总次数的比值定义为功率控制的成功率。如图9所示,natural DQN算法、double DQN算法和Dueling DQN算法的成功率波动幅度很大,并且始终没有收敛,很不稳定。而SAA_dueling DQN算法和ST_double DQN算法虽然初始阶段波动也比较大,但这两种算法分别能够在第16回合和第15回合后就收敛并达到100%的测试成功率。

图9 功率控制成功率

图10显示的是5种算法SU的平均发射功率。总的来看,natural DQN算法的平均发射功率是最高的,Double DQN算法、dueling DQN算法和SAA_dueling DQN算法的平均发射功率大部分在2.5 mW以上。而ST_double DQN算法的平均发射功率是最低的,绝大部分处于2.0 mW和2.5 mW之间,只有极少数在区间范围之外,表明该算法能够有效降低能耗,这也是本方法的一个优势。

图10 次用户平均功率

4 结束语

为了解决认知无线网络中多个用户的动态功率控制问题,既保证次用户本身的通信服务质量QoS,同时还要降低次用户因发射功率不合理而造成的功率损耗,本文提出了一种基于SumTree采样结合Double DQN的非合作式多用户动态功率控制方法。仿真结果也表明本方法可以保证次用户的QoS,并且有效降低次用户的功率损耗,达到了节约能耗的目的。然而,本文使用的是离散化的功率空间,未来可在研究中使用连续化的功率空间,这样可使得对于功率的发射控制更加灵活。同时,在后续研究中也可以基于更加复杂化的场景来进行建模,例如基于车联网、工业物联网等场景来进行建模;可采用不同信道模型来研究其对算法性能的影响。

猜你喜欢

发射功率信噪比频谱
一种用于深空探测的Chirp变换频谱分析仪设计与实现
基于深度学习的无人机数据链信噪比估计算法
一种基于稀疏度估计的自适应压缩频谱感知算法
低信噪比下LFMCW信号调频参数估计
放大转发中继器降低发射功率的选择策略研究
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
浅谈AC在WLAN系统中的应用
基于功率分配最优中继选择的研究
保持信噪比的相位分解反褶积方法研究
一种基于功率限制下的认知无线电的频谱感知模型