利用人工神经网络的RSSI测距优化技术研究

时间:2022-05-27 07:31:09

利用人工神经网络的RSSI测距优化技术研究

摘要: 基于RSSI(接收信号强度指示)的测距技术是一项低成本和低复杂度的距离测量技术,被广泛应用于基于测距的无线传感器网络的定位技术中。由于室内环境中存在非视距和多径传输的影响,测距误差比较大。针对这个问题,本文提出了一种递推平均滤波和高斯模型相结合的R值筛选策略以及一种利用人工神经网络的距离估计方法。实验表明: 通过合理的R值筛选策略和距离估计算法,RSSI测距的精度和抗干扰能力得到了明显的提高。

Abstract: Ranging technology based on RSSI (received signal strength indication) is a distance measurement technique with the features of low cost and low complexity. It is widely used in indoor wireless location. Ranging error is relatively large with the impact of NLOS indoor and multipath transmission. For this reason this paper presents a screening strategy, which successfully combined recursive average filter and Gaussian models. A measuring method of artificial neural network distance has been proposed as well. According to the result of the Experiments, RSSI ranging accuracy and anti-jamming capability have been significantly improved by this method.

关键词: RSSI;高斯模型;人工神经网络

Key words: RSSI;Gaussian models;artificial neural networks

中图分类号:TP39 文献标识码:A 文章编号:1006-4311(2012)11-0164-03

0 引言

节点定位技术是无线传感器网络各种应用的关键技术之一,而基于测距的定位技术是通过测量节点间距离来实现的,节点之间的测距精度直接影响了最终的定位效果。RSSI测距是一种低成本节点测距技术,RSSI值(接收信号的强度指示)是与距离相关的信息,它可以由传感器节点自身测量得到,不需要额外的硬件支持,所以得到了比较广泛的应用[1][2]。但是R值容易受到环境变化的影响,获取的R值经常无规律地变化。另一方面R值与实际距离之间的转化模型(距离-衰减模型)中的环境因子和遮挡因子具有一定的不确定性,这使得RSSI测距距离与实际距离往往存在较大误差。针对以上问题本文分别提出了一种递推平均滤波和高斯模型相结合的R值筛选策略和一种利用人工神经网络的距离估计方法对传统的RSSI测距进行优化处理。

1 RSSI测距存在的问题分析

信号在传播的过程中,随着距离的增大,信号强度的大小发生改变,根据这个改变可以得出信号强度的衰减与距离的关系。目前,无线信号传输中普遍采用的理论模型―Shadowing 模型[3],其具有对数衰减特性,如式(1):

RSSI=RSSI+10nlg+ε (1)

式中:其中d为参考距离;RSSI是距离为d时接收到的信号强度指示(Received Signal Strength Indicator,RSSI);d是真实距离;RSSI是距离为d时接收到的信号强度;ε是环境因子,与传播距离无关,主要与环境中的遮挡物、人员走动情况、空气温度和湿度等有关;n是路径损耗指数,它是介于2.0~3.3之间的常数。式(1)的模型中,d与RSSI的函数关系与参考点的选择(d,RSSI)、路径损耗指数(n)及环境因子(ε)有着很大关系,这些参数的选择优劣决定了该模型的准确性。

为了研究RSSI与距离的对应关系以及随机遮挡干扰对R值测量的影响,本文在室内环境下做了大量的实验,部分实验数据如图1所示。图1(a)所示为多次重复实验测定[0~3.5]m范围内每隔10cm处传输距离与RSSI的对应关系。从图中不难看出RSSI和无线信号传输距离之间有确定关系,RSSI的测量具有一定的重复性和互换性。图1(b)为节点周围存在和没有随机遮挡干扰时RSSI值变化曲线,可以看到在环境中没有随机遮挡干扰如行人走动、物体短暂遮挡时,同一位置RSSI测量值围绕某一中心值上下微弱波动且幅度较小。而当环境中存在短暂遮挡干扰时,RSSI的测量值波动较大,部分测量值会远远偏离正常值。

利用RSSI测距时,要尽量避免RSSI的不稳定性,使RSSI值越精确的体现无线信号的传输距离,在不增加硬件开支的条件下可以通过设计各种滤波器使RSSI的值平滑[4]。以上分析和实验结果表明,在应用环境下RSSI适度的变化有规律可循,且在解决好环境因素影响后,RSSI可以进行室内和室外的测距及其定位[5]。

2 RSSI值分级滤波模型

从前面环境干扰对R值测量影响的分析可知在没有随机遮挡干扰的情况下,RSSI值基本是围绕某一中心值上下波动且幅度较小,这时可以采用递推平均滤波模型对原序列进行平滑。递推平均滤波优点是对周期性干扰有良好的抑制作用且具有较高的数据平滑度。当环境中存在随机遮挡干扰时RSSI值的变化范围会非常大,递推平均滤波模型对这类偶然出现的脉冲性干扰的抑制作用较差,这种情况下不论是均值模型还是采用数据平滑的处理方法都不能得到准确的对应此距离下的RSSI值[6]。

针对这种情况,本文对大量实验数据作了统计分析后发现同一距离与其对应的RSSI值并不是一一对应关系。由于环境中各种干扰的存在以及物理层实现机制的问题,在整个测量过程中同一个距离会出现很多RSSI值。近距离时出现的RSSI值一般都较大,远距离处信号会快速衰减,所以不会出现较大的RSSI值。因此本文进一步认为在某个位置的RSSI值可以是一个概率问题,同一位置获得的RSSI值分布密度最大的区间是测量值和真实值最接近的数据范围即为置信区间。对于一些随机的遮挡干扰如图1(b)中,本文中利用高斯模型选取高概率发生区的RSSI值,滤除大部分错误的数据。这种做法减少了一些小概率、大干扰事件对整体测量的影响,增强了定位信息的准确性。

为了得到置信区间,本文由高斯模型出发作如下推导:

高斯分布函数数学定义为:F(x)=e (2)

其中均值m=X,方差σ=X-m。

令pe1 (3)

p为临界点。即当高斯分布函数值大于p时,认为对应的RSSI值为高概率发生值;当高斯分布函数值小于或等于p时,认为对应的RSSI值是小概率随机事件。

式(3)两边取对数、开方化简可得置信区间范围:

+mx+m (4)

置信区间确定后即确定了RSSI的选值范围,在此区间的RSSI值组成一个新的序列X,…,X,其中n为经过高斯公式筛选后入选的RSSI的个数。

结合以上两种情况,本文提出一种两级滤波的数据处理模型,具体为:对系统采集的R值序列做两级滤波处理,第一级滤波为递推平均滤波,其很好地抑制了无随机干扰情况下周期性微弱干扰(类似于系统噪声)并对数据进行平滑处理。第二级采用高斯滤波模型减少了一些小概率、大干扰事件对整体测量的影响。

为了验证滤波模型效果,本文基于Ti CC2430[7]无线传感器节点模块分别针对近距离、中距离、远距离做了大量测距试验,考虑到本文中应用RSSI测距定位的周期为2s,而CC2430节点发起一次通信所需时间小于10ms,故在每个定位周期中发起通信200次获取200个RSSI值用于验证本文提出的数据处理模型。实际应用中可根据具体定位周期要求,适当增加或减少每次测距过程获取的R值个数,以取得更好的性能。

图2是对比利用本文滤波模型前后的试验效果。从图(b)中可以看出,在环境中无随机遮挡干扰的情况下,本文利用滑动窗口长度为30的递推滤波模型能对数据起良好的平滑作用,有效地抑制了环境噪声。而在环境中存在随机干扰时,对于不同距离处,R值受干扰程度也不同。近距离处R值衰减较少,自身数值波动以及受干扰程度也较轻,此时利用递推平均滤波模型就能较好地平滑数据降低误差;中远距离处R值自身数值波动以及受干扰程度都比较严重,此时应用本文高斯滤波模型能剔除大量错误数据,有效地提高了R值的可靠性和合理性,减小了由于干扰所带来的误差,为进一步估计实际距离奠定了基础。

3 基于人工神经网络的距离估计

常用的距离估计策略有直接利用距离―损耗模型公式计算、以及先采用数据拟合的方法获得R值跟传输距离的函数关系再计算。由于距离-损耗模型中的环境因子ε和路径损耗n与射频电路和无线信号传输环境密切有关,且随着定位节点的移动实时变化。因此直接利用经验参数的模型公式计算距离往往误差较大。而且多数修正模型中环境因子和路径损耗的方案,都难以适应时变和复杂的环境,应用起来也有一定的局限性。

由于神经网络可以学习和自适应未知或不确定的系统,其不必预先知道输入和期望输出之间的数学模型,通过对训练样本的学习,就能很好地反映出对象的输入与输出之间的复杂的非线性关系,具有很好的函数逼近能力。其次神经网络中信息都等势分布存储于网络内的各神经元,具有很强的鲁棒性和容错性。利用这两个特点可以比较容易地构建出能够适应环境变化的R值和实际距离的映射关系,满足实际应用需求。故本文利用神经网络进行R值距离估计。

3.1 神经网络构建及输入输出向量的选取 本文采用前馈型误差反向传播三层BPNN网络,网络拓扑如图3。该网络有一个输入层、隐含层和一个输出层。进行神经网络设计时,需要先确定网络的拓扑结构,即确定各层神经元数目、神经元的变换函数,进行网络的初始化,制定误差规则、学习规则,然后进行网络训练以及训练参数、训练样本的归一化处理等。

由于本文中神经网络的输入是经过数据处理后R值的均值,输出是R值对应的估计距离,是单输入单输出网络。

3.2 隐含层神经元个数及训练函数的确定 输入层与输出层神经元的个数由样本组内的样本数来决定。而隐含层神经元个数的确定至今仍然存在一些理论上没有解决的问题,实际使用中常常根据网络的逼近精度与泛化能力来综合考虑。本文认为由于定位过程中节点位置是在不停变化的,而通常情况下节点在相邻时刻位置变化量有一定的范围,于是节点前一个位置对节点当前位置是有一定的预测和指导意义的。两次定位过程虽然是相对独立的过程,从宏观意义来看也有一定的内在联系。因此除了考虑网络模型的逼近精度和速度外,泛化能力也是本文比较注重的一个指标。

在与输出层神经元数量确定的情况下,根据隐含层神经元数目的经验公式常采用取二者神经元数量和的1.5~3倍,最后由试算确定[8]。由于增加隐含层神经元数量可以加快逼近速度,但网络的泛化能力下降,本文采用方法是开始时先根据经验放入较少的隐含单元,学习一定次数后,如果不成功就增加隐含层神经元数目,一直达到比较合理的隐含单元数为止。如此可以保证神经网络在具有良好泛化能力的同时又能有较快的收敛速度。

本文根据经验初步确定了隐含层神经元数量的大致范围并进行大量试验,表1为抽取的三次试验数据,可知隐层神经元个数为10时收敛步数相对最少。最终确定隐含层神经元数目为10个。

层间的作用函数有非线性型与线性型,在训练过程中,因非线性型的逼近速度快于线性型,所以神经网络层间的作用函数普遍采用非线性函数。本文中节点激活函数选用Sigmoid函数。

训练函数对神经网络的性能有很大的影响,主要表现在收敛速度、占用内存大小,和逼近精度几方面。本文中样本的数据量并不大,属于中小规模,因此选择训练函数时对于其占用内存大小并无过多要求,但是为了满足测距定位系统的实时性,需要训练函数的收敛速度比较快。Levenberg-Marquadt算法是一种优化算法。这种算法用在神经网络训练中的特点之一是收敛速度快,但是需要消耗大量的内存。对于中等规模的数据比较合适,在学习和泛化能力方面都很不错。

因此本文选择基于Levenberg-Marquardt算法的函数Trainlm作为神经网络的训练函数。

3.3 神经网络的训练和使用 神经网络的学习有两种形式:有导师学习和无导师学习。一般情况下有导师学习的训练样本是输入――输出对,而无导师训练只需要提供输入样本即可[9]。本文中使用有导师学习来训练神经网络,输入为经过滤波处理的RSSI值而输出为实际距离,训练过程中利用误差反向传播学习算法调整网络权值,以减小实际输出与期望输出之间的误差。图4为一次神经网络训练过程,最终经过85次训练得到了满足要求的神经网络。

4 实验分析与验证

本文的测试程序是基于Z-stack协议栈[9],通过我们自行研发的Zboom节点为实验平台,该平台包括CC2430模块组成的Zboom节点若干,及一套C#开发的上位机程序。系统中包括锚节点,定位节点和网关节点。网关节点不但负责数据信息的收发,还将接收到的信息通过串口发送给PC机,上位机程序对数据进行实时解析、显示与保存。

实验在室内环境中进行,测量范围为[0~3.5]m,从距离为10cm处开始测量,每隔10cm测量200组数据。基于前面介绍的实验平台并借助Matlab,本文对传统经验模型和本文提出的改进测距模型进行性能比较。实验结果如图5所示。

从图5中可以看出:在无随机遮挡干扰的情况下,本文提出的距离估计策略测距误差较小。测量距离在3m以内的最大测距误差为0.231m,约为测量距离的7.7%。而利用距离损耗模型公式计算最大测距误差为0.443m,约为测量距离的14.8%。

从图6中可以看出:在环境中存在随机遮挡干扰的情况下,本文算法由于采用了递推平均滤波与高斯滤波相结合的数据处理策略,有效地抑制了随机干扰对测量结果的影响。利用本文算法,测量距离在3m以内的最大测距误差为0.425m,约为测量距离的14.2%。而利用距离损耗模型公式计算最大测距误差为1.06m,约为测量距离的35.3%。此时采用本文算法对RSSI测距距离估计效果提升明显。

另外本文训练神经网络的样本都取自[0,2.5]m之间的实验数据,而对训练样本范围之外的实验结果也显示通过合理设计人工神经网络经过良好训练可以使网络不仅具有良好的非线性映射能力,还具有较强的泛化能力。对远距离处的距离估计效果明显优于传统数据拟合和距离-损耗模型公式估计。

5 结束语

本文以RSSI测距优化思想为指导,在不增加定位硬件成本的基础上以提高测距精度和测距稳定性为主要目标,首先通过实验分析了环境干扰对RSSI测距的影响,再从无线传感器网络节点自身到网关数据处理和最终距离估计等方面,分别研究了基于RSSI测距定位技术的RSSI值滤波、距离估计等方法。实验结果证明利用递推平均滤波和高斯模型相结合的R值分层滤波模型可以减小环境影响和随机干扰对RSSI定位算法的带来的误差,而利用人工神经网络的距离估计算法相对于传统模型公式在获取了更高定位精度的同时拥有更好的泛化能力和容错能力。本文的算法在一定程度上解决了因室内环境复杂多变导致距离――损耗模型失真而给定位带来较大误差的问题。

参考文献:

[1]任维政,徐连明,邓中亮,等.基于RSSI的测距差分修正定位算法[J].传感技术学报,2008,21(7):1247-1250.

[2]周艳.基于RSSI测距的传感器网络定位算法研究[J].计算机科学.2009,36(4):119-121.

[3]Ali S,Nobles P.A novel indoor location sensing mechanism for IEEE 802.11 b/g wireless LAN[C]IEEE The Fourth Workshop on Positioning,Navigation and Communication(WPNC’07),2007:9-15.

[4]杨凤,史浩山,朱灵波,等.一种基于测距的无线传感器网络智能定位算法[J].传感技术学报,2008,27(1):135-140.

[5]金卫民,神显豪.基于RSSI的室外无线传感网络自定算法[J].计算机工程,2008,34(13):89-91.

[6]王福豹,史龙,任丰原.无线传感器网络中的自身定位系统和算法[J].软件学报,2005,16(5):857-868.

[7]王秀梅,刘乃安.利用2.4GHz射频芯片CC2420实现ZigBee无线通信设计[J].国外电子元器件,2005.3,3:59-62.

[8]伍春香,刘琳,王葆元.三层BP网隐含层节点数确定方法的研究[J].武汉测绘科技大学学报,1999,24(2):177-179.

[9]曹旭帆.基于BP神经网络的函数逼近实验及MATLAB实现.实验室研究与探索,2008,(5):34-38.

上一篇:重点车辆监管平台技术应用中存在的问题与对策 下一篇:基于WAP2.0的移动学习系统的研究与设计