主要内容

雷达体系结构:测试自动化和需求跟踪(第2部分)

这个例子是关于如何在Simulink®中基于一组性能要求设计和测试雷达系统的两部分系列的第2部分。金宝app它讨论了第1部分中开发的模型的测试和初始需求的验证。它展示了如何使用Simulink Tes金宝appt™来设置测试套件,以验证与系统组件相链接的需求。该示例还探索了一个场景,当所述需求已被修改,导致设计和测试发生变化时。

本例的第1部分从一组性能需求开始。使用Simulink system Composer开发了雷达系统的体系结构模型™. 该体系结构模型被用作虚拟试验台,用于测试和验证雷达系统设计。第1部分介绍了如何使用Simulink需求™ 将需求链接到体系结构的组件。它金宝app还展示了如何使用Simulink实现体系结构的各个组件。

自动测试

在设置测试之前,加载示例第1部分中构建的模型。

open_system (“slexRadarArchitectureExample”)

金宝appSimulink Test Manager是为模型创建测试套件的工具。要访问Test Manager,请单击金宝app仿真软件测试应用程序选项卡,然后导航到测试选项卡并单击金宝appSimulink测试管理器.要开始测试,请单击为模型创建一个新的测试文件新的测试文件。然后添加两个单独的测试套件,每个需求一个。通过以下方式进一步配置测试套件:

  • 向每个测试套件添加一个描述,以简短地描述正在测试的功能。

  • 将测试套件链接到一个或多个需求。为了验证需求,测试套件中的测试必须通过。

  • 为测试运行之前的设置和之后的清理添加回调。这个示例需要在基本工作区中使用一个全局变量,以便在单个测试套件中聚合多个Monte Carlo运行的结果。

接下来,在测试套件中配置测试。更改仅在“被测试的系统”、“参数覆盖”、“迭代”和“自定义标准”部分进行。

  • 在“正在测试的系统”部分中,设置模型字段设置为模型的名称,在本例中为slexRadarArchitectureExample

  • 参数覆盖部分用于在测试执行期间为基本工作区中的参数分配不同的值。使用此部分可指定最大范围测试和范围分辨率测试的目标参数。

对于最大射程测试,指定1米的单个目标 2. R1中所述距离雷达6000米的雷达截面(RCS)。

距离分辨率测试,根据R2要求,指定两个RCS不同的目标,距离相差70 m。

  • 由于随机噪声和目标波动的影响,只能验证在多次测试运行中收集到的平均雷达系统性能。测试的迭代部分可用于配置测试,使其运行多次,以实现蒙特卡罗模拟。这个例子向Scripted Iterations小节添加了一个自定义脚本来设置Monte Carlo。该脚本只执行10次迭代。为了稳健地验证系统的性能,需要进行更多的迭代。

  • 自定义条件部分允许您指定一个自定义规则,该规则在每次迭代结束时验证测试结果。配置它以运行helperslexRadarArchitectureTestCriteriahelper函数,用于处理每个测试迭代的结果并将其存储在detectionResults基本工作区中的变量。此函数计算检测阈值交叉的数量。如果此数量等于测试中的目标数量,则系统通过测试迭代,否则迭代被声明为失败。在上一次迭代中,helperslexRadarArchitectureTestCriteria计算通过的迭代总数。这个helper函数的第二个参数是整个测试必须通过的迭代的百分比。最大范围测试要求至少90%的迭代通过。由于距离分辨率测试模拟两个独立的目标,因此要求至少80%的测试迭代成功。

在test Manager中打开这个测试套件。

打开(“slexRadarArchitectureTests.mldatx”)

添加测试并将它们链接到需求之后,需求编辑器中的需求状态表明已添加验证,但测试尚未执行。

现在测试可以开始了。在运行两个测试套件之后,使用Data Inspector检查每个单独迭代的结果。自定义条件helper函数还将每次迭代的状态打印到命令窗口。

由于两个测试都通过了,Requirements Editor现在显示这两个需求都已经实现和验证。

修改后的需求

在设计过程中,通常会修订和更改初始要求。本示例假设新的最大射程要求为8000 m,新的射程分辨率要求为35 m。更新后的要求为:

  • R1:雷达必须检测雷达截面积(RCS)为1米的旋转1箱目标 2. 在8000米范围内,探测概率为0.9,虚警概率为1e-6。

  • R2:当从两个距离35米、方位相同的转向1 Case目标检测到返回时,雷达必须分辨两个目标,并在80%的时间内生成两个独特的目标报告。

在需求编辑器中对需求进行更改将产生更改问题,并以红色突出显示相应需求的Summary状态。到实现已更改需求的组件和验证该需求的测试的链接也会突出显示。这样就很容易识别设计的哪些组件和哪些测试需要更新,以便处理需求中的变化并对它们进行测试。

使用需求跟踪矩阵来监视需求或系统组件实现中的变化。

更新系统参数

新的最大射程要求超出了当前系统的明确射程,等于7494.8米。为了满足新的要求,增加明确的范围。这可以通过降低PRF来实现。将PRF设置为16 kHz的结果是明确的范围9368.5 m,这远远超出了所需的最大范围8000 m。

由于目前的雷达设计发射未经调制的矩形脉冲,因此系统的分辨率限制由脉冲宽度决定。当前的距离分辨率限制为60米。35米的新要求几乎降低了两倍。满足此要求的矩形脉冲必须缩短两倍,从而降低可用时间相同范围内的功率减半。使用雷达设计师app进行的需求分析表明,该系统无法在8000米的最大范围内达到所需的检测性能。为了达到所需的最大范围和距离分辨率,在不增加峰值发射功率或天线增益的情况下,采用具有time带宽乘积大于1。将脉冲宽度设置为1 μ s 5 MHz的带宽将提供所需的分辨率。

在雷达设计器应用程序中打开此设计。

radarDesigner (“RadarDesigner_LFMWaveform.mat”)

脉冲波形分析仪应用程序可用于从多个备选方案中选择雷达波形。本例使用LFM波形。

pulseWaveformAnalyzer (“脉冲波形分析仪\u LFMWaveform.mat”)

修改后的设计

修改系统组件行为的一种方便的方法是通过创建变体来添加替代设计。这是通过右键单击组件并选择来实现的添加变体选择.添加一个变体波形发生器并添加Simul金宝appink行为来实现LFM波形生成。

配置线性调频通过将脉冲宽度设置为新值1来阻止 μ s .扫描带宽设置为5mhz, PRF属性设置为更新后的16khz。用LFM波形运行模型。

%设置模型参数助手雷达体系结构参数;%更新模型参数以使用LFM波形helperslexRadarArchitectureParametersLFM;simOut=sim(“slexRadarArchitectureExample.slx”);data = simOut.logsout {1} .Values.Data;图;情节(range_gates、数据元素个数(range_gates) + 1:结束));包含(‘射程(米)’); 伊拉贝尔(‘功率(W)’);标题(信号处理器输出的);网格;

图中包含一个轴对象。标题为Signal Processor Output的axis对象包含一个类型为line的对象。

更新测试

在验证LFM雷达系统是否满足更新要求之前,通过更新目标位置对测试进行相应修改。

  • 在最大射程测试中设置目标距离为8000米

  • 在距离分辨率测试中改变目标距离,使目标彼此距离35米

更新测试后,在需求编辑器中清除所有更改问题。单击显示链接需求选项卡,然后选择链接并单击清除所有扣上更改信息部分细节右边的面板。问题解决后启动测试。新设计将通过更新后的测试,并验证系统满足更新后的要求,确认Radar Designer应用程序做出的预测。

总结

这个例子是关于如何在Simulink中基于一组性能需求设计和测试雷达系统的两部分系列文章的第2部分。金宝app它展示了如何使用Simulink Tes金宝appt来测试第1部分中开发的模型,如何将测试与需求联系起来,以及如何通过运行蒙特卡罗模拟来验证需求是满足的。该示例还说明了如何跟踪相应组件的需求更改,以及如何通过向模型添加变体来创建可选设计。本例的第1部分从最终设计必须满足的需求开始。它使用System Composer开发了一个雷达系统的体系结构模型,可以作为虚拟试验台。第1部分还展示了如何使用Simulink Requirem金宝appents将需求链接到组件,以及如何使用Simulink实现体系结构的各个组件。