雷达波束调度的仿真流程及实现代码

雷达调度中所有候选的雷达事件也称之为波束照射请求,该请求的来源一般有两个,搜索类请求来自于雷达的搜索波位编排模块,其它类型的请求来自于雷达数据处理模块。



仿真流程


仿真过程中,雷达调度模块为每一个类型的事件都设置了一个请求链表,搜索照射请求链表由波位编排模块负责更新,其它链表由数据处理模块负责更新。


上图给出了仿真中雷达自适应调度的处理流程。在每一次调度处理中,雷达按照静态优先级的顺序依次选择链表进行安排,只有当前链表中所有满足安排条件的事件被安排完毕,才进行下一个链表的安排。

在安排每一个链表的事件时,每一次都需要根据更新后的当前调度时间实时计算刷新链表内事件的优先级,并剔除其中优先级小于0的事件,因为根据前面的优先级计算方法知,优先级小于0的事件实质上已经“过期”,没有安排的可能。

找出链表中优先级最大的事件后,对其进行约束条件的判定,如果满足则最终安排,再继续刷新优先级选择事件;否则该事件不适合当前被安排,将其优先级设为0,等待后续考虑。

当前调度时间从调度间隔的起点时刻开始,直到调度间隔的终点结束,它表征了调度间隔内已经被安排的长度。




程序仿真实现


在上图中给出的自适应调度仿真流程中,在每一次调度处理中,雷达按照静态优先级的顺序依次选择链表进行安排,只有当前链表中所有满足安排条件的事件被安排完毕,才进行下一个链表的安排。结合表中给出的优先级排序,当跟踪、确认、失跟三种类型的波束请求数量很多时,有可能出现搜索任务一直无法安排的情况。

针对上述问题,在仿真流程的基础上进行了一定程度的修正,具体包括四个步骤:

1. 根据相控阵雷达空域监视帧周期,结合每个调度周期内的最大执行事件数目、空域波位编排数目,计算出每个调度周期内需要安排例行搜索的平均数,即

2. 计算当前各类波束请求数量总数,即

3. 按照比例分配各种类型波束的波位数量,从而在考虑静态优先级顺序的基础上,兼顾各类波束请求数量,以实现多种类型的任务。首先计算每个调度周期内的最大事件数目,注意在仿真中假设采用了固定长度的波束驻留时间,则


分别按照跟踪事件(TRB)、确认事件(CRB)、失跟事件(LRB)的顺序,安排下一调度周期内各类型波束请求最大被执行的数量,即


需要注意的是,如果上述最大被执行的数量超过当前各类型波束请求数量,则实际被执行的数目为请求数量。

4. 下一调度周期剩余的时间均安排例行搜索事件,即


在配套仿真程序中,Schedule这个函数完整地复现了上述事件调度流程,其调用方式如图所示。

事件调度主函数调用方式说明



本文来源精品课程《全流程建模仿真:多功能相控阵雷达的事件调度》,其中含有丰富的Matlab实现代码和一个总的WORD文档: