基于FPGA的超声波阵列测量定位系统设计

基于FPGA的超声波阵列测量定位系统设计
陈志彬;宋金堂;张娜;乔怡豪
【摘 要】为了实现对移动物体进行定位,提高超声波定位的精度,基于可编程逻辑门列阵(FPGA),设计一个SoC硬件测量平台,对超声波信源到超声波接收阵列的角度和距离测量实现高精度定位.为提高系统的测量精度,补偿温度对测量结果产生的影响,增加了温度传感器测量环境温度.在程序设计上将TDoA与AoA融合,并结合MUSIC算法,以提高测量的精度.实际实验测量表明,该测量系统运行稳定可靠,测量速度快、精度高,有一定的实用性和推广价值.
【期刊名称】《现代电子技术》
【年(卷),期】2018(041)012
【总页数】5页(P28-31,35)
【关键词】超声波阵列;FPGA;TDoA;AoA;MUSIC;测量系统
【作 者】陈志彬;宋金堂;张娜;乔怡豪
【作者单位】辽宁科技大学,辽宁鞍山114051;辽宁科技大学,辽宁鞍山114051;辽宁科技大学,辽宁鞍山114051;辽宁科技大学,辽宁鞍山114051
【正文语种】中 文
【中图分类】TN725.6-34;TB559
0 引 言
距离和角度是确定两个物体相对位置的量,传统的定位方法包括卫星定位、定位、RSSI、WiFi定位、UWB定位等。这些民用定位信号可以达到几米到几十米的精度。但是这些测量方式无法完成最后一段高精度测量。卫星定位受云层和建筑遮挡,定位多径干扰严重,无法完成最后一段高精度定位。传统超速波定位只测量距离。没有测量角度,导致测量精度低[1-3]。
本文基于FPGA硬件平台设计一套超声波阵列测量系统,能够通过蓝牙先接收信源发来的同步信号,并采用TDoA(Time Difference of Arrival)的方式分别测量出信源到每个阵元的距离,然后结合阵列的温度补偿出真正的距离,计算AoA(Arrival of Angle),最后结
合MU-SIC(Multiple Signal Classification)算法进一步提高波达角的精度[4-7]。
1 超声波定位原理
超声波一般是指频率大于20 kHz的机械振动波。超声波测距可采用传播时间检测法进行,即测量超声波从发射换能器发出经空气传播到接收换能器的传播时间t,将t与其在空气中的传播速度v相乘,就得到超声波此时的传播距离S。由于超声波在空气中的传播速度与温度相关[8-10],则传播距离为:
式中,T为环境温度。本文采用TDoA的方式测量距离,即信号源通过蓝牙向超声波阵列发送开始测量信息,由于电磁波的传播速度为3×108m/s,而超声波的传播速度约为3.41×102m/s,所以电磁波传播的时间可以忽略不计,可以近似认为发送和接收端同步,如图1所示。
图1 超声发送接收模型Fig.1 Ultrasonic transmission and reception model
为了提高角度检测精度引入多重信号分类算法MUSIC。该算法利用信号子空间和噪声子空间的正交性,构造空间函数,通过谱峰搜索,检测信号的角度[11-12]。当人离接收阵列足
够远时,可以认为到阵列的波为平面波,将阵列等效成一个接收点,如图2所示。
假设由M个全向阵元组成的均匀线阵,相邻阵元间距为d。一个超声信号源发送同步信号后向接收阵列发送一窄带信号,取其中第一个接收到的阵元为参考点,信源到第m个接收阵元的距离为:
式中:s(m)为信号源到第m个阵元的距离;θ为入射角。则第N个阵元到信源的距离为:
由于信源到接收阵列的距离远大于阵元间距d,所以Δnθ趋近于零,有:
将M个阵元到信源的距离表示成矢量的形式,可以得到阵列到信号源距离矢量X为:
式中为n个阵元距离数据矢量为测量距离数据矢量,将项提出,则有:为独立零均值,方差为σ的高斯白噪声,且与信号不相关。当接收阵元大于3个时采用最小二乘法计算出sinθ和距离d,进而求出波达方向θ。
2 硬件系统设计
硬件系统由接收端和超声波信源发射端组成。发射端由电源、MCU、温度传感器、超声波
发送模块、蓝牙测量同步等组成;接收端由电源、FPGA、多路温度传感器、超声波阵列、蓝牙测量同步等组成。具体接收定位系统如图3所示。
图3 超声波阵列接收定位系统Fig.3 Ultrasonic array receiving and positioning system
2.1 超声波发送系统
由于本文采用的是TDoA声音单程传播时间测距方式,所以采用一对蓝牙4.2模块做无线时间同步。前面分析电磁波传播速度远大于声音在空气中的传播速度,所以可以忽略同步传播的时间,单片机在处理蓝牙同步和发送超声波的时间长度为τ。实际设计要求定位距离小于8 m,在室温为25℃时,声音在空气中的传播速度大约是340 m/s。从发送到接收,声音最大渡越时间(单位:s)为:
所以设置发射端以10 Hz的频率发送超声波,供主机进行连续的TDoA距离测量,进而能提高测量速度,防止丢失信源。
2.2 超声波接收测距定位系统
接收端采用LatticeXO2-4000 FPGA作为主处理器,开发工具为Lattice公司的Diamond 3.8,使用该软件为外部时钟、超声波阵列、温度传感器、蓝牙等模块分配管脚。为了方便将处理后的测量结果输出,设计了一条通用SPI串行总线,这样可以将测量结果传到其他的MCU,DSP,FPGA中,供其二次开发。FPGA的内部框架设计如图4所示。为了提高测量精度,通过CLOCK模块将输入的50 MHz时钟倍频到100 MHz。外部处理器可以通过SPI总线访问内部寄存器,见表1。操作CDR(Control Data Reg)控制数据寄存器,可以对超声波接收定位寄存器的工作模块进行设置。当系统开始测量时,每一次测量的结果都会保存到各自的DR(Data Reg)数据寄存器中,而超声波阵列每个阵元的工作状态则保存到SR(Status Reg)状态寄存器中。超声波阵列(Ultra-sonic Array)和温度传感器(Temperature Sensor)则将处理的结果发送到角度距离测量单元(Angle Distance Unit),通过优化的TDoA与MUSIC算法计算出波达,并将结果保存到各自的Data寄存器中。其他外设可以通过SPI总线连接到SPI BusBridge,读写相应的寄存器,控制片上系统实现测距和测量角度功能。
图4 FPGA定位测距系统内部设计图Fig.4 Internal design diagram of FPGA positioning and distance measurement system
2.3 超声波接收测距定位系统FPGA内部寄存器设计
超声波接收测距定位系统FPGA内部寄存器设计如表1所示。
表1 FPGA内部寄存器Table 1 FPGA internal registers寄存器名称 地址 位宽 读写 功能Cmd 0x00r/w 控制其他寄存器的读写Control 0x01r/w 超声波阵列触发控制寄存器Status 0x02超声波阵列接收状态寄存器Data 0x038 8 8 32 r r 距离角度/距离温度寄存器
3 系统程序设计
本文设计的硬件平台是Lattice XO2-4000 FPGA,使用Verilog语言设计,程序流程图如图5所示。
首先上电初始化,包括时钟倍频、各寄存器初始化默认值等;然后并行处理超声波检测和温度检测。超声波阵列在接收到触发脉冲时才会进入接收模式,触发脉冲有两种方式触发,一种通过SPI访问控制寄存器强制触发,另一种是接收到信源通过蓝牙发来的同步信号。超声波阵列接收到触发脉冲后,进入接收模式,接收成功或者失败,都会将结果更新到状态寄存器和数据寄存器。同理将采集到的温度值也保存到对应的温度寄存器中,以修
正超声波的传播速度结果。TDoA/MUSIC将寄存器的结果提取出来,计算出波达角度和距离,并保存到SPI数据寄存器中,更新SPI状态寄存器,通知其他设备读取结果。
图5 FPGA内部程序流程图Fig.5 Flow chart for internal programs of FPGA
4 实验测试结果
为了进一步验证阵元目数和测量算法对超声波阵列定位测量精度的影响,选取8 m×8 m矩形区域作为实验场地。按照上述的设计方法搭建实验平台。阵元间距为5 mm,蓝牙选择NRF2832并烧录串口透传固件,温度传感器为DS18B20。实验验证超声阵列在区域内随机选取一点作为阵列接收点,在选择另外一点作为信源发射点,测出相对接收阵列的角度与距离。表2~表4列出了测量结果。
表26 目阵元TDoA/MUSIC算法测试结果Table 2 Test results of 6-array element TDoA/MUSIC algorithm实际距离/m 测量距离/m 实际角度θ/(°)测量角度θ/(°)30.91 2 3 4 5 61.05-30.0-28.92.04-15.0-14.32.97-5.0-6.13.965.05.94.9415.016.06.0530.0
由表2、表3可以看出当采用本文算法时,随着阵列阵元目数的增加,测量精度显著提高。
由表3、表4可以看出当阵元目数一定时,本文MUSIC算法提升了角度测量精度。
表34 目阵元TDoA/MUSIC算法测试结果Table 3 Test results of 4-array element TDoA/MUSIC algorithm实际距离/m 测量距离/m 实际角度θ/(°)测量角度θ/(°)31.91 2 3 4 5 61.10-30.0-28.12.08-15.0-13.52.903.92-5.05.0-6.65.74.9115.016.86.0730.0
表44 目阵元TDoA算法测试结果Table 4 Test results of 4-array element TDoA algorithm实际距离/m 1 2 3 4 5 6测量距离/m 1.112.072.933.944.916.08实际角度θ/(°)-30.0-15.0-5.05.015.030.0测量角度θ/(°)-27.1-12.6-7.37.417.532.6
2种接收阵列实物图如图6所示。
图62 种接收阵列实物图Fig.6 Pictures of two receiving arrays
5 结 语
本文提出一种以FPGA为核心的超声波阵列测量定位系统。该系统采用先进的MUSIC和TDoA算法,设计SOC硬件平台,使用蓝牙4.2同步发送和接收。而且为了提高精度,采用
超声波阵列接收处理信源发来的信号,由FPGA计算出信源相对阵列的距离和角度。实验表明,该系统具有测量精度高、速度快、性价比高等优点,因此具有一定的实用价值和推广价值。

本文发布于:2024-09-21 14:51:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/94922.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测量   超声波   距离
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议