Home > 电话会议新闻动态 > 技术文档 > 基于DSP的自适应会议电话算法设计与实现

基于DSP的自适应会议电话算法设计与实现

2014/07/14 Tang

摘要:提出了一种基于DSP的自适应会议电话设计方案,该方案在传统会议电话算法的基础上,根据会议参与人数,会议背景等自动调整合成算法。从而使得参会人数较多时的语音效果得到明显改善,提高了语音处理能力,扩展了会议容量。测试表明,这种方案可以满足参与人数多,背景复杂,实时性要求高的交换系统需求。

O 引言

会议电话是电信交换系统的一项重要业务。早期的会议电话大都采用专用芯片来实现,随着DSP技术的进步,采用DSP实现会议电话由于具有容量大,成本低,升级灵活等优点,逐渐成为首选方案。

传统的会议电话算法将一个会议的所有参加者合成,使每一个参加者听到除他本人以外的其他参加者的声音。然而这一算法在使用中存在一些问题,首先,为了避免溢出,合成之前要对所有参加者的话音进行统一衰减。衰减量是根据参加者总数确定的,当参加者很多时衰减量很大。这将导致的问题是:此时如果实际发言者少,合成输出的声音将很小,而实际发言者很多、音量很大时,预先确定的衰减又可能不够,合成输出的声音可能发生饱和失真。所以当会议参加人数较多时声音效果较差,在实际应用中无法满足用户的要求。会议电话算法的另一个问题是容量问题,以大唐电信SP30CN交换机为例,当在同一时刻一个会议的参加者超过45个小时,处理能力问题就会表现出来。因此本文提出了一种自适应会议电话算法,该算法既解决了当会议参加人数较多时效果较差的问题,又通过优化处理流程,从而提高了处理能力,解决了容量问题。

1 基本设计思想
提出的自适应算法,是控制好程序进行合成算法时需要合成的人数。以下将会议中最终需要合成的参加者称为最终输出者。如果将最终输出者的数目控制在确定的范围之内,就能解决溢出和处理量不够问题。

选出最终输出者最直接的方法应该是对每个参加者进行语音识别,判断话音和背景噪音,只对话音进行合成。考虑到语音识别的复杂性,决定从能量角度动态筛选出最终输出者。从能量角度解决问题基于这样一个假设,即话音能量高于背景噪音的能量。这个假设在一般实际环境中是成立的。解决的方法基于这样的原理:对一个会议的所有参加者进行能量计算,最终进行合成的只是能量持续大的几个参加者。

能量计算采用的方法是:对样本值取绝对平均值。程序处理的音源经过8KHz采样,则1ms采集8个样本值。考虑到话音的突变性,短时性,在5—50ms内特性保持较一致,所以对每个参加者保存25ms的能量,以此作为能量判断的依据。根据纪录的能量值,就可以对会议的最终输出者进行更新,更新有两种方式:若一个最终输出者的能量持续一段时间都低于一门限,就判断其暂时不说话了,不再合成该路话音;另一种方式是对最终输出者中能量最小的通道和非最终输出者中能量最大的通道进行跟踪比较,如果这个非最终输出者在持续的一段时间内都比这个最终输出者能量大,则将其替换上去。若比较不成功则将这一对比较对象刷新,找出新的比较对象。通过这两种更新方法,程序设计为任何时候只有最多3个参会者是最终输出者。

2 系统硬件结构
采用TI公司的DSP TMS320VC5402完成128路语音信号的检测,分组与合成。会议电话软件运行于一块TI‘S TMS C5402 DSP之上,如图1所示。

yi

2.1 DSP与主处理器通信【1-2】

本设计采用的主处理器为单片机80C32。主从处理器之间的通信是通过数字信号处理器的HPI
(Host Port Interface)接口,该接口是一个增强型的8位并行接口。TMS320VC5402用8位的方式接收HPI的16位数据,然后合成为16位的数据。单片机可以通过HPI接口访问’5402片内的所有DARAM(16k),单片机和’5402都可以访问’5402片内的存储器,并在它们之间进行信息交互。当它们同时访问同一个内存单元时,单片机的访问优先,而’5402的CPU则需等待一个时钟周期(’5402自己的)。单片机通过 I接口对数字信号处理器进行访问时,都是在使接口控制信号有效的情况下,通过 I的数据线对 IC( I控制寄存器)、HPID( I数据寄存器)、 IA( I地址寄存器)进行读写操作[3J。然后,经由 DMA方式和数字信号处理器的片内存储单元之间进行信息交互。外部主机接口由一个8位的数据总线和用于设置与控制接口的控制信号组成。单片机和’5402之间的接口框图如图2所示。

HCS作为HPI的基本使能输入,和HDS1、信号一起控制 I的数据传输,该内部选通信号对HCNTL0/1、HBIL和HR/W 进行采样。因此,再 、葡丈 、葡5 这三个信号最后出现的是实际控制对HCNTL0/1、HBIL和HR/W 采样的信号,两个控制信号HCNTL0,HCNTL1用于指示访
问哪一个HPI内部寄存器和访问寄存器类型。

er

2.2 DSP与交换网络通信【4-7】

数字信号处理器TMS320V 402和交换网络之间的通信通过数字信号处理器的多通道缓冲串口
完成。具体连线如图3所示,信号说明如表1所示。

san

当接收帧同步信号有效时(在CLKR的下降沿检测帧同步信号),从数据接收管脚进来的串行数据在延时我们所设定的延时时间后,按位移到数据接收移位寄存器RSREL 。当接收到的数据位数达到我们所设置的位数(一个字)时,并且RBR中先前的数据已无效,就在CLKR的上升沿把接收移位寄存器中的数据拷贝到RBR(接收缓冲寄存器)。然后,再从RBR中拷贝到Ⅸ (数据接收寄存器),RBR到DRR的拷贝在下一个时钟的下降沿使RRDY信号有效。这样就通知CPU或DAM控制器可以把DRR中的数据读到数字信号处理器的存贮单元中,当CPU或DMA控制器把数据从DRR中读走后,RRDY信号变为无效。类似地,当发送帧同步信号有效时,数据通过多通道缓冲串口向外发送数据时,CPU或DMA控制器把要发送的数据写入DⅪ (数据发送寄存器),在延时我们所规定的延时时间后,Ⅺ (发送移位寄存器)按位移出,驱动DⅨ(数据发送)管脚,从而把并行数据从数字信号处理器串行发送出去。当DXR中的数据拷贝到XSR中时,在下一个时钟CLKX的下降沿,XRDY有效。这样,CPU或DAM 控制器就可以把下一个数据写入DXR,当DXR中写入新的数据时,XRDY变为无效。

3 软件设计

软件设计分为单片机和DSP程序两部分(见图4)。单片机主要完成与处理机的通讯、交换网络芯片PEB2045的控制、DSP上报DTMF号码的扫描。在80C32复位后,单片机首先完成程序的初始化。通过HPI接口下载DSP程序代码,设置PEB2045的交换模式,允许外部中断口0和定时器0中断,并向交换机处理机发送同步和复位消息,处理机得到同步和复位消息后,向DTMF板发送连接时隙的命令,由80C32控制PEB2045进行时隙的接续。程序通过HPI接口定时(60ms)扫描DsP上报的DTMF号码消息,存入8OC32上报消息数据区,然后再上报给处理机。程序主要由三大模块组成:主程序、外部中断0子程序、定时器0中断程序。

wu

一个消息帧由头尾两帧组成,在主程序循环中检测有无需要上报的消息或重发消息标志,如果有重发或上报事件发生,则完成消息帧头帧的发送或重发。

在外部中断0子程序中,接收处理机下达的命令和消息,进行分析处理,完成时隙的连接和断开操作,检测有需要上报的消息或重发消息标志时,发送消息帧的尾帧。

定时中断0子程序中,监控处理机的消息处理情况,并扫描DSP有否DTMF号码上报,把上报号码存入80C32上报消息数据区中,稍后在主循环中被检测并上报交换机处理机。

DsP主要完成32路 rMF检测,DTMF检测主要由六个功能函数组成,如图5所示。

si

4 测试

测试首先是要确保算法能够正确工作。还要保证会议语音合成的实时性,并保证会议参加人数较多时高质量的语音效果。

首先在程序运行硬件平台之前,对电话会议的算法进行软件模拟。其次是基于硬件平台的测试,检测RAM是否可以稳定正常的工作,验证主处理器与DSP的接口协议,并实际建立电话会议测试算法的正确性。

当算法能够正确工作以后,再进行处理量和话音效果的测试。经过检测,当会议参加者总数达到交换机最大标称值128路时,该算法仍不存在处理量问题,并且可以获得非常清晰的语音效果。

5 结束语

本文提出了一种新的基于DSP的会议电话方案,该方案在传统会议电话算法的基础上引入了自适应合成算法,解决了当会议参加人数较多时声音效果较差的问题,同时也降低了运算量,解决了容量问题。这一自适应会议电话算法已经成功商用予大唐电信SP30CN交换机,经过实践检验,在同一时刻当会议参加者总数达到交换机最大标称值128路时,该算法完全可以取得用户满意的效果。

DMA, DSP, McBSP, 会议电话, 高速实时信号处理

如没特殊注明,文章均为好会通科技原创,转载请注明来自 http://www.meeteasy.com.cn/archives/3591.htm.


copyright 2004-2013     粤ICP备12061155号-1

Sitemap|XML|RSS|隐私政策|EN|