一种基于二次优先级分配的相控雷达资源调度方法与流程

文档序号:17328810发布日期:2019-04-05 21:57阅读:205来源:国知局
一种基于二次优先级分配的相控雷达资源调度方法与流程
本发明涉及相控雷达控制
技术领域
,具体涉及到一种基于二次优先级分配的相控雷达资源调度方法。
背景技术
:在相控阵雷达资源调度中,通常是按着任务工作方式的优先级来分配任务,优先级高的任务先被调度,优先级低的任务最后被调度。这样的做法,就会导致即使在雷达资源相对充足的情况下,也会使低优先级的任务因为时间上的冲突而被丢弃,进而造成了任务的时间利用率下降,任务丢失率升高,同时浪费了系统资源的后果。现有技术中就资源调度前的策略分配进行了研究,但是仅仅考虑到任务的优先级或任务的截止期;雷达系统的资源任然不能够充分利用,系统的时间利用率较低,任务丢失率较高。技术实现要素:本发明的目的是提供一种基于二次优先级分配的相控雷达资源调度方法。为达上述目的,本发明的一个实施例中提供了一种基于二次优先级分配的相控雷达资源调度方法,包括以下步骤:步骤1:初始化参数,所述参数包括时间指针p、能量状态向量e、时间状态向量φδt(k)和标识变量id,其中p≥t0;步骤2:判断是否为0;若则删除任务请求中最晚执行时间小于p的任务,转步骤3;若不为0;令p=p+δt,重新判断;步骤3:从任务请求中选出当前时刻可以执行的任务集合ap,设该集合任务个数为np,通过对二次调度任务优先级的排序选出综合优先级较高的任务,因此可得到综合优先级由高到低排列的任务队列,记做任务编号i=1;步骤4:从集合ap中选出第i个任务,记为ti;若flag=1,转步骤5,否则将其放入执行链表,令sti=p,并将其从申请链表中删除;根据调度成功的任务类型更新id并依据式(4-8)和式(4-24)更新φδt(k)及ei(k);若任务ti为搜索任务,则令p=p+ldi;若调度跟踪任务,则令p=p+δt,转步骤6;上述式(4-8)和式(4-24)的算法为:步骤5:判断是否满足时间约束和能量约束条件,若不满足其时间约束或者能量约束条件,则令i=i+1进行本调度间隔内的下一个任务;若i>np,说明本调度间隔内的任务分析结束,令指针p指向下个调度间隔,即p=p+δt,转步骤6,否则返回步骤5;步骤6:当p>tend,转步骤7,否则返回步骤2;步骤7:仿真结束。综上所述,本发明具有以下优点:本发明的调度方法同时考虑了任务的优先级和截止期,在一次调度的基础上进行了二次调度;通过两次调度,保证在雷达系统资源充分利用的情况下,更多的去调度任务,提高了系统的时间利用率,降低了任务的丢失率,使调度策略更加完善。附图说明图1为本发明一个实施例的流程框图;图2a为本发明算法a与算法b调度指标搜索任务丢失率对比图;图2b为本发明算法a与算法b调度指标搜索任务丢失率对比图;图2c为本发明算法a与算法b调度指标跟踪任务丢失率对比图;图2d为本发明算法a与算法b调度指标任务丢失率对比图;图2e为本发明算法a与算法b调度指标时间利用率对比图;图2f为本发明算法a与算法b调度指标能量利用率对比图。具体实施方式本发明提供了一种基于二次优先级分配的相控雷达资源调度方法,包括以下步骤:步骤1:初始化参数,所述参数包括时间指针p、能量状态向量e、时间状态向量φδt(k)和标识变量id,其中p≥t0;步骤2:判断是否为0;若则删除任务请求中最晚执行时间小于p的任务,转步骤3;若不为0;令p=p+δt,重新判断;步骤3:从任务请求中选出当前时刻可以执行的任务集合ap,设该集合任务个数为np,通过对二次调度任务优先级的排序选出综合优先级较高的任务,因此可得到综合优先级由高到低排列的任务队列,记做任务编号i=1;步骤4:从集合ap中选出第i个任务,记为ti;若flag=1,转步骤5,否则将其放入执行链表,令sti=p,并将其从申请链表中删除;根据调度成功的任务类型更新id并依据式(4-8)和式(4-24)更新φδt(k)及ei(k);若任务ti为搜索任务,则令p=p+ldi;若调度跟踪任务,则令p=p+δt,转步骤6;上述式(4-8)和式(4-24)的算法为:步骤5:判断是否满足时间约束和能量约束条件,若不满足其时间约束或者能量约束条件,则令i=i+1进行本调度间隔内的下一个任务;若i>np,说明本调度间隔内的任务分析结束,令指针p指向下个调度间隔,即p=p+δt,转步骤6,否则返回步骤5;步骤6:当p>tend,转步骤7,否则返回步骤2;步骤7:仿真结束。本发明的具体实施方式为:本发明是在时间指针的基础上引入脉冲交错的算法,将二者结合起来作为一种新的调度算法,通过时间指针,为每一个时刻选择最合适的驻留任务。将离散化处理的方法应用在系统的时间长度δt上,则时间指针的滑动步长为δt且依次指向这些离散的时刻点。由于搜索驻留任务之间不可以进行脉冲交错,需要引入标识变量id,用此来判断当前的时刻能否进行脉冲交错,记id={flag,p,dmax},其中flag∈{0,1}的值为0或者1,p为指向当前时刻的时间指针。当flag=1时,证明此时刻执行的前一个驻留任务可以进行脉冲交错,即前一个任务为跟踪任务,否则flag=0;dmax为在时间轴上已经调度成功的任务中所占用的最大的时刻值,记为:其中,n为已调度成功的任务数,stk表示调度成功驻留的实际时间,ldk表示调度成功驻留的实际长度。若当前时刻的任务是搜索任务且p<dmax,则搜索任务不可以在此时刻执行。为了判断在各个离散的时间点上是否已有被成功调度的脉冲,引入了时间状态向量函数φδt(k),初始化φδt(k)=0,当事件被调度成功时,则按照如下公式更新函数:其中,k={1,2,3,…}为时间间隔编号,式(4-8)表示当φδt(k)=1时,第k个时刻已存在脉冲,此时刻不能执行任务请求,则时间指针按着滑动步长δt指向下一个时刻,判断下一个时刻点是否存在能在当前时刻执行的任务。在调度过程中有两个很重要的约束条件,需满足这个约束条件才可以顺利的进行调度,即时间约束条件和能量约束条件。(1)时间约束条件假设,p为当前的时间指针,ti为p指针所指向时刻的调度任务,ti为已经调度成功的任务,需要判读ti能否在当前时刻执行,需要对ti和tk进行交错分析。从波束角度分析,如图1,给出两种可能存在的交错方式,[o1,o2]是两个任务的驻留重叠区,其中o1和o2满足如下时间约束:引入标识变量pt,用来分析需要调度的任务是否满足以上的时间约束。pt用来分析此时需要调度的任务与已经调度成功任务的脉冲接收期与发射期是否满足要求,即不能重叠。记为:pt={x1,x2,r1,r2,s}(4-11)其中x1和r1分别为任务的发射脉冲和其对应的接收脉冲的起始时刻,x2和r2分别为任务的发射脉冲和其对应的接收脉冲的结束时刻,s为该脉冲的编号。当任务ti与tk的发射脉冲或接收脉冲之间有重叠时,即ti不满足时间约束,没有交错成功。为了更方便地判断出,ti与tk在时间上是否冲突,可将ti与tk的发射脉冲和相应的接收脉冲表示为和则:其中si和sk分别代表任务ti与tk在驻留重叠区[o1,o2]内的发射或者接收脉冲编号。由于驻留任务有两种交错方式,则si和sk的取值范围也有两种,分别对其进行讨论。在式(4-9)和式(4-10)条件下,si和sk的取值范围如下所示:如图1知,两个驻留任务的脉冲有三种重叠方式:(a)发射脉冲间重叠;(b)接收脉冲间重叠;(c)发射脉冲与接收脉冲重叠。假设:那么,由式(4-12)~(4-16)可得,三种重叠方式的时间约束条件为:如果当前时刻任务的发射脉冲或者接收脉冲不满足(4-14)~(4-19),表示该驻留任务ti不满足时间约束条件,则不能在此时刻调度,继续判断其他能在此时刻任务是否满足以上的时间约束。如若当前任务满足时间约束条件,则继续判断该任务是否还能满足能量约束。(2)能量约束条件能量约束又分为稳态及瞬态能量约束。由于调度的实时性,所以本文主要研究瞬态能量约束。由于发射脉冲会消耗能量,导致系统的温度会上升,当其温度超过系统所能承受的范围内就会造成系统的损坏,所以为了可以保证系统的顺利运行,需要限制系统的瞬态能量。系统在t时刻的瞬态能量表示为:式中,p(x)为系统功率函数;τ为参数,反映系统自身散热的性能。系统的冷却时间可以由系统消耗能量由最大值emax与正常值enomal来表示。设当前时刻的t的能量为e(t),则根据(4-20)得到在t+t0时刻所消耗的能量值为:设e(t)=emax,e(t+t0)=enormal,可得:其中t0为能量恢复到正常值时所需要冷却的时间,由此可得冷却速度为:ei-1记为:任务i在成功调度之前,系统消耗的能量状态向量,若任务ti调度成功,则系统能量状态向量参数按照下式(4-24)更新:其中,为雷达发射功率,tpi为任务i的发射脉冲宽度,δt为离散时间间隔长度,t0为调度起始时刻,为在第k个时间间隔内任务i的脉冲个数,m为总的离散时间间隔数,可由式(4-25)计算得到:当由式(4-24)得到的ei(k)满足e(t)≤emax时,即任务ti满足瞬态能量约束。综上所述,若调度的任务ti既满足时间约束,也满足瞬态能量约束,则该任务调度成功。本文的方法是通过时间指针分析所指向的当前时刻。假设在[t0,tend]时间内有n个任务需要调度,其中,t0为调度间隔的起始时刻,tend为调度间隔的结束时刻。优化的脉冲交错算法的步骤描述如下:步骤1:初始化参数,包括时间指针p、能量状态向量e、时间状态向量φδt(k)和标识变量id,其中p≥t0。步骤2:若则删除任务请求中最晚执行时间小于p任务,转步骤3;否则p=p+δt,返回步骤2。步骤3:从任务请求中选出当前时刻可以执行的任务集合ap,设该集合任务个数为np,通过对二次调度任务优先级的排序选出综合优先级较高的任务,因此可得到综合优先级由高到低排列的任务队列,记做任务编号i=1。步骤4:从集合ap中选出第i个任务,记为ti,若flag=1,转步骤5,否则将其放入执行链表,令sti=p,并将其从申请链表中删除。根据调度成功的任务类型更新id并依据式(4-8)和式(4-24)更新φδt(k)及ei(k)。若任务ti为搜索任务,则p=p+ldi;若调度跟踪任务,则p=p+δt,转步骤6。步骤5:判断是否满足时间约束和能量约束条件,若不满足其时间约束或者能量约束条件,则令i=i+1进行本调度间隔内的下一个任务。若i>np,说明本调度间隔内的任务分析结束,令指针p指向下个调度间隔,即p=p+δt,转步骤6,否则返回步骤5。步骤6:当p>tend,转步骤7,否则返回步骤2。步骤7:仿真结束。仿真分析:仿真场景包括区域搜索、验证、低优先级跟踪、中优先级跟踪和高优先级跟踪五种类型的任务,各类型任务数随机生成,任务相关参数如下表所示:任务类型优先级脉冲个数脉冲宽度脉冲周期时间窗发射功率验证5260.030.3105高优先级跟踪4210.020.2105中优先级跟踪3210.030.3205低优先级跟踪2150.020.2305区域搜索1180.020.2-5仿真时长为600ms,发射机的平均功率为400w,瞬态能量约束阀值emax=6j。将本文提出脉冲交错调度的优化算法(下文称为算a)和作为对比的原有脉冲交错调度算法(下文称为算法b)进行对比。下面给出100次仿真的平均结果。由图2(a)可以看出,对于搜索任务的丢失率,算法b在任务数为8左右,就开始丢失任务,而算法a在任务数为40以内,基本上很少有丢失的任务。随着任务数的增加,算法a的任务丢失率明显低于算法b的任务丢失率,且算法a的任务丢失速度也远远小于算法b。同理,对于图2(b)和图2(c),即跟踪任务和总任务的丢失率也有类似的结果。这是因为,由于引入了时间指针,系统的空闲时间得到了充分的利用。算法a为每个时间点选择合适的任务,这样就充分利用了空闲时间,进而提高了搜索/跟踪任务的成功率。在图2(d)中,可以看到算法a的平均时间偏移率基本稳定在0.45左右,是因为算法a只考虑了为每个时间指针指向的时刻点选择合适的任务,并未考虑期望时间这一因素,所以平均时间偏移率比较稳定。与算法a相比,算法b考虑到了平均时间偏移率,该算法使任务的实际执行时间尽可能的接近期望执行时间。其平均时间偏移率随着任务数的增加而增大,这是因为随着任务数的增加,时间资源的竞争越来越激烈。在图2(e),图2(f)中可以看出,在任务数小于40以内,算法a与算法b的时间/能量利用率基本相同。但是随着任务数的增加,算法b的两种资源利用率(时间利用率和能量利用率)低于算法a。这是由于算法a利用时间指针,依次为每个时间点选择合适的任务,其充分利用了系统的空闲时间,进而提高了任务调度成功率,因此能量资源也得到了充分的利用。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1