自定义标签功能
您可以使用信号贴标签机执行自动标记任务。除了峰贴标签机,自动化的价值画廊的标签选项卡包含函数,您可以使用自动标签信号。
创建自定义标签功能
每个自定义autolabeling函数中的第一行包含一个定义的表述形式
函数[labelVals, labelLocs] =外汇(x, t, parentLabelVal parentLabelLoc,变长度输入宗量)
第一个输入参数,
x
是输入信号。编写函数时,期望x
是一个矩阵,每一列包含对应于一个通道数据。如果通道有不同长度,然后期望x
单元阵列的列向量。第二个输入参数,
t
,存储时间值。编写函数时,期望t
是一个矩阵,每一列包含时间信息对应一个通道。如果通道有不同长度,然后期望t
单元阵列的列向量。请注意
单通道成员,定制autolabeling函数获取数据和时间值作为双精度向量。
多通道成员,定制autolabeling函数获取数据和时间值矩阵或细胞阵列。
定制autolabeling函数得到的所有渠道成员作为输入,但他们不需要操作。你可以选择哪些渠道操作的函数。
第三个输入参数,
parentLabelVal
,是父标签值与输出sublabel和包含一个数字,逻辑,或字符串标量。这个论点是通过只对功能自动化sublabels的标签。如果函数是父标签,期望parentLabelVal
是空的。第四个输入参数,
parentLabelLoc
,包含:一个空向量当父标签是一个属性
双元素数字行向量的感兴趣的区域(ROI)限制当父标签是一个ROI
一个数字标量代表一个点的位置当父标签是一个点
这个论点是通过只对功能自动化sublabels的标签。如果函数是父标签,期望
parentLabelLoc
是空的。请注意
父标签,autolabeling函数作用于每个选定的成员。
对于sublabels, autolabeling函数作用于一个父标签实例为每个选定的成员。
使用
变长度输入宗量
指定附加的输入参数。如果你没有额外的输入参数,可以省略变长度输入宗量
。输入额外的参数作为一个有序逗号分隔列表中点击时出现的对话框Auto-Label按钮。第一个输出参数,
labelVals
,包含标签值。labelVals
必须:一个数字、逻辑或字符串标量输出标签属性
一个列向量与数字、逻辑或字符串值时输出标签roi或点
第二个输出参数,
labelLocs
,包含标签位置。labelLocs
必须:一个空向量输出标签属性
一个两列矩阵的ROI限制当输出标签ROI
一个列向量的点位置当标签的输出点
实现你的算法,您可以使用任何从MATLAB函数®或从任何工具箱安装在您的系统。
更多细节,请参阅自动化信号标签使用自定义函数和标签口语单词音频信号。
例子:意思是均方根值
这个函数计算信号的平均均方根值和标签的信号值作为一个数值属性。有多个通道,如果一个成员函数计算每个通道的均方根值和平均值的值。渠道可以有不同的长度。
函数[labelVals, labelLocs] = meanRMS (x, t, parentLabelVal parentLabelLoc,变长度输入宗量)%标签信号的意思是均方根值作为属性如果iscell (x) labelVals =意味着(cellfun (@rms x))其他的labelVals =意味着(rms (x));结束labelLocs = [];结束
例如:零交叉
这个函数发现的零交叉和标签作为一个信号“上升”
正向的转换和“下降”
负向的转变。
函数[labelVals, labelLocs] =转换(x, t, parentLabelVal parentLabelLoc,变长度输入宗量)零交叉%标签为“上升”或“下降”nchan =大小(x, 2);tt = t (: 1);labelVals =细胞(nchan, 1);labelLocs =细胞(nchan, 1);为kj = 1: nchan[率,计算,指数]= zerocrossrate (x, TransitionEdge =“上升”);rloc = tt(指数= = 1);rval = repmat (“上升”长度(rloc) 1);[率,计算,指数]= zerocrossrate (x, TransitionEdge =“下降”);絮状物= tt(指数= = 1);fval = repmat (“下降”长度(絮状物),1);labelLocs {kj} = (rloc;絮状物);labelVals {kj} = [rval; fval];结束labelVals =猫(1,labelVals {:});labelLocs = cell2mat (labelLocs);结束
例如:多通道标记
逻辑功能标签,这样这些地区的多通道信号:
第一频道的振幅是负的。
第三通道的幅度大于一个指定的值,
mx
。如果不指定,mx
默认为0.1。
函数[labelVals, labelLocs] = greaterThan (x, t, parentLabelVal parentLabelLoc,变长度输入宗量)%标签区域与负第一通道和第三通道大于给定值如果输入参数个数< 5 mx = 0.1;其他的mx =变长度输入宗量{1};结束xr = x (: 1);xx = x (:, 3);tt = t (: 1);党卫军= signalMask (xr < 0 & xx > = mx);x = roimask (ss);labelLocs = tt (x.ROILimits);labelVals =逻辑(双(x.Value));结束
例如:提取口语词汇使用外部API
这个函数使用了IBM®沃森演讲文本API和音频工具箱™speech2text
扩展功能来提取口语词汇从一个音频文件。
函数[labelVals, labelLocs] = stt (x, t, parentLabelVal parentLabelLoc,变长度输入宗量)aspeechObjectIBM = speechClient (“IBM”、时间戳= true);fs = 1 / (t (2) - t (1));tixt = speech2text (aspeechObjectIBM x, fs);unifiedTable = vertcat (tixt.TimeStamps {:});numLabels =元素个数(unifiedTable, 1);labelVals =字符串(numLabels, 1);labelLocs = 0 (numLabels, 2);为idx = 1: numLabels labelVals (idx) = unifiedTable {idx} {1};labelLocs (idx 1) = unifiedTable {idx} {2};labelLocs (idx 2) = unifiedTable {idx} {3};结束结束
添加自定义标签功能的画廊
添加一个自定义autolabeling功能,点击旁边的箭头自动化的价值画廊,然后选择添加自定义函数。在对话框中,指定这些字段:
的名字——指定您想要添加的函数的名称。
描述——添加一个简短描述的什么功能和描述可选的输入参数。
标签类型——指定标签的类型生成的函数。选择
属性
(默认),ROI
,或点
。请注意
基于标签类型你指定,信号贴标签机地方的功能适当范畴自动化的价值画廊。当您选择一个标签定义,画廊只允许那些可以用于定义类型的函数。
如果你已经写了一个函数,这个函数在当前文件夹或在MATLAB路径,信号贴标签机包含在画廊。如果你还没有写的函数,信号贴标签机在编辑器中打开一个空白的模板。
管理自定义标签功能画廊
在任何时候,您可以编辑功能,编辑功能描述,或删除功能使用管理自定义功能选项自动化的价值画廊。
请注意
使用管理自定义功能只有函数描述显示在选项更改自动化的价值画廊。如果你想改变的描述文件,其中包含的功能,您必须编辑该文件。