APP下载

基于FPGA的麦克风阵列定位技术

2018-05-16刘从均王阳董银棚冯浩刘鹏张一歌

科学与技术 2018年19期
关键词:Matlab仿真

刘从均 王阳 董银棚 冯浩 刘鹏 张一歌

摘要:研究并实现了一个基于FPGA的声源定位系统,通过若干麦克风阵列采集声信号,经A/D模块传送给主控制器FPGA。运用GCC、PATH加权与SCOT加权求得时间差,建立坐标系,最后通过计算求出坐标进行定位。基于麦克风阵列的定位技术有着很好的安全性与隐蔽性,在军事方面有着很好的前景。由MATLAB仿真分析了几种加权的定位效果,结合实验确定了FPGA定位算法的优选方案。

关键词:FPGA;声源定位;麦克风阵列;MATLAB仿真;广义互相关;时延估计

Microphone Array Location Technology Based on FPGA

Wang Yang,Liu Congjun,Dong Yinpeng,Feng Hao,Liu Peng,Zhang Yige

(School of Electronic Information and Automation,Civil Aviation University of China,Tianjin 300300,China)

Abstract:A sound source location system based on FPGA is studied and implemented. Acoustic signals are collected by several microphone arrays and transmitted to the main controller by A/D module. Using GCC,PATH weighting and SCOT weighting,the time difference is obtained,the coordinate system is established,and the coordinate is located by calculating. The location technology based on microphone array has good security and concealment,and has a good prospect in military field. Several weighted positioning effects are simulated and analyzed by MATLAB,and the optimal scheme of positioning algorithm based on FPGA is determined by experiments.

Key words:FPGA;Sound Source Location;Microphone Array;MATLAB Simulation;Generalized Cross-correlation;Time Delay Estimation

引言

声源定位技术应用广泛,实现方式也多种多样,近年来,随着物联网技术及安防技术的不断进步,声源定位技术作为其中一个关键技术得到了巨大发展。同时,随着模式识别、人工智能以及智能机器人的不断发展,声源定位技术的应用前景也變得十分光明。如今的声源定位技术实现方式总的来说可以分为三大类:图像识别定位、麦克风阵列定位、红外定位等。

本文研究了多种麦克风定位算法,并且使用FPGA作为实验平台,验证了算法的可靠性及精确性,供声源定位研究人员参考。

1时延估计算法介绍

目前,关于声源定位的算法非常多。本文介绍一种时延估计算法,它主要分为时延估计与声源定位算法两部分。时延估计是其中关键的一步,因此时延估计的精度决定最终的定位精度。时延估计算法分为很多种,例如基本互相关、广义互相关法(GCC)等。通过各种算法的仿真及实验,我们最终选择了广义互相关法(GCC)作为FPGA的定位算法。

1.1互相关时差定位

互相关函数是信号分析里的概念,表示的是两个时间序列之间的相关程度,即描述信号x(t),y(t)在任意两个不同时刻t1,t2的取值之间的相关程度。假设有两个处在不同位置的声信号传感器,它们接受同一声源信号分别表示为:

1.2加权广义互相关算法

首先,我们用MATLAB进行仿真,将传感器摆成的阵列通过示波器将采集到的声信号数据经过MATLAB中的函数调用采集到该信号,再通过人为的对此信号加入延迟,然后通过滤波将两个信号做互相关运算;最终利用峰值检测计算出两个信号的时间差,因而可建立坐标系计算出声源的坐标。通过大量的实验数据分析误差以改进算法提高精确度。算法设计方案如图1所示:

首先,在实验室我们先摆了平面的麦克风阵列,以击掌发出声信号通过示波器导出声信号的数据。用MATLAB通过函数调用将此信号导入MATLAB中,然后对此信号加入延迟,得到的声信号波形图以及频谱如图2所示:

然后,对这两个信号做滤波,再做互相关。分别加入CC、PATH、SCOT三种加权函数得到如图3所示,各加权函数特性如表1所示:

通过一系列的实验检测峰值求出时间差,通过坐标算法求出其坐标,以达到定位的目的。

2.FPGA系统设计

2.1系统硬件设计

Altera Cyclone? IV FPGA 拓展了 Cyclone FPGA 系列的领先优势,为市场提供成本最低、功耗最低并具有收发器的FPGA。本系统综合比较了各FPGA的特点,选择了EP4CE10F17C8这一型号的FPGA芯片,其最大工作频率可达200MHZ,具有功耗低、运算处理速度快等显著特点。系统主要包括FPGA模块、AD转换模块、音频芯片声音模块、麦克风阵列、上位机等模块。系统总体框图如图6所示

2.2系统软件设计

本系统软件部分主要经AD转换控制程序、FFT变换模块、GCC模块、IFFT模块、峰值检测模块、方位计算等模块,采用Verilog HDL硬件描述语言为程序设计语言。

2.3实验平台的搭建

麦克风阵列定位系统的实验平台如图8所示,受硬件条件的影响,本文只对二维平面内的单信号进行了定位估计。

3.实验结果与分析

通过在实验室平面三元麦克风阵列的实验及计算,得出如下结果,如表2所示:

M12,M13为传感器到声源距离的实际测量差值;

t12,t13为时延估计的时间差;

d12,d13为时延估计的时间差δt x 340m/s所得距离差。

最终,通过在实验室的平面四元三维定位实验数据利用MATLAB仿真后的定位效果图如图7所示:

图9 平面四元三维定位效果图

4.结语

本文在算法分析及计算机MATLAB仿真的基础上,利用FPGA对前述算法进行了硬件及软件设计。通过比较定位结果及实际方位,验证了该算法的定位有效性,并且能够满足一定精度要求。本文没有介绍麦克风阵列的布局方式,但在实际定位时,这一点需要特别注意,因为这对最终的定位效果影响比较大。

参考文献

[1]MITRA S K. Digital Signal Processing[M].3rd ed. USA:McGraw-Hill International Edtion,2006.

[2]Tarik Yardibi,Li Jian,Petre Stoica,et al. Source Localization and Sensing:A Nonparametric Iterative Adaptive Approach Based on Weighted Least Squares[J]. IEEE Trans AEROSP ELECTRON SY,2010,46(1):425 -443.

[3]PONCA M,SCHAUER C.FPGA implementation of a spike-based sound localization system. In 5th International Conference on Artificial Neural Networks and genetic Algorithms,2001.

[4]WANG H,CHU P. Voice source localization for automatic camera pointing system in video confererncing [J]. Signal Pro-cessing AudioAcoustics,1997,1:187?190.

[5]邬琦,杨江涛,马喜宏.基于FPGA的高速信号采集电路的设计与实现[J].实验室研究与探索,2015,34(4):124-128.

[6]马雯,黄建国.LMS自适应时延估计法在被动定位系统中的应用研究[J].船舶工程,2000年06期.

[7]唐小明,吴昊,刘志坤.基于广义互相关算法的时延估计研究[J].电声技术,2009年08期.

[8]邵怀宗,林静然,彭启琮,居太亮,徐异凌.基于麦克風阵列的声源定位研究[J],云南民族大学学报(自然科学版),2004年04期.

[9]王大中,李晓妮.基于麦克风阵列的语音信号实时时延估计[J],吉林大学学报(信息科学版),2009年02期.

(作者单位:中国民航大学 电子信息与自动化学院)

猜你喜欢

Matlab仿真
微信网络的信息传播模型研究
常规PID控制和常规模糊控制的比较
感应电机低速运行时自适应状态观测器研究
MATLAB仿真在《控制工程基础》教学中的应用