高效率多通道语音记录系统的研制

2006-05-07 15:50:02来源: 电子技术应用

   摘 要: 介绍一种采用一片TMS320C542实现4路电话压缩的话音处理卡,对处理卡硬件结构和RPE-LTP算法及DSP实现作了叙述,最后提出一种基于该处理卡的语音记录系统的构想。

    关键词: 语音记录器 语音编解码 数字信号处理器(DSP)规则脉冲激励-长时线性预测(RPE-LEP) ADPCM算法

    多通道的语音记录和回放系统有着广泛的应用背景,主要应用在语音记录、话音档案、数字语音存储等领域。随着计算机性价比不断提高和应用的普及,由计算机管理的语音系统越来越受到重视。

    传统的多通道语音记录系统,过去由于受到DSP运算能力和价格的限制,一般采用ITU-G.726建议书提出的ADPCM作为压缩语音的算法。该算法运算量少,最低码率为16kb/s,但低码率时语言质量较差。近年来DSP的性价比不断提高,这使性能更好的语音压缩算法可以应用于多路语音压缩系统。本项目采用了美国德州仪器(TI)的DSP芯片TMS320C542PGE-40,完成了在GSM系统中使用的规则脉冲激励-长时线性预测(RPE-LTP)算法,实现了高效率的多通道语音记录系统。

    本系统具有面向应用的配置和灵活的扩展接口。由配置的不同,系统可支持4~8路话音处理。系统采用ISA总线与PC机接口。为了加强业务扩展能力,卡上保留一个外部接口,可用于功能扩展。在无扩展部分时支持4路话音处理。

    t1.gif (10776 字节)1 硬件结构

    硬件框图如图1所示。系统硬件包括’C542、扩展RAM、ISA总线接口、模拟接口、扩展接口(虚线框中部分)五大部分。其中,模拟接口(ADC)为TMS320AC01,扩展RAM为TC55B8016,两者都是TI的产品。FIFO为IDT公司的IDT7201。

    ’C542是系统的核心部件,它的功能是进行底层硬件的管理和语音数据的压缩。’C542是TI公司于1995年推出的面向移动通信的新一代产品。它采用改进的哈佛体系结构,集成了许多并行处理单元,使它特别适合完成高复杂度的算法。本系统采用的’C542具有40MIPS的运算能力。’C542还具有几种高效的片内外设:1个64K×16的并口,2个同步串口,1个8位的主机接口(HPI)和1个定时器。它能响应5个中断,具有总线挂起功能。’C542丰富的片内外设极大地减省了片外电路。

    模拟接口由以主从方式级连在一起的四个’AC01组成,这四个ADC挂接在’C542的串口0上,如图2所示。因为四路输入电路相同故只完整画出一路。此时’C542的同步串口工作在触发模式,即:数据的传输由’AC01主动触发。四个’AC01通过FSD信号(类似于接力棒)以时分复用方式与串口通信。首先,主’AC01发出帧同步脉冲,传输一个采样点。串行传完16位信息后,主’AC01通过FSD信号通知第一个从’AC01开始传数,同时触发帧同步。第一个从’AC01传完一个样值后通知第二个从’AC01,依此类推。待四个ADC都传完第一个样值后再在由主’AC01传输第二个样值,如此循环。在传入’C542的16位信息中,高14位是2进制补码形式的样值。低2位为00时表示该值是由主’AC01传入,为01表示该值是由从’AC01传入。DSP程序根据这一点区分各路语音数据。由图2可见’C542串口的收、发帧同步信号(FSR、FSX)被接在一起,所以,’C542在收到一个数据的同时也向当时发数的’AC01发出一个数据。’AC01将收到的数据通过它的DA部分转变成模拟量。

    ’AC01前端的电路为输入整形电路。Vi首先经过一个低通滤波器,然后通过电压跟随器被运算电路分解成两个差分分量in+,in-。其中in+=Vm+Vi/2;in-=Vm-Vi/2。’AC01工作在+5V,Vm是它提供的中值电压:Vm=2.5V。在输入前端Vi已被限制在±5V的范围。

    在整个系统中,PC作为数据存储器和人机交换信息窗口,它的作用是存储数据和管理整个插卡运行,在系统的初始化阶段PC机还要为DSP装载程序。PC与’C542的接口部分由ISA总线和’C542的主机接口HPI组成。HPI是’C542的片内外设,它为’C542内部的一段2K字的RAM提供一个窗口,主机通过此窗口可以直接访问这段RAM。可见,这段2K字RAM的作用就相当于传统片外片扩展的双口RAM。因为HPI的RAM在DSP片内,所以它能提供更高的读写效率。同时主机接口作为一个’C542的部件,它还能用来中断主机和接受主机中断,’C542还有HPI的bootload方式。在本系统中,主机首先用’C542的HPI bootload方式将程序载入’C542中,并让它运行,然后再以HPI RAM中的160字作为缓冲区来与’C542交换数据。

    有了上面三个基本部分,本系统已经具备了同时记录和播放4路语音的能力。我们注意到,此时’C542的潜力还没有得到充分的发挥。实际上,4路GSM编解码(这种情况不常用)仅用掉约20MIPS的运算能力,为其运算能力的一半。另外,并口、串口1、定时器等片内外设都没有使用。图1的虚框内的部分用来扩展这部分资源。

    扩展RAM是16K字的SRAM。它直接挂在’C542的地址、数据总线上,可以实现0等待周期读写。扩展接口是板外电路访问板上资源(包括并口、串口1、定时器、中断等)的途径。利用这两个部件可以进一步提高本卡处理语音的能力;它能同时压缩8路语音,或者它还能完成数据搬移、转储、分析等功能。

    2 RPL-LTP算法

    我们采用的语音编码算法是RPE-LTP法,具体算法在ETSI-G.06.10中规定。它要求的采样率为8kHz,采样精度为13位,算法的原始码率为104kb/s,编码码率是13kb/s,MOS分为3.6,编解码延迟为。这种算法与传统的多路语音记录系统所采用的ADPCM算法相比具有非常良好的语音回放质量。在ITU-G.726,ADPCM算法当码率为32kb/s时MOS分为4;当码率为24kb/s时MOS分为3.2;当码率为16kb/s时MOS分仅为2。相应地这种算法较ADPCM算法复杂,它是一种混合编码:它既利用了语音信号的相关性进行参数编码,又利用了激励源信号的幅度特性进行波形编码。另外,还利用人耳的听觉特性,进一步消除语音信号中的主观冗余度。在我们的实现中,其运算复杂度为4.7M,IPS(编解码),所用程序、数据存储空间分别为2K和1.2K。单纯地从运算能力上看,单片’C542可以压缩近8路语音。因此可以预测,在多路语音记录系统设计中,随着DSP性价比的不断提高,一些码率低、语音质量好的压缩算法将逐渐取代ADPCM算法。

    t3.gif (9449 字节)RPE-LTP算法的流程如图3。

    3 软件设计

    软件部分包括DSP编程和PC编程。DSP编程的主要任务是初始化、管理板上的资源和完成语音编解码算法。PC编程则重点在管理DSP操作和应用层软件编写。DSP与PC之间的软件接口则是一套自定义的“通信协议”。

    DSP程序首先初始化’C542和模拟接口,使四个’AC01按照时分复用的方式传输四路语音的样值。在一帧语音20ms之后的中断中,服务程序首先将4路语音数据分开,分别存入四个缓冲区,然后调用编码程序依次编码。编码程序为每路语音数据保留一个缓冲区,用来保存其中间结果以备下一帧使用。编码完成后程序将压缩码流写入HOI   RAM中,同时中断主机,主机读出码流后存储。解码过程相对简单,主机按帧将码流写入HPI RAM,’C542解码后放入输出缓冲区,同步串口依次将该帧的数据以采样率速度传给’AC01回放。待一帧传完后,’C542的中断服务程序通知主机传输下一帧码流。

    系统中多路语音的有无是随机的,因此在压缩算法之前加入了话音的存在性检测单元。可有两种选择,一种是手工方式,即程序检查一个硬件状态位,它是在人工干预下触发(如摘机);另一种方式是利用程序进行话音的活性检测,它利用语音区别于噪声的性质检测语音的存在性。具体算法在ETSI-G.06.32中规定。在每帧的样值和码流的头部标识出该帧是否存在。

    PC方的编程则包括DSP接口部分和应用层编程部分。在PC程序的开始,与DSP接口部分的程序先调用初始化函数将DSP程序下载到DSP中。由于HPI RAM只有2k字而DSP程序大于2k字。所以初始化程序须首先在DSP中载入一个很小的自举程序,然后通过自举程序一段一段地把全部程序载入DSP。初始化完成后,与DSP接口部分程序再按自定义的“通信协议”在指定位置读出DSP处理结果帧或DSP的请求帧,并将它交给上一层(应用程序)处理。应用程序亦通过与DSP接口部分程序向DSP发出各种命令。

    上层应用程序是用户使用系统的界面,它提供语音数据库管理和系统管理两项功能。语音数据库管理包括语音的录入、分类、监听、回放等。由于硬盘空间有限,语音数据库还要定期备份、清理。这部分功能是系统的重点,它应能使用户以最便捷的方式管理信息。系统管理则包括设置、读取系统状态。它的目标是让用户能有效地控制系统的操作,及时获得系统的运行状态。

    t4.gif (7495 字节)4 基于本处理卡的话音记录系统

    在某些关键岗位,如厂矿的指挥室、远洋轮船的指挥室、音讯服务台,为了跟踪事故和提高工作人员的责任感,利用本卡可以对其话音进行记录。利用卡中’C542的剩余处理能力可以提供诸如说话人识别、数据分析等功能。另外,利用该卡的扩展接口还可以完成数据搬移的功能,如将远洋轮船或战地指挥部的全球定位数据(GPS)存入微机,以供处理。

    图4是一个实用的处理卡。该卡可以同时记录四路电话信息和拨入、拨出的电话号码。FIFO是回放话音时的缓冲区。同时利用RS232电路把本机信息传出或接受串行信号。

    综上所述,本处理卡是建立在PC机上的一个语音记录、管理系统。系统设计中采用了模块化的方式,用户可根据需要制定系统。由于DSP程序由主机下载,系统容易升级和增加功能。因次,它具有广泛的应用前景。

   




编辑: 引用地址:http://www.eeworld.com.cn/designarticles/dsp/200605/2803.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved