您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 武汉科技大学语音信号处理课程设计报告
1语音信号处理课程考核报告题目1:9.不同窗长的修正自相关题目2:7.基于倒谱的基音检测学号:姓名:班级:2014年6月----------------------------------------------------------------------------------------评语:2目录1不同窗长的修正自相关...............................................................................................31.1要求.................................................................................................................................31.2原理分析..........................................................................................................................31.3源代码.............................................................................................................................41.4仿真图形.........................................................................................................................51.5仿真分析.........................................................................................................................62基于倒谱的基音检测...................................................................................................62.1要求.................................................................................................................................62.2原理分析..........................................................................................................................62.3源代码.............................................................................................................................72.4仿真图形.........................................................................................................................92.5仿真分析.......................................................................................................................103总结..........................................................................................................................1031不同窗长的修正自相关1.1要求绘制不同矩形窗长度的修正短时自相关函数。1.2原理分析对于语音来说,采用短时分析方法,语音短时自相关函数为kNmnmkwkmnxmwmnxkR10)]()()][()([)((1)但是,在计算短时自相关时,窗选语音段为有限长度N,而求和上限为,因此当增加时可用于计算的数据就越来越少了,从而导致增加时自相关函数的幅度减小。为了解决这个问题,提出了语音修正的短时自相关。修正的短时自相关函数,其定义如下:mnkmnwkmxmnwmxkR)()()()()(21(2)若令mnm,代入上式中得到mnkmwkmnxmwmnxkR)()()()()(ˆ21(3)定义)()(ˆ)()(ˆ2211mwmwmwmw则有mnkmwkmnxmwmnxkR)(ˆ)()(ˆ)()(ˆ21(4)其他0k101)(ˆ其他0101)(ˆ21NnmwNnmw(5)式中,K为k的最大值,即Kk0。由式(5)可知要使为非零值,必须使,考虑到,可得,故式(4)可以写成:10)()()(ˆNmnkmnxmnxkR(6)41.3源代码fid=fopen('test.txt','rt')b=fscanf(fid,'%f');b1=b(1:640);N=320;%设定矩形窗长为320A=[];fork=1:320;sum=0;form=1:N;sum=sum+b1(m)*b1(m+k-1);endA(k)=sum;endfork=1:320A1(k)=A(k)/A(1);%归一化A(k)endfigure(1)subplot(3,1,1)plot(A1);xlabel('延时k')ylabel('R(k)')legend('N=320')axis([0,320,-1,1]);b2=b(1:320);N=160;%设定矩形窗长为160B=[];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);%归一化B(k)endfigure(1)subplot(3,1,2)plot(B1);xlabel('延时k')ylabel('R(k)')legend('N=160')axis([0,320,-1,1]);5b3=b(1:140);N=70;%设定矩形窗长为70C=[];fork=1:70;sum=0;form=1:N;sum=sum+b3(m)*b3(m+k-1);endC(k)=sum;endfork=1:70C1(k)=C(k)/C(1);%归一化C(k)endfigure(1)subplot(3,1,3)plot(C1);xlabel('延时k')ylabel('R(k)')legend('N=70')axis([0,320,-1,1]);1.4仿真图形050100150200250300-1-0.500.51延时kR(k)N=320050100150200250300-1-0.500.51延时kR(k)N=160050100150200250300-1-0.500.51延时kR(k)N=7061.5仿真分析假如使用短时自相关函数:如果长基音周期用窄的矩形窗,将得不到预期的基音周期;但是如果是短的基音周期用长的矩形窗,自相关函数将对多个基音周期作平均计算,从而模糊语音的短时特性,这种结果是不希望出现的。而采用短时的修正自相关函数由仿真图形可以看出,即使采用较窄的矩形窗不会出现上述问题,同时避免了短时自相关函数随k值增加而衰减不足的问题。2基于倒谱的基音检测2.1要求基于倒谱图判断浊音的基音周期。2.2原理分析语音的倒谱是将语音的短时谱取对数后再进行IDFT得到的,所以浊音信号的周期性激励反映在倒谱上是同样周期的冲激。借此,可从倒谱波形中估计出基音周期。一般把倒谱波形中第二个冲激,认为即是对应激励源的基频。下面给出一种倒谱法求基音周期的框图,如图1所示。先计算倒谱.然后在预期的基音周期附近寻找峰值。如果倒谱的峰值超出了预先规定的门限,则输入语音段定为浊音,而峰的位置就是基音周期的良好估值.如果投有超出门限的峰值,则输入语音段定为清音,如果计算的是一个时变的倒谱,则可估计出激励源模型及基音周期随时间的变化.一般每隔10-20ms,计算倒谱一次,这是因为在一般语音中激励参数是缓慢变化的。图1一种倒谱法求基音周期的实现框图7为了更好地估计共振峰的频率,通常还要进行平滑处理。常见的平滑处理有线性平滑和中值平滑。中值平滑是将相邻的几个数从大到小排列,(通常取5个或3个),取中间的数作为平滑后的值。线性平滑则分别对这几个数进行加权并相加,加权系数之和为1。2.3源代码waveFile='qinghua.wav';[y,fs,nbits]=wavread(waveFile);time=(1:length(y))/fs;frameSize=floor(40*fs/1000);%帧长startIndex=round(15000);%起始序号(浊音取15000)endIndex=startIndex+frameSize-1;%结束序号frame=y(startIndex:endIndex);%取出该帧frameSize=length(frame);frame2=frame.*hamming(length(frame));%加汉明窗rwy=rceps(frame2);%求倒谱ylen=length(rwy);cepstrum=rwy(1:ylen/2);%基音检测LF=floor(fs/500);%设置基音搜索的范围HF=floor(fs/70);cn=cepstrum(LF:HF);[mx_cepind]=max(cn);%设置门限找到峰值位置ifmx_cep0.08&indLFa=fs/(LF+ind);%在round为15000情况下a=110.25elsea=0;endfigure(1);plot(time,y);title(waveFile);axistightylim=get(gca,'ylim');line([time(startIndex),time(startIndex)],ylim,'color','r');line([time(endIndex),time(endIndex)],ylim,'color','r');title('语音波形');figure(2);subplot(2,1,1);plot(frame);title('取出帧的波形');subplot(2,1,2);plot(cepstrum);title('倒谱图');[x,sr]=wavread('qinghua.wav');8meen=mean(x);x=x-meen;updRate=floor(20*sr/1000);%每20ms更新fRate=floor(40*sr/1000);%40ms一帧n_samples=length(x);nFrames=floor(n_samples/updRate)-1;%Ö¡Êýk=1;pitch=zeros(1,nFrames);f0=zeros(1,nFrames);LF=floor(sr/500);HF=floor(sr/70);m=1;avgF0=0;fort=1:nFramesyin=x(k:k+fRate-1);cn1=rceps(yin);cn=cn1(LF:HF);[mx_ce
本文标题:武汉科技大学语音信号处理课程设计报告
链接地址:https://www.777doc.com/doc-2364532 .html