已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LPC 线性预测编码姓名 学号: 班号:1 LPC 线性预测编码原理 线性预测编码的基本思想是一个语音的现在值可用若个语音过去得值的加权线性组合来逼近,在线性组合中的权系数称为预测器系数,通过使实际语音抽样和线性预测抽样之间差值的方和达到最小值,能够确定唯一的一组预测器系数。 线性预测器是使用过去的 P 个样本值来预现时刻的采值如图 2-2 所示, 预测值可用过去 P 个样本值的线性组合来表示 在给定的时间范围里,如n0,n1,使e(n)的方和即B=e(n)2最小,这样可以使预得到的样本值更精确,通过求解偏微分方程,可找到系数ai的值,如果把发音器官等效成滤波器,这些系数值就可理解成滤波器的系数,这些参数不再是声音波形本身的值,而是发音器官的激励参数在接收端构的话音也不再具体复现真实话音的波形,而是合成的声音。二Levinson-Durbin算法递推求解自相关法求解式据线性预测分析的原理可知,求解p个线性预测系数的依据,是预测误差滤波器的输出方均值或输出功率最小。可称这一最小方均误差为正向预测误差功率Ep,即 (17)已知上式的第二项为0。再将式(3)代入上式可得 (18) 将式(18)与式(12)组合起来可得 (19) 式(19)方程的系数矩阵是对称的,且沿着任一与主对角线平行的斜对角线上的所有元素相等,系数矩阵大小为pp,这样的矩阵称为Toeplitz(特普利茨)矩阵。式(19)称为Yule-Walker方程,其中R(p)为根据式(9)确定的待分析语音信号s(n)的自相关序列。可见,为了解得线性预测系数,必须先计算出R(k),然后解式(19)即可。经典的线性预测求解方法之自相关法,该方法假定语音信号序列s(n)在间隔0nN-1以外为0;用窗函数从语音序列中截取出选定的序列部分,截取出的序列记为s(0),s(1),s(N-1)。 用对称Toeplitz矩阵的性质,自相关法求解式( 19)可用Levinson-Durbin(莱文森一杜宾)递推算法求解。算法的计算复杂度为O(p2),利用Levinson-Durbin算法递推时,从最低阶预测器开始,由低阶到高阶进行逐阶递推计算。其递推过程如下: (20) (21) (22) (23) (24)由式(20)到式(24)可对i=1,2,p进行递推求解,其最终解为 在上面的一组式子中,i表示预测器阶数,如表示i预测器的第j个预测系数。对p阶预测器,在上述求解预测器系数的过程中,阶数低于p的各阶预测器系数也同时得到。三代码实现 function Coeff = proclpc(data)% arguments checkif ( nargin = 1)error(argument check failed);end;% system constantssr = 16000; % sampling rate in Hertz (Hz)order = 20; % order of the model used by LPCfl = 512; % frame length fs = 80; % frame shiftnframe=0;data = zeros(0.5*fl,1); data;duration = length(data);overlap = fl-fs;for frameIndex = 1:fs:duration-fl+1 nframe = nframe+1; frameData = data(frameIndex:(frameIndex+fl+1); frameData = blackman(frameIndex+fl+1)-frameIndex+1).*frameData; % Add blackman window % Levinsons methodpc=zeros(1,order);%定义0矩阵反射系数pcR=zeros(1,order+1);定义R矩阵az=zeros(order,order);%定义零矩阵预测系数azN=size(frameData,1); %R矩阵的计算for h=1:order+1%定义向量h R(h)=0; for f=h:N R(h)=R(h)+frameData(f)*frameData(f-h+1); endend%开始计算初值pc(1)=R(2)/R(1);%计算反射函数az(1,1)=pc(1);%计算预测函数azE=(1-pc(1)2)*R(1);tamp=0;for h=2:ordertamp=0;for f=1:h-1tamp=tamp+az(h-1,f)*R(h-f+1);endpc(h)=(R(h+1)-temp)/E;az(h,h)=pc(h);for f=1:h-1az(h,f)=az(h-1,f)-pc(h)*az(h-1,h-f);endE=E*(1-pc(h)2);4 代码评价1.波形图的吻合度不高,是由于LPC 导致了失真。声谱图吻合度较高。二 1 2 3 4 5 6 7 8 9 10Lpc58545662526163796369Pitch3333333434Wav11010110611798.5115120150119130压缩率0.5550.5640.5570.5560.5590.5570.5500.5530.5550.562信噪比-4.35-3.40-3.69-2.63-4.10-3.12-2.55-2.77-3.35-3.355 实验心得1. 在这次试验中遇到较多困难,首先使用MATLAB的编程在之前的课程中没有接触过,虽然有使用过MATLAB进行建模,但这种程序的编写确是第一次,对各个函数都不熟悉,理解老师给出的代码就花去了大量的时间,同时代码的调试也十分艰难,根本无法理解程序给出的错误的具体含义,在网上查了很久才得以解决。同时由于接口的限制,无法自如的导入写好的c+程序,更增添了困难。2. MATLAB 2010中较多功能都是新给出的,在图书馆的许多书籍中并不能很好的提供它的操作指南,只能靠自己逐步摸索。同时程序编写过程中MATLAB2010多次提示音频读取函数wavread 可能存在问题,建议改用AUDIOREAD,但实际执行中如果改用AUDIOREAD就会报错。这个问题难以解决,所以就继续使用了wavread函数进行音频调用。3. 在编写Levinson-Durbin算法时由于算法过于负杂,pdf文件中的解释又过于晦涩难懂,遇到了不小的阻碍,上网查了许多有关数据结构的资料才解决这一问题,不过如果可以使用c+编写对我来说可能就相对简单了。不过接口函数始终没有搞懂。4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年凝血分析仪器试剂项目资金申请报告代可行性研究报告
- 强化融资租赁-提升中小企业财务自由度
- 数据要素产业集聚区评估指南编制说明
- 2.2 30°,45°,60°角的三角函数值 同步练习
- 【浙教】期中模拟卷02【1-4章】
- 盘山的导游词(30篇)
- 画房子的美术教案6篇
- 销售季度个人述职报告
- 销售员成功沟通技巧(3篇)
- 铁路心得体会模板5篇
- 河南省信阳市2024-2025学年七年级上学期期中历史试题(含答案)
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 中国航空协会:2024低空经济场景白皮书
- 2024年学校食堂管理工作计划(六篇)
- 天车工竞赛考核题
- 民办非企业单位理事会制度
- 临床输血的护理课件
- 民生银行在线测评真题
- 人教版(PEP)小学六年级英语上册全册教案
- 部编版二年级上册-课文一-快乐读书吧:读读童话故事-孤独的小螃蟹(课件)(共26张课件)
- 大学美育学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论