《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > TI DSKplus Board在房间声回授通道特性测量中的应用

TI DSKplus Board在房间声回授通道特性测量中的应用

2009-03-06
作者:李 辉 王永德

  摘  要: 介绍一种新的测量房间声回授通道特性的实验方法。用TI(Texas Instruments)公司提供的DSKplus Board开发套件,实现数据的实时发送和采集,并把采集的数据送入主机保存,以备主机进行房间声回波通道特性的分析计算。

  关键词: 声回波对消 DSP芯片 声回授通道特性

 

  为满足电视电话会议、车载免提电话、热线电话等高质量话音通信的需要,一种消极的处理方法是进行功率控制,降低功率增益以不产生啸叫,这样做是以牺牲音量为代价的。目前,公认最有效的回声抑制方法是采用自适应回声对消。在回波对消的研究过程中,必须有效模拟出讲话者所在空间的声回授通道特性。本文重点介绍利用TI公司开发的廉价的DSKplus套件,采用白噪声激励和谱估计的方法进行房间声回授系统的离线辨识,并取得了良好的实验结果。

1 DSKplus Board介绍

  DSKplus Board 是TI公司研制的一种廉价的、为初学者使用的DSP应用开发板,本开发板中DSP芯片采用TMS320C542。TMS320C542是一种改进哈佛结构、运算速度可达40MIPS的定点DSP。它具有一个程序存储器总线,三个数据存储器总线,17×17位乘法器,一个供非流水线MAC(乘法/加法)使用的专用加法器,一个比较、选择、存储单元(Viterbi加速器)。其片内集成有10K字节的DRAM,2K字节的引导ROM。其外围设备包括有:与主机进行通信的主机接口HPI(Host Port Interface),与其他设备进行通信的时分复用串口和缓冲型串口等等。

  DSKplus Board 的模拟通道采用TLC320AC01C芯片,它可同时完成音频频带内分辨率为14位的模-数、数-模转换,并集成了带通输入滤波器和输出低通滤波器以及sinx/x补偿器。其最大的优点在于它有一个串行通信口,DSP可通过此串行口以软件编程方式控制其滤波器的频带宽度、截止频率以及采样频率等,并可调整输入输出增益。TLC320AC01C的最大采样频率可达43.2k,模拟输入增益可达12dB,输出衰减可达12dB。

  DSKplus Board与主机通信是利用DSP的HPI进行的。在DSP片内有一容量为2K字节的内存区,地址从1000h到17FFh,这片内存区既可以被DSP访问,也可以被主机访问。在DSKplus Board中,DSP的HPI通过一片GAL22V10与计算机的并口相连,GAL22V10完成计算机并口信号与HPI信号之间的匹配。这样,主机就可通过读写并口的数据端口、状态端口、控制端口来访问DSP的共享内存区,为主机与DSP之间的数据交换提供了很大方便。

2 系统原理

  测试系统原理见图1。把虚框部分看作系统h(n),系统的输入和输出分别为x(n)和y(n),那么有:

  

  等式两边同乘x(n-l),并求期望,得:

  

式中,Rxx(n)为x(n)的自相关函数,Rxy(n)为x(n)与y(n)的互相关函数。对于白噪声输入激励,x(n)的自相关函数为δ-函数,即:

  

代入式(2),则有:

  

  因而,当x(n)为白噪声时,只需估计出x(n)、y(n)的互相关函数,即可求出声回授通道的冲激响应。图1中,A/D、D/A以及与主机通信部分均由DSKplus Board完成。

 

3 软件实现

  整个系统软件包括两部分:DSKplus Board中DSP的运行程序和主机的数据发送、接收、分析处理程序。

  DSP程序采用TI公司提供的代数语言编写,其功能包括:对模拟通道TLC320AC01C进行初始化,完成数据的发送和采集以及与主机之间的数据交换。TLC320AC01C被初始化为:8k/s采样速率,低通滤波器带宽为3.6kHz,输入增益为12dB,输出增益为0dB。数据的发送和采集采用中断方式,由于数据的发送和采集是同步的,所以只需用同一个中断服务程序。每当采集缓冲区(64字节)满后,就把HPI的控制寄存器HPIC的HINT位置“1”,主机通过检测这一位的状态来接收和发送数据。

  由于对数据的分析处理需要耗费大量的时间,所以主机程序分为两部分:数据发送、接收程序和后续处理程序。主机程序用C语言编写。为了能在1/8k秒内完成发送两次16位地址、一次16位数据和读取一次16位数据,数据速率为64KByte/s,加上主机从硬盘读取数据和把数据写入硬盘的时间开销,DSP运行在40MHz时,HPI口的数据传输速率可达8MByte/s,主机并口的数据速率却达不到上述要求。所以发送数据时,应先把数据读入内存缓冲区,接收数据时,也应先把数据读入内存缓冲区,待数据接收完成后,再写入磁盘,这样才不会因来不及接收而丢失数据。程序流程见图2。

 

  后续处理程序功能包括:伪随机序列的产生和冲激响应的分析计算。伪随机序列的产生采用克努特算法,即线性同余算法:

  

式中,M为序列的最长周期,J由不等式

  

  确定。J越大,序列才趋向于更随机,但J的最大值受机器字长L限制。由式(5)求得的随机序列In,归一化后,在(0,1)区间呈均匀分布,再对序列进行高斯化,并用“3σ原理”进行16位整数化。

  由式(4)知,冲激响应的计算,即是对x(n)、y(n)的互相关函数进行估计。事实上,本文是用有限长数据样本来估计随机信号的互相关函数Rxy(k),即:

  

  这表明,当k接近N时,的统计平均与Rxy(k)相差较大。在本文中,当房间冲激响应的有效长度远小于数据样本长度N时,这种偏差可以忽略。为了加快计算式(7),先对x(n),y(n)作FFT变换,X(n)的共轭与Y(n)相乘后,再作傅立叶反变换,即求得冲激响应h(n)。但以上过程相当于是对x(n)和y(n)作循环相关,而实际上h(n)是x(n)和y(n)的线性相关结果。所以,在进行N点FFT变换前,先把x(n)和y(n)的后N/2个点全置零,这样可避免循环相关带来的误差。为减小矩形数据窗带来的谱泄漏,程序中采用Hamming窗截取信号,即:

  

  为减小互相关函数的估计方差而引入的h(n)估计方差,在房间设施固定不变的情况下,用不同随机数种子的随机序列输入而求得的h(n)作平均运算,可有效减小h(n)的估计方差。

4 实验结果

  一次典型的测量数据经过以上处理,得到如图3所示的结果。图中,直达声是从扬声器出来的声音经过直线路径直接到达麦克风的声音,混响声是从扬声器出来的声音经过房间的墙壁、室内物体等多次反射后到达麦克风的声音。在理论上,直达声的响应应该为零,混响以后的响应也应为零。但由于测量时不可避免地存在环境噪声以及算法本身存在的误差,图中这些响应有较小的起伏。可以估计,直达声从扬声器到麦克风之间大约有170个采样点,按8k/s采样率计算,这段时间为:

  

 

  实际测量时,扬声器与麦克风相距7.5m,按空气中声波传输速率340m/s计算,这段时间应为0.02206s。由此看出,实际测量与理论基本相符。

 

参考文献

1 Texas Instruments Incorporated.TMS320C54X DSP Reference Set.Volume1,1997

2 Texas Instruments Incorporated.TMS320C54X DSKplus User's Guide,1997

3 Texas Instruments Incorporated.TLC320AC01C Data Manual,1997

4 王永德.随机信号分析基础.成都:四川大学出版社,1993

5 王大凯,潘建寿.现代谱估计方法与应用.西安:西北大学出版社,1991

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。