论文部分内容阅读
语音编码在通信系统中是至关重要的一环,如何实现在较低编码率情况下获取高质量的语音是语音编码领域研究的热点。传统的通信系统采用的是专用的数字信号处理器(DSP)来负责语音的编解码操作,然而随着集成电路的快速发展,ARM微处理器的运算能力越来越强,每秒钟可以执行百万条指令,这就能够用它来处理数字信号。与DSP相比,它具有低功耗、低成本优势,从而被越来越多的应用于数字信号的处理。本课题主要研究的内容是如何在ARM平台上实现语音信号的实时编解码处理。对语音信号的编码操作是通过G.729A算法来完成的,它具有编码率较低、合成语音质量较高、延时较短等优点。同时由于它的算法复杂度较高、代码量较大,使得将标准的G.729A源代码直接应用于ARM平台上是行不通的。因此,需要对G.729A标准源程序进行代码上与算法上的优化。该怎样优化关系着G.729A能否在ARM平台上成功运行。为完成本系统的设计,需要搭建硬件开发平台。其中主处理器使用的是三星的S3C2440A芯片,它是一款高性能、低功耗、低成本的微处理器。音频处理器使用的是飞利浦的UDA1341TS芯片,以便简化系统的设计。它们之间是通过IIS接口总线,采用DMA方式来传输数据。本文首先介绍了语音编码的一些相关理论,如语音信号是如何产生的、编码过程中常采用的数字分析技术、编码过程中采用的矢量量化技术等。随后对G.729A的编解码原理作了详细分析,为读懂G.729A标准源程序提供理论基础。接下来对硬件平台所用到的S3C2440A与UDA1341TS芯片做了结构功能分析,在此基础上完成硬件电路的设计。之后基于已搭建的硬件平台完成软件的设计,主要包括主程序设计、音频模块驱动程序设计、G.729A标准源代码的深入分析。最后,根据ARM平台的特点对G.729A做了一系列的优化工作,包括C语言级优化、汇编级优化、算法级优化。优化完后对输入语音进行测试,以比较优化前后的编码效率和语音质量。测试结果表明,对G.729A采取的这些优化措施能够基本满足本系统对语音信号的实时编解码操作。