short_time_analysis.txt

来自「欢迎光临程序员联合开发网(www.pudn.com)」· 文本 代码 · 共 29 行

TXT
29
字号
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) 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?