CN110972056B - 一种基于机器学习的uwb室内定位方法 - Google Patents

一种基于机器学习的uwb室内定位方法 Download PDF

Info

Publication number
CN110972056B
CN110972056B CN201911091885.XA CN201911091885A CN110972056B CN 110972056 B CN110972056 B CN 110972056B CN 201911091885 A CN201911091885 A CN 201911091885A CN 110972056 B CN110972056 B CN 110972056B
Authority
CN
China
Prior art keywords
value
data
network model
hidden layer
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911091885.XA
Other languages
English (en)
Other versions
CN110972056A (zh
Inventor
尹玲
谢志军
俞建成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University
Original Assignee
Ningbo University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN201911091885.XA priority Critical patent/CN110972056B/zh
Publication of CN110972056A publication Critical patent/CN110972056A/zh
Application granted granted Critical
Publication of CN110972056B publication Critical patent/CN110972056B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于机器学习的UWB室内定位方法,首先在在待定位室内均匀布置与服务器连接的多个基站,并将将待定位室内按横向和纵向将空间划分为多个区域构建坐标系,然后在室内采集相关数据后对构建的BP神经网络模型进行训练和验证,最后通过训练完成的BP神经网络模型进行定位,获取位置坐标;优点是定位精度高,定位实时性强。

Description

一种基于机器学习的UWB室内定位方法
技术领域
本发明涉及一种室内定位方法,尤其是涉及一种基于机器学习的UWB室内定位方法。
背景技术
随着更多新型移动设备比如手机、平板电脑、可穿戴设备等物联网设备的性能飞速增长和基于位置感知应用的激增,位置感知发挥了越来越重要的作用。而室外定位和基于位置的服务已经成熟,基于GPS和地图的位置服务被广泛应用。近年来,位置服务的相关技术和产业正向室内发展以提供无所不在的基于位置的服务,其主要推动力是室内位置服务所能带来的巨大的应用和商业潜能。未来无线定位技术的趋势是室内定位与室外定位相结合,实现无缝的、精确的定位。
在现有的网络技术中UWB(Ultra Wideband,超宽带无线通信技术)室内定位技术由于功耗低、抗多径效果好、安全性高、系统复杂度低和定位精度极高等优点,在众多无线定位技术中脱颖而出。目前基于UWB的定位原理和卫星定位类似,需要依靠最少3个已知位置的室内基站进行定位,需要定位的人员或设备携带定位标签,定位标签按照一定的频率发射脉冲,不断地和已知位置的基站进行测距,基站接受标签发射的脉冲信号并通过网线或者WiFi信号传输到交换机与服务器,在服务器软件中运用一定的精确算法进行位置解算,实时显示全局标签的位置。目前应用最普遍、效果相对较好的精确定位算法是TODA(信号到达时间差)定位算法,通过测量信号到达监测基站的时间,可以确定信号源的距离。利用信号源到各个监测基站的距离(以监测基站为中心,距离为半径作圆),就能确定信号的位置。
基于UWB较高的传输速率和较好的实时性,结合TODA定位算法,大致上可以满足无线定位的要求。但这种定位方法会产生一个严重的问题——多径效应,即宽带信号沿着不同路径传输时,由于不同路径有不同时延,定位标签在同一时刻发出的信号分别沿着不同路径而在接收基站处前后重叠,加上传播过程中还有各种障碍物所引起的散射波,从而引起多径效应,最终造成定位精度差,定位实时性差,从而阻碍了UWB定位技术的推广和应用。
发明内容
本发明所要解决的技术问题是提供一种定位精度高,定位实时性强的基于机器学习的UWB室内定位方法。
本发明解决上述技术问题所采用的技术方案为:一种基于机器学习的UWB室内定位方法,包括以下步骤:
①在待定位室内均匀布置K个基站,K为大于等于3的整数,对K个基站进行编号,将第k个基站的编号记为ANk,k=1,2,…,K,K个所述的基站分别通过网线互相连接并最终汇聚到一个服务器上;
将待定位室内按横向和纵向将空间划分为L个区域,其中横向方向按其最大长度均分为L1份,纵向方向沿其最大长度方向均分为L2份,L1和L2分别为大于3且小于6的整数,L=L1×L2;
将每个区域的中心点位置作为该区域位置,如果该区域为非中心对称区域,则取该区域的横向边线的中垂线与纵向边线的中垂线的相交点作为该区域的中心点位置;
将第l个区域标记为Sl,l=1,2,…,L;
以待定位室内任意墙角为原点,将横向方向作为x轴方向,纵向方向作为y轴方向构建室内区域的二维坐标系,测试人员测量获取每个区域的中心点位置坐标以及每个基站的位置坐标,将第l个区域的中心点位置坐标记为(xl,yl),将第k个基站的位置坐标记为(Xk,Yk);将所得的L个区域的中心点位置坐标和K个所述的基站的位置坐标都存入服务器的数据库;
②数据采集:让待定位空间内的K个基站都处于接收状态,测试人员携带定位标签依次站在区域S1~SL的中心点位置处,在每个区域中心点位置处定位标签以广播的方式向室内空间发射N次脉冲信号,每次间隔时间为8ms,N为大于等于10且小于等于20的整数,每个基站每接收一次脉冲信号都产生一个含有接收时间戳的报文发送给所述的服务器,所述的服务器每次收到K个含有接收时间戳的报文后,对K个含有接收时间戳的报文进行数据提取,获取对应基站的接收时间戳,并运行Excel程序,将收到的K个基站的接收时间戳按照基站的次序排序,得到一行包括K个接收时间戳的数据,定位标签在每个区域中心点位置发射完N次脉冲信号后,服务器相应的得出了N行包括K个接收时间戳的数据,由此得到定位标签在每个区域的N行K列的数据集矩阵,共有L个,将第l个区域Sl处的数据集矩阵记为
Figure GDA0002616967360000031
采用式(1)表示为:
Figure GDA0002616967360000032
其中,
Figure GDA0002616967360000033
表示测试人员携带定位标签在区域Sl的中心点位置第n次发射脉冲信号时,第k个所述的基站接到该脉冲信号的接收时间戳,n=1,2,…,N;
按照
Figure GDA0002616967360000034
的顺序将
Figure GDA0002616967360000035
这L个数据集矩阵排列,并且从
Figure GDA0002616967360000036
开始直至
Figure GDA0002616967360000037
结束,将
Figure GDA0002616967360000038
这L个数据集矩阵均分为Ll份,其中
Figure GDA0002616967360000039
其中,max(L1,L2)表示取L1和L2中的较大值;采用第1份至第Ll-1份数据集矩阵中的数据构成训练数据集,该训练数据集记为D1
Figure GDA00026169673600000310
训练数据集D1包括N×(max(L1,L2)×(Ll-1))行数据,将第Ll份数据集矩阵作为测试数据集,该测试数据集记为D2
Figure GDA00026169673600000311
D2包括N×max(L1,L2)行数据;
③构建BP神经网络模型:所述的BP神经网络模型包括从上到下依次排布的输入层、第一隐藏层、第二隐藏层和输出层,所述的输入层共有K0个神经单元,K0=K;所述的第一隐藏层共有K1个神经单元,K1为大于等于100且小于等于300的整数,所述的第二隐藏层共有K2个神经单元,K2为大于等于100且小于等于300的整数,所述的输出层共有K3个神经单元,K3=2,所述的BP神经网络模型中位于的同一层的任意两个神经单元互不连接,而位于相邻两层的所有神经单元全连接;
将所述的输入层与所述的第一隐藏层之间的权值矩阵记为w1,将所述的第一隐藏层与所述的第二隐藏层之间的权值矩阵记为w2,将所述的第二隐藏层与所述的输出层之间的权值矩阵记为w3,w1、w2和w3分别采用式(2)、(3)和(4)表示为:
Figure GDA0002616967360000041
Figure GDA0002616967360000042
Figure GDA0002616967360000043
其中,
Figure GDA0002616967360000044
表示输入层的第k0个神经单元与第一隐藏层的第k1个神经单元之间的连接权值,k0=1,2,…,K0,k1=1,2,…,K1;
Figure GDA0002616967360000045
表示第一隐藏层的第k1个神经单元与第二隐藏层的第k2个神经单元之间的连接权值,k2=1,2,…,K2,
Figure GDA0002616967360000046
表示第二隐藏层的第k2个神经单元与输出层的第k3个神经单元之间的连接权值,k3=1,2;
将所述的第一隐藏层的值向量记为h1
Figure GDA0002616967360000047
Figure GDA0002616967360000048
表示第一隐藏层中第k1个神经单元的值;
将所述的第二隐藏层的值向量记为h2
Figure GDA0002616967360000049
Figure GDA00026169673600000410
表示第二隐藏层中第k2个神经单元的值;
将所述的输出层的值向量记为h3
Figure GDA0002616967360000051
Figure GDA0002616967360000052
表示输出层中第k3个神经单元的值,所述的BP神经网络模型输出的位置坐标为
Figure GDA0002616967360000053
Figure GDA0002616967360000054
表示位置坐标的横坐标的值,
Figure GDA0002616967360000055
表示位置坐标的纵坐标的值;
④对所述的BP神经网络模型的w1、w2和w3进行训练,得到训练后的BP神经网络模型,具体过程为:
步骤4-1、对所述的输入层与所述的第一隐藏层之间的权值矩阵w1、所述的第一隐藏层与所述的第二隐藏层之间的权值矩阵w2、所述的第二隐藏层与所述的输出层之间的权值矩阵w3分别采用随机函数进行初始化,将
Figure GDA0002616967360000056
分别初始化为0~0.1之间的随机数;
步骤4-2、设定训练次数变量T,对T进行初始化,令T=1;
步骤4-3、对所述的BP神经网络模型进行第T次训练,具体方法为:
步骤4-3-1、将训练数据集D1的第T行数据作为所述的BP神经网络模型的输入数据从所述的输入层输入,得到所述的输入层中第k0个输入神经单元的值,将训练数据集D1的第T行数据中位于第k列的数据记为
Figure GDA0002616967360000057
所述的输入层中第k0个输入神经单元的值等于训练数据集D1的第T行数据中第k0列的数据
Figure GDA0002616967360000058
步骤4-3-2、采用式(5)计算第一隐藏层中第1个至第K1个神经单元的值,得到第一隐藏层的值向量h1,其中k1=1,2,…,K1:
Figure GDA0002616967360000059
式(5)中,计算时
Figure GDA00026169673600000510
的取值为其当前最新值,∑为累加符号;
步骤4-3-3、采用式(6)计算第二隐藏层中第1个至第K2个神经单元的值,得到第二隐藏层的值向量h2,其中k2=1,2,…,K2:
Figure GDA00026169673600000511
式(6)中,计算时
Figure GDA00026169673600000512
Figure GDA00026169673600000513
的取值均为其当前最新值;
步骤4-3-4、采用式(7)计算第三隐藏层中第1个至第K3个神经单元的值,得到输出层的值向量h3,其中k3=1,2:
Figure GDA0002616967360000061
式(7)中,计算时
Figure GDA0002616967360000062
Figure GDA0002616967360000063
的取值均为其当前最新值;
步骤4-3-5、从输出层开始反向计算每一层中每个神经单元的残差项并对各权值矩阵进行更新,具体过程为:
A、将输出层的第1个神经单元的残差项记为
Figure GDA0002616967360000064
第2个神经单元的残差项记为
Figure GDA0002616967360000065
采用式(8)计算得到
Figure GDA0002616967360000066
Figure GDA0002616967360000067
Figure GDA0002616967360000068
式(8)中,
Figure GDA0002616967360000069
Figure GDA00026169673600000610
的取值均为其最新值,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值;
B、采用
Figure GDA00026169673600000611
的当前最新值加上
Figure GDA00026169673600000612
的和去更新
Figure GDA00026169673600000613
的取值,并采用更新后的
Figure GDA00026169673600000614
去更新权值矩阵w3,得到更新后的权值矩阵w3,其中η=0.5,计算时
Figure GDA00026169673600000615
Figure GDA00026169673600000616
的取值为其当前最新值,;
C、将第二隐藏层的残差项记为
Figure GDA00026169673600000617
采用向量表示为:
Figure GDA00026169673600000618
式(9)中
Figure GDA00026169673600000619
表示第二隐藏层的第k2个神经单元的残差项;
D、采用式(10)计算得到
Figure GDA00026169673600000620
Figure GDA00026169673600000621
式(10)中,计算时
Figure GDA00026169673600000622
的取值均为其当前最新值;
E、采用
Figure GDA00026169673600000623
的当前最新值加上
Figure GDA00026169673600000624
的和去更新
Figure GDA00026169673600000625
并采用更新后
Figure GDA00026169673600000626
去更新权值矩阵w2,得到更新后的权值矩阵w2,其中,k1=1,2,…,K1,k2=1,2,…,K2,计算时
Figure GDA0002616967360000071
Figure GDA0002616967360000072
的取值均为其当前最新值;
F、将第一隐藏层的残差项记为
Figure GDA0002616967360000073
采用向量表示为:
Figure GDA0002616967360000074
式(11)中
Figure GDA0002616967360000075
表示第一隐藏层的第k1个神经单元的残差项;
G、采用式(12)计算得到
Figure GDA0002616967360000076
Figure GDA0002616967360000077
式(12)中,计算时
Figure GDA0002616967360000078
Figure GDA0002616967360000079
的取值均为其当前最新值;
H、采用
Figure GDA00026169673600000710
的当前最新值加上
Figure GDA00026169673600000711
的和去更新
Figure GDA00026169673600000712
并采用更新后
Figure GDA00026169673600000713
去更新权值矩阵w1,得到更新后的权值矩阵w1,其中,k1=1,2,…,K1,k0=1,2,…,K0,计算时
Figure GDA00026169673600000714
Figure GDA00026169673600000715
的取值均为其当前最新值;
步骤4-3-6、采用误差函数来衡量所述的BP神经网络模型输出的位置坐标和实际坐标之间的误差,误差函数采用式(13)和式(14)表示为:
Figure GDA00026169673600000716
Etotal=Eo1+Eo2 (14)
式(13)和式(14)中,Eo1表示BP神经网络模型输出的位置坐标的横坐标误差,Eo2表示BP神经网络模型输出的位置坐标的纵坐标误差,Etotal表示BP神经网络模型输出的位置坐标的总误差,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值,
Figure GDA00026169673600000717
Figure GDA00026169673600000718
的取值为其当前最新值;
步骤4-3-7、判定Etotal的取值是否小于等于2,如果小于等于2,则完成对所述的BP神经网络模型的训练,如果大于2,则判断T的取值是否等于N×(max(L1,L2)×(Ll-1)),如果等于,则满足所述的BP神经网络模型的训练完成条件,所述的BP神经网络模型的w1、w2和w3取值为其当前最新值,得到训练后的BP神经网络模型,如果不等于,则采用T的当前值加1的和更新T的值,然后返回步骤4-3-1进行下一次训练,直到满足所述的BP神经网络模型的训练完成条件;
⑤采用测试集D2对训练后的BP神经网络模型进行验证测试,具体过程为:
步骤5-1、设定测试验证次数变量Q,对Q进行初始化,令Q=1;
步骤5-2、输入测试数据集D2中的第Q行数据到训练后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure GDA0002616967360000081
所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure GDA0002616967360000082
步骤5-3、利用步骤4-3-2~步骤4-3-4相同的方法对步骤④得到的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3进行验证过程中的第Q次更新,得到更新后的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3
步骤5-4、根据上述最后一次更新得到的h3与测试集D2的第Q行数据对应的实际区域的中心点位置坐标,利用式(13)和(14)计算所述的BP神经网络模型输出的位置坐标与实际区域的中心点处位置坐标的之间总误差,将横坐标误差记为
Figure GDA0002616967360000083
纵坐标误差记为
Figure GDA0002616967360000084
总误差记为
Figure GDA0002616967360000085
判定
Figure GDA0002616967360000086
是否小于2,如果小于2,则直接进入步骤5-5,如果大于等于2,则先采用梯度下降方法来优化BP神经网络模型后再进入步骤5-5,采用梯度下降方法来优化BP神经网络模型的具体过程为:
步骤5-4-1、将w3相对于
Figure GDA0002616967360000087
的梯度记为Λ3,利用求偏导方法计算Λ3,如式(15)所示:
Figure GDA0002616967360000088
式(15)中,
Figure GDA0002616967360000091
Figure GDA0002616967360000092
分别计算如下:
Figure GDA0002616967360000093
Figure GDA0002616967360000094
Figure GDA0002616967360000095
Figure GDA0002616967360000096
上式中,计算时
Figure GDA0002616967360000097
Figure GDA0002616967360000098
的取值为其最新值;
由此,得到式(20),如下所示:
Figure GDA0002616967360000099
(2)将第一隐藏层与第二隐藏层之间的权值矩阵w2相对于
Figure GDA00026169673600000910
的梯度记为Λ2,Λ2利用求偏导方法计算如下:
Figure GDA00026169673600000911
其中,
Figure GDA00026169673600000912
Figure GDA00026169673600000913
分别计算如下:
Figure GDA00026169673600000914
Figure GDA00026169673600000915
Figure GDA00026169673600000916
上式中,计算时
Figure GDA00026169673600000917
取值均为其最新值;
由此,得到式(25),如下所示:
Figure GDA0002616967360000101
(3)将输入层与第一隐藏层之间的权值矩阵w1相对于
Figure GDA0002616967360000102
的梯度记为Λ1,Λ1计算如下:
Figure GDA0002616967360000103
其中,
Figure GDA0002616967360000104
Figure GDA0002616967360000105
分别计算如下:
Figure GDA0002616967360000106
Figure GDA0002616967360000107
Figure GDA0002616967360000108
由此,得到式(30),如下所示:
Figure GDA0002616967360000109
步骤5-4-2、采用
Figure GDA00026169673600001010
的值更新w1
Figure GDA00026169673600001011
的值,得到更新后的w1,采用
Figure GDA00026169673600001012
的值更新w2
Figure GDA00026169673600001013
的值,得到更新后的w2,采用
Figure GDA00026169673600001014
的值更新w3
Figure GDA00026169673600001015
的值,得到更新后的w3,其中,每次计算时
Figure GDA00026169673600001016
Figure GDA00026169673600001017
的取值均为其最新值,η1=0.3;
步骤5-4-3、利用更新后的权值矩阵w1、w2、w3更新当前BP神经网络模型,将输入测试数据集D2中的第Q行数据输入到更新后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure GDA00026169673600001018
所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure GDA00026169673600001019
按照步骤5-3的方法再次输出h3,将本次得到的值向量h3作为当前最新值向量,得到最新位置坐标;
步骤5-4-4、基于最新位置坐标,再次计算误差值
Figure GDA0002616967360000111
判定得到的
Figure GDA0002616967360000112
是否小于等于2,若满足,则验证过程结束,当前最新的BP神经网络模型作为训练完成的BP神经网络模型,如果不满足,则判断Q是否等于N×max(L1,L2),如果等于,则验证过程结束,当前最新的BP神经网络模型作为训练完成的BP神经网络模型,如果不等于,则将采用Q的当前值加1的和更新Q的值,重复上述步骤5-2~步骤5-4,直至验证过程结束;
⑥采用步骤⑤最终得到的训练完成的BP神经网络模型进行定位,具体过程为:
步骤6-1、待定位人员携带可发射脉冲信号的定位标签在待定位室内进行日常活动时,待定位空间内的K个基站都处于接收状态,进行定位工作时,待定位人员携带的可发射脉冲信号的定位标签以广播的方式向待定位室内空间发射M次脉冲信号,每次间隔时间为8ms,M为大于等于10且小于等于20的整数;待定位室内每个基站每接收一次脉冲信号都产生一个含有接收时间戳的报文发送给所述的服务器,所述的服务器每次收到K个含有接收时间戳的报文后,对K个含有接收时间戳的报文进行数据提取,获取对应基站的接收时间戳,并运行Excel程序,将收到的K个基站的接收时间戳按照基站的次序排序,得到一行包括K个接收时间戳的数据;
定位标签发射完M次脉冲信号后,服务器相应的得出了M行包括K个接收时间戳的数据,由此得到待定位人员携带的定位标签当前所处位置处的M行K列的数据集矩阵t,t采用式(31)表示为:
Figure GDA0002616967360000113
tk,m表示第k个基站接收到的第m次脉冲信号时的时间戳,其中k=1,2,…,K,m=1,2,…,M;
步骤6-2、计算K×M的值,并进行判定操作:
若K×M<K0,对时间戳矩阵t进行更新,具体为:复制时间戳矩阵t的第1行为时间戳矩阵t的M+1行,复制时间戳矩阵t的第2行为时间戳矩阵的第M+2行,以此类推,如果复制时间戳矩阵t的第1行至第m行后,时间戳矩阵t内的数据数量仍小于K0,则再次从时间戳矩阵t的第1行开始赋值,直至时间戳矩阵t内的数据数量大于等于K0,然后从当前时间戳矩阵t的第1行第1列数据开始,按行依次统计至第K0个数据,将第K0个数据之后的数据删除;
若K×M=K0,时间戳矩阵t保持不变;
若K×M>K0,对时间戳矩阵t进行更新,具体为:从第1行第1列数据开始,按行依次统计至第K0个数据,将第K0个数据之后的数据删除;
步骤6-3、将步骤6-2得到的时间戳矩阵t中K0个数据输入最终得到的BP神经网络模型,这K0个数据分别对应着BP神经网络模型的输入层的K0个神经单元,输入层的第k0个神经单元的值等于时间戳矩阵t的第k0个数据,BP神经网络模型的输出层输出值向量
Figure GDA0002616967360000121
步骤6-4、定位得到的位置坐标为
Figure GDA0002616967360000122
实现定位。
与现有技术相比,本发明的优点在于利用超宽带无线通信技术UWB结合神经网络技术,构建一个层次清晰的BP神经网络模型,构建的BP神经网络模型具有一个输入层、两个隐藏层以及一个输出层,层次简单而清晰,通过从待定位室内提取的时间戳数据作为训练数据来对BP神经网络模型进行训练,并且在提取训练数据阶段,事先将待定位室内划分为大小合理的几个区域,分别在几个区域中心点处发射脉冲信号,由几个基站分别接收产生时间戳数据并汇聚给服务器,采用的是UWB特有的纳秒级非正弦波窄脉冲传输数据,其发射信号功率谱密度低、对信道衰落不敏感,降低了服务器的计算复杂度,在对BP神经网络进行训练时,每输入一次训练数据就计算一次残差反向调整权值矩阵进行迭代更新优化,直至满足优化终止条件,得到最终的权值矩阵并利用此权值矩阵输出定位结果,对定位结果进行误差计算,对于误差大的利用梯度下降方法调整权值矩阵,由此得到精度较高的BP神经网络模型,采用该训练后的BP神经网络模型进行定位时,待定位标签每发射一次脉冲信号,各个基站就产生一次时间戳并及时发送给服务器,服务器每次收到来自几个基站的数据后立马开始进行数据处理后将处理后的数据输入BP神经网络模型中,BP神经网络模型及时输出定位数据,实时性强;由此本发明在在对室内人员进行定位时,定位精度高,定位实时性强。
具体实施方式
以下结合实施例对本发明作进一步详细描述。
实施例:一种基于机器学习的UWB室内定位方法,包括以下步骤:
①在待定位室内均匀布置K个基站,K为大于等于3的整数,对K个基站进行编号,将第k个基站的编号记为ANk,k=1,2,…,K,K个基站分别通过网线互相连接并最终汇聚到一个服务器上;
将待定位室内按横向和纵向将空间划分为L个区域,其中横向方向按其最大长度均分为L1份,纵向方向沿其最大长度方向均分为L2份,L1和L2分别为大于3且小于6的整数,L=L1×L2;
将每个区域的中心点位置作为该区域位置,如果该区域为非中心对称区域,则取该区域的横向边线的中垂线与纵向边线的中垂线的相交点作为该区域的中心点位置;
将第l个区域标记为Sl,l=1,2,…,L;
以待定位室内任意墙角为原点,将横向方向作为x轴方向,纵向方向作为y轴方向构建室内区域的二维坐标系,测试人员测量获取每个区域的中心点位置坐标以及每个基站的位置坐标,将第l个区域的中心点位置坐标记为(xl,yl),将第k个基站的位置坐标记为(Xk,Yk);将所得的L个区域的中心点位置坐标和K个基站的位置坐标都存入服务器的数据库;
②数据采集:让待定位空间内的K个基站都处于接收状态,测试人员携带定位标签依次站在区域S1~SL的中心点位置处,在每个区域中心点位置处定位标签以广播的方式向室内空间发射N次脉冲信号,每次间隔时间为8ms,N为大于等于10且小于等于20的整数,每个基站每接收一次脉冲信号都产生一个含有接收时间戳的报文发送给服务器,服务器每次收到K个含有接收时间戳的报文后,对K个含有接收时间戳的报文进行数据提取,获取对应基站的接收时间戳,并运行Excel程序,将收到的K个基站的接收时间戳按照基站的次序排序,得到一行包括K个接收时间戳的数据,定位标签在每个区域中心点位置发射完N次脉冲信号后,服务器相应的得出了N行包括K个接收时间戳的数据,由此得到定位标签在每个区域的N行K列的数据集矩阵,共有L个,将第l个区域Sl处的数据集矩阵记为
Figure GDA0002616967360000141
采用式(1)表示为:
Figure GDA0002616967360000142
其中,
Figure GDA0002616967360000143
表示测试人员携带定位标签在区域Sl的中心点位置第n次发射脉冲信号时,第k个基站接到该脉冲信号的接收时间戳,n=1,2,…,N;
按照
Figure GDA0002616967360000144
的顺序将
Figure GDA0002616967360000145
这L个数据集矩阵排列,并且从
Figure GDA0002616967360000146
开始直至
Figure GDA0002616967360000147
结束,将
Figure GDA0002616967360000148
这L个数据集矩阵均分为Ll份,其中
Figure GDA0002616967360000149
其中,max(L1,L2)表示取L1和L2中的较大值;采用第1份至第Ll-1份数据集矩阵中的数据构成训练数据集,该训练数据集记为D1
Figure GDA00026169673600001410
训练数据集D1包括N×(max(L1,L2)×(Ll-1))行数据,将第Ll份数据集矩阵作为测试数据集,该测试数据集记为D2
Figure GDA00026169673600001411
D2包括N×max(L1,L2)行数据;
③构建BP神经网络模型:BP神经网络模型包括从上到下依次排布的输入层、第一隐藏层、第二隐藏层和输出层,输入层共有K0个神经单元,K0=K;第一隐藏层共有K1个神经单元,K1为大于等于100且小于等于300的整数,第二隐藏层共有K2个神经单元,K2为大于等于100且小于等于300的整数,输出层共有K3个神经单元,K3=2,BP神经网络模型中位于的同一层的任意两个神经单元互不连接,而位于相邻两层的所有神经单元全连接;
将输入层与第一隐藏层之间的权值矩阵记为w1,将第一隐藏层与第二隐藏层之间的权值矩阵记为w2,将第二隐藏层与输出层之间的权值矩阵记为w3,w1、w2和w3分别采用式(2)、(3)和(4)表示为:
Figure GDA0002616967360000151
Figure GDA0002616967360000152
Figure GDA0002616967360000153
其中,
Figure GDA0002616967360000154
表示输入层的第k0个神经单元与第一隐藏层的第k1个神经单元之间的连接权值,k0=1,2,…,K0,k1=1,2,…,K1;
Figure GDA0002616967360000155
表示第一隐藏层的第k1个神经单元与第二隐藏层的第k2个神经单元之间的连接权值,k2=1,2,…,K2,
Figure GDA0002616967360000156
表示第二隐藏层的第k2个神经单元与输出层的第k3个神经单元之间的连接权值,k3=1,2;
将第一隐藏层的值向量记为h1
Figure GDA0002616967360000157
Figure GDA0002616967360000158
表示第一隐藏层中第k1个神经单元的值;
将第二隐藏层的值向量记为h2
Figure GDA0002616967360000159
Figure GDA00026169673600001510
表示第二隐藏层中第k2个神经单元的值;
将输出层的值向量记为h3
Figure GDA00026169673600001511
Figure GDA00026169673600001512
表示输出层中第k3个神经单元的值,BP神经网络模型输出的位置坐标为
Figure GDA00026169673600001513
Figure GDA00026169673600001514
表示位置坐标的横坐标的值,
Figure GDA00026169673600001515
表示位置坐标的纵坐标的值;
④对BP神经网络模型的w1、w2和w3进行训练,得到训练后的BP神经网络模型,具体过程为:
步骤4-1、对输入层与第一隐藏层之间的权值矩阵w1、第一隐藏层与第二隐藏层之间的权值矩阵w2、第二隐藏层与输出层之间的权值矩阵w3分别采用随机函数进行初始化,将
Figure GDA0002616967360000161
分别初始化为0~0.1之间的随机数;
步骤4-2、设定训练次数变量T,对T进行初始化,令T=1;
步骤4-3、对BP神经网络模型进行第T次训练,具体方法为:
步骤4-3-1、将训练数据集D1的第T行数据作为BP神经网络模型的输入数据从输入层输入,得到输入层中第k0个输入神经单元的值,将训练数据集D1的第T行数据中位于第k列的数据记为
Figure GDA0002616967360000162
输入层中第k0个输入神经单元的值等于训练数据集D1的第T行数据中第k0列的数据
Figure GDA0002616967360000163
步骤4-3-2、采用式(5)计算第一隐藏层中第1个至第K1个神经单元的值,得到第一隐藏层的值向量h1,其中k1=1,2,…,K1:
Figure GDA0002616967360000164
式(5)中,计算时
Figure GDA0002616967360000165
的取值为其当前最新值,∑为累加符号;
步骤4-3-3、采用式(6)计算第二隐藏层中第1个至第K2个神经单元的值,得到第二隐藏层的值向量h2,其中k2=1,2,…,K2:
Figure GDA0002616967360000166
式(6)中,计算时
Figure GDA0002616967360000167
Figure GDA0002616967360000168
的取值均为其当前最新值;
步骤4-3-4、采用式(7)计算第三隐藏层中第1个至第K3个神经单元的值,得到输出层的值向量h3,其中k3=1,2:
Figure GDA0002616967360000169
式(7)中,计算时
Figure GDA00026169673600001610
Figure GDA00026169673600001611
的取值均为其当前最新值;
步骤4-3-5、从输出层开始反向计算每一层中每个神经单元的残差项并对各权值矩阵进行更新,具体过程为:
A、将输出层的第1个神经单元的残差项记为
Figure GDA0002616967360000171
第2个神经单元的残差项记为
Figure GDA0002616967360000172
采用式(8)计算得到
Figure GDA0002616967360000173
Figure GDA0002616967360000174
Figure GDA0002616967360000175
式(8)中,
Figure GDA0002616967360000176
Figure GDA0002616967360000177
的取值均为其最新值,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值;
B、采用
Figure GDA0002616967360000178
的当前最新值加上
Figure GDA0002616967360000179
的和去更新
Figure GDA00026169673600001710
的取值,并采用更新后的
Figure GDA00026169673600001711
去更新权值矩阵w3,得到更新后的权值矩阵w3,其中η=0.5,计算时
Figure GDA00026169673600001712
Figure GDA00026169673600001713
的取值为其当前最新值,;
C、将第二隐藏层的残差项记为
Figure GDA00026169673600001714
采用向量表示为:
Figure GDA00026169673600001715
式(9)中
Figure GDA00026169673600001716
表示第二隐藏层的第k2个神经单元的残差项;
D、采用式(10)计算得到
Figure GDA00026169673600001717
Figure GDA00026169673600001718
式(10)中,计算时
Figure GDA00026169673600001719
Figure GDA00026169673600001720
的取值均为其当前最新值;
E、采用
Figure GDA00026169673600001721
的当前最新值加上
Figure GDA00026169673600001722
的和去更新
Figure GDA00026169673600001723
并采用更新后
Figure GDA00026169673600001724
去更新权值矩阵w2,得到更新后的权值矩阵w2,其中,k1=1,2,…,K1,k2=1,2,…,K2,计算时
Figure GDA00026169673600001725
Figure GDA00026169673600001726
的取值均为其当前最新值;
F、将第一隐藏层的残差项记为
Figure GDA00026169673600001727
采用向量表示为:
Figure GDA00026169673600001728
式(11)中
Figure GDA0002616967360000181
表示第一隐藏层的第k1个神经单元的残差项;
G、采用式(12)计算得到
Figure GDA0002616967360000182
Figure GDA0002616967360000183
式(12)中,计算时
Figure GDA0002616967360000184
的取值均为其当前最新值;
H、采用
Figure GDA0002616967360000185
的当前最新值加上
Figure GDA0002616967360000186
的和去更新
Figure GDA0002616967360000187
并采用更新后
Figure GDA0002616967360000188
去更新权值矩阵w1,得到更新后的权值矩阵w1,其中,k1=1,2,…,K1,k0=1,2,…,K0,计算时
Figure GDA0002616967360000189
Figure GDA00026169673600001810
的取值均为其当前最新值;
步骤4-3-6、采用误差函数来衡量BP神经网络模型输出的位置坐标和实际坐标之间的误差,误差函数采用式(13)和式(14)表示为:
Figure GDA00026169673600001811
Etotal=Eo1+Eo2 (14)
式(13)和式(14)中,Eo1表示BP神经网络模型输出的位置坐标的横坐标误差,Eo2表示BP神经网络模型输出的位置坐标的纵坐标误差,Etotal表示BP神经网络模型输出的位置坐标的总误差,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值,
Figure GDA00026169673600001812
Figure GDA00026169673600001813
的取值为其当前最新值;
步骤4-3-7、判定Etotal的取值是否小于等于2,如果小于等于2,则完成对BP神经网络模型的训练,如果大于2,则判断T的取值是否等于N×(max(L1,L2)×(Ll-1)),如果等于,则满足BP神经网络模型的训练完成条件,BP神经网络模型的w1、w2和w3取值为其当前最新值,得到训练后的BP神经网络模型,如果不等于,则采用T的当前值加1的和更新T的值,然后返回步骤4-3-1进行下一次训练,直到满足BP神经网络模型的训练完成条件;
⑤采用测试集D2对训练后的BP神经网络模型进行验证测试,具体过程为:
步骤5-1、设定测试验证次数变量Q,对Q进行初始化,令Q=1;
步骤5-2、输入测试数据集D2中的第Q行数据到训练后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure GDA0002616967360000191
输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure GDA0002616967360000192
步骤5-3、利用步骤4-3-2~步骤4-3-4相同的方法对步骤④得到的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3进行验证过程中的第Q次更新,得到更新后的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3
步骤5-4、根据上述最后一次更新得到的h3与测试集D2的第Q行数据对应的实际区域的中心点位置坐标,利用式(13)和(14)计算BP神经网络模型输出的位置坐标与实际区域的中心点处位置坐标的之间总误差,将横坐标误差记为
Figure GDA0002616967360000193
纵坐标误差记为
Figure GDA0002616967360000194
总误差记为
Figure GDA0002616967360000195
判定
Figure GDA0002616967360000196
是否小于2,如果小于2,则直接进入步骤5-5,如果大于等于2,则先采用梯度下降方法来优化BP神经网络模型后再进入步骤5-5,采用梯度下降方法来优化BP神经网络模型的具体过程为:
步骤5-4-1、将w3相对于
Figure GDA0002616967360000197
的梯度记为Λ3,利用求偏导方法计算Λ3,如式(15)所示:
Figure GDA0002616967360000198
式(15)中,
Figure GDA0002616967360000199
Figure GDA00026169673600001910
分别计算如下:
Figure GDA00026169673600001911
Figure GDA00026169673600001912
Figure GDA0002616967360000201
Figure GDA0002616967360000202
上式中,计算时
Figure GDA0002616967360000203
Figure GDA0002616967360000204
的取值为其最新值;
由此,得到式(20),如下所示:
Figure GDA0002616967360000205
(2)将第一隐藏层与第二隐藏层之间的权值矩阵w2相对于
Figure GDA0002616967360000206
的梯度记为Λ2,Λ2利用求偏导方法计算如下:
Figure GDA0002616967360000207
其中,
Figure GDA0002616967360000208
Figure GDA0002616967360000209
分别计算如下:
Figure GDA00026169673600002010
Figure GDA00026169673600002011
Figure GDA00026169673600002012
上式中,计算时
Figure GDA00026169673600002013
取值均为其最新值;
由此,得到式(25),如下所示:
Figure GDA00026169673600002014
(3)将输入层与第一隐藏层之间的权值矩阵w1相对于
Figure GDA00026169673600002015
的梯度记为Λ1,Λ1计算如下:
Figure GDA0002616967360000211
其中,
Figure GDA0002616967360000212
Figure GDA0002616967360000213
分别计算如下:
Figure GDA0002616967360000214
Figure GDA0002616967360000215
Figure GDA0002616967360000216
由此,得到式(30),如下所示:
Figure GDA0002616967360000217
步骤5-4-2、采用
Figure GDA0002616967360000218
的值更新w1
Figure GDA0002616967360000219
的值,得到更新后的w1,采用
Figure GDA00026169673600002110
的值更新w2
Figure GDA00026169673600002111
的值,得到更新后的w2,采用
Figure GDA00026169673600002112
的值更新w3
Figure GDA00026169673600002113
的值,得到更新后的w3,其中,每次计算时
Figure GDA00026169673600002114
Figure GDA00026169673600002115
的取值均为其最新值,η1=0.3;
步骤5-4-3、利用更新后的权值矩阵w1、w2、w3更新当前BP神经网络模型,将输入测试数据集D2中的第Q行数据输入到更新后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure GDA00026169673600002116
输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure GDA00026169673600002117
按照步骤5-3的方法再次输出h3,将本次得到的值向量h3作为当前最新值向量,得到最新位置坐标;
步骤5-4-4、基于最新位置坐标,再次计算误差值
Figure GDA00026169673600002118
判定得到的
Figure GDA00026169673600002119
是否小于等于2,若满足,则验证过程结束,当前最新的BP神经网络模型作为训练完成的BP神经网络模型,如果不满足,则判断Q是否等于N×max(L1,L2),如果等于,则验证过程结束,当前最新的BP神经网络模型作为训练完成的BP神经网络模型,如果不等于,则将采用Q的当前值加1的和更新Q的值,重复上述步骤5-2~步骤5-4,直至验证过程结束;
⑥采用步骤⑤最终得到的训练完成的BP神经网络模型进行定位,具体过程为:
步骤6-1、待定位人员携带可发射脉冲信号的定位标签在待定位室内进行日常活动时,待定位空间内的K个基站都处于接收状态,进行定位工作时,待定位人员携带的可发射脉冲信号的定位标签以广播的方式向待定位室内空间发射M次脉冲信号,每次间隔时间为8ms,M为大于等于10且小于等于20的整数;待定位室内每个基站每接收一次脉冲信号都产生一个含有接收时间戳的报文发送给服务器,服务器每次收到K个含有接收时间戳的报文后,对K个含有接收时间戳的报文进行数据提取,获取对应基站的接收时间戳,并运行Excel程序,将收到的K个基站的接收时间戳按照基站的次序排序,得到一行包括K个接收时间戳的数据;
定位标签发射完M次脉冲信号后,服务器相应的得出了M行包括K个接收时间戳的数据,由此得到待定位人员携带的定位标签当前所处位置处的M行K列的数据集矩阵t,t采用式(31)表示为:
Figure GDA0002616967360000221
tk,m表示第k个基站接收到的第m次脉冲信号时的时间戳,其中k=1,2,…,K,m=1,2,…,M;
步骤6-2、计算K×M的值,并进行判定操作:
若K×M<K0,对时间戳矩阵t进行更新,具体为:复制时间戳矩阵t的第1行为时间戳矩阵t的M+1行,复制时间戳矩阵t的第2行为时间戳矩阵的第M+2行,以此类推,如果复制时间戳矩阵t的第1行至第m行后,时间戳矩阵t内的数据数量仍小于K0,则再次从时间戳矩阵t的第1行开始赋值,直至时间戳矩阵t内的数据数量大于等于K0,然后从当前时间戳矩阵t的第1行第1列数据开始,按行依次统计至第K0个数据,将第K0个数据之后的数据删除;
若K×M=K0,时间戳矩阵t保持不变;
若K×M>K0,对时间戳矩阵t进行更新,具体为:从第1行第1列数据开始,按行依次统计至第K0个数据,将第K0个数据之后的数据删除;
步骤6-3、将步骤6-2得到的时间戳矩阵t中K0个数据输入最终得到的BP神经网络模型,这K0个数据分别对应着BP神经网络模型的输入层的K0个神经单元,输入层的第k0个神经单元的值等于时间戳矩阵t的第k0个数据,BP神经网络模型的输出层输出值向量
Figure GDA0002616967360000231
步骤6-4、定位得到的位置坐标为
Figure GDA0002616967360000232
实现定位。

Claims (1)

1.一种基于机器学习的UWB室内定位方法,其特征在于包括以下步骤:
①在待定位室内均匀布置K个基站,K为大于等于3的整数,对K个基站进行编号,将第k个基站的编号记为ANk,k=1,2,…,K,K个所述的基站分别通过网线互相连接并最终汇聚到一个服务器上;
将待定位室内按横向和纵向将空间划分为L个区域,其中横向方向按其最大长度均分为L1份,纵向方向沿其最大长度方向均分为L2份,L1和L2分别为大于3且小于6的整数,L=L1×L2;
将每个区域的中心点位置作为该区域位置,如果该区域为非中心对称区域,则取该区域的横向边线的中垂线与纵向边线的中垂线的相交点作为该区域的中心点位置;
将第l个区域标记为Sl,l=1,2,…,L;
以待定位室内任意墙角为原点,将横向方向作为x轴方向,纵向方向作为y轴方向构建室内区域的二维坐标系,测试人员测量获取每个区域的中心点位置坐标以及每个基站的位置坐标,将第l个区域的中心点位置坐标记为(xl,yl),将第k个基站的位置坐标记为(Xk,Yk);将所得的L个区域的中心点位置坐标和K个所述的基站的位置坐标都存入服务器的数据库;
②数据采集:让待定位空间内的K个基站都处于接收状态,测试人员携带定位标签依次站在区域S1~SL的中心点位置处,在每个区域中心点位置处定位标签以广播的方式向室内空间发射N次脉冲信号,每次间隔时间为8ms,N为大于等于10且小于等于20的整数,每个基站每接收一次脉冲信号都产生一个含有接收时间戳的报文发送给所述的服务器,所述的服务器每次收到K个含有接收时间戳的报文后,对K个含有接收时间戳的报文进行数据提取,获取对应基站的接收时间戳,并运行Excel程序,将收到的K个基站的接收时间戳按照基站的次序排序,得到一行包括K个接收时间戳的数据,定位标签在每个区域中心点位置发射完N次脉冲信号后,服务器相应的得出了N行包括K个接收时间戳的数据,由此得到定位标签在每个区域的N行K列的数据集矩阵,共有L个,将第l个区域Sl处的数据集矩阵记为
Figure FDA0002616967350000011
采用式(1)表示为:
Figure FDA0002616967350000021
其中,
Figure FDA0002616967350000022
表示测试人员携带定位标签在区域Sl的中心点位置第n次发射脉冲信号时,第k个所述的基站接到该脉冲信号的接收时间戳,n=1,2,…,N;
按照
Figure FDA0002616967350000023
的顺序将
Figure FDA0002616967350000024
这L个数据集矩阵排列,并且从
Figure FDA0002616967350000025
开始直至
Figure FDA0002616967350000026
结束,将
Figure FDA0002616967350000027
这L个数据集矩阵均分为Ll份,其中
Figure FDA0002616967350000028
其中,max(L1,L2)表示取L1和L2中的较大值;采用第1份至第Ll-1份数据集矩阵中的数据构成训练数据集,该训练数据集记为D1
Figure FDA0002616967350000029
训练数据集D1包括N×(max(L1,L2)×(Ll-1))行数据,将第Ll份数据集矩阵作为测试数据集,该测试数据集记为D2
Figure FDA00026169673500000210
D2包括N×max(L1,L2)行数据;
③构建BP神经网络模型:所述的BP神经网络模型包括从上到下依次排布的输入层、第一隐藏层、第二隐藏层和输出层,所述的输入层共有K0个神经单元,K0=K;所述的第一隐藏层共有K1个神经单元,K1为大于等于100且小于等于300的整数,所述的第二隐藏层共有K2个神经单元,K2为大于等于100且小于等于300的整数,所述的输出层共有K3个神经单元,K3=2,所述的BP神经网络模型中位于的同一层的任意两个神经单元互不连接,而位于相邻两层的所有神经单元全连接;
将所述的输入层与所述的第一隐藏层之间的权值矩阵记为w1,将所述的第一隐藏层与所述的第二隐藏层之间的权值矩阵记为w2,将所述的第二隐藏层与所述的输出层之间的权值矩阵记为w3,w1、w2和w3分别采用式(2)、(3)和(4)表示为:
Figure FDA0002616967350000031
Figure FDA0002616967350000032
Figure FDA0002616967350000033
其中,
Figure FDA0002616967350000034
表示输入层的第k0个神经单元与第一隐藏层的第k1个神经单元之间的连接权值,k0=1,2,…,K0,k1=1,2,…,K1;
Figure FDA0002616967350000035
表示第一隐藏层的第k1个神经单元与第二隐藏层的第k2个神经单元之间的连接权值,k2=1,2,…,K2,
Figure FDA0002616967350000036
表示第二隐藏层的第k2个神经单元与输出层的第k3个神经单元之间的连接权值,k3=1,2;
将所述的第一隐藏层的值向量记为h1
Figure FDA0002616967350000037
Figure FDA0002616967350000038
表示第一隐藏层中第k1个神经单元的值;
将所述的第二隐藏层的值向量记为h2
Figure FDA0002616967350000039
Figure FDA00026169673500000310
表示第二隐藏层中第k2个神经单元的值;
将所述的输出层的值向量记为h3
Figure FDA00026169673500000311
Figure FDA00026169673500000312
表示输出层中第k3个神经单元的值,所述的BP神经网络模型输出的位置坐标为
Figure FDA00026169673500000313
Figure FDA00026169673500000314
表示位置坐标的横坐标的值,
Figure FDA00026169673500000315
表示位置坐标的纵坐标的值;
④对所述的BP神经网络模型的w1、w2和w3进行训练,得到训练后的BP神经网络模型,具体过程为:
步骤4-1、对所述的输入层与所述的第一隐藏层之间的权值矩阵w1、所述的第一隐藏层与所述的第二隐藏层之间的权值矩阵w2、所述的第二隐藏层与所述的输出层之间的权值矩阵w3分别采用随机函数进行初始化,将
Figure FDA0002616967350000041
分别初始化为0~0.1之间的随机数;
步骤4-2、设定训练次数变量T,对T进行初始化,令T=1;
步骤4-3、对所述的BP神经网络模型进行第T次训练,具体方法为:
步骤4-3-1、将训练数据集D1的第T行数据作为所述的BP神经网络模型的输入数据从所述的输入层输入,得到所述的输入层中第k0个输入神经单元的值,将训练数据集D1的第T行数据中位于第k列的数据记为
Figure FDA0002616967350000042
所述的输入层中第k0个输入神经单元的值等于训练数据集D1的第T行数据中第k0列的数据
Figure FDA0002616967350000043
步骤4-3-2、采用式(5)计算第一隐藏层中第1个至第K1个神经单元的值,得到第一隐藏层的值向量h1,其中k1=1,2,…,K1:
Figure FDA0002616967350000044
式(5)中,计算时
Figure FDA0002616967350000045
的取值为其当前最新值,∑为累加符号;
步骤4-3-3、采用式(6)计算第二隐藏层中第1个至第K2个神经单元的值,得到第二隐藏层的值向量h2,其中k2=1,2,…,K2:
Figure FDA0002616967350000046
式(6)中,计算时
Figure FDA0002616967350000047
Figure FDA0002616967350000048
的取值均为其当前最新值;
步骤4-3-4、采用式(7)计算第三隐藏层中第1个至第K3个神经单元的值,得到输出层的值向量h3,其中k3=1,2:
Figure FDA0002616967350000049
式(7)中,计算时
Figure FDA0002616967350000051
Figure FDA0002616967350000052
的取值均为其当前最新值;
步骤4-3-5、从输出层开始反向计算每一层中每个神经单元的残差项并对各权值矩阵进行更新,具体过程为:
A、将输出层的第1个神经单元的残差项记为
Figure FDA0002616967350000053
第2个神经单元的残差项记为
Figure FDA0002616967350000054
采用式(8)计算得到
Figure FDA0002616967350000055
Figure FDA0002616967350000056
Figure FDA0002616967350000057
式(8)中,
Figure FDA0002616967350000058
Figure FDA0002616967350000059
的取值均为其最新值,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值;
B、采用
Figure FDA00026169673500000510
的当前最新值加上
Figure FDA00026169673500000511
的和去更新
Figure FDA00026169673500000512
的取值,并采用更新后的
Figure FDA00026169673500000513
去更新权值矩阵w3,得到更新后的权值矩阵w3,其中η=0.5,计算时
Figure FDA00026169673500000514
Figure FDA00026169673500000515
的取值为其当前最新值;
C、将第二隐藏层的残差项记为
Figure FDA00026169673500000516
采用向量表示为:
Figure FDA00026169673500000517
式(9)中
Figure FDA00026169673500000518
表示第二隐藏层的第k2个神经单元的残差项;
D、采用式(10)计算得到
Figure FDA00026169673500000519
Figure FDA00026169673500000520
式(10)中,计算时
Figure FDA00026169673500000521
Figure FDA00026169673500000522
的取值均为其当前最新值;
E、采用
Figure FDA00026169673500000523
的当前最新值加上
Figure FDA00026169673500000524
的和去更新
Figure FDA00026169673500000525
并采用更新后
Figure FDA00026169673500000526
去更新权值矩阵w2,得到更新后的权值矩阵w2,其中,k1=1,2,…,K1,k2=1,2,…,K2,计算时
Figure FDA00026169673500000527
Figure FDA00026169673500000528
的取值均为其当前最新值;
F、将第一隐藏层的残差项记为
Figure FDA00026169673500000529
采用向量表示为:
Figure FDA0002616967350000061
式(11)中
Figure FDA0002616967350000062
表示第一隐藏层的第k1个神经单元的残差项;
G、采用式(12)计算得到
Figure FDA0002616967350000063
Figure FDA0002616967350000064
式(12)中,计算时
Figure FDA0002616967350000065
Figure FDA0002616967350000066
的取值均为其当前最新值;
H、采用
Figure FDA0002616967350000067
的当前最新值加上
Figure FDA0002616967350000068
的和去更新
Figure FDA0002616967350000069
并采用更新后
Figure FDA00026169673500000610
去更新权值矩阵w1,得到更新后的权值矩阵w1,其中,k1=1,2,…,K1,k0=1,2,…,K0,计算时
Figure FDA00026169673500000611
Figure FDA00026169673500000612
的取值均为其当前最新值;
步骤4-3-6、采用误差函数来衡量所述的BP神经网络模型输出的位置坐标和实际坐标之间的误差,误差函数采用式(13)和式(14)表示为:
Figure FDA00026169673500000613
Etotal=Eo1+Eo2 (14)
式(13)和式(14)中,Eo1表示BP神经网络模型输出的位置坐标的横坐标误差,Eo2表示BP神经网络模型输出的位置坐标的纵坐标误差,Etotal表示BP神经网络模型输出的位置坐标的总误差,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值,
Figure FDA00026169673500000614
Figure FDA00026169673500000615
的取值为其当前最新值;
步骤4-3-7、判定Etotal的取值是否小于等于2,如果小于等于2,则完成对所述的BP神经网络模型的训练,如果大于2,则判断T的取值是否等于
N×(max(L1,L2)×(Ll-1)),如果等于,则满足所述的BP神经网络模型的训练完成条件,所述的BP神经网络模型的w1、w2和w3取值为其当前最新值,得到训练后的BP神经网络模型,如果不等于,则采用T的当前值加1的和更新T的值,然后返回步骤4-3-1进行下一次训练,直到满足所述的BP神经网络模型的训练完成条件;
⑤采用测试集D2对训练后的BP神经网络模型进行验证测试,具体过程为:
步骤5-1、设定测试验证次数变量Q,对Q进行初始化,令Q=1;
步骤5-2、输入测试数据集D2中的第Q行数据到训练后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure FDA0002616967350000071
所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure FDA0002616967350000072
步骤5-3、利用步骤4-3-2~步骤4-3-4相同的方法对步骤④得到的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3进行验证过程中的第Q次更新,得到更新后的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3
步骤5-4、根据上述最后一次更新得到的h3与测试集D2的第Q行数据对应的实际区域的中心点位置坐标,利用式(13)和(14)计算所述的BP神经网络模型输出的位置坐标与实际区域的中心点处位置坐标的之间总误差,将横坐标误差记为
Figure FDA0002616967350000073
纵坐标误差记为
Figure FDA0002616967350000074
总误差记为
Figure FDA0002616967350000075
判定
Figure FDA0002616967350000076
是否小于2,如果小于2,则直接进入步骤5-5,如果大于等于2,则先采用梯度下降方法来优化BP神经网络模型后再进入步骤5-5,采用梯度下降方法来优化BP神经网络模型的具体过程为:
步骤5-4-1、将w3相对于
Figure FDA0002616967350000077
的梯度记为Λ3,利用求偏导方法计算Λ3,如式(15)所示:
Figure FDA0002616967350000078
式(15)中,
Figure FDA0002616967350000079
Figure FDA00026169673500000710
分别计算如下:
Figure FDA00026169673500000711
Figure FDA0002616967350000081
Figure FDA0002616967350000082
Figure FDA0002616967350000083
上式中,计算时
Figure FDA0002616967350000084
Figure FDA0002616967350000085
的取值为其最新值;
由此,得到式(20),如下所示:
Figure FDA0002616967350000086
(2)将第一隐藏层与第二隐藏层之间的权值矩阵w2相对于
Figure FDA0002616967350000087
的梯度记为Λ2,Λ2利用求偏导方法计算如下:
Figure FDA0002616967350000088
其中,
Figure FDA0002616967350000089
Figure FDA00026169673500000810
分别计算如下:
Figure FDA00026169673500000811
Figure FDA00026169673500000812
Figure FDA00026169673500000813
上式中,计算时
Figure FDA00026169673500000814
取值均为其最新值;
由此,得到式(25),如下所示:
Figure FDA00026169673500000815
(3)将输入层与第一隐藏层之间的权值矩阵w1相对于
Figure FDA00026169673500000816
的梯度记为Λ1,Λ1计算如下:
Figure FDA0002616967350000091
其中,
Figure FDA0002616967350000092
Figure FDA0002616967350000093
Figure FDA0002616967350000094
分别计算如下:
Figure FDA0002616967350000095
Figure FDA0002616967350000096
Figure FDA0002616967350000097
由此,得到式(30),如下所示:
Figure FDA0002616967350000098
步骤5-4-2、采用
Figure FDA0002616967350000099
的值更新w1
Figure FDA00026169673500000910
的值,得到更新后的w1,采用
Figure FDA00026169673500000911
的值更新w2
Figure FDA00026169673500000912
的值,得到更新后的w2,采用
Figure FDA00026169673500000913
的值更新w3
Figure FDA00026169673500000914
的值,得到更新后的w3,其中,每次计算时
Figure FDA00026169673500000915
Figure FDA00026169673500000916
的取值均为其最新值,η1=0.3;
步骤5-4-3、利用更新后的权值矩阵w1、w2、w3更新当前BP神经网络模型,将输入测试数据集D2中的第Q行数据输入到更新后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure FDA00026169673500000917
所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure FDA00026169673500000918
按照步骤5-3的方法再次输出h3,将本次得到的值向量h3作为当前最新值向量,得到最新位置坐标;
步骤5-4-4、基于最新位置坐标,再次计算误差值
Figure FDA00026169673500000919
判定得到的
Figure FDA00026169673500000920
是否小于等于2,若满足,则验证过程结束,当前最新的BP神经网络模型作为训练完成的BP神经网络模型,如果不满足,则判断Q是否等于N×max(L1,L2),如果等于,则验证过程结束,当前最新的BP神经网络模型作为训练完成的BP神经网络模型,如果不等于,则将采用Q的当前值加1的和更新Q的值,重复上述步骤5-2~步骤5-4,直至验证过程结束;
⑥采用步骤⑤最终得到的训练完成的BP神经网络模型进行定位,具体过程为:
步骤6-1、待定位人员携带可发射脉冲信号的定位标签在待定位室内进行日常活动时,待定位空间内的K个基站都处于接收状态,进行定位工作时,待定位人员携带的可发射脉冲信号的定位标签以广播的方式向待定位室内空间发射M次脉冲信号,每次间隔时间为8ms,M为大于等于10且小于等于20的整数;待定位室内每个基站每接收一次脉冲信号都产生一个含有接收时间戳的报文发送给所述的服务器,所述的服务器每次收到K个含有接收时间戳的报文后,对K个含有接收时间戳的报文进行数据提取,获取对应基站的接收时间戳,并运行Excel程序,将收到的K个基站的接收时间戳按照基站的次序排序,得到一行包括K个接收时间戳的数据;
定位标签发射完M次脉冲信号后,服务器相应的得出了M行包括K个接收时间戳的数据,由此得到待定位人员携带的定位标签当前所处位置处的M行K列的数据集矩阵t,t采用式(31)表示为:
Figure FDA0002616967350000101
tk,m表示第k个基站接收到的第m次脉冲信号时的时间戳,其中k=1,2,…,K,m=1,2,…,M;
步骤6-2、计算K×M的值,并进行判定操作:
若K×M<K0,对时间戳矩阵t进行更新,具体为:复制时间戳矩阵t的第1行为时间戳矩阵t的M+1行,复制时间戳矩阵t的第2行为时间戳矩阵的第M+2行,以此类推,如果复制时间戳矩阵t的第1行至第m行后,时间戳矩阵t内的数据数量仍小于K0,则再次从时间戳矩阵t的第1行开始赋值,直至时间戳矩阵t内的数据数量大于等于K0,然后从当前时间戳矩阵t的第1行第1列数据开始,按行依次统计至第K0个数据,将第K0个数据之后的数据删除;
若K×M=K0,时间戳矩阵t保持不变;
若K×M>K0,对时间戳矩阵t进行更新,具体为:从第1行第1列数据开始,按行依次统计至第K0个数据,将第K0个数据之后的数据删除;
步骤6-3、将步骤6-2得到的时间戳矩阵t中K0个数据输入最终得到的BP神经网络模型,这K0个数据分别对应着BP神经网络模型的输入层的K0个神经单元,输入层的第k0个神经单元的值等于时间戳矩阵t的第k0个数据,BP神经网络模型的输出层输出值向量
Figure FDA0002616967350000111
步骤6-4、定位得到的位置坐标为
Figure FDA0002616967350000112
实现定位。
CN201911091885.XA 2019-11-08 2019-11-08 一种基于机器学习的uwb室内定位方法 Active CN110972056B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911091885.XA CN110972056B (zh) 2019-11-08 2019-11-08 一种基于机器学习的uwb室内定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911091885.XA CN110972056B (zh) 2019-11-08 2019-11-08 一种基于机器学习的uwb室内定位方法

Publications (2)

Publication Number Publication Date
CN110972056A CN110972056A (zh) 2020-04-07
CN110972056B true CN110972056B (zh) 2020-09-29

Family

ID=70030345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911091885.XA Active CN110972056B (zh) 2019-11-08 2019-11-08 一种基于机器学习的uwb室内定位方法

Country Status (1)

Country Link
CN (1) CN110972056B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523667B (zh) * 2020-04-30 2023-06-27 天津大学 一种基于神经网络的rfid定位方法
CN113259884B (zh) * 2021-05-19 2022-09-06 桂林电子科技大学 基于多参数融合的室内定位基站布设优化方法
CN115209341B (zh) * 2022-06-30 2024-10-08 南京捷希科技股份有限公司 一种基于信道状态信息的加权随机森林室内定位方法
CN116170746B (zh) * 2023-01-03 2023-12-08 中国人民解放军63983部队 基于深度注意力机制和几何信息的超宽带室内定位方法
CN116912320B (zh) * 2023-09-13 2023-12-22 齐鲁空天信息研究院 对象高程坐标的定位方法、装置、电子设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815308A (zh) * 2009-11-20 2010-08-25 哈尔滨工业大学 神经网络区域训练的wlan室内定位方法
CN107135541A (zh) * 2017-04-21 2017-09-05 广东技术师范学院 基于optics密度聚类和bp神经网络的超宽带室内定位方法
CN107843873A (zh) * 2016-09-21 2018-03-27 北京航天长峰科技工业集团有限公司 一种利用超宽带信号进行室内定位的方法
CN109302309A (zh) * 2018-08-27 2019-02-01 宁波大学 基于深度学习的无源感知室内定位方法
CN110049441A (zh) * 2019-05-05 2019-07-23 山东科技大学 基于深度集成学习的WiFi室内定位方法
CN110113709A (zh) * 2019-04-24 2019-08-09 南京邮电大学 一种基于支持向量机的超宽带室内定位误差消除算法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9668233B1 (en) * 2016-07-12 2017-05-30 Xirrus, Inc. Wireless communication network with distributed device location determination
CN110225460B (zh) * 2019-06-05 2021-03-23 三维通信股份有限公司 一种基于深度神经网络的室内定位方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815308A (zh) * 2009-11-20 2010-08-25 哈尔滨工业大学 神经网络区域训练的wlan室内定位方法
CN107843873A (zh) * 2016-09-21 2018-03-27 北京航天长峰科技工业集团有限公司 一种利用超宽带信号进行室内定位的方法
CN107135541A (zh) * 2017-04-21 2017-09-05 广东技术师范学院 基于optics密度聚类和bp神经网络的超宽带室内定位方法
CN109302309A (zh) * 2018-08-27 2019-02-01 宁波大学 基于深度学习的无源感知室内定位方法
CN110113709A (zh) * 2019-04-24 2019-08-09 南京邮电大学 一种基于支持向量机的超宽带室内定位误差消除算法
CN110049441A (zh) * 2019-05-05 2019-07-23 山东科技大学 基于深度集成学习的WiFi室内定位方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于卷积神经网络的机器人象棋识别与视觉定位算法设计;熊勋等;《东莞理工学院学报》;20191015;第26卷(第5期);104-109 *

Also Published As

Publication number Publication date
CN110972056A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN110972056B (zh) 一种基于机器学习的uwb室内定位方法
CN101466145B (zh) 基于神经网络的双基站精确定位方法
CN1965247B (zh) 用于确定位置数据的方法
CN108594170B (zh) 一种基于卷积神经网络识别技术的wifi室内定位方法
CN105911518A (zh) 机器人定位方法
CN106842123A (zh) 一种室内定位方法及室内定位系统
CN112995892B (zh) 基于复数神经网络的大规模mimo指纹定位方法
KR20190053470A (ko) 딥러닝 기반 측위 시스템 및 이의 구축 방법
CN110536245A (zh) 一种基于深度学习的室内无线定位方法及系统
CN107248877A (zh) 基于实测数据的MassiveMIMO信道建模方法
CN107727095A (zh) 基于谱聚类和加权反向传播神经网络的3d室内定位方法
CN115118368B (zh) 一种结合前向散射与后向散射的新型通感一体化信道建模方法
CN106612495B (zh) 一种基于传播损耗学习的室内定位方法及系统
CN109041218B (zh) 一种预测用户位置的方法和智能硬件
CN110333480B (zh) 一种基于聚类的单无人机多目标aoa定位方法
CN112533136B (zh) 一种基于深度学习的wlan指纹定位方法
CN103618997A (zh) 一种基于信号强度概率的室内定位方法和装置
CN102967848B (zh) 一种基于距离关系库及接收信号强度的定位方法
CN106970379A (zh) 基于泰勒级数展开对室内目标的测距定位方法
CN101854216B (zh) 一种基于修正电离层信道模型进行信道对等性研究的方法
CN110716998B (zh) 一种精细尺度人口数据空间化方法
CN111263295A (zh) 一种wlan室内定位方法和装置
CN112394320A (zh) 基于支持向量机的室内高精度质心定位方法
CN113030853B (zh) 基于rss和aoa联合测量的多辐射源无源定位方法
CN104504900A (zh) 基于emd算法的个体出行手机切换序列道路匹配方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant