一种蓝牙信标的定位方法、装置及设备与流程

文档序号:20840846发布日期:2020-05-22 17:29阅读:705来源:国知局
一种蓝牙信标的定位方法、装置及设备与流程

本发明涉及通信技术领域,具体而言,涉及一种蓝牙信标的定位方法、装置及设备。



背景技术:

目前,对蓝牙信标进行定位主要依靠于接收的蓝牙广播信号强弱rssi,根据rssi信号的强弱估算距离,并在二维平面0xy或三维空间0xyz中,根据定位算法进行坐标的解算以确定定位点。但在实际应用中,蓝牙信标信号rssi自身的波动较大,且rssi受外界环境的干扰程度也较大,蓝牙信标标签的不同接触面、安装的平面甚至人员的动作都会引起rssi信号的变化。并且,许多的基站结点是布置在墙体或楼顶的,但许多定位算法都是直接利用二维平面进行坐标来解算,虽然提高了算法的速度,但却忽略了信号在竖直方向分量的,产生了误差,尤其是在靠近基站的时候,再利用二维平面进行定位的误差会很大。因此,最好将定位解算模型建立在三维空间中,但是,在三维空间定位模型中,信标基站的数目众多、不同信标之间错综复杂,难以建立解算的立体模型,同时也会增大整体的误差。若考虑不同情况下的纯数学模型计算,则变量居多,算法复杂度大,定位难度较大。因此,需要探索寻找一种高效率、多路径、专一性的蓝牙信标定位方法,能在复杂的三维空间中进行定位,提高准确性,减少蓝牙自身产生的定位波动的影响。

针对相关技术中,在蓝牙信标定位时,定位的准确性较低、误差较大且效率较低的问题,目前尚未提出有效的解决方案。



技术实现要素:

为了解决相关技术中,在蓝牙信标定位时,定位的准确性较低、误差较大且效率较低的问题,本发明实施例提供一种蓝牙信标的定位方法、装置及设备。

第一方面,本发明实施例提供一种蓝牙信标的定位方法,所述方法包括:

确定基站接收到蓝牙信标的信号数目ci;

根据所述信号数目ci确定对应的算法策略;

根据所述算法策略确定所述蓝牙信标的定位坐标。

进一步地,所述信号数目ci大于或等于3,且ci为正整数。

进一步地,当所述信号数目ci为3时,根据所述信号数目ci确定对应的算法策略,根据所述算法策略确定所述蓝牙信标的定位坐标包括:

以接收信号强度最高的基站为原点建立三维空间模型;

在所述三维空间模型中根据信号强度分别拟合出三个基站与蓝牙信标的距离;

根据所述距离和在所述三维空间模型中确定的基站的坐标确定本次待定位的蓝牙信标的坐标;

对所述蓝牙信标的坐标做二阶滤波运算,以确定所述定位坐标。

进一步地,根据所述距离和在所述三维空间模型中确定的基站的坐标确定本次待定位的蓝牙信标的坐标通过以下公式实现:

(xk-x)2+(yk-y)2+(zk-z)2=lk2

其中,(xk,yk)为基站k的坐标,lk为基站与蓝牙信标的距离,k=1、2、3,(x,y,z)为本次待定位的蓝牙信标的坐标。

进一步地,对所述蓝牙信标的坐标做二阶滤波运算,以确定所述定位坐标通过以下公式实现:

bok=ck1*go+ck2*bok-1;

其中,ck1与ck2为二阶滤波系数;bok-1为上一次的定位坐标,k为正整数;go为本次待定为的蓝牙坐标,bok为定位坐标。

进一步地,当所述信号数目ci为4、5、6中的任意一个时,根据所述信号数目ci确定对应的算法策略,根据所述算法策略确定所述蓝牙信标的定位坐标包括:

以接收信号强度最高的基站为原点建立三维空间模型;

在所述三维空间模型中根据信号强度分别拟合出基站与蓝牙信标的距离;

根据每个距离与基准数值确定有效基站数目是否为3个,如果是,则确定有效信号数目ci为3。

进一步地,根据每个距离与基准数值确定有效基站数目是否为3个包括:

将所述距离按照由低到高的顺序进行排序,记为l1,l2,l3。。。li;

若max{l1,l2,l3...li}大于l+l0,则排除距离最大值;

若排除所述距离最大值后剩余的l为3个,则确定有效基站数目为3;

若max{l1,l2,l3...li}<l+l0,或者,排除所述距离最大值后剩余的l大于3个,则确定有效基站数目大于3个;

其中,l为l1,l2,l3。。。li的平均值,l0为预设值;l+l0为基准数值。

进一步地,在根据每个距离与基准数值确定有效基站数目是否为3个之后,所述方法还包括:

如果否,则基于所述三维空间模型获取组合数c(n,3);以基于所述组合数进行组合遍历;

分别计算不同组合模型下扫描到的蓝牙信标的坐标;

对每个坐标做衰减运算,以确定衰减后的坐标;

根据等差数列模型及等差数列求和公式对做衰减运算后的坐标进行变换,确定变换后的坐标;

根据变换后的坐标和组合数确定本次待定位的蓝牙信标的坐标bj;

对本次待定位的蓝牙信标的坐标做二阶滤波运算,以确定定位坐标bok。

进一步地,对每个坐标做衰减运算,以确定衰减后的坐标,通过以下公式实现:

衰减后的坐标分别为:k1*gb1(x1,y1,z1)、k2*gb2(x2,y2,z2)、k3*gb3(x3,y3,z3)…kn*gbn(xn,yn,zn);

其中,ki为衰减系数,gb1(x1,y1,z1)、gb2(x2,y2,z2)、gb3(x3,y3,z3)…gbi(xi,yi,zi)为不同组合模型下扫描到的蓝牙信标的坐标。

进一步地,根据等差数列模型及等差数列求和公式对做衰减运算后的坐标进行变换,确定变换后的坐标,通过以下公式实现:

变换后的坐标=k1*gb1(x1,y1,z1)、(k1+d)*gb2(x2,y2,z1)、(k1+2d)*gb3(x3,y3,z1)…(k1+d(n-1))*gbn(xn,yn,zn);

其中,k1为等差数列的首项,d为等差数列的公差。

进一步地,根据变换后的坐标和组合数确定本次待定位的蓝牙信标的坐标bj;

bj(x,y,z)=(k1*gb1(x1,y1,z1)+(k1+d)*gb2(x2,y2,z1)+(k1+2d)*gb3(x3,y3,z1)+…+(k1+d*(n-1))*gbn(xn,yn,zn))/c(n,3);

其中,bj为本次待定位的蓝牙信标的坐标。

进一步地,对本次待定位的蓝牙信标的坐标做二阶滤波运算,以确定定位坐标bok,通过以下公式实现:

bok(boxk,boyk,bozk)=ck1*bj(x,y,z)+ck2*bok-1(boxk-1,boyk-1,bozk-1),

其中,k1>k2>k3>…kn;ck1与ck2为二阶滤波系数;ck1+ck2=1,ck1>0,ck2>0;bok-1为上一次的定位坐标,k为正整数;bok(boxk,boyk,bozk)为定位坐标。

进一步地,当所述信号数目ci大于或等于7时,根据所述信号数目ci确定对应的算法策略,根据所述算法策略确定所述蓝牙信标的定位坐标包括:

以接收信号强度最高的基站为原点建立三维空间模型;

在所述三维空间模型中根据信号强度分别拟合出基站与蓝牙信标的距离;

按照接收信号由弱到强的顺序对所述基站以所述距离为标识进行排序,记为:l1,l2,l3。。。li;

按照接收所述信号由弱到强的顺序依次排除所述基站,直至剩余的基站数目为6;记为:{l1,l2,l3...l6};

将{l1,l2,l3...l6}分为3种情况,分别记为:

{l1,l2,l3.l4};{l1,l2,l3.l4.l5};{l1,l2,l3.l4.l4.l6};

分别确定每种情况下输出的定位坐标bi4(xi4,yi4,zi4)、bi5(xi5,yi5,zi5)和bi6(xi6,yi6,zi6);

其中,{l1,l2,l3...l4}与基站数目为4对应;{l1,l2,l3...l5}与基站数目为5对应;{l1,l2,l3...l6}与基站数目为6对应;

对bi4bi5bi6的同轴坐标之间,分别进行两两相减,以去除三个维度上误差最大的一组坐标数据;

对剩余的两组坐标数据取平均值;将结果记为o(x,y,z):

对所述o(x,y,z)进行二阶滤波运算,以确定bok。

进一步地,对bi4bi5bi6的同轴坐标之间,分别进行两两相减,以去除三个维度上误差最大的一组坐标数据,通过以下公式实现:

{x1,x2}=max{|xi4-xi5|,|xi4-xi6|,|xi5-xi6|}

{x1,x2}=max{|yi4-yi5|,|yi4-yi6|,|yi5-yi6|}

{z1,z2}=max{|zi4-zi5|,|zi4-zi6|,|zi5-zi6|}

其中,{x1,x2}{x1,x2}{z1,z2}为去除误差最大的一组坐标数据后剩余的数据。

进一步地,对所述o(x,y,z)进行二阶滤波运算,以确定bok,通过以下公式实现:

bok=ck1*bok-1+ck2*o;

其中,ck1与ck2为二阶滤波系数;bok-1为上一次的定位坐标,k为正整数;bok为本次的定位坐标。

进一步地,ck1=0.8,ck2=0.2。

第二方面,本发明实施例提供一种蓝牙信标的定位装置,所述装置用于执行第一方面所述的方法,所述装置包括:

信号数目确定模块,用于确定基站接收到蓝牙信标的信号数目ci;

算法策略确定模块,用于根据所述信号数目ci确定对应的算法策略;

定位坐标确定模块,用于根据所述算法策略确定所述蓝牙信标的定位坐标。

进一步地,所述信号数目ci大于或等于3,且ci为正整数。

第三方面,本发明实施例提供一种蓝牙信标的定位设备,所述设备包括第二方面所述的装置。

应用本发明的技术方案,确定基站接收到蓝牙信标的信号数目ci;根据信号数目ci确定对应的算法策略;根据算法策略确定蓝牙信标的定位坐标。由此,可根据信号数目选取合适的算法策略,针对具体情况选取合适的处理方式,对每一情况进行相应地专一化算法处理。从而达到提高定位精度以及定位效率的效果。

附图说明

图1是根据本发明实施例的一种蓝牙信标的定位方法的流程图;

图2是根据本发明实施例的一种蓝牙信标的定位方法的流程图;

图3是根据本发明实施例的一种蓝牙信标的定位方法的流程图;

图4是根据本发明实施例的ci=4时的四点定位模型实样图;

图4a是根据本发明实施例的ci在4到7之间时的定位模型实样图。

图5a、5b、5c、5d分别是根据本发明实施例的ci=4时的组合分解的4种定位模型实样图;

图6是根据本发明实施例的ci大于或等于7时的多节点模型的实样图;

图7是根据本发明实施例的一种蓝牙信标的定位方法的流程图;

图8是根据本发明实施例的一种蓝牙信标的定位方法的流程图;

图9是根据本发明实施例的一种蓝牙信标的定位方法的流程图;

图10是根据本发明实施例的一种蓝牙信标的定位装置的结构框图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细描述,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

下面对本发明方案做总体介绍,以使得读者清楚了解以下方案实现的前提及应用场景。本发明实施例的应用场景为:基站对蓝牙信标进行定位。假设待定位的信标坐标点为bj(x,y,z),j>=0,假设基站的布置居于一个平面,即z=0,因此,接收到信标bj信号的基站的坐标点为q1(x1,y1,0)、q2(x2,y2,0)、q3(x3,y3,0)…qn(xn,yn,0)(i<n,n为总基站的个数)。在实际工程中,不同的基站可扫描多个不同的信标,在扫描的过程中,接收到信标bj的基站数目可出现0,1,2,3…n的任何值,即对应于后文的信号数目ci可取0,1,2,3…n等值。下述附图分别示出了,ci为不同值时,分阶段模型且专一化的定位算法分析的流程。且根据ci的不同,即基站扫描到信号数目的不同,可建立二维或三维空间定位模型。由此,可使得模型更为精简,且可以提高定位算法的效率以及定位精度。可以理解的是,算法定位的坐标表示经过算法计算处理后得到的信标的坐标,最终输出的定位坐标bok表示蓝牙信标经过定位算法以及相关逻辑处理、滤波处理得到的最后输出的定位坐标。显然,经滤波处理后,可以达到减小定位误差,提高定位精度的效果。

为了解决相关技术中,在蓝牙信标定位时,定位的准确性较低、误差较大且效率较低的问题,本发明实施例提供一种蓝牙信标的定位方法,如图1所示,方法包括:

步骤s101、确定基站接收到蓝牙信标的信号数目ci;

步骤s102、根据信号数目ci确定对应的算法策略;

步骤s103、根据算法策略确定蓝牙信标的定位坐标。

由此,可根据信号数目选取合适的算法策略,针对具体情况选取合适的处理方式,对每一情况进行相应地专一化算法处理。从而达到提高定位精度以及定位效率的效果。

在一种可能的实现方式中,信号数目ci大于或等于3,且ci为正整数。下面对ci取不同值时,如何确定定为坐标分别进行介绍。

第一种情况:当信号数目ci为3时,如图2所示,根据信号数目ci确定对应的算法策略,根据算法策略确定蓝牙信标的定位坐标包括:

步骤s201、以接收信号强度最高的基站为原点建立三维空间模型;

步骤s202、在三维空间模型中根据信号强度分别拟合出三个基站与蓝牙信标的距离;

步骤s203、根据距离和在三维空间模型中确定的基站的坐标确定本次待定位的蓝牙信标的坐标;

步骤s204、对蓝牙信标的坐标做二阶滤波运算,以确定定位坐标。

其中,根据距离和在三维空间模型中确定的基站的坐标确定本次待定位的蓝牙信标的坐标通过以下公式实现:

(xk-x)2+(yk-y)2+(zk-z)2=lk2其中,(xk,yk)为基站k的坐标,lk为基站与蓝牙信标的距离,k=1、2、3,(x,y,z)为本次待定位的蓝牙信标的坐标。对蓝牙信标的坐标做二阶滤波运算,以确定定位坐标通过以下公式实现:bok=(ck1*go+ck2*bok-1);其中,ck1与ck2为二阶滤波系数;bok-1为上一次的定位坐标,k为正整数;go为本次待定为的蓝牙坐标,bok为定位坐标。

需要说明的是,当ci=3时,表示本次有3个基站扫描到bj,三点可确认一个具体的坐标。但在实际的过程中,蓝牙信号的波动较大,多数情况下根据坐标与距离很难确定标准的空间三棱锥模型,只能尽量在区域中确认一个合适的点,以此来确定三维空间0xyz模型,并在其中进行信标定位。为减小计算与定位的误差,以接收信号最强的基站做为三维空间模型0xyz原点。三个基站q1,q2,q3接收到的信号强度转换为距离分别为l1,l2,l3,则通过(xk-x)2+(yk-y)2+(zk-z)2=lk2确定定位基站k的坐标。其中,若,zk=0,则基站可用(xk,yk)表示。则具体运算如下:

考虑到以三维空间底面为基站面,即z1=z2=z3=0,在实际的过程中很难自然组建为一个理想立体模型,则不可以直接解算,可将平方转换为非平方进行运算,以避免无解和多解的情况,从而解算出最优解。则两两相减可得到:

已知(xk,yk,zk)k=1,2,3为基站b坐标,l1,l2,l3为估算出来的距离,皆为常数,因此,

a=x1-x2,b=(y1-y2)

m=x1-x2,n=(y1-y3)

其中a,b,c,m,n,h皆为常数,得一个二元方程:

ax+by=c

mx+ny=h

由以上二式计算得到解算的坐标go(x,y,z)为

则根据以上三个未知数可推算出优化的定位坐标go(x,y,z),考虑波动的影响,在输出定位坐标时,进行二阶滤波,可表示为bok=(ck1*go+ck2*bok-1),其中,ck1可为0.8,ck2可为0.2,则bok=0.8*go+0.2*bok-1)。以上介绍了ci=3时,具体如何确定定位坐标,但实际生活中,三个定位点出现的几率比较小。

第二种情况下,如图3所示,当信号数目ci为4、5、6中的任意一个时,根据信号数目ci确定对应的算法策略,根据算法策略确定蓝牙信标的定位坐标包括:

步骤s301、以接收信号强度最高的基站为原点建立三维空间模型;

步骤s302、在三维空间模型中根据信号强度分别拟合出基站与蓝牙信标的距离;

步骤s303、根据每个距离与基准数值确定有效基站数目是否为3个,如果是,则确定有效信号数目ci为3。

在一种可能的实现方式中,步骤s303、根据每个距离与基准数值确定有效基站数目是否为3个包括:将距离按照由低到高的顺序进行排序,记为l1,l2,l3。。。li;若max{l1,l2,l3...li}大于l+l0,则排除距离最大值;若排除距离最大值后剩余的l为3个,则确定有效基站数目为3;若max{l1,l2,l3...li}<l+l0,或者,排除距离最大值后剩余的l大于3个,则确定有效基站数目大于3个;其中,l为l1,l2,l3。。。li的平均值,l0为预设值;l+l0为基准数值。

在一种可能的实现方式中,在根据每个距离与基准数值确定有效基站数目是否为3个之后,方法还包括:如果否,则基于三维空间模型获取组合数c(n,3);以基于组合数进行组合遍历;分别计算不同组合模型下扫描到的蓝牙信标的坐标;对每个坐标做衰减运算,以确定衰减后的坐标;根据等差数列模型及等差数列求和公式对做衰减运算后的坐标进行变换,确定变换后的坐标;根据变换后的坐标和组合数确定本次待定位的蓝牙信标的坐标bj,对本次待定位的蓝牙信标的坐标做二阶滤波运算,以确定定位坐标bok。

在一种可能的实现方式中,对每个坐标做衰减运算,以确定衰减后的坐标,通过以下公式实现:

衰减后的坐标分别为:k1*gb1(x1,y1,z1)、k2*gb2(x2,y2,z2)、k3*gb3(x3,y3,z3)…kn*gbn(xn,yn,zn);

其中,ki为衰减系数,gb1(x1,y1,z1)、gb2(x2,y2,z2)、gb3(x3,y3,z3)…gbi(xi,yi,zi)为不同组合模型下扫描到的蓝牙信标的坐标。

在一种可能的实现方式中,根据等差数列模型及等差数列求和公式对做衰减运算后的坐标进行变换,确定变换后的坐标,通过以下公式实现:变换后的坐标=k1*gb1(x1,y1,z1)、(k1+d)*gb2(x2,y2,z1)、(k1+2d)*gb3(x3,y3,z1)…(k1+d(n-1))*gbn(xn,yn,zn);其中,k1为等差数列的首项,d为等差数列的公差。

在一种可能的实现方式中,根据变换后的坐标和组合数确定本次待定位的蓝牙信标的坐标bj;bj(x,y,z)=(k1*gb1(x1,y1,z1)+(k1+d)*gb2(x2,y2,z1)+(k1+2d)*gb3(x3,y3,z1)+…+(k1+d*(n-1))*gbn(xn,yn,zn))/c(n,3);其中,bj为本次待定位的蓝牙信标的坐标。

在一种可能的实现方式中,对本次待定位的蓝牙信标的坐标做二阶滤波运算,以确定定位坐标bok,通过以下公式实现:bok(boxk,boyk,bozk)=ck1*bj(x,y,z)+ck2*bok-1(boxk-1,boyk-1,bozk-1),其中,k1>k2>k3>…kn;ck1与ck2为二阶滤波系数;ck1+ck2=1,ck1>0,ck2>0;bok-1为上一次的定位坐标,k为正整数;bok(boxk,boyk,bozk)为定位坐标。

对第二种情况进行具体介绍:第二种情况表示本次有4个到7个基站扫描到标签bj,则考虑到“蓝牙信号越弱、距离过大、误差就越大”的原则,先剔除蓝牙信号数据比较弱的的一组数据,其方法是将估算的距离l1、l2、l3和l4取平均值得到l,如果估算的距离max{l1,l2,l3,l4}大于l+l0,可剔除这个最大值,计算的方式如同ci=3的情况,其中,l0是阀值常数,l0可根据实际情况进行调整,一般可取10m-15m。如果max{l1,l2,l3,l4}小于l+l0,则直接使用三维空间四点定位法进行定位,但是实际中由于蓝牙的自身波动以及基站测距误差的存在,若看成距三维球体模型时,一般会出现相离、相交的混合情况。则可采取一种拆散组合方式和一种权值系统处理方式的结合方式,例如,图4是ci=4时四点定位模型,且图4a是ci在4到7之间时的模型实样图。且ci=4时,可组合为c(4,3),即4种情况,每一种的三点定位模型分别如图如图5a、5b、5c、5d所示,分别对每一种组合进行坐标解算。定位算法模型步骤如下:

1、排序遍历,首先每个基站的估算距离l进行排序得到{l1,l2,l3…ln},获取三维空间组合数为c(n,3),进行组合遍历分别为zb1{l1,l2,l3},zb2{l1,l2,l4},zb3{l1,l2,l5}…zbj{li-2,li-1,li},j=c(n,3)其中,zbj表示基站每三个组合的模型,需要在此空间三维中进行定位计算,参考ci=3的三点定位模型方法,分别计算每种组合下三维空间定位的坐标分别为gb1(x1,y1,z1)、gb2(x2,y2,z2)、gb3(x3,y3,z3)…gbi(xi,yi,zi),即可计算出gb1,gb2,gb3…gbn的坐标。

2、系数衰减,分别给予系数衰减值则表示为,k1*gb1(x1,y1,z1)、k2*gb2(x2,y2,z2)、k3*gb3(x3,y3,z3)…kn*gbn(xn,yn,zn),估算距离的原则是距离愈远,估算距离的精度越差。因此系数衰减满足的关系为k1>k2>k3>…kn,假设给定ki-ki-1为一个差值d,令ki-ki-1=ki-1-ki-2,则ki可等效于等差数列ki=k1+(i-1)d,kn为组合数,考虑到且等差数列求和模型为:kn=na1+d(n(n-1)),sn=c(n,3),n为c(n,3)=na1+d*n(n-1),则不同组合下定位坐标可表示为k1*b1(x1,y1,z1)、(k1+d)*b2(x2,y2,z1)、(k1+2d)*b3(x3,y3,z1)…(k1+d(n-1))*bn(xn,yn,zn);

3、定位计算,根据系数衰减的方法计算出多点定位结点的坐标为:bj(x,y,z)=(k1*b1(x1,y1,z1)+(k1+d)*b2(x2,y2,z1)+(k1+2d)*b3(x3,y3,z1)+…+(k1+d*(n-1))*bn(xn,yn,zn))/c(n,3),k1表示等差数首项,d表示公差;

4、滤波输出,考虑到蓝牙信号的波动问题以及定位精度的差异情况,可于上一次输出的定位坐标bok-1(boxk-1,boyk-1)作二阶滤波,即最后输出的定位坐标为:bok(boxk,boyk,bozk)=ck1*bj(x,y,z)+ck2*bok-1(boxk-1,boyk-1,bozk-1),需要满足ck1+ck2=1,ck1>0,ck2>0,通常取ck1=0.8,ck2=0.2。其中,k1,k2,k3,k4…kn未必是等差数列,可根据实地测试的结果进行调整,可自行取值。由此,则可针对具体情况选取合适的处理方式,对每一情况进行相应地专一化算法处理。从而达到提高定位精度以及定位效率的效果。

第三种情况:当信号数目ci大于或等于7时,根据信号数目ci确定对应的算法策略,根据算法策略确定蓝牙信标的定位坐标包括:以接收信号强度最高的基站为原点建立三维空间模型;在三维空间模型中根据信号强度分别拟合出基站与蓝牙信标的距离;按照接收信号由弱到强的顺序对基站以距离为标识进行排序,记为:l1,l2,l3。。。li;按照接收信号由弱到强的顺序依次排除基站,直至剩余的基站数目为6;记为:{l1,l2,l3...l6};将{l1,l2,l3...l6}分为3种情况,分别记为:{l1,l2,l3.l4};{l1,l2,l3.l4.l5};{l1,l2,l3.l4.l4.l6};分别确定每种情况下输出的定位坐标bi4(xi4,yi4,zi4)、bi5(xi5,yi5,zi5)和bi6(xi6,yi6,zi6);其中,{l1,l2,l3...l4}与基站数目为4对应;{l1,l2,l3...l5}与基站数目为5对应;{l1,l2,l3...l6}与基站数目为6对应;对bi4bi5bi6的同轴坐标之间,分别进行两两相减,以去除三个维度上误差最大的一组坐标数据;对剩余的两组坐标数据取平均值;将结果记为o(x,y,z),对o(x,y,z)进行二阶滤波运算,以确定bok。

在一种可能的实现方式中,对bi4bi5bi6的同轴坐标之间,分别进行两两相减,以去除三个维度上误差最大的一组坐标数据,通过以下公式实现:

{x1,x2}=max{|xi4-xi5|,|xi4-xi6|,|xi5-xi6|}

{x1,x2}=max{|yi4-yi5|,|yi4-yi6|,|yi5-yi6|}

{z1,z2}=max{|zi4-zi5|,|zi4-zi6|,|zi5-zi6|}

其中,{x1,x2}{x1,x2}{z1,z2}为去除误差最大的一组坐标数据后剩余的数据。

在一种可能的实现方式中,对o(x,y,z)进行二阶滤波运算,以确定bok,通过以下公式实现:bok=ck1*bok-1+ck2*o;其中,ck1与ck2为二阶滤波系数;bok-1为上一次的定位坐标,k为正整数;bok为本次的定位坐标。例如:ck1=0.8,ck2=0.2。

需要说明的是,以上三种情况中,可以理解的是,上述实现方式中ck1与ck2均为二阶滤波系数,且经过多次实验分析可得,ck1可以取值0.8,ck2可以取值0.2。

需要说明的是,第三种情况中,当ci大于或等于7时,表示本次至少有7个基站扫描到标签bj,图6为ci大于或等于7时,多节点模型的实样图。多节点的精度相对来说,高于节点少的情况,但多节点又存在误差很大的距离,会影响整体的定位精度,需将误差大的距离从中剔除。在实际的定位布置中,扫描到信标bj的基站个数在4-6个时的精度比较高,若大于7个,则系统的波动大,累计的误差增大,从而会导致精度降低。因此当基站个数超过6个时候,剔除基站接收的蓝牙信号最弱的数据,将数目降到6个以下。例如:将每个基站的估算距离进行由低到高顺序排序,得到数列b{l1,l2,l3,…,li},取前4-6个数据作为定位模型的运算数据,参考第二种情况时的定位算法模型,核心在于分别计算得到ci=4,ci=5,ci=6时的三维空间下不同组合c的三维空间定位的输出坐标,分别记为:bi4(xi4,yi4,zi4)、bi5(xi5,yi5,zi5)和bi6(xi6,yi6,zi6),然后将输出的坐标(x,y,z)进行误差分析,分别去除坐标轴xyz三个维度误差最大的坐标数据:具体公式如下:

{x1,x2}=max{|xi4-xi5|,|xi4-xi6|,|xi5-xi6|}

{y1,y2}=max{|yi4-yi5|,|yi4-yi6|,|yi5-yi6|}

{z1,z2}=max{|zi4-zi5|,|zi4-zi6|,|zi5-zi6|}

除去误差较大的数据后将留下的两组数据(xk,yk,zk),k=1,2,分别取平均x=(x1+x2)/2,y=(y1+y2)/2,z=(z1+z2)/2,得到最后的定位输出坐标,即输出的坐标bok(boxk,boyk,bozk)=(x,y,z);同样在实际中k1,k2,k3,…,kn的值可自行根据实际定位情况自行设定。

需要说明的是,还可利用分阶梯模型对各种情况下的模型算法进行分析,以对各种情况进行专一化的定位模型建立,无需直接运算。组合的方式降低了定位算法的复杂程度,提高了定位精度。公式如下:

求出距离后,可分别根据以上三种情况剔除误差较大的距离。并选择合适的算法,求取定为坐标。本发明实施例有效地减少了蓝牙信标信号的波动造成的定位误差,提高了系统定位的准确性。切可针对接收的信号数目不同的每一种情况进行相应地专一算法处理,极大地提高了解算的定位精度。且利用多数据滤波处理、节点组合方式和系数算权值的共建方式,提高了算法的执行效率,减少了信号数目多造成的系统整体误差。

图7示出了根据本发明实施例的ci=3时的蓝牙信标的定位方法示意图,与上述第一种情况相对应:如图7所示,该方法包括:

步骤s701、判断ci是否为3?如果是,则执行步骤s602,如果否,则继续判断。

步骤s702、以空间三维模型0xyz进行定位;

步骤s703、以距离最近的基站作为三维空间定位原点00;

步骤s704、建立数学解算模型;

步骤s705、判断是否有解?如果是,则执行步骤s706;如果否,则执行步骤s709;

步骤s706、解算定位的输出坐标(x,y,z);

步骤s707、与上一次输出作bok-1二阶滤波;

步骤s708、输出bok;

步骤s709、给出权值比例放大三边的距离倍数;

步骤s710、获取最优点的解;后执行步骤s606。

由此,可根据信号数目选取合适的算法策略,针对具体情况选取合适的处理方式,对每一情况进行相应地专一化算法处理。从而达到提高定位精度以及定位效率的效果。

图8示出了根据本发明实施例的ci为4、5、6中的任意一个时的蓝牙信标的定位方法示意图,如图8所示,该方法包括:

步骤s801、判断ci是否4、5、6中的任意一个;如果是,则执行步骤s802、如果否,则继续判断;

步骤s802、以空间三维模型0xyz进行定位;

步骤s803、以距离最近的基站作为三维空间定位原点g00;

步骤s804、将估算距离进行由低到高顺序排序得到;{l1,l2,l3...li};

步骤s805、若max{l1,l2,l3...li}大于l+l0,则去掉最大值;

步骤s806、将剩余数据{l1,l2,l3...lk}进行三点组合,组合数为c(k,3);

步骤s807、建立三维空间模型分别计算不同组合方式下的定位输出坐标;

步骤s808、建立三维空间模型分别计算出不同组合方式下的定位输出坐标gok(xk,yk,zk);

步骤s809、每个坐标给定衰减系数ki,即ki(xk,yk,zk);

步骤s810、确定参数kk,衰减系数满足k1>k2>k3>…>ki;

步骤s811、输出定位坐标:

g0(x,y,z)=sum{kkk(xk,yk,zk)}/c(k,3);

步骤s812、与上一次输出作二阶滤波bok=ck1*bok-1+ck2*go;

步骤s813、输出bok。

由此,可根据信号数目选取合适的算法策略,针对具体情况选取合适的处理方式,对每一情况进行相应地专一化算法处理。从而达到提高定位精度以及定位效率的效果。

图9示出了根据本发明实施例的ci大于7时的蓝牙信标的定位方法示意图,如图9所示,该方法包括:

步骤s901、判断ci是否大于7,如果是,则执行步骤s902、如果否,则继续判断;

步骤s902、以空间三维模型0xyz进行定位;

步骤s903、以距离最近的基站作为三维空间定位原点00;

步骤s904、将估算距离进行由低到高顺序排序得到{l1,l2,l3...li};

步骤s905、保留前6个数据,剔除后面的数据得到{l1,l2,l3...l6};

步骤s906、将剩余数据{l1,l2,l3...l6}分为三种情况,

{l1,l2,l3.l4};{l1,l2,l3.l4.l5};{l1,l2,l3.l4.l4.l6};

步骤s907、参考ci=3、4、5、6的步骤,计算每一种情况下的每一种组合后的输出结果;

步骤s908、计算后输出的坐标分别是bi4,bi5和bi6;

步骤s909、对三个坐标的分别两两相减;(bu-bw),u,w属于i4,i5,i6;

步骤s910、分别去除xyz三个方向的各自误差的最大坐标数据;

步骤s911、将剩余的数据分别在xyz三个方向上两两取平均得到坐标o(x,y,z);

步骤s912、与上一次输出做二阶滤波bok=ck1*bok-1+ck2*o;

步骤s913、输出bok。

由此,可根据信号数目选取合适的算法策略,针对具体情况选取合适的处理方式,对每一情况进行相应地专一化算法处理。从而达到提高定位精度以及定位效率的效果。

图10示出了根据本发明实施例的一种蓝牙信标的定位装置,装置用于执行上述实施例所示的方法,装置包括:

信号数目确定模块1001,用于确定基站接收到蓝牙信标的信号数目ci;

算法策略确定模块1002,用于根据信号数目ci确定对应的算法策略;

定位坐标确定模块1003,用于根据算法策略确定蓝牙信标的定位坐标。

由此,可根据信号数目选取合适的算法策略,针对具体情况选取合适的处理方式,对每一情况进行相应地专一化算法处理。从而达到提高定位精度以及定位效率的效果。

在一种可能的实现方式中,信号数目ci大于或等于3,且ci为正整数。

本发明实施例还提供一种蓝牙信标的设备,设备包括图10所示的装置。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台移动终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1