语音信号处理论文——线性预测滤波器的实现指导老师:班级:学号:姓名:日期:2010.12.15线性预测滤波器的实现姓名:学号:线性预测滤波器的实现摘要:线性预测的实现主通过线性预测分析,通过使实际语音抽样和线性预测抽样之间的误差之间的某个准则下达到最小值来决定唯一的一组预测系数。
而这组预测系数就反映了语音信号的特性,可以最为语音信号特征参数用于语音识别、语音合成等。
关键词:线性预测 MATLAB 语音信号Abstract: The realization of the linear prediction by linear forecast analysis, the Lord by actual speech sampling and linear forecasting sampling errors between a rule between reached the minimum value to decide the only a group of prediction coefficient. This set of prediction coefficient reflects the speech signal characteristics, can most speech signal characteristic parameters used in speech recognition, speech synthesis, etc.Key words:linear prediction speech signal MATLAB目录一、线性预测的基本原理 (3)青海民族大学物电学院1.线性预测分析的基本思想: (3) (3)2.求解线性预测系数ak3.用e(n)和ak求x(n)(合成) (4)4、线性预测模型参数和语音生成模型参数之间的关系zR(zzzGH (5)V()))(()5. 线性预测分析用于语音编码和语音合成 (7)6. 线性预测系数用于共振峰估计 (9)二、实验步骤 (10)1、提取原始语音信号; (10)2、加窗分分帧处理; (10)3、对分帧语音进行LPC分析,得到预测余量信号ε(n); .. 104、对预测余量信号作DFT、取对数后,将所得信号的高频分量置零; (10)5、对信号作IDFT,得到原信号的倒谱。
(10)三、基于MATLAB的线性预测实现的波形: (10)四、小结 (12)五、实现程序: (12)六、参考文献 (13)七、致谢 (13)线性预测滤波器的实现一、线性预测的基本原理1.线性预测分析的基本思想:由于语音样点之间存在相关性,所以可以用过去的样点值来预测现在或未来的样点值。
X (N-P )X (N-P+1)……X (N-1) X ’(N )通过使实际语音和线性预测结果X ’(N )之间的误差e (N )在某个准则下达到最小值来决定唯一的一组预测系数a k .这组系数就能反映语音信号的特性,可以作为语音信号特性参数来用于语音编码、语音合成和语音识别等应用中去。
2.求解线性预测系数a k每个采样值由前面的p 个采样值线性组合。
∑=-='pk k k n x a n x 1)()( (1)∑=--='-=pk k k n x a n x n x n x n e 1)()()()()( (2)在某个准则下e(n)达到最小值,来决定唯一的一组预测系数ak 。
要提高预测精度,即要求预测系数ak 的取值使e(n)最小。
理论上通常采用预测系数{ak}的取值使均方误差E[e2(n)](是{ak}的函数)最小的准则]))()([()]([122∑=--=pk k k n x a n x E n e E(3)青海民族大学 物电学院0)]([2=∂∂ka n e E p k ≤≤1 (4) 0)]()([2)]([2=--=∂∂k n x n e E a n e E k(5) ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--------=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-==-==∑∑==p n n n n n n n n n n n nn n n n n n n n pk n k n pk n k n a a a a R p R p R p R p R R R R p R R R R p R R R R p R R R R k R a R j k R a R j 32111)0()3()2()1()3()0()1()2()2()1()0()1()1()2()1()0()()3()2()1(依次类次类推,得到)2()2(2)1()1(1托普利兹矩阵解出方程,可得p 个线性预测系数{ak}。
将{ak}代入(2)式,结合(5)式,由此得到的最小均方误差为:[]⎥⎦⎤⎢⎣⎡⋅--⋅=⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡--=∑∑==pk k pk k n x k n x a n x n x E n x n e E k n x a n x n e E n e E 11min 2)()()()()()()()()()]([= )()0(1k R a R n pk k n ∑=-= (7)3.用e(n)和ak 求x(n)(合成) 对(2)式e(n)进行Z 变换,有:∑=--='-=pk k k n x a n x n x n x n e 1)()()()()()1)(()(1∑=--=pk k k z a z X z E线性预测滤波器的实现z H z E z a z E z X pk kk ()(1)()(1⋅=-=∑=-)∑=--=pk kk l z a z H 111)(x(n)语音信号的线性预测模型:x(n)其中式中:∑∑==-+=⇒--=pk k pk k k n x a n e n x k n x a n x n e 11)()()()()()(4、线性预测模型参数和语音生成模型参数之间的关系)()()()(z R z V z G z H =将语音生成模型简化,将辐射、声道和声门激励进行组合,用一个时变数字滤波器来表示。
青海民族大学 物电学院基因周期清/浊开关增益用全极点模型来描述声道滤波器特性 )()(1)(1z U z X z d G z H qk kk =-=∑=- )()()()()()(11k n x d n u G n x k n x d n x n u G qk k qk k -+⋅=⇒--=⋅∑∑==两模型中信号之间的关系为: )()()(1k n x d n u G n x qk k -+⋅=∑= 生成模型∑=-+=pk k k n x a n e n x 1)()()( 线性预测模型对同一语音信号,有:线性预测滤波器的实现)(,)()(q p a d n u G n e k k ==⋅=总结预测误差e(n)就是激励信号G •u(n),预测系数{ak}就是声道滤波器的系数{dk}。
ak =dk e(n)=G •u(n)线性预测分析可以对生成模型的增益参数G 和滤波器系数{dk}进行直接和高效率的计算。
这样,结合清浊音的判断和基音周期的估计,得到语音信号生成模型的全部参数,实现语音的产生。
)()()(1k n x a n u G n x qk k -+⋅=∑=在一帧内误差信号e(n)均方误差最小的原则来求解ak 。
这个方法是合理的。
e(n) 均方误差最小对应其频谱是平坦的。
而在频谱是平坦的只有脉冲波和白噪声两种,正好对应浊音和清音。
5. 线性预测分析用于语音编码和语音合成求出G 和{ak},可得时变滤波器的系统函数。
在输入激励的作用下,可合成语音。
语音的参数合成是就是在发送端利用线性预测方法求出G 和{dk},结合激励信号u(n),进行编码,传送到接收端,进行组合,合成声音。
青海民族大学物电学院线性预测编码原理是,首先通过A/D转换器将模拟语音信号变成数字语音信号,经过线性预测分析从语音信号中求出一组预测器系数,一般为12组预测滤波器系数,使得一帧语音波形均方预测误差最小。
另外,再经过基音检测、清浊音判决提取语音信号中的基音周期Tp、清浊音判决信息U/V和代表语音强度的增益控制参数G。
连同12组预测滤波器系数,共15个参数包含了语音信号中的主要信息。
通过对每帧语音信号的分析,得到这15个参数,经过量化编码后发送出去。
在接收端,通过参数译码得到一帧语音信号的特征参数,包括基音周期Tp、清浊音判决信息U/V、增益控制参数G和预测滤波器系数。
将这一组参数作用于语音合成滤波器,再经过D/A转换器就得到合成语音信号。
线性预测滤波器的实现6. 线性预测系数用于共振峰估计利用线性预测系数求共振峰,离散频谱|A(k)|的谷点就是共振峰的位置。
通过求A(z)多项式的系数序列{1,a1,a2,…ap}的DFT ,就可以得到|A(k)|。
∑=--=pk kk z a G z H 11)(|)(|jw e H 的峰值对应共振峰 ∑=--=pk k k z a z A 11)(|)(|jw e A 的谷点对应共振峰二、实验步骤1、提取原始语音信号;2、加窗分分帧处理;3、对分帧语音进行LPC分析,得到预测余量信号ε(n);4、对预测余量信号作DFT、取对数后,将所得信号的高频分量置零;5、对信号作IDFT,得到原信号的倒谱。
三、基于MATLAB的线性预测实现的波形:第一帧原始语音信号下一帧语音信号预测的下一帧语音信号四、小结激励和转移函数的参数,对声音波形的编码实际就转化为对线性预测编码(linear predictive coding,LPC)是一种非常重要的编码方法。
从原理上讲,LPC是通过分析话音波形来产生声道这些参数的编码,这就使声音的数据量大大减少。
在接收端使用LPC分析得到的参数,通过话音合成器重构话音。
合成器实际上是一个离散的随时间变化的时变线性滤波器,它代表人的话音生成系统模型。
时变线性滤波器既当作预测器使用,又当作合成器使用。
分析话音波形时,主要是当作预测器使用,合成话音时当作话音生成模型使用。
随着话音波形的变化,周期性地使模型的参数和激励条件适合新的要求。
五、实现程序:[y,fs,Nbits]=wavread('E:\cheng.wav');>> plot(y)>> x=y(13000:13511);>> w=y(29000:29511);>> N=512;>> wn=hamming(N);>> xn1=x.*wn;>> xn2=w.*wn;>> e=xn2-xn1;>> [a,g]=lpc(e);>> A=fft(a);>> H=1./(1-A);>> E=fft(e);>> X=E.*H';>> q=ifft(X);>> plot(q)>> figure,plot(xn2)>> plot(q)>> figure,plot(xn2)>> figure,plot(xn1)六、参考文献姚天任.数字语音信号处理[M].武汉:华中理工大学出版社,1992. 赵立.语音信号处理第2版.机械工业出版社.陈永彬,语音信号处理[M].上海:上海交通大学出版社,1991.七、致谢在这里首先最感谢的是马英老师两年来对我的深深教诲与学习上的帮助。