用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

用AMBE-1000实现的语音分组技术

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:48:07
【本文由PB创新网为您整理】
摘要:介绍分组语音技术的概念、用途以及用AMBE-1000实现语音分组技术的方法;介绍这一方法在实际工程中应用的个实例,尤其对AMBE-1000的功能及其在实际应用中的价值作了详细的介绍。

    关键词:分组语音 PSTN 电话接口

1 概述

随着信息技术的不断发展和完善,信息的快速传递在生产和生活中显得越来越重要。在各种信息传递方式中,语音的互通占据着重要的位置。最为大家熟知的是以PCM编码方式传送语音的普通电话业务,实时性强、语音质量高,占据着语音通话业务的主体。但近年来随着IP电话的普及和网络技术的发展,另一种语音处理技术越来越为人们所熟悉,那就是语音分组技术。语音分组是指将语音信号转化为一定长度和速率的数字化语音包,采用存储转发的方法并以包的形式进行交换和传输。它随着互联网的普及,尤其是IP电话的普及而得到越来越多应用。但由于互联网不能对传输带宽提供保证,因此,语音包在其传输过程中就会产生延迟、抖动、包丢失等影响语音质量的因素。直到近年来由于低速率编解码算法的出现和软硬件性能的提高,人们才注意到分组语音技术的商业价值,并投入开发力量。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    早期分组语音技术的应用大都采用软件实现。近年来,随着大规模集成电路的飞速发展,硬件价格大幅度下降,从而出现了许多用硬件实现分组语音的产品。硬件具有对数据处理速度快,可处理大量数据的特点,所以使用硬件实现分组语音可以很好地处理延迟、抖动、回声抑制等问题,从而得到良好的音质。采用硬件实现分组语音的另一个优点是:在一个硬件电路中可以实现多种压缩标准的分组语音,能很灵活地适应不同网络环境下的多个语音终端的互通。

本文着重介绍采用一种专用的DSP芯片AMBE-1000实现语音分组的方法,并用这种方法实现了铁路站场中的信号作业电话。由此可以看出,分组语音技术在一些专门领域应用的广阔空间。

2 AMBE-1000简介

AMBE-1000是Digital Voice Systems公司的语音编解码芯片,用来实现双工的语音压缩/解压缩功能,能实现低传输速率下高质量的通话。它采用先进的AMBE压缩算法,压缩速率最低可达2.4Kb/s目前,这种算法以其能实现的低传输速率和高通话质量而在世界范围内得到了广泛应用,甚至用在下一代移动通信系统中。具体来说,AMBE-1000具有如下独特之处:

*低硬件成本和高通话质量;javascript:window.open(this.src);" style="cursor:pointer;"/>

*无需外围辅助设备;

*比特差错和背景噪声良好的鲁棒性;

*可变传输速率2.4Kb/s~9.6Kb/s;

*可自动插入舒适噪声;

*可选的串行和并行接口;

*自带回声抑制功能;

*DTMF信号的检测与产生;

*低功耗。

我们用这个芯片实现语音的分组化。最基本的应用可由图1表示。

在实际应用中,语音压缩数据要在信道中传输,须加入信道接口,完成对语音压缩数据的加工、打包。最常用的接口一般可用单片机来实现。AMBE-1000的设计也使它很容易和单片机交换数据。AMBE-1000和单片机之间的数据接口有串行接口和并行接口,通信方式是主动方式还是被动方式,取决于可采集数据的信号是否由AMBE自身全部给出。我们采用并行数据线接口,AMBE-1000设为被动工作方式。此时当其RX_DI端输入8kHz取样的语音数据(16位线性编码,8位A率或8位U率编码)时,在其数据线上会得到周期性的压缩语音数据(周期20ms,长度6字节,可达到2.4Kb/s的传输速率)。其控制线和数据线时序关系如图2所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    我们在EPR(Encoder Packet Ready)信号置高后,当检测到OBE(Output Buffer Empty)置低时,立即捕捉数据线上的数据,便可得到帧同步码13ECH,进而得到全部的语音数据,参考程序如下:

LOOP:JNB EPR,$

READ:MOV R0,#34

MOV R1,#30H

LL:MOVXA,@DPTR(DPTR:AMBE的地址)

MOV @R1,,A

INC R1

JB OBE,$

DJNZ R0,LL

SJMP LOOP

AMBE-1000作为解码器的写时序与读时序类似,可根据DPE(Decoder Packet Ready)和IBF(Input Buffer Full)信号编写相应程序。

从AMBE-1000输出的语音数据有固定的帧格式,javascript:window.open(this.src);" style="cursor:pointer;"/>每一帧有34字节数据,除去帧头,有24字节语音数据。在20ms周期内,若24字节数据全部被填满,则其传输速率为9.6Kb/s。若设传输速率为2.4Kb/s,则24字节语音数据格式中只有6字节语音数据,其余被0填充。我们用这6字节数据作为一帖,再加上帧头(包括同步码、地址码、类型码、校验码等),便可实现分组语音。

3 应用实例

AMBE-1000读写一帧数据所需的时间远小于20ms。也就是说在20ms时间内,除了读1帧或写1帧数据外,处理器还有大量的时间做其它的事。这使人们有可能在半双工的低速信道内实现全双工的语音通话。图3为以AMBE-1000为核心实现的铁路站场信号作业电话示意图。

图3中,用户线接口及PSTN接口均以AMBE为核心。每一个终端可通过总线的PSTN接口接入PSTN电话网;各个电话终端可通过总线互通,但每一时刻只能有一个终端接入PSTN。终端的硬件构成如图4所示。

由电话接口完成用户话机模拟信号的二、四线转换;由编解码器完成对模拟语音信号的数字化,并进行A率(U率)PCM编码;由AMBE-1000对PCM语音信号压缩并分组,实现分组语音;由单片机对分组语音进行打包,最后送入485总线进行传输。由于是多个终端,在软件中需引入令牌机制,以防止冲突。软件工作流程如图5所示。

结语

就功能来说,AMBE-1000是一款优秀的语音压缩处理器;就其能达到的最低压缩速率来看,已达到了世界先进水平,而且能够保证高质量的通话质量。这使得它在世界范围内得到了广泛应用;但其压缩算法为非标准算法,致使由AMBE-1000构成的语音处理系统只能用在某些专用网上。即使如此,它仍不失为在语音处理领域一款优秀的处理器。



Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:20,328.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号