一种基于高精度计时的时间敏感参数修正装订数据的方法与流程

文档序号:22885670发布日期:2020-11-10 17:59阅读:200来源:国知局
一种基于高精度计时的时间敏感参数修正装订数据的方法与流程

本发明属于计算机精确计时技术领域,尤其是一种基于高精度计时的时间敏感参数修正装订数据的方法。



背景技术:

计算机控制软件除了控制受控设备执行指令,还有另一个最大的功能是向受控设备装订高空高速目标初始飞行坐标参数,参数中含有大量的与目标相关的信息,例如目标的飞行轨迹、速度、在大地坐标系内的实时坐标等。将高空高速运动目标数据参数装订给受控设备时,由于计算机从收到发送指令开始推算装订参数到受控设备开始执行指令,控制软件有十几项控制检测动作要执行,每一个动作的执行时间在10ms~150ms不等,这要对每个操作进行十毫秒级的精度控制,最终的控制时间精度误差在200ms以内,才能确保推算的参数在有效范围内,所以对装订高速目标坐标参数的时延进行高精度推算就显得极为重要。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种基于高精度计时的时间敏感参数修正装订数据的方法,能够准确修正装订数据。

本发明解决其技术问题是采取以下技术方案实现的:

一种基于高精度计时的时间敏感参数修正装订数据的方法,包括以下步骤:

步骤1、在vxworks系统利用cpu的辅助时钟,添加相应辅助时钟组件;

步骤2、使用辅助时钟及其组件构建高精度计时算法;

步骤3、通过计算机获取的高速目标的运动参数,形成装订数据,并使用高精度计时算法计算指令流程时延δt;

步骤4、使用指令流程时延对装订数据进行修正补偿;

步骤5、利用梯度下降法对高精度计时算法中的参数进行修正。

而且,所述步骤1中的辅助时钟为除系统时钟之外的另一个定时器;辅助时钟组件为hardware->peripherals->clocks->auxclock,同时设置aux_clk_rate_max改变定时器的精度。

而且,所述步骤2的实现方法为:构建计时用中断服务程序,设置辅助时钟中断周期并测量指令执行流程所消耗的精确时延。

而且,构建计时用中断服务程序的方法为:使用与系统时钟相同的操作接口sysauxclkconnet()挂接中断处理函数,调用sysauxclkrateset()函数设置辅助时钟中断周期,中断服务函数内部记录中断出发的计时时间tick次数,使用sysauxclkenable()和sysauxclkdisable()函数对指令流程进行时延计时。

而且,所述步骤3的中装订数据包括距离d,坐标为x,y,z,速度v0,运动方向与x轴的夹角α,运动方向与y轴的夹角β,运动方向与z轴的夹角γ,其中各个装订数据的关系为:

x=d*cos(φ)*sin(ψ)

y=d*cos(φ)*cos(θ)

z=d*sin(φ)

其中ψ为目标与x轴的夹角,θ为目标与y轴的夹角,φφ为目标与z轴的夹角。

而且,所述步骤4的具体实现方法为:

x'=x-v0*cos(γ)*sin(α)*δt

y'=y-v0*cos(γ)*cos(β)*δt

z'=z-v0*sin(γ)*δt

根据计算出修正距离d'为:

将根据修正后的坐标x’,y’,z’,计算与x轴的夹角ψ’,目标与y轴的夹角θ’,目标与z轴的夹角φ’,

而且,所述步骤5的实现方法为:对高精度计时算法中的参数进行采集,其中样本特征为a,样本标签为b,组合之后形成学习样本a,b,将学习样本a,b带入估计函数hθ后通过梯度下降法得到估计函数的参数更新值δθ,将δθ作用到hθ后得到新的估计函数hθ’,将所有参数始终沿全局梯度方向下降,收敛并获取到最优的修正值。

而且,每个参数按照梯度负方向进行更新的方法为:

其中,j(θ)为损失函数,为梯度方向,η为学习率参数。设定阈值为ε,当δθ<ε时,停止迭代。

本发明的优点和积极效果是:

本发明通过在vxworks系统利用cpu的辅助时钟,添加相应辅助时钟组件;使用辅助时钟及其组件构建高精度计时算法;通过计算机获取的高速目标的运动参数,形成装订数据,并使用高精度计时算法计算指令流程时延;使用指令流程时延对装订数据进行修正补偿;利用梯度下降法对高精度计时算法中的参数进行修正。本发明通过构建高精度计时算法,对装订数据进行修正,并通过使用梯度下降法不断对高精度计时算法中的参数进行修正,不断减小高精度计时算法的硬件影响,提高高精度计时算法中的参数的精确性,从而对装订数据进行更精确的修正。

附图说明

图1是高速目标运动坐标关系示意图;

图2是本发明软件学习示意图;

图3是本发明使用向下梯度法对高精度计时算法参数修正流程图。

具体实施方式

以下结合附图对本发明做进一步详述。

一种基于高精度计时的时间敏感参数修正装订数据的方法,包括以下步骤:

步骤1、在vxworks系统利用cpu的辅助时钟,添加相应辅助时钟组件。

在本步骤中辅助时钟为除系统时钟之外的另一个定时器,使用辅助时钟能够灵活配置实现高分辨率的定时,并实现ms级或μs级定时,辅助时钟组件为hardware->peripherals->clocks->auxclock,同时设置aux_clk_rate_max改变定时器的精度,其默认值为5000。

步骤2、使用辅助时钟及其组件构建高精度计时算法:构建计时用中断服务程序,设置辅助时钟中断周期并测量指令执行流程所消耗的精确时延。

在本步骤中构建高精度计时算法使用与系统时钟相同的操作接口sysauxclkconnet()挂接中断处理函数,调用sysauxclkrateset()函数设置辅助时钟中断周期,中断服务函数内部记录中断出发的计时时间tick次数,使用sysauxclkenable()和sysauxclkdisable()函数对指令流程进行时延计时。

得到的高精度计时函数代码为:

指令流程结束后,g_aux_clock_tick的值计算获取精确指令流程时延。

δt=g_aux_clock_tick*t

其中t为辅助时钟中断周期,δt为指令流程时延。

步骤3、通过计算机获取的高速目标的运动参数,形成装订数据,并使用高精度计时算法计算指令流程时延δt。

在本步骤中装订数据包括距离d,坐标x,y,z,速度v0,运动方向与x轴的夹角α,运动方向与y轴的夹角β,运动方向与z轴的夹角γ,其中各个装订数的关系为:

x=d*cos(φ)*sin(ψ)

y=d*cos(φ)*cos(θ)

z=d*sin(φ)

其中ψ为目标与x轴的夹角,θ为目标与y轴的夹角,φ为目标与z轴的夹角。

步骤4、使用指令流程时延对装订数据进行修正补偿。

所述步骤4的具体实现方法为:

x'=x-v0*cos(γ)*sin(α)*δt

y'=y-v0*cos(γ)*cos(β)*δt

z'=z-v0*sin(γ)*δt

如图1所示,根据计算出修正距离d'为:

将根据修正后的坐标x’,y’,z’,计算与x轴的夹角ψ’,目标与y轴的夹角θ’,目标与z轴的夹角φ’,

步骤5、利用梯度下降法对高精度计时算法中的参数进行修正,如图3所示。

虽然控制软件利用高精度计时算法和参数修正算法减少了参数误差,但是实际使用中仍会受到硬件因素的影响。为降低硬件因素的影响,通过梯度下降法对参数进行持续更新修正。

本步骤具体方法为:如图2所示,对高精度计时算法中的参数进行采集,其中样本特征为a,样本标签为b,组合之后形成学习样本a,b,将学习样本a,b带入估计函数hθ后通过梯度下降法得到估计函数的参数更新值δθ,将δθ作用到hθ后得到新的估计函数hθ’,将所有参数始终沿全局梯度方向下降,收敛并获取到最优的修正值。

每个参数按照梯度负方向进行更新的方法为:

其中,j(θ)为损失函数,为梯度方向,η为学习率参数。设定阈值为ε,当δθ<ε时,停止迭代。

需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1