声导航自行小车研究

2013-09-14 04:08杜蓝清李瑞芹王洪超
电子科技 2013年2期
关键词:时间差接收端声源

杜蓝清,林 巨,李瑞芹,高 芸,王洪超,杨 超

(中国海洋大学信息科学与工程学院,山东青岛 266100)

导航是引导飞机、船舶、车辆以及个人安全、准确地沿选定路线,准时到达目的地的一种手段。声定位技术[1]是通过声传感装置接收声波,用电子装置将声信号转化为电信号,再利用计算机系统对电信号进行分析处理,以实现对声源识别、探测,并对声目标进行定位及跟踪的一门技术。声定位技术以其隐蔽性强、适用性高、成本低等优点而备受重视,在军事和民用领域有着广泛的应用和重要意义。因此声定位技术与导航技术结合形成有特色的声导航自行小车。

目前的声控移动装置多见于采用超声波技术躲避障碍物或通过某些语音语句控制装置的行进路线[2]。声导航主要应用于声呐、潜水器、UUV(无人水下航行器)等水下装置,而在空气中采用声学方式进行导航的移动装置还不多见。项目所研究声导航自动小车,可以通过接收信号,判定声源位置,确定前进方向,并通过自主追踪移动声源,修正移动路径。

1 硬件设计

1.1 硬件总体概况

系统包括声发射模块、声接收模块、硬件滤波模块、计时模块、运算控制模块和电机驱动模块。系统结构框图如图1所示。整个系统可以分为声源定位和车体移动两大部分。系统各模块工作是由单片机MC9S12XS128控制协调的,它是整个系统的核心。单片机MC9S12XS128拥有128 kB的Flash程序空间,8通道24位中断定时器,8通道16位定时器,8通道PWM波输出和8通道12位精度的A/D转换器;同时集成CAN,SPI,SCI和UART等通信接口;使用16 MHz外部晶振,通过锁相环最高可倍频至96 MHz;最小系统包括外部晶振、复位电路及BDM调试接口电路等[3],且该单片机性价比较高。该芯片通过FPGA计算出的时间差计算出小车与声源的相对r和α,其中r是小车与声源间的距离,α是声源相对于小车的方位角,并产生合适的PWM,是小车到达声源处。

图1 系统基本框图

1.2 单元模块设计

1.2.1 声发射模块

模块采用SRF05超声波传感器作为系统的通信模块。作为发射端模块,没有使用Echo接收端的功能。该模块采用3节干电池供电,打开焊接的开关后,指示灯亮,模块自动发射8个周期的40 kHz方波超声信号。空气中几乎没有超声信号,选择40 kHz的超声信号可以忽略空间的其他声源的干扰。

1.2.2 声接收及硬件滤波模块

该模块也采用SRF05超声波传感器作为系统的通信模块,作为接收端,没有使用发射功能。接收端接收信号后,通过硬件滤波,判断是否为有效信号。图2为接收模块的电路图。若接收到40 kHz的信号电路导通,I/O口Echo输出高电平、OUT端输出1;若接收到的信号中没有40 kHz的信号电路不导通,I/O口Echo为低电平、OUT端为0。该系统使用了3个接收端,其位置关系如图3所示。

图2 接收模块电路图

1.2.3 FPGA计算时间差模块

模块采用Altera FPGA CycloneII EP2C5T144计算时间差。信号接收端1接收到有效信号后触发FPGA的计数器,接收端2接收到有效信号后停止计数且触发另一个计数器,接收端3接收到有效信号后停止计数。计数数值乘以FPGA的频率可以得到两个时间差。

1.2.4 单片机模块

采用飞思卡尔智能车芯片MC9S12XS128。该芯片接收到FPGA传来的两个时间差,再利用麦克间距、声速算出声源距离小车的距离r和角度α,并产生合适的PWM驱动电机使小车准确到达声源处。

2 软件设计

图3为系统程序流程图。

2.1 声源定位算法设计

图3 系统程序流程图

如图4所示,在小车上安装3个等间距的端口,间距为d,且3个端口在同一直线上。要测量的是点声源M与中心阵元B的距离r与方位角α[3-4]。

图4 三元阵被动测距几何关系

t12为声源到达端口1和2的时间差;t23为声源达到端口2、3的时间差;阵元间距为d;声速为c。在远场平面波近似条件下,由几何关系得

2.2 FPGA算法设计

FPGA根据声接收模块的信号,进行时间差计算。当有一路信号有效时启动计数器开始计时,另外两路信号同时有效时停止计数,且计数结果可以借助计数器的存储功能得以存储。所用FPGA主频为50 MHz,时间差=计数值×0.02 μs。根据两次的时间差值,利用定位算法可以实现定位功能。此外还设置了各路锁存信号,可以判别出声源的左右位置。图5为利用Quartus II所设计的FPGA简单计数的电路图。利用角度估计的远场条件,但仍不放弃柱面波和球面波的假设,由余弦定理和泰勒展开得到目标距离

图5 利用Quartus II设计的FPGA计数电路图

2.3 电机驱动算法设计

选用双直流电机的小车模型进行试验,两个电机分别对小车左侧的两个车轮和右侧的两个车轮进行控制。预设 PWM波的频率值为10 kHz。在单片机MC9S12XS128芯片特定的应用程序CodeWarrior IDE中进行代码编写。针对不同的电机系统,需要进行实测并判断合适的转向、延时时间[5]。

3 结束语

采用40 kHz的信号有利于避免外界干扰,使信号的误判率降低。系统采用FPGA与单片机结合的形式进行声导航,使小车能够准确到达声源处。电机运行环境和路面状况不同时,由r和α产生合适的PWM比较困难,需要不断调试,最终找到合适的PWM。该技术方案还可推广,搭载家用小型餐桌、儿童摇篮、电脑桌和餐厅餐车等以实现智能行走功能,为生活提供方便。

[1]曹南隽.声源定位算法研究[D].北京:北京理工大学,2007.

[2]黄晶晶.环境障碍物超声波探测技术的研究[D].哈尔滨:哈尔滨工业大学,2007.

[3]吴斌华,黄卫华,程磊,等.基于路径识别的智能车系统设计[J].电子技术应用,2007(3):80-82.

[4]田垣.声纳技术[M].2版.哈尔滨:哈尔滨工程大学出版社,2009.

[5]王勇,刘颖,刘建平.一种基于麦克风阵列的声源定位算法研究[J].现代电子技术,2011,34(9):61-64.

猜你喜欢
时间差接收端声源
虚拟声源定位的等效源近场声全息算法
基于扰动观察法的光通信接收端优化策略
顶管接收端脱壳及混凝土浇筑关键技术
基于多接收线圈的无线电能传输系统优化研究
量子定位系统中符合计数与到达时间差的获取
基于GCC-nearest时延估计的室内声源定位
酸槽内钢带位置测量传感器
基于BP网络的GIS局部放电声电联合检测故障定位方法
立体声音乐节目后期制作中声像定位的探讨
运用内积相关性结合迭代相减识别两点声源