jhhxl 发表于 2009-4-8 15:34

谱熵的端点检测门限

我用谱熵的方法进行端点检测,但是感觉判别门限设定的不对,该怎么设置呢,请各位高手帮忙
附上端点检测部分的程序,请大家指点,不胜感激
%T1=0.1;
%T2=0.08;
maxsilence=2;
minlen=10;
%T1 = min(T1, max(H)/2);
%T2 = min(T2, max(H)/4);

T1 = /2;
T2 = max(H)/4;
status=0;
count=0;
silence=0;
%开始端点检测
x1 = 0;
x2 = 0;
xn=1;
for n=1:length(H)             %xn记录连续语音中字的段数(几个字)
   switch status
   case {0,1}                   % 0 = 静音, 1 = 可能开始
      if H(n) > T1          % 确信进入语音段
         x1(xn) = max(n-count(xn)-1,1);
         status= 2;
         %silence(xn) = 0;
         count(xn)   = count(xn) + 1;
      elseif H(n) > T2% 可能处于语音段
         status = 1;
         count(xn)= count(xn) + 1;
      else                     % 静音状态
         status= 0;
         count(xn)= 0;
         silence(xn)=0;
         x1(xn)=0;
         x2(xn)=0;
      end
   case 2,                     % 2 = 语音段
      if H(n) > T2   % 保持在语音段
         count(xn) = count(xn) + 1;
      else                     % 语音将结束
         silence(xn)= silence(xn) +1;
         if silence(xn) < maxsilence % 静音还不够长,尚未结束
            count(xn)= count(xn) + 1;
         elseif count(xn) < minlen   % 语音长度太短,认为是噪声
            status= 0;
            silence(xn)= 0;         
         else                  % 语音结束
            status= 3;
         end
      end
   case 3,      
      status= 0;         
      xn=xn+1;
      count(xn)= 0;
      silence(xn)=0;
      x1(xn)=0;
      x2(xn)=0;
   end
end

jhhxl 发表于 2009-4-8 16:15

回复 楼主 jhhxl 的帖子

没有人知道吗?帮帮我呀

jingjing1811 发表于 2010-7-14 17:12

看上面的程序,好像谱熵端点检测法只对语音信号的时域波形进行端点检测?不用分析其频谱吗?在仿真图中如何体现呀:@) ?
页: [1]
查看完整版本: 谱熵的端点检测门限