主要内容

从统计模型创建基于物理的雷达模型

此示例演示如何通过编程从统计雷达模型创建基于物理的雷达模型。

雷达是一种感知系统,它使用天线或天线阵列捕获射频能量,然后对射频能量进行下变频和处理,以提供雷达视场中物体的信息。接收到的信号需要通过信号处理子系统和数据处理子系统。

信号处理子系统的目标是将接收到的IQ信号转换为目标检测。数据处理子系统接收这些检测并生成与检测到的目标相对应的轨迹。

信号处理子系统有助于生成当前场景的快照,并包括有关对象是否在覆盖范围内以及(如果在覆盖范围内)在何处的信息。数据处理子系统将这些快照链接在一起,以便操作员能够了解随时间发生的情况。这有助于获取多普勒信息以及o目标前进方向的预测。

对算法和系统进行模拟和建模的雷达工程师需要跨越信号和数据处理领域的一系列抽象级别。抽象级别取决于雷达开发生命周期的阶段、模拟场景的长度以及所执行的工程工作的类型。

在项目的早期阶段,随着设计权衡的探索,在雷达方程级别进行建模可能就足够了。随着项目的进展,将有必要提高模型保真度的水平,从统计级转移到信号级模拟。此外,场景的长度可以决定哪个建模抽象级别是有意义的。例如,对于更长的场景时间(秒、分钟或更长),最好生成统计或概率雷达探测和跟踪,以覆盖任务或测试跟踪和传感器融合算法。或者,对于感兴趣的事件或正在开发信号处理算法时,需要高保真度、基于物理的模拟,包括传输波形、信号在环境中的传播、目标反射和接收阵列处的接收信号。

在本例中,使用雷达和目标创建场景。首先,使用基于雷达方程的统计模型生成检测。接下来,根据统计模型创建等效的基于物理的雷达模型。然后使用基于物理的雷达模型模拟IQ信号并生成检测。示例shows表明,两个模型的检测结果是一致的。

定义场景

首先,定义一个具有固定位置监视雷达的场景。雷达在其视场内有三个目标。绘制雷达和目标的位置。

%创建目标tgt1=struct(...“平台形”1....“位置”,[0-50e3-1e3],...“速度”[0900*1e3/3600]);tgt2=struct(...“平台形”2....“位置”,[20e3 0-500],...“速度”,[700*1e3/3600]);tgt3=struct(...“平台形”3....“位置”,[-20e3 0-500],...“速度”,[300*1e3/3600]);tp=剧场图(“XLim”,[-30e3 30e3],“YLim”,[-60e3 10e3],“兹利姆”,[-10e3 1e3]);gtplot=平台绘图仪(tp,“显示名称”,“目标地面真相”,...“标记”,'^',“MarkerSize”8.“MarkerFaceColor”,“r”);绘图平台(gtplot[tgt1.位置;tgt2.位置;tgt3.位置],...[tgt1.速度;tgt2.速度;tgt3.速度]{“目标1”,“Target2”,“目标3”});

图中包含一个轴对象。Axis对象包含4个类型为line、text的对象。此对象表示目标地面真相。

定义用于检测生成的雷达

接下来,定义一个机场监视雷达,该雷达根据统计模型生成检测。机场监视雷达安装在离地面15米的地方。雷达传感器定义包括关键雷达参数,如扫描类型和视野信息。

雷达数据发生器根据雷达方程统计生成检测。

rpm=12.5;fov=1.4;5];%[方位角;仰角]扫描速率=rpm*360/60;%度/秒更新率=扫描率/fov(1);%赫兹传感器=雷达数据发生器(1,“旋转器”,...“探测概率”, 0.99,...“更新”,更新,...“安装位置”, [0 0 -15],...“最大方位扫描率”,扫描率,...“视野”,视野,...“方位角解”fov(1));雷达定位=[0];雷达定位=[0];radarplot=平台绘图仪(tp,“显示名称”,“雷达”,...“标记”,'s',“MarkerSize”8.“MarkerFaceColor”,“b”); 绘图平台(雷达图、雷达定位、雷达定位、{“雷达”})

图中包含一个Axis对象。Axis对象包含6个line、text类型的对象。这些对象表示目标地面实况、雷达。

生成统计雷达探测

从雷达的全扫描生成检测结果,并在场景中绘制检测结果。

%从雷达的全扫描生成检测simTime=0;detBuffer={};rng(2020);虽然true[dets,numDets,config]=传感器([tgt1 tgt2 tgt3],simTime);detBuffer=[detBuffer;dets];%#好的%完整扫描完成了吗?如果config.IsScanDone打破%对终止simTime=simTime+1/sensor.UpdateRate;终止StateDetPos=零(numel(detBuffer),3);对于m=1:numel(detBuffer)statepos(m,:)=detBuffer{m}.Measurement';终止stadet=检测绘图仪(tp,“显示名称”,“统计检测”,...“标记”,“d”,“MarkerSize”6.“MarkerFaceColor”,“g”);打印检测(stadet、stadetpos)

图中包含一个Axis对象。Axis对象包含7个line、text类型的对象。这些对象表示目标地面实况、雷达、统计检测。

该图显示生成的探测与地面真实目标位置相匹配。三个目标均由真实标记指示,其探测显示为覆盖在真实标记上。

定义用于IQ信号生成和处理的雷达

由于统计模拟令人满意,您现在可以执行IQ信号模拟,以验证信号处理算法是否正常工作。创建一个雷达收发器,根据先前配置的统计传感器生成IQ信号。

传感器=雷达收发器(传感器)
sensor_iq=具有以下属性的雷达收发器:波形:[1x1相控。矩形波形]发射机:[1x1相控。发射机]发射机天线:[1x1相控。散热器]接收天线:[1x1相控。采集器]接收机:[1x1相控。接收机前置放大器]MechanicalScanMode:'Circular'初始MechanicalScanAngle:-0.1000 MechanicalScanRate:75 ElectronicsScanMode:'None'装入位置:[0-15]装入角度:[0 0]NumRepetitionsSource:'Property'NumRepetitions:1

请注意传感器智商变量更接近于物理系统。传感器智商生成可以处理的IQ信号。例如,实现一个简单的阈值检测器来生成检测。

%配置信号处理组件coeff=getMatchedFilter(传感器iq.波形);mf=phased.MatchedFilter(“系数”,科夫,“收益输出”,对);npower=噪声波(1/传感器波形脉冲宽度,...传感器iq.接收器.噪声图,传感器iq.接收器.参考温度);阈值=npower*db2pow(npwgnthresh(传感器错误报警率));fs=传感器+波形采样器;prf=传感器_iq.Waveform.prf;c=物理常数(“光速”);fc=传感器工作频率;λ=c/fc;Nsamp=圆形(fs/prf);rgates=(0:Nsamp-1)/fs*c/2;tvg=相控时变增益(...“射程损失”,2*fspl(rgates,λ),...“ReferenceLoss”,2*fspl(Nsamp/fs*c/2,λ);

IQ信号与处理仿真

接下来,执行IQ模拟并检查处理算法是否产生与统计传感器类似的结果。请注意,生成IQ信号的模拟回路与生成统计检测的回路几乎相同。该回路还显示了如何处理IQ信号以获得检测。

simTime=0;detBuffer_iq={};虽然真[sig,config]=传感器iq([tgt1 tgt2 tgt3],simTime);如果config.IsScanDone打破终止%加工[sigp,Gmf]=mf(sig);sigp=tvg(sigp);th=sqrt(阈值*db2pow(Gmf));ind=abs(sigp)>th;如果任意(ind)[~,idx]=max(abs(sigp));rng_est=rgates(idx);测量传感器=[0;0;rng_est];测量主体=本地2全局命令(测量传感器,“sr”,...配置初始位置、配置方向);dets_iq=struct(“时间”,simTime,“测量”(meas_body),;detBuffer_iq=[detBuffer_iq;dets_iq];%#好的终止simTime=simTime+1/updaterate;终止iqdetpos=零(numel(detBuffer_iq),3);对于m=1:numel(detBuffer_-iq)iqdetpos(m,:)=detBuffer_-iq{m}.测量;终止iqdet=检测绘图仪(tp,“显示名称”,“智商检测”,...“标记”,“哦”,“MarkerSize”,10,“MarkerEdgeColor”,“k”); 测图检测(iqdet、iqdetpos)

图中包含一个Axis对象。Axis对象包含8个line、text类型的对象。这些对象表示目标地面实况、雷达、统计检测、IQ检测。

该图清楚地表明,从IQ信号生成获得的结果与从统计模型生成的结果相似。

总结

在此示例中,使用统计模型根据雷达方程生成雷达探测。然后,根据统计模型以编程方式创建基于物理的雷达模型,并根据该基于物理的雷达模型生成的IQ信号导出一组新的检测。两个模型的检测结果与地面真实情况吻合得很好。此工作流是一种非常方便的方法,可以快速建立和运行信号级模型。一旦基本信号模型就位,就可以根据项目要求进行扩展。