主要内容

雷达架构:测试自动化和需求可追溯性(第二部分)

本示例是关于如何基于一组性能需求在Simulink®中设计和测试雷达系统的两部分系列的第2部分。它讨论了第1部分中开发的模型的测试和初始需求的验证。它展示了如何使用Simulink Test™设置测试套件,以验证与系统组件链接的需求。该示例还探讨了这样一个场景:所述需求经过修改,导致设计和测试发生更改。

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

自动化测试

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

open_system (“slexRadarArchitectureExample”

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

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

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

  • 为测试运行前的设置和测试运行后的清理添加回调。此示例需要基本工作区中的一个全局变量,以便在单个测试套件中聚合多次蒙特卡洛运行的结果。

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

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

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

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

对于距离分辨率测试,根据R2的要求,指定两个具有不同RCS的目标,在70 m范围内分隔。

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

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

在测试管理器中打开此测试套件。

打开(“slexRadarArchitectureTests.mldatx”

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

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

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

修改后的需求

在设计过程中,通常会修改和更改初始需求。这个例子假设新的最大距离要求是8000米,新的距离分辨率要求是35米。更新后的要求如下:

  • R1:雷达必须探测到雷达横截面为1米的转弯1 Case目标 2 在8000 m范围内,检测概率为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 m时无法达到所需的探测性能。为了达到所需的最大距离和距离分辨率,在不增加峰值发射功率或天线增益的情况下,采用时间-带宽乘积大于1的新波形。设置脉冲宽度为1 μ 年代 5兆赫的带宽将提供所需的分辨率。

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

radarDesigner (“RadarDesigner_LFMWaveform.mat”

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

pulseWaveformAnalyzer (“PulseWaveformAnalyzer_LFMWaveform.mat”

修改后的设计

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

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

设置模型参数helperslexRadarArchitectureParameters;更新模型参数以使用LFM波形helperslexRadarArchitectureParametersLFM;simOut = sim(“slexRadarArchitectureExample.slx”);数据= simOut.logsout{1}.Values.Data;图;情节(range_gates、数据元素个数(range_gates) + 1:结束));包含(的范围(m));ylabel (“权力(W)”);标题(“信号处理器输出”);网格

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

更新测试

在验证采用LFM的雷达系统能够满足更新后的要求之前,需要通过更新目标位置对测试进行相应的修改。

  • 设置最大射程测试的目标距离为8000m

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

更新测试之后,在需求编辑器中清除所有更改问题。点击显示链接需求选项卡,然后选择链接并单击清除所有按钮改变的信息部份细节面板在右边。当问题被清除时,启动测试。新设计将通过更新的测试,并验证系统满足更新的要求,确认雷达设计师应用程序的预测。

总结

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

Baidu
map