APP下载

室内定位系统设计

2021-10-20张德立廖长荣

科学技术创新 2021年28期
关键词:测距基站标签

张德立 牛 瑞 廖长荣

(1、重庆市第一中学校,重庆 400030 2、重庆文理学院,重庆 402160)

随着5G 时代的到来和智慧城市建设的提出,位置信息备受人们关注。定位技术按照定位范围的大小可分为广域定位和局域定位两类,广域定位技术已经相对成熟,但在室内或不空旷地带由于卫星定位信号受到建筑物或树木的遮挡,经常出现定位不准或无法定位的情况,无法满足局域定位的需求,因此,室内定位技术逐步成为工业和学术界发展的热点,高精度的室内定位具有重要的价值和意义[1]。

目前已经进入商业化应用的室内定位技术方案并不多,主要是基于WLAN 定位、蓝牙定位、红外线定位和超宽带定位。超宽带定位(UWB 定位)技术具有定位距离远、精度高、稳定性强等优点,是室内定位技术研究与发展的方向[2-3]。

本室内定位系统设计采用基于DW1000 芯片的UWB 定位技术,UWB 定位需要不断的收发极窄的脉冲信号,信号一般在纳秒级,通过计算接收到信号的时间差实现定位,需要提前安装信号发射源作为基站或标签,测得不同标签和基站距离即可实现多地址定位。

1 系统整体架构

1.1 室内定位系统的组成

本设计室内定位系包含由DW1000 测距芯片的硬件和对距离信息实时计算分析的软件系统。整个室内定位系统由基站和标签组成,本室内定位系统采用四个基站加两个标签组合。系统的总体构架如图1 所示。

1.1.1 基站(ANTHOR)

四个基站需要固定在室内场所的某个角落,基站的选址应尽量防高,中间无障碍物遮挡,在软件系统中设定四个基站间准确的距离,选择空间坐标的原点。基站一的UWB 信号模块接收到来自标签的UWB 信号后,将信号转化位数字信息发送给STM32F1 微处理器(MCU)进行数据处理,MCU 根据得到的数字信息计算出基站一到标签的距离diss1,其他三个基站的距离按相同原理获得,MCU 收到标签到四基站的距离后,软件系统开始对距离信息处理,计算出标签的三维坐标。

1.1.2 标签(TAG)

标签的主要作用是以非常高的频率向周围的基站不断发送UWB 信号,只要标签在基站所覆盖的范围内,就可实时定位。标签的软件系统中设定不同的ID 号,为保证定位的准确性,必须设定一个主标签,从标签可按需求增加。

1.2 系统整体框图(图1)

二维的平面定位至少需要用到三个基站,一个标签;三维的空间定位至少需要四个基站,一个标签。

2 系统硬件设计

2.1 基站与标签的整体结构

室内定位系统主要由DW1000 测距模块、显示电路模块、电源管理模块和单片机最小系统构成,系统的整体结构如图2 所示,程序中将DW1000 设置不同的工作模式,因此基站和标签的硬件相同。

2.2 UWB 信号收发模块

DW1000 芯片的信号收发电路是室内定位系统中最重要的一份部分,DW1000 信号收发电路部分的主要功能是接收和发送UWB 信号,计算基站和标签之间的距离,该硬件的布局和天线的设计直接影响到定位的精度和定位灵敏性。DW1000 信号收发模块原理图如图3 所示[5-6]。

图3 DW1000 信号收发电路

2.3 核心控制模块

MCU 采用STM32F103C8T6 单片机,该单片机拥有SPI 总线接口,以Cortex-M3 为内核,程序的存储器容量达64KB,工作电压在2V~3.6V,可与DW1000 芯片一样使用3.3V 电源供电。其工作频率达72MHz,对DW1000 芯片测距几乎不会造成误差影响[7]。

3 系统软件设计

3.1 主程序设计

系统软件设计主要实用MATLAB 和Keil uVsion5 两个软件,将定位算法首先在MATLAB 软件中测试,待定位算法测试通过以后,将算法内容用C 语言方式表达出来,C 程序在Keil uVsion5 平台上编写,下载到STM32F1 单片机中。程序主要计算定位模块传来的标签距离信息实现最终定位[13]。

系统启动后MCU 和外设进行初始化,再判断模块的工作模式,如果为工作模式标签,则发送定位信号,如果工作模式为基站,则接收定位信息,最后将发送和接收的信息返回给标签进行处理,计算出位置坐标信息。

3.2 标签的软件设计

标签和单片机之间采用SPI 串口通信,通信过程主要经过三个阶段,初始化时序阶段,读时序阶段和写时序阶段[14]。首先DW1000 芯片进行初始化,进入发送模式,即标签模式。DW1000芯片在MCU 的控制下,严格按照高八位地址,第八位数据的规则和时序先后顺序进行数据传输,否则会出现读写失败或数据乱码。

3.3 基站的软件设计

与标签工作流程相似,单片机与基站之间采用SPI 通信。MCU 和DW1000 芯片初始化,工作模式设为基站模式,即接收状态。MCU 检测是否收到由标签发送的连接数据,接收到连接数据后,MCU 控制DW1000 接收来自标签的UWB 位置信息数据,通过SPI 串口,MCU 将接收到的UWB 信息进行定位算法分析,计算标签的位置坐标,并将计算出的距离信息再次返还给基站,基站在显示屏上显示离标签的距离。

3.4 卡尔曼滤波设计

卡尔曼滤波(Kalman 滤波)是一种线性系统的状态方程组,它根据系统的输入量和输出量数据,推测预算系统下一步即将输出的数据,得出一种对系统下一步状态进行估算的最优方法。卡尔曼滤波主要有两个过程,预测过程和滤波过程。预测过程是根据K 点的状态对k+1 点的状态进行估计,预测过程会增大状态量的不确定性;滤波过程是剔除数据中的其他杂波,留下最主要最真实的数据,提高数据准确性。

随着科技的发展,用编程的方法实现卡尔曼滤波技术已经非常成熟,通过编程实现卡尔曼滤波,可对现场采集的数据组进行实时处理,目前在导航、通信、控制等领域都有着广泛的应用。

4 系统测试结果

系统测试分为测距测试和三维定位测试。系统总共4 个基站,基站的位置固定不动,在测距测试中使用一个基站加一个标签组合,测出测距范围,即最小测距距离和最大测距距离。定位测试和测距测试一样,分别测试两个不同ID 号的标签在基站中的位置坐标准确度。

4.1 测距测试

测距范围测试,基站和标签的距离从0 开始以5m 递增,记录测量值以及最大测距范围。

将表1 中的10 组数据绘制曲线图,曲线图如图4 所示。用MATLAB 软件分别绘制实际距离曲线(图4 中偏上方曲线)和测量距离(图4 中偏下方曲线)曲线,两条曲线基本重合,当测量距离超过40m 时,测量结果会出现明显偏差,主要是因为测量距离超出系统UWB 信号发送的范围。

表1 测距结果统计表

图4 测距测试结果曲线图

4.2 三维定位测试

固定四个基站的位置,测试标签的平面坐标。4 基站坐标分别为A0(0,0,0),A1(8,0,0),A2(0,5,0),A4(0,0,3),标签坐标为T(X,Y,Z),R1,R2,R3 分别为标签到基站的距离。

将表2 中的8 组数据绘制三维定位曲线图,曲线图如图5所示。

表2 三维定位测试结果统计表

图5 三维定位测试结果曲线图

4.3 测距结果分析

测距的最大距离是40m,平面定位精度为低于7-8cm,三维定位精度为9cm,低于10cm,满足设计要求。系统定位范围在5-30m 范围内,定位效果最佳,超过40m,定位误差逐渐增大,超过45m 无法实现定位。

5 结论

本文设计一款基于DW1000 的高精度室内定位系统,该系统对定位算法的精确性和硬件的设计及时钟精确同步都有着非常高的要求,系统的三维定位能精确测得标签的高度,有着巨大的市场应用前景。

猜你喜欢

测距基站标签
基于RSSI测距的最大似然估计的节点定位算法
5G基站辐射对人体有害?
基于STM32的多通道超声波测距系统设计
5G基站辐射对人体有害?
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
基于移动通信基站建设自动化探讨
浅谈超声波测距
可恶的“伪基站”
让衣柜摆脱“杂乱无章”的标签