这个例子展示了如何标记脉冲雷达信号的主要时间和频率特征。这一步有助于创建完整和准确的数据集,以训练人工智能(AI)模型。信号贴标签机通过两种方式减轻了这个任务。在手动模式下,同步的时间和时间-频率视图帮助您识别频率特征,如波形类型,可以矩形
,LinearFM
,或SteppedFM
.在自动模式下,可以实现测量脉冲重复频率(PRF)、脉冲宽度、占空比、脉冲带宽,只纠正错误的功能,而不是从头标记所有信号。一个内置的仪表板可以帮助跟踪标签进度并评估标签的质量。
本例中的雷达信号存储在单独的MAT文件中。每个文件都包含一个数据变量x
和相应的样本率变量Fs
.
开放信号贴标签机.在贴标签机选项卡上,单击进口并选择从文件夹
在成员列表。在对话框中,选择雷达信号文件的目录。要指定要读取的信号变量,请单击指定并输入x
.添加时间信息:选择工作在
选择和选择时间
从列表中。选择样本率变量从文件
在列表中输入Fs
.点击进口.导入的文件显示在标记信号集浏览器.通过选择信号名称旁边的复选框绘制信号。
定义标签
为信号波形类型创建一个标签定义。
创建一个字符串属性标签来标记波形类型。点击添加在贴标签机选项卡并选择添加标签定义
.
在对话框中,指定标签名称作为WaveFormType和
的标签类型作为属性。集数据类型来字符串
.
点击好吧.
重复这些步骤为PRF、占空比和带宽创建属性标签定义。修改每个标签的名称并设置数据类型为数字
.
为脉冲宽度创建一个感兴趣区域(ROI)标签,该标签对应于显示用于计算每个脉冲宽度的初始和最终交叉的区域。指定标签名称作为脉冲宽度
,标签类型作为回报,数据类型作为数字
.标签定义出现在标签定义浏览器。
创建自定义自标签函数
使用四个自定义标签功能来标记PRF、带宽、占空比和脉宽。示例的支持函数部分给出了这些函数的代码。金宝app要创建每个函数,请在贴标签机选项卡上,单击自动化的价值并选择添加自定义函数.信号贴标签机显示一个对话框,在其中输入函数的名称、描述和标签类型。
对于计算PRF的函数,输入computePRF
在的名字字段,并选择Attribute作为标签类型.你可以离开描述字段为空,或者您可以输入自己的描述。
对于计算带宽的功能,请输入computeBandWidth
在的名字字段,并选择Attribute作为标签类型.你可以离开描述字段为空,或者您可以输入自己的描述。
对于计算占空比的函数,输入computeDutyCycle
在的名字字段,并选择Attribute作为标签类型.你可以离开描述字段为空,或者您可以输入自己的描述。
对于计算脉冲宽度的函数,输入computePulseWidth
在的名字字段,并选择ROI作为标签类型.你可以离开描述字段为空,或者您可以输入自己的描述。
如果您已经编写了函数,并且函数在当前文件夹或MATLAB®路径中,信号贴标签机将函数添加到库中。如果你没有写函数,信号贴标签机在编辑器中打开空白模板,以便键入或粘贴代码。保存文件。保存文件后,函数就会出现在库中。
标签波形类型,PRF,带宽,占空比,脉冲宽度
设置每个信号的波形类型:
在标记信号集浏览器,选中radarData1旁边的复选框。
单击显示选项卡并选择光谱图在的观点部分。该应用程序显示一组轴与信号谱图和一个光谱图选项卡以控制视图。
单击光谱图选项卡,设置重叠百分比为99
.
谱图显示信号波形为矩形。在标签查看器属性表中,双击下面的单元格WaveFormType和类型矩形
.
对数据集中的所有信号重复此手动标记步骤。
一个例子矩形
波形。
一个例子LinearFM
波形。
一个例子SteppedFM
波形。
计算并标记输入信号的PRF。
中选择PRF标签定义浏览器。
在自动化的价值画廊,选择computePRF
.
点击Auto-Label并选择Auto-Label所有信号
.在弹出的对话框中,单击好吧.
通过选择相应的标签定义和自标签功能,对带宽、占空比和脉宽重复上述步骤。
信号贴标签机计算并标记所有信号,但只显示选中复选框的信号的标签。
验证标签信号
查看您的标签进度,并验证计算的标签值是否正确。选择WaveFormType
在标签定义浏览器,点击指示板在贴标签机选项卡。
左边的图显示了打标的进度,100%,因为所有的信号都打了标签WaveFormType
标签。右边的图显示了每个标签值带有标签的信号数量。你可以使用标签分布饼图来评估你们标签的准确性,并确认结果符合预期。
接下来,验证所有脉宽标签值是否分布在周围5 e-5
.要查看脉宽标签值的时间分布,请单击定义选择在指示板选项卡并选择脉冲宽度.点击时间分布图,点击指示板选项卡,设置垃圾箱来3.
,X分钟来4 e-5
和X最大值来6 e-5
.所有的信号都有一个分布在周围的脉宽5 e-5
.
关闭仪表板。
出口标记信号
输出标记信号来训练AI模型。在贴标签机选项卡上,单击出口并选择标记信号设置为文件
.在出现的对话框中,给出名称radarDataLss.mat
,并添加一个可选的简短描述。点击出口.
回到MATLAB®命令窗口。装入标记信号集并从标记信号集创建信号和标记数据存储。用信号和标签数据存储创建一个组合数据存储。使用读
或readall
获取信号标签对,你可以用它们来训练人工智能模型。
负载radarDataLss.mat[signalDS, labelDs] = ls.createDatastores (“WaveFormType”);结合=结合(signalDS labelDs);
computePRF
功能:计算脉冲重复频率
的computePRF
函数计算并标记输入信号的PRF。它使用pulseperiod
函数。
函数[labelVal, labelLoc] = computePRF (x, t, parentLabelVal parentLabelLoc,变长度输入宗量)%用于计算雷达脉冲的重复频率如果~isreal(x) x = abs(x);结束革命制度党= pulseperiod (x, t);labelVal = 1 / pri (1);labelLoc = [];结束
computeBandWidth
功能:计算脉冲带宽
的computeBandWidth
函数计算并标记输入信号的带宽。它使用obw
函数。
函数[labelVal, labelLoc] = computeBandWidth (x, t parentLabelVal ~变长度输入宗量)%计算雷达脉冲占用的带宽如果~isreal(x) x = abs(x);结束fs = 1 /意味着(diff (t));labelVal = obw (x, fs);labelLoc = [];结束
computeDutyCycle
功能:计算脉冲占空比
的computeDutyCycle
函数计算并标记输入信号的占空比。它使用dutycycle
函数。
函数[labelVal, labelLoc] = computeDutyCycle (x, t, parentLabelVal parentLabelLoc,变长度输入宗量)%用于计算雷达脉冲的占空比如果~isreal(x) x = abs(x);结束labelVal = dutycycle (x, t);labelLoc = [];结束
computePulseWidth
功能:计算脉冲宽度
的computePulseWidth
函数计算并标记输入信号的脉冲宽度。它使用脉冲宽度
函数。
函数[labelVal, labelLoc] = computePulseWidth (x, t, parentLabelVal parentLabelLoc,变长度输入宗量)%用于计算雷达脉冲的脉冲宽度如果~isreal(x) x = abs(x);结束(pw, ic, fc) =脉冲宽度(x, t);labelVal = pw (1);标签loc = [ic(1) fc(1)];结束