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

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

Info

Publication number
CN110972056A
CN110972056A CN201911091885.XA CN201911091885A CN110972056A CN 110972056 A CN110972056 A CN 110972056A CN 201911091885 A CN201911091885 A CN 201911091885A CN 110972056 A CN110972056 A CN 110972056A
Authority
CN
China
Prior art keywords
data
value
network model
neural network
hidden layer
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.)
Granted
Application number
CN201911091885.XA
Other languages
English (en)
Other versions
CN110972056B (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)
  • Image Analysis (AREA)
  • Position Fixing By Use Of Radio Waves (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 BDA0002264948890000031
Figure BDA0002264948890000032
采用式(1)表示为:
Figure BDA0002264948890000033
其中,
Figure BDA0002264948890000034
表示测试人员携带定位标签在区域Sl的中心点位置第n次发射脉冲信号时,第k个所述的基站接到该脉冲信号的接收时间戳,n=1,2,…,N;
按照
Figure BDA0002264948890000035
的顺序将
Figure BDA0002264948890000036
这L个数据集矩阵排列,并且从
Figure BDA0002264948890000037
开始直至
Figure BDA0002264948890000038
结束,将
Figure BDA0002264948890000039
这L个数据集矩阵均分为Ll份,其中
Figure BDA00022649488900000310
其中,max(L1,L2)表示取L1和L2中的较大值;采用第1份至第Ll-1份数据集矩阵中的数据构成训练数据集,该训练数据集记为D1
Figure BDA00022649488900000311
训练数据集D1包括N×(max(L1,L2)×(Ll-1))行数据,将第Ll份数据集矩阵作为测试数据集,该测试数据集记为D2
Figure BDA00022649488900000312
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 BDA0002264948890000041
Figure BDA0002264948890000042
Figure BDA0002264948890000043
其中,
Figure BDA0002264948890000044
表示输入层的第k0个神经单元与第一隐藏层的第k1个神经单元之间的连接权值,k0=1,2,…,K0,k1=1,2,…,K1;
Figure BDA0002264948890000045
表示第一隐藏层的第k1个神经单元与第二隐藏层的第k2个神经单元之间的连接权值,k2=1,2,…,K2,
Figure BDA0002264948890000046
表示第二隐藏层的第k2个神经单元与输出层的第k3个神经单元之间的连接权值,k3=1,2;
将所述的第一隐藏层的值向量记为h1
Figure BDA0002264948890000047
Figure BDA0002264948890000048
表示第一隐藏层中第k1个神经单元的值;
将所述的第二隐藏层的值向量记为h2
Figure BDA0002264948890000049
Figure BDA00022649488900000410
表示第二隐藏层中第k2个神经单元的值;
将所述的输出层的值向量记为h3
Figure BDA0002264948890000051
Figure BDA0002264948890000052
表示输出层中第k3个神经单元的值,所述的BP神经网络模型输出的位置坐标为
Figure BDA0002264948890000053
Figure BDA0002264948890000054
表示位置坐标的横坐标的值,
Figure BDA0002264948890000055
表示位置坐标的纵坐标的值;
④对所述的BP神经网络模型的w1、w2和w3进行训练,得到训练后的BP神经网络模型,具体过程为:
步骤4-1、对所述的输入层与所述的第一隐藏层之间的权值矩阵w1、所述的第一隐藏层与所述的第二隐藏层之间的权值矩阵w2、所述的第二隐藏层与所述的输出层之间的权值矩阵w3分别采用随机函数进行初始化,将
Figure BDA0002264948890000056
分别初始化为0~0.1之间的随机数;
步骤4-2、设定训练次数变量T,对T进行初始化,令T=1;
步骤4-3、对所述的BP神经网络模型进行第T次训练,具体方法为:
步骤4-3-1、将训练数据集D1的第T行数据作为所述的BP神经网络模型的输入数据从所述的输入层输入,得到所述的输入层中第k0个输入神经单元的值,将训练数据集D1的第T行数据中位于第k列的数据记为
Figure BDA0002264948890000057
所述的输入层中第k0个输入神经单元的值等于训练数据集D1的第T行数据中第k0列的数据
Figure BDA0002264948890000058
步骤4-3-2、采用式(5)计算第一隐藏层中第1个至第K1个神经单元的值,得到第一隐藏层的值向量h1,其中k1=1,2,…,K1:
Figure BDA0002264948890000059
式(5)中,计算时
Figure BDA00022649488900000510
的取值为其当前最新值,∑为累加符号;
步骤4-3-3、采用式(6)计算第二隐藏层中第1个至第K2个神经单元的值,得到第二隐藏层的值向量h2,其中k2=1,2,…,K2:
Figure BDA00022649488900000511
式(6)中,计算时
Figure BDA00022649488900000512
Figure BDA00022649488900000513
的取值均为其当前最新值;
步骤4-3-4、采用式(7)计算第三隐藏层中第1个至第K3个神经单元的值,得到输出层的值向量h3,其中k3=1,2:
Figure BDA0002264948890000061
式(7)中,计算时
Figure BDA0002264948890000062
Figure BDA0002264948890000063
的取值均为其当前最新值;
步骤4-3-5、从输出层开始反向计算每一层中每个神经单元的残差项并对各权值矩阵进行更新,具体过程为:
A、将输出层的第1个神经单元的残差项记为
Figure BDA0002264948890000068
第2个神经单元的残差项记为
Figure BDA0002264948890000064
采用式(8)计算得到
Figure BDA0002264948890000069
Figure BDA00022649488900000610
Figure BDA0002264948890000065
式(8)中,
Figure BDA00022649488900000611
Figure BDA00022649488900000612
的取值均为其最新值,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值;
B、采用
Figure BDA00022649488900000613
的当前最新值加上
Figure BDA00022649488900000614
的和去更新
Figure BDA00022649488900000615
的取值,并采用更新后的
Figure BDA00022649488900000616
去更新权值矩阵w3,得到更新后的权值矩阵w3,其中η=0.5,计算时
Figure BDA00022649488900000617
Figure BDA00022649488900000618
的取值为其当前最新值,;
C、将第二隐藏层的残差项记为
Figure BDA00022649488900000619
Figure BDA00022649488900000620
采用向量表示为:
Figure BDA0002264948890000066
式(9)中
Figure BDA00022649488900000621
表示第二隐藏层的第k2个神经单元的残差项;
D、采用式(10)计算得到
Figure BDA00022649488900000622
Figure BDA0002264948890000067
式(10)中,计算时
Figure BDA00022649488900000623
Figure BDA00022649488900000624
的取值均为其当前最新值;
E、采用
Figure BDA00022649488900000625
的当前最新值加上
Figure BDA00022649488900000626
的和去更新
Figure BDA00022649488900000627
并采用更新后
Figure BDA00022649488900000628
去更新权值矩阵w2,得到更新后的权值矩阵w2,其中,k1=1,2,…,K1,k2=1,2,…,K2,计算时
Figure BDA0002264948890000074
Figure BDA0002264948890000075
的取值均为其当前最新值;
F、将第一隐藏层的残差项记为
Figure BDA0002264948890000076
Figure BDA0002264948890000077
采用向量表示为:
Figure BDA0002264948890000071
式(11)中
Figure BDA0002264948890000078
表示第一隐藏层的第k1个神经单元的残差项;
G、采用式(12)计算得到
Figure BDA0002264948890000079
Figure BDA0002264948890000072
式(12)中,计算时
Figure BDA00022649488900000710
Figure BDA00022649488900000711
的取值均为其当前最新值;
H、采用
Figure BDA00022649488900000712
的当前最新值加上
Figure BDA00022649488900000713
的和去更新
Figure BDA00022649488900000714
并采用更新后
Figure BDA00022649488900000715
去更新权值矩阵w1,得到更新后的权值矩阵w1,其中,k1=1,2,…,K1,k0=1,2,…,K0,计算时
Figure BDA00022649488900000716
Figure BDA00022649488900000717
的取值均为其当前最新值;
步骤4-3-6、采用误差函数来衡量所述的BP神经网络模型输出的位置坐标和实际坐标之间的误差,误差函数采用式(13)和式(14)表示为:
Figure BDA0002264948890000073
Etotal=Eo1+Eo2 (14)
式(13)和式(14)中,Eo1表示BP神经网络模型输出的位置坐标的横坐标误差,Eo2表示BP神经网络模型输出的位置坐标的纵坐标误差,Etotal表示BP神经网络模型输出的位置坐标的总误差,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值,
Figure BDA00022649488900000718
Figure BDA00022649488900000719
的取值为其当前最新值;
步骤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 BDA0002264948890000082
所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure BDA0002264948890000083
步骤5-3、利用步骤4-3-2~步骤4-3-4相同的方法对步骤④得到的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3进行验证过程中的第Q次更新,得到更新后的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3
步骤5-4、根据上述最后一次更新得到的h3与测试集D2的第Q行数据对应的实际区域的中心点位置坐标,利用式(13)和(14)计算所述的BP神经网络模型输出的位置坐标与实际区域的中心点处位置坐标的之间总误差,将横坐标误差记为
Figure BDA0002264948890000084
纵坐标误差记为
Figure BDA0002264948890000085
总误差记为
Figure BDA0002264948890000086
判定
Figure BDA0002264948890000087
是否小于2,如果小于2,则直接进入步骤5-5,如果大于等于2,则先采用梯度下降方法来优化BP神经网络模型后再进入步骤5-5,采用梯度下降方法来优化BP神经网络模型的具体过程为:
步骤5-4-1、将w3相对于
Figure BDA0002264948890000088
的梯度记为Λ3,利用求偏导方法计算Λ3,如式(15)所示:
Figure BDA0002264948890000081
式(15)中,
Figure BDA00022649488900000913
Figure BDA00022649488900000914
分别计算如下:
Figure BDA0002264948890000091
Figure BDA0002264948890000092
Figure BDA0002264948890000093
Figure BDA0002264948890000094
上式中,计算时
Figure BDA00022649488900000915
Figure BDA00022649488900000916
的取值为其最新值;
由此,得到式(20),如下所示:
Figure BDA0002264948890000095
(2)将第一隐藏层与第二隐藏层之间的权值矩阵w2相对于
Figure BDA00022649488900000917
的梯度记为Λ2,Λ2利用求偏导方法计算如下:
Figure BDA0002264948890000096
其中,
Figure BDA0002264948890000097
Figure BDA0002264948890000098
Figure BDA0002264948890000099
分别计算如下:
Figure BDA00022649488900000910
Figure BDA00022649488900000911
Figure BDA00022649488900000912
上式中,计算时
Figure BDA00022649488900000918
取值均为其最新值;
由此,得到式(25),如下所示:
Figure BDA0002264948890000101
(3)将输入层与第一隐藏层之间的权值矩阵w1相对于
Figure BDA00022649488900001010
的梯度记为Λ1,Λ1计算如下:
Figure BDA0002264948890000102
其中,
Figure BDA0002264948890000103
Figure BDA0002264948890000104
Figure BDA0002264948890000105
分别计算如下:
Figure BDA0002264948890000106
Figure BDA0002264948890000107
Figure BDA0002264948890000108
由此,得到式(30),如下所示:
Figure BDA0002264948890000109
步骤5-4-2、采用
Figure BDA00022649488900001011
的值更新w1
Figure BDA00022649488900001012
的值,得到更新后的w1,采用
Figure BDA00022649488900001013
的值更新w2
Figure BDA00022649488900001014
的值,得到更新后的w2,采用
Figure BDA00022649488900001015
的值更新w3
Figure BDA00022649488900001016
的值,得到更新后的w3,其中,每次计算时
Figure BDA00022649488900001017
Figure BDA00022649488900001018
的取值均为其最新值,η1=0.3。
步骤5-4-3、利用更新后的权值矩阵w1、w2、w3更新当前BP神经网络模型,将输入测试数据集D2中的第Q行数据输入到更新后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure BDA00022649488900001019
所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure BDA00022649488900001020
按照步骤5-3的方法再次输出h3,将本次得到的值向量h3作为当前最新值向量,得到最新位置坐标;
步骤5-4-4、基于最新位置坐标,再次计算误差值
Figure BDA0002264948890000112
判定得到的
Figure BDA0002264948890000113
是否小于等于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 BDA0002264948890000111
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 BDA0002264948890000121
步骤6-4、定位得到的位置坐标为
Figure BDA0002264948890000122
实现定位。
与现有技术相比,本发明的优点在于利用超宽带无线通信技术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 BDA0002264948890000145
Figure BDA0002264948890000146
采用式(1)表示为:
Figure BDA0002264948890000141
其中,
Figure BDA0002264948890000147
表示测试人员携带定位标签在区域Sl的中心点位置第n次发射脉冲信号时,第k个基站接到该脉冲信号的接收时间戳,n=1,2,…,N;
按照
Figure BDA0002264948890000148
的顺序将
Figure BDA0002264948890000149
这L个数据集矩阵排列,并且从
Figure BDA00022649488900001410
开始直至
Figure BDA00022649488900001411
结束,将
Figure BDA00022649488900001412
这L个数据集矩阵均分为Ll份,其中
Figure BDA0002264948890000142
其中,max(L1,L2)表示取L1和L2中的较大值;采用第1份至第Ll-1份数据集矩阵中的数据构成训练数据集,该训练数据集记为D1
Figure BDA0002264948890000143
训练数据集D1包括N×(max(L1,L2)×(Ll-1))行数据,将第Ll份数据集矩阵作为测试数据集,该测试数据集记为D2
Figure BDA0002264948890000144
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 BDA0002264948890000151
Figure BDA0002264948890000152
Figure BDA0002264948890000153
其中,
Figure BDA0002264948890000154
表示输入层的第k0个神经单元与第一隐藏层的第k1个神经单元之间的连接权值,k0=1,2,…,K0,k1=1,2,…,K1;
Figure BDA0002264948890000155
表示第一隐藏层的第k1个神经单元与第二隐藏层的第k2个神经单元之间的连接权值,k2=1,2,…,K2,
Figure BDA0002264948890000156
表示第二隐藏层的第k2个神经单元与输出层的第k3个神经单元之间的连接权值,k3=1,2;
将第一隐藏层的值向量记为h1
Figure BDA0002264948890000157
Figure BDA0002264948890000158
表示第一隐藏层中第k1个神经单元的值;
将第二隐藏层的值向量记为h2
Figure BDA0002264948890000159
Figure BDA00022649488900001510
表示第二隐藏层中第k2个神经单元的值;
将输出层的值向量记为h3
Figure BDA00022649488900001511
Figure BDA00022649488900001512
表示输出层中第k3个神经单元的值,BP神经网络模型输出的位置坐标为
Figure BDA00022649488900001513
Figure BDA00022649488900001514
表示位置坐标的横坐标的值,
Figure BDA00022649488900001515
表示位置坐标的纵坐标的值;
④对BP神经网络模型的w1、w2和w3进行训练,得到训练后的BP神经网络模型,具体过程为:
步骤4-1、对输入层与第一隐藏层之间的权值矩阵w1、第一隐藏层与第二隐藏层之间的权值矩阵w2、第二隐藏层与输出层之间的权值矩阵w3分别采用随机函数进行初始化,将
Figure BDA0002264948890000164
分别初始化为0~0.1之间的随机数;
步骤4-2、设定训练次数变量T,对T进行初始化,令T=1;
步骤4-3、对BP神经网络模型进行第T次训练,具体方法为:
步骤4-3-1、将训练数据集D1的第T行数据作为BP神经网络模型的输入数据从输入层输入,得到输入层中第k0个输入神经单元的值,将训练数据集D1的第T行数据中位于第k列的数据记为
Figure BDA0002264948890000165
输入层中第k0个输入神经单元的值等于训练数据集D1的第T行数据中第k0列的数据
Figure BDA0002264948890000166
步骤4-3-2、采用式(5)计算第一隐藏层中第1个至第K1个神经单元的值,得到第一隐藏层的值向量h1,其中k1=1,2,…,K1:
Figure BDA0002264948890000161
式(5)中,计算时
Figure BDA0002264948890000167
的取值为其当前最新值,∑为累加符号;
步骤4-3-3、采用式(6)计算第二隐藏层中第1个至第K2个神经单元的值,得到第二隐藏层的值向量h2,其中k2=1,2,…,K2:
Figure BDA0002264948890000162
式(6)中,计算时
Figure BDA0002264948890000168
Figure BDA0002264948890000169
的取值均为其当前最新值;
步骤4-3-4、采用式(7)计算第三隐藏层中第1个至第K3个神经单元的值,得到输出层的值向量h3,其中k3=1,2:
Figure BDA0002264948890000163
式(7)中,计算时
Figure BDA00022649488900001610
Figure BDA00022649488900001611
的取值均为其当前最新值;
步骤4-3-5、从输出层开始反向计算每一层中每个神经单元的残差项并对各权值矩阵进行更新,具体过程为:
A、将输出层的第1个神经单元的残差项记为
Figure BDA0002264948890000175
第2个神经单元的残差项记为
Figure BDA0002264948890000176
采用式(8)计算得到
Figure BDA0002264948890000177
Figure BDA0002264948890000178
Figure BDA0002264948890000171
式(8)中,
Figure BDA0002264948890000179
Figure BDA00022649488900001710
的取值均为其最新值,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值;
B、采用
Figure BDA00022649488900001711
的当前最新值加上
Figure BDA00022649488900001712
的和去更新
Figure BDA00022649488900001713
的取值,并采用更新后的
Figure BDA00022649488900001714
去更新权值矩阵w3,得到更新后的权值矩阵w3,其中η=0.5,计算时
Figure BDA00022649488900001715
Figure BDA00022649488900001716
的取值为其当前最新值,;
C、将第二隐藏层的残差项记为
Figure BDA00022649488900001717
Figure BDA00022649488900001718
采用向量表示为:
Figure BDA0002264948890000172
式(9)中
Figure BDA00022649488900001719
表示第二隐藏层的第k2个神经单元的残差项;
D、采用式(10)计算得到
Figure BDA00022649488900001720
Figure BDA0002264948890000173
式(10)中,计算时
Figure BDA00022649488900001721
Figure BDA00022649488900001723
的取值均为其当前最新值;
E、采用
Figure BDA00022649488900001724
的当前最新值加上
Figure BDA00022649488900001725
的和去更新
Figure BDA00022649488900001726
并采用更新后
Figure BDA00022649488900001727
去更新权值矩阵w2,得到更新后的权值矩阵w2,其中,k1=1,2,…,K1,k2=1,2,…,K2,计算时
Figure BDA00022649488900001728
Figure BDA00022649488900001729
的取值均为其当前最新值;
F、将第一隐藏层的残差项记为
Figure BDA00022649488900001730
Figure BDA00022649488900001731
采用向量表示为:
Figure BDA0002264948890000174
式(11)中
Figure BDA0002264948890000183
表示第一隐藏层的第k1个神经单元的残差项;
G、采用式(12)计算得到
Figure BDA0002264948890000184
Figure BDA0002264948890000181
式(12)中,计算时
Figure BDA0002264948890000185
Figure BDA0002264948890000186
的取值均为其当前最新值;
H、采用
Figure BDA0002264948890000187
的当前最新值加上
Figure BDA0002264948890000188
的和去更新
Figure BDA0002264948890000189
并采用更新后
Figure BDA00022649488900001810
去更新权值矩阵w1,得到更新后的权值矩阵w1,其中,k1=1,2,…,K1,k0=1,2,…,K0,计算时
Figure BDA00022649488900001811
Figure BDA00022649488900001812
的取值均为其当前最新值;
步骤4-3-6、采用误差函数来衡量BP神经网络模型输出的位置坐标和实际坐标之间的误差,误差函数采用式(13)和式(14)表示为:
Figure BDA0002264948890000182
Etotal=Eo1+Eo2 (14)
式(13)和式(14)中,Eo1表示BP神经网络模型输出的位置坐标的横坐标误差,Eo2表示BP神经网络模型输出的位置坐标的纵坐标误差,Etotal表示BP神经网络模型输出的位置坐标的总误差,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值,
Figure BDA00022649488900001813
Figure BDA00022649488900001814
的取值为其当前最新值;
步骤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 BDA0002264948890000194
输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure BDA0002264948890000195
步骤5-3、利用步骤4-3-2~步骤4-3-4相同的方法对步骤④得到的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3进行验证过程中的第Q次更新,得到更新后的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3
步骤5-4、根据上述最后一次更新得到的h3与测试集D2的第Q行数据对应的实际区域的中心点位置坐标,利用式(13)和(14)计算BP神经网络模型输出的位置坐标与实际区域的中心点处位置坐标的之间总误差,将横坐标误差记为
Figure BDA0002264948890000196
纵坐标误差记为
Figure BDA0002264948890000197
总误差记为
Figure BDA0002264948890000198
判定
Figure BDA0002264948890000199
是否小于2,如果小于2,则直接进入步骤5-5,如果大于等于2,则先采用梯度下降方法来优化BP神经网络模型后再进入步骤5-5,采用梯度下降方法来优化BP神经网络模型的具体过程为:
步骤5-4-1、将w3相对于
Figure BDA00022649488900001910
的梯度记为Λ3,利用求偏导方法计算Λ3,如式(15)所示:
Figure BDA0002264948890000191
式(15)中,
Figure BDA00022649488900001911
Figure BDA00022649488900001912
分别计算如下:
Figure BDA0002264948890000192
Figure BDA0002264948890000193
Figure BDA0002264948890000201
Figure BDA0002264948890000202
上式中,计算时
Figure BDA0002264948890000209
Figure BDA00022649488900002010
的取值为其最新值;
由此,得到式(20),如下所示:
Figure BDA0002264948890000203
(2)将第一隐藏层与第二隐藏层之间的权值矩阵w2相对于
Figure BDA00022649488900002011
的梯度记为Λ2,Λ2利用求偏导方法计算如下:
Figure BDA0002264948890000204
其中,
Figure BDA00022649488900002012
Figure BDA00022649488900002014
Figure BDA00022649488900002013
分别计算如下:
Figure BDA0002264948890000205
Figure BDA0002264948890000206
Figure BDA0002264948890000207
上式中,计算时
Figure BDA00022649488900002015
取值均为其最新值;
由此,得到式(25),如下所示:
Figure BDA0002264948890000208
(3)将输入层与第一隐藏层之间的权值矩阵w1相对于
Figure BDA00022649488900002016
的梯度记为Λ1,Λ1计算如下:
Figure BDA0002264948890000211
其中,
Figure BDA0002264948890000212
Figure BDA0002264948890000217
Figure BDA0002264948890000218
分别计算如下:
Figure BDA0002264948890000213
Figure BDA0002264948890000214
Figure BDA0002264948890000215
由此,得到式(30),如下所示:
Figure BDA0002264948890000216
步骤5-4-2、采用
Figure BDA0002264948890000219
的值更新w1
Figure BDA00022649488900002110
的值,得到更新后的w1,采用
Figure BDA00022649488900002111
的值更新w2
Figure BDA00022649488900002112
的值,得到更新后的w2,采用
Figure BDA00022649488900002113
的值更新w3
Figure BDA00022649488900002114
的值,得到更新后的w3,其中,每次计算时
Figure BDA00022649488900002115
Figure BDA00022649488900002116
的取值均为其最新值,η1=0.3。
步骤5-4-3、利用更新后的权值矩阵w1、w2、w3更新当前BP神经网络模型,将输入测试数据集D2中的第Q行数据输入到更新后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure BDA00022649488900002117
输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure BDA00022649488900002118
按照步骤5-3的方法再次输出h3,将本次得到的值向量h3作为当前最新值向量,得到最新位置坐标;
步骤5-4-4、基于最新位置坐标,再次计算误差值
Figure BDA00022649488900002119
判定得到的
Figure BDA00022649488900002120
是否小于等于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 BDA0002264948890000221
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 BDA0002264948890000231
步骤6-4、定位得到的位置坐标为
Figure BDA0002264948890000232
实现定位。

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 FDA0002264948880000011
Figure FDA0002264948880000012
采用式(1)表示为:
Figure FDA0002264948880000021
其中,
Figure FDA0002264948880000022
表示测试人员携带定位标签在区域Sl的中心点位置第n次发射脉冲信号时,第k个所述的基站接到该脉冲信号的接收时间戳,n=1,2,…,N;
按照
Figure FDA0002264948880000023
的顺序将
Figure FDA0002264948880000024
这L个数据集矩阵排列,并且从
Figure FDA0002264948880000025
开始直至
Figure FDA0002264948880000026
结束,将
Figure FDA0002264948880000027
这L个数据集矩阵均分为Ll份,其中
Figure FDA0002264948880000028
其中,max(L1,L2)表示取L1和L2中的较大值;采用第1份至第Ll-1份数据集矩阵中的数据构成训练数据集,该训练数据集记为D1
Figure FDA0002264948880000029
训练数据集D1包括N×(max(L1,L2)×(Ll-1))行数据,将第Ll份数据集矩阵作为测试数据集,该测试数据集记为D2
Figure FDA00022649488800000210
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 FDA0002264948880000031
Figure FDA0002264948880000032
Figure FDA0002264948880000033
其中,
Figure FDA0002264948880000034
表示输入层的第k0个神经单元与第一隐藏层的第k1个神经单元之间的连接权值,k0=1,2,…,K0,k1=1,2,…,K1;
Figure FDA0002264948880000035
表示第一隐藏层的第k1个神经单元与第二隐藏层的第k2个神经单元之间的连接权值,k2=1,2,…,K2,
Figure FDA0002264948880000036
表示第二隐藏层的第k2个神经单元与输出层的第k3个神经单元之间的连接权值,k3=1,2;
将所述的第一隐藏层的值向量记为h1
Figure FDA0002264948880000037
Figure FDA0002264948880000038
表示第一隐藏层中第k1个神经单元的值;
将所述的第二隐藏层的值向量记为h2
Figure FDA0002264948880000039
Figure FDA00022649488800000310
表示第二隐藏层中第k2个神经单元的值;
将所述的输出层的值向量记为h3
Figure FDA00022649488800000311
Figure FDA00022649488800000312
表示输出层中第k3个神经单元的值,所述的BP神经网络模型输出的位置坐标为
Figure FDA00022649488800000313
Figure FDA00022649488800000314
表示位置坐标的横坐标的值,
Figure FDA00022649488800000315
表示位置坐标的纵坐标的值;
④对所述的BP神经网络模型的w1、w2和w3进行训练,得到训练后的BP神经网络模型,具体过程为:
步骤4-1、对所述的输入层与所述的第一隐藏层之间的权值矩阵w1、所述的第一隐藏层与所述的第二隐藏层之间的权值矩阵w2、所述的第二隐藏层与所述的输出层之间的权值矩阵w3分别采用随机函数进行初始化,将
Figure FDA0002264948880000041
分别初始化为0~0.1之间的随机数;
步骤4-2、设定训练次数变量T,对T进行初始化,令T=1;
步骤4-3、对所述的BP神经网络模型进行第T次训练,具体方法为:
步骤4-3-1、将训练数据集D1的第T行数据作为所述的BP神经网络模型的输入数据从所述的输入层输入,得到所述的输入层中第k0个输入神经单元的值,将训练数据集D1的第T行数据中位于第k列的数据记为
Figure FDA0002264948880000042
所述的输入层中第k0个输入神经单元的值等于训练数据集D1的第T行数据中第k0列的数据
Figure FDA0002264948880000043
步骤4-3-2、采用式(5)计算第一隐藏层中第1个至第K1个神经单元的值,得到第一隐藏层的值向量h1,其中k1=1,2,…,K1:
Figure FDA0002264948880000044
式(5)中,计算时
Figure FDA0002264948880000045
的取值为其当前最新值,∑为累加符号;
步骤4-3-3、采用式(6)计算第二隐藏层中第1个至第K2个神经单元的值,得到第二隐藏层的值向量h2,其中k2=1,2,…,K2:
Figure FDA0002264948880000046
式(6)中,计算时
Figure FDA0002264948880000047
Figure FDA0002264948880000048
的取值均为其当前最新值;
步骤4-3-4、采用式(7)计算第三隐藏层中第1个至第K3个神经单元的值,得到输出层的值向量h3,其中k3=1,2:
Figure FDA0002264948880000049
式(7)中,计算时
Figure FDA0002264948880000051
Figure FDA0002264948880000052
的取值均为其当前最新值;
步骤4-3-5、从输出层开始反向计算每一层中每个神经单元的残差项并对各权值矩阵进行更新,具体过程为:
A、将输出层的第1个神经单元的残差项记为
Figure FDA0002264948880000053
第2个神经单元的残差项记为
Figure FDA0002264948880000054
采用式(8)计算得到
Figure FDA0002264948880000055
Figure FDA0002264948880000056
Figure FDA0002264948880000057
式(8)中,
Figure FDA0002264948880000058
Figure FDA0002264948880000059
的取值均为其最新值,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值;
B、采用
Figure FDA00022649488800000510
的当前最新值加上
Figure FDA00022649488800000511
的和去更新
Figure FDA00022649488800000512
的取值,并采用更新后的
Figure FDA00022649488800000513
去更新权值矩阵w3,得到更新后的权值矩阵w3,其中η=0.5,计算时
Figure FDA00022649488800000514
Figure FDA00022649488800000515
的取值为其当前最新值,;
C、将第二隐藏层的残差项记为
Figure FDA00022649488800000516
Figure FDA00022649488800000517
采用向量表示为:
Figure FDA00022649488800000518
式(9)中
Figure FDA00022649488800000519
表示第二隐藏层的第k2个神经单元的残差项;
D、采用式(10)计算得到
Figure FDA00022649488800000520
Figure FDA00022649488800000521
式(10)中,计算时
Figure FDA00022649488800000522
Figure FDA00022649488800000523
的取值均为其当前最新值;
E、采用
Figure FDA00022649488800000524
的当前最新值加上
Figure FDA00022649488800000525
的和去更新
Figure FDA00022649488800000526
并采用更新后
Figure FDA00022649488800000527
去更新权值矩阵w2,得到更新后的权值矩阵w2,其中,k1=1,2,…,K1,k2=1,2,…,K2,计算时
Figure FDA00022649488800000528
Figure FDA00022649488800000529
的取值均为其当前最新值;
F、将第一隐藏层的残差项记为
Figure FDA00022649488800000530
Figure FDA00022649488800000531
采用向量表示为:
Figure FDA0002264948880000061
式(11)中
Figure FDA0002264948880000062
表示第一隐藏层的第k1个神经单元的残差项;
G、采用式(12)计算得到
Figure FDA0002264948880000063
Figure FDA0002264948880000064
式(12)中,计算时
Figure FDA0002264948880000065
Figure FDA0002264948880000066
的取值均为其当前最新值;
H、采用
Figure FDA0002264948880000067
的当前最新值加上
Figure FDA0002264948880000068
的和去更新
Figure FDA0002264948880000069
并采用更新后
Figure FDA00022649488800000610
去更新权值矩阵w1,得到更新后的权值矩阵w1,其中,k1=1,2,…,K1,k0=1,2,…,K0,计算时
Figure FDA00022649488800000611
Figure FDA00022649488800000612
的取值均为其当前最新值;
步骤4-3-6、采用误差函数来衡量所述的BP神经网络模型输出的位置坐标和实际坐标之间的误差,误差函数采用式(13)和式(14)表示为:
Figure FDA00022649488800000613
Etotal=Eo1+Eo2 (14)
式(13)和式(14)中,Eo1表示BP神经网络模型输出的位置坐标的横坐标误差,Eo2表示BP神经网络模型输出的位置坐标的纵坐标误差,Etotal表示BP神经网络模型输出的位置坐标的总误差,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值,
Figure FDA00022649488800000614
Figure FDA00022649488800000615
的取值为其当前最新值;
步骤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 FDA0002264948880000071
所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure FDA0002264948880000072
步骤5-3、利用步骤4-3-2~步骤4-3-4相同的方法对步骤④得到的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3进行验证过程中的第Q次更新,得到更新后的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3
步骤5-4、根据上述最后一次更新得到的h3与测试集D2的第Q行数据对应的实际区域的中心点位置坐标,利用式(13)和(14)计算所述的BP神经网络模型输出的位置坐标与实际区域的中心点处位置坐标的之间总误差,将横坐标误差记为
Figure FDA0002264948880000073
纵坐标误差记为
Figure FDA0002264948880000074
总误差记为
Figure FDA0002264948880000075
判定
Figure FDA0002264948880000076
是否小于2,如果小于2,则直接进入步骤5-5,如果大于等于2,则先采用梯度下降方法来优化BP神经网络模型后再进入步骤5-5,采用梯度下降方法来优化BP神经网络模型的具体过程为:
步骤5-4-1、将w3相对于
Figure FDA0002264948880000077
的梯度记为Λ3,利用求偏导方法计算Λ3,如式(15)所示:
Figure FDA0002264948880000078
式(15)中,
Figure FDA0002264948880000079
Figure FDA00022649488800000710
分别计算如下:
Figure FDA00022649488800000711
Figure FDA0002264948880000081
Figure FDA0002264948880000082
Figure FDA0002264948880000083
上式中,计算时
Figure FDA0002264948880000084
Figure FDA0002264948880000085
的取值为其最新值;
由此,得到式(20),如下所示:
Figure FDA0002264948880000086
(2)将第一隐藏层与第二隐藏层之间的权值矩阵w2相对于
Figure FDA0002264948880000087
的梯度记为Λ2,Λ2利用求偏导方法计算如下:
Figure FDA0002264948880000088
其中,
Figure FDA0002264948880000089
Figure FDA00022649488800000810
分别计算如下:
Figure FDA00022649488800000811
Figure FDA00022649488800000812
Figure FDA00022649488800000813
上式中,计算时
Figure FDA00022649488800000814
取值均为其最新值;
由此,得到式(25),如下所示:
Figure FDA00022649488800000815
(3)将输入层与第一隐藏层之间的权值矩阵w1相对于
Figure FDA00022649488800000816
的梯度记为Λ1,Λ1计算如下:
Figure FDA0002264948880000091
其中,
Figure FDA0002264948880000092
Figure FDA0002264948880000093
分别计算如下:
Figure FDA0002264948880000094
Figure FDA0002264948880000095
Figure FDA0002264948880000096
由此,得到式(30),如下所示:
Figure FDA0002264948880000097
步骤5-4-2、采用
Figure FDA0002264948880000098
的值更新w1
Figure FDA0002264948880000099
的值,得到更新后的w1,采用
Figure FDA00022649488800000910
的值更新w2
Figure FDA00022649488800000911
的值,得到更新后的w2,采用
Figure FDA00022649488800000912
的值更新w3
Figure FDA00022649488800000913
的值,得到更新后的w3,其中,每次计算时
Figure FDA00022649488800000914
Figure FDA00022649488800000915
的取值均为其最新值,η1=0.3。
步骤5-4-3、利用更新后的权值矩阵w1、w2、w3更新当前BP神经网络模型,将输入测试数据集D2中的第Q行数据输入到更新后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为
Figure FDA00022649488800000916
所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据
Figure FDA00022649488800000917
按照步骤5-3的方法再次输出h3,将本次得到的值向量h3作为当前最新值向量,得到最新位置坐标;
步骤5-4-4、基于最新位置坐标,再次计算误差值
Figure FDA00022649488800000918
判定得到的
Figure FDA00022649488800000919
是否小于等于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 FDA0002264948880000101
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 FDA0002264948880000111
步骤6-4、定位得到的位置坐标为
Figure FDA0002264948880000112
实现定位。
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 true CN110972056A (zh) 2020-04-07
CN110972056B 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523667A (zh) * 2020-04-30 2020-08-11 天津大学 一种基于神经网络的rfid定位方法
CN113259884A (zh) * 2021-05-19 2021-08-13 桂林电子科技大学 基于多参数融合的室内定位基站布设优化方法
CN116170746A (zh) * 2023-01-03 2023-05-26 中国人民解放军63983部队 基于深度注意力机制和几何信息的超宽带室内定位方法
CN116912320A (zh) * 2023-09-13 2023-10-20 齐鲁空天信息研究院 对象高程坐标的定位方法、装置、电子设备及介质

Citations (8)

* 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神经网络的超宽带室内定位方法
US20180020420A1 (en) * 2016-07-12 2018-01-18 Xirrus, Inc. Wireless communication network with distributed device location determination
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 南京邮电大学 一种基于支持向量机的超宽带室内定位误差消除算法
CN110225460A (zh) * 2019-06-05 2019-09-10 三维通信股份有限公司 一种基于深度神经网络的室内定位方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815308A (zh) * 2009-11-20 2010-08-25 哈尔滨工业大学 神经网络区域训练的wlan室内定位方法
US20180020420A1 (en) * 2016-07-12 2018-01-18 Xirrus, Inc. Wireless communication network with distributed device location determination
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室内定位方法
CN110225460A (zh) * 2019-06-05 2019-09-10 三维通信股份有限公司 一种基于深度神经网络的室内定位方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
熊勋等: "基于卷积神经网络的机器人象棋识别与视觉定位算法设计", 《东莞理工学院学报》 *

Cited By (7)

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

Also Published As

Publication number Publication date
CN110972056B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN110972056B (zh) 一种基于机器学习的uwb室内定位方法
CN1965247B (zh) 用于确定位置数据的方法
KR102116824B1 (ko) 딥러닝 기반 측위 시스템 및 이의 구축 방법
CN105911518A (zh) 机器人定位方法
Dvorecki et al. A machine learning approach for Wi-Fi RTT ranging
CN104902562B (zh) 一种基于多层指纹匹配的室内定位方法
CN105044662A (zh) 一种基于wifi信号强度的指纹聚类多点联合室内定位方法
CN109041218B (zh) 一种预测用户位置的方法和智能硬件
CN106842123A (zh) 一种室内定位方法及室内定位系统
CN108828643B (zh) 一种基于灰色预测模型的室内外无缝定位系统及方法
CN103618997B (zh) 一种基于信号强度概率的室内定位方法和装置
CN107727095A (zh) 基于谱聚类和加权反向传播神经网络的3d室内定位方法
CN101799532B (zh) 一种采用单站多信道的室内定位方法
CN102111873B (zh) 选取可见基站的方法及装置、终端定位方法及装置
CN101854216B (zh) 一种基于修正电离层信道模型进行信道对等性研究的方法
CN110716998B (zh) 一种精细尺度人口数据空间化方法
CN114760587A (zh) 一种基于uwb传感器基站分组策略的定位方法
CN102223192A (zh) 一种高速铁路复合小尺度无线信道模型构建的方法和装置
CN115118368A (zh) 一种结合前向散射与后向散射的新型通感一体化信道建模方法
CN114189301A (zh) 一种基于实测多径数据的无线信道仿真方法及装置
CN106922017A (zh) 定位方法以及终端
CN111263295B (zh) 一种wlan室内定位方法和装置
CN102841364A (zh) Gps测速实现方法及gps测速仪
CN104504900A (zh) 基于emd算法的个体出行手机切换序列道路匹配方法
CN111856527A (zh) 一种基于伪卫星空间信号图谱的室内定位方法

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