主要内容

信号屏蔽

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

描述

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

使用信号屏蔽,你可以:

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

  • 通过延长或缩短感兴趣的区域的持续时间来修改它们,合并足够接近的同一类别区域,或者删除不够长的区域。

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

  • 用彩色编码的感兴趣区域绘制信号。

创造

描述

例子

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

msk=信号屏蔽(src名称,值性质使用名称-值对。您可以指定多个名称-值对。将每个属性名称用引号括起来。

输入参数

全部展开

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

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

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

      • 如果取样频率是指定的,信号屏蔽将限制解释为以秒为单位的时间值。

      • 如果取样频率未指定,信号屏蔽将极限解释为样本指标。如果矩阵元素不是整数,信号屏蔽将其值舍入到最接近的大于零的整数。

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

  • 什么时候src是一个分类向量序列,相邻的相同值类别元素组表示用该特定类别标记的感兴趣信号区域。不属于任何类别(因此没有标签值)的元素应指定为缺少的类别,显示为<定义>。有关详细信息,请参阅明确的

  • 什么时候src是一个P-列矩阵的二进制序列,每列被解释为一个信号屏蔽与符合事实的元素标记每个感兴趣的区域P不同的类别,用从1到的整数标记P。如果愿意,您可以指定P使用类别财产。

例子:信号屏蔽(表([24;67],“男性”“女性”])指定具有三个采样点的信号掩码男性的区域和两个样本区域

例子:signalMask(分类([”““男性”“男性”“男性”““女性”的“女性”“]”,(“男”“女”)))指定具有三个采样点的信号掩码男性的区域和两个样本区域

例子:signalMask([0 1 1 1 0 0 0;0 0 0 0 0]','类别',["公" "母"])指定具有三个采样点的信号掩码男性的区域和两个样本区域

数据类型:仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|烧焦|一串|表格|明确的

性质

全部展开

此属性是只读的。

输入源的类型,返回为“可滚动的”“categoricalSequence”“二进制序列”.此属性是从src无法设置。

例子:信号屏蔽(表([24;67],“男性”“女性”])源类型返回为“可滚动的”

例子:signalMask(分类([”““男性”“男性”“男性”““女性”的“女性”“]”,(“男”“女”)))源类型返回为“categoricalSequence”

例子:signalMask([0 1 1 1 0 0 0;0 0 0 0 0]','类别',["公" "母"])源类型返回为“二进制序列”

数据类型:一串

此属性是只读的。

采样率值,指定为一个正数值标量。如果src指定为ROI表,信号屏蔽假定该表包含以秒表示的区域限制。如果省略此属性,则对象将所有区域限制视为示例索引。

数据类型:仅有一个的|双重的

类别名称,指定为字符串向量或字符向量的单元格数组。此属性只能在src是二进制序列的矩阵。对于所有其他输入src类型,信号屏蔽直接推断类别名称src并且该属性是只读的。向量的元素数等于src,及其类别对应于第列src如果srcP列,并且未指定此属性,信号屏蔽将类别名称设置为[“1”“2”…“P”]

数据类型:一串|烧焦

选择类别子集的选项,指定为逻辑值。如果此属性设置为创建遮罩后,将显示所有类别类别都被选中了。指定选定的类别只能在现有对象上使用,不能指定为名称-值对。

数据类型:逻辑

选定类别的索引,指定为指向中类别元素的整数索引值向量类别.的对象函数时,将从掩码输入中过滤掉此属性中未列出的类别信号屏蔽。类别索引必须按升序排序。此属性仅在指定选定的类别符合事实的SelectedCategories只能在现有对象上使用,不能指定为名称-值对。

例子:给出一组类别[“女人”“女孩”“男人”“男孩”],指定SelectedCategories作为[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

从左边开始缩短区域的样本数,指定为正整数。信号屏蔽删除缩短了等于或大于其长度的采样数的区域。有关详细信息,请参阅地区限制修改

数据类型:仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

从右侧缩短区域的采样数,指定为正整数。信号屏蔽删除缩短了等于或大于其长度的采样数的区域。有关详细信息,请参阅地区限制修改

数据类型:仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

待合并区域之间的距离,指定为正整数。当指定此属性时,信号屏蔽合并由指定数量或更少的样本分隔的同一类别的区域。有关更多信息,请参见地区限制修改

数据类型:仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

要保留的区域的最小长度,指定为正整数。指定此属性时,信号屏蔽删除小于指定采样数的区域。有关详细信息,请参阅地区限制修改

数据类型:仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

对象的功能

binmask 得到二进制序列掩码矩阵
猫罩 获取分类序列掩码
提取器 基于信号掩码的感兴趣区域提取
plotsigroi 基于信号掩码绘制信号区域
面罩 获得ROI表掩模

例子

全部折叠

加载在某个时间采样的语音信号 F 年代 7 4 1 8 H z .该文件包含一段女性声音的录音,她说的是“MATLAB®”。

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

辨别单词中的元音和辅音通过找出信号的显著变化点。将更改点的数量限制为5个。

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

绘制信号并显示变化点。

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

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

= t([[1;q] [q;length(mtlb)]]);

分配区域标签并保存它们的顺序。

x=[“M”“A”“T”“L”“A”“B”]';y=唯一(x,“稳定”);c=分类(x,y);

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

src=表(roitable,c);msk=信号屏蔽(src,“采样器”Fs,“右缩短”1);roimask (msk)
ans=6×2表B . roitable c ___________________ _ 0 0.017525 M 0.01766 0.10461 A 0.10475 0.22162 T 0.22176 0.33675 L 0.33688 0.6535 A 0.6549 0.3909 B .可选

在字母的位置引入间隙“A”是发声的。

m=mtlb;seq=catmask(msk,长度(mtlb));m(seq==“A”) =南;

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

p = fillgaps (m);w = extractsigroi (msk, p);

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

%k=1时:长度(w)%的声音(cell2mat (w {k}), Fs)%暂停(0.5)%结束

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

图plotsigroi (msk, p)

更多关于

全部展开

介绍了R2020b