欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 201911091885X
申请人: 宁波大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2023-08-24
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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处的数据集矩阵记为采用式(1)表示为:其中, 表示测试人员携带定位标签在区域Sl的中心点位置第n次发射脉冲信号时,第k个所述的基站接到该脉冲信号的接收时间戳,n=1,2,…,N;

按照 的顺序将 这L个数据集矩阵排列,并且从 开始直至

结束,将 这L个数据集矩阵均分为Ll份,其中 其中,max(L1,L2)表示取L1和L2中的较大值;采用第1份至第Ll-1份数据集矩阵中的数据构成训练数据集,该训练数据集记为D1, 训练数据集D1包括N×(max(L1,L2)×(Ll-1))行数据,将第Ll份数据集矩阵作为测试数据集,该测试数据集记为D2, 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)表示为:其中, 表示输入层的第k0个神经单元与第一隐藏层的第k1个神经单元之间的连接权值,k0=1,2,…,K0,k1=1,2,…,K1; 表示第一隐藏层的第k1个神经单元与第二隐藏层的第k2个神经单元之间的连接权值,k2=1,2,…,K2, 表示第二隐藏层的第k2个神经单元与输出层的第k3个神经单元之间的连接权值,k3=1,2;

将所述的第一隐藏层的值向量记为h1, 表示第一隐藏层中

第k1个神经单元的值;

将所述的第二隐藏层的值向量记为h2, 表示第二隐藏层中

第k2个神经单元的值;

将所述的输出层的值向量记为h3, 表示输出层中第k3个神经单元的值,所述的BP神经网络模型输出的位置坐标为 表示位置坐标的横坐标的值, 表示位置坐标的纵坐标的值;

④对所述的BP神经网络模型的w1、w2和w3进行训练,得到训练后的BP神经网络模型,具体过程为:步骤4-1、对所述的输入层与所述的第一隐藏层之间的权值矩阵w1、所述的第一隐藏层与所述的第二隐藏层之间的权值矩阵w2、所述的第二隐藏层与所述的输出层之间的权值矩阵w3分别采用随机函数进行初始化,将 分别初始化为0~0.1之间的随机数;

步骤4-2、设定训练次数变量T,对T进行初始化,令T=1;

步骤4-3、对所述的BP神经网络模型进行第T次训练,具体方法为:

步骤4-3-1、将训练数据集D1的第T行数据作为所述的BP神经网络模型的输入数据从所述的输入层输入,得到所述的输入层中第k0个输入神经单元的值,将训练数据集D1的第T行数据中位于第k列的数据记为 所述的输入层中第k0个输入神经单元的值等于训练数据集D1的第T行数据中第k0列的数据步骤4-3-2、采用式(5)计算第一隐藏层中第1个至第K1个神经单元的值,得到第一隐藏层的值向量h1,其中k1=1,2,…,K1:式(5)中,计算时 的取值为其当前最新值,∑为累加符号;

步骤4-3-3、采用式(6)计算第二隐藏层中第1个至第K2个神经单元的值,得到第二隐藏层的值向量h2,其中k2=1,2,…,K2:式(6)中,计算时 和 的取值均为其当前最新值;

步骤4-3-4、采用式(7)计算第三隐藏层中第1个至第K3个神经单元的值,得到输出层的值向量h3,其中k3=1,2:式(7)中,计算时 和 的取值均为其当前最新值;

步骤4-3-5、从输出层开始反向计算每一层中每个神经单元的残差项并对各权值矩阵进行更新,具体过程为:A、将输出层的第1个神经单元的残差项记为 第2个神经单元的残差项记为 采用式(8)计算得到 和式(8)中, 和 的取值均为其最新值,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值;

B、采用 的当前最新值加上 的和去更新 的取值,并采用更新后的

去更新权值矩阵w3,得到更新后的权值矩阵w3,其中η=0.5,计算时 和 的取值为其当前最新值;

C、将第二隐藏层的残差项记为 采用向量表示为:

式(9)中 表示第二隐藏层的第k2个神经单元的残差项;

D、采用式(10)计算得到

式(10)中,计算时 和 的取值均为其当前最新值;

E、采用 的当前最新值加上 的和去更新 并采用更新后 去更

新权值矩阵w2,得到更新后的权值矩阵w2,其中,k1=1,2,…,K1,k2=1,2,…,K2,计算时和 的取值均为其当前最新值;

F、将第一隐藏层的残差项记为 采用向量表示为:

式(11)中 表示第一隐藏层的第k1个神经单元的残差项;

G、采用式(12)计算得到

式(12)中,计算时 和 的取值均为其当前最新值;

H、采用 的当前最新值加上 的和去更新 并采用更新后 去更

新权值矩阵w1,得到更新后的权值矩阵w1,其中,k1=1,2,…,K1,k0=1,2,…,K0,计算时和 的取值均为其当前最新值;

步骤4-3-6、采用误差函数来衡量所述的BP神经网络模型输出的位置坐标和实际坐标之间的误差,误差函数采用式(13)和式(14)表示为:Etotal=Eo1+Eo2                 (14)式(13)和式(14)中,Eo1表示BP神经网络模型输出的位置坐标的横坐标误差,Eo2表示BP神经网络模型输出的位置坐标的纵坐标误差,Etotal表示BP神经网络模型输出的位置坐标的总误差,x为训练数据集D1的第T行数据对应区域的中心点位置坐标的横坐标值,y为训练数据集D1的第T行数据对应区域的中心点位置坐标的纵坐标值, 和 的取值为其当前最新值;

步骤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列的数据记为 所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据步骤5-3、利用步骤4-3-2~步骤4-3-4相同的方法对步骤④得到的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3进行验证过程中的第Q次更新,得到更新后的第一隐藏层的值向量h1、第二隐藏层的值向量h2和输出层的值向量h3;

3

步骤5-4、根据上述最后一次更新得到的h 与测试集D2的第Q行数据对应的实际区域的中心点位置坐标,利用式(13)和(14)计算所述的BP神经网络模型输出的位置坐标与实际区域的中心点处位置坐标的之间总误差,将横坐标误差记为 纵坐标误差记为 总误差记为 判定 是否小于2,如果小于2,则直接进入步骤5-5,如果大于等于2,则先采用梯度下降方法来优化BP神经网络模型后再进入步骤5-5,采用梯度下降方法来优化BP神经网络模型的具体过程为:步骤5-4-1、将w3相对于 的梯度记为Λ3,利用求偏导方法计算Λ3,如式(15)所示:式(15)中, 和 分别计算如下:

上式中,计算时 和 的取值为其最新值;

由此,得到式(20),如下所示:

(2)将第一隐藏层与第二隐藏层之间的权值矩阵w2相对于 的梯度记为Λ2,Λ2利用求偏导方法计算如下:其中, 和 分别计算如下:

上式中,计算时 取值均为其最新值;

由此,得到式(25),如下所示:

(3)将输入层与第一隐藏层之间的权值矩阵w1相对于 的梯度记为Λ1,Λ1计算如下:其中, 和 分别计算如下:

由此,得到式(30),如下所示:

步骤5-4-2、采用 的值更新w1中 的值,得到更新后的w1,采用的值更新w2中 的值,得到更新后的w2,采用 的值更新w3中

的值,得到更新后的w3,其中,每次计算时 和 的取值均为其最新值,η1=

0.3;

步骤5-4-3、利用更新后的权值矩阵w1、w2、w3更新当前BP神经网络模型,将输入测试数据集D2中的第Q行数据输入到更新后的BP神经网络模型的输入层,将测试数据集D2的第Q行数据中位于第k列的数据记为 所述的输入层中第k0个神经单元的值对应为测试集D2的第Q行数据中第k0列的数据 按照步骤5-3的方法再次输出h3,将本次得到的值向量h3作为当前最新值向量,得到最新位置坐标;

步骤5-4-4、基于最新位置坐标,再次计算误差值 判定得到的 是否小于等于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)表示为: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神经网络模型的输出层输出值向量步骤6-4、定位得到的位置坐标为 实现定位。