一种基于插值的室内指纹定位方法与流程

文档序号:11846505阅读:来源:国知局

技术特征:

1.一种基于插值的室内指纹定位方法,其特征在于,包括如下步骤:

步骤1,卡尔曼滤波;

步骤11,以已知位置待处理的接收信号强度RSSI值为输入,由于RSSI值易受干扰噪声的影响,而卡尔曼滤波是高斯过程最优滤波的一种有效算法,经处理得到目标RSSI值;

步骤2,协同克里格插值算法;

步骤21,以步骤11获取的RSSI值为主变量、节点的通讯链路质量LQI值为辅变量作为输入,使用协同克里个插值算法对定位区域内的未知位置点的RSSI值进行最优、无偏、线性估计,具体步骤包括为:

步骤211,使用协同克里格插值算法找到样本点之间的依存关系,首先利用配对关系Pairi=(di,RSSIi)、Pairj=(dj,LQIj)进行自相关性和互相关心过的空间建模,di和dj分别表示两个传感器节点间的距离,RSSIi和LQIj表示传感器节点所获取的RSSI值和对应的LQI值,具体步骤包括为:

步骤2111,根据测量的样本点在空间上的分布情况,分析自相关性的半变异函数,如公式(1)所示

<mrow> <mi>&gamma;</mi> <mrow> <mo>(</mo> <mi>h</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mrow> <mo>(</mo> <mi>z</mi> <mo>(</mo> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>)</mo> <mo>-</mo> <mi>z</mi> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>+</mo> <mi>h</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

式(1)中n表示关系对Pairi的数量,z(xa)和z(xa+h)分别表示配对的两个节点的属性值RSSI和LQI,h表示两节点间距离,γ(h)表示半变异函数,通过公式(1)获得关系对Pairi和Pairj各自的半变异函数值;

步骤2112,根据测量的样本点在空间上的分布情况,分析互相关性的半变异函数,如公式(2)示

<mrow> <msub> <mi>&gamma;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>h</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mo>&lsqb;</mo> <msub> <mi>z</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>z</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>+</mo> <mi>h</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>&times;</mo> <mo>&lsqb;</mo> <msub> <mi>z</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>z</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>+</mo> <mi>h</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

式(2)中n表示Pair的数量,zi(xa)和zi(xa+h)分别表示两个节点的RSSI值,zj(xa)和zj(xa+h)分别表示两个节点的LQI值,且距离均为h,γij(h)表示互半变异函数,通过公式(2)获得各个Pairi的半变异函数值;

步骤2113,以步骤2111获取的关系对Pairi和Pairj各自的自相关的半变异函数和步骤2112获取的互相关的半变异函数为输入,接着采用最小二乘法进行拟合建立相关的半变异模型;

步骤212,以步骤2113获取的自相关的和互相关的经验半变异模型为输入,对未知位置点的RSSI值进行预测,预测过程如下公式所示

<mrow> <msub> <mi>Z</mi> <mrow> <mn>0</mn> <mi>i</mi> </mrow> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mn>1</mn> <mi>m</mi> </munderover> <msub> <mi>&lambda;</mi> <mi>i</mi> </msub> <msub> <mi>Z</mi> <mi>i</mi> </msub> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mn>1</mn> <mi>n</mi> </munderover> <msub> <mi>&lambda;</mi> <mi>j</mi> </msub> <msub> <mi>Z</mi> <mi>j</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

式(3)中Z0i表示待估计位置的RSSI值,Zi和Zj分别表示距离待估计位置最近的节点测量得到的RSSI和LQI值,m和n分别代表RSSI和LQI所对应样本数量,同位属性m=n,λi和λj分别代表RSSI和LQI的权重系数,具体计算过程如下:

<mrow> <munderover> <mo>&Sigma;</mo> <mn>1</mn> <mi>m</mi> </munderover> <msub> <mi>&lambda;</mi> <mi>i</mi> </msub> <mo>=</mo> <mn>1</mn> <mo>;</mo> <munderover> <mo>&Sigma;</mo> <mn>1</mn> <mi>n</mi> </munderover> <msub> <mi>&lambda;</mi> <mi>j</mi> </msub> <mo>=</mo> <mn>0</mn> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>&lambda;</mi> <mi>i</mi> </msub> <msub> <mi>&gamma;</mi> <mn>11</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>&lambda;</mi> <mi>j</mi> </msub> <msub> <mi>&gamma;</mi> <mn>12</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>u</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>&gamma;</mi> <mn>11</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>&lambda;</mi> <mi>i</mi> </msub> <msub> <mi>&gamma;</mi> <mn>21</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>&lambda;</mi> <mi>j</mi> </msub> <msub> <mi>&gamma;</mi> <mn>22</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>u</mi> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>&gamma;</mi> <mn>12</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

式(4)、式(5)和式(6)中γ11和γ22分别是Zi(RSSI)和Zj(LQI)的自变异函数的理想模型,γ12和γ21代表的是两变量的互变异函数的理想模型,其中γ12=γ21,样本的权重系数λi和λj之和分别均为1,m和n分别为样本RSSI和LQI的数量,u1和u2为拉格朗日系数、权重系数λi和λj均可通过线性方程组(4)、(5)和(6)解得;

步骤3,RSSI指纹建立;

步骤31,采用步骤2的协同克里格插值算法可以建立一个信标节点对应在定位区域内的单维度指纹向量;

步骤32,所有信标节点广播信号建立对应的单维度指纹向量,再对所有单维度指纹向量进行并集操作,具体步骤包括:

步骤321,定位区域的长、宽分别为L和W,并将它划分为m行和n列,每个小格子的长和宽分别为Cl=L/m、Cw=W/N;

步骤322,步骤321将定位区域D划分后,通过协同克里格插值算法计算每个小格子对应的RSSI值,这样就建立了信标节点A对应的单维度指纹fA,fA是一个m×n的指纹;

步骤323,对信标节点B、C、D、E重复步骤322,分别构建单维度指纹fB、fC、fD和fE,最后对单维度指纹做并集建立定位区域的多维度指纹向量,那么第i个格子对应的5维向量就是五个单维度指纹在该位置的RSSI值的并集,i∈{1,2,3,…,m×n},通过321、322、323三个步骤就可以建立完整的定位区域多维度指纹向量,

Ffinger=fA∪fB∪fC∪fD∪fE (5)

式(5)中fi表示信标节点i广播信号在定位区域内建立的单维指纹向量,i∈{A,B,C,D,E},Ffinger表示信标节点A、B、C、D、E对应的5个单维指纹向量的一个并集;

步骤4,匹配定位算法;

步骤41,以步骤323获得的多维指纹向量和需定位节点所获取到的多维RSSI向量为输入,使用向量相似度匹配算法得到相似度从高到低的前number个向量对应的格子,即是节点定位的范围,多维RSSI向量如下所示

<mrow> <msub> <mi>T</mi> <mn>5</mn> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>RSSI</mi> <mi>a</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>RSSI</mi> <mi>b</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>RSSI</mi> <mi>c</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>RSSI</mi> <mi>d</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>RSSI</mi> <mi>e</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

式(6)中RSSIi表示所对应的信标节点i广播信号时定位节点所获取的RSSI值,i∈{a,b,c,d,e},T5表示定位节点所获取到的5维RSSI指纹向量;

步骤5,K-中心点算法聚类提取定位结果;

步骤51,以步骤41获得的前number个格子为输入,使用K-中心店算法对这些格子进行分类,提取出含格子数最多簇的簇首(簇的几何中心)作为节点的实际定位结果输出,簇首是簇的几何中心。

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