short_time_analysis.m
上传用户:shodew
上传日期:2014-10-29
资源大小:6k
文件大小:1k
- function short_time_analysis()
- %该函数的功能是将语音信号进行分帧,frame_num为所分帧的数目,xn为二维向量,存放个帧数据
- %Number of samples: 17280
- %Sampling frequency: 8000 Hz
- %精度16位
- %窗函数为海明窗Hamming Window
- x=wavread('01.wav'); %读取数据
- %plot(x);
- %x=[1,2,-1,1,1,-1,-1,0,1,1,1,1,3,1,1,1,1,1,6,-1,1,1,1,-1,1,1,1,1,-1,1,2,3];%测试向量
- %x=x';
- N=160; %设定帧长
- M=160*1/4; %设定个帧交叠部分的长度
- xn=enframe(x,N,M); %分帧函数 注:要根据具体情况进行分帧 20ms
- [En,Mn]=energy(xn); %短时能量En及短时平均幅度函数Mn
- Zn=zero_crossing_rate(xn); %求短时过零率
- Zn2=zero_crossing_rate2(xn); %设置门限的短时过零率,具有更强的抗噪性
- Xn=fft(xn); %求各帧的短时DFT
- N=400; %设定帧长
- M=400*1/4; %设定个帧交叠部分的长度
- xn=enframe(x,N,M); %分帧函数 注:根据自相关的要求进行分帧 50ms
- [Rn,Fn]=auto_correlation(xn); %短时自相关函数Rn和短时平均幅度差函数AMDF Fn
- subplot(2,2,1), plot(x);
- subplot(2,2,2), plot(En);
- subplot(2,2,3), plot(Mn);
- subplot(2,2,4), plot(Zn);
- %subplot(2,3,4), plot(Rn);
- %subplot(2,3,5), plot(Fn)