一种基于Wi-Fi的室内定位方法和装置

文档序号:34634961发布日期:2023-06-29 15:35阅读:44来源:国知局
一种基于Wi-Fi的室内定位方法和装置

本发明涉及室内定位,特别是涉及一种基于wi-fi的室内定位方法和装置。


背景技术:

1、近年来,随着无线通信技术的发展,基于位置的服务已经应用到生活的各个方面,室内定位服务的需求急剧增长。现有技术中用于室内定位的技术包括wi-fi、蓝牙、rfid(无线射频识别)和超宽带等。其中,蓝牙和rfid技术需要大量的锚节点;超宽带的应用成本较高。与其他室内定位方案相比,wi-fi设备在家庭和公共区域的渗透率都很高,基于wi-fi的室内定位在技术上和经济上都是可行的。

2、cfr是指信号在不同频率范围内信号特性的响应,一般包含幅度/频率和相位/频率两种响应,可以用一个式子来表示(单发射天线单接收天线的情况):,是幅度衰减因子,是传播延迟,是载波频率。在一个特定的载波频率下的信道频率响应cfr就是信道状态信息csi。csi可以反映附近环境的无线信号特性,用于定位。

3、请参阅图1,图1为现有技术中的一种基于wi-fi的室内定位方法流程图。现有技术中的一种基于wi-fi的室内定位方法,包括以下步骤:

4、s01,采集wi-fi信号的csi数据;

5、s02,对csi数据进行滤波去除噪声,得到预处理csi数据;

6、s03,对预处理csi数据进行特征提取;

7、s04,利用knn分类算法,将采样点的csi数据特征与指纹库中的数据特征相匹配,将采样点分类至指纹库数据位置坐标所划分出的某个空间区域;

8、其中,所述指纹库是由历史csi数据、数据特征和对应位置坐标构成的数据库。

9、现有技术的缺陷在于,特征提取的效果和定位分类的准确度较差。


技术实现思路

1、基于此,本发明的目的在于,提供一种基于wi-fi的室内定位方法和装置,其具有室内定位准确、成本较低、泛用性强的优点。

2、一种基于wi-fi的室内定位方法,包括以下步骤:

3、s1,通过无线网卡采集wi-fi信号的csi数据,得到csi数据包;

4、s2,对csi数据做短时傅里叶变换,得到csi数据时频图;

5、s3,将csi数据时频图输入至神经网络模型,神经网络模型对csi数据时频图进行特征提取、降维和分类后得到定位分类结果。

6、本发明所述的一种基于wi-fi的室内定位方法,在预处理方面使用了短时傅里叶变换,既去除了噪声又保留了时域和频域的特征;用神经网络模型进行特征提取和定位分类,识别准确率相对于传统分类算法显著提高。

7、进一步地,所述s3还包括以下步骤:

8、s3.1.1,将csi数据时频图输入到神经网络的序列输入层,得到时频图图像序列;

9、s3.1.2,将时频图图像序列输入到神经网络的序列折叠层,得到时频图图像矩阵;

10、s3.2.1,将时频图数值矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;

11、s3.2.2,将时频图特征矩阵输入到平均值池化层,得到降维的时频图特征矩阵;

12、s3.2.3,将降维的时频图特征矩阵输入到bn 层,得到批量归一化的时频图特征矩阵;

13、s3.2.4,将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;

14、s3.2.5,将二次卷积的时频图特征矩阵输入到s3.2.2所述的平均值池化层和s3.2.3所述的bn 层,得到二次降维和批量归一化的时频图特征矩阵;

15、s3.2.6,将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20 的全连接层,得到1×20的特征向量;

16、s3.3.1,将本次输入的csi数据时频图经过s3.1和s3.2处理后所得到的1×20的特征向量,与之前输入的csi数据时频图经过s3.1和s3.2处理后所得到的1×20的特征向量,一共j个1×20的特征向量,一起输入到序列展开层,得到j×20的特征序列;之前输入的csi数据时频图,是指在模型训练过程中输入的csi数据时频图;若之前没有进行过模型训练,则j=1,1个1×20的特征向量经过序列展开层后得到1×20的特征序列;

17、s3.3.2,将j×20的特征序列输入到平坦层,得到长度为j*20的一维的有序列结构的特征向量;

18、s3.3.3,把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的lstm层,得到j个1×100的特征向量;

19、s3.3.4,把j个1×100的特征向量输入到概率为 0.5 的丢弃层,得到j个丢弃处理后的特征向量;丢弃层将1×100的特征向量矩阵中的数据随机置零,每个数据被置零的概率为0.5;

20、s3.3.5,把j个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出j个定位分类结果,其中最后一个定位分类结果即为本次输入的csi数据时频图对应的定位分类结果;所述定位分类结果为一个大于0的自然数,对应着训练集数据采样点所划分出来的室内空间区域。

21、进一步地,所述s2还包括以下步骤:

22、s2.1,对csi数据进行链路数据提取,得到链路子载波数据;

23、s2.2,提取每个数据包的链路子载波数据,组成子载波数据矩阵;

24、s2.3,对子载波数据取绝对值,得到子载波幅值数据矩阵;

25、s2.4,对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;

26、s2.5,对滤波子载波幅值数据做短时傅里叶变换,得到csi数据时频图;短时傅里叶变换的公式如下:,其中代表源信号,即滤波子载波幅值数据中每个数据包的子载波数据的幅值信息;代表窗函数。

27、进一步地,所述神经网络模型通过以下训练方法进行优化:

28、st1,用无线网卡采集若干用于训练的csi数据;

29、st2,对每一csi数据做短时傅里叶变换,得到对应的原始csi数据时频图;

30、st3,对每一原始csi数据时频图做变换,得到对应的增强csi数据时频图;

31、st4,将若干原始csi数据时频图和增强csi数据时频图,作为容量为n张csi数据时频图的训练集;令i=1;

32、st5,将训练集中的第i张csi数据时频图输入至神经网络模型,经过特征提取、降维和分类后得到定位分类结果;

33、st6,计算定位分类结果与真实定位相比的误差值;通过误差反向传播法,将误差逐层往上传导,得到各层的误差值;通过梯度下降法,沿着误差梯度下降的方向更新神经网络权值;

34、st7,判断i是否大于或等于n;若i没有大于或等于n,则令i=i+1,重复st5和st6;若i大于或等于n,则将神经网络的权值固定,完成训练。

35、进一步地,所述st5还包括以下步骤:

36、st5.1.1,将训练集中的第i张csi数据时频图输入至神经网络的序列输入层,得到时频图图像序列;

37、st5.1.2,将时频图图像序列输入到神经网络的序列折叠层,得到时频图图像矩阵;

38、st5.2.1,将时频图数值矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;

39、st5.2.2,将时频图特征矩阵输入到平均值池化层,得到降维的时频图特征矩阵;

40、st5.2.3,将降维的时频图特征矩阵输入到bn 层,得到批量归一化的时频图特征矩阵;

41、st5.2.4,将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;

42、st5.2.5,将二次卷积的时频图特征矩阵输入到st5.2.2所述的平均值池化层和st5.2.3所述的bn 层,得到二次降维和批量归一化的时频图特征矩阵;

43、st5.2.6,将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20的全连接层,得到1×20的特征向量;

44、st5.3.1,将本次循环输入的csi数据时频图经过st5.1和st5.2处理后所得到的1×20的特征向量,与之前的循环输入的csi数据时频图经过st5.1和st5.2处理后所得到的1×20的特征向量,一共i个1×20的特征向量,一起输入到序列展开层,得到i×20的特征序列;

45、st5.3.2,将i×20的特征序列输入到平坦层,得到长度为i*20的一维的有序列结构的特征向量;

46、st5.3.3,把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的lstm层,得到i个1×100的特征向量;

47、st5.3.4,把i个1×100的特征向量输入到概率为 0.5 的丢弃层,得到i个丢弃处理后的特征向量;

48、st5.3.5,把i个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出i个定位分类结果。

49、进一步地,st3对原始csi数据时频图做变换的方法,包括:

50、st3.1,对原始csi数据时频图添加加性高斯噪声,得到第一增强csi数据时频图;添加加性高斯噪声用式子表示为,式中为加性高斯噪声矩阵,为信号的能量谱密度矩阵,噪声;

51、st3对原始csi数据时频图做变换的方法,还包括:

52、st3.2,对原始csi数据时频图进行时域拉伸,得到第二增强csi数据时频图;线性插值用式子表示为:,式中t表示当前时间,t0表示前一个时间点,t1表示后一个时间点,h表示当前时间csi信号的幅值,h0表示前一个时间点csi信号的幅值,h1表示后一个时间点csi信号的幅值;

53、st3对原始csi数据时频图做变换的方法,还包括:

54、st3.3,对原始csi数据时频图进行频谱搬移,得到第三增强csi数据时频图;所述频谱搬移是指在原始频谱的基础上,将给定频段以给定的量垂直向上移动,并保持底部不变;频谱搬移用式子表示为:,式中为信号的能量谱密度矩阵,为频谱移动的位移量;

55、所述st3对原始csi数据时频图做变换的方法,还包括:

56、st3.4,对原始csi数据时频图进行频谱放缩,得到第四增强csi数据时频图;所述频谱放缩是指在原始频谱的基础上,乘以一个因子,得到幅值放大一定量的频谱图;频谱放缩用式子表示为:,式中为信号的能量谱密度矩阵,为放缩比例。

57、进一步地,所述st2还包括以下步骤:

58、st2.1,对csi数据进行链路数据提取,得到各链路的子载波数据;

59、st2.2,计算各链路子载波数据的方差,提取方差最小的链路的子载波数据,组成子载波数据矩阵;

60、st2.3,对子载波数据取绝对值,得到子载波幅值数据矩阵;

61、st2.4,对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;

62、st2.5,对滤波子载波幅值数据做短时傅里叶变换,得到原始csi数据时频图。

63、一种基于wi-fi的室内定位装置,包括:

64、采集模块,用于采集wi-fi信号的csi数据,得到csi数据包;

65、预处理模块,用于对csi数据做短时傅里叶变换,得到csi数据时频图;

66、神经网络模型,用于对csi数据时频图进行特征提取、降维和分类,得到定位分类结果。

67、进一步地,所述神经网络模型包括输入层、cnn层和lstm单元;

68、所述输入层包括序列输入层和序列折叠层;

69、所述序列输入层用于将csi数据时频图转化为时频图图像序列;

70、所述序列折叠层用于将时频图图像序列转化为时频图图像矩阵;

71、所述cnn层包括第一卷积层、第一池化层、第一bn层、第二卷积层、第二池化层和bn层和第一全连接层;

72、所述第一卷积层用于将时频图数值矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;

73、所述第一池化层用于对时频图特征矩阵进行平均值池化,得到降维的时频图特征矩阵;

74、所述第一bn层用于对降维的时频图特征矩阵进行批量归一化,得到批量归一化的时频图特征矩阵;

75、所述第二卷积层用于将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;

76、所述第二池化层和bn层用于对二次卷积的时频图特征矩阵进行平均值池化和批量归一化,得到二次降维和批量归一化的时频图特征矩阵;

77、所述第一全连接层用于将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20 的全连接层,得到1×20的特征向量;

78、所述lstm单元包括序列展开层、平坦层、长短期记忆层、丢弃层和输出层;

79、所述序列展开层用于将本次输入的csi数据时频图所对应的1×20的特征向量,与之前输入的csi数据时频图所对应的1×20的特征向量,一共j个1×20的特征向量,转化为j×20的特征序列;之前输入的csi数据时频图,是指在模型训练过程中输入的csi数据时频图;若之前没有进行过模型训练,则j=1,1×20的特征向量经过序列展开层后得到1×20的特征序列;

80、所述平坦层用于将j×20的特征序列转化为长度为j*20的一维的有序列结构的特征向量;

81、所述长短期记忆层用于把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的lstm层,得到j个1×100的特征向量;

82、所述丢弃层用于把j个1×100的特征向量矩阵中的数据随机置零,每个数据被置零的概率为0.5,得到j个丢弃处理后的特征向量;

83、所述输出层用于把j个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出j个定位分类结果,其中最后一个定位分类结果即为本次输入的csi数据时频图对应的定位分类结果。

84、进一步地,所述预处理模块包括链路数据提取单元、子载波数据提取单元、幅值提取单元、滤波单元和短时傅里叶变换单元;

85、所述链路数据提取单元用于对csi数据进行链路数据提取,得到链路子载波数据;

86、所述子载波数据提取单元用于提取每个数据包的链路子载波数据,组成子载波数据矩阵;

87、所述幅值提取单元用于对子载波数据取绝对值,得到子载波幅值数据矩阵;

88、所述滤波单元用于对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;

89、所述短时傅里叶变换单元用于对滤波子载波幅值数据做短时傅里叶变换,得到csi数据时频图;短时傅里叶变换的公式如下:

90、,

91、其中代表源信号,即滤波子载波幅值数据中每个数据包的子载波数据的幅值信息;代表窗函数。

92、为了更好地理解和实施,下面结合附图详细说明本发明。

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