主要内容

zerocrossrate

讨论二阶导数过零率

描述

例子

= zerocrossrate (x)返回零交点的x。如果x是一个矩阵,那么函数分析每一列作为一个单独的通道,返回零交点率作为一个行向量,每个值对应于一个通道。

例子

= zerocrossrate (TT)返回的零交点率数据存储在MATLAB中®时间表TT。如果TT包含多个频道,然后分析每个通道独立的函数。

例子

= zerocrossrate (___,名称,值)指定其他名称参数。使用这种语法的任何输入参数在以前的语法。

例子

(,)= zerocrossrate (___)还返回过境点的总数

例子

(,,指数)= zerocrossrate (___)同时返回逻辑索引信号位置发生交叉。

zerocrossrate (___)没有输出参数的阴谋沿着y设在沿着数量和相应的窗口x设在。如果窗口长度等于完整的信号,那么该函数块窗户沿的长度x设在和十字路口中间的窗口。

例子

全部折叠

考虑一个向量的交替的迹象。图数据。

x = [1 1 1 1 1 1 1 1 1 1];情节(x)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

计算的零交点速度x

r = zerocrossrate (x)
r = 0.9500

使用第三输出参数找到口岸发生的地点。情节x和零交点位置。函数返回一个索引在下次样品在穿越之后,不一定准确的交叉位置。第一个示例是标记为一个交叉点,因为函数认为的初始状态x默认为零。

[~,~,指数]= zerocrossrate (x);情节(x)情节(x(指标),‘*’)举行

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

计算的零交点速度x使用比较法。率不同于使用差分法计算值。

rC = = zerocrossrate (x)方法“比较”)
rC = 0.9000

计算的零交点速度x再次使用差分法和零指定为正数。速度等于使用比较法计算值。

rZ = zerocrossrate (x, ZeroPositive = 1)
rZ = 0.9000

现在指定的初始状态x作为1。速度等于前面的结果。

国际扶轮= zerocrossrate (x, InitialState = 1)
国际扶轮= 0.9000

加载一组温度在摄氏度每小时在波士顿洛根机场为整个月1月,2011年。创建一个时间表和使用调整时间将数据聚合到日常的意思。

负载bostempt =小时(一24 * 31)';TT =时间表(t, tempC);rTT =调整时间(TT,“每天”,“的意思是”);

数的天数穿过月平均温度。图的数据,包括一条水平线的月平均温度可视化口岸的发生。

avg =意味着(TT.tempC)
avg = -1.3007
[~,计数]= zerocrossrate (rTT,水平= avg)
数= 9
情节(小时(rTT.t / 24), rTT.tempC) yline (avg)包含(2011年1月1日以来的时间(天))ylabel (“每日平均温度(\ circC)”)轴

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象,constantline。

语音特征可以作为有声的或无声的笑。表达了演讲中,如元音、声带振动时发生。在无声的演讲,如大多数辅音,声带不振动。您可以使用零交叉分类地区浊音和清音的音频信号。

一个音频信号加载到MATLAB®工作区。的声音说,“橡树强,也给阴影”。

(y, fs) = audioread (“oak.m4a”);%,类型soundsc (y, fs)

在44.1 kHz信号采样。计算零点交叉率为10 ms windows使用比较法。

赢得= f * 0.01;率= zerocrossrate (= y, WindowLength =赢,方法“比较”);

情节每段交叉率形象化。言论表示预计将有一个交叉率低,而清音预计将有交叉率高。

情节(率)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

使用一个阈值0.1对浊音和清音区分段。创建一个signalMask对象有两个类别(“无声”和“表达”)和情节感兴趣的区域(roi)。比较区域语音浊音和清音的每个口语的位置。

IBM®沃森演讲文本API和音频工具箱™软件可以用来提取文字从一个音频文件。负载Transcription.mat进入工作区。标记信号集包含音频信号,ROI限制,为每个口语和标签。有关详细信息,请参见标签口语单词音频信号。显示情节上的口语词汇。

h = 0.1;idu =找到(率> h);idu (1:2) = [];vi = [(idu-1)诱导器]*赢;m = sigroi2binmask (vi、长度(y));掩码= signalMask (= [[m ~ m],类别“无声”“表示”),SampleRate = fs);plotsigroi(面具,y)负载转录ln = getLabelNames (transcribedAudio);v = getLabelValues (transcribedAudio 1 ln);v。值=分类(v.Value v.Value);RL = v.ROILimits;六世= v.Value;持有文本(意思是(RL, 2), -0.7 *(大小(重要的)),六世,HorizontalAlignment =“中心”,字形大小= 11,FontWeight =“大胆”)举行

图包含一个坐标轴对象。坐标轴对象包含10线类型的对象,文本。

加载一个原声吉他音乐的音频文件包含15秒。采样率是44.1 kHz。玩音乐,取消最后一行代码。

Fs = 44100;y = audioread (“guitartune.wav”);%的声音(y, Fs)

缓冲音频信号重叠的帧,每个国家都有4096个样本。使用一个重叠的512个样本。

winLength = 4096;重叠= 512;(yB ~) =缓冲区(y, winLength,重叠,“nodelay”);

得到每一帧的零交点。占帧重叠,指定初始状态的前一个值在每一帧首样。

init = winLength -重叠;国家= 0;zcr = [];i = 1:尺寸(yB, 2) zcr = [zcr; zerocrossrate (yB (:, i), InitialState =状态)];我状态= yB (init);结束

情节的音频信号和覆盖每一帧的零交点。

图yyaxisx = 0:1 / Fs:(元素个数(y) 1) / Fs;情节(x, y)包含(“秒”)ylabel (“振幅”)yyaxis正确的xx =(1:尺寸(yB, 2)) * ((winLength-overlap) / Fs);情节(xx”, zcr) ylabel (“零点交叉率”)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

计算的零交点率无缓冲的信号。获得结果相当于零交点的缓冲信号,设置WindowLength4096年OverlapLength512年。确定两个结果是相等的。

zcr_batch = zerocrossrate (y, WindowLength = winLength OverlapLength =重叠);isequal (zcr_batch zcr)
ans =逻辑1

输入参数

全部折叠

数据,指定为一个实值向量或矩阵。如果x是一个矩阵,函数返回零点交叉率作为一个行向量,每个值对应于一个列的数据。

数据类型:|

输入时间表,指定为一个时间表TT必须包含均匀采样单或双精度数据。的RowTimes属性必须包含一个持续时间datetime向量和增加和有限值。如果TT是一个时间表与单个变量包含一个矩阵,或时间表与多个变量每个都包含一个矢量,然后分析每个通道独立的函数。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:zerocrossrate (x) =“比较”的方法,水平= 7,transitionEdge =“上升”)使用比较法计算的速度x积极转型跨越7

以前的状态x指定为一个向量,它的元素的数量等于输入通道的数量。

例子:zerocrossrate (x, InitialState = [1 0 1 3])返回四通道输入信号的交叉率x

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

计算方法讨论二阶导数过零率,指定为“差异”“比较”。如果你不指定方法,该函数使用差分法来计算交叉率。

  • 比较——功能标志着指数是真实的,一个穿越完全完成。

  • 区别——功能标志着指数是真实的,abs(符号(x)‘(x1))> 0

例子:zerocrossrate (x,方法= "比较")计算的交叉率x使用比较法。

数据类型:字符|字符串

窗口长度的计算交叉率,指定为一个正整数。默认的窗口长度的信号长度。

例子:zerocrossrate (x, WindowLength = 20)返回20-sample windows的交叉率x

例子:zerocrossrate (x, WindowLength = f * 0.05)返回50 ms windows的交叉率x给定一个采样率fs

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

相邻段之间的重叠的样本数量,指定为一个正整数。必须小于重叠窗口长度。

例子:zerocrossrate (x, OverlapLength = 0)返回段的交叉率没有重叠。

例子:zerocrossrate (x, WindowLength = 20, OverlapLength = 5)返回5个样品的交叉重叠的部分重叠。

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

信号电平交叉率的计算,指定为一个真正的标量。功能减去水平从信号值,然后发现零交叉。如果你不指定水平的函数使用默认值0并返回讨论二阶导数过零率。

例子:zerocrossrate (x) = 1)返回输入信号的速率x十字架1

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

阈值之上和之下水平交叉率计算值,指定为一个真正的标量。函数设置中的所有的输入值范围(-阈值,阈值)0然后发现零交叉。

例子:zerocrossrate (x,阈值= 0.1)返回交叉率-0.1到0.1的公差。

请注意

当你指定水平阈值首先,功能减去级别从输入然后设置的值0由此产生的输入值的范围(-阈值,阈值]。

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

转换包括计算零交叉时,指定为“下降”,“上升”,或“两个”。如果您指定“下降”,函数项只负向的转变。如果您指定“上升”,函数项只有正向的转换。

例子:zerocrossrate (x, TransitionEdge = "上升")返回的交叉率x因为只有正向的转换。

数据类型:字符|字符串

签署公约,指定为一个逻辑标量。如果您指定ZeroPositive真的,考虑函数0是积极的。如果您指定ZeroPositive是假的,认为的函数0,1,+1有明显的迹象的公约标志函数。

例子:zerocrossrate (x, ZeroPositive = 1)返回输入信号的交叉率x并认为零是积极的。

数据类型:逻辑

输出参数

全部折叠

讨论二阶导数过零率,返回一个行向量或矩阵。当WindowLength等于信号长度,行向量的元素的数量等于通道的数量xTT。当WindowLength小于信号长度,函数返回作为一个矩阵的地方th行包含交叉率th窗口和jth列对应jth输入通道。

数量的过境点,作为一个返回N——- - - - - -矩阵Nwindows和数量吗输入通道的数量。的th行对应的交叉数th窗口和jth列对应的交叉数jth通道。

逻辑信号位置口岸的指数发生,作为一个返回N——- - - - - -WindowLength——- - - - - -数组,Nwindows和数量吗输入通道的数量。

请注意

指数可能不代表确切的信号交叉的位置。的zerocrossrate函数返回下一个样本后十字路口一个索引。

扩展功能

版本历史

介绍了R2021b

另请参阅

功能