基于DSP二维声源定向系统设计
扫描二维码
随时随地手机看文章
摘要 利用ADSP BF533 DSP处理器设计了一种二维声源定向系统。系统基于声波到达时间差技术,采用相位匹配算法,对两个传声器采集的声音信号进行分析。通过算法仿真验证了算法的可行性和准确性,并将算法在DSP上实现。
关键词 DSP;声源;定向
被动式声源定向系统在军事和日常生活中的多方面有着重要的应用。军事中常采用传声器阵列初步估计目标的方位,为雷达精确扫描提供依据;日常生活中多用于摄像头辅助系统,引导摄像头向声源方向转动,这在视频会议中应用较多,其他应用还包括室内防盗系统和灾害搜救设备等。近年来众多学者对此作了大量研究,提出了多种实用性算法。王毅等人将现有的算法分成3类:基于最大输出功率的可控波束形成技术、基于高分辨谱估计技术和基于声波到达时间差技术,其中基于声波到达时间差技术具有运算量小、精度高的特点,被广泛使用。文中正是基于这一技术,采用相位匹配算法,对两个传声器采集的声音信号进行分析,实现了二维声源定向。
1 原理
1.1 声波到达时间差技术
所谓声波到达时间差就是指声波信号到达2个或多个传声器之间的时间差,利用该差值即可确定声源的方向,文中只采用2个传声器,其原理如图1所示。
设置传声器1和传声器2之间的距离为d;声源到达传声器1的角度为θ1;到传声器2的角度为θ2,并且声源到两个传声器中点C的距离远大于两个传声器之间的距离d。基于这个前提,则θ1≈θ2=θ,设声速为c,声波到达传声器2与到达传声器1之间的时间差为τ,则式(1)成立
sinθ=L/d,L=cτ (1)
因此
θ=sin-1(cτ/d) (2)
在式(2)中,声速c和传声器1,2之间的距离d,都是已知数,只要求出声波到达时间差τ,就可以得到声源的方位角θ。
以上就是声波到达时间差原理,时间差τ的求取方法有最小均方自适应滤波法、广义互相关函数法、互功率谱相位法等,文献对各种方法的比较作了详细介绍。除上述直接或间接求取时间差τ的方法外,本文采用文献中的一种相位匹配算法,虽然也是基于声波到达时间差技术,但它不用求取时间差τ,就能得到声源的方位角θ。
1.2 相位匹配算法
信号相位匹配的原理就是对传声器2输出的信号进行相位补偿,不同的频率补偿不同的相位,如果补偿的相位等于由于声源方位角引起的相位差,则传声器1,2方向相同。[!--empirenews.page--]
设声波到达两个传声器的时间差为τ0,传声器1接收到的声波信号为
t=(dsinθ)/c,θ在一定范围内以一定的精度步进,当E(τ)取最大值时,τ所对应的角度θ即为声源方位角。
1.3 算法仿真
设两个传声器之间的距离d=0.15 m,声速c=340 m/s,θ在-90°~90°之间以0.5°步进,声源是频率分别为f0=200 Hz,f1=1 200 Hz,f2=5 400 Hz,f3=10 600 Hz,f4=18 560 Hz的5个点频信号与白噪声的加权叠加,采样率fs=48 kHz。当设定声源方位角为30°时,仿真测得为31.5°。传声器1,2输入的信号以及E(τ)波形如图2所示。
[!--empirenews.page--]
表1中对设定的方位角给出了对应的仿真结果,从中可知相位匹配算法在-80°~80°方位角范围内可以较好地确定声源方位角,具有较高的准度和精度。
2 系统设计
系统用两个传声器采集声波信号,经自动增益放大、滤波后输入到A/D转换器,A/D转换器经采样、量化、编码后输出数字化的声波信号到DSP,在DSP内部对采集到的数字信号进行截取、加窗后运用上文提到的算法做分析,并最终输出声源的方位角,如图3所示。
2.1 硬件结构
系统硬件结构如图4所示。自动增益放大器根据传声器接收到的声波信号幅度自动调整放大倍数,保证输入到音频编解码器AD1836的信号都维持在一定的幅度上,不会因放大倍数过大而使大信号失真,也不会因放大倍数太小而使小信号被噪声淹没。自动增益放大器可采用数字电位器,也可用专用芯片实现,文中利用场效应管的可变电阻特性实现自动增益放大。
人耳能听到的声音频率范围是20 Hz~20 kHz,低通滤波器用于滤除高于20 kHz的频率成份,由于文中算法对相位比较敏感,为保证滤波后各频率的相位不失真,将低通滤波器的截止频率提高到100 kHz,设计一个二阶有源椭圆形低通滤波器。
[!--empirenews.page--]
其他各部分是基于现有硬件开发平台-ADI公司的ADSP-BF533-EZ-KIT开发板,如图5所示。音频编解码器AD1836是位于开发板上的一个双通道立体声音频转换器,最高采样率96 kHz,可同时完成4路音频信号的输入和转换,并通过SPORT、口将转换数据依次输出到BF533 DSP,同时BF533通过SPI口对AD1836的内部寄存器进行访问,完成相应功能的设置。BF533是ADI公司的一款16位定点DSP,内核时钟可达600 MHz,其片上丰富的外设为其他设备提供了方便的接口,如SPORT口和SPI口就为音频解码器提供无缝连接,而外部总线接口(EBIU)则方便了SDRAM以及Flash存储器与BF533的连接。
2.2 算法实现
为使系统正常运行,程序要先对开BF533 DSP和音频编解码器AD1836做初始化。设置BF533内核时钟594 MHz,系统时钟118 MHz;SPORT0接收数据长度16位,帧同步使能,DMA中断使能;通过BF533 SPI口DMA配置AD1836为48 kHz采样率,16位分辨率。
初始化完成之后AD1836开始以设定的模式工作,通过SPORT口向BF533输出数据,这时使能SPORT0口DMA接收数据,每接收一组数据产生一次中断,数据被保存在内存中,SPORT0口继续工作,直到接收完规定的采样点数,这时禁止SPORT0口DMA中断,程序对接收的数据作算法分析,并将结果输出,完成一次声源定向;之后重新使能DMA中断,程序重复上述工作,进行下一次定向,程序流程如图6所示。
3 结束语
利用BF533作为系统核心,充分发挥其数字信号处理功能,进行相位匹配算法运算,完成声源定向。需要注意的是为保证定向的准确性,两个传声器之间的距离应小于声波波长的1/2,同时采样率的提高有助于提高定向精度。经测定系统具有较好定向性能和实用价值。