基于改进的Kalman滤波算法的室内定位系统及方法

xiaoxiao2021-2-23  104

基于改进的Kalman滤波算法的室内定位系统及方法
【技术领域】
[0001] 本发明设及一种室内定位系统及方法,特别是设及一种基于改进的Kalman滤波算 法的室内定位系统及方法。
【背景技术】
[0002] 随着信息时代的快速发展,人们对位置信息服务的需求日益强烈,各种定位和导 航服务已经广泛的深入到人们的日常生活中。全球定位系统(GPS)的产生和发展使得人们 在室外环境里对获取事物的地理位置上拥有了前所未有的高可靠性的精确定位技术方法。 但是,由于GI^信号不能穿透建筑物,所W其并不能在室内环境中得到充分的利用。
[0003] 室内位置的信息服务技术具有广阔的应用空间,该技术可W使得在复杂的室内环 境中,如图书馆、地下车库、仓库、医院等,实现对人员和物品的快速定位,除此W外,获取传 感器的位置信息也是非常重要的,如果传感器的位置信息是未知的,则应用在水质监测,地 震强度和室内空气监测等应用环境中传感器获取的数据就毫无意义。虽然目前应用于室内 定位的技术方法有很多,如基于超声波定位技术、基于红外线的定位技术、基于超宽带的定 位技术、射频识别定位技术等。但是对目前已有的运些室内定位技术进行了比较,得出结论 是对于研究室内定位系统,ZigBee技术尤其适合,其结构简单,布置简便,性能优良,而且系 统功耗非常小,定位效果可W方便地达到应用需求。综合考虑了不同室内无线定位系统的 工作原理、技术方法及各自的优缺点,并集合了无线传感器网络的特点及室内定位的各种 要求,因此,本发明采用基于无线传感器网络节点接收信号强度值的定位方法来进行未知 节点的定位。
[0004] 当前也有不少利用RSSI(Received Si即al Strength Indication,接收的信号强 度指示)进行室内定位方法中也引入Kalman滤波算法,它是通过Kalman滤波算法对由RSSI 测距求得的位置坐标值进行滤波处理,从而达到提高误差精度的效果,但该Kalman滤波模 型中的系统噪声协方差和测量噪声协方差是分别取的一组均差为零的高斯白噪声序列矩 阵,运对于持续变动的目标并不适合

【发明内容】

[0005] 为克服上述现有技术存在的不足,本发明之目的在于提供一种基于改进的Kalman 滤波算法的室内定位系统及方法,通过引入次优无偏极大后验噪声统计估计器对Kalman算 法中的系统噪声协方差和测量噪声协方差进行了自适应修正处理,代替W零均差已知协方 差的局斯白噪声序列,使得Kalman滤波算法有了很好的滤波效果。
[0006] 为达上述及其它目的,本发明提出一种基于改进的Kalman滤波算法的室内定位系 统,该室内定位系统包括多个错节点、至少一未知节点与一汇集节点及上位机,所述未知节 点定期向周围错节点发送数据,错节点获得未知节点的RSSI值,并通过高斯滤波处理对各 错节点接收到的RSSI值进行筛选得到符合条件的值,将其和自身的位置坐标及ID信息经过 汇集节点传输给上位机,由上位机计算出各RSSI值对应的距离,并将该些错节点对应的距 离值进行改进的Kalman滤波处理,最后再经过Ξ边定位及质屯、算法求出未知节点的坐标。
[0007]进一步地,各错节点随机布置,W使其无线信号覆盖到整个待定位区域。
[000引进一步地,各节点均为无线传感器节点。
[0009] 为达到上述目的,本发明还提供一种基于改进的Kalman滤波算法的室内定位方 法,包括如下步骤:
[0010] 步骤一,随机地布置错节点使其无线信号覆盖到整个待定位区域,同时安置好汇 集节点,完成室内定位网络的构建;
[0011] 步骤二,根据已知设定好的参考原点给每个布置好的错节点输入位置坐标及ID 号;
[0012] 步骤Ξ,在待定位区域放入需要定位的未知节点,且定期地向周围错节点发送数 据,各错节点从中获得未知节点的RSSI值,并将该些值经过高斯滤波公式筛选处理后与自 身坐标及ID信息通过该汇集节点传输给上位机;
[0013] 步骤四,上位机通过RSSI测距信号衰减模型公式求出各错节点到未知节点的距 离;
[0014] 步骤五,将步骤四求得的各错节点到未知节点的距离作为改进的Kalman滤波算法 的观测值Zk,利用改进的Kalman滤波算法求得滤波平均值為
[0015] 步骤六,W各错节点的坐标为圆屯、,W步骤五求得滤波平均值为半径,求得Ξ圆重 叠的曲边Ξ角形的Ξ顶点坐标值;
[0016] 步骤屯,对该曲边Ξ角形求取曲边Ξ角形的质屯、即为未知节点的位置坐标值。 [0017]进一步地,于步骤四中,该上位机将所有错节点的RSSI值经过从大到小的顺序进 行排序,筛选出排在前Ξ的对应错节点,并利用RSSI测距信号衰减模型公式求出对应错节 点到该未知节点的距离。
[0018] 进一步地,该高斯滤波公式为:
[0019]
[0020] 其中,
通过ε <F(RSSI) < 1来确定RSSI的取值 范围。
[0021] 进一步地,该RSSI测距信号衰减模型公式为:
[0022] RSSI=RSSI〇-10nlg(d/d〇)+X〇
[0023] 其中,RSSIo为经过距离do收到的RSSI值;do为单位距离;X。为平均值为0、方差为6 的高斯分布随机函数;η为信号衰减因子。
[0024] 进一步地,该改进的Kalman滤波算法引入次优无偏极大后验噪声统计估计器对传 统Kalman算法中的系统噪声协方差和测量噪声协方差进行自适应修正处理,代替W零均差 已知协方差的高斯白噪声序列。
[0025] 进一步地,该改进的Kalman滤波算法引入次优无偏极大后验噪声统计估计器对传 统Kalman算法中的系统噪声协方差和测量噪声协方差进行自适应修正处理如下:
[0026]

[0029] 其中,么和4分别是指第k时刻的系统噪声协方差和第k时刻的观测噪声协方差; 是+,1^是指第k+1时刻的测量估计偏差;Kk+i是指第k+1时刻的增益矩阵;Pk+I|k+1是指第k+1时 亥IJ的协方差的最优估计值;Ak+i|k是指第k+1时刻状态预测值的转移矩阵;Pk+i|k是指第k+1时 刻的协方差预测值;Hk+i是指第k+1时刻的观测矩阵;ε化),1-ε化)是加权系数。
[0030] 进一步地,于步骤屯中,
[0031]
[0032] 其中,(^,71),(义2,72),(记,73)为曲边^角形的^顶点坐标。
[0033] 与现有技术相比,本发明一种基于改进的Kalman滤波算法的室内定位系统及方 法,通过引入次优无偏极大后验噪声统计估计器对Kalman算法中的系统噪声协方差和测量 噪声协方差进行了自适应修正处理,代替W零均差已知协方差的高斯白噪声序列,使得 Kalman滤波算法有了很好的滤波效果。
【附图说明】
[0034] 图1为本发明一种基于改进的Kalman滤波算法的室内定位系统的架构示意图;
[0035] 图2为本发明一种基于改进的Kalman滤波算法的室内定位方法的步骤流程图;
[0036] 图3为本具体实例中错节点的布置图;
[0037] 图4为本具体实例中待测点的定位效果示意图;
[003引图5为本发明具体实例中待测点的定位误差精度比较示意图。
【具体实施方式】
[0039] W下通过特定的具体实例并结合【附图说明】本发明的实施方式,本领域技术人员可 由本说明书所掲示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同 的具体实例加 W施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离 本发明的精神下进行各种修饰与变更。
[0040] 图1为本发明一种基于改进的Kalman滤波算法的室内定位系统的架构示意图。如 图1所示,本发明一种基于改进的Kalman滤波算法的室内定位系统,基于无线传感器网络, 包括:多个错节点(参考节点)、至少一未知节点(定位节点)、一汇集节点及上位机,各节点 均为无线传感器节点,各错节点随机布置,W使其无线信号覆盖到整个待定位区域,移动未 知节点定期向周围错节点发送数据,错节点因此获得未知节点的RSSI值,并通过高斯滤波 处理对各错节点接收到的RSSI值进行筛选得到符合条件的值,将其和自身的位置坐标及ID 信息经过汇集节点传输给上位机,由上位机计算出各RSSI值对应的距离,然后将运些错节 点对应的距离值进行Kalman滤波处理,最后再经过Ξ边定位及质屯、算法求出未知节点的坐 标,从而完成室内定位节点的定位过程,在本发明中,定位终端为一PC机。
[0041] 图2为本发明一种基于改进的Kalman滤波算法的室内定位方法的步骤流程图。如 图2所示,本发明一种基于改进的Kalman滤波算法的室内定位方法,包括如下步骤:
[0042] 步骤201,随机地布置错节点使其无线信号覆盖到整个待定位区域,同时安置好汇 聚节点,完成室内定位网络的构建;
[0043] 步骤202,根据已知设定好的参考原点给每一个布置好的错节点输入位置坐标及 ID号;
[0044] 步骤203,在待定位区域放入需要定位的未知节点,且定期地向周围错节点发送数 据,各错节点从中获得未知节点的RSSI值,并将运些值经过高斯滤波公式(1)筛选处理后与 自身坐标及ID信息通过室内的汇集节点传输给上位机。
[0045]
叫)
[0046] 其中: 通过ε <F(RSSI) < 1来确定RSSI的取值 ? 范围,并根据经验计算得临界值ε可W取0.6。
[0047] 由于一般定位环境下RSSI值采集统计结果只有部分样本服从正态分布,其余样本 的总体分布则表现为严重左偏、严重右偏、多峰或者其他非正态分布,本发明为了尽可能的 消除环境因素带来的误差,在错节点i接收到未知节点RSSIi值后,对其进行了高斯滤波处 理。
[004引步骤204,上位机将所有错节点的RSSI值经过从大到小的顺序进行排序,筛选出排 在前Ξ的对应错节点,并通过RSSI测距信号衰减模型公式(2)求出对应错节点到未知节点 的距离。
[0049] RSSI=RSSI〇-10nlg(d/d〇)+X〇 (2)
[0化0] 式(2)中,RSSIo为经过距离do收到的RSSI值;do为单位距离通常取lm;X。为平均值 为0、方差为6的高斯分布随机函数;η为信号衰减因子,范围一般为2~4,但是本发明通过实 验验证衰减因子取2.3比较适合本实验室的环境;d为定位节点与错节点之间的转换距离, 本发明中,do取的是Im,通过实验测得RSSIo值为-6(Wbm。
[0051] 步骤205:将步骤204求得的各错节点到未知节点的距离作为改进的Kalman滤波算 法的观测值Zk,经过改进的Kalman滤波算法求得滤波平均值為
[0052] 步骤206, W各错节点的坐标为圆屯、,W步骤205求得滤波平均值为半径,求得Ξ圆 重叠的曲边Ξ角形的Ξ顶点 坐标值。
[0053] 步骤207,利用公式(3)求取曲边Ξ角形的质屯、即为未知节点的位置坐标值。
[0化4] (3)
[0055] 在步骤205中,对应用在该室内定位中的Kalman滤波算法进行了改进,通过引入次 优无偏极大后验(MAP)噪声统计估计器对Kalman算法模型中的系统噪声协方差和测量噪声 协方差进行了自适应修正处理,代替W零均差已知协方差的高斯白噪声序列,使得本发明 有了很好的滤波效果,从而提高了室内定位的误差精度。
[0056] (1)传统的Kalman滤波算法模型
[0057] Kalman滤波是W线性最小方差估计为基础的一种递归估计,它利用过去时刻的估 计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值。
[0058]假设目标方程和观测方程如下:
[0化9] Xk+i=AkXk+wk (4)
[0060] Zk = HkXk+i+vk (5)
[006。 其中,Xk是估计目标k时刻的状态向量,Zk是k时刻的观测向量,Ak是k时刻的状态转 移矩阵,化是k时刻的观测矩阵,Wk是k时刻的系统噪声向量,Vk是k时刻的观测噪声向量,且 Q,R分别为wk和vk的协方差矩阵。
[0062] 贝化alman滤波算法的主要两个部分的具体实现形式如下:
[0063] 1)时间更新部分:
[0070] Pk|k=[I-KkHk]Pk|k-i (11)
[0071] 其中,观测值Zk是第k次经过公式(2)处理后得到的各错节点到未知节点的距离值 是对k次观测值预测值;著,巾是对k次观测值经过Kalman滤波算法滤波后的最优估 计值;Pk|k-i是指第k次系统噪声协方差的预测值;Pklk是指第k次系统噪声协方差的最优估计 值。
[0072] (2)改进的Kalman滤波算法模型
[0073] 为了提高室内定位的误差精度,本发明采用了改进的Kalman滤波算法对由公式 (2)求得的距离值进行滤波处理。
[0074] 传统的Kalman滤波算法在进行滤波时,通常情况下都是取一组均差为零的高斯白 噪声序列矩阵进行实验仿真,然而在Kalman滤波过程中,Q和R的精度直接影响着Kalman滤 波算法的滤波效果。针对运种情况,考虑到了时变噪声统计特性,本发明引入次优无偏极大 后验估计器,对运两噪声协方差进行了估计,并用估计结果控和Λ来分别代替公式(7)、(8) 中的Q和R,从而对Kalman滤波算法进行了改进,疫和*公式如下。
[0078]其中,Wk是指k时刻的系统噪声向量;4和為分别是指第k时刻的系统噪声协方差 和第k时刻的观测噪声协方差;苗+w.如公式(9)所示,是指第k+1时刻的测量估计偏差;Kk+1是 指第k+1时刻的增益矩阵;Pk+i I k+i是指第k+1时刻的协方差的最优估计值;Ak+i I k是指第k+1时 亥IJ状态预测值的转移矩阵;Pk+I|k是指第k+1时刻的协方差预测值;Hk+I是指第k+1时刻的观测 矩阵;ε化),1-ε化)是加权系数,主要给陈旧数据和新近数据在数据更新的过程中赋予不同 权重,其遵循负指数函数的变化规律,求取公式如下所示。 闘
(15)
[0080] 式(15)中,S是遗忘因子,范围为0<s<l,本发明经实验确定S的值取0.95。
[0081] 为了验证本发明提出的算法可行性,下面通过实验来证明。
[0082] 本实验是在室内进行,实验过程中把错节点尽量布置在一个比较宽广没有障碍物 阻隔的干燥空间内,该空间长为10m,宽为10m,高为3m。在该实验环境中,实验测得该ZigBee 节点15m内数据传输正常。根据实验表明,在错节点个数增加至化个时,未知节点的定位误差 平均值将不再发生改变,随后增加的错节点个数并不能有效地提高对未知节点的定位精 度,而只是增加观测的维度。所W本文在运个实验空间里随机布置了8个错节点,布置图如 附图3所示。
[0083] 在定位过程中,未知节点和错节点布置在同一水平高度。为了看出通过改进的 Kalman滤波算法处理后求得的未知节点位置坐标值的误差精度情况,本文前后共随机进行 了 16组待测点定位实验。在每一组待测点定位试验中,上位机对同一时刻错节点传输上来 的RSSI值进行由大到小排序,选取前Ξ个RSSI经过公式(2)的信号衰减模型公式进行距离 的转换,将转换后的距离值作为该时刻Kalman滤波算法的观测值,W同样的方式对该Ξ个 错节点到未知节点的距离进行50次滤波处理,然后求取平均值作为各错节点距未知节点的 距离值,进行接下来的Ξ边测距及Ξ角定位算法求取该待测点的坐标值,16组随机待测点 的坐标值如附表1所示。
[0084] 表1各待测点坐标值
[0085]
[0086] 本发明改进前后及使用前后对运16组室内待测点的定位效果如附图4所示。
[0087] 定义1:待测点的实际值坐标为(x(i),y(i))未使用滤波算法的定位结果平均值为 口 1(0,巧(!'));改进前的Kalman滤波算法定位结果平均值为(巧(!'),巧!'));改进后的Kalman滤波 算法定位结果平均值为口 且运Ξ个平均值相对于真实值的误差分别为El(i)、E2 (i)、E3(i),(l<i<8)。
[0091 ]则待测点的定位误差精度比较如附图5所示。
[0092] 结合附图4和附图5,可W看出,经过改进后的Kalman滤波处理的结果明显比改进 前的滤波处理结果更接近于真实值,可W将室内定位误差控制在0.45m范围内。所W在特定 的室内环境中,只要事先确定好系统模型和观测模型,基于改进的Kalman滤波的室内定位 算法能够很好的提高室内定位的精度。
[0093] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本 领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此, 本发明的权利保护范围,应如权利要求书所列。
【主权项】
1. 一种基于改进的Kalman滤波算法的室内定位系统,其特征在于:该室内定位系统包 括多个锚节点、至少一未知节点与一汇集节点及上位机,所述未知节点定期向周围锚节点 发送数据,锚节点获得未知节点的RSSI值,并通过高斯滤波处理对各锚节点接收到的RSSI 值进行筛选得到符合条件的值,将其和自身的位置坐标及ID信息经过汇集节点传输给上位 机,由上位机计算出各RSSI值对应的距离,并将该些锚节点对应的距离值进行改进的 Kalman滤波处理,最后再经过三边定位及质心算法求出未知节点的坐标。2. 如权利要求1所述的基于改进的Kalman滤波算法的室内定位系统,其特征在于:各锚 节点随机布置,以使其无线信号覆盖到整个待定位区域。3. 如权利要求1所述的基于改进的Kalman滤波算法的室内定位系统,其特征在于:各节 点均为无线传感器节点。4. 一种基于改进的Kalman滤波算法的室内定位方法,包括如下步骤: 步骤一,随机地布置锚节点使其无线信号覆盖到整个待定位区域,同时安置好汇集节 点,完成室内定位网络的构建; 步骤二,根据已知设定好的参考原点给每个布置好的锚节点输入位置坐标及ID号; 步骤三,在待定位区域放入需要定位的未知节点,且定期地向周围锚节点发送数据,各 锚节点从中获得未知节点的RSSI值,并将该些值经过高斯滤波公式筛选处理后与自身坐标 及ID信息通过该汇集节点传输给上位机; 步骤四,上位机通过RSSI测距信号衰减模型公式求出各锚节点到未知节点的距离; 步骤五,将步骤四求得的各锚节点到未知节点的距离作为改进的Kalman滤波算法的观 测值Zk,利用改进的Kalman滤波算法求得滤波平均值· .3 步骤六,以各锚节点的坐标为圆心,以步骤五求得的滤波平均值为半径,求得三圆重叠 的曲边三角形的三顶点坐标值; 步骤七,对该曲边三角形求取曲边三角形的质心即为未知节点的位置坐标值。5. 如权利要求4所述的基于改进的Kalman滤波算法的室内定位方法,其特征在于:于步 骤四中,该上位机将所有锚节点的RSSI值经过从大到小的顺序进行排序,筛选出排在前三 的对应锚节点,并利用RSSI测距信号衰减模型公式求出对应锚节点到该未知节点的距离。6. 如权利要求4所述的基于改进的Kalman滤波算法的室内定位方法,其特征在于,该高 斯滤波公式为:其中,通过ε <F(RSSIH 1来确定RSSI的取值范围。7. 如权利要求4所述的基于改进的Kalman滤波算法的室内定位方法,其特征在于,该 RSSI测距信号衰减模型公式为: RSSI = RSSI〇-10nlg(d/d〇)+X〇 其中,RSSIo为经过距离do收到的RSSI值;do为单位距离;X。为平均值为0、方差为6的高斯 分布随机函数;η为信号衰减因子。8. 如权利要求7所述的基于改进的Kalman滤波算法的室内定位方法,其特征在于:该改 进的Kalman滤波算法引入次优无偏极大后验噪声统计估计器对传统Ka Iman算法中的系统 噪声协方差和测量噪声协方差进行自适应修正处理,代替以零均差已知协方差的高斯白噪 声序列。9. 如权利要求8所述的基于改进的Kalman滤波算法的室内定位方法,其特征在于,该改 进的Kalman滤波算法引入次优无偏极大后验噪声统计估计器对传统Ka Iman算法中的系统 噪声协方差和测量噪声协方差进行自适应修正处理如下:其中,氛和爲分别是指第k时刻的系统噪声协方差和第k时刻的观测噪声协方差;l+p. 是指第k+1时刻的测量估计偏差;Kk+1是指第k+1时刻的增益矩阵;Pk+1|k+1是指第k+1时刻的 协方差的最优估计值;Ak+1|k是指第k+Ι时刻状态预测值的转移矩阵;Pk+1| k是指第k+Ι时刻的 协方差预测值;Hk+1是指第k+Ι时刻的观测矩阵;e(k),l-e(k)是加权系数。10. 如权利要求9所述的基于改进的Kalman滤波算法的室内定位方法,其特征在于,于 步骤七中,其中,(xl,yl),(x2,y2),(x3,y3)为曲边三角形的三顶点坐标。
【专利摘要】本发明公开了一种基于改进的Kalman滤波算法的室内定位系统及方法,该室内定位系统包括多个锚节点、至少一未知节点与一汇集节点及上位机,所述未知节点定期向周围锚节点发送数据,锚节点获得未知节点的RSSI值,并通过高斯滤波处理对各锚节点接收到的RSSI值进行筛选得到符合条件的值,将其和自身的位置坐标及ID信息经过汇集节点传输给上位机,由上位机计算出各RSSI值对应的距离,并将该些锚节点对应的距离值进行改进的Kalman滤波处理,最后再经过三边定位及质心算法求出未知节点的坐标,本发明使得将Kalman滤波算法引入室内定位有了很好的滤波效果。
【IPC分类】H04W64/00, H04W84/18
【公开号】CN105491661
【申请号】CN201510916856
【发明人】昌凯, 范光宇, 其他发明人请求不公开姓名
【申请人】上海电机学院
【公开日】2016年4月13日
【申请日】2015年12月10日

最新回复(0)