太原理工大学现代科技学院语音信号处理课程实验报告专业班级学号姓名指导教师太原理工大学现代科技学院实验报告2实验名称语音修正的短时自相关的实践同组人专业班级学号姓名成绩实验二语音修正的短时自相关的实践一、实验目的1、熟悉语言修正自相关的意义。2、充分理解取不同窗长时的语言的修正自相关的变化情况。3、熟悉Matlab编程语言在语言信号处理中的作用。4、能够实现程序的重新编制。二、实验原理对于语音来说,采用短时分析方法,语音短时自相关函数为kNmnmkwkmnxmwmnxkR10)]()()][()([)(但是,在计算短时自相关时,窗选语音段为有限长度N,而求和上限为,因此当增加时可用于计算的数据就越来越少了,从而导致增加时自相关函数的幅度减小。为了解决这个问题,提出了语音修正的短时自相关。修正的短时自相关函数,其定义如下:mnkmnwkmxmnwmxkR)()()()()(21若令mnm,代入(2-2)中得到mnkmwkmnxmwmnxkR)()()()()(ˆ21定义)()(ˆ)()(ˆ2211mwmwmwmw则有mnkmwkmnxmwmnxkR)(ˆ)()(ˆ)()(ˆ21其他0101)(ˆ1Nnmw其他0k101)(ˆ2Nnmw式中,K为k的最大值,即。由式(2-5)可知要使为非零值,必须使,考虑到,可得,故式(2-4)可以写成:……………………………………装………………………………………订…………………………………………线………………………………………太原理工大学现代科技学院实验报告310)()()(ˆNmnkmnxmnxkR三、实验要求1、实验前自己用CoolEdit音频编辑软件录制声音,并把它保存为.txt文件。2、编程实现不同矩形窗长N=320,160,70的短时修正自相关。3、用Matlab画出短时修正自相关的图形。4、写出实验报告,分析实验结果。四、实验难点熟悉Matlab编程语言实现取不同窗长时的语言修正自相关的变化情况,为下一个实验做好准备。五、实验环境计算机Matlab软件六、实验步骤1、用Cooledit读入浊音语音,设置采样频率为8kHz,16位,单声道2、将读入的语音wav文件保存为.txt文件3、读入Matlab中,并且对照取不同矩形窗长N的修正自相关函数,画出图形七、实验内容及结果浊音fid=fopen('浊音.txt','rt');b=fscanf(fid,'%f');b1=b(1:320);N=160;A=[];fork=1:160;sum=0;form=1:N;sum=sum+b1(m)*b1(m+k-1);endA(k)=sum;endfork=1:160;A1(k)=A(k)/A(1);endfigure(1);subplot(3,1,1);plot(A1);ylabel('R(k)');legend('N=160');axis([0,320,-1,1]);b2=b(1:160);N=80;B=[];……………………………………装………………………………………订…………………………………………线………………………………………太原理工大学现代科技学院实验报告4fork=1:80;sum=0;form=1:N;sum=sum+b2(m)*b2(m+k-1);endB(k)=sum;endfork=1:80;B1(k)=B(k)/B(1);endfigure(1);subplot(3,1,2);plot(B1);ylabel('R(k)');legend('N=80');axis([0,320,-1,1]);L=1;b3=b(1:70);N=35;C=[];fork=1:35;sum=0;form=1:N;sum=sum+b3(m)*b3(m+k-1);endC(k)=sum;endfork=1:35;C1(k)=C(k)/C(1);endfigure(1);subplot(3,1,3);plot(C1);ylabel('R(k)');legend('N=35');axis([0,320,-1,1]);……………………………………装………………………………………订…………………………………………线………………………………………太原理工大学现代科技学院实验报告5050100150200250300-101R(k)N=160050100150200250300-101R(k)N=80050100150200250300-101R(k)N=35清音fid=fopen('清音.txt','rt')b=fscanf(fid,'%f');b1=b(1:320);N=160;A=[];fork=1:160;sum=0;form=1:N;sum=sum+b1(m)*b1(m+k-1);endA(k)=sum;endfork=1:160A1(k)=A(k)/A(1);endfigure(1)subplot(311)plot(A1);……………………………………装………………………………………订…………………………………………线………………………………………太原理工大学现代科技学院实验报告6ylabel('R(k)')legend('N=320')axis([0,160,-1,1]);b2=b(1:320);N=160;B=[];fork=1:160;sum=0;form=1:N;sum=sum+b2(m)*b2(m+k-1);endB(k)=sum;endfork=1:160B1(k)=B(k)/B(1);endfigure(1)subplot(312)plot(B1);ylabel('R(k)')legend('N=160')axis([0,160,-1,1]);L=1;b3=b(1:140);N=70;C=[];fork=1:70;sum=0;form=1:N;sum=sum+b3(m)*b3(m+k-1);endC(k)=sum;endfork=1:70;C1(k)=C(k)/C(1);endfigure(1)subplot(313)plot(C1);ylabel('R(k)')legend('N=70')axis([0,160,-1,1]);……………………………………装………………………………………订…………………………………………线………………………………………太原理工大学现代科技学院实验报告7020406080100120140160-101R(k)020406080100120140160-101R(k)020406080100120140160-101R(k)N=320N=160N=70八、思考题1、在相同的实验环境下,用Matlab程序实现语音的短时自相关的图形,并与修正自相关进行比较,加深对修正自相关的理解。答:通过采用短时自相关,可以看出:如果长基音周期用窄的窗,将得不到预期的基音周期;但是如果是短的基音周期用长的窗,自相关函数将对多个基音周期作平均计算,从而模糊语音的短时特性,这是胡希望的。采用短时的修正自相关函数可以采用较窄的窗,同时避免了短时自相关函数随k值增加而衰减的不足。2、改变不同的录制对象,比如清音,分析语音短时修正自相关的图形将发生什么样的变化。答:可以看出浊音信号的频谱是周期的,它的修正自相关函数也是周期的,而轻音的信号频谱是非周期的,它的修正自相关函数也是非周期的。3、通过实验的图形,试分析它在语音信号处理中的应用。答:通过实验图形可以看出1)短时修正自相关函数可以明显的反应出浊音信号的周期性,可用于基音周期检测。2)可用于区分清浊音……………………………………装………………………………………订…………………………………………线………………………………………