主要内容

signalMask

修改和转换信号掩码,提取感兴趣的信号区域

描述

采用signalMask存储信号感兴趣区域的位置以及每个区域的标签或类别值。

使用signalMask,您可以:

  • 将信号掩码表示为表、分类序列或二进制序列的矩阵。

  • 通过扩展或缩短感兴趣的区域的持续时间,合并足够接近的同类区域,或删除不够长的区域。

  • 从信号矢量提取感兴趣的信号区域。

  • 用不同颜色标记感兴趣的区域。

创建

描述

例子

msk的= signalMask (src为输入数据源创建信号掩码src.一种面具定义信号感兴趣区域的位置以及每个区域的标签或类别值。

msk的= signalMask (src名称,价值属性使用名称-值对。可以指定多个名称-值对。将每个属性名用引号括起来。

输入参数

全部展开

输入数据源,指定为兴趣区域(ROI)表,分类向量序列或二进制序列的矩阵。

  • src是一个ROI表,它必须包含两个变量:

    • 第一个变量是一个两列矩阵。矩阵的每一行包含感兴趣的信号区域的开始和结束极限。

      • 如果SampleRate指定了,signalMask将限制解释为以秒表示的时间值。

      • 如果SampleRate没有指定,signalMask将限制解释为样本指标。如果矩阵元素不是整数,signalMask将它们的值舍入到大于零的最接近的整数。

    • 第二个变量包含区域标签,指定为分类数组或字符串。

  • src是一个类别向量序列,连续的同值类别元素组表示用该特定类别标记的感兴趣的信号区域。不属于任何类别(因此没有标签值)的元素应该指定为缺失的类别,显示为<未定义>.有关更多信息,请参阅分类

  • src是一个P.-column的二进制序列矩阵,每一列被解释为带有的信号掩码真正的元素标记每个人的区域P.不同的类别,标有1到1的整数P..如果您愿意,可以指定一个列表P.类别名称使用类别财产。

例子:signalMask(table([2 4;6 7],["公" "母"]'))指定带有三样例的信号掩码男性区域和两个样本女性地区。

例子:SignalMask(分类([“”男性“”男性“”男性“”“女性”“女性”“”“]',[”男性“女性”]))指定带有三样例的信号掩码男性区域和两个样本女性地区。

例子:SignalMask([0 1 1 1 0 0 0 0; 0 0 0 0 0 1 1 0]','类别',[“男性”“女性”])指定带有三样例的信号掩码男性区域和两个样本女性地区。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|桌子|分类

属性

全部展开

此属性是只读的。

输入源的类型,返回为“roiTable”“类别序列”,或“binarySequences”.此属性可推断出来src且无法设置。

例子:signalMask(table([2 4;6 7],["公" "母"]'))SourceType返回“roiTable”

例子:SignalMask(分类([“”男性“”男性“”男性“”“女性”“女性”“”“]',[”男性“女性”]))SourceType返回“类别序列”

例子:SignalMask([0 1 1 1 0 0 0 0; 0 0 0 0 0 1 1 0]','类别',[“男性”“女性”])SourceType返回“binarySequences”

数据类型:字符串

此属性是只读的。

采样率值,指定为正值标量。如果src指定为ROI表,signalMask假设表包含以秒为单位的区域限制。如果忽略此属性,该对象将所有区域限制视为样本索引。

数据类型:|

类别名称,指定为字符串向量或字符向量的单元格数组。此属性只能设置src是二进制序列的矩阵。对于所有其他输入src类型,signalMask直接infers类别名称src这个属性是只读的。向量的元素数等于的列数src,它的一世类别对应于一世th列src.如果srcP.列且此属性未指定,signalMask将类别名称设置为(“1”“2”……“P”)

数据类型:字符串|字符

选项以选择类别的子集,指定为逻辑值。如果此属性设置为错误的创建掩码后,所有类别类别被选中。SpecifySelectedCategories只能在现有对象上使用,不能指定为名称-值对。

数据类型:逻辑

所选类别的索引,指定为指向中的类别元素的整型索引值向量类别.在调用对象功能时,在此属性中未列出此属性中未列出的类别signalMask.类别索引必须按升序排序。此属性仅适用于以下情况SpecifySelectedCategories真正的选择类别只能在现有对象上使用,不能指定为名称-值对。

例子:给出了一系列类别"女人" "女孩" "男人" "男孩",指定选择类别作为(1 2 4)选择["女人”“女孩”“男孩”)然后过滤掉剩下的。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

将区域扩展到左侧的样本数量,指定为正整数。达到序列的开头时,扩展样本的数量被截断。有关更多信息,请参阅区域限制修改

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

将区域延伸到右侧的样本数量,指定为正整数。有关更多信息,请参阅区域限制修改

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

为缩短左侧区域的样本数量,指定为正整数。signalMask删除被一些长度等于或大于其长度的样本所缩短的区域。有关更多信息,请参阅区域限制修改

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

从右边缩短区域的样本数,指定为正整数。signalMask删除被一些长度等于或大于其长度的样本所缩短的区域。有关更多信息,请参阅区域限制修改

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

要合并的区域之间的距离,指定为正整数。指定此属性时,signalMask合并由指定数量的样本数分开的相同类别的区域。有关更多信息,请参阅区域限制修改

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

要保留的最小区域长度,指定为正整数。指定此属性时,signalMask删除比指定数目的样本短的区域。有关更多信息,请参阅区域限制修改

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

对象功能

binmask 获取二进制序列掩码的矩阵
catmask 获取分类序列掩码
extractsigroi 基于信号掩模提取感兴趣区域
Plotsigroi. 根据信号掩模绘制信号区域
roimask 获取ROI表蒙版

例子

全部收缩

加载采样的语音信号 F S. = 7. 4. 1 8. H Z. .该文件包含一个录制的女性语音,说明“matlab®”这个词。

加载mtlbt =(0:长度(mtlb) 1) / Fs;

通过查找信号方差显着变化的点来辨别单词中的元音和辅音。将ChangePoints的数量限制为五个。

q = findchangepts(mtlb,“统计”“rms”“MaxNumChanges”5);

绘制信号并显示变化点。

findchangepts(mtlb,“统计”“rms”“MaxNumChanges”5)轴

定义与单词中每个字母对应的感兴趣区域。

roity = t([[1; 1; q] [q;长度(mtlb)]);

分配区域标签并保留其订单。

x = (“m”“一个”“T”“l”“一个”“B”]“;y =独特(x,“稳定”);c =分类(x, y);

为感兴趣的区域和相应的标签创建一个信号掩码。从右侧将每个区域缩短一个样本,以避免相邻。显示感兴趣的区域表掩码。

src =表(roitable c);msk = signalMask (src,“SampleRate”,fs,“RightShortening”,1);Roimask(MSK)
ans =6×2表Roabent C ___________________ _ 0 0.017525 m 0.01766 0.10461 A 0.10475 0.22162 T 0.22176 0.33675 ​​L 0.33688 0.46535 A 0.46549 0.53909 B.

介绍字母的信号中的间隙“一个”哼声。

m = mtlb;seq = catmask (msk、长度(mtlb));m (seq = =“一个”)=楠;

使用自回归过程重建信号。提取来自重建信号的每个感兴趣区域。

p = fillgaps(m);w =提取物agroi(msk,p);

要在每个区域之后播放带有暂停的声音,取消注释以下行:

对于k = 1:长度(w)%声音(Cell2mat(w {k}),fs)%暂停(0.5)% 结尾

绘制重建的信号并可视化感兴趣的区域。

图Plotsigroi(MSK,P)

更多关于

全部展开

在R2020B中介绍