微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于嵌入式系统的典型雷达航迹仿真与实现

基于嵌入式系统的典型雷达航迹仿真与实现

时间:01-21 来源:现代电子技术 点击:

这里需要定义一个意义为实际距离对应屏幕距离的全局比例尺m_Globalscale,单位:像素/m。假设系统所要模拟的PPI显示界面分辨率为240×240(像素),且雷达最大作用范围为m_Range(m),则有如下关系成立:


将圆心与屏幕PPI显示区中心点的偏移量,定义为x_set和y_set,以航迹上的A点为例,假设在t时刻,目标到达A点。其斜距离为D,单位m;方位角为β,单位为(°)。A点对应在屏幕上的斜距离为D1,单位像素;方位角β1,单位弧度;坐标为x_cur,y_cur,单位像素。根据上述分析可以得出:

3.3 航迹坐标点的动态显示

航迹的显示可以在模拟PPI显示器的绘图面上,调用drawlines()方法对所有的航迹点进行连线即可。但是为了实时地了解仿真目标的空中运动情况,往往还要同时实现航迹坐标点动态显示。重绘是一种经常被采用的方法,其思想是对PPI显示模拟界面上的静态显示部分进行重绘,将已经画好的航迹坐标点覆盖掉,再在新的界面背景上绘制新的航迹坐标点。

但是考虑到嵌入式系统在内存及处理速度方面的不足,每次重绘所调用大量的资源,势必会造成CPU资源的浪费,同时影响到整个系统的时效性。为了克服上述问题,保证整个系统运行的实时性,本文采取"背景复制"的方法来解决。总体来讲,实现的思想是:创建2个绘图面,在一个绘图面(g1)上绘制轨迹后再"贴在"另个绘图面(g2)上,并在g2上绘制更新的点迹坐标,当进入下个循环时新的轨迹图又再次贴在g2上,然后再在g2绘制新的点迹坐标,这样显示在窗体上始终只有运动的轨迹和随轨迹运动的图标,即可较为丰富地实现轨迹动态显示。
具体步骤为:

(1)定义2个位图Bitmap1和Bitmap2,并设定其大小

(2)定义两个Graphics绘图面(以下简称g1,g2),并把Bitmapl填充到g1中去,以便于接下来进行绘图操作。

(3)进行航迹模型运算,循环算出各航迹坐标点的坐标值(x,y),将所有的航迹坐标点存入List<Point>中(List为一个泛型,而Point表示在二维平面里定义点的有序坐标对)。使用g1.DrawLines()方法对数组List<Point>中的所有坐标点进行连线,并在pictureBox1控件中显示,雷达典型目标航迹的模拟即可实现。

(4)将整个已经画有航迹的Bitmapl保存下来。

(5)利用C#中的计时器控件,以ts为时间间隔,循环从List<Point>中取出航迹点坐标,并调用DrawImage()函数把已经画有航迹的Bitm-apl填充入g2绘图面。即:

然后在g2绘图面上调用DrawEllipse()函数,以绘点的方式画出模拟目标的实时航迹点坐标。重复步骤(5)的操作即可实现航迹坐标点的动态显示。

图4为采用这里所述方法在一嵌入式系统内实现的某雷达模拟器显控终端截图,图4中所绘航迹为一段直线型航迹。

4 结语

建立对典型雷达航迹模型,并成功在仿真平台上实现模拟,是实现复杂航迹仿真的前提。在此旨在通过对典型雷达航迹的仿真,验证软件运行环境,优化程序结构,并解决航迹在图形化显示上所面对的一些问题。目前,该方法已经被应用到某雷达模拟器的显控终端上,经外场调试,性能较好,实时性强,可以满足雷达模拟器训练要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top