线性预测编码LPC复习课程.doc

线性预测编码LPC复习课程.doc

ID:57163092

大小:211.50 KB

页数:8页

时间:2020-08-04

线性预测编码LPC复习课程.doc_第1页
线性预测编码LPC复习课程.doc_第2页
线性预测编码LPC复习课程.doc_第3页
线性预测编码LPC复习课程.doc_第4页
线性预测编码LPC复习课程.doc_第5页
资源描述:

《线性预测编码LPC复习课程.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、线性预测编码LPC精品文档LPC系数预测实验目的语音线性预测的基本思想是:一个语音信号的抽样值可以用过去若干个取样值的线性组合来逼近。通过使实际语音抽样值与线性预测抽样值的均方误差达到最小,可以确定唯一的一组线性预测系数。本实验要求掌握LPC原理,利用自相关法,将语音序列加窗,然后对加窗语音进行LP分析,编写程序求12阶线性预测系数。实验原理1、线性预测编码LPC算法由于语音样点之间存在相关性,所以可以用过去的样点值来预测现在或未来的样点值,从而可以通过使实际语音和线性预测结果之间的误差在某个准则下达到最小值来决定唯一的一组预测系数。而这

2、组系数就能反映语音信号的特性,可以作为语音信号特征参数来用于语音编码、语音合成和语音识别等应用中去。假设是一实数据列,,我们可以用过去时刻的个数据来预测当前时刻的数据,即:(1)这里即为预测系数。定义预测误差为(2)我们将采用最小均方误差准则来选择的值,使得式(3)总误差最小。(3)这种优化参数的方法导致了求解如下的正则方程组收集于网络,如有侵权请联系管理员删除精品文档(4)这里的是序列的自相关系数。式(4)可写成如下的矩阵形式:(5)其中(6)(7)注意到具有的性质,式(5)中的可写成如下形式(8)2、Levinson-Durbin算法

3、Levinson-Durbin算法是求解正则方程组中的预测系数的有效算法。这种算法利用了自相关矩阵中特殊的对称性。注意到,即对角线上的元素都相等,所以这个自相关矩阵是Toeplitz矩阵。Levinson-Durbin算法利用了Toeplitz矩阵的特点来进行迭代计算。即首先由一阶预测器()开始,计算预测系数。然后增加阶数,利用低阶的结果得到下一个高阶的计算结果。根据(4)式求解得到的一阶预测器的预测系数是:(9)其最小均方误差是:(10)这里是格形滤波器的第一反射系数。下一步是求解二阶预测器的系数和,并将结果用表示,根据式(5)得到的两

4、个方程是:收集于网络,如有侵权请联系管理员删除精品文档(11)通过用(9)的解来消去,我们得到解:(12)这样我们得到了二阶预测器的预测系数,我们再次注意到是格形滤波器中的第二反射系数。据此类推,我们可以用阶预测器的预测系数来表示阶预测器的系数。这样,我们可将阶预测系数矢量写成两矢量的和,也就是(13)这里矢量是第阶预测器的预测系数,维的矢量和标量是待定的。我们将自相关矩阵分区如下:(14)这里,的上标b表示元素的倒序排列。根据式(13)和(14),式(5)可以写成如下形式(15)这是Levinson-Durbin算法中的关键一步,从式(

5、15)中我们得到两个方程(16)(17)由于,由式(16)得到收集于网络,如有侵权请联系管理员删除精品文档(18)又由于仅是倒序排列,且是Toeplitz,因此可得(19)即:(20)因此式(18)可写成(21)现在可用式(17)这个方程来求解,如果我们用式(21)来消去式(17)中的,可得(22)注意到,由式(22)可得(23)因此,通过用式(21)和(23)的结果,替换式(13)中的值,我们得到了求解预测器系数的Levinson-Durbin迭代算法。实验内容有一段语音信号,采样率为8kHz;加长度为120样点的汉宁窗。编写程序,求1

6、2阶LPC系数。实验方法及结果本实验开发工具为MicrosoftVisualStudio2010,采用语音信号为es01_8k_mono.snd,其信号的采样率为8kHz,对其信号数据进行预处理,采用120个采样点长度的汉宁窗进行窗处理,并取整个语音文件中的其中一帧作为实验对象,用C语言编写程序,实现Lenvinson-Durbin算法,从而求解语音序列的12阶LPC系数。VS2010程序运行结构如下:收集于网络,如有侵权请联系管理员删除精品文档实验代码#include#include#include

7、#include"sample.h"intmain(){float*sample,sample_H[N];floatR0,*R;floatE0,EP[M];floatK[M];floatA[M][M];floatCoefficient[M+1];floatsum;inti,j;FILE*fp;fp=fopen("C:\Users\Sun\Desktop\新建文件夹(2)\es01_8k_mono.snd","rb");sample=Read_Data(fp);for(i=0;i

8、联系管理员删除精品文档{sample_H[i]=sample[i]*(float)(0.5-0.5*cos(2*PI*i/(N-1)));}R0=*correlation(sample_H);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。