LPCmatlab的编程实现(93页).doc
《LPCmatlab的编程实现(93页).doc》由会员分享,可在线阅读,更多相关《LPCmatlab的编程实现(93页).doc(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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, f
3、iltering 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 M
4、ATLAB in 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 algori
5、thm MATLAB simulation目 录第1章 绪论11.1 语音信号LPC分析技术的基本概念11.2 语音信号LPC分析技术的发展21.3 语音信号LPC分析技术的应用21.4 基本设计要求及设计思路3第2章 线性预测编码的基本原理42.1 语音信号的数字模型42.1.1 激励模型42.1.2 辐射模型52.1.3 声道模型52.2 线性预测的概念与原理62.2.1 线性预测分析的概念62.2.2 自相关法72.2.3 协方差法82.2.4 全极点声道模型82.3 解线性预测参数方程组的算法92.3.1 利用乔里斯基分解计算协方差法的方程组92.3.2 利用杜宾递推算法计算自相关法的
6、方程组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参考文献28附 录29第 87 页-第1章 绪论1.1 语音信号LPC分析技术的基本概念语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。处理的目的就是要得到一些语音参数以便高效的传输或存储;或者是通过处理的某种运算以达到某种用途的要求,例如人工
7、合成出语音、辨识出说话者、识别出讲话的内容等。人类社会愈来愈显示出信息社会的特点。不但在人与人之间,而且在人与机器之间每时每刻都需要进行大量的信息交换。通信或信息交换已经成为人类社会存在的必要条件,正如衣食住行对于人类是必要的一样。虽然,嗅觉、触觉等也是人类固有的感觉,人们也可以从中得到某些外界信息,但是可以指出,最重要的、最精细的信息源只有图像和语言两种。而且,语言是人类最重要、最有效、最常用和最方便的通讯形式。语音是人们交流思想和进行社会活动的最基本手段, 我们要对语音信号进行测定并将其转变为另一种形式, 以提高我们的通信能力。LPC:Linear Predictive Coding,线性
8、预测编码。线性预测(Linear Prediction)这一术语是维纳1947年首次提出的,此后,线性预测应用于许多领域中。1967年,板仓等人最先将线性预测技术直接应用到语音分析和合成中。线性预测作为一种工具,几乎普遍地应用于语音信号处理的各个方面。这种方法是最有效和最流行的语音分析技术之一。在各种语音分析技术中,它是第一个真正得到实际应用的技术。线性预测技术产生至今,语音处理又有许多突破,但这种技术目前仍然是唯一的最重要的分析技术基础。在估计基本的语音参数(例如基音、共振蜂、谱、声道面积函数,以及用低速率传输或储存语音等)方面,线性预测是一种主要的技术。其重要性在于它能够极为精确地估计语音
9、参数,用极少的参数有效而又正确地表现语音波形及其频谱的性质,而且可以用比较简单的计算和比较快的速度求得参数。参数编码又称为声源编码,是将信源信号在频率域或其它正交变换域提取特征参数,并将其变换成数字代码进行传输。译码为其反过程,将收到的数字序列经变换恢复特征参量,再根据特征参量重建语音信号。具体说,参数编码是通过对语音信号特征参数的提取和编码,力图使重建语音信号具有尽可能高的准确性,但重建信号的波形同原语音信号的波形可能会有相当大的差别。线性预测分析是最有效的语音分析技术之一,在语音编码、语音合成、语音识别和说话人识别等语音处理领域中得到了广泛的应用。语音线性预测的基本思想是:一个语音信号的抽
10、样值可以用过去若干个取样值的线性组合来逼近。通过使实际语音抽样值与线性预测抽样值的均方误差达到最小,可以确定唯一的一组线性预测系数。采用线性预测分析不仅能够得到语音信号的预测波形,而且能够提供一个非常好的声道模型。如果将语音模型看作激励源通过一个线性时不变系统产生的输出,那么可以利用LPC分析对声道参数进行估值,以少量低信息率的时变参数精确地描述语音波形及其频谱的性质。此外,LPC分析还能够对共振峰、功率谱等语音参数进行精确估计,LPC分析得到的参数可以作为语音识别的重要参数之一。由于语音是一种短时平稳信号,因此只能利用一段语音来估计模型参数。此时有两种方案:一种是将长的语音序列加窗,然后对加
11、窗语音进行LPC分析,只要限定窗的长度就可以保证分析的短时性,这种方案称为自相关法;另一种方案不对语音加窗,而是在计算均方预测误差时限制其取和区间,这样可以导出LPC分析的自协方差法。1.2 语音信号LPC分析技术的发展 线性预测编码(LPC)在近代电子技术中得到广泛地使用,如窄带通信、语言识别和扬声器鉴定等。根据斯坦福大学 Robert M. Gray 的说法,线性预测编码起源于 1966 年,当时NTT 的 S. Saito 和 F. Itakura 描述了一种自动音素识别的方法,这种方法第一次使用了针对语音编码的最大似然估计实现。1967 年,John Burg 略述了最大熵的实现方法。
12、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 Technologies) 开始了语音信息包的第一次开发,这最终带来了 Voice
13、 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 位/秒 的速度实现。最后在 1978 年,B
14、BN 的 Vishwanath et al. 开发了第一个变速 LPC 算法。1.3 语音信号LPC分析技术的应用线性预测编码通常用于语音的重新合成,它是电话公司使用的声音压缩格式,如 GSM 标准就在使用这种格式。它还用作安全无线通信中的格式,在安全的无线通信中,声音必须进行数字化、加密然后通过狭窄的语音信道传输。线性预测编码合成也可以用于构建声音合成器,乐器用作从歌手声音预测得到的时变滤波器的激励信号,这在电子音乐中有一定的流行。1976年,美国确定用LPC-10作为在2.4kb/s速率上语音通信的标准基数,1981年,这个算法被官方接受,作为联邦政府标准FS-1015颁布。LPC-10是
15、一个10阶线性预测声码器,它所采用的算法简单明了。为了得到质量好的合成语音,它对每个参数的提取和编码都是很考究的。利用这个算法可以合成清晰、可懂的语音,但是抗噪声能力和自然度尚有欠缺。自1986年以来,美国第三代保密电话装置(STU-III)采用了速率为2.4kb/s的LPC-10e(LPC-10的增强型)作为话音终端。目前,STU-III的话音质量被评为“良好”。1980年流行的 Speak & Spell 教育玩具中使用了一个 10 阶的线性预测编码。在 FLAC 音频编解码器中使用了 0 到 4 阶的线性预测编码预测器。1.4 基本设计要求及设计思路根据语音信号的产生模型 ,语音信号 S
16、(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分析,只要限定窗的长度便可以保证分析的短时性。由此导出的方法称为自相关法。第2章 线性预测编码的基本原理LPC是通过分析语音波形来产生声道激励和转移函数的参数,对声音波形的编码实际就转化为对这些参数的编码,这就使声音的数据量大大减少。在接收端使用LPC分析得到的参数,通过语音合成器重构语音。合成器实际上是一个离散的随时间变化的时变线性滤波器,它代表人的语音生成系统模型。时变线性滤波器既当作预测器使用,又当作合成器使用。分析语音波形时,主要是当作预测器使用,合成语音时当
18、作语音生成模型使用。随着语音波形的变化,周期性地使模型的参数和激励条件适合新的要求。2.1 语音信号的数字模型完整的语音信号的数字模型可表示为三个子模型:激励模型、声道模型和辐射模型的串联。2.1.1 激励模型发浊音时,由于声带不断的张开和关闭,将产生间歇的脉冲波。它类似于斜三角形的脉冲。这时的激励波是一个以音调周期为周期的斜三角脉冲串,单个三角波形的数学表达式如下。 (2.1.1)式中,N1为斜三角波上升部分的时间,N2为其下降部分的时间。通常,更希望将它表示成Z变换的全极模型的形式: (2.1.2)上式表示斜三角波形可描述为一个二极点的模型。因此,斜三角波串科士威加权了单位脉冲串激励上述单
19、个斜三角波模型的结果。而该单位脉冲串及幅值因子则可表示成下面的Z变换形式: (2.1.3)所以整个激励模型可表示为: (2.1.4)2.1.2 辐射模型从声道模型输入的是速度波,而语音信号是声压波,二者之倒比称为辐射阻抗。它表征口唇的辐射效应,也包括圆形的头部的绕射效应等。当然,从理论上推导这个阻抗是有困难的。但是,如果认为口唇张开的面积远小于头部的表面积,则可近似地看成平板槽辐射的情况。此时,可推导出辐射阻抗的公式如下: (2.1.5)式中,这里,是口唇张开时的半径,C是声波传播速度。由辐射引起的能量的损耗正比于辐射阻抗的实部,所以辐射模型是一阶类高通滤波器。由于除了冲击脉冲串模型E(Z)之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LPCmatlab 编程 实现 93
限制150内