具体实施方式
为了更进一步详细解释本发明基于RSSI的室内定位方法与***的技术原理,下面针对常规技术进行更详细的介绍。
在传统的基于RSSI的定位方法中,其测量原理图如图1所示,该场景中用于定位的3个定位基站坐标分别为(x1,y1)、(x2,y2)和(x3,y3)。由于基于接收信号强度指示RSSI随距离变化,参考节点到待测节点或称盲节点(x,y)的距离d1、d2、d3,可以通过各参考基站接收信号RSSI的测量值反推得出,具体如式(1)所示。式中A为距离信号源1米处接收信号强度的平均值,n为路径损耗指数与具体的传播环境密切相关,Xε为随机误差。
RSSI(d)=-(10nlog10d+A+Xε) 式(1)
不同定位基站坐标(x1,y1)、(x2,y2)和(x3,y3)与盲节点(待测节点)(x,y)位置坐标,以及基于RSSI测量反推得出的距离d1、d2、d3,满足式(2)关系。
通过式(2)可以得出,盲节点位置坐标如式(3)。
上述传统的基于RSSI测距定位法,通过定位基站接收信号,完成待测节点RSSI值的检测和两者之间距离的判断。算法并未考虑实际***RSSI参数测量的误差与波动,当定位基站数目大于3个时,多定位基站测量可以提升测量精度,此时式(2)变为超定方程,原算法不能够有效求解,此时需要通过泰勒(Taylor)级数算法将超定方程进行泰勒级数展开,保留线性的前两项是基于泰勒级数展开的加权似然估计递归算法,其基本原理是将非线性方程在初始估计值处进行泰勒级数展开,保留前两项,再用加权似然估计算法求解该方程。上述算法应用于室内场景时,需要从以下几个方面进行改进:1)RSSI测距定位的理论基础;2)RSSI信号的测量过程中,受到加性噪声的影响,传统泰勒级数展开定位算法考虑到***和算法的简单有效性,以及不同***中定位终端的运算和处理能力的限制,仅仅对多个测量值进行平均,未对测量结果进行深入处理,由于室内定位可以为多基站定位***,在终端的处理和运算能力足够,并且都具有持续的电量供给的前提下,可以充分利用定位基站的处理和运算能力去除测量中的加性噪声,改善测量结果的可靠性,提高定位精度,例如在蓄能水电站的应用场景;3)在室内(例如厂房内)大型设备的遮挡和人员的运动,会导致不同定位基站接收到的RSSI值差异较大,但此时泰勒级数算法的求解,并未考虑去噪后的接收信号强度指示值RSSI的大小在测距时对于定位误差的影响。
针对上述三方面问题,本发明基于RSSI的室内定位方法与***主要从三个层面进行改进。1)在数据筛选阶段,考虑实际测量过程中的偶然误差对于测量结果的影响,对定位基站测量的大量RSSI信号进行高斯拟合处理,保留其中满足概率阈值的大概率测量值,提高了测量数据的有效性;2)在数据处理阶段,对筛选出的有效测量信号进行小波变换,去除测量中的加性噪声,降低了测量过程引入的噪声对于定位算法的影响;3)对泰勒级数算法进行了改进,考虑去噪后的RSSI的平均值大小在测距时对于定位误差的影响。此时,RSSI平均值越大,说明测量时待测节点和定位基站之间的信道质量越好,则测量结果越准确,此时RSSI值对于测量结果偏移量的影响越小。所以本发明基于RSSI的室内定位方法与***通过引入正定校正矩阵,校正了RSSI均值对于定位结果的影响程度。综上,基于RSSI的蓄能水电站室内定位算法,在数据筛选和处理阶段,充分考虑了误差和噪声的影响;在定位算法实现阶段,通过引入正定校正矩阵,优化了计算结果,能够有效提高室内定位算法的可靠性以及定位精度。
如图2所示,一种基于RSSI的室内定位方法,包括步骤:
S200:分别采集至少三个定位基站接收的RSSI信号。
在这里采集最少三个定位基站接收的RSSI信号,若数据处理能力足够,可以采集更多数量的定位基站接收的RSSI信号。非必要的,针对单个定位基站接收的RSSI信号,可以采集一段时间内接收的RSSI信号再求取其平均值作为该定位基站初始接收的RSSI信号。
S400:对采集的RSSI信号进行高斯拟合处理,保留采集的RSSI信号中满足预设概率阈值的大概率RSSI信号,获得有效RSSI信号。
在数据筛选阶段,考虑实际测量过程中的偶然误差对于测量结果的影响,对定位基站接收的大量RSSI信号进行高斯拟合处理,保留其中满足概率阈值的大概率RSSI信号,提高了测量数据的有效性。
具体来说,如图3所示,在其中一个实施例中,步骤S400包括:
S420:计算采集的RSSI信号的高斯分布均值与方差。
在实际定位测量的过程中,定位基站在不同时刻进行定位探测,接收和测量得到大量的RSSI值,由于式(1)中随机误差Xε的影响,同一基站在不同时刻测得的RSSI值理论上服从(μ,σ2)的高斯分布。
S440:根据采集的RSSI信号的高斯分布均值与方差,计算采集的RSSI信号的概率密度值。
其概率密度函数表示为:
其中RSSI高斯分布的均值为方差
S460:将采集的RSSI信号的概率密度值与预设概率阈值比较,丢弃概率密度值小于预设概率阈值对应的RSSI信号,概率密度值大于或等于预设概率阈值对应的RSSI信号,获得有效RSSI信号。
为了避免各种原因的偶然误差,导致的RSSI变化影响定位算法准确性,需要通过RSSI高斯拟合去除误差数据,即通过拟合之后去除由于各种误差引起的概率分布中的小概率事件。确定预设概率阈值TFLT,当0≤f(RSSI)<TFLT,认为此时的RSSI值,出现概率较小,不满足门限要求,将此接收信号强度指示值去除;当TFLT≤f(RSSI)<1时,此时的RSSI在拟合的概率密度较大区域,拟合说明接收信号强度指示值也大多分布于此区域,所以数据应予以保留。优选地,TFLT可以根据工程经验设置为0.6,则RSSI满足0.6≤f(RSSI)<1,即μ+0.15σ≤RSSI≤μ+3.09σ时,当接收的RSSI值属于此区域时,将数据保留,否则,认为是小概率数据,剔除。
S600:对有效RSSI信号进行小波变换,获得去噪后的有效RSSI信号。
通过高斯拟合筛选出的有效数据,滤除了可能由于各种误差导致的小概率测量数据,如果直接使用筛选后的各基站测量的多个RSSI的平均值进行后续的定位估计,算法精度会受到测量时叠加的加性噪声的影响。所以,为了去除测量时***噪声对于测量数据的影响,在这里,使用小波变换对测量信号进行去噪处理,降低测量过程引入的噪声对于定位算法的影响。具体来说,可以通过测量信号RSSI进行多分辨率小波分解从时域变换到小波域,合理选取阈值函数和阈值,将噪声所对应的小波系数按阈值函数进行处理,进行小波重构,将经过去噪处理后的数据从小波域变换回时域,得到去噪后的接收信号强度指示。
更进一步来说,在其中一个实施例中,步骤S600包括:
步骤一:将有效RSSI信号分解到小波域,获得至少两层小波系数以及与各层小波系数对应的尺度系数。
在具体应用实例中,可以选取Sym4小波以及恰当的分解层数,对筛选过的接收信号进行分解和重构,基于Sym4小波的分解滤波器为一个低通滤波器和一个高通滤波器。简单来说,该步骤是将含有噪声的接收信号变换分解到小波域,从而将接收信号和噪声干扰进行分离。由于小波变换是线性变换,对接收信号作离散小波变换后得到的小波系数仍由两部分组成,一部分是信号对应的小波系数,另一部分是噪声对应的小波系数。基于有用信号和噪声在经小波变换后具有不同的统计特性:有用信号的能量对应着幅值较大的小波系数,噪声能量则对应着幅值较小的小波系数,并分散在小波变换后的所有系数中。分析不同分解层中小波系数的特点,可以区分信号中的噪声和有效信号。由小波分解与重构快速算法(Mallet算法)可知,分解滤波的过程如下公式所示:
在式(5)中,dj,k为小波系数,cj,k为尺度系数,h,g为正交镜像滤波器组,h为低通滤波器,g为高通滤波器,j为分层数,N为离散采样点的数目。
步骤二:将至少两层小波系数分别与预设小波分解阈值进行比较,强制归零小于预设小波分解阈值的小波系数,并修正大于或等于预设小波分解阈值的小波系数,获得修正后的小波系数。
基于小波分解阈值去噪效果的好坏取决于小波基的选择、小波分解层数的确定以及阈值函数和阈值估计方法的选取。其中最重要的因素就是如何选择阈值函数以及确定所选择的阈值。优选地,采用分层固定软阈值法,按照式(6)对信号的小波系数进行处理。
对于小于阈值的小波系数,直接强制归零,而对于大于阈值的小波系数,则对其做修正处理。由于噪声是随机的不可预知的信号,在实际去噪过程中采用固定阈值进行估计。令式(6)中的预设小波分解阈值M为信号的长度。
步骤三:对修正后的小波系数与小波系数对应的尺度系数进行小波重构处理,获得去噪后的有效RSSI信号。
小波重构即是对去噪后的尺度系数和小波系数进行重构,从而变换为时域信号。同样得,小波重构过程是通过重构滤波器实现的,重构滤波器同样包括一个低通滤波器和一个高通滤波器。
其中cj,n为尺度系数,dj,n为小波系数,同时相应的hk-2n为重构低通滤波器,gk-2n为重构高通滤波器,j为分层数。可选的,可以使用小波包分析法对多分辨率小波分解没有细分的高频小波系数进一步分解,从而能够反映出更精细的高频信息,具有更为精确的局部分析能力,提高了时频分辨率。通过小波重构,去除了高斯拟合筛选出的有效数据中的加性噪声,去噪后的接收信号强度指示表示为RSSI。
S800:根据去噪后的有效RSSI信号,采用正定校正矩阵改进后的泰勒算法进行室内定位,获得定位结果。
为了提高室内定位***的精度,在测量时,采用多基站进行定位估计,当基站数目大于3个时,此时式(2)变为超定方程,通过泰勒(Taylor)级数算法求解盲节点(待测节点)坐标。泰勒级数算法的原理是利用泰勒级数展开,并通过加权最小二估计算法结合递归求解,但此时算法的求解,并未考虑接收信号强度指示值RSSI在测距时对于定位误差的影响,在室内,可能存在室内设备的遮挡和人员的运动,会导致不同定位基站接收到的RSSI值差异较大,其中RSSI信号经过了前面的误差剔除和小波变换去噪处理之后的RSSI平均值越大,说明测量时待测节点和定位基站之间的信道质量越好,则测量结果越准确,此时RSSI均值对于测量结果偏移量Δx和Δy的影响越小。所以在求解过程中加入正定矩阵R进行校正。其步骤主要包括:首先,通过加权似然法得到盲节点初始估计值的坐标(x',y'),将超定方程式(2)在初始估计值处进行泰勒级数展开,并忽略高次项,仅保留前两项,之后使用加权似然估计算法求解该方程。此时可以通过将加权似然法得到的初始坐标作为泰勒级数的初始展开位置,减少了迭代次数,降低了定位误差。
更进一步来说,在其中一个实施例中,步骤S800之前还包括步骤:
步骤一:根据去噪后的有效RSSI信号以及定位基站的位置,通过加权最大似然法,计算待测节点初始估计坐标。
在平面坐标系中,设(x,y)为待测盲节点的真实坐标,(x',y')为待测盲节点的估计坐标,(xi,yi)为第i个定位基站的坐标。参考基站节点到待测节点或称盲节点(x,y)的距离分别为d1,d2,d3,...,dn,可以表示为:
通过加权似然法得到盲节点初始估计值的坐标(x',y'),参考基站节点与该估计坐标值之间的距离表示为d1',d2',d3',...,dn',满足式(9)。
步骤二:在待测节点初始估计坐标处进行泰勒展开,获得待测节点与各定位基站之间初始测量距离与真实距离的矩阵。
将节点的真实坐标可表示为加权似然得到的坐标与位置偏移量之和x=x'+Δx,y=y'+Δy,则将式(8)在盲节点初始估计值的坐标(x',y')处按照泰格级数展开,忽略高次非线性项,可得
将算法测量距离与真实距离的差距值用矩阵B=(d1-d1' d2-d2' ... di-di' ...dn-dn')T表示,则通过推导可得
B=AΔ 式(11)
其中,
步骤三:对待测节点与各定位基站之间初始测量距离与真实距离的矩阵中加入正定校正矩阵,获得正定校正矩阵改进后的泰勒算法。
考虑接收信号强度指示值RSSI在测距时对于定位误差的影响,在蓄能水电站电厂内部,厂房内部设备的遮挡和人员的运动,会导致不同定位基站接收到的RSSI值差异较大,其中RSSI信号经过了前面的误差剔除和小波变换去噪处理之后的RSSI平均值越大,说明测量时待测节点和定位基站之间的信道质量越好,则测量结果越准确,此时RSSI值对于测量结果偏移量Δx和Δy的影响越小。所以在求解过程中加入校正矩阵,R为正定对角矩阵,加入R校正后,表示为:
RB=AΔ,解出Δ=(ATA)-1ATRB 式(12)
正定校正矩阵表示为:
在本实施例中,步骤S800具体过程如下:
采用正定校正矩阵改进后的泰勒算法进行迭代计算,以进行室内定位,获得最终的定位结果。令重复上述过程,直到|Δx|+|Δy|<ε,ε为预先设定的阈值,将此时的(x',y')作为盲节点最终的估计位置。
本发明基于RSSI的室内定位方法,分别采集至少三个定位基站接收的RSSI信号,对采集的RSSI信号进行高斯拟合处理,保留采集的RSSI信号中满足预设概率阈值的大概率RSSI信号,获得有效RSSI信号,对有效RSSI信号进行小波变换,获得去噪后的有效RSSI信号,根据去噪后的有效RSSI信号,采用正定校正矩阵改进后的泰勒算法进行室内定位,获得定位结果。整个过程中,高斯拟合和小波变换处理进行数据筛选与去噪,并考虑室内场景中大型设备和人员移动导致测量RSSI值的变化,引入正定矩阵校正估计偏移量的误差,有效提高定位精度。
如图4所示,一种基于RSSI的室内定位***,包括:
采集模块200,用于分别采集至少三个定位基站接收的RSSI信号。
高斯处理模块400,用于对采集的RSSI信号进行高斯拟合处理,保留采集的RSSI信号中满足预设概率阈值的大概率RSSI信号,获得有效RSSI信号。
小波变换处理模块600,用于对有效RSSI信号进行小波变换,获得去噪后的有效RSSI信号。
泰勒校正模块800,用于根据去噪后的有效RSSI信号,采用正定校正矩阵改进后的泰勒算法进行室内定位,获得定位结果。
本发明基于RSSI的室内定位***,采集模块200分别采集至少三个定位基站接收的RSSI信号,高斯处理模块400对采集的RSSI信号进行高斯拟合处理,保留采集的RSSI信号中满足预设概率阈值的大概率RSSI信号,获得有效RSSI信号,小波变换处理模块600对有效RSSI信号进行小波变换,获得去噪后的有效RSSI信号,泰勒校正模块800根据去噪后的有效RSSI信号,采用正定校正矩阵改进后的泰勒算法进行室内定位,获得定位结果。整个过程中,高斯拟合和小波变换处理进行数据筛选与去噪,并考虑室内场景中大型设备和人员移动导致测量RSSI值的变化,引入正定矩阵校正估计偏移量的误差,有效提高定位精度
如图5所示,在其中一个实施例中,高斯处理模块400包括:
计算单元420,用于计算采集的RSSI信号的高斯分布均值与方差。
高斯处理单元440,用于根据采集的RSSI信号的高斯分布均值与方差,计算采集的RSSI信号的概率密度值。
筛选单元460,用于将采集的RSSI信号的概率密度值与预设概率阈值比较,丢弃概率密度值小于预设概率阈值对应的RSSI信号,概率密度值大于或等于预设概率阈值对应的RSSI信号,获得有效RSSI信号。
在其中一个实施例中,小波变换处理模块600包括:
分解单元,用于将有效RSSI信号分解到小波域,获得至少两层小波系数以及与各层小波系数对应的尺度系数。
去噪单元,用于将至少两层小波系数分别与预设小波分解阈值进行比较,强制归零小于预设小波分解阈值的小波系数,并修正大于或等于预设小波分解阈值的小波系数,获得修正后的小波系数。
重构单元,用于对修正后的小波系数与小波系数对应的尺度系数进行小波重构处理,获得去噪后的有效RSSI信号。
在其中一个实施例中,本发明基于RSSI的室内定位***还包括:
初始坐标模块,用于根据去噪后的有效RSSI信号以及定位基站的位置,通过加权最大似然法,计算待测节点初始估计坐标。
距离极端模块,用于在待测节点初始估计坐标处进行泰勒展开,获得待测节点与各定位基站之间初始测量距离与真实距离的矩阵。
校正改进模块,用于对待测节点与各定位基站之间初始测量距离与真实距离的矩阵中加入正定校正矩阵,获得正定校正矩阵改进后的泰勒算法。
在其中一个实施例中,校正改进模块中正定校正矩阵的函数表达式为:
式中,为第i个定位基站采集的RSSI的平均值。
为了更进一步详细解释本发明基于RSSI的室内定位与***的技术方案以及带来的效果,下面将采用具体应用实例进行说明。
假定在40米*36米的测试房间中放置9个测试基站(房间的四边以及水平、垂直中线上均匀分布,放置3个测量定位基站),保持房间中原有设备的放置并在测试过程中,加入人员移动的干扰,尽量接近真实的室内衰落和多径环境。定位估计误差表示如式(13)所描述,(x,y)为待测盲节点的真实坐标,(x',y')为待测盲节点的估计坐标。
在待测厂房中,分别进行了10次定位测试,每次测试时定位基站接收500次RSSI信号用于定位计算。图6比较了泰勒级数展开算法,和本发明基于RSSI的室内定位与***的高斯筛选-小波变换-校正泰勒级数展开算法的定位结果,使用工程上的定位误差来表示定位结果的精确程度。可以看到,由于本发明基于RSSI的室内定位与***对于测量结果通过高斯拟合筛选,去除了小概率的误差值,并且通过小波变换,去除了***加性噪声的影响,通过添加校正提高定位算法的性能,所以在定位估计误差方面,本发明基于RSSI的室内定位与***可以将定位精度控制在1.50米以内,同时,传统室内定位算法由于误差和噪声的影响,总体波动较大,本发明基于RSSI的室内定位与***改进后的方案通过高斯筛选,小波变换的环节的数据处理,有效降低了误差波动的影响,提高的***定位的稳定性和精确性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。