[signal,fs,bit] = wavread('1.wav')%读取语音信号
framelength = 200%设置帧长
framenumber = fix(length(signal)/framelength)%读取语音文弊亩件对应的态卜搭帧数
for i = 1:framenumber%分帧处理
framesignal = signal((i-1)*framelength+1:i*framelength)%获取帆拿每帧的数据
E(i) = 0%每帧能量置零
for j = 1:framelength%计算每一帧的能量
E(i) = E(i)+framesignal(j)^2
end
end
%subplot(2,2,1)
plot(E)
xlabel('帧数')
ylabel('短时能量')
legend('N = 200')%曲线标识
clear E
你这里面核心是:h=linspace(1,1,2.^(i-2)*N)
%形成一个矩形窗,长度为2.^(i-2)*N
En=conv(h,a.*a)%
求短时能量脊吵尺函数En
第一句就是生成一个数组,可以定碰物义可变数组,第二句是卷积,你可以查信号系统的书,不难。其他就是读数据和画樱高图了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)