一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种光纤异常丢包断流问题的处理方法与流程

2022-11-30 11:17:40 来源:中国专利 TAG:


1.本发明属于雷达技术领域,尤其涉及光纤异常收数处理,具体涉及一种光纤异常丢包断流问题的处理方法。


背景技术:

2.对于大型二维相控阵雷达来说,雷达可以通过灵活的波束调度完成多种功能任务,主要包括:校准、搜索、跟踪、侦听4种。信号处理机箱通过光纤从dbf机箱同时接收多路数据,主要包括:接收校准数据、发射校准数据、接收方向图数据、搜索/跟踪数据、侦听数据。每种数据的物理通道、数据长度、包个数和发送频率都有差异。
3.对于常规的搜索模式或者跟踪模式,信号处理机在一个工作周期内需要同时对多个接收波束处理,由于带宽的限制,这些多个波束组成的数据被拆分成多路光纤进行发送。由于针对雷达信号处理系统的特点,需要将每个波束在每个脉冲收到的数据拼接到一起,积累到一定数量后才能进行后续的mtd处理。
4.在光纤数据接收的过程中,经常会遇到各种异常情况,如果没有考虑异常处理会的话会导致程序无法正常运行。常见的异常现象有:丢包、错包、断流等。
5.现有的异常处理技术主要针对上述异常现象的其中一个进行处理,如通过校验接收数据的关键参数位置确定是否错包,或通过光纤数据时间片计数等参数确定是否丢包。而对于断流现象或者同时兼顾多个光纤异常现象处理,目前较少有具体的解决方法。


技术实现要素:

6.要解决的技术问题
7.为了解决当光纤出现丢包或断流异常情况时,雷达信号处理程序异常退出的问题,本发明提供一种光纤异常丢包断流问题的处理方法。
8.技术方案
9.一种光纤异常丢包断流问题的处理方法,其特征在于步骤如下:
10.s1:创建n个深度为m的队列用于接收光纤数据,队列成员个数初始化为0,队列与光纤一一对应,其中n表示光纤个数,m表示接收队列深度;
11.s2:循环并行阻塞式的接收n路光纤数据,若收到第i路光纤数据,则推入第i个队列,同时第i个队列的成员个数mi加1,其中i∈[1,n];
[0012]
s3:接收当前时刻的控制报文;
[0013]
s4:光纤收数异常检测,标注光纤状态,取出非断流状态光纤数据;
[0014]
s5:光纤数据、控制报文时间对齐;
[0015]
s6:多路光纤数据进行拼接或补零,正常光纤队列释放,队列成员个数减一;
[0016]
s7:积累完成一个时间片后,跳至s3,进行下个时间片的处理。
[0017]
本发明进一步的技术方案:其中s4光纤收数异常检测,标注光纤状态,取出非断流状态光纤数据,按如下步骤进行:
[0018]
4a)初始化所有光纤状态fiber_status为0,即为正常;
[0019]
4b)使用非阻塞方式循环读取每个正常状态光纤数据;
[0020]
4c)判断fiber_status=0的光纤数据是否都能读到,若是,则光纤异常检测
[0021]
结束,取出非断流状态光纤数据,否则跳至步骤4d);
[0022]
4d)判断第i个队列的剩余空间free_node是否小于阈值t,若是跳至步骤4e)
[0023]
否则延时t后,跳至步骤4b),其中i∈[1,n];
[0024]
4e)若第i个光纤状态为断流,即fiber_status=-1,则说明标注为断流的光纤已恢复正常,将第i个光纤标注为正常,即fiber_status=0,同时释放该光纤接收队列中的历史数据;否则,判断第j个光纤状态是否正常且没有收到数据,若是将第j个光纤标注为断流,即fiber_status=-1,其中j∈[1,n]。
[0025]
本发明进一步的技术方案:其中s5光纤数据报文、控制报文时间对齐,按如下步骤进行:
[0026]
5a)遍历非断流状态的光纤数据的时间片计算和prf计数,获得最小时间片计数time_min和prf_min;
[0027]
5b)标注非断流光纤的状态为fiber_status=prf
i-prf_min,其中prfi表示第i个光纤prf计数,其中i=[1,n],若fiber_status>0,则说明当前光纤传输丢了fiber_status个prf包,为丢包状态;
[0028]
5c)若控制报文的时间片计数大于time_min,正常状态光纤接收队列释放一个成员,光纤队列成员个数减1,并正跳至s4,重新获取光纤数据;
[0029]
5d)若控制报文的时间片计数小于time_min,重新获取控制报文直到两者相等。
[0030]
本发明进一步的技术方案:其中s6多路光纤数据进行拼接或补零等操作,相关光纤队列释放,按如下步骤进行:
[0031]
6a)根据控制报文,确定当前脉组数据所在光纤分布,若该光纤状态不为正常,即fiber_status≠0,使用全零数据作为接收数据,将多路光纤数据进行重组处理,用于后续mtd处理;
[0032]
6b)对正常状态光纤接收队列进行释放,光纤队列成员个数减1,异常光纤接收队列不作处理。
[0033]
一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的方法。
[0034]
一种计算机可读存储介质,其特征在于存储有计算机可执行指令,所述指令在被执行时用于实现上述的方法。
[0035]
有益效果
[0036]
由于本发明的方法在光纤数据拼接前,已经获得光纤的状态信息,针对断流状态的光纤,不从其对应的接收队列获取数据,避免由于个别光纤的断流导致整个雷达信号处理程序运行的阻塞或异常退出;针对丢包状态的光纤,对其接收数据进行时间上对齐和数据补零,使得各光纤数据在时间上是同步的,保证后续雷达信号处理程序运行结果的准确性。
[0037]
本发明提供的一种光纤异常丢包断流问题的处理方法,解决了当光纤异常断流或
者丢包等场景下,信号处理程序异常退出等现象。
附图说明
[0038]
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
[0039]
图1为本发明实现流程图。
[0040]
图2为光纤异常检测流程图。
[0041]
图3为报文时间对齐及数据拼接流程图。
[0042]
图4为本发明方法在雷达上实际应用结果图。
具体实施方式
[0043]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0044]
本发明提供了一种光纤异常丢包断流问题的处理方法,所述方法首先通过阻塞式读取光纤数据到接收队列中,其次判断接收队列的剩余空间来确定光纤状态为正常或者断流,其次根据光纤数据间以及控制报文的时间片计数来确定光纤状态为多包或者丢包,最后对不同状态的光纤数据进行不同处理,保证雷达系统稳定工作,包括如下步骤:1)信号处理机箱创建n个深度为m的队列用于接收光纤数据,队列成员个数初始化为0,队列与光纤一一对应,其中n表示光纤个数,m表示接收队列深度;2)信号处理机箱循环并行阻塞式的接收n路光纤数据,若收到第i路光纤数据,则推入第i个队列,同时第i个队列的成员个数mi加1,其中i∈[1,n];3)信号处理机箱接收当前时刻的控制报文;4)光纤收数异常检测,标注光纤状态,取出非断流状态光纤数据;5)光纤数据报文、控制报文时间对齐;6)多路光纤数据进行拼接或补零等操作,正常光纤队列释放,队列成员个数减一;7)积累完成一个时间片后,跳至步骤3),进行下个时间片的处理。
[0045]
参照图1,本实施例的具体实现步骤如下:
[0046]
在步骤s101中,信号处理机箱创建n个深度为m的队列用于接收光纤数据,队列成员个数初始化为0,队列与光纤一一对应,其中n表示光纤个数,m表示接收队列深度;
[0047]
在步骤s102中,信号处理机箱创建n个线程,并行阻塞式循环接收n路光纤数据,若收到第i路光纤数据,则推入第i个队列。
[0048]
在步骤s103中,信号处理机箱接收来自中心机或者终端的控制报文;
[0049]
在步骤s104中,光纤收数异常检测,取出正常状态光纤数据;
[0050]
参照图2,本实施例中的光纤收数异常检测,取出正常状态光纤数据,具体实现步骤如下:
[0051]
4a)初始化所有光纤状态fiber_status为0,即为正常;
[0052]
4b)使用非阻塞方式循环读取每个正常状态光纤数据队列获取光纤数据;
[0053]
4c)判断fiber_status=0的光纤数据是否都能读到,若是,则光纤收数异常检测结束,跳至步骤s105,否则跳至步骤4d);
[0054]
4d)判断第i个队列的剩余空间free_node是否小于阈值t,若是跳至步骤4e),否则延时t后,跳至步骤4b),其中i∈[1,n];
[0055]
4e)若第i个光纤状态为断流,即fiber_status=-1,则说明标注为断流的光纤已恢复正常,将第i个光纤标注为正常,即fiber_status=0,同时释放该光纤接收队列中的历史数据;否则,判断第j个光纤状态是否正常且没有收到数据,若是将第j个光纤标注为断流,即fiber_status=-1,其中j∈[1,n];
[0056]
在步骤s105中,光纤数据、控制报文时间对齐;
[0057]
参照图3,光纤数据、控制报文时间对齐,具体实现步骤如下:
[0058]
5a)遍历非断流状态的光纤数据的时间片计算和prf计数,获得最小时间片计数time_min和prf_min;
[0059]
5b)标注非断流光纤的状态为fiber_status=prf
i-prf_min,其中prfi表示第i个光纤prf计数,其中i∈[1,n],若fiber_status>0,则说明当前光纤传输丢了fiber_status个prf包,为丢包状态;
[0060]
5c)若控制报文的时间片计数大于time_min,正常状态光纤接收队列释放一个成员,并跳至步骤s104,重新获取光纤数据;
[0061]
5d)若控制报文的时间片计数小于time_min,重新获取控制报文直到两者相等;
[0062]
在步骤s106中,多个光纤数据进行拼数操作,对异常光纤数据进行补零;
[0063]
6a)根据控制报文,确定当前脉组数据所在光纤分布,若该光纤状态不为正常,即fiber_status≠0,使用全零数据作为接收数据,则将光纤数据进行重组处理;
[0064]
6b)对正常状态光纤接收队列进行释放,异常光纤接收队列不作处理;
[0065]
在步骤s107中,积累完成一个时间片后,跳至步骤s103,进行下一个时间片的处理;
[0066]
图4为本发明在某雷达实际运行效果,可以看出采用本发明方法可以将各路光纤数据对齐,根据控制报文进行数据拼接,拼接完成后进行后续的雷达信号处理。
[0067]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献