技术随笔


雷达信号处理

理论不如实践,将项目中的图整理一下放上去来直观理解理论

1.距离徙动和keystone变换

下图是一个物体在运动时,由于速度过快跨越了多个距离门。
技术随笔-2024-08-15-20-48-34
从而导致下图中距离速度图像散焦的情况,无法精确定位物体的速度和距离究竟是多少。
技术随笔-2024-08-15-20-48-46
针对调频连续波信号模型,回波的快时间的FFT表示如下,可见距离频域fτf_\tau和速度vv之间有乘积耦合。

s(fτ,t)=FFT(u(τ))exp[j4π(fτ+fc)c(r0+vt+12at2)]\begin{aligned} s\left(f_\tau, t\right)= & FFT\left( u\left( \tau \right) \right) \cdot \exp \left[-\mathrm{j} \frac{4 \pi\left(f_\tau+f_c\right)}{c}\left(r_0+v t+\frac{1}{2} a t^2\right)\right] \end{aligned}

keystone变换即是t=fcfτ+fctnt=\frac{f_c}{f_\tau+f_c} t_n,从而使得雷达回波的相位中,距离和速度分离开,消除了耦合。

j4π(fτ+fc)cr0j4πfccvtnj2πfc2c(fτ+fc)atn2-\mathrm{j} \frac{4 \pi\left(f_\tau+f_c\right)}{c} r_0-\mathrm{j} \frac{4 \pi f_c}{c} v t_n-\mathrm{j} \frac{2 \pi f_c^2}{c\left(f_\tau+f_c\right)} a t_n^2

但是该运算量过大,一般采用CZT方法来进行keystone变换。

2.DBT框架

DBT在时间上累积观测,提高信噪比,再进行跟踪。
相对应的TBD,对原始数据直接处理,处理的信息再进行累积,不需要进行数据关联。

3.相参积累

就是多个雷达脉冲之间相位关系一致,可以累积多个脉冲提高信噪比。
多个脉冲重复周期、且统一距离单元的回波信号叠加起来。

4.CFAR检测

做二维FFT变换得到RD图,分别得到距离和速度。
技术随笔-2024-08-15-21-19-45
有的目标淹没在了杂波当中,先做差分再进行傅里叶变换得到新的目标。
技术随笔-2024-08-15-21-23-20
通过CFAR检测可以得到很多张目标信息图
技术随笔-2024-08-15-21-24-15
但是一般会有很多杂波点,真实目标点周围的点更多一些,所以可以通过聚类方法来确定真实目标的位置。

4.概率数据关联和扩展卡尔曼滤波

目标的航迹量测信息通常包括雷达假目标、真目标、噪声点,需要对这些点进行融合。概率数据关联就是给每个点赋予一个关联概率,根据时间累积迭代这些概率值,融合的量测就将所有测量值按比例使用得到加权测量。

z(k)=m=0mkβm(k)zm(k)z(k)=\sum_{m=0}^{m_k} \beta_m(k) z_m(k)

融合了量测信息同样也可以融合状态估计信息,用扩展卡尔曼滤波融合状态估计信息从而得到下一位置的航迹。

智能空战AI

1.符合openai-gym接口的拟真空战仿真引擎

要应用强化学习解决问题最重要的东西就是仿真器,为此openai开发了大量的便于强化学习研究的仿真器平台,就叫做openai-gym,顾名思义就是强化学习的健身房嘛。

为了方便强化学习研究,他们制定了统一的接口,让我们可以把这个仿真器当作黑盒来使用,不用在乎内部细节。由于他们做得比较好,这些接口规范也成为了行业内的统一规范。也就是如果想要在一个自己开发的仿真器上部署强化学习算法,都必须打造成openai-gym形式,留几个接口出来。

这些接口主要是:

  • reset():重置环境,返回初始状态
  • step(action):执行动作,返回新的状态、奖励、是否结束、额外信息
  • 状态空间定义,动作空间定义(这个有openai规定的数据格式,跟传统的int,float这些不同,有Box,Discrete)
  • close():关闭环境

然后搭这个仿真器的时候就主要查看JSBSim的官方API文档,导出教程找到正确启动的方法之后,就采用面向对象的思想开始一步一步封装。

  • 最底层:飞行器仿真器类:主要负责加载飞行器数据和调用JSBSim的API保证飞行器各个引擎运行。
  • 第2层 空战环境:这里首先设置了一个基类,写了很多虚函数,通过继承实现单机控制环境、单机博弈环境和多机博弈环境。通过调用飞行器仿真器类,实现openai-gym接口
  • 第3层:任务类:也是先设置一个基类,通过继承实现追逐任务、射击任务多机格斗任务这些,主要负责奖励函数,状态动作的定义这些。
  • 第4层:运行类:主要负责运行过程的参数设置,强化学习中的训练策略也在这里编写。
    image-20240508144949631

2.LSTM,PPO,ELO,Master-Worker架构

无人集群AI

1.全局战场空中霸权争夺

根据查阅军事新闻总结出的一个观点,空中霸权争夺就是将敌方无人机全部消灭,完全控制空中战场。

2.多头注意力机制和单位导向流

因为多无人机观测到的信息很多,只需要着重于其中一些跟敌方有关的信息,所以通过多头注意力机制来提取关键信息。然后单位导向流是为了可变动作空间设计的,探测到的敌方无人机数量是可变的,但是神经网络的接口是不变的,所以就根据每个敌方无人机分别进行神经网络推理得到相应的Q值(Q就是动作价值,针对每个对手都有3个动作价值,分别是不同的子策略),然后将结果汇总起来,选择最大的Q值作为对手和子策略选择(这里得到的是一个二维Q表,选择最大的那个就能得到相应的行列,行就是对手,列就是战术)

QMIX算法是多智能体强化学习的SOTA算法,主要是针对奖励分配的。一般来说团队协作得到的都是总体奖励,比如输或者赢,但是有些lazy-agent虽然啥都没做但是得到了正向奖励,那他就会更加觉得自己合理了。所以就产生了这类价值分解的算法,最开始用线性值分解,认为总奖励是通过各个智能体奖励的线性叠加得到的,最后还是神经网络大法好,QMIX用神经网络来进行值分解,效果更好。

3.多机协同

多机协同就是多个无人机协同工作,完成一个任务,比如拦截敌方无人机,或者进行编队飞行。

3.多机协同


文章作者: sdj
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 sdj !
  目录