基于dsp的麦克阵列声源定位系统_第1页
基于dsp的麦克阵列声源定位系统_第2页
基于dsp的麦克阵列声源定位系统_第3页
基于dsp的麦克阵列声源定位系统_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于dsp的麦克阵列声源定位系统

0基于两种声源定位方案的硬件设计麦克风矩阵的色调定位是指用麦克风采集声音信号,通过分析和处理麦克风矩阵中不同输出的信号,并获得一个或多个源的位置信息。如果声源能够持续地输出声音,通过对麦克风阵列接收到的信号进行实时分析和处理,可以实现对移动声源的定位和跟踪。目前,基于麦克风阵列的声源定位广泛用于具有嘈杂背景的语音通信环境,如会场、多媒体教室、车载电话等,以提高通信质量。本文主要讨论了麦克风阵列声源定位的硬件系统设计,并对声源定位的软件系统设计做了一些考虑。该系统主要用于汽车笛声定位系统,通过麦克风阵列采集笛声信号,并根据定位算法实现汽车的定位。1硬件系统的设计硬件系统主要包括多个麦克风构成的阵列、信号调理单元、数据采集单元、算法处理单元、逻辑控制单元,如图1所示。1.1mpa216相位差稳定性该设计中麦克风阵列选用声望公司的MPA416传声器来实现。MPA416传声器的灵敏度较高,可以达到50mV/Pa;拥有低成本、低噪声;频率响应范围为20Hz~20kHz;当其用于阵列时,MPA416的相位差能控制在3°~5°之内,能满足系统对于精确度和稳定性的要求。由于均匀线列阵的结构最简单,处理方便,故系统采用一维线性麦克风阵列,其阵列间距取10cm。1.2号制的预处理由于麦克风所拾取的声音信号太小,易受环境噪声的影响,因此很有必要对声音信号进行预处理,通过对信号调理单元的处理,使之能够满足系统的要求。该系统采取两级放大电路,前级放大为低噪声放大,主要完成把麦克风信号由单端变为差分,故选用TI公司的低噪声放大器OPA1632,次级放大电路为线性放大电路。1.3sdam/dmps该设计中数据处理单元选择TI公司性价比较高的浮点DSP芯片TMS320C6713(以下简称C6713)作为系统算法处理的核心。它的内部采用改进的哈佛结构;具有256KB片上存储空间;丰富的外设,包括2个多通道缓冲串口(McBSP)、2个多通道音频串口(McASP)、SPI和I2C等;增强的直接存储器访问(EDMA)控制器,可控制16个独立通道,完成不受CPU干预的数据传输;32b的外部存储器接口(EMIF),能与SRAM,ERPOM,FLASH,SBSRAM和SDRAM无缝接。因此,C6713能满足系统对于一些复杂定位算法的快速处理。1.4音频模/数转换器件麦克风阵列拾取声音信号,经过前端调理单元的处理,使声音信号能达到A/D芯片的要求,从而进行模/数转换,完成数据的采样。该设计中A/D转换器件选用TI公司的PCM4204,该芯片是24位、高精度,采样速率达到216kHz的4通道音频模/数转换器件。该芯片具有音频串口和DSD数据口,其中音频串口能与DSP方便的连接,采样数据能迅速地被DSP读取。TMS320C6713的McASP与ADC外设交换数据主要有2种方式:利用CPU,通过串口与外设通信,这种方式的传输速度慢,数据交换量小,且占用CPU的时钟周期。为了实现高速的数据采集,该系统采用另外一种方式,利用EDMA。该方式能充分利用TMS320C6713的硬件结构特点,其EDMA通道的独立数据和独立地址总线,不仅使数据传输速度快,传输量大,且不占用CPU时钟周期,而且使数据传输和DSP命令执行同步进行,大大提高了整个系统的运行速度。1.4.1pcm4249的特性通过TMS320C6713的多通道音频串口McASP1实现了与PCM4204的连接,其连接示意图如图2所示。在图2中,PCM4204的LRCK与C6713的AFSR1相连。作为帧同步信号,BCK是位时钟信号,与ACLKR1相连;PCM4204的两个数据输出管脚SDOUT1和SDOUT2分别与DSP中McASP1的AXR和AXR相连,当采用I2S数据格式时,SDOUT1输出的是1,2通道的数据,SDOUT2输出的是3,4通道的数据。PCM4204产生LRCK和BCK信号,以驱动DSP的AFSR1和ACLKR1。1.4.2pcm4249的fs2算法为了使系统能够正常工作,需要对PCM4204进行设置。通过芯片引脚S/M,FMT2,FMT1,FMT0,FS2,FS1和FSO可以实现配置。具体如下:(1)S/M=0,使PCM4204工作在主模式下;(2)FMT2=0,FMT1=0,FMT0=1,选取音频数据格式为24b的I2S,其格式如图3所示;(3)FS2=1,FS1=0,FS0=1,选取采样速率为96kHz;2接口程序的描述2.1对相关文件的配置为了使DSP的McASP1口能够接收数据,需要编写相应的程序。由于是采用EDMA来进行数据传输的,所以首先要对McASP,EDMA进行初始化,即按照电路系统硬件接口的设计要求设置McASP1的相关寄存器,使其工作在EDMA模式。(1)EDMA接收配置。分别对EDMA的opt,src,cnt,dst,idx,及rld寄存器进行设置,并通过opt寄存器设置数据长度为32b,源数据和目的数据为一维方式,源地址固定,目的地址采用索引,启用帧同步等,并将源地址和目的地址分别写入src,dst寄存器。cnt寄存器主要是用来配置帧计数和单元计数。由于采用I2S的数据格式,所以一帧数据只包含2个单元数据。通过配置idex及rld寄存器,目的数据可以按照设定的索引方式存储。(2)McASP1的配置。分别对McASP1的PFUNC,PDIR,SRCTL,RFMT,AFSRCTL,ACLK-RCTL及AHCLKRCTL等寄存器进行设置。注意几点:①接收帧同步信号的宽度为32b,由外部信号提供,即PCM4204的LRCK;②接收位时钟信号也由外部信号提供,即PCM4204的BCK;③串行化器使用AXR和AXR。2.2edma函数的求解首先,需要打开McASP的1通道,利用MCASP_open函数可打开McASP的1通道,即DEC6713_AIC23_DATAHANDLE=MCASP_open(MCASP_DEV1,MCASP_OPEN_RESET);然后通过使用SetupEdma函数对EDMA如何进行数据的存放和连续工作进行定义,这里采用“乒乓缓存”的方式,根据idex和rld两个寄存器完成数据存储,具体存放如表1、表2所示:接下来需要使McASP通道正确的工作,定义DEC6713_Mcasp_Setup函数。该函数的程序如下:最后,需要定义函数SetInterruptsEdma(),通过建立中断向量表,使整个接口程序工作。3基于声达时间差的定位算法系统可以把应用程序固化在FLASH存储器内,每次上电时,DSP首先将程序从FALSH下载到片内的RAM,由于DSP可以零等待访问片内RAM,程序加载到片内RAM执行时,可以保证DSP全速运行,同时增强了系统的可靠性。系统选取声源定位算法的依据是运算量较低或者利于硬件实现,能用硬件的思想将算法实现。基于声达时间差(TDOA)的定位技术是先利用GCC,LMS,EVD等算法进行声达时间差的估计,再结合已知的麦克风阵列的空间位置定出声源的位置。它不受阵列结构的限制且计算量小,因而实际的麦克风阵列系统大都采用该技术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论