LPCmatlab的编程实现-.pdf
《LPCmatlab的编程实现-.pdf》由会员分享,可在线阅读,更多相关《LPCmatlab的编程实现-.pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要线性预测编码作为一种基于全极点模型假定和均方预测误差最小准则下的波形逼近技术,是语音编码中的一种重要技术,运用这种编码方式通过对音频信号的时域和频域分析,线性预测编解码,滤波等处理,能够在尽量保持原音质的基础上合成出高质量的语音。本文通过对波形编码,参量编码,混合编码,中低速率编码的介绍,重点研究了线性预测(LPC)的原理、Levinson-Durbin 算法及MATLAB在处理语音信号时的应用。最后以MATLAB 为开发工具,编写了线性预测编码的程序,对语音信号进行了线性预测编码处理,并对阶数的选取做了比较分析。关键词 语音信号LPC 莱文森-杜宾算法MATLAB 仿真Abstract
2、LPC all-pole model as based on assumptions and the smallest mean squared prediction error criterion of waveform approximation technique,is an important speech coding techniques,By using this encoding audio signals in time domain and frequency domain analysis,linear prediction coding and decoding,fil
3、tering processing,able to keep the original sound quality on the basis of high-quality voice synthesis.In this paper,based on the introduction of the waveform coding,parametric coding,hybrid coding,low rate coding,focuses on the linear prediction(LPC)principle,Levinson-Durbin algorithm and MATLAB in
4、 the application of speech signal processing.Finally,with MATLAB as the development tool,write a linear predictive coding procedures,voice signal processing of linear predictive coding.,and the number of orders to do a comparative analysis.Keywords voice signal LPC Levinson-Durbin algorithm MATLAB s
5、imulation 目录第 1 章绪论.11.1 语音信号 LPC 分析技术的基本概念.11.2 语音信号 LPC 分析技术的发展.21.3 语音信号 LPC 分析技术的应用.21.4 基本设计要求及设计思路.3第 2 章线性预测编码的基本原理.42.1 语音信号的数字模型 .42.1.1 激励模型.4 2.1.2 辐射模型.5 2.1.3 声道模型.5 2.2 线性预测的概念与原理 .62.2.1 线性预测分析的概念.62.2.2 自相关法.72.2.3 协方差法.82.2.4 全极点声道模型.82.3 解线性预测参数方程组的算法.92.3.1 利用乔里斯基分解计算协方差法的方程组.92.3
6、.2 利用杜宾递推算法计算自相关法的方程组.112.3.3 利用格型法求解线性预测系数.122.4 各种算法的比较 .16第 3 章编程实现 LPC 分析.193.1 MATLAB 的简介.193.2 基于 MATLAB 的编程实现.203.2.1 程序设计流程图.213.2.2 主函数及其功能.213.2.3 程序分析.223.2.4 实验结果与分析.243.3 基于 C 的编程实现 .24结束语 .26谢辞.错误!未定义书签。参考文献.27附录.281 第 1 章绪论1.1 语音信号 LPC分析技术的基本概念语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。处理的目的就是要
7、得到一些语音参数以便高效的传输或存储;或者是通过处理的某种运算以达到某种用途的要求,例如人工合成出语音、辨识出说话者、识别出讲话的内容等。人类社会愈来愈显示出信息社会的特点。不但在人与人之间,而且在人与机器之间每时每刻都需要进行大量的信息交换。通信或信息交换已经成为人类社会存在的必要条件,正如衣食住行对于人类是必要的一样。虽然,嗅觉、触觉等也是人类固有的感觉,人们也可以从中得到某些外界信息,但是可以指出,最重要的、最精细的信息源只有图像和语言两种。而且,语言是人类最重要、最有效、最常用和最方便的通讯形式。语音是人们交流思想和进行社会活动的最基本手段,我们要对语音信号进行测定并将其转变为另一种形
8、式,以提高我们的通信能力。LPC:Linear Predictive Coding,线性预测编码。线性预测(Linear Prediction)这一术语是维纳 1947年首次提出的,此后,线性预测应用于许多领域中。1967年,板仓等人最先将线性预测技术直接应用到语音分析和合成中。线性预测作为一种工具,几乎普遍地应用于语音信号处理的各个方面。这种方法是最有效和最流行的语音分析技术之一。在各种语音分析技术中,它是第一个真正得到实际应用的技术。线性预测技术产生至今,语音处理又有许多突破,但这种技术目前仍然是唯一的最重要的分析技术基础。在估计基本的语音参数(例如基音、共振蜂、谱、声道面积函数,以及用低
9、速率传输或储存语音等)方面,线性预测是一种主要的技术。其重要性在于它能够极为精确地估计语音参数,用极少的参数有效而又正确地表现语音波形及其频谱的性质,而且可以用比较简单的计算和比较快的速度求得参数。参数编码又称为声源编码,是将信源信号在频率域或其它正交变换域提取特征参数,并将其变换成数字代码进行传输。译码为其反过程,将收到的数字序列经变换恢复特征参量,再根据特征参量重建语音信号。具体说,参数编码是通过对语音信号特征参数的提取和编码,力图使重建语音信号具有尽可能高的准确性,但重建信号的波形同原语音信号的波形可能会有相当大的差别。线性预测分析是最有效的语音分析技术之一,在语音编码、语音合成、语音识
10、别和说话人识别等语音处理领域中得到了广泛的应用。语音线性预测的基本思想是:一个语音信号的2 抽样值可以用过去若干个取样值的线性组合来逼近。通过使实际语音抽样值与线性预测抽样值的均方误差达到最小,可以确定唯一的一组线性预测系数。采用线性预测分析不仅能够得到语音信号的预测波形,而且能够提供一个非常好的声道模型。如果将语音模型看作激励源通过一个线性时不变系统产生的输出,那么可以利用LPC分析对声道参数进行估值,以少量低信息率的时变参数精确地描述语音波形及其频谱的性质。此外,LPC分析还能够对共振峰、功率谱等语音参数进行精确估计,LPC分析得到的参数可以作为语音识别的重要参数之一。由于语音是一种短时平
11、稳信号,因此只能利用一段语音来估计模型参数。此时有两种方案:一种是将长的语音序列加窗,然后对加窗语音进行 LPC分析,只要限定窗的长度就可以保证分析的短时性,这种方案称为自相关法;另一种方案不对语音加窗,而是在计算均方预测误差时限制其取和区间,这样可以导出LPC分析的自协方差法。1.2 语音信号 LPC分析技术的发展线性预测编码(LPC)在近代电子技术中得到广泛地使用,如窄带通信、语言识别和扬声器鉴定等。根据斯坦福大学Robert M.Gray 的说法,线性预测编码起源于1966 年,当时NTT 的 S.Saito 和 F.Itakura 描述了一种自动音素识别的方法,这种方法第一次使用了针对
12、语音编码的最大似然估计实现。1967 年,John Burg 略述了最大熵的实现方法。1969 年 Itakura 与 Saito 提出了部分相关(en:partial correlation)的概念,May Glen Culler 提议进行实时语音压缩,B.S.Atal 在美国声学协会年会上展示了一个LPC 语音编码器。1971 年 Philco-Ford 展示了使用16 位 LPC 硬件的实时LPC 并且卖出了四个。1972 年 ARPA 的Bob Kahn 与 Jim Forgie(en:Lincoln Laboratory,LL)以及Dave Walden(BBN Technologi
13、es)开始了语音信息包的第一次开发,这最终带来了Voice over IP 技术。根据Lincoln Laboratory 的非正式历史资料记载,1973 年 Ed Hofstetter 实现了第一个2400 位/秒 的实时LPC。1974 年,第一个双向实时LPC 语音包通信在Culler-Harrison 与Lincoln Laboratories 之间通过ARPANET 以 3500 位/秒 的速度实现。1976 年,第一次 LPC 会议通过ARPANET 使用 Network Voice Protocol 在Culler-Harrison、ISI、SRI 与 LL 之间以 3500 位
14、/秒 的速度实现。最后在1978 年,BBN 的 Vishwanath et al.开发了第一个变速LPC 算法。1.3 语音信号 LPC分析技术的应用线性预测编码通常用于语音的重新合成,它是电话公司使用的声音压缩格式,如 GSM 标准就在使用这种格式。它还用作安全无线通信中的格式,在安全的无线通信中,声音必须进行数字化、加密然后通过狭窄的语音信道传输。3 线性预测编码合成也可以用于构建声音合成器,乐器用作从歌手声音预测得到的时变滤波器的激励信号,这在电子音乐中有一定的流行。1976年,美国确定用 LPC-10 作为在 2.4kb/s速率上语音通信的标准基数,1981 年,这个算法被官方接受,
15、作为联邦政府标准FS-1015颁布。LPC-10 是一个 10 阶线性预测声码器,它所采用的算法简单明了。为了得到质量好的合成语音,它对每个参数的提取和编码都是很考究的。利用这个算法可以合成清晰、可懂的语音,但是抗噪声能力和自然度尚有欠缺。自 1986年以来,美国第三代保密电话装置(STU-III)采用了速率为2.4kb/s 的 LPC-10e(LPC-10 的增强型)作为话音终端。目前,STU-III 的话音质量被评为“良好”。1980年流行的Speak&Spell 教育玩具中使用了一个10 阶的线性预测编码。在FLAC 音频编解码器中使用了0 到 4 阶的线性预测编码预测器。1.4 基本设
16、计要求及设计思路根据语音信号的产生模型,语音信号 S(z)是一个线性非因果稳定系统V(Z)受到信号 E(Z)激励所产生的输出。在时域中,语音s(n)信号是单位取样响应v(n)和激励信号 e(n)的卷积。在语音信号数字处理所涉及的各个领域需要根据s(n)来求 v(n)和 e(n)。在实现各种语音编码、识别、合成等算法时需要用到卷积运算。解卷积算法因可减少计算代价,其研究也是十分重要的。设计方法是为线性系统V(Z)建立一个线性模型,然后对模型参数按某种最佳准则进行估计,并采用最小均方准则(LMS)对全极点 AR 模型参数进行估计的LPC 算法。考虑到语音信号只有在一个短时段中才可以认为是平稳的,因
17、此对语音信号的线性预测编码的分析和其它语音信号分析相同,必须是一个短时分析。为了进行短时分析可以采取对一个长的语音序列s(n)用窗函数 w(n)相乘,形成加窗语音s(n)。然后对 s(n)进行 LPC 分析,只要限定窗的长度便可以保证分析的短时性。由此导出的方法称为自相关法。4 第 2 章线性预测编码的基本原理LPC是通过分析语音波形来产生声道激励和转移函数的参数,对声音波形的编码实际就转化为对这些参数的编码,这就使声音的数据量大大减少。在接收端使用LPC分析得到的参数,通过语音合成器重构语音。合成器实际上是一个离散的随时间变化的时变线性滤波器,它代表人的语音生成系统模型。时变线性滤波器既当作
18、预测器使用,又当作合成器使用。分析语音波形时,主要是当作预测器使用,合成语音时当作语音生成模型使用。随着语音波形的变化,周期性地使模型的参数和激励条件适合新的要求。2.1 语音信号的数字模型完整的语音信号的数字模型可表示为三个子模型:激励模型、声道模型和辐射模型的串联。2.1.1 激励模型发浊音时,由于声带不断的张开和关闭,将产生间歇的脉冲波。它类似于斜三角形的脉冲。这时的激励波是一个以音调周期为周期的斜三角脉冲串,单个三角波形的数学表达式如下。02)(cos)cos(1)21()(211NNnNnng其他21110NNnNNn(2.1.1)式中,N1 为斜三角波上升部分的时间,N2 为其下降
19、部分的时间。通常,更希望将它表示成 Z 变换的全极模型的形式:210)1(1)(zezGT(2.1.2)上式表示斜三角波形可描述为一个二极点的模型。因此,斜三角波串科士威加权了单位脉冲串激励上述单个斜三角波模型的结果。而该单位脉冲串及幅值因子则可表示成下面的Z变换形式:11)(zAzEu(2.1.3)所以整个激励模型可表示为:2101)1(11)(zezAzUTu(2.1.4)5 2.1.2 辐射模型从声道模型输入的是速度波()Lun,而语音信号是声压波()Lpn,二者之倒比称为辐射阻抗Lz。它表征口唇的辐射效应,也包括圆形的头部的绕射效应等。当然,从理论上推导这个阻抗是有困难的。但是,如果认
20、为口唇张开的面积远小于头部的表面积,则可近似地看成平板槽辐射的情况。此时,可推导出辐射阻抗的公式如下:rrrrLLjRRLjz)((2.1.5)式中,29128rR,caLr38,这里,a是口唇张开时的半径,C是声波传播速度。由辐射引起的能量的损耗正比于辐射阻抗的实部,所以辐射模型是一阶类高通滤波器。由于除了冲击脉冲串模型E(Z)之外,斜三角波模型是二阶低通而辐射模型是一阶高通,所以,在实际信号分析时,常用所谓“预加重技术”。即:在取样之后,插入一个一阶的高通滤波器。常用的预加重因子为1)0()1(1zRR,这里,R(n)是信号 s(n)的自相关函数。通常对于浊音,R(1)/R(0)1;而对于
21、清音,则该值可取得很小。2.1.3 声道模型语音的产生可以用 N级无损声管来模拟,其传输函数式(2.1.6)和(2.1.7)表示为)()1()1(5.0)(12zDzTzVNmNmu(2.1.6)NmmmzazD11)((2.1.7)声道系统可以用一组面积函数A(x)或一组反射系数 rm来表示。在一个音帧(1020ms)内,A(x)或r(m)近似不变,另外,如果有一数字系统,其系统函数表示为NmmmzaGzV11)((2.1.8)可以看出式(2.1.8)中 G 取决于式(2.1.6)中的 rG与rm,此处把固定延迟2N_省略了,而分母形式相同。事实上,上述系统函数V(z)仅有极点而没有零点称为
22、全极点模型。因此,整个系统的系统函数为H(z)=G(z)V(z)R(z)(2.1.9)6 2.2 线性预测的概念与原理2.2.1 线性预测分析的概念一个语音取样的现在值,可以用若干个语音取样的过去值的加权线性组合来逼近,在线性组合中的加权系数就称为线性预测系数(LPC:Linear Predictive Coding)线性预测的基本原理是建立在语音数字模型的基础上的,我们可以用准周期脉冲或随机噪声去激励一个线性时变系统,产生浊音语音或清音语音。为了估计这些线性时变系统的参数,线性预测法提供了一种可靠精确而有效地方法。到目前为止,已经形成了许多不同的线性预测分析方法,这些方法在处理具体问题时所作
23、的假设不同,因而形成了各自不同的算法,这些方法有:(1)自相关方法;(2)协方差法;(3)格型滤波器法;(4)逆滤波器法;(5)谱估值法;(6)最大似然法;(7)内积法;LPC分析方法一般采用个性滤波器来提取一组对量化敏感性较低的偏相关(PARCOR)系数,这种个性滤波器是在自相关定义下得到的。近年来,随着自适应滤波技术的发展,得到了前置窗(Pro-Window)和协方差等定义下的格型滤波器形式,利用这些方法能获得比自相关方法更精确地参数估计值。本文只对前三种基本方法进行讨论。因为其他方法都等效于前三种方法的一种。LPC分析为线性时不变因果稳定系统V(z)建立一个全极点模型,并利用均方误差准则
24、,对已知的语音信号 s(n)进行模型参数估计。如果利用 P个取样值来进行预测,则称为P阶线性预测。假P个取样值1,2,S nS nS np的加权之和来预测信号当前取样值S n,则预测信号S n为:1pkkS nank(2.2.1)其中加权系数用ka表示,称为预测系数,则预测误差为:1pkke ns nS ns nank(2.2.2)要使预测最佳,则要使短时平均预测误差最小有:2minE en(2.2.3)7 20,(1)kenkpa(2.2.4)令,i kE s niS nk(2.2.5)最小的可表示成:min10,00,pkkak(2.2.6)显然,误差越接近于零,线性预测的准确度在均方误差
25、最小的意义上为最佳,由此可以计算出预测系数。通过LPC分析,由若干帧语音可以得到若干组LPC参数,每组参数形成一个描绘该帧语音特征的矢量,即 LPC特征矢量。由 LPC特征矢量可以进一步得到很多种派生特征矢量,例如线性预测倒谱系数、线谱对特征、部分相关系数、对数面积比等等。不同的特征矢量具有不同的特点,它们在语音编码和识别领域有着不同的应用价值。2.2.2 自相关法在最佳线性预测中,若用下式定义的时间平均最小均方准则代替(2.1.3)式的集合平均最小均方准则,即令1201minNpnenN(2.2.7)事实上就是短时自相关函数,因而,R iki k(2.2.8),R kE S nS nk(2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LPCmatlab 编程 实现
限制150内