主要内容

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

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

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

自动化测试

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

open_system (“slexRadarArchitectureExample”

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

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

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

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

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

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

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

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

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

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

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

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

打开(“slexRadarArchitectureTests.mldatx”

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

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

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

修改后的需求

在设计过程中,初始需求被修改和更改是很常见的。这个例子假设新的最大距离要求是8000米,新的距离分辨率要求是35米。最新的规定是:

  • R1:雷达必须探测1米雷达横截面(RCS)的转弯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米,几乎低了两倍。满足这一要求的矩形脉冲必须短两倍,在相同范围内将可用功率减少一半。使用Radar Designer应用程序进行的需求分析表明,该系统在最大距离8000米时无法达到所需的检测性能。为了达到所需的最大距离和距离分辨率,在不增加峰值发射功率或天线增益的情况下,采用时间-带宽乘积大于1的新波形。将脉冲宽度设置为1 μ 年代 5兆赫的带宽将提供所需的分辨率。

在Radar Designer应用程序中打开这个设计。

radarDesigner (“RadarDesigner_LFMWaveform.mat”

脉冲波形分析仪应用程序可以用来选择雷达波形从几个选择。本例使用LFM波形。

pulseWaveformAnalyzer (“PulseWaveformAnalyzer_LFMWaveform.mat”

修改后的设计

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

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

%设置模型参数helperslexRadarArchitectureParameters;%更新模型参数以使用LFM波形helperslexRadarArchitectureParametersLFM;simOut = sim卡(“slexRadarArchitectureExample.slx”);data = simOut.logsout {1} .Values.Data;图;情节(range_gates、数据元素个数(range_gates) + 1:结束));包含(的范围(m));ylabel (“权力(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实现体系结构的各个组件。