vad_corr函数matlab的注释
时间: 2023-06-16 15:08:17 浏览: 128
vad_corr 函数是一种语音信号处理函数,用于基于自相关函数的声音活动检测。下面是 vad_corr 函数的 MATLAB 注释:
```matlab
function [vad,c,zcr,amp] = vad_corr(x, fs, fr, w, n1, n2, n3, n4, amp1, amp2, amp3, amp4)
% VAD_CORR Voice Activity Detection using Zero Crossing Rate and Correlation
% [vad,c,zcr,amp] = vad_corr(x, fs, fr, w, n1, n2, n3, n4, amp1, amp2, amp3, amp4)
%
% INPUT:
% x: input signal
% fs: sampling frequency
% fr: frame rate (frames per second)
% w: window function
% n1: minimum number of consecutive frames below amp1
% n2: minimum number of consecutive frames above amp2
% n3: minimum number of consecutive frames below amp3
% n4: minimum number of consecutive frames above amp4
% amp1: threshold for minimum amplitude (below)
% amp2: threshold for maximum amplitude (above)
% amp3: threshold for minimum correlation (below)
% amp4: threshold for maximum correlation (above)
%
% OUTPUT:
% vad: voice activity detection result (1: active, 0: inactive)
% c: correlation matrix
% zcr: zero crossing rate
% amp: amplitude
%
% The algorithm is based on a zero-crossing rate and a correlation matrix
% computation. In the correlation matrix, the diagonal and the lower
% triangle are used to compute the correlation coefficient between frames.
% The upper triangle is used to store the energy of the frames.
% The algorithm is described in:
% S. Marcellin, "Voice activity detection using correlation in subbands
% with adaptive thresholding," in Proc. ICASSP, vol. 1, 1999, pp. 269-272.
```
vad_corr 函数的输入包括:
- x:输入信号。
- fs:采样率。
- fr:帧速率(每秒的帧数)。
- w:窗口函数。
- n1:低于 amp1 的最小连续帧数。
- n2:高于 amp2 的最小连续帧数。
- n3:低于 amp3 的最小连续帧数。
- n4:高于 amp4 的最小连续帧数。
- amp1:最小幅度阈值(低于该阈值)。
- amp2:最大幅度阈值(高于该阈值)。
- amp3:最小相关性阈值(低于该阈值)。
- amp4:最大相关性阈值(高于该阈值)。
vad_corr 函数的输出包括:
- vad:语音活动检测结果(1:活动,0:非活动)。
- c:相关矩阵。
- zcr:过零率。
- amp:幅度。
该算法基于过零率和相关矩阵计算。在相关矩阵中,对角线和下三角用于计算帧之间的相关系数。上三角用于存储帧的能量。算法描述在以下文章中:
- S. Marcellin,“使用自适应阈值下的子带相关性进行语音活动检测”,ICASSP会议论文集,第1卷,1999年,页269-272。
阅读全文