本发明涉及技术数字信号处理技术领域,尤其是涉及到利用rssi信号强度值作为无线短距离通信的室内定位算法。
背景技术:
伴随大型建筑的日益增多和物联网技术的快速发展,以wi-fi、zigbee、uwb、bluetooth等短距离无线通信技术为基础的室内位置服务需求正成为重要室内定位服务,满足人们对便捷生活的追求。基于rssi信号强度的低成本、低复杂度定位算法,适用于部分日常生活场合的室内定位要求。但复杂的室内环境使得rssi强度波动较大,严重影响以rssi为测距的室内定位算法的精度和稳定性。
技术实现要素:
本发明的目的在于提供一种面向抑制复杂室内rssi波动的距离估算方法与系统,以减小室内环境的影响而造成的随机误差,提升室内定位算法的精度。
本发明提供一种面向抑制复杂室内rssi波动的距离估算方法,包括:rssi数据调理步骤,接收一段时间内顺序输入的随机原始接收信号强度数据drssi,构建一个多个数据的接收窗,每次输入一个数据,选出窗口中的中值,同时顺序计算相邻两数据的绝对差值并进行累加后得到绝对差累加值;时域优化步骤,根据绝对差累加值与中值比值的大小,对原始数据drssi进行平滑滤波处理,得到数据dgus;频域优化步骤,将数据dgus变换成频域数据,在频域下提取rssi的低频部分,再变换成时域数据dlf;rssi筛选步骤,统计dlf中不同区间rssi数据的出现次数,移除出现次数低于筛选阈值的数据,计算剩余数据的几何平均值rdrssi即为估算的rssi值;距离估算步骤,根据rssi和路径之间的对数距离路径衰减模型数学关系,估算出距离。
进一步地,所述rssi数据调理步骤中,接收窗的数据个数为5个,绝对差累加值an的计算方法为:根据原始rssi序列数据d_rssin,第n个绝对差为:
进一步地,所述时域优化步骤中,对原始数据drssi进行平滑滤波处理包括:根据sn=an/mn的值确定滤波窗口的平滑度,并将其作为选择高斯函数平滑尺度大小的依据,从而调整滤波器的加权系数,实现滤波器尺度参数的自适应调整,标准方差σ自适应调整的规则如下:
进一步地,所述频域优化步骤中,所述将数据dgus变换成频域数据,在频域下提取rssi的低频部分包括:将dgus经傅里叶变换为频域振幅数据,选取最大振幅的数据群体作为低频范围,此群最大频率设置为低频分界点,低于该低频分界点的所有数据作为低频范围,设定高频部分的振幅为0。
进一步地,所述低频分界点的设置方法包括:参照k-means分群算法将频域振幅数据分为4群,分群算法的步骤如下:
s1:设定分群个数k=4,任意选取4个频点的幅值为中心点;
s2:计算所有频点的幅值与中心点之间的数值差,选取数值差最小的中心点为同一群,将所有频点的幅值分为k群;
s3:计算群内数据的平均值,用平均值作为每个群的新的中心点,返回s2,直至迭代5次结束;
分群完毕后,比较4个群的幅值总和,总和最大的群为目标群,将这个群里最高幅值频点作为低频分界点,低于分界点为低频范围。
进一步地,所述rssi筛选步骤中,分区的步长为:(max(dlf)-min(dlf))/5,以rssi出现次数最多的区间为基本单位,筛选阈值为基本单位rssi出现次数的1/2。
进一步地,所述距离估算步骤中,对数距离路径衰减模型为:rssi=rssi0+10μlg(d/d0)+ε,其中rssi0为单位距离d0时的rssi值;ε为环境误差系数;μ为路径衰减指数。
本发明还提供一种面向抑制复杂室内rssi波动的距离估算系统,包括:rssi数据调理模块,用以接收一段时间内顺序输入的随机原始接收信号强度数据drssi,构建一个多个数据的接收窗,每次输入一个数据,选出窗口中的中值,同时顺序计算相邻两数据的绝对差值并进行累加后得到绝对差累加值;时域优化模块,用以根据绝对差累加值与中值比值的大小,对原始数据drssi进行平滑滤波处理,得到数据dgus;频域优化模块,用以将数据dgus变换成频域数据,在频域下提取rssi的低频部分,再变换成时域数据dlf;rssi筛选模块,用以统计dlf中不同区间rssi数据的出现次数,移除出现次数低于筛选阈值的数据,计算剩余数据的几何平均值rdrssi即为估算的rssi值;距离估算模块,用以根据rssi和路径之间的对数距离路径衰减模型数学关系,估算出距离。
本发明提供的面向抑制复杂室内rssi波动的距离估算方法与系统,通过在时域和频域上对rssi接收值进行组合优化,再筛选优化后得到估算的rssi值,最终利用对数距离衰减模型来输出距离估算值,从而能减小室内环境的影响而造成的随机误差,可提升室内定位算法的精度。
附图说明
图1为本发明实施例抑制复杂室内环境rssi波动的距离计算方法的原理示意框图。
图2为图1所示距离计算方法中时域优化步骤的高斯滤波远离框图。
具体实施方式
如图1所示,本发明实施例中,一种面向抑制复杂室内rssi波动的距离估算方法包括rssi数据调理、时域优化、频域优化、rssi筛选、距离估算等五个步骤。
rssi数据调理步骤包括:接收一段时间内顺序输入的随机原始接收信号强度数据drssi,构建一个多个数据的接收窗,每次输入一个数据,选出窗口中的中值,同时顺序计算相邻两数据的绝对差值并进行累加后得到绝对差累加值。本实施例中,接收窗的数据个数为5个,绝对差累加值an的计算方法为:根据原始rssi序列数据d_rssin,第n个绝对差为:
时域优化步骤包括:根据绝对差累加值与中值比值的大小,对原始数据drssi进行平滑滤波处理,得到数据dgus。其中,对原始数据drssi进行平滑滤波处理包括:根据sn=an/mn的值确定滤波窗口的平滑度,并将其作为选择高斯函数平滑尺度大小的依据,从而调整滤波器的加权系数[h1,h2,h3,h4,h5],实现滤波器尺度参数的自适应调整,标准方差σ自适应调整的规则如下:
频域优化步骤包括:将数据dgus变换成频域数据,在频域下提取rssi的低频部分,再变换成时域数据dlf。其中,所述将数据dgus变换成频域数据,在频域下提取rssi的低频部分包括:将dgus经傅里叶变换为频域振幅数据,选取最大振幅的数据群体作为低频范围,此群最大频率设置为低频分界点,低于该低频分界点的所有数据作为低频范围,设定高频部分的振幅为0,即删除高频成份。
所述低频分界点的设置方法包括:参照k-means分群算法将频域振幅数据分为4群,分群算法的步骤如下:
s1:设定分群个数k=4,任意选取4个频点的幅值为中心点;
s2:计算所有频点的幅值与中心点之间的数值差,选取数值差最小的中心点为同一群,将所有频点的幅值分为k群;
s3:计算群内数据的平均值,用平均值作为每个群的新的中心点,返回s2,直至迭代5次结束;
分群完毕后,比较4个群的幅值总和,总和最大的群为目标群,将这个群里最高幅值频点作为低频分界点,低于分界点为低频范围。这种设置方式能够自适应的随输入数据的不同调整低频的范围,尽可能留下原始数的特征,做到低计算复杂度低频滤波,达到快速收敛。
rssi筛选步骤包括:统计dlf中不同区间rssi数据的出现次数,移除出现次数低于筛选阈值的数据,计算剩余数据的几何平均值rdrssi即为估算的rssi值。这样,通过对上一步模块输出的rssi值进行分区,统计每个区间rssi出现次数,从而移除出现次数较小的rssi值。其中,分区的步长为:(max(dlf)-min(dlf))/5,以rssi出现次数最多的区间为基本单位,筛选阈值为基本单位rssi出现次数的1/2。
距离估算步骤包括:根据rssi和路径之间的对数距离路径衰减模型数学关系,估算出距离。其中,对数距离路径衰减模型为:rssi=rssi0+10μlg(d/d0)+ε,其中rssi0为单位距离d0时的rssi值;ε为环境误差系数;μ为路径衰减指数。本实施例中,可设置参数d0=1、
本发明实施例还提供一种面向抑制复杂室内rssi波动的距离估算系统,包括rssi数据调理模块、时域优化模块、频域优化模块、rssi筛选模块、距离估算模块。rssi数据调理模块,用以接收一段时间内顺序输入的随机原始接收信号强度数据drssi,构建一个多个数据的接收窗,每次输入一个数据,选出窗口中的中值,同时顺序计算相邻两数据的绝对差值并进行累加后得到绝对差累加值。时域优化模块,用以根据绝对差累加值与中值比值的大小,对原始数据drssi进行平滑滤波处理,得到数据dgus。频域优化模块,用以将数据dgus变换成频域数据,在频域下提取rssi的低频部分,再变换成时域数据dlf。rssi筛选模块,用以统计dlf中不同区间rssi数据的出现次数,移除出现次数低于筛选阈值的数据,计算剩余数据的几何平均值rdrssi即为估算的rssi值。距离估算模块,用以根据rssi和路径之间的对数距离路径衰减模型数学关系,估算出距离。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。