语音信号矢量量化设计及实到现算法的matlab仿真设计说明.doc

上传人:本田雅阁 文档编号:2111511 上传时间:2019-02-15 格式:DOC 页数:48 大小:804.53KB
返回 下载 相关 举报
语音信号矢量量化设计及实到现算法的matlab仿真设计说明.doc_第1页
第1页 / 共48页
语音信号矢量量化设计及实到现算法的matlab仿真设计说明.doc_第2页
第2页 / 共48页
语音信号矢量量化设计及实到现算法的matlab仿真设计说明.doc_第3页
第3页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《语音信号矢量量化设计及实到现算法的matlab仿真设计说明.doc》由会员分享,可在线阅读,更多相关《语音信号矢量量化设计及实到现算法的matlab仿真设计说明.doc(48页珍藏版)》请在三一文库上搜索。

1、内蒙古工业大学本科毕业设计说明书引 言21世纪是信息的社会,各种科技领域的信息大爆炸。数字信号的数据量通常很巨大,对存储器的存储容量,通信信道的带宽及计算机的处理速度带来压力,因此必须对其进行量化压缩来紧缩数据存储容量 ,较快地传输各种信号 ,并使发信机功率降低 。矢量量化(VQ)是一种极其重要的信号压缩方法,其在语音信号处理中占有十分重要的地位,广泛应用于语音编码,语音识别,语音合成等领域。在许多重要的课题中,VQ都起着非常重要的作用。采用矢量量化技术对信号波形或参数进行压缩处理,可以获得非常高的效益。VQ不仅可以压缩表示语音参数所需的数码率,而且在减少运算量方面也是非常高效的,它还能直接用

2、于构成语音识别和说话人识别系统。语音数字通信的两个关键部分是语音质量和传输数码率。但这两者是矛盾的:要获得较高的语音质量,就必须使用较高的传输码率;相反,为了实现高效地压缩传输数码率,就很难得到良好的语音质量。但是矢量量化却是一种既能得到高效压缩的数码率 ,又能保证语音质量的方法。量化可以分为两大类:一类是标量量化,一类是矢量量化VQ。标量量化是把抽样后的信号值逐个进行量化,而矢量量化是先将k个抽样值组成k维空间中的一个矢量,然后将此矢量进行量化,它可以极大的降低数码率,优于标量量化。各种数据都可以用矢量表示,直接对矢量进行量化,可以方便的对数据进行压缩。矢量量化属于不可逆压缩方法,具备比特率

3、低,解码简单,失真较小的优点。矢量量化的发展大致可以分为两各阶段:第一阶段约为1956至1977年。1956年steinhaus第一次系统的阐述了最佳矢量量化的问题。1957年,在loyd的“PCM中的最小平方化”一文中给出了如何划分量化区间和如何求量化值问题的结论。约于此同时MAX也得出同样的结果。虽然他们谈论的都是标量量化问题,但他们的算法对后面的矢量量化的发展有着深刻的影响。1964年,NEWMAN研究了正六边形原理。1977年,berger的率失真理论一书出版。总体来说,这一阶段的工作多是理论性的,但它为第二阶段的发展奠定了一定的基础。第二阶段约为1978年至今。1978年,buzo第

4、一个提出实际的矢量量化器。他提出的量化系统组成分为两步:第一步将语音信号做线性预测分析,求出预测系数,第二步,对这些系数做矢量量化,于是得到压缩数码的语音编码器。1980年,linde,buzo和gray将Loyd-max算法推广,发表了第一个矢量量化器的设计算法,通常称为LBG算法。这就将矢量量化的研究向前推动了一大步。这一时期,人们对矢量量化问题展开了全面的研究,其中主要是对失真测度的探讨,码书的设计,各种矢量量化系统的研究,快速搜索算法的寻找等等。矢量量化研究的进展是很快的,1980年,美国加州公司在原来的编码速度为2.4kb/s的线性预测声编码器的基础上,仅将滤波系数从标量量化改为矢量

5、量化,就可以使编码速率降低到800b/s,而声音质量基本未下降。1983年,美国BBN公司研制了一种分段式声编码器。由于该声码器采用了矢量量化,所以可以用150b/s的速率来传送可懂的话音。近几十年来在已经提出的各种矢量量化方法和系数的基础上,更多更好的矢量量化方法渐渐出现。在图像数据压缩和语音识别的应用方面,矢量量化研究也得到了很快的发展,提出各种各样的矢量量化系统,用硬件实现矢量量化系统的方法也越来越多矢量量化压缩技术的应用领域非常广阔,如军事部门和气象部门的卫星(或航天飞机)遥感照片的压缩编码和实时传输、雷达图像和军用地图的存储与传输、数字电视和DVD的视频压缩、医学图像的压缩与存储、网

6、络化测试数据的压缩和传输、语音编码、图像识别和语音识别等等 。第一章 矢量量化器1.1 矢量量化概述矢量量化技术涉及到许多学科的技术和理论知识,且应用范围非常广泛。由于矢量量化的数据压缩具有编码简单,效率高,压缩比大等优点,所以矢量量化最先在语音,图像,视频这些媒体信息的压缩中取得了巨大的应用。由于矢量量化的高压缩比,使得它可以应用在民用的高清电视,网络视频的实时传输上,也可以应用在军用国防的卫星遥感,雷达监测等方面。矢量量化技术在其他方面的应用也发展十分迅速,如矢量量化技术已广泛地应用于语音识别,说话人识别,数字水印,文件检索,纹理压缩,移动通信等众多科学领域。矢量量化的三大关键 步骤和技术

7、是:码书设计,码字搜索和码字索引分配前两项是矢量量化过程中的关键。码书设计可以看成是一个统计聚类的过程。从另一个角度来看,码书设计也是一个迭代过程,码书可以视为一个类似函数优化的问题,所以要搜索最优化的全局码书,就需要一种全局算法。从以上分析可以看出,码书的优化是一个很重要的任务。人们试图找到各种新的码书优化的算法和策略。多种理论研究都应用到了码书算法,例如神经网络,模糊集合论,遗传算法等。此外,先进的预测技术也是提高压缩比的一种方法。1.1.1 矢量量化的基本概念 要了解矢量量化首先要了解量化和标量量化等基本概念量化就是把一个模拟信号值的连续范围分为若干相邻并具有唯一量值的区间,凡落在某区间

8、的抽样信号样值都指定为该区间量值的过程。 量化分为两类:标量量化和矢量量化一 标量量化整个动态范围被分成若干个小区间,每个小区间有一个代表值,量化时落入小区间的信号值就用这个代表值代替,或者叫被量化为这个代表值。这时的信号量是一维的,所以称为标量量化。图(1-1)标量量化原理图二 矢量量化 矢量量化:若干个标量数据组成一个矢量,矢量量化是对矢量进行量化,它把矢量空间分成若干个小区域,每个小区域寻找一个代表矢量,量化时落入小区域的矢量就用这个代表矢量代替,或者叫着被量化为这个代表矢量。在输入信号序列中,每K个连续样点可以组成一组K维欧式空间中的一个矢量,矢量量化就是把这个K维输入矢量X映射成另一

9、个K维量化矢量。其中量化矢量构成的集合称为码书或码本,码书中的每个矢量称为码字或码矢。比如说,当K=2时,所得到的是二维矢量。所有可能的二维矢量就构成了一个平面,记为(a1,a2),所有可能的(a1,a2)就是一个二维空间。如图(a)所示,矢量量化就是将平面分成M小区域,即,.,从每个小区域中找出代表向量,这些代表向量的集合就是有M个区间的二维矢量量化器。若要对落在二维矢量空间中的一个模拟矢量进行量化,首先要选择一个合适的失真测度,而后利用最小失真原则,分别计算用量化矢量替代X所带来的失真。其中最小失真值所对应的那个量化矢量中的某一个,就是模拟矢量X的重构矢量(或称恢复矢量)。通常把所有M个量

10、化矢量构成的集合称之为码书(codebook)或码本。码书中的量化矢量称为码字(codeword)或码矢(codevector),例如图(b)中所示的矢量量化器的码书,其中每个量化矢量称为码字或码矢。不同的划分或不同的量化矢量选取就可以构成不同的矢量量化器。 (a) (b)图(1-3)矢量量化示意图 根据上面对矢量量化的描述,我们可以给矢量量化以下的定义:矢量量化是把一个K维模拟矢量映射成为另一个K维量化矢量,其数学表达式为 式(1-1) 式(1-2) 式中:X表示输入矢量;表示信源空间;表示K维欧氏空间;Y表示量化矢量(码字或码矢);表示输出空间(即码书);表示量化符号;N表示码书的大小(即

11、码字的数目)。矢量量化系统通常可以分解为两个集合的映射,即 式(1-3)式中, 是编码器,它是将输入矢量映射为信道符号集中的一个元;是译码器,它是将信道符号映射为码书中的一个码字,即 式(1-4) 式(1-5) 1.1.2 矢量量化步骤矢量量化共有三个关键技术,即:码书设计,码字搜索和码字索引分配。其中前两项最关键一 码书设计 对于矢量量化首先要解决的问题是设计出一个性能好的码书。如果没有码书,那么编码将根本无法实现。如果用平方误差测度作为失真测度并且训练矢量数为N,想要生成含有M(MN)个码字的码书。那么设计码书的过程就要找到一种最佳方案把N个训练矢量分成M类,而把这M类的质心矢量作为码书的

12、码字。所以,寻求一种有效的算法,使尽可能找到全局最优或接近全局最优的码书来提高码书性能才是研究码书设计算法的目的,从而减少计算的复杂程度。二 码字搜索 矢量量化码字搜索算法是当码书已经设计好的时候,输入给定矢量,在码书中搜索与输入码字间失真最小的码字1。三 码字索引分配 在矢量量化参与的编码和解码系统中,如果信道有噪声,则在信道左端的索引i经过信道传输输出索引j ,这样就会导致在解码端引入额外的失真。码字索引进行重新分配可以有效的减少这种失真对于矢量量化来说,设计性能好的码书是矢量量化最为关键的问题。好的码书能最大程度的提高矢量量化的效果,使得恢复后的矢量,语音,图像和原来的矢量,语音,图像尽

13、可能的相似。1.2 矢量量化器概述矢量量化在实际中的应用实现就是矢量量化器。矢量量化器在实际生产生活中的应用非常广泛,特别是在多媒体信息中。矢量量化技术的核心是矢量量化器的设计。1978年第一个实际的矢量量化器发明。在这么多年的发展中矢量量化技术被不断的推出新的设计。1.2.1 矢量量化器原理矢量量化器可以分解为两个部分:编码器和解码器。在编码端,输入矢量X与码书()中的每一个或部分码字进行比较,分别计算它们的失真,搜索到失真最小的码字的序号(或此码字所在码书中的地址),并将的编码信号通过信道传输到译码端;在译码端,先把信道传来的编码信号译成序号,再根据序号 (或码字所在地址),从码书()中查

14、出相应的码字。由于码书()与码书()是一样的,此时失真最小,所以就是输入矢量X的重构矢量(恢复矢量)。很明显,由于在信道中传输的并不是矢量本身,而是其序列号的编码信号,所以传输速率还可以进一步提高。矢量量化器原理框图如下:VQ编码器计算置码书()码书()VQ解码器寻找信道或存储器失真测度输入矢量X编码端译码端图(1-4)矢量量化器原理框图1.2.2 失真测度设计矢量量化器的关键是编码器的设计,而译码器的工作仅是一个简单的查表过程。在编码的过程中,需要引入失真测度的概念。前已指出,失真是将输入信号矢量用码书的重构矢量来表征时的误差或付出的代价,而这种代价的统计平均值(平均失真)描述了矢量量化器的

15、工作特性。失真测度是以什么样的方法来反映用码字代替信源矢量时所付出的代价,即 式(1-6)式中, 表示求期望。在矢量量化器的设计中,失真测度的选择是很重要的,失真测度选用得合适与否,直接影响系统的性能。失真测度主要有均方误差失真测度(即欧氏距离),加权的均方误差失真测度,板仓-斋藤似然比距离,似然比失真测度等,它们在语音信号处理中常被应用于语音波形矢量量化,线性预测参数矢量量化和孤立词识别的矢量量化中。在本毕业设计中,各种算法中涉及到计算失真的部分均采用的是欧氏距离-均方误差。欧氏距离-均方误差的定义如下:设输入信号的某个K维矢量X,与码书中某个K维矢量Y进行比较,分别表示X和Y中的各元素()

16、,则定义均方误差为欧氏距离,即有 式(1-7)这里,的下标2表示平方误差。第二章 矢量量化器算法研究经过多年的研究,矢量量化算法已有不少,包括:LBG算法,K均值算法(K-Means),模拟退火算法,K均值修正算法(MKM),链映射法,最邻近算法,预测矢量量化法(PreVQ),乘积矢量量化法等等。本章选取LBG算法,覆盖算法和PNN算法三种算法进行研究。2.1 最佳码本设计最佳矢量量化器的码本设计也被称为最佳码本设计,即从大量的输入信号样本中训练出一个好的码本,在一定的条件下,矢量量化器的最佳码本设计使失真最小。矢量量化器最佳设计中最重要的问题是如何确定量化区间和确定矢量量化,也就是要达到最佳

17、划分和最佳码书。一 最佳划分码书给定,可以用最近邻准则NNR(Nearest Neighbor Rule ,也称voronoi分割条件)得到最佳划分。最邻近准则;根据该条件对信号空间进行最佳划分,对于信源空间中的任意一个矢量X,若X和码字的失真小于它和其他码字的失真,即 式(2-1)则为最佳划分,即为一个胞腔由于给定码书中共有N个码字,所以可以把信源空间划分为N个区间.二 最佳码书划分了后,为了使码书的平均失真最小,码字必须为相应划分 的形心即满足 centroid质心条件 式(2-2)为集合中矢量的个数2.2 LBG算法实现LBG算法由Linde ,Buzo和 Gray在1980年提出,它是

18、标量量化器中Lloyd算法的推广,在矢量量化中是一个基本算法2。LBG算法以其严密的理论,简便的应用和设计效果良好,被广泛的应用,是许多新型码书设计算法的基础算法。LBG算法是一种迭代算法,从一个最初选定的初始码本开始迭代。把训练序列进行分组,找到每组的初始码书,计算初始码本与训练序列的失真度,根据最小失真度来确定新的码本,产生的新码本作为第二次迭代的初始码本。重复上述过程,直到系统满足性能要求或不在有明显改进是结束迭代。2.2.1 LBG算法的实现流程LBG算法根据最佳矢量量化器设计的最佳划分和最佳码书这两个必要条件提出,它的特点是算法理论严密,物理概念清晰和算法实现容易。LBG算法是目前比

19、较常用和流行的一种码书建立方法,该方法可以用于两种情况:一是已知信源概率分布,二是未知信源概率分布,但是已知一个信号序列的情况。由于实际情况中信源确定多维的概率分布很难,所以利用训练序列建立码本的LBG算法用得比较多一些。利用训练序列建立码书的LBG算法的步骤如下3:第一步 初始化:给定初始码书,即给定码书的大小N和码字,并设置n=0,设起始平均失真 , 以及给定计算停止门限。第二步 迭代:用初始码书为形心,根据最邻近准则将训练序列分成N个胞腔,即 式(2-3) 式(2-4)第三步 计算平均失真与相对失真:平均失真为, 式(2-5)相对失真为 式(2-6)若 ,则停止计算,当前的码书就是设计好

20、的 ,否则进行第四步:第四步 利用公式 计算这时划分的各个胞腔的形心,由这N个新形心构成新的码书 ,并置n=n+1,返回第二步再进行计算,直到得到所要求的码书为止。LBG算法流程图如下所示:开始给定码书大小N,初始码书 ,训练序列TS置n=0,起始平均失真 以及给定计算停止门限。用给定码书划分成N个胞腔计算平均失真和相对失真 求出新码书 结束YN 图(2-1)LBG算法流程图2.2.2 LBG算法初始码书的选取一 随机选取法 该方法最先是用在聚类算法中,它是从训练序列中随机选取N个矢量作为初始码字构成初始码书。其优点是大大节约计算时间,而且由于初始码书是从训练序列中选出来得,所以没有空胞腔的问

21、题。随机选取法的另一个优点是,形成初始码书的过程需要的时间较短。但这种方法也存在一些问题,就是很可能选到一些不是典型的矢量作为码字,因此该胞腔只有很少的矢量,特别是只剩下一个初始码字,造成在某些空间将胞腔划分的太细致,码字中有很多个码字得不到充分的利用,而有些空间将胞腔分的过大,所以该方法比较适用于相对比较平稳的序列。语音信息与别的多媒体信息比较,信息之间的冗余较少,本设计中的语音信息由于选取的时间较短,就是一个相对平稳的序列,所以使用随机选取法选取初始码书是可行的。二 分裂法该方法是1980年由Linde,Buzo,Gray提出的,先取一个较少码字的码书,用LBG算法对其优化,对优化的结果进

22、行分裂,得到较大的体积,较优化的码书再,重复优化,分裂,再优化过程。具体步骤如下:第一步计算所有训练序列的形心,将此形心作为第一个码字;第二步用一个合适的参数A,乘以码字,形成第二个码字;第三步以码字,为简单的初始码书,即 式(2-7)用前面所述的LBG算法,去设计仅含两个码字的码书;第四步将码书中的两个码字分别乘以合适的参数B,得到四个码字;第五步以这4个码字为基础,按步骤3构成含4个码字的码书,再乘以合适的参数以扩大码字的数目。如此反复,经过次设计,就得到所要求的有N个码字的初始码书。在此方法中,这些参数的选择对初始码书的设计性能有一定影响。用分裂法形成的初始码书,其性能较好,当然矢量量化

23、器的性能也较好,只是计算工作量比较大,随着马书中码字的增加,计算量也迅速增加。2.2.3 LBG算法非典型码矢的问题LBG算法中,遇到的另一个问题是随机选取法中的非典型码字如何处理,此问题同样存在于其他算法中。下面进行说明4。在随机选取法中,存在一些非典型矢量,用它们去形成胞腔时,胞腔中往往只有少数几个矢量,甚至只有它们自身一个矢量。其实在别的设计算法中。也有只含有很少几个矢量的胞腔,此时一般采用下面的方法进行处理:第一步 重新选择随机初始码字,直到没有非典型码字为止;第二步 把这种胞腔中少数矢量分别归并到邻近的各个胞腔中,再用分裂法把其中一个最大的胞腔分裂为两个小胞腔。2.3 覆盖算法的实现

24、2.3.1 覆盖算法的基本原理及实现流程覆盖算法的基本原理如下5:第一歩 给定一个失真半径,任选一个训练矢量作为第一个码字,计算出此码字相对训练序列TS中各个矢量的失真,凡失真小于的那些TS中的矢量,均属于胞腔,这样确定的胞腔为 式(2-8)第二歩 在剩余的矢量之中,选一个训练矢量作为第二个码字,仍以与上述相同的矢量半径计算相对剩余TS中各矢量的失真,以确定第二个胞腔,即 式(2-9)第三歩 按上述步骤,构成新的胞腔,要不断的修改失真半径反复多次修改,直至选出的码字个数满足码书大小N的要求为止。覆盖算法流程图如下所示:开始初始化失真半径,训练序列TS码书大小N,设置失真半径增量rM是否等于N结

25、束改变失真半径划分胞腔,凡小于失真小于的那些TS中的矢量,均属于胞腔,计算生成的码字个数MNY图(2-2)覆盖算法流程图2.4 成对最邻近(PNN)算法的实现2.4.1 成对最邻近(PNN)算法的实现流程成对最邻近算法(PNN,pairwise nearest neighbor)由Eqitz等人提出6。该算法是删除算法的一种,因为它在设计过程中不断合并,这个合并的过程不断进行直到胞腔数目达到要求7。假设训练矢量集中的矢量个数为M,每个矢量都占有一个独立的胞腔,算法的目的是不断合并相临近的两个胞腔直到得到所需数目的胞腔,且最终的码书由各胞腔的质心矢量组成。设训练矢量集为,该算法描述如下:步骤1:

26、令码字数n=M,每个胞腔的质心,;步骤2:计算各对码字和间的失真,;步骤3:假设,则合并胞腔和,码字更新为 式(3-10)若j=n-1,则从码书中去掉码字;否则令, ,从码书中去掉码字 ,令n=n-1 步骤4:若 n=N,则终止程序,其中N为所要求的码书大小;否则,转步骤2继续合并最近的两个胞腔将PNN算法得到的码书作为LBG算法的初始码书,初始码书的码字能在整个输入矢量空间中很好的散开,尽可能的占据输入概率密度较大的区域,提高最后码书的质量。PNN算法流程图如下所示:开始训练序列TS,码字数n=M,设置码字。n=N?结束计算各对码字和间的失真,找出失真最小的两个码合并胞腔和,更新胞腔码字,置

27、n=n-1NY图(2-3)PNN算法流程图第三章 矢量量化器的设计及MATLAB仿真MATLAB仿真环境简介:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。 MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面,连接其他编程语言的程序等,主要应

28、用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 3.1 矢量量化器LBG算法的仿真及仿真结果分析3.1.1 程序设计思路为了使程序简短,运行容易,初始码书的选取采用随机选取法;考虑到输入数据有正值有负值,失真测度采用欧氏距离-均方误差8。具体的,程序输入为15.0841秒长的8比特,单声道语音,取样频率为8000hz,通过随机选取的方法选取大小为200的初始码书。设置码本维数是5,码书大小为16,通过不断迭代来修改码书,直到小于失真门限0.001停止迭代,此时的码书是最终的码书。仿真达到200个数据量化为16个数据的目的。程序运行结果:语音长度=15.0

29、841 秒取样频率=8000 取样点/秒sample_num = 200s初始码书= 0.0234 0 0.0547 0.0703 0.1406 -0.1094 -0.1797 -0.1328 -0.0469 0.0078 0.0234 0.0859 0.0938 0.1094 0.1172 -0.0859 -0.1406 -0.1484 -0.1172 -0.0547 0.1406 0.0781 0.0313 0.0547 0.0781 -0.1328 -0.1406 -0.1953 -0.1797 -0.0391 0.1016 0.0547 0.0234 -0.0234 0 -0.0156

30、 -0.0625 -0.0625 -0.0156 0.0313 0.1797 0.1484 0.0547 -0.0234 -0.0078 -0.1016 -0.0313 0.0625 0.0625 0.0938 -0.1563 -0.2188 -0.1875 -0.1797 -0.1875 0.1250 0.0703 0.0313 -0.0234 -0.0938 -0.0078 0.0313 0 -0.0156 -0.0313 0 0.1016 0.0859 -0.0078 -0.0234 -0.0859 -0.0234 -0.0156 -0.0625 -0.0469 -0.0781 -0.0

31、625 -0.0703 -0.0625 -0.0547cpu_time= 2.6891pj_distort 平均失真=Columns 1 through 100.1529 0.0766 0.0648 0.0574 0.0528 0.0455 0.0426 0.0400 0.0389 0.0386Columns 11 through 12 0.0384 0.0384xd_shizhen 相对失真=Columns 1 through 10 1.0000 0.4993 0.1532 0.1141 0.0813 0.1372 0.0640 0.0625 0.0272 0.0060Columns 11

32、through 120.0060 0N1 每个码书的样本个数= 11 12 10 12 11 5 14 19 10 9 6 2 20 24 22 13j2循环次数= 12final_codebook= -0.0462 -0.0036 0.0710 0.1470 0.2273 -0.1165 -0.1328 -0.1250 -0.0846 -0.0306 0.7891 0.7305 0.7141 0.6687 0.5828 -0.3086 -0.3438 -0.3314 -0.3548 -0.4505 0.2649 0.3764 0.5327 0.5320 0.6314 -0.5781 -0.4

33、250 -0.3594 -0.2484 0.0156 0.1217 0.0871 0.0368 -0.0073 -0.0229 -0.0728 -0.0592 -0.0341 -0.0247 -0.0029 0.3836 0.3063 0.1922 0.1812 0.1234 -0.1311 -0.0712 -0.0009 0.0634 0.0938 -0.9492 -0.9401 -0.9089 -0.8802 -0.7656 0.2813 0.1953 0.0391 -0.1797 -0.3242 0.0074 0.0289 0.0309 0.0180 0.0145 0.1120 0.10

34、64 0.1289 0.1061 0.0918 0.0004 -0.0302 -0.0526 -0.0803 -0.0877 -0.0811 -0.1190 -0.1454 -0.1599 -0.1989输入语音与码书波形如下图所示:图(3-1)输入语音与码书波形图3.1.2 仿真结果在对实际语音信号进行MATLAB仿真的过程中,通过改变语音数据量大小,码书维数,失真门限,量化压缩比四个参数,比对分析实验结果的数据.一 改变数据量改变数据量大小,码书中码字个数随之变化,保持量化压缩比不变表(3-1)LBG算法改变数据量的仿真结果语音文件8single.wav8single.wav8single

35、.wav8single.wav参数类型8比特单声道采样率为80008比特单声道采样率为80008比特单声道采样率为80008比特单声道采样率为8000语音长度15s15s15s15s样本个数10002000500010000码书中码字个数80160400800码字维数5555量化压缩比12.512.512.512.5失真门限0.0010.0010.0010.001循环次数10131414平均失真0.03100.01270.03170.0216相对失真0.00080.00060.00050.0003运算时间4.01995.124114.036744.3729数据分析:改变数据量大小:试验用的是同

36、一段语音,保持量化压缩比12.5不变,使输入训练序列大小分别为1000,2000,5000,10000,则码书中码字个数为80,160,400,800其他参数设置不变.结果如上表所示,循环次数为10,13,14,14呈现递增趋势,平均失真没有规律,相对失真为0.0008,0.0006,0.0005,0.0003呈现递减趋势,运算时间为4.0199,5.1241,14.0367,44.372呈现递减趋势。进行大量的仿真说明:输入的数据量越大,相对失真越小,循环次数越多,运算量(运算时间)越大二 改变量化压缩比改变数据量大小,码书中码字个数不变,压缩比随之改变表(3-2)LBG算法改变量化压缩比的

37、仿真结果语音文件8single8single8single参数类型8比特单声道采样率8000点每秒8比特单声道采样率8000点每秒8比特单声道采样率8000点每秒语音长度15s15s15s样本个数100001000010000码书中码字个数800400200码字维数555量化压缩比12.52550失真门限0.0010.0010.001循环次数141521平均失真0.00450.00600.0082相对失真0.00100.00070.0009运算时间28.823715.232213.0247数据分析:改变量化压缩比:试验用的是同一段语音,保持训练序列样本个数10000不变,使量化压缩比分别为12

38、.5,25,50,则码书中码字个数为800,400,200,其他参数设置不变.结果如上表所示,循环次数为14,15,21呈现递增趋势,相对失真没有规律,平均失真为0.0045,0.0060,0.0082呈现递增趋势,运算时间为28.8237, 15.2322, 13.0247呈现递减趋势。进行大量的仿真说明:压缩比越大,循环次数越多,平均失真越大,运算量(运算时间)越多 三 改变码书维数表(3-3)LBG算法改变码书维数的仿真结果语音文件8single.wav8single.wav8single.wav参数类型8比特单声道采样率为80008比特单声道采样率为80008比特单声道采样率为8000

39、语音长度15s15s15s样本个数100001000010000码书中码字个数640640640码字维数5811量化压缩比18.818.818.8失真门限0.0010.0010.001循环次数151413平均失真0.00490.01340.0234相对失真0.00080.00070.0005运算时间25.135531.335339.7941数据分析:改变码字维数:试验用的是同一段语音,使码字维数分别为5,8,11,其他参数设置不变.结果如上表所示,循环次数为15,14,13呈现递减趋势,平均失真为0.0049,0.0134, 0.0234呈现递增趋势,相对失真为0.0008,0.0007,0.

40、0005呈现递减趋势,运算时间为25.1355,31.3353,39.7941呈现递减趋势。进行大量的仿真说明: 码书维数越大,循环次数越少,平均失真越大,相对失真越小,运算量(运算时间)越大四 改变失真门限(3-4)LBG算法改变失真门限的仿真结果语音文件8single.wav8single.wav8single.wav8single.wav参数类型8比特单声道采样率为80008比特单声道采样率为80008比特单声道采样率为80008比特单声道采样率为8000语音长度15s15s15s15s样本个数10000100001000010000码书中码字个数640640640640码字维数1111

41、1111量化压缩比18.818818.818.8失真门限0.020.010.0050.001循环次数56815平均失真0.02420.02400.02380.0234相对失真0.01370.00840.00440.0008运算时间15.060917.670921.867038.3548数据分析:改变失真门限:试验用的是同一段语音,使失真门限分别为0.02,0.01,0.005,0.001其他参数设置不变.结果如上表所示,循环次数为5,6,8,15呈现递增趋势,平均失真为0.0242,0.0240,0.0238,0.0234呈现递减趋势,相对失真为0.0137,0.0084,0.0044,0.0008,呈现递减趋势,运算时间为15.0609,17.6709,21.8670,38.3548呈现递减趋势。进行大量的仿真说明:失真门限越小,平均失真越小,相对时间越小,循环次数越大,运算量(运算时间)越大3.1.3 仿真结论一 保持量化压缩比不变,输入的数据量越大,相对失真越小,循环次数越多,运算量(运算时间)越大;二 压缩比越大,循环次数越多,平均失真越大,运算量(运算时间)越

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1