(计算机科学与技术专业论文)g729的优化研究及其应用.pdf_第1页
(计算机科学与技术专业论文)g729的优化研究及其应用.pdf_第2页
(计算机科学与技术专业论文)g729的优化研究及其应用.pdf_第3页
(计算机科学与技术专业论文)g729的优化研究及其应用.pdf_第4页
(计算机科学与技术专业论文)g729的优化研究及其应用.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机科学与技术专业论文)g729的优化研究及其应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

g 7 2 9 的优化研究及其应用 g 7 2 9 的优化研究及其应用 摘要 应实验室项目的需求,本文设计实现了一个组网快速灵活,扩展 性能良好,通信安全,接入手段多样化的语音通信系统。 该系统中涉及到的主要技术是语音编解码技术。本文在比较了当 前国际上各个语音编解码技术标准后选择使用g 7 2 9 。 本文详细介绍了g 7 2 9 编解码技术的原理。对1 2 7 2 9 所要做的主 要工作是对它进行优化,本文先论述了对g 7 2 9 进行优化的必要性,在 此基础上对c t 7 2 9 进行了算法优化的研究。本文利用m a t l a b 对优化 后的语音质量进行了验证,还利用m o s 评测法对语音质量进行了测试 无论是m a t l a b 的仿真结果还是l d 0 s 的得分结果都表明优化后的语音 质量满足本系统的要求。 本文分析了i t u t 提供的源代码的结构,在此基础上给出了g 7 2 9 代码优化与算法优化的具体实现。本文还对系统进行了测试,测试表 明优化达到了系统的要求。 在本文的最后,对本文作了总结和展望,指出了下一步要完成的 工作。 关键词:g 7 2 9 、c s a c e l p 、语音编解码、优化、m o s g 7 2 9 的优化研究及其应用 t h er e s e a r c ho fg 7 2 9 so p t i m i z a t i o n a n di t sa p p l i c a t i o n a b s t r a c t a st h el a b sp r o j e c tr e q u i r e d ,t h i sp a p e rd e s i g na n di m p l e m e n tav o i c e c o m m u n i c a t i o ns y s t e m ,w h i c hi sf l e x i b l e ,e a s yt oe x t e n d ,s a f ea n d d i v e r s i f i c a t i o ni na c c e s s t h es y s t e mi n v o l v e so n em a j o rt e c h n o l o g y :s p e e c hc o d i n g t h i s p a p e rc h o o s e sg 7 2 9a f t e rc o m p a r i n gv a r i o u ss t a n d a r d so fs p e e c hc o d i n g i nc u r r e n ti n t e m a t i o n a l t h i sp a p e rd e s c r i b e st h ep r i n c i p l e so fg 7 2 9i nd e t a i l s w h a tn e e dt o b ed o n et og 7 2 9i st od os o m eo p t i m i z a t i o nw o r k st oi t t h i sp a p e r d i s c u s s e st h en e c e s s i t yo fg 7 2 9 so p t i m i z a t i o n ,a n dt h e nd o e sr e s e a r c h e s o ng 7 2 9 sa l g o r i t h mo p t i m i z a t i o n t h i sp a p e rv e r i f i e st h eq u a l i t yo f v o i c ew h i c hi so p t i m i z e db yu s i n gm a t l a b t h i sp a p e ra l s od o e st e s t s o nt h ev o i c eu s i n gm o s t h er e s u l t so fm a t l a bs i m u l a t i o na n dm o s s c o r es h o wt h a tt h eq u a l i t yo fv o i c em e e t st h i ss y s t e m sn e e d s t h i sp a p e ra n a l y s e st h es t r u c t u r eo fg 7 2 9 ss o u r c ec o d ew h i c hi s p r o v i d e db yi t u t t h e nt h i sp a p e rg i v e st h ec o n c r e t e r e a l i z a t i o no f g 7 2 9 sc o d eo p t i m i z a t i o na n da l g o r i t h mo p t i m i z a t i o n t h i sp a p e ra l s o d o e st e s t so nt h es y s t e mu s i n gm o sa n dt h er e s u l t s h o w st h a t 7 g 7 2 9 的优化研究及其应用 o p t i m i z a t i o n sm e e tt h es y s t e m sn e e d s a tl a s t ,t h i sp a p e rm a k e sas u m m a r i z a t i o na n dp o i n t so u tt h ew o r k s w h i c hn e e dt ob e d o n ei nt h en e x ts t e p k e y w o r d s :( 2 7 2 9 ,c s - a c e l p , s p e e c hc o d i n g ,o p t i m i z a t i o n ,m o s g 7 2 9 的优化研究及其应用 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:王盗缝日期:兰丝圭! 盟生篁 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围, 本人签名:王堕堡 导师签名: 适用本授权书。 日期:丝丝兰望篁 g 7 2 9 的优化研究及其应用 第一章绪论 1 1课题的研究背景与意义 计算机是人类2 0 世纪最伟大的发明之一,自从它发明以来,其发展速度一 直比较迅猛,尤其是2 0 世纪九十年代以来,随着i n t e r a c t 的商用与普及,计算 机和互联网更是走进千家万户,深刻地改变着人们的生活。 随着互联网的发展,新的需求也不断地涌现。在本文作者所在实验室所承接 的x x x 项目中,就要求实现一种能快速组网的语音通信系统。 该系统有如下具体的需求: 1 快速灵活的组网方式,网络的扩展性要好; 2 安全的通信机制; 3 接入手段多样化,现有的固定电话也要能接入该网络。 针对以上第一个需求,该系统采取分组交换而非电路交换来传输语音数据, 即采用v o i p ( v o i c eo v e ri a ) 的技术。 针对第二个需求,本文采取了话音加密的方法,即对要传输的语音数据包先 进行加密,然后再封装成i p 包传输。 针对第三个需求,本系统采用c t i ( c o m p u t e rt e l e c o m m u n i c a t i o ni n t e g r a t i o n ) 技术,把固定电话接入到系统中。 系统中涉及到的主要技术是语音编码技术。 本文对当前国际上主流的中低速率语音编码技术进行了比较,详细的比较见 2 1 小节,并最终选择g 7 2 9 作为本系统的语音编码算法。基于以下两个方面的 考虑,本文必须对g 7 2 9 进行优化。 ( 1 ) g 7 2 9 语音编码器算法复杂度比较高,g 7 2 9 为2 0m i p s ( m i l l i o n i n s t r u c t i o n sp e rs e c o n d ) ,g 7 2 9 a 为1 0 5m i p s ,因此以往的g 7 2 9 编解码都是由 硬件来实现的,如专用的d s p ( d i g i t a ls i g n a lp r o c e s s o r ) 芯片等,而在本系统中, 需要在处理能力很低的智能手机上运行g 7 2 9 的代码。因而优化是必不可少的。 ( 2 ) i t u - t 在提供源代码的时候,基于演示算法的需要,提供的源代码在效率 上本身就不是很高,甚至有很多冗余的代码存在。因此也需要进行优化。 本系统中还涉及到c t i 技术,即计算机电话集成技术。该技术有两种解决方 案:交换机解决方案和语音板卡解决方案,出于经济效益的考虑,本系统选择语 音板卡解决方案。 g 7 2 9 的优化研究及其应用 1 2本文的主要工作 1 根据系统的需要,本文先对g 7 2 9 进行了算法优化的研究并进行了m a t l a b 的仿真。仿真的实验结果表明算法优化能在降低g 7 2 9 算法复杂度的同时,满足 系统对语音质量的要求,达到了预期的目标。 2 本文分析了i t u _ t 提供的g 7 2 9 源代码,给出了g 7 2 9 代码优化和算法优 化的具体实现,并在论文中给出了实现的代码。 3 作为前期的调研准备工作,研究比较了本系统涉及到的语音编解码技术 的不同的实现方案,并最终选定g 7 2 9 作为本系统的语音编解码技术。 1 3本文的组织结构 本文按以下章节组织: 第一章绪论 介绍论文的背景、主要工作和论文的组织结构。 第二章g 7 2 9 语音编解码技术 介绍了本系统中涉及到的主要技术一g 7 2 9 语音编解码技术,并根据第三章 的需要,对第三章中算法优化涉及到的算法进行了较为详细的介绍。 第三章g 7 2 9 算法优化的研究 对g 7 2 9 进行了算法优化研究,给出了3 个优化算法。对这3 个优化算法都 进行了理论的验证,也进行了m a t l a b 的仿真,给出了仿真结果。实验结果证明 这3 个优化算法能在降低g 7 2 9 算法复杂度的情况下,满足系统对语音质量的要 求。 第四章g 7 2 9 优化的具体实现 首先介绍了i t u t 提供的源代码结构,在此基础上给出了g 7 2 9 代码优化与 算法优化的具体实现,并在文中给出了实现的代码。 第五章总结与展望 总结本论文,并提出进一步的工作。 最后是致谢和参考文献。 g 7 2 9 的优化研究及其应用 第二章( 3 7 2 9 语音编解码技术 本系统中涉及到的主要技术是g 7 2 9 语音编解码技术。本章就来对这个技术 作一个详细的介绍。 2 1g 7 2 9 的选定 目前国际上主流的中低速率语音编码标准见表2 1 m 。 表2 - 1 中低速率语音编码国际标准参考表 编码速标准制定公布语音质时复杂度帧长一帧编码算法 率名称机构时间 且 延 ( m i p s )( m s ) 比特亘 ( k b i t s )( m o s )( m s )数 2 4g 7 2 6i t u t1 9 9 03 2 , 3 1 8 3a d p c m 2 4g 7 2 7兀1 u t1 9 9 03 3 , 4 1 8 3a d p c m 1 6g 7 2 6i t u t1 9 9 02 0 , 3 1 8 2a d p c m 1 6g 7 2 7i t u t1 9 9 02 2 , a d p c m 1 6g 7 2 8i t u t1 9 9 24 o23 05 81 0l d c e l p 1 3g s me t s i 1 9 8 83 72 08 2 02 6 0i t p e l t p 0 6 1 0 1 2 2g s me t s i1 9 9 13 6 , 2 02 4 4a c e l p 0 6 6 0 8 g 7 2 9i t u - 1 1 9 9 64 o1 02 01 0 8 0c s - a c e l p 6 5g s me t s i1 9 9 43 54 41 52 01 3 0 v e s l p 0 6 2 0 6 3g 7 2 3i t u t1 9 9 53 83 01 53 01 9 0 m p m l q 5 3g 7 2 3i t u t1 9 9 53 63 01 63 01 6 0a c e l p o 由表2 1 可知,基于自适应差分脉冲编码调制a d p c m ( a d a p t i v ed i f f e r e n t i a l p u l s ec o d em o d u l a t i o n ) 算法的g 7 2 6 和g 7 2 7 虽然算法复杂度和时延都较小,但 是它们的语音质量较差,而且编码速率也比较高,不适合本系统的应用;g 7 2 8 由于算法复杂度高,编码速率高也不适合本系统的应用;g s m ( g l o b a ls y s t e mf o r m o b i l ec o m m u n i c a t i o n s ) 标准系列和g 7 2 3 虽然算法复杂度比较低,但是其延迟 比较大,不适合本系统。因此本系统中选取算法复杂度、延迟和编码速率都适中 的g 7 2 9 编码方案。 g 7 2 9 的优化研究及其应用 g 7 2 9 是i t u t 制定的编码速率为8 k b i t s 的共轭结构代数码书激励线性预测 声码器c s a c e l p ( c o n j u g a t es t r u c t u r ea l g e b r a i cc o d e re x c i t e dl i n e a rp r e d i c t i o n ) 语音编码算法标准。这种编码算法在无线方面具有一定的抗信道误码的能力,且 不会引入大的干扰影响。另外,如果信道衰减很大,或传输的帧完全丢失,解码 器能在最少损失话音质量的情况下隐去所丢失的帧。g 7 2 9 提供了较低速率下的 高质量、低延迟的语音编码,是当前较理想的编码算法。 为了进一步提高g 7 2 9 语音编码的压缩率和其它性能,丌u - t 提出了g 7 2 9 a 、 g 7 2 9 b 、g 7 2 9 c 等附录。其中g 7 2 9 a 是g 7 2 9 的简化方案,主要降低了计算的 复杂度以及实现方便;g 7 2 9 b 描述了静音检测v a d ( v o i c ea c t i v i t yd e t e c t i o n ) 、 不连续传输d t x ( d i s c o n t i n u o u st r a n s m i s s i o n ) 和舒适噪音产生器c n g ( c o m f o r t n o i s eg e n e r a t o r ) :g 7 2 9 c 是g 7 2 9 语音编码算法的浮点参考实现;g 7 2 9 d 是速 率为6 4 k b i t s 的扩展算法;g 7 2 9 e 是速率为“8 k b i t s 的扩展算法;g 7 2 9 f 定 义了g 7 2 9 d 的不连续传输功能;g 7 2 9 g 定义了g 7 2 9 e 的不连续传输功能; g 7 2 9 h 定义了g 7 2 9 d 和g 7 2 9 e 的转换框架。如无特别说明,本文所说的g 7 2 9 包含了g 7 2 9 a 和g 7 2 9 b 两个附录的功能。 2 2g 7 2 9 的基本原理 g 7 2 9 建立在码激励线性预测编码模型的基础上。编码器工作在1 0 m s 的语 音帧上,这相应于速率为每秒8 0 0 0 个样点情况下,具有8 0 个样点。对每个1 0 m s 的语音帧进行分析并提取各种参数( 线性预测滤波器系数、自适应码书延迟、固 定码书索引、自适应码书增益和固定码书增益) ,把这些参数编码发送。编码器 参数的比特分配见表2 2 。 在解码端,把收到的比特流恢复成参数编码,解码后得到各个参数,用自适 应码矢序号从自适应码书中得到自适应码矢,用固定码矢序号从固定码书中得到 固定码矢,分别乘以它们的增益再相加后就构成激励序列。用线性预测滤波器系 数构成合成滤波器,用自适应码书方法实现长期或基音合成滤波器,计算出合成 语音后,用后置滤波器进一步增强音质哺1 。 g 7 2 9 编码器对语音和其它音频信号进行l o m s 一帧的编码。另外,还有5 m s 的前瞻,结果,全部的算法时延共有1 5 m s 。在实际的实现中,这个编码器的附 加时延还取决于下列因素1 : ( 1 ) 编码和解码运算处理所需的时间; ( 2 ) 通信链路的传输时延; ( 3 ) 将音频数据与其它数据复接所需的时间。 2 3g 7 2 9 编码器原理 g 7 2 9 的优化研究及其应用 1 概述 图2 1 描述了编码器的工作原理。输入信号在预处理模块中通过一个高通滤 波器而且其幅度被缩小1 2 。经过预处理的信号作为后边所有分析的输入信号。 每一帧做一次线性预测分析,计算线性预测滤波器的系数。这些系数被转化为 表2 - 2 6 7 2 9 协议编码参数的比特分配 参数码字 第一子帧第二子帧每帧共计 线谱对 l o ,l 1 ,l 2 ,l 3 1 8 自适应码书延 p 1 ,p 2 851 3 迟 音调延迟的奇 p o1l 偶校验 固定码书索引c 1 ,c 2 1 31 32 6 固定码书符号s 1 ,s 2 448 码书增益( 第g a l ,g a 2 336 一级) 码书增益( 第g b l ,g b 2 448 二级) 总计 8 0 线谱对l s p ( l i n es p e c t r a lp a i r ) ,然后使用两级矢量量化v q ( v e c t o r q u a n t i z a t i o n ) 为1 8 比特。激励信号是通过一个合成一分析搜索过程来选出的, 在这个过程中,原始语音与重建语音的误差按照感知加权的失真测度使其最小 化。这是用感知加权滤波器将误差信号滤波而实现的。该滤波器的系数由未量化 的线性预测滤波器得到。为了改进编码器的性能,使输入信号能有一个平坦的频 g 7 2 9 的优化研究及其应用 率响应,感知加权滤波器的参数值被做成自适应的,以改善输入信号的性能,使 其有较平的频率响应。 第一子帧使用的量化和未量化的线性预测滤波器系数是经过插值的,而第二 子帧的线性预测滤波器直接使用这些参数。每1 0 m s 估计一次开环基音周期,这 个估计使用的是经过感知加权的语音信号。下面提到的这些运算则是每5 m s 重复 图2 - 1 g 7 2 9 编码器框图 g 7 2 9 的优化研究及其应用 一次。将线性预测的残差信号与激励信号之间的误差通过上述滤波器就可以更新 这些滤波器的初始状态,这等同于通常的从加权后的语音信号中减去加权合成滤 波器的零输入响应。加权合成滤波器的冲激响应h ( 1 1 ) 是必须计算的。然后要做 的就是在开环基音周期的附近,利用目标信号x ( n ) 与加权合成滤波器的冲激响 应h ( n ) 进行闭环基音周期分析,以寻找自适应码书的延迟与增益。在这一过程 中,用1 3 插值方法来计算分数基音。在第一子帧,用8 比特对基音周期进行编 码;在第二子帧则用5 比特对基音周期进行编码。将目标信号x ( n ) 减去自适应 码书的贡献,就得到了新的目标信号x ( n ) ( 二次残差信号) ,这个新的目标信号 在固定码书搜索过程中用于寻找最优激励信号。固定码书激励使用的是1 7 比特 的代数码书。固定码书与自适应码书的增益被量化为7 比特的矢量,其中,固定 码书增益的编码使用了移动平均m a ( m o v i n ga v e r a g e ) 预测。最后,用计算出的 激励信号来更新滤波器的存储记忆。 2 预处理 编码器的输入语音信号为1 6 比特的线性p c m 码。在进行编码之前,要先加 入两个预处理功能:信号定标和高通滤波。 定标是由输入信号除以因子2 构成,以减少在定点实现中溢出的可能性。高 通滤波器是对低频噪声信号的预防措施。此处采用的高通滤波器的下截止频率为 1 4 0 h z 。预处理的两个过程合在一块由下式给出: 肠= 0 4 6 4 6 4 7 1 8 0 9 2 7 2 4 7 0 5 z - + 0 4 6 乒1 6 4 7 1 8 z - 2 ( 式2 - 1 ) 语音信号输入h m ( z ) 后记为s ( n ) ,将用于所有随后的编码器操作。 3 线性预测分析与量化 短时分析与合成滤波器是建立在1 0 阶线性预测滤波器的基础上的。线性预 测滤波器被定义为: 1l 0 芒n f ( 式2 2 ) 彳( z )l + 罗4 之一 、,、7 其中a i ,i = 1 1 0 是量化后的线性预测系数,处理每帧时,都要先加一个 3 0 m s 的不对称窗,对加窗后的语音信号计算其自相关函数,再利用自相关函数 进行短时预测,或称为线性预测分析。每8 0 个样点对加窗后的语音数据计算一 次自相关函数,并用林文孙( l e v i n s o n ) 算法将自相关函数转化为线性预测系数。 为了便于进行插值和量化,再把线性预测系数转化为线性线谱对。插值后量化和 未被量化的滤波器系数又被转化为线性预测系数来为每一子帧建立合成加权滤 g 7 2 9 的优化研究及其应用 忡,= 一a ( z r1 ) = 舞筹 引 由变量y 1 和7 2 来确定滤波器w ( z ) 的频率响应,所以适当调整这两个变量的 值可以使感知加权获得更为有效的效果,这可以通过将7 1 和厂z 作为输入信号谱 子7 1 _ 0 9 4 ,厂2 = 0 6 ;如果频谱形状分类为倾斜( f l 删) ,贝l j y l = 0 9 8 而7 2 的 强共振,则厂z 的值靠近上耐钔。这种自适应,对于现行子帧是基于两个相邻线谱 d , , , i ,l = - _ m i n c o 计i - 彩i 】 i = l 9 用线性内插计算7 2 的值: y 2 0 6 d m i n + 1 00 4 = o 8 5 r ( t 叩) r c t o p ) - = r ( t 3 ) t 0 p - - t 3 e n d 6 脉冲响应的计算 加权合成滤波器w ( z ) l a ( z ) 的脉冲响应 例,对于搜索自适应码书和固定码 书都是需要的。每一个子帧都要计算脉冲响应磊例它可以由滤波器a ( z r d 的 系数补零以后,再通过两个滤波器l l a ( z ) 和1 a ( z l y 2 ) 的滤波而得到。 7 目标信号的计算 自适应码书搜索用的目标信号x ( r 1 ) ,通常是从加权语音信号s o ( n ) 中,扣去 加权合成滤波器w ( z ) a ( z ) = 彳0 刀) 【彳( z ) 彳( z r 2 ) 】的零输入响应得到。这是在 子帧的基础上计算的。 8 自适应码书搜索 自适应码书参量( 或音调参量) 就是延迟和增益。在自适应码书的研究中,为 了能实现音调滤波器,对小于子帧长度的延迟,激励信号在一个子帧长度内不断 重复。在搜索阶段,激励是用线性预测残差扩展以简化闭环搜索。每一子帧( 5 m s ) 作一次自适应码书搜索。 在第一子帧中,延迟范围在 1 9 3 3 ,8 4 6 6 中,使用分辨度为1 3 的分数音 调延迟t l ,而延迟范围在 8 5 ,1 4 3 中,只使用整数音调延迟。 对于第二个子帧,分辨度为1 3 的延迟t 2 只在范围 i n t t 1 一5 6 6 ,i n t t 1 + 4 6 6 中使用,这里i n t ( t 1 ) 是指第一子帧分数音调延 迟t 1 的整数部分。 用闭环音调分析的最小化的加权均方误差来决定每一子帧的最佳延时。第一 子帧的基音延迟t l 的搜索是在开环基音延时t 印附近一个小范围( 6 个样点) 内进 行的。闭环音调搜索的准则是使原始语音和重建语音之间的均方误差最小化。 ( 1 ) 自适应码书矢量的产生 只要音调延迟已经确定,自适应码书矢量v ( n ) ,可以用过去的激励信号u ( n ) 在给定的整数延迟k 和分数t 作内插计算 g 7 2 9 的优化研究及其应用 99 v ( n ) = z u ( n - k + i ) b 3 0 ( f + 3 f ) + “( 以一七+ l + f ) k ( 3 一f + 3 f ) i - - oi - - 0 n = 0 3 9 ,t - - 0 ,l ,2( 式2 - 7 ) 内插滤波器b 3 0 是建立在加海明窗的s i n e 函数的基础上,在2 9 处截断, 并在3 0 处填充零( b 。( 3 0 ) = 0 ) 。这个滤波器在过采样域的截止频率为3 6 0 0 h z 。 ( 2 ) 自适应码书延时码字的计算 第一子帧的音调延迟t 1 用8 b i t 编码,第二子帧的相对延迟用5 b i t 编码。 分数延迟t 分别用它的整数部分i n t ( t ) 和分数部分f r a c 3 ( f r a c = - 1 ,0 ,1 ) 来表 示。则音调指针p 1 按如下编码: 尸1 = 盛器一) - 1 9)+1)+fraeint(85 9 7 。1i fi 诌可8 6 警4 8 5 3 躲f r a c c _ = o 卜1 0 u ( 式2 - 8 ) 上工一l - (瓦) 一) + l五= 【 l , 、。7 音调延迟t 2 的值是相对于t 1 的值编码,使用和前面同样的说明,分数延迟 t 2 也是用整数部分i n t ( t 2 ) 和分数部分f r a c 3 ( f r a c = - i ,0 ,1 ) 来表示,编码表 示为p 2 : p 2 = 3 ( i n t ( t 2 ) - - t m 曲十f i a c + 2( 式2 - 9 ) 这里的t - i n 是由t - 推出的。 针对传输中的码流错误,为了构建一个更顽健的编码器,可以在第一子帧的 延迟指针p 1 上,加入一个奇偶校验位p 0 。这个奇偶校验位是在p l 的6 个最高 位上,通过异或操作产生的。在解码器中这个奇偶校验位要重新计算,如果重新 计算的值和发送的不一致,则要加上一个错误遮盖程序。 ( 3 ) 自适应码书增益的计算 只要目道厦俏书的晋调延迟确定 r , 3 9 x ( 刀) y ( 刀) gp = 尚 一 y ( ,1 ) j ,( ,1 ) 则其增益昂可以由下式计算: 这里x ( n ) 是目标信号,y ( n ) 是滤波后的自适应码书矢量( 即w ( z ) a ( z ) 对“n ) 的零状态响应) ,这个矢量是由v ( n ) 和h ( n ) 的卷积得到的。 - i l y ( 船) = :v ( i ) h ( n - i ) n = o 3 9 ( 式2 1 1 ) 面 9 固定码书的结构和搜索 固定码书在代数码书结构的基础上,使用插入零的单脉冲替换设计。在这个 ( 3 7 2 9 的优化研究及其应用 码书里,每一个码矢量包含有四个非零脉冲,每个脉冲的幅度只能为+ 1 或一l , 而且其位置是按照表2 - 3 中的规定固定的。 表2 - 3 固定码书的结构 脉冲符号位置 l os o :1m o051 01 52 02 53 03 5 l ls l :4 - 1m i161 11 62 12 63 13 6 1 2s 2 :1m e 271 21 72 22 73 23 7 1 3s 3 :1m 3381 31 82 32 83 33 8 491 41 92 42 93 43 9 码书矢量啪) 由4 0 维零矢量在4 个位置放上4 个单位脉冲并乘以对应的符 号构成: e ( n ) = s o6 ( n - m o ) + s l8 ( 1 1 - m 1 ) + s 25 ( 1 1 - m 2 ) + s 35 ( n m 3 ) n = 0 ,1 3 9( 式2 1 2 ) 这里的5 ( 0 ) 是单位脉冲。 对于小于4 0 的延迟,码书矢量式可修正如下: c ( 刀) = 三 :;+ c ( 忍一r ) n n :- - 0 t t 3 9 - 1 c 2 - 1 3 , 在固定码书的搜索中,这个修正和脉冲响应的修正结合到一起,而脉冲响应 按下式修正。 办( 刀) = 2 :;+ ( 玎一r ) n = o t - l n = t 3 9( 式2 - 1 4 ) ( 1 ) 固定码书搜索过程 用加权输入语音和加权重构语音之间的均方误差最小化准则来搜索固定码 书中的码矢。在闭环音调搜索中使用的目标信号,通过减去自适应码书的贡献进 行修正,即: g 7 2 9 的优化研究及j 应用 x ( n ) = x ( n ) 一g p y ( n ) n = 0 3 9 ( 式2 15 ) 式中昂是自适应码书增益。 定义矩阵h 为下三角托普列兹( t o e p l i t z ) 卷积矩阵,主对角线元素依次为 h ( o ) ,h ( 1 ) h ( 3 9 ) 。 矩阵中= h 1 h ,对这个矩阵的元素由下式给出: 旦 矽( f ,_ ,) = | i i ( 万一i ) h ( n 一) i = o 3 9 ,j 2 0 3 9 ( 式2 1 6 ) 詹= j 目标信号x ( n ) 与脉冲响应h ( r 1 ) 的卷积得到相关信号d ( n ) : d ( 栉) = ( o h ( i - n ) n = o 3 9 ( 式2 1 7 ) l - - n 如果c k 是指针为k 的固定码书矢量,则使下式最大的码书矢量即为固定码书 所搜索的目标: 堡: e 3 9 ( d ( 刀) g ( 以) 2 ) f = 可矿 ( 式2 - 1 8 ) 这里的t 表示矩阵的转置。 ( 2 ) 固定码书的码字计算 脉冲i o 、i l 、i 2 的位置每个用3 b i t 编码,而脉冲i 3 的位置用4 b i t 编码,每个 脉冲幅度( 实际上是符号) 用l b i t 编码,这4 个脉冲总共用了1 7 b i t 。如果符号为正, 则定义s = l ;如果符号为负,则s = 0 。码字的符号从下式得到: s = s o + 2 s l + 4 s 2 + 8 s 3( 式2 - 19 ) 而固定码书的码字由下式得到: c = ( 孚) + 8 ( 争+ 6 4 ( 予) + 5 1 2 ( 2 ( 孚) q - j x ) ( 式2 2 0 ) 这里如果m 3 = 3 ,8 3 8 则j x = 0 :如果m s = 4 ,9 3 9 则j x = 1 。 1 0 增益的量化 自适应码书增益( 音调增益) 和固定码书增益是用7 b i t 的矢量量化的。用原 始语音和重构语音之间的加权均方误差最小原则来搜索增益码书。 e = x r x + 9 2 p y r y + g ;z r z - 2 9 p z r y - 2 9 , x r z + 2 9 p g , y r z( 式2 21 ) 这里的x 是目标矢量,y 是自适应码书矢量,z 是固定码书矢量与h ( n ) 的卷积: z o o = c ( i ) h ( n nn = o 3 9 ( 式2 2 2 ) 用两级共扼结构码书矢量量化自适应码书增益昂和y 因子。第一级包含了 g 7 2 9 的优化研究及其应用 3 b i t 两维码书g a ,而第二级包含了4 b i t 两维码书g b 。在每一个码书中的第一 个元素表示量化的自适应码书增益g 。,而第二个元素表示量化的固定码书增益 校正因子厂。对于g a 和g b 分别给出码书指针g a 和g b ,那么量化自适应码书 增益为: a g 。= g l ( g 口) + g b l ( g b )( 式2 - 2 3 ) 而量化的固定码书增益为: g 。= g 。y ( g a 2 ( g a ) + g b z ( g b ) )( 式2 - 2 4 ) 这里,g a l 、g a 2 、g b i 和g b 2 中的下标是维号。 1 1 更新存储器 在下一子帧计算目标信号时,合成和加权滤波器的状态需要修改。两个增益 被量化后,当前子帧的激励信号u ( n ) 由下式给出: ( 刀) = g p1 ,( 疗) + g 。c ( n ) n = o 3 0 ( 式2 2 5 ) 这里,g p 和g c 是量化后的自适应码书和固定码书增益,v ( n ) 是自适应码书矢 量( 加上前一子帧的激励) ,“n ) 包含谐波增强的固定码书矢量,用滤波信号r ( n ) 一u ( n ) 修改滤波器状态,r ( n ) - u ( n ) ( 残差与激励之差) 通过滤波器1 钺力和 彳( z 乃) 彳( z 托) 计算4 0 个样点的子帧并存储滤波器的状态,这样要求三个滤波 操作。有一个简单的办法,仅用一个滤波器操作,由激励信号通过1 饿z ) 滤波得 到重构语音s ( n ) ,由于输入r ( n ) - u ( n ) 滤波器的输出等价于e ( n ) = s ( n ) - s ( n ) ,这样合 成滤波器1 a ( z ) 的状态由如) 来修改其状态。而( n ) 又可由下式来计算: e w ( 刀) = x ( 以) 一g py ( 刀) 一g 。z ( 以) ( 式2 - 2 6 ) 由于x ( n ) 、) ,( n ) 和z ( n ) 是可以直接利用的,加权滤波器的状态修改由上式的 “n ) ( n = 0 ,3 9 ) 进行,这样即可节约两个滤波器的操作。 2 4g 7 2 9 解码器原理 1 概述 解码是编码的逆过程,其原理图如图2 - 2 所示。 首先从接收到的比特流中解出参数索引。用这些参数来获得相应于一帧的编 码器参数。这些参数包括线谱对系数,两个分数基音延迟,两个固定码书矢量, 两套自适应码书与固定码书增益。对每一个子帧,将线谱对系数进行插值并将其 g 7 2 9 的优化研究及其应用 图2 - 2g 7 2 9 译码原理 转化为线性预测滤波器的参数。然后,每一个子帧进行下列操作: ( 1 ) 自适应码书和固定码书矢量分别乘以它们的增益,相加后得到激励信号; ( 2 ) 将激励信号通过线性预测合成滤波器就得到了重建语音; ( 3 ) 重建语音要经过一个后处理阶段。该阶段包括一个长时和短时合成滤波 器的后滤波器,接着通过一个高通滤波器和幅度加倍操作来改善音质。 2 解码过程 ( 1 ) l p 滤波器参数编码 接收到的线谱对量化索引l o 、l 、l :和l 3 ,重构l s p 系数( 己在编码部分说明) , 把每子帧的l s p 系数转化为l p 滤波器系数a t ,以子帧为单位重构语音。每一子 帧重复以下步骤: ( 2 ) 奇偶校验位的计算 在重构激励信号之前,由收到的p 1 的前6 位做异或操作,如果结果和p 0 相 同,则认为接收正确,否则认为接收发生错误,此时,第一子帧的基音周期的整 数部分i n t ( t i ) 和t 1 的分数部分是由p 1 按照下面的方法得到的: i fp 1 r 足 满足上式的数据帧即为话音帧,反之,为噪声。其中珈是指短时自相关函数 阀值。其值可由最初的2 0 帧计算得到,一般认为通话开始的最初的2 0 帧是没有 语音的。计算公式如式3 - 6 所示: 刀一寺丢。趴 t 舳6 , 由于噪声不具有什么相关性,即使背景噪声能量出现了较大变化,其短时自 相关函数的变化依然不大,所以判断可以采用固定阀值的方式 2 短时平均过零率检测 语音信号是宽带信号,应用短时平均过零率s a z c r ( s h o r t t i m e a v e r a g ez e r o c r o s s i n gr a t e ) 的表示方法可以得到语音信号谱特性的粗略估计。因为浊音语音 能量约集中在3 k h z 以下,而清音语音的多数能量是出现在较高的频率上,高频 率具有较高的过零率,而低频率则较低,所以一般认为过零率高的语音信号是清 音信号,过零率低的是浊音信号。大量的实验数据说明,清音的短时平均过零率 均值为4 7 次1 0 m s ,浊音的短时平均过零率为1 4 次1 0 m s 。用短时过零率算法 检测时,通常是通过计算每帧信号的过零率z ( n ) 再将它与设定的阀值牡相比较。 sg n x 】= ! 1 譬 ( 式3 - 7 ) 一i z ( 力) = ls g n x ( i ) 卜s g n x ( i 1 ) 】i ( 式3 - 8 ) g 7 2 9 的优化研究及其应用 阀值r ”同样是利用最初的2 0 帧来计算得到的。 = 六喜。z c 以, c 式, 3 短时平均幅度差函数 短时自相关函数是语音时域分析的一个非常重要的参数,但是其运算量很 大,对硬件要求也较高。而短时平均幅度差函数s t a m d f ( s h o r t t i m e a v e r a g e m a g n i t u d ed i f f e r e n c ef u n c t i o n ) 与自相关函数有相似的作用,例如判断清音段和 浊音段,但是运算量和对硬件的要求可以降低很多。短时平均幅度差函数定义如 下: f 一( 七) = i 1 ix ( 甩+ 历) 缈l ( 聊) 一x ( n + m + k ) c 0 2 ( 所+ 七) i ( 式3 - 1 0 ) 上,开一 ,一 式中,r = l x ( n ) l 是信号x ( 万) 的平均值。这里使用矩形窗作为窗函数,两个 窗的长度不同,这样式3 1 0 可以简化为: r ( 炉去萎,1 ) - - x ( 肼k ) l k = 0 ,1 ”n - l ( 式) , 0 上、= 、,、, 由于短时平均幅度差函数只需要加、减法和取绝对值的运算,硬件实现较为简单。 使用短时平均幅度差函数进行静音检测的判断过程如下: ,一( k ) r f 班判断阀值,同样由最初的2 0 帧得到: 叩,。百1 2 0 f 。( k ) 叩h 百台l h 【k ) ( 式3 - 1 2 ) 由于短时平均幅度差函数与自相关函数类似,随噪声能量变化发生改变不 大,所以可以采用固定阀值的方法进行检测。 4 二级静音检测算法 短时自相关函数检测算法性能较好,但计算复杂度较大,而短时平均幅度差 函数不仅可以达到与短时自相关函数相近的检测效果,而且计算要简单许多,所 以选择短时平均幅度差函数作为第一级检测算法。短时平均过零率算法能非常有 效地区分清浊音且计算非常简单,所以选择其为第二级检测算法。但由于短时平 均过零率算法在清音和噪音的过零率接近时不能很好地运作,所以在无法区分有 效语音和噪音的情况下应当采用短时自相关函数进行检测以提高检测正确率。 本文提出的二级静音检测算法流程如图3 - 2 所示: g 7 2 9 的优化研究及其戍用 i 一级捡测采用短时 l 平均幅度差函数 困 图3 - 2 二级静音检测算法流程图 3 2m a t l a b 的仿真 m a t l a b 是矩阵实验室之意。除具备卓越的数值计算能力外,它还提供了专 业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。m a t l a b 的 基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故 用m a t l a b 来解算问题要比用c 、f o r t r a n 等语言完成相同的事情简捷得多。应 用m a t l a b s 工m u l i n k 的计算机仿真具有经济、安全、可靠、编程简易以及调试周 期短等特点。 3 。2 。l 仿真平台的搭建 g 7 2 9 编解码器包括一个编码器和一个解码器。在编码器中,计算了短时合 成滤波器系数、长时基音预测滤波器系数和激励信号。每个子帧的合成滤波器系 数用l p 分析及对l s p 系数的量化和插值得到。基音预测器延迟和基音增益参数 由对l p c 残差信号进行开环基音分析得到。固定码书脉冲的位置和符号以及固定 码书的增益由对基音预测残差信号进行搜索得到。在解码器中,实现了基音合成、 ”合成、后置滤波处理及生成重建语音文件等操作。 整个编码过程采用模块化设计方案,总体可分为三个模块:( 1 ) 初始化模块: 用来定义全局变量和给全局变量赋初值( i n i t m ) ;( 2 ) 控制模块l 用来控制编码流 程,其中包括总的编解码流程控制( m a i n m ) ,编码流程控制( e n e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论