《LPCmatlab的编程实现-.pdf》由会员分享,可在线阅读,更多相关《LPCmatlab的编程实现-.pdf(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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.
26、2.9)根据平稳随机信号的自相关性质,可得,1,2;0,1i kR ikip kp(2.2.10)由(2.1.6)式,可得:min10pkkRaR k(2.2.11)综上所述,可以得到如下矩阵形式:(2.2.12)011102120RRR PRRR PR PR PR123123nRaRaaRaR p8 值得注意的是,自相关法在计算预测误差时,数据段0,1,1SSS n的两端都需要加P个零取样值,因而可造成谱估计失真。特别是在短数据段的情况下,这一现实更为严重。另外,当预测系数量化时,有可能造成实际系统的不稳定。自相关解法主要有杜宾算法、格型算法和舒尔算法等几种高效递推算法。2.2.3 协方差法
27、如果在最佳线性预测中,用下式定义的时间平均最小均方准则代替(2.1.3)式的集合平均最小均方准则,则可得到类似的方程:121minNnpenN(2.2.13)可以看出,这里的数据段两端不需要添加零取样值。在理论上,协方差法计算出来的预测系数有可能造成预测误差滤波器的不稳定,但在实际上当每帧信号取样足够多时,其计算结果将与自相关法的结果很接近,因而稳定性一般是能够保证的(当然这种方法也有量化效应可能引起不稳定的缺点)。协方差解法的最大优点在于不存在自相关法中两端出现很大预测误差的情况,在N和P相差不大时,其参数估值比自相关法要精确的多。但是在语音信号处理时,往往取N在200左右。此时,自相关法具
28、有较大误差的段落在整个语音段中所占的比例很小,参数估值也是比较准确的。在这种情况下,协方差法误差较小的优点就不再突出,其缺乏高效递推算法的缺点成为了制约因素。所以,在语音信号处理中往往使用高效的自相关法。2.2.4 全极点声道模型将线性预测分析应用于语音信号处理,不仅是为了利用其预测功能,更因为它提供了一个非常好的声道模型。将式(2.1.2)所示的方程看成是滤波器在语音信号激励下的输入输出方程,则该滤波器称为预测误差滤波器,其 e(n)是输出误差。变换到 z域,P阶预测误差滤波器的系统函数为11piiiHza z(2.2.14)可以看出,如果将预测误差 e(n)作为激励信号,使其通过预测误差滤
29、波器的逆滤波器H(Z),即1111piiiHzA Za z(2.2.15)则H(Z)的输出为语音信号 s(n),也就是说,H(Z)在预测误差 e(n)的激励下可以合成语音。因此,H(Z)被称为语音信号的全极点模型,也称为语音合成器。该模型的参数就是P阶线性预测的预测系数1,2,.,iaip。9 因为预测误差含有语音信号的基音信息,所以对于浊音,模型的激励信号源是以基音周期重复的单位脉冲;对于清音,激励信号源e(n)是自噪声。语音信号的全极点模型是一种很重要的声道模型,是许多应用和研究的基础。2.3 解线性预测参数方程组的算法在前面我们推得了线性预测参数方程组,自相关法如(2.2.10)和(2.
30、2.12)式所示,协方差法如(2.3.1)及(2.3.2)式所示。解线性预测参数方程组的算法有许多种,虽然都能从P个方程中解出 P个未知数,但是各种算法的效率是不同的,利用方程组的系数矩阵的对称性可以使运算效率提高。2.3.1 利用乔里斯基分解计算协方差法的方程组协方差法的线性预测方程组如(2.3.1)式所示1(,)(,0),(1,2,.,)pjnnjai jiip(2.3.1)或用矩阵形式表示为a=(2.3.2)式中是正定对称矩阵,它的第(i,j)项元素为(i,j),而 a 和是列矩阵,其元素分别是ai和(i,0)。因为是一个对称正定矩阵,因此可以利用乔里斯基分解算法。按次算法,矩阵可分解成
31、如下形式:=VDVT(2.3.3)式中,V 是一个下三角矩阵,其主对角元素为1,D 是一个对角矩阵。上标T 表示矩阵转置。只要令(2.3.3)式两边的对应元素相等,就可以从(2.3.2)式中解出矩阵 V 和 D 的元素。即1(,),(11)jnikkjkki jV d Vji(2.3.4)由于对角元素 Vij=1,故(2.3.4)式可表示为11(,)(,),(11)jnjnikkjkki j di jV d Vji(2.3.5)而对于对角元素,利用(2.3.5)式可以得到1(,)inikkikki iV d V(2.3.6)由于对角元素 Vij=1,故(2.3.6)式可以写成11(,),(2)
32、iini kkkdi iVdi(2.3.7)10 同时1(1,1)nd(2.3.8)综上可得其矩阵形式:(2.3.9)矩阵分解为 V 和 D 完成后,就可以求解a了。利用(2.3.2)和(2.3.3)式,可以写出VDVTa=(2.3.10)令DVTa=Y,(2.3.11)则VY=(2.3.12)由(2.3.8)式,可以写出VTa=D-1Y,(2.3.13)利用(2.3.9)式可以得到求解矢量Y 的递归关系式,如下式所示:11,(2)iiiijjjYV Ypi(2.3.14)初始条件为11Y(2.3.15)利用(2.3.10)式可以推得求解a 的递推关系式为1/,(11)niiiijjj iaY
33、dV aip(2.3.16)初始条件为/pppaYd(2.3.17)应当指出,(2.3.13)式的递推过程是从i=p-1 到 i=1。至此,协方差法的求解过程结束。利用乔旦斯基分解算法可以将最小预测误差表示成简单形式、协方差法可以将预测误差表示为1(0,0)(0,)pnniniEai(2.3.18)或利用矩阵形式表示为(0,0)TnnEa(2.3.19)MMLMMMMMLLLpaaaappppppppp11 根据(2.3.13)式,VTa=D-1Y,可得11TTaY D V,(2.3.20)将(2.3.20)式代入到(2.3.19)式,即可写出11(0,0)TnnEY D V(2.3.21)由
34、(2.3.12)式,VY=,可得1VY(2.3.22)将(2.3.22)式代入到(2.3.21)式,可以写出1(0,0)TnnEY D Y(2.3.23)最后可得21(0,0)/pnniiiEYd(2.3.24)上式表示,根据列矢量Y 和矩阵 D 可以求得均方预测误差nE,并可求得nE随 p 的变化情况,从而决定 p 的选择。2.3.2 利用杜宾递推算法计算自相关法的方程组如 2.2 节所述,对于自相关法,主要是解(2.3.25)式,求得预测器系数ia。1()(),(1)pinnla RilR iip(2.3.25)上述方程的系数矩阵如(2.1.12)式所示,是一个托伯利兹矩阵解上述方程有许多
35、算法,如列文逊(Levinson)算法,罗宾逊(Robi-nson)算法等,然而比较有效的方法是杜宾(Durbin)递推算法下面列出这个算法的主要公式:(0)(0),ER(2.3.26)1(1)(1)1()()/,(1)iiiinjjkR iaR ijEip(2.3.27)()ijiak(2.3.28)()(1)(1),(11)iiijjiijaak aji(2.3.29)()21(1)iiiEkE(2.3.30)由(2.3.26)式至(2.3.30)式,可以对 i1,2,P进行递推求解,而最终解为(),(1)pjjaajp(2.3.31)12 在上面的表达式中,上述括号内的值表示预测器阶数,
36、即()ija表示 i 阶预测器的第 j 个预测系数。应当指出,对于一个p 阶预测器,在上述求解预测器系数的过程中,阶数低于p 的各阶预测器系数也得到了。应当指出,(2.3.30)式得到的()iE是 i 阶预测器的预测误差。计算过程中可以通过(2.3.30)式求得对应阶数为i 的预测器的预测误差如果自相关系数用一组归一化自相关系数r(k)R(k)/R(0)来表示,短阵方程的解不变。此时,预测误差()iE将变成归一化预测误差,用()iV表示 i 阶预测器归一化预测误差,则表示为()()(0)iiEVR(2.3.32)如果假定()()/(0)r kR kR(2.3.33)则()()()11(),(0
37、1;0)iikikkVar kVi(2.3.34)式中(11)ik(2.3.35)(2.3.35)式表明,ik的取恒范围在土 l 范围内。可以证明,它是多项式A(z)的根在单位圆内的充要条件。由此可以保证系统H(z)的稳定性。2.3.3 利用格型法求解线性预测系数从前面讨论的方法来看,不论是自相关法还是协方差法,都是分为两步:计算语音相关值的矩阵;解一组线性方程求出预测系数ia。但是,在语音相关值的计算中,特别是在语音段的端点处,由于作了与实际情况不同的假设,因而相关值计算误差较大,影响到线性预测系数汁算结果的准确性。所以,导致了另一类算法的发展,这就是格型法。七十年代初,日本学者板仓(Ita
38、kura)在美国从事研究时,在分析自相关法的基础上,引入了“正向预测”和“反向预测”的概念,阐述了参数ik 的物理意义,首先提出了逆滤波器A(z)的格型结构形式。由下面的讨论可知,这种格型法不需要用窗口函数对信号进行加权,同时又保认解的稳定性,因而较好地解决了精度和稳定性之间的矛盾。特别是由于引入了正向预测和反向预测的概念,使均方误差最小逼近难则的运用增加了很大的灵活性,派生出了一系列基于格型结构的新的线性预测算法。在 Levinson-Durbin 递推算法中,如果计算出第i 阶的线性预测系数为()ija,jl,2,,,i),利用这些系数可以计算第i 阶逆滤波器(或称为预测误差滤波器)的系统
39、函数为13()()11()1iiijjAzaz(2.3.36)这个滤波器的输人信号是s(n),输出信号为预测误差()()ien,它们之间的关系为()()1()()()iiijjens na s nj(2.3.37)经过推导,可知第i 阶线性预测逆滤波器输出可分解为两个部分,第一部分足(i1)阶滤波器的输出()()ien;第二部分是与(i1)阶有关的输出信号(1)()ibn,经过单位移序和ik 加权后的信号。下面讨论这两部分信号的物理意义。将这两部分信号定义为正向预测误差信号()()ien和反向预测误差信号()()ibn()()1()()()iiijjens na s nj(2.3.38)()(
40、)1()()()iiijjbns nia s nij(2.3.39)式(2.3.38)中的()()ien 即是通常的线性预测误差,它是用i 个过去的样本值:s(n1)、s(n2)、.、s(n-i)来预测 s(n)时的误差;而式(2.3.39)中的()()ibn 可看成是用时间上延迟时刻的样本值 s(n-i+1),s(n-i+2),s(n)预测 s(n-i)样本的误差,所以整个误差称为反向预测误差。这个预测过程称为反向预测过程。在建立了正向预测和反向预测的概念后就可以推出线性预测分析用的格型滤波器结构。根据式(2.3.38)和(2.3.39),当 i=0 时,有(0)(0)()()()enbns
41、 n(2.3.40)而 i=p 时()()()pene n(2.3.41)这里()e n是 P 价线性预测逆滤波器所输出的预测误差信号,如果改用符号()()ifn表示正向预测误差()()pen,则可写成如下递推形式()(1)(1)21()(1)(1)(0)(0)()()(1)()()(1)()()()()niiiiiiiiiifnfnk bnXXbnbnk fnfnbns n(2.3.42)14+输入S(n)误差+)(0nf)(1nf)(2nf)(1nfn1k1k2k2knk1Z1Z1Z)(1nb)(2nb)(1nbn)()(nfne这个滤波器输入为s(n),输出为正向预测误差()()pfn,
42、亦即预测误差e(n)。另一方面,在图 62 所示语音信号模型化的框图中,模型即合成波器的H(z)亦可采用格型结构。如果将模型中的增益因子G 考虑到输入信号中,则该滤波器输入是Gu(n),输出是合成的语音s(n)。通过线性预测分析求得的A(z)是 H(z)的逆滤波器,Gu(n)则由 e(n)来逼近,因此合成滤波器 H(z)的结构形式应该满足输入e(n)时输出语音信号 s(n)。将式(2.3.42)进行整理,可得(1)()(1)()(1)(1)()()(1)()(1)()iiiiiiiifnfnk bnbnbnk fn(2.3.43)输入)(0nf)(1nf)(1nfn+1Z1Z1Z)(1nb)(
43、2nb语音输出)(ns1k1k2k2k)()(nfnunk反射系数是语音处理中至关重要的参数,它的计算是一个重要问题。在自相关法和协方差法中,用预测误差最小为条件求出线性预测系数。格型法的特点之一是能够在格型的每一级进行合适的本级反射系数计算。显然,格型法的结构与前面讨论的自相关法和协方差法的结构之间存在若干差异。格型滤波器的优点为:反射系数可被直接用于计算预测系数,格型滤波器的级数等于预测系数的个数。格型滤波器的稳定性可由其反射系数的值来判定。可以证明,格型滤波器稳定的充要条件是:ik1。下面,我们进行格型法的求解式(2.3.38)的 Z 变换可以表示为()()()()()iiEzAz S
44、z(2.3.44)15 将(2.3.29)式()(1)(1),(11)iiijjiijaak aji代入到(2.3.36)式,可以从(1)()iAz递推求解()()iAz,将式()(1)(1)1()()()iiiiiAzAzk z Az代人到(2.3.44)式可得()(1)(1)1()()()()()iiiiiEzAz S zk z AzS z(2.3.45)取(2.3.39)式的 Z 变换得()()1()()()iiiBzz AzS z(2.3.46)利用(2.3.46)式球得(2.3.45)式的 Z 反变换形式为()(1)(1)()()(1)iiiienenkbn(2.3.47)同理可推得
45、()(1)(1)()(1)()iiiibnbnk en(2.3.48)伯格(Burg)提出了一种算法,它是基于使正反向预测误差的平方和()iE为最小,()iE可以表示为1()()2()20()()NiiinEenbn(2.3.49)将(2.3.47)式和(2.3.48)式代入(2.3.49)式,可得1()(1)(1)2(1)(1)20()(1)(1)()NiiiiiiinEenk bnbnk en(2.3.50)令()0iiEk(2.3.51)可求出ik为1(1)(1)()01122(1)(1)002()(1)()(1)NiiiniiNNiinnen bnkaenbn(2.3.52)上式说明,
46、ik 将正向与反向预测误差联系起来了,它表示正向与反向预测误差的相关度,故称参数ik 为部分相关系数(PARCOR 系数)。ik 的取值范围为11ik(2.3.53)格型算法的步骤可以归纳如下:(1)确定初始值:(0)(0)()()()enbns n(2)由(2.3.52)式可以求得16 1(0)(0)(1)0111122(0)(0)002()(1)()(1)NnNNnnen bnkaenbn(3)由(2.3.47)式和(2.3.48)式计算正向和反向预测误差:()(1)(1)()()(1)iiiienenk bn()(1)(1)()(1)()iiiibnbnk en(4)设 i=2。(5)由
47、(2.3.52)式求 ki1(1)(1)()01122(1)(1)002()(1)()(1)NiiiniiNNiinnen bnkaenbn(6)由(2.3.29)式决定()ija,(j=1,2,i-1),()(1)(1),(11)iiijjiijaak aji(7)同(3)。(8)设 i=i+1。(9)若 ip,重复(5)(6)(7),否则(10)。(10)结束。由于格型算法不需要计算自相关函数,可以直接从语音取样中求得预测系数,因而避免了语音端点处具有比较大的相关函数误差的缺点。此外,格型算法能保证产生一个稳定的滤波器,不要求窗选。上述的这些特性,格型法对于构成线性预测分析系统已成为一种重
48、要的极有生命力的方法。2.4 各种算法的比较前面我们已经讨论了线性预测方程组的协方差算法,自相关算法和格型算法。在这一节中,我们将对这些算法在计算效率与存储要求,以及解的稳定性、选择极点个数和分析段长度等方面进行比较。首先,在存储量方面,若1N 是协方差法分析取样点的数目,则协方差法要求的存储量为1N个数据和数量级为正比于2/2p的相关矩阵元素储存位置。若2N 是自相关法分析取样点的点数,则自相关法需要2N 个位置来存储数据和窗函数,需要数量级正比于p 的位置来存储自相关矩阵元素。若N3 为格型法分析取样点的点数,则格型法需要3 3N 个位置来存储数据和正反向预测误差。综上所述,协方差法和自相
49、关法所需的存储量比格型法少。17 在运算量方面,对于协方差法,相关矩阵的计算需要的乘法次数正比于1N P,而用乔里斯基方法解矩阵方程需要的乘法次数正比于3p。对于自相关法,自相关矩阵的计算需要的乘法次数正比于2N p,而矩阵方程的解需要的乘法次数正比于2p。因此,如果1N 和2N 近似相等,且1NP,2NP,则自相关方法所要求的运算量略少于协方差法。由于计算相关函数的运其量大大超过解矩阵方程的乘法次数。因比,自相关法的运算次数和协方差法是非常接近的。对于格型法,计算部分相关系数需要5 3N p次乘法。因而格型法的运算量较大。表2.1 列出了解线性预测方程的各种解法在存储量和运算量方面的比较。表
50、 2.1 LPC 各种解法的比较在解的稳定性方面,也就是所得到的系统()()GH zA z(2.4.1)是否稳定,若()H z的所有极点位于单位圆内,则系统稳定,亦即要求11()1pjjA za z(2.4.2)的所有零点位于单位圆内。对于自相关法,A(s)的所有根位于单位圆内,因而其解是稳定的。但是应当指出,如果计算自相关函数的精度不够,那么解的稳定性就不能保证。实验结果表明,如果对语音进行预加重,使其谱尽可能平滑,则可以使不稳定性尽可能避免。杜宾算法中利用下式作为检验稳定性的方法,即部分相关系数ik 满足11ik(2.4.3)满足上述条件就满足了解的稳定的充要条件。对于协方差法,测器解的稳