因为语音信号的能量随时间而变化,清音和浊音之间的能量区别相当显著。因此对短时能量和短时平均幅度进行分析,能够描写叙述语音的这样的特征变换情况。定义n时刻某语音信号的短时平均能量E为:
式中,N为窗长,可见短时能量为一帧样点值的加权平方和。当窗函数为矩形窗时
短时平均能量用途:
(1) 能够作为区分清音和浊音的特征參数;
(2) 在信噪比比較高的情况下,短时能量能够作为区分有声和无声的根据;
(3) 能够作为辅助的特征參数用于语音识别中。
当中短时能量matlab代码例如以下:
x = wavread('beijing.wav');
%计算N=50,帧移=20时的语音能量
s=fra(50,20,x);
s2=s.^2; %一帧内各样点的能量
energy=sum(s2,2); %求一帧能量
subplot(2,2,1); %定义绘图数量和布局
plot(energy); %画N=50时的语音能量图
xlabel('帧数'); %横坐标
ylabel('短时能量 E'); %纵坐标
legend('N=50'); %曲线标识
axis([0,1500,0,2*10^10]); %定义横纵坐标范围
取不同帧时能量例如以下图:
当中,fra()为分帧函数,matlab代码例如以下:
function f=fra(len,inc,x)
fh=fix(((size(x,1)-len)/inc)+1)
f=zeros(fh,len);
i=1;n=1;
while i<=fh
j=1;
while j<=len
f(i,j)=x(n);
j=j+1;n=n+1;
end
n=n-len+inc;
i=i+1;
end