穆宏慧
摘要:企业的发展离不开高效准确的信息资源,通常企业会通过召开会议获取信息、取得正确的意见。传统会议在时间与地域上的局限性,严重影响了企业决策的效率。电话会议系统的出现很好地解决了传统会议的缺点。该文用DSP代替传统的交换机实现了可以选择通话模式的电话会议系统。该文详细介绍了电话会议系统的基本原理,并提出了两种会议模式下的语音算法:混音算法和比较算法。实现了高效、便捷、灵活方便的电话会议。
关键词:电话会议系统;DSP;系统信箱;衰减因子;逐位比较法
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)01-0049-05
1电话会议系统的总体结构
电话会议系统的出现极大地提高了企业的工作效率,改善了企业的管理,提升了企业的竞争力。目前,市场上实现电话会议系统的方案较多,归纳起来基本属于以下两种方案:基于交换平台的交换机方案和基于语音卡的CTI(计算机通信接口)方案[1]。
电话会议系统的总体框图如图1所示。与会用户的话音信号经过终端设备进行处理后变成8 bit A律PCM话音数据传送到数据交换网,数据交换网将由用户传来的多个输入话音通道叠加到一条或几条PCM链路上进行输出,一般情况下,每32个用户可以分配一条PCM链路。叠加后的输入话音由DSP的多通道串口McBSP传输到DSP内部处理。DSP通过主机接口(HPI)以共享信箱方式与MC68000主处理器进行通信,完成主处理器对DSP的命令传递和实时监控。
电源模块提供系统所需的两种电压:3.3V、2.5V,同时提供足够的负载电流。时钟电路提供系统所需要的时钟,DSP芯片内部的PLL锁相环电路产生系统工作时所需的高频信号。扩展的FLASH芯片在系统中保存程序代码,同时还可以在线擦除、写入,使得系统软件编程变得十分容易。芯片的掉电保护作用,可以保证系统代码的完整性和安全性。系统的所有控制逻辑由控制逻辑模块完成[2]。
2电话会议系统的基本原理
电话会议系统可以实现参加会议的用户之间没有障碍的交流,在现有的电话会议系统中,大多采用混音算法,但随着需要合成的语音信道数量的增加,采样量化数据叠加后会超出量化上限而引入噪声。比较算法的出现有效地避免了混音算法溢出的缺点,但是当与会人数较少或进行激烈的讨论时,同时发言的与会方不断在最大方、次大方、旁听中切换,必将导致无论哪一方的发言都听不清楚。
针对以上所讨论的两种方法的优缺点,本文则有针对性地提出一种可以在两种模式之间自由选择的方案。基本原理如下:以实现32方通话为例,首先在DSP中开辟一个系统信箱,用于存放DSP与主机的握手信号及主机对DSP的控制字K,K=1表示对所有与会通道进行混音处理,K≠1表示对所有与会通道进行比较处理。DSP根据主机的要求对数据进行处理,用户既可以听到所有与会人员的话音,也可以听到一路用户话音。
DSP数据接收流程如图2所示。
系统初始化DSP及其串口后,ST-BUS链路通过数据接口电路将数据送给McBSP,McBSP的接收端口收到8bit A律PCM话音数据后,将其转换为13 bit线性码。TMS320VC5410对片上RAM按16 bit访问,需将线性码左端补上3 bit 0送给接收寄存器DRR1。转换完成后的线性码,传送给DMA控制器,接收DMA控制器立即将此16 bit数据按照其对应的地址写入接收缓冲区DRR BUF中。
DMA接收完第N帧话音数据后向CPU发送中断。DSP读取命令信箱,在第N+1帧的期间,CPU依据电话会议中与会用户所对应的时隙号,将会议中所包含的语音数据提取出来。根据控制字K,对所有成员的话音进行叠加或比大(得到最大及次大)处理。处理后的数据写入第N+2帧与会用户对应的发送数据缓冲区的地址内。语音数据的发送采用与接收相同的方法。图3为电话会议的DSP数据处理流程图。
图5比较法电话会议的示意图
电话会议要求在每一帧所产生的DMA中断服务程序中必须完成对所有与会用户的话音处理。因为TMS320VC5410的运算速度为100MIPS,因此该DSP一个指令周期的时间为10ns,在ST-BUS一帧125μs内可处理的指令数为125μs 10ns=12500条。
因此,需要找到一种运算速度最快,且占用内存最小的方法来实现与会用户的话音比较,本文在常用排序算法的研究的基础上提出了一种改进的排序算法:逐位比较法。其思想为:当记录的关键字是正整数时,从关键字的二进制高位到低位,依次取出每个关键字相对应的一位二进制数进行两两比较,然后根据比较位是‘1或‘0将其分别放在对应的子表中,按同样的方法对子表中的关键字进行比较,直到关键字的最低二进制位将所有记录排序完毕。
逐位比较法是由位排序演变过来的,由于位运算和位比较的速度较快,排序时间主要花费在记录的交换上。而在本系统采用的逐位比较算法中,只需要找到幅值最大的数据及次大的数据。因此不需要对记录进行交换,因此按位比较法的速度很快,满足电话会议系统的要求。
3.3电话会议系统的算法实现流程
图6为本系统的算法流程图。
图8为4路语音信号的混音波形图,从图中可以看出,由于混音音源中有两路女生的话音幅度较大,因此混音后输出的话音幅度发生了较为严重的溢出,如A、B、C三处所示。混音效果很不好,噪音很大,基本上很难听清楚话音内容。图8四路语音信号的混音波形图
图9为用不同方式对4路语音信号进行混音处理后的话音波形图:
由图9(a)可以看出,箝位算法在最大和最小临界值处生硬的切了一刀,混音后的声音引入了较大的噪音。图9(b)为用平均值处理后的结果。该算法解决了混音后声音幅度的溢出问题,但波形的幅度偏小,和混音前一路的波形幅度差不多,混音后的声音较小。图9(c)、(d)是自适应加权算法及本系统算法的处理结果。由图可见A、B、C三处都对溢出的语音信号进行了平滑处理,与自适应加权算法相比,本系统的算法语音溢出点数减少,另外,对溢出处的处理比较平滑,没有跳跃现象出现,整体质量有很大提高。
4.2比较算法及结果分析
为了观察到较好的实验效果,这里只对4段语音信号进行分析,仿真结果同样能够说明多路语音信号的处理结果。图10为4段语音信号用Matlab工具转化成波形文件后的波形图。下图可以很好的表示出话音音量的大小。为了更好的说明仿真结果,这里我们只选取1至1.5秒这段时间内的波形图。图10 4段语音信号的波形图
由图10所示,4段声音文件在不同时间段内声音的大小不同,DSP每隔125μs对4段语音信号的量化编码值进行一次比较。虽然每帧DSP都要对4段语音信号进行比较,但是由于声音的恒定性,在几帧甚至几十帧内,输出的比较结果都是一致的,这样才能清楚地听清楚每个人的讲话。在这里为了对算法进行说明,只采用了短短0.5秒的时间内的声音数据进行比较。
用逐位比较法对4段0.5秒的语音信号进行比较,得到每帧的最大话音及次大话音。图11为0.5秒内的比较结果。图11逐位比较法的输出结果
由图11可见,在1到1.03秒期间,语音4要高于其他3路话音,语音3为次大话音。在这段时间内,DSP将用户3的话音存入用户4所对应的时隙,而将用户4的话音输出给其他3个用户所对应的时隙。而在1.38到1.48这段时间内,语音3的话音幅度一直最大,语音4为次大话音,因此,用户3听到的是用户4的话音,而其他3个与会用户听到的是用户3的声音。
5结论
本文所提出的电话会议系统方案能很好地解决实际应用中的实时性、高效性,系统简单易行且能保证合成分量音频特性的要求。克服了现有电话会议系统存在的缺点和不足,此方案适合中小企业使用的电话会议系统方案。
参考文献:
[1]周楚雯.基于包转发的电话会议技术的研究与实现[D].广州:暨南大学,2006.
[2]马秀红,董晟飞.TMS320VC5410芯片电源及其复位电路设计[DB/OL].中国科技论文在线.
[3]杨震西,丁有志,康东明.基于TMS320VC5410的会议电话的设计与实现[J].电子设计应用,2002(1):52-54.
[4]徐保民,王秀玲.一个改进的混音算法[J].电子与信息学报,2003,25(12):1709-1713.
[5] TMS320C54x DSP Reference Set (Volume2:Mnemonic Instruction Set)[Z].Texas Instruments (SPRU172B),1998.
[6] Texas Instruments Incorporated.TMS320VC54X DSP Algebraic[Z].Texas:Texas Instruments Inc,1998.