您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 语音信号进行倒谱分析
1实验三语音信号进行倒谱分析一、实验目的、要求1.理解倒谱分析的作用2.掌握倒谱分析求基音周期的方法3.了解LPC倒谱分析方法二、实验原理1.倒谱分析原理同态信号处理也称为同态滤波,实现将卷积关系变换为求和关系的分离处理,即解卷。如进行如下3步处理对于语音信号进行解卷,可将语音信号的声门激励信息及声道响应信息分离开来,从而求得声道共振特征和基音周期,用于语音编码、合成和识别。同态信号处理的基本原理(1)第一个子系统D*[](特征系统)完成将卷积信号转化为加性信号的运算。)(ˆ1nx和)(ˆ2nx信号也均是时域序列,但它们所处的离散时域显然不同于x(n)所处的离散时域,故把它称之为复倒频谱域。)(ˆnx是x(n)的复倒频谱,简称为复倒谱,有时也称为对数复倒谱。复倒谱具体计算公式其中倒谱计算公式为:2线性预测原理线性预测分析的基本思想由于语音样点之间存在相关性,所以可以用过去的样点值来预测现在或未来的样点值。通过使实际语音抽样和线性预测抽样之间的误差在某个准则下达到最小值来决定唯一的一组预测系数,而这组系数就能反映语音信号的特性,可以作为语音信号特征参数来用于语音编码、语音合成和语音识别等应用中去。线性预测分析的基本原理每个采样值由前面的p个采样值线性组合所构成。记为x(n),有:)(ˆ)(ˆ)(ˆ)](ˆ)(ˆ[)](ˆ[)3()(ˆ)(ˆ)(ˆ)(ln)(ln)(ln)2()()()()]([)1(212111212121nxnxnxzXzXZzXZzXzXzXzXzXzXzXzXzXnxZ12()()()xnxnxn=*1ˆ()[ln(())]xnZZxn-=[()]()ˆ()ln()ˆˆ()[()]jwjwjwjwDFTxnXeXeXexnIDFTXe===2要提高预测精度,就是要预测系数{ka}的取值使e(n)最小。理论上通常采用均方误差E[e2(n)]最小的准则。根据e(n)均方误差最小的原则来求解ka,有三种方法:自相关法(Levinson-Durbin算法)、协方差法和格型合成滤波算法。自相关法,就是先解出Yule-Walker方程,再计算G。Levinson-Durbin算法是自相关算法中的一种,形成递推算法。三、使用仪器、材料微机(带声卡)、耳机,话筒。四、实验步骤(1)采集语音(浊音,轻音)信号(2)分帧计算语音信号倒谱(3)倒谱作FFT并加短时窗,取大于25以上的样值,进行IFFT,得到基音周期的倒谱。(3)运用Levinson-Durbin计算一帧语音信号线形预测系数(4)对该帧语音信号进行逆滤波处理(5)对逆滤波后的信号进行倒谱分析确定基音周期五、实验过程原始记录(数据,图表,计算)1.倒谱计算公式为:2.线形预测系数计算公式为:1)0(0)nnER=2)3)4)iiika1111)()(inijnijniEjiRaiRk1()()pkkxnaxnk=¢=-å1()()()()()pkkenxnxnxnaxnk=¢=-=--å[()]()ˆ()ln()ˆˆ()[()]jwjwjwjwDFTxnXeXeXexnIDFTXe===11iiijjiijaaka---=-35)ifipgoto1)6)1jpLPC倒谱流程如下六:实验结果,及分析倒谱分析LPC倒谱分析波形图pjjaa12)1(iniinEkE4逆滤波后波形图分析倒谱分析可以观察倒浊音的基音周期。相邻两个峰值之间的距离为基音周期。七、实验参考程序N=256;R=zeros(1,N);p=12;a=zeros(p,p);En=zeros(1,p);K=zeros(1,p);sp=wavread('D:\语音信号处理试验\a1.wav');%11000采样频率qq=max(sp);sp=sp-qq;%相关函数forj=1:pforn=j:N-1R(j)=R(j)+sp(n)*sp(n-j+1);endend%(Levinson-Durbin算法)预测系数%完成程序En(1)=R(1);K(1)=R(2)/R(1);a(1,1)=K(1);En(2)=(1-K(1)^2)*En(1);%K(2)=(R(3)-a(1,1)*R(2))/En(2);%a(2,2)=K(2);5%a(2,1)=a(1,1)-K(2)*a(1,1);fori=2:ppo=0;forj=1:i-1po=po+a(i-1,j)*R(i-j+1);endK(i)=(R(i+1)-po)/En(i);a(i,i)=K(i);forj=1:i-1a(i,j)=a(i-1,j)-K(i)*a(i-1,i-j);endEn(i+1)=(1-K(i)^2)*En(i);endsource=sp(1:256);fori=1:12mm(i)=a(12,13-i);endmm1=zeros(1,300);6%逆滤波fork=1:256ifkpform=1:kmm1(k)=mm1(k)+mm(p-k+m)*source(m);endelseifk256form=1:pmm1(k)=mm1(k)+mm(m)*source(m+k-p);endelseform=k-p+1:256mm1(k)=mm1(k)+mm(m-k+p)*source(m);endendendendDFTmm=abs(fft(mm1));Ln=zeros(1,300);%取对数,高频风量置零fori=1:60Ln(i)=logm(DFTmm(i));end%IDFTifftLn=real(ifft(Ln));mm=ifftLn;fori=1:150daopu1(i)=mm(151-i);endfori=1:150daopu1(150+i)=mm(301-i);endplot(daopu1)
本文标题:语音信号进行倒谱分析
链接地址:https://www.777doc.com/doc-5561317 .html