本发明涉及测控技术中光电经纬仪,特别涉及光电经纬仪实时数据交会计算。
背景技术:
光电经纬仪是当今的主要测控设备,其基于光学经纬仪的电气化从而实现被测目标的图像、测量时刻的方位角和俯仰角的同步实时记录。光电经纬仪应用于静止和运动目标的跟踪测量,在飞行器试验测量中(例如卫星发射,飞机试验等),广泛运用。其在捕捉目标图像的同时,能够实时记录精确的测角信息,并能通过事后目标图像的判读处理,得出目标精确的中轴偏移量,从而能够叠加得出更为精确的测角值。
通常情况下,光电测控系统包括测控中心及多台光电经纬仪,其中测控中心主要由中心计算机、交会计算机、网络设备组成。在跟踪到目标后,各光电经纬仪将测角数据包通过网络发送给中心计算机,再由数据转发软件转发至交会计算机,经过交会程序进行交会运算得到目标坐标,再将坐标数据回传给中心计算机。为此,在测控系统中为满足对光电经纬仪数据的实时交会需要,需要专门编写光电经纬仪数据的实时交会程序。对于每个光电经纬仪发出的测角数据,交会程序应当根据数据协议进行筛选,剔除错误数据。交会程序在判断接收到了当前批次所有数据之后还需要为当前批次数据匹配合适的交会计算的函数,并且还要解决数据与发送该数据的光电经纬仪间的信息匹配问题。
交会计算机接收光电经纬仪的测角数据时是逐个进行的。当数台光电经纬仪不断向交会计算机发送测角数据包时,交会程序需要及时处理收到的来自于光电经纬仪的测角数据包。同一批次的数据包必须来自于不同的光电经纬仪且它们产生的时刻应当相同,只有这样同一批次的测角数据才可能交会出正确的坐标结果。但是,在现有技术中没有相关的文献阐述或揭示此类问题的解决方案。而在实际的测控任务中,由于只有将不同光电经纬仪在同一时刻对目标的观测数据代入交会函数才能得出正确结果,所以判别数台光电经纬仪发出的数据是否属于“同一批次”,是交会程序进行正确运算的必要条件。如果没有能够顺利的解决该问题的方法,当前可取的方法只有:在每次试验任务前规定参试光电经纬仪的数目且保证它们会一直正确地发送数据,还需要在交会程序中规定每批次应当接收的数据数量。但是测控任务复杂多变,当任何一台光电经纬仪没能发送数据时,由于规定了交会程序接收数据的数量,程序只有在接收到了该数量的数据后才进行其他操作,势必会收到来自于不同批次的同一光电经纬仪产生的数据,造成错乱,且只能在舍弃了部分正确数据后才可进行交会,造成浪费。同时,由于对于不同数量的数据采用不同的交会函数,使用数据越多的交会函精度越高,从而上述情况也数影响交会结果的精度,降低了测控试验的效率。
技术实现要素:
本发明的目的就是要解决测控任务中,不能有效判断光电经纬仪发出的测角数据是否为同一批次,从而不能充分利用多台光电经纬仪发出的测角数据进行实时交会计算的问题。
为解决上述技术问题,本发明提供一种自适应的光电经纬仪数据实时交会方法,具体技术方案如下:
步骤一、在实时交会程序中设置定时器,用于启动交会计算函数,定时器定时时间需大于同一批数据中的数据接收时间间隔,小于单台设备数据发送时间间隔,且其时间设置需保证在下一批数据到来前能完成交会计算;
进一步地,可以根据经验将定时器取值范围设置在设备数据发送时间间隔的十分之一到二十分之一之间。
步骤二、在实时交会程序中设置交会计算队列,用于存放已通过筛选、修正,准备用于交会计算的数据;
步骤三、实时交会程序运行前,首先设置光电经纬仪信息,为它们设置正确的地理坐标与网络参数信息;
步骤四、当实时交会程序收到光电经纬仪发出的数据后,启动定时器,对于该条数据,根据数据格式与任务接口文件中的说明进行筛选与修正,将处理好的数据放入交会计算队列,继续接收数据至定时器计时结束。当前批次所有设备发送的数据接收完毕也即定时结束时,对交会计算队列中的数据进行时间异常数据的剔除。
进一步地,对于步骤四中数据的筛选与修正,可以采用如下方案进行,该方案包括如下步骤:
s1:依据pdxp协议格式和任务接口文件读取pdxp数据包中的sid、bid、did、光电经纬仪跟踪状态码zt、测角数据以及脱靶量,判断读取出的数据与交会程序中预先设定数值或者数值范围的是否相符,筛选出符合要求的数据包,抛弃不符合要求的数据包;
s2:判断当前批次数据包是否接收完毕,接收完毕则进入s3,未完成则继续s1;
s3:读取通过筛选的pdxp数据包时标,利用时标剔除时间异常数据包;
1)两个数据包的时标进行比较时的处理
交会程序读取两个数据包的时标并作差,当其差值小于交会程序中的时差设定值时,认为两个观测站在同一时刻观测到目标并发送测角数据包,此时可以进行交会,执行步骤s4;当这两个数据包的时标大于交会程序时差设定值时,则认为时差过大,不可交会,清空数据队列,继续接收数据包,等待下次判断;
2)两个以上数据包的时标进行比较时的处理
交会程序读取这些数据包的时标,取其平均值作为基准时标,将每个数据包的时标与基准时标作差,当其差值小于交会程序时差设定值时,认为这些观测站在同一时刻观测到目标并发送测角数据包,执行步骤s4;当某一数据包时标差大于交会程序时差设定值时,认为发送该数据包的观测站与其他观测站没有在同一时刻观测到目标或者时标写入异常,抛弃该数据包;
进一步地,按照测控设备运行以及网络拥塞情况,交会程序时差设定值的取值范围一般设置在设备数据发送时间间隔的十分之一到二十分之一之间。
s4、对时标正常数据包中的测角数据进行脱靶量修正;
s5、对数据包中的测角数据进行过零跳变修正与地球曲率修正后,完成本批次的数据修正。
步骤五、交会计算队列中的剩余数据为可用于交会计算的数据,根据发出正确数据的光电经纬仪的数目(也即队列中剩余的数据数目),将该批次数据与相应的交会函数匹配,有n站正确的光电经纬仪测角数据,就调用n站最小二乘法交会函数进行交会计算,在交会函数中,交会程序根据数据标识信息将数据与交会程序中步骤三中设定好的光电经纬仪信息进行匹配;
步骤六、本次交会计算结束,等待处理下批数据。
本发明产生的有效收益如下:
1、由于定时器的使用,使得不管当时正常发送数据的光电经纬仪有多少台,实时交会程序均能接收完每一批次的数据,可以为通过筛选的n条光电经纬仪测角数据调用匹配的n站交会函数,做到交会函数或者交会的自适应;而不必在任务前将参试设备数量固定且保证光电经纬仪不出故障,实现了程序的自动化或者智能化。
2、交会程序在接收到pdxp数据包后,进行了pdxp中sid、did、bid的判断,由此充分验证了数据包信源、信宿的正确性,确保了接收到的数据包为“光电经纬仪测角数据包”,即使得所有需要被发送到实时交会计算机的数据包均能被正确接收,完全规避了网络传输错误的影响。
3、交会程序在接收到pdxp数据包后,进行了pdxp数据包中“光电经纬仪跟踪状态码”的判断,保证该数据包是在“设备已跟踪上目标”时产生的,即该数据包中的测角数据是有意义的。交会程序还读取了数据包中的测角数据和脱靶量,保证其满足规定的范围,规避了设备异常的影响。通过这两个步骤排除了光电经纬仪产生的错误测角数据包或者设备状态不可参与交会的数据包,确保了测角数据的可用性。
4、交会程序在接收完一组测角数据包后,读取了他们的时标进行时间异常值剔除,从而确保了最后代入交会计算函数的测角数据是所有设备在同一时刻对目标点的观测数据,交会出的结果接近真实值,并且在筛选时采取“取新不取旧”即充分满足“实时”需要的原则,能够完全避免时间异常数据对于交会的影响,确保交会结果为采用最新测角数据计算所得,接近“实时”的要求。
本方法提高了光电经纬仪测角数据的利用率,解决了实时交会中判断何时能够进行交会、应当利用哪些数据进行交会的难题,使得光电经纬仪数据实时交会顺利运行,对于测控中的光学测量实施具有重要实用价值。
附图说明
图1为本发明光电经纬仪实时交会数据的筛选与修正流程图;
图2为本发明以五个光电经纬仪(或称光测站)参与交会计算为例的具体实施方式流程图;
图2中:1-数据接收队列中的数据、2-数据判断与筛选3-交会计算队列、4-剔除时间异常数据、5-经过异常时间数据剔除的交会计算队列、6-匹配交会函数、7-在三站交会函数中,交会程序将数据与发送数据的光电设备进行匹配
具体实施方式
下面结合附图进行详细的解释和说明。
本发明提供了一种自适应的光电经纬仪数据实时交会方法。
光电经纬仪基本在同一时间向交会计算机发送数据,通过网络传输。所以虽然计算机对网络数据逐个接收,但同一批数据中,两个数据的接收时间间隔非常短。利用这个特性,在交会程序中,设置一个定时值比上述时间间隔稍长的定时器,每次收到数据时即刻启动定时器,当定时结束时,便认为已接收完当前批次所有数据,可以启动交会计算步骤。然后程序对数据进行时间有效性筛选,根据通过筛选的数据的数量匹配对应的交会函数进行计算,交会计算完成后,输出计算结果,等待下批数据到来。
交会程序可以通过建立udp链接接收光电经纬仪发送的数据
具体实现过程如下:
步骤一、在实时交会程序中设置定时器,用于启动交会计算函数,定时器取值需大于同一批数据中的数据接收时间间隔,小于单台设备数据发送时间间隔,且其取值需保证在下一批数据到来前完成交会计算;
在建立定时器时,可以使用c++等编程语言的内置计时器函数,其定时长短的设置可以依据试验经验或需求进行设置。通常可以根据经验将定时器的大小设置在设备数据发送时间间隔的十分之一到二十分之一之间。
步骤二、在实时交会程序中设置交会计算队列,用于存放已通过筛选、修正,准备用于交会计算的数据;
步骤三、设置光电经纬仪信息,用于初始化交会函数需要的地理坐标与网络参数信息;
由于交会函数需要将各个观测点的地理坐标以及其测角数值同时代入方可得出目标坐标,所以需要地理坐标参数。网络参数信息是为了保证实时交会程序可以正确地接收以及发送数据。
步骤四、当实时交会程序收到光电经纬仪发出的数据后,启动定时器,对于该条数据,根据数据格式与任务接口文件中的说明进行筛选与修正,将处理好的数据放入交会计算队列,继续接收数据至定时器计时结束。当当前批次所有设备发送的数据接收完毕也即定时结束时,对交会计算队列中的数据进行时间异常数据的剔除;
对于步骤四中数据的筛选和修正以及异常数据的剔除,可以采用如下方案进行,该方案包括如下步骤:
如附图1所示,本发明所示实时交会数据的筛选与修正,是通过下述步骤实现的:
s1、依据pdxp协议格式和任务接口文件读取pdxp数据包中的sid、bid、did、光电经纬仪跟踪状态码zt、测角数据及脱靶量,判断读取的数据与交会程序中预先设定的数值或者数值范围是否相符,筛选出符合要求的数据包,抛弃不符合要求的数据包;
pdxp为国军标规定的数据传输协议,本发明的实现过程是基于此协议完成。通常情况下,pdxp数据协议中还包括很多其他的可用码字(详见gjb内容),但是本发明所要达到的目的是:交会程序最终得到的测角数据可用于交会计算,不会出现将错误测角数据代入交会计算函数的情况。而接收正确的数据包完成交会计算的过程需要确保两点:
一.确保交会程序收到的pdxp数据包是应当被发送给交会程序的pdxp数据包:
在试验中只有光电经纬仪发出的测角数据包才应当被发送给交会程序,即:交会程序收到的pdxp数据包的信源应为“光电经纬仪”,从而需要判断sid,即信源信息,该信息标注了该数据包由何处发送。读取pdxp数据包中的信源sid判断发送数据包的光电经纬仪,将sid与程序中设定的各台光电经纬仪的sid比对,若无法找到对应sid,则该数据包为错误数据包并抛弃。
此外交会程序收到的pdxp数据包类别应为“光电经纬仪测角数据包”,从而需要判断信息分类标志bid,即数据包属性。程序会读取pdxp数据包中的bid,与实时交会程序中设定的光电数据包bid比对,判断当前收到的数据包是否为光电经纬仪测角数据包,抛弃非光电数据包。
交会程序收到的pdxp数据包的信宿应当为“交会程序所在”,从而需要判断数据包中的信宿did,did标注了本pdxp数据包应当发送给谁。交会程序读取pdxp数据包中的did,与任务接口文件中的did信息比对(did信息已写入程序),判断当前数据包的信宿是否为实时交会计算机(事实上pdxp数据协议中每台计算机都有一个唯一标识,当该计算机发送数据包时,将该标识写入sid码字,当其他计算机向该计算机发送数据包时,应当将标识写入该数据包的did码字),抛弃信宿不正确的数据包。测控试验任务前会制定本次pdxp包数据协议每个字段出现的不同码字的含义,比如:bid=0001表示该数据包为光电经纬仪数据包,bid=0011表示该数据包为雷达数据包,均在试验任务前人为约定。所以,例如在任务前规定did=0111代表“信宿=交会计算机”,那么只有当pdxp数据包中did=0111时,该数据包才会被实时交会计算程序判断为“信宿正确”。
二.从pdxp数据包中解析出的测角数据是正确的。这里测角数据正确包含如下两种含义:
(1)产生测角数据的时间正确,也就是同一批数据包的时标应当相近,这时方可认为这些测角数据是不同设备对同一目标点的观测结果。
(2)测角数据以及脱靶量的范围正确,且数据包中的设备状态码字正确,即状态码字表示“已跟踪上目标”时的数据包中的测角数据才是可以用于计算出目标坐标的数据。
读取pdxp数据包中的光电经纬仪跟踪状态码zt,判断发送该数据包的光电经纬仪的工作状态,只有跟踪到目标后生成的测角数据才可用于交会,抛弃工作状态为“未跟踪”的测角数据包。
读取pdxp数据包中的测角数据以及脱靶量,根据事先约定的数据范围判断测角数据及脱靶量是否异常,抛弃异常数据包。
通过实践,我们发现依据pdxp协议格式和任务接口文件读取pdxp数据包中的sid、bid、did、光电经纬仪跟踪状态码zt、测角数据与脱靶量这五类信息来比较、抛弃不符合要求的数据包,就可以确保交会程序收到的pdxp数据包是应当被发送给交会程序的pdxp数据包。在交会程序中判断上述码字而不用判断pdxp数据包中的其他码字即可达到预期效果。且pdxp数据包中需要筛选的这五类数据,没有顺序上的前后约定,只需完成pdxp数据包中上述信息的判断筛选即可。
s2:判断当前批次数据包是否接收完毕,接收完毕则进入s3,未完成则继续步骤一;
s3:若当前批次数据包接收完成,读取通过筛选的pdxp数据包时标,利用时标剔除时间异常数据包;
测控系统中时统设备的应用使得每台光电经纬仪能够在间隔相同时间后于同一时间点向光电经纬仪数据实时交会程序发送测角数据包(其中经过了中心计算机的转发),设备的数据发送间隔时间远大于交会程序处理时间,这样,每一批数据都能在下一批数据到来前被完全处理。
由于在每批数据包到来时,程序对数据包进行逐个依次接收并执行步骤1的筛选,通过筛选的数据包将被放入数据队列,程序在接收完当前批次所有数据包后,对数据队列中的数据包执行步骤三,进行如下处理:
1)两个数据包的时标进行比较时的处理
交会程序读取两个数据包的时标并作差,当其差值小于交会程序中的时差设定值时,认为两个观测站在同一时刻观测到目标并发送测角数据包,此时可以进行交会,继续执行下面的修正步骤;当这两个数据包的时标大于交会程序时差设定值时,则认为时差过大,不可交会,清空数据队列,继续接收数据包,等待下次判断;按照测控设备运行以及网络拥塞情况,交会程序时差设定值按照实际测控经验取值,其取值范围设置在设备数据发送时间间隔的十分之一到二十分之一之间时,能达到较好的运行效果。
2)两个以上数据包的时标进行比较时的处理
交会程序读取这些数据包的时标,取其平均值作为基准时标,将每个数据包的时标与基准时标作差,当其差值小于交会程序时差设定值时,认为这些观测站在同一时刻观测到目标并发送测角数据包,继续执行下面的修正步骤;当某一数据包时标差大于交会程序时差设定值时,认为发送该数据包的观测站与其他观测站没有在同一时刻观测到目标或者时标写入异常,抛弃该数据包;按照测控设备运行以及网络拥塞情况,交会程序时差设定值按照实际测控经验取值,其取值范围设置在设备数据发送时间间隔的十分之一到二十分之一之间时,能达到较好的运行效果。
s4、对时标正确数据包中的测角数据进行脱靶量修正;
s5、对数据包中的测角数据进行过零跳变修正与地球曲率修正后,完成本批次的数据修正;
过零跳变修正:在交会计算的过程中,需要将本次收到的光电经纬仪方位角减去上次收到的方位角得到差值,但是若当前方位角在第一象限且之前的方位角在第四象限,当前方位角应当加2π;若当前方位角在第四象限且之前的方位角在第一象限时,当前方位角应当减2π,其他情况正常做差。
地球曲率修正是指将在椭球面上的观测角度修正到同一个参考平面,(详见:杨增学,刁小鹏等.光学设备测角数据地球曲率修正模型研究[j].弹箭与制导学报,2013,33(01):182-184))这里不再赘述。
步骤五、交会计算队列中的剩余数据为可用于交会计算的数据,根据发出正确数据的光电经纬仪的数目(也即队列中剩余的数据数目)将该批次数据与相应的交会函数匹配(有n站正确的光电经纬仪测角数据,就调用n站最小二乘法交会函数进行交会计算),在交会函数中,交会程序根据数据标识信息将数据与交会程序中步骤三中设定好的光电经纬仪信息进行匹配;
每台光电经纬仪在相同时间间隔后的同一时间点向实时交会程序发送测角数据,交会程序可以利用两组及以上测角数据进行交会处理,计算出被观测目标的位置。但是,不同数量的测角数据交会采用的交会算法不同,需要针对测角数据数量匹配交会算法:如果当前通过筛选的测角数据为两组,交会计算时采用二站最小二乘法交会;如果当前通过筛选的测角数据为三组,交会计算时采用三站最小二乘法交会;如果当前通过筛选的测角数据为四组,交会计算时采用四站最小二乘法交会;如果当前通过筛选的测角数据为五组,交会计算时采用五站最小二乘法交会。从而需要根据当前通过筛选数据的数目进行计算函数的匹配。一般交会的站数越多,即调用更大站数的交会函数时,交会精度越高,所以在程序中应当充分利用接收的数据。
步骤六、本次交会计算结束,继续等待下一批数据。
如图2所示,本发明以光电经纬仪观测站数量为5个为例,来具体说明本发明的具体实现过程,在交会程序中已经为它们设置了正确的地理坐标。
当观测任务开始后,假设五站均观测到了目标,光电设备按照相同时间间隔发送测角数据,通过网络传输给交会程序,交互程序接收数据顺序如图2中数据接收队列1所示,图中所标数字代表发送该数据的观测站编号。
当程序收到数据后,启动定时器,之后对于该数据根据数据格式与任务接口文件进行判断,如图2中的2所示。程序将通过的数据放入交会计算队列,如图2中的3所示。在经过数据筛选后,发现第一台光电经纬仪发送的数据不符合要求,不会被放入交会计算队列。在计时结束前程序将继续等待新数据。在定时结束也即处理完当前批次的五个数据后,交会计算队列中只有4个符合要求的数据。
当定时结束后,认为已经接收到了当前批次所有设备发送的数据,这时首先对交会计算队列进行时间异常数据的剔除,排除了第三站发送的数据,如图2中的4所示。此时交会计算队列中还剩下三个数据。将剩下的数据根据数目进行交会函数匹配,如图2中5所示。由于交会计算队列中只有三个数据,从而匹配三站交会函数,如图2中6所示。
在交会函数中,程序将数据根据其标识信息与程序中的光电经纬仪信息进行匹配,找到数据来源,然后初始化交会函数所需的所有参数后进行交会计算,最终得到交会结果,如图2中的7所示。
计算结束后继续等待下一批数据到来。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。以上所述是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,也应视为本发明的保护范围。