CN116347598B - 一种基于Wi-Fi的室内定位方法和装置 - Google Patents
一种基于Wi-Fi的室内定位方法和装置 Download PDFInfo
- Publication number
- CN116347598B CN116347598B CN202310618224.8A CN202310618224A CN116347598B CN 116347598 B CN116347598 B CN 116347598B CN 202310618224 A CN202310618224 A CN 202310618224A CN 116347598 B CN116347598 B CN 116347598B
- Authority
- CN
- China
- Prior art keywords
- time
- layer
- data
- frequency diagram
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000010586 diagram Methods 0.000 claims abstract description 260
- 238000003062 neural network model Methods 0.000 claims abstract description 34
- 238000000605 extraction Methods 0.000 claims abstract description 31
- 230000009467 reduction Effects 0.000 claims abstract description 24
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 155
- 239000013598 vector Substances 0.000 claims description 94
- 238000012549 training Methods 0.000 claims description 51
- 238000011176 pooling Methods 0.000 claims description 37
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 238000010606 normalization Methods 0.000 claims description 29
- 238000001228 spectrum Methods 0.000 claims description 28
- 210000002569 neuron Anatomy 0.000 claims description 26
- 238000005070 sampling Methods 0.000 claims description 21
- 230000004913 activation Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 19
- 238000001914 filtration Methods 0.000 claims description 16
- 230000003595 spectral effect Effects 0.000 claims description 14
- 230000001131 transforming effect Effects 0.000 claims description 14
- 238000013075 data extraction Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 12
- 239000000654 additive Substances 0.000 claims description 10
- 230000000996 additive effect Effects 0.000 claims description 10
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 9
- 238000011478 gradient descent method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 230000007787 long-term memory Effects 0.000 claims description 3
- 230000006403 short-term memory Effects 0.000 claims description 3
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 238000007635 classification algorithm Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000002360 preparation method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/33—Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于Wi‑Fi的室内定位方法,包括以下步骤:S1,通过无线网卡采集Wi‑Fi信号的CSI数据,得到CSI数据包;S2,对CSI数据做短时傅里叶变换,得到CSI数据时频图;S3,将CSI数据时频图输入至神经网络模型,神经网络模型对CSI数据时频图进行特征提取、降维和分类后得到定位分类结果。本发明所述的一种基于Wi‑Fi的室内定位方法,在预处理方面使用了短时傅里叶变换,既去除了噪声又保留了时域和频域的特征;用CNN‑LSTM神经网络模型对CSI数据时频图进行特征提取和定位分类,识别准确率相对于传统分类算法显著提高。
Description
技术领域
本发明涉及室内定位技术领域,特别是涉及一种基于Wi-Fi的室内定位方法和装置。
背景技术
近年来,随着无线通信技术的发展,基于位置的服务已经应用到生活的各个方面,室内定位服务的需求急剧增长。现有技术中用于室内定位的技术包括Wi-Fi、蓝牙、RFID(无线射频识别)和超宽带等。其中,蓝牙和RFID技术需要大量的锚节点;超宽带的应用成本较高。与其他室内定位方案相比,Wi-Fi设备在家庭和公共区域的渗透率都很高,基于Wi-Fi的室内定位在技术上和经济上都是可行的。
CFR是指信号在不同频率范围内信号特性的响应,一般包含幅度/频率和相位/频率两种响应,可以用一个式子来表示(单发射天线单接收天线的情况):,/>是幅度衰减因子,/>是传播延迟,/>是载波频率。在一个特定的载波频率/>下的信道频率响应CFR就是信道状态信息CSI。CSI可以反映附近环境的无线信号特性,用于定位。
请参阅图1,图1为现有技术中的一种基于Wi-Fi的室内定位方法流程图。现有技术中的一种基于Wi-Fi的室内定位方法,包括以下步骤:
S01,采集Wi-Fi信号的CSI数据;
S02,对CSI数据进行滤波去除噪声,得到预处理CSI数据;
S03,对预处理CSI数据进行特征提取;
S04,利用KNN分类算法,将采样点的CSI数据特征与指纹库中的数据特征相匹配,将采样点分类至指纹库数据位置坐标所划分出的某个空间区域;
其中,所述指纹库是由历史CSI数据、数据特征和对应位置坐标构成的数据库。
现有技术的缺陷在于,特征提取的效果和定位分类的准确度较差。
发明内容
基于此,本发明的目的在于,提供一种基于Wi-Fi的室内定位方法和装置,其具有室内定位准确、成本较低、泛用性强的优点。
一种基于Wi-Fi的室内定位方法,包括以下步骤:
S1,通过无线网卡采集Wi-Fi信号的CSI数据,得到CSI数据包;
S2,对CSI数据做短时傅里叶变换,得到CSI数据时频图;
S3,将CSI数据时频图输入至神经网络模型,神经网络模型对CSI数据时频图进行特征提取、降维和分类后得到定位分类结果。
本发明所述的一种基于Wi-Fi的室内定位方法,在预处理方面使用了短时傅里叶变换,既去除了噪声又保留了时域和频域的特征;用神经网络模型进行特征提取和定位分类,识别准确率相对于传统分类算法显著提高。
进一步地,所述S3还包括以下步骤:
S3.1.1,将CSI数据时频图输入到神经网络的序列输入层,得到时频图图像序列;
S3.1.2,将时频图图像序列输入到神经网络的序列折叠层,得到时频图图像矩阵;
S3.2.1,将时频图图像矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;
S3.2.2,将时频图特征矩阵输入到平均值池化层,得到降维的时频图特征矩阵;
S3.2.3,将降维的时频图特征矩阵输入到BN 层,得到批量归一化的时频图特征矩阵;
S3.2.4,将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;
S3.2.5,将二次卷积的时频图特征矩阵输入到S3.2.2所述的平均值池化层和S3.2.3所述的BN 层,得到二次降维和批量归一化的时频图特征矩阵;
S3.2.6,将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20 的全连接层,得到1×20的特征向量;
S3.3.1,将本次输入的CSI数据时频图经过上述步骤S3.1.1至步骤S3.2.6处理后所得到的1×20的特征向量,与之前输入的CSI数据时频图经过上述步骤S3.1.1至步骤S3.2.6处理后所得到的1×20的特征向量,一共j个1×20的特征向量,一起输入到序列展开层,得到j×20的特征序列;之前输入的CSI数据时频图,是指在模型训练过程中输入的CSI数据时频图;若之前没有进行过模型训练,则j=1,1个1×20的特征向量经过序列展开层后得到1×20的特征序列;
S3.3.2,将j×20的特征序列输入到平坦层,得到长度为j*20的一维的有序列结构的特征向量;
S3.3.3,把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的LSTM层,得到j个1×100的特征向量;
S3.3.4,把j个1×100的特征向量输入到概率为 0.5 的丢弃层,得到j个丢弃处理后的特征向量;丢弃层将1×100的特征向量矩阵中的数据随机置零,每个数据被置零的概率为0.5;
S3.3.5,把j个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出j个定位分类结果,其中最后一个定位分类结果即为本次输入的CSI数据时频图对应的定位分类结果;所述定位分类结果为一个大于0的自然数,对应着训练集数据采样点所划分出来的室内空间区域。
进一步地,所述S2还包括以下步骤:
S2.1,对CSI数据进行链路数据提取,得到链路子载波数据;
S2.2,提取每个数据包的链路子载波数据,组成子载波数据矩阵;
S2.3,对子载波数据取绝对值,得到子载波幅值数据矩阵;
S2.4,对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;
S2.5,对滤波子载波幅值数据做短时傅里叶变换,得到CSI数据时频图;短时傅里叶变换的公式如下:,其中/>代表源信号,即滤波子载波幅值数据中每个数据包的子载波数据的幅值信息;/>代表窗函数。
进一步地,所述神经网络模型通过以下训练方法进行优化:
St1,用无线网卡采集若干用于训练的CSI数据;
St2,对每一CSI数据做短时傅里叶变换,得到对应的原始CSI数据时频图;
St3,对每一原始CSI数据时频图做变换,得到对应的增强CSI数据时频图;
St4,将若干原始CSI数据时频图和增强CSI数据时频图,作为容量为n张CSI数据时频图的训练集;令i=1;
St5,将训练集中的第i张CSI数据时频图输入至神经网络模型,经过特征提取、降维和分类后得到定位分类结果;
St6,计算定位分类结果与真实定位相比的误差值;通过误差反向传播法,将误差逐层往上传导,得到各层的误差值;通过梯度下降法,沿着误差梯度下降的方向更新神经网络权值;
St7,判断i是否大于或等于n;若i没有大于或等于n,则令i=i+1,重复St5和St6;若i大于或等于n,则将神经网络的权值固定,完成训练。
进一步地,所述St5还包括以下步骤:
St5.1.1,将训练集中的第i张CSI数据时频图输入至神经网络的序列输入层,得到时频图图像序列;
St5.1.2,将时频图图像序列输入到神经网络的序列折叠层,得到时频图图像矩阵;
St5.2.1,将时频图图像矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;
St5.2.2,将时频图特征矩阵输入到平均值池化层,得到降维的时频图特征矩阵;
St5.2.3,将降维的时频图特征矩阵输入到BN 层,得到批量归一化的时频图特征矩阵;
St5.2.4,将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;
St5.2.5,将二次卷积的时频图特征矩阵输入到St5.2.2所述的平均值池化层和St5.2.3所述的BN 层,得到二次降维和批量归一化的时频图特征矩阵;
St5.2.6,将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20的全连接层,得到1×20的特征向量;
St5.3.1,将本次循环输入的CSI数据时频图经过上述步骤St5.1.1至步骤St5.2.6处理后所得到的1×20的特征向量,与之前的循环输入的CSI数据时频图经过上述步骤St5.1.1至步骤St5.2.6处理后所得到的1×20的特征向量,一共i个1×20的特征向量,一起输入到序列展开层,得到i×20的特征序列;
St5.3.2,将i×20的特征序列输入到平坦层,得到长度为i*20的一维的有序列结构的特征向量;
St5.3.3,把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的LSTM层,得到i个1×100的特征向量;
St5.3.4,把i个1×100的特征向量输入到概率为 0.5 的丢弃层,得到i个丢弃处理后的特征向量;
St5.3.5,把i个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出i个定位分类结果。
进一步地,St3对原始CSI数据时频图做变换的方法,包括:
St3.1,对原始CSI数据时频图添加加性高斯噪声,得到第一增强CSI数据时频图;添加加性高斯噪声用式子表示为,式中/>为加性高斯噪声矩阵,/>为信号的能量谱密度矩阵,噪声/>;
St3对原始CSI数据时频图做变换的方法,还包括:
St3.2,对原始CSI数据时频图进行时域拉伸,得到第二增强CSI数据时频图;线性插值用式子表示为:,式中t表示当前时间,t0表示前一个时间点,t1表示后一个时间点,h表示当前时间CSI信号的幅值,h0表示前一个时间点CSI信号的幅值,h1表示后一个时间点CSI信号的幅值;
St3对原始CSI数据时频图做变换的方法,还包括:
St3.3,对原始CSI数据时频图进行频谱搬移,得到第三增强CSI数据时频图;所述频谱搬移是指在原始频谱的基础上,将给定频段以给定的量垂直向上移动,并保持底部不变;频谱搬移用式子表示为:,式中/>为信号的能量谱密度矩阵,/>为频谱移动的位移量;
所述St3对原始CSI数据时频图做变换的方法,还包括:
St3.4,对原始CSI数据时频图进行频谱放缩,得到第四增强CSI数据时频图;所述频谱放缩是指在原始频谱的基础上,乘以一个因子,得到幅值放大一定量的频谱图;频谱放缩用式子表示为:/>,式中/>为信号的能量谱密度矩阵,/>为放缩比例。
进一步地,所述St2还包括以下步骤:
St2.1,对CSI数据进行链路数据提取,得到各链路的子载波数据;
St2.2,计算各链路子载波数据的方差,提取方差最小的链路的子载波数据,组成子载波数据矩阵;
St2.3,对子载波数据取绝对值,得到子载波幅值数据矩阵;
St2.4,对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;
St2.5,对滤波子载波幅值数据做短时傅里叶变换,得到原始CSI数据时频图。
一种基于Wi-Fi的室内定位装置,包括:
采集模块,用于采集Wi-Fi信号的CSI数据,得到CSI数据包;
预处理模块,用于对CSI数据做短时傅里叶变换,得到CSI数据时频图;
神经网络模型,用于对CSI数据时频图进行特征提取、降维和分类,得到定位分类结果。
进一步地,所述神经网络模型包括输入层、CNN层和LSTM单元;
所述输入层包括序列输入层和序列折叠层;
所述序列输入层用于将CSI数据时频图转化为时频图图像序列;
所述序列折叠层用于将时频图图像序列转化为时频图图像矩阵;
所述CNN层包括第一卷积层、第一池化层、第一BN层、第二卷积层、第二池化层和BN层和第一全连接层;
所述第一卷积层用于将时频图图像矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;
所述第一池化层用于对时频图特征矩阵进行平均值池化,得到降维的时频图特征矩阵;
所述第一BN层用于对降维的时频图特征矩阵进行批量归一化,得到批量归一化的时频图特征矩阵;
所述第二卷积层用于将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;
所述第二池化层和BN层用于对二次卷积的时频图特征矩阵进行平均值池化和批量归一化,得到二次降维和批量归一化的时频图特征矩阵;
所述第一全连接层用于将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20 的全连接层,得到1×20的特征向量;
所述LSTM单元包括序列展开层、平坦层、长短期记忆层、丢弃层和输出层;
所述序列展开层用于将本次输入的CSI数据时频图所对应的1×20的特征向量,与之前输入的CSI数据时频图所对应的1×20的特征向量,一共j个1×20的特征向量,转化为j×20的特征序列;之前输入的CSI数据时频图,是指在模型训练过程中输入的CSI数据时频图;若之前没有进行过模型训练,则j=1,1×20的特征向量经过序列展开层后得到1×20的特征序列;
所述平坦层用于将j×20的特征序列转化为长度为j*20的一维的有序列结构的特征向量;
所述长短期记忆层用于把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的LSTM层,得到j个1×100的特征向量;
所述丢弃层用于把j个1×100的特征向量矩阵中的数据随机置零,每个数据被置零的概率为0.5,得到j个丢弃处理后的特征向量;
所述输出层用于把j个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出j个定位分类结果,其中最后一个定位分类结果即为本次输入的CSI数据时频图对应的定位分类结果。
进一步地,所述预处理模块包括链路数据提取单元、子载波数据提取单元、幅值提取单元、滤波单元和短时傅里叶变换单元;
所述链路数据提取单元用于对CSI数据进行链路数据提取,得到链路子载波数据;
所述子载波数据提取单元用于提取每个数据包的链路子载波数据,组成子载波数据矩阵;
所述幅值提取单元用于对子载波数据取绝对值,得到子载波幅值数据矩阵;
所述滤波单元用于对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;
所述短时傅里叶变换单元用于对滤波子载波幅值数据做短时傅里叶变换,得到CSI数据时频图;短时傅里叶变换的公式如下:
,
其中代表源信号,即滤波子载波幅值数据中每个数据包的子载波数据的幅值信息;/>代表窗函数。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为现有技术中的一种基于Wi-Fi的室内定位方法流程图;
图2为本发明实施例的一种基于Wi-Fi的室内定位模型训练方法流程图;
图3为本本发明实施例的一种基于Wi-Fi的室内定位装置结构示意图;
图4为基于本发明的所述的室内定位方法的模型训练方法流程图;
图5为本发明实施例所述的子载波幅值数据示意图;
图6为本发明实施例所述的滤波子载波幅值数据示意图;
图7为本发明实施例所述的滤波子载波幅值数据经过STFT处理后得到的原始CSI数据时频图;
图8为本发明实施例所述的原始CSI数据时频图添加高斯噪声后的第一数据增强时频图;
图9为本发明实施例所述的原始CSI数据时频图经过时域拉伸后的第二数据增强时频图;
图10为本发明实施例所述的原始CSI数据时频图经过频谱搬移后的第三数据增强时频图;
图11为本发明实施例所述的原始CSI数据时频图经过频谱放缩后的第四数据增强时频图;
图12为本发明实施例中经过训练后的神经网络模型的识别准确率示意图;
图13为本发明实施例中经过训练后的神经网络模型的识别结果混淆矩阵图;
图14为本发明实施例中神经网络模型未进行步骤St3和进行了步骤St3的识别准确率对比图;
图15为本发明实施例的三种神经网络分类模型的识别准确率和运行时间对比图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
本发明利用Wi-Fi信号的CSI数据在不同空间区域的特性来进行室内定位,首先对采集到的CSI数据做短时傅里叶变换,提取时域频域特征,得到CSI数据时频图;然后将CSI数据时频图输入至神经网络模型,经过特征提取、降维和分类后得到定位分类结果。
(一)室内定位方法
基于上述室内定位方法的构思,结合图2和图3具体说明本发明的基于Wi-Fi的室内定位方法和装置。请参阅图2和图3,图2为本发明实施例的一种基于Wi-Fi的室内定位方法流程图;图3为本发明实施例的一种基于Wi-Fi的室内定位装置结构示意图。
该室内定位装置的采集模块1,用于执行步骤S1:通过无线网卡采集Wi-Fi信号的CSI数据,得到CSI数据包。
具体地,所述S1是通过Wi-Fi设备和无线网卡实现的,Wi-Fi设备发出无线信号数据包,无线网卡接收数据包,并将数据包写入dat文件。在本实施例中,数据采集实验者采集室内1个采样点的CSI数据样本;这1个采样点位于室内空间的某一个区域,神经网络模型输出的定位分类结果表示模型预测采样点的位置位于室内空间若干个区域中的某一个区域。本实施例设定无线网卡数据包的接收速率为100包/秒,采样时间为30s,共收集3000个数据包。
该室内定位装置的预处理模块2,用于执行步骤S2:对CSI数据做短时傅里叶变换,得到CSI数据时频图。所述预处理模块2包括链路数据提取单元21、子载波数据提取单元22、幅值提取单元23、滤波单元24和短时傅里叶变换单元25。
具体地,所述链路数据提取单元21用于执行S2.1:对CSI数据进行链路数据提取,得到链路子载波数据。Wi-Fi设备发射的无线信号经过OFDM调制,有30个子载波;每条链路都有30个子载波;每个子载波都包含一个复数CSI数据。在本实施例中,1个采样点对应一台Wi-Fi设备发射天线和一个无线网卡接收天线,所以只有一条链路,一条链路的30个子载波CSI数据,用一个1×30的数据矩阵来表示。
所述子载波数据提取单元22用于执行S2.2:提取每个数据包的链路子载波数据,组成子载波数据矩阵。在本实施例中,对3000个数据包都重复以上操作,并合并3000个1*30的数据矩阵,得到3000*30的数据矩阵,这个3000*30的数据矩阵即为子载波数据矩阵。
所述幅值提取单元23用于执行S2.3:对子载波数据取绝对值,得到子载波幅值数据矩阵。在本实施例中,对3000*30的子载波数据矩阵上的每一个复数CSI数据都取绝对值,得到3000*30的子载波幅值数据矩阵。请参阅图5,图5为本发明实施例所述的子载波幅值数据示意图。
所述滤波单元24用于执行S2.4:对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据。CSI信号容易受到多路径效应、信号衰减等干扰因素的影响,直接获得的数据可能存在许多干扰;加上这一步可以消除突变数据的影响,从而得到相对平滑的数据曲线。请参阅图6,图6为子载波幅值数据经过离群点去除和小波变换滤波的效果图。
所述短时傅里叶变换单元25用于执行S2.5:对滤波子载波幅值数据做STFT(短时傅里叶变换),得到CSI数据时频图。STFT的公式如下:
,
其中代表源信号,即滤波子载波幅值数据中每个数据包的30个子载波数据的幅值信息;/>代表窗函数,本实施例中采用矩形窗函数,设置参数为:窗长为2,步长为1,采样率为160Hz。STFT处理后得到的CSI数据时频图如图7所示,每个3000*30的滤波子载波幅值数据矩阵经过STFT处理后得到3000个CSI数据时频图,每个CSI数据时频图对应着30个子载波的幅值信息。之所以选择STFT,是因为傅里叶变换提取信号频谱特征的同时会丢失时域信息,采用STFT可以更好地把时域与频域特征都体现出来。
所述室内定位装置的神经网络模型3,用于执行S3:对CSI数据时频图进行特征提取、降维和分类,得到定位分类结果。所述神经网络模型3包括输入层31、CNN层32和LSTM单元33。
具体地,所述输入层31包括序列输入层311和序列折叠层312;
所述序列输入层311用于执行S3.1.1:将CSI数据时频图转化为时频图图像序列。
所述序列折叠层312用于执行S3.1.2:将时频图图像序列转化为时频图图像矩阵。在本实施例中,一张CSI数据时频图输入到序列输入层和序列折叠层后,得到一个129×29的时频图图像矩阵。这一步是为了将数值序列转化为数值矩阵,为进行二维卷积运算做准备。
所述CNN层32包括第一卷积层321、第一池化层322、第一BN层323、第二卷积层324、第二池化层和BN层325和第一全连接层326。
所述第一卷积层321用于执行S3.2.1:将时频图图像矩阵输入到16通道3×3二维卷积层(convolution2dLayer)和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16。在本实施例中,将一个129×29时频图图像矩阵输入到16通道的 3×3二维卷积层中,其中填充模式(padding)设置为same,卷积核步长设置为1,激活函数设置为ReLU,得到一个127×27×16的时频图特征矩阵。
所述第一池化层322用于执行S3.2.2:对时频图特征矩阵进行平均值池化,得到降维的时频图特征矩阵。平均值池化层通过对输入图像的每个小区域进行平均操作,来提取输入特征图的局部特征,从而降低特征图的大小,提高模型的计算效率。在本实施例中,将上一步处理得到的127×27×16的时频图特征矩阵输入至池化窗口大小(poolSize)为2×2,步长为2的平均值池化层中,得到64×14×16的降维的时频图特征矩阵。
所述第一BN层323用于执行S3.2.3:对降维的时频图特征矩阵进行批量归一化,得到批量归一化的时频图特征矩阵。在本实施例中,将上一步处理得到的64×14×16的降维的时频图特征矩阵输入BN层,得到64×14×16的批量归一化的时频图特征矩阵。
所述第二卷积层324用于执行S3.2.4:将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层(convolution3dLayer)和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32。这一步是为了进一步提取特征。在本实施例中,三维卷积层的填充模式(padding)设置为same,卷积核步长设置为1,激活函数设置为ReLU,最后得到62×12×32的二次卷积的时频图特征矩阵。
所述第二池化层和BN层325用于执行S3.2.5:对二次卷积的时频图特征矩阵进行平均值池化和批量归一化,得到二次降维和批量归一化的时频图特征矩阵。在本实施例中,第二次池化和批量归一化的相关参数与第一次相同,将62×12×32的二次卷积的时频图特征矩阵输入到第二池化层和BN层325后,得到31×6×32的二次降维和批量归一化的时频图特征矩阵。
所述第一全连接层326用于执行S3.2.6:将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20 的全连接层(fullyConnectedLayer),得到1×20的特征向量。这一步把前层计算得到的特征空间映射为样本标记空间。
所述LSTM单元33包括序列展开层331、平坦层332、长短期记忆层333、丢弃层334和输出层335。
所述序列展开层331用于执行S3.3.1:将本次输入的CSI数据时频图经过上述步骤S3.1.1至步骤S3.2.6处理后所得到的1×20的特征向量,与之前输入的CSI数据时频图经过上述步骤S3.1.1至步骤S3.2.6处理后所得到的1×20的特征向量,一共j个1×20的特征向量,转化为j×20的特征序列;之前输入的CSI数据时频图,是指在模型训练过程中输入的CSI数据时频图;若之前没有进行过模型训练,则j=1,1×20的特征向量经过序列展开层后得到1×20的特征序列。
所述平坦层332用于执行S3.3.2:将j×20的特征序列转化为长度为j*20的一维的有序列结构的特征向量。这一步是为输入LSTM层做准备。
所述长短期记忆层333用于执行S3.3.3:把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的LSTM层,得到j个1×100的特征向量。
所述丢弃层334用于执行S3.3.4:把j个1×100的特征向量矩阵中的数据随机置零,每个数据被置零的概率为0.5,得到j个丢弃处理后的特征向量。
所述输出层用于执行S3.3.5:把j个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层(softmaxLayer)和分类层(classificationLayer),输出j个定位分类结果,其中最后一个定位分类结果即为本次输入的CSI数据时频图对应的定位分类结果。所述定位分类结果为一个大于0的自然数,对应着训练集数据采样点所划分出来的室内空间区域。在本实施例中,一个采样点采集的数据生成3000张CSI数据时频图,每张CSI数据时频图都对应一个定位分类结果,取出现频次最高的那个定位分类结果作为本采样点的最终定位分类结果。
(二)训练方法
基于上述室内定位方法,为了使神经网络模型3内部的可训练参数得到优化,提高模型的定位准确度,还要通过一定训练方法对神经网络模型进行训练。请参阅图4,图4为基于上述室内定位方法的模型训练方法流程图。
具体的,所述模型训练方法包括以下步骤:
St1,用无线网卡采集若干用于训练的CSI数据;
St2,对每一CSI数据做短时傅里叶变换,得到对应的原始CSI数据时频图;
St3,对每一原始CSI数据时频图做变换,得到对应的增强CSI数据时频图;
St4,将若干原始CSI数据时频图和增强CSI数据时频图,作为容量为n张CSI数据时频图的训练集;令i=1;
St5,将训练集中的第i张CSI数据时频图输入至神经网络模型,经过特征提取、降维和分类后得到定位分类结果;
St6,计算定位分类结果与真实定位相比的误差值;通过误差反向传播法,将误差逐层往上传导,得到各层的误差值;通过梯度下降法,沿着误差梯度下降的方向更新神经网络权值;
St7,判断i是否大于或等于n;若i没有大于或等于n,则令i=i+1,重复St5和St6;若i大于或等于n,则将神经网络的权值固定,完成训练。
St1,用无线网卡采集若干用于训练的CSI数据;具体地,所述S1是通过Wi-Fi设备和无线网卡实现的,Wi-Fi设备发出无线信号数据包,无线网卡接收数据包,并将数据包写入dat文件。在本实施例中,3位数据采集实验者分别采集室内16个采样点的CSI数据样本;这16个采样点将室内空间划分为16个区域,神经网络模型输出的16个分类表示模型预测采样点的位置位于这16个区域中的某一个区域。本实施例设定无线网卡数据包的接收速率为100包/秒,采样时间为30s,每个采样点收集3000个数据包;将每个采样点收集到的3000个数据包写入一个dat文件,共得到48个dat文件。
St2,对CSI数据做短时傅里叶变换,得到原始CSI数据时频图;具体地,所述St2还包括以下步骤:
St2.1,对CSI数据进行链路数据提取,得到各链路的子载波数据。在本实施例中,3位数据采集人员共有3根Wi-Fi设备发射天线和3根无线网卡接收天线,发射天线与接收天线自由组合,共有9条链路;Wi-Fi设备发射的无线信号经过OFDM调制,有30个子载波;每条链路都有30个子载波;每个子载波都包含一个复数CSI数据。所述提取CSI链路数据,就是将每个数据包所采集的信息用一个9*30的数据矩阵来表示;这个9*30的数据矩阵的每一行表示一条链路的30个子载波的信道频率响应;9行分别表示9条链路。
St2.2,计算各链路子载波数据的方差,提取方差最小的链路的子载波数据,组成子载波数据矩阵。对一条链路来说,子载波数据的方差越大,后续特征提取的干扰就越多,因此选择子载波数据方差最小的那条链路来进行后续特征提取。在本实施例中,9*30的数据矩阵的每一行代表一条链路30个子载波的数据,计算每一行数据的方差,挑选出方差最小的那一行数据,得到1*30的数据矩阵;对每个dat文件的3000个数据包都重复以上操作,并合并3000个1*30的数据矩阵,得到3000*30的数据矩阵,这个3000*30的数据矩阵即为子载波数据矩阵。
St2.3,对子载波数据取绝对值,得到子载波幅值数据矩阵。在本实施例中,对3000*30的子载波数据矩阵上的每一个复数CSI数据都取绝对值,得到3000*30的子载波幅值数据矩阵。
St2.4,对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据。CSI信号容易受到多路径效应、信号衰减等干扰因素的影响,直接获得的数据可能存在许多干扰;加上这一步可以消除突变数据的影响,从而得到相对平滑的数据曲线。
St2.5,对滤波子载波幅值数据做STFT(短时傅里叶变换),得到原始CSI数据时频图。STFT的公式如下:
,
其中代表源信号,即滤波子载波幅值数据中每个数据包的30个子载波数据的幅值信息;/>代表窗函数,本实施例中采用矩形窗函数,设置参数为:窗长为2,步长为1,采样率为160Hz。每个3000*30的滤波子载波幅值数据矩阵经过STFT处理后得到3000个原始CSI数据时频图,每个原始CSI数据时频图对应着30个子载波的幅值信息。之所以选择STFT,是因为傅里叶变换提取信号频谱特征的同时会丢失时域信息,采用STFT可以更好地把时域与频域特征都体现出来。请参阅图7,图7为本发明实施例所述的滤波子载波幅值数据经过STFT处理后得到的原始CSI数据时频图。
St3,对原始CSI数据时频图做变换,得到增强CSI数据时频图;具体地,对原始CSI数据时频图做变换,是指对原始CSI数据时频图同时做4种变换,其变换方法包括:
St3.1,对原始CSI数据时频图添加加性高斯噪声,得到第一增强CSI数据时频图。添加加性高斯噪声可以用式子表示为,式中/>为加性高斯噪声矩阵,/>为信号的能量谱密度矩阵,噪声/>。由于不完善的硬件和存在干扰的无线电环境,原始CSI数据时频图包含大量的噪声,对原始CSI数据时频图加高斯噪声能提高数据识别的精度。在本实施例中,添加加性高斯噪声后的第一增强CSI数据时频图如图8所示。
St3.2,对原始CSI数据时频图进行时域拉伸,得到第二增强CSI数据时频图。用线性插值来水平拉伸时频谱图,延长或裁剪时频谱图以保持其持续时间不变。线性插值用式子表示为:,式中t表示当前时间,t0表示前一个时间点,t1表示后一个时间点,h表示当前时间CSI信号的幅值,h0表示前一个时间点CSI信号的幅值,h1表示后一个时间点CSI信号的幅值。在本实施例中,经过时域拉伸后的第二增强CSI数据时频图如图9所示。
St3.3,对原始CSI数据时频图进行频谱搬移,得到第三增强CSI数据时频图。在原始频谱的基础上,将给定频段以给定的量垂直向上移动,并保持底部不变。频谱搬移用式子表示为:,式中/>为信号的能量谱密度矩阵,/>为频谱移动的位移量。在本实施例中,频谱移动的位移量为30Hz,给定频段为0~30Hz,经过频谱搬移后的第三增强CSI数据时频图如图10所示。
St3.4,对原始CSI数据时频图进行频谱放缩,得到第四增强CSI数据时频图。在原始频谱的基础上,乘以一个因子,得到幅值放大一定量的频谱图。频谱放缩用式子表示为/>,式中/>为信号的能量谱密度矩阵,/>为放缩比例。在本实施例中,,经过频谱放缩后的第四增强CSI数据时频图如图11所示。
在本实施例中,对原始CSI数据时频图分别做4种变换,是为了使后续神经网络模型的训练数据集扩大到原来的5倍。数据集的扩大避免了过拟合问题,提高了系统识别性能。
St4,将原始CSI数据时频图和增强CSI数据时频图,一共n张CSI数据时频图,以及对应的真实定位作为神经网络模型的训练集;令i=1。
St5,将第i张CSI数据时频图输入至神经网络模型,经过特征提取、降维和分类后得到定位分类结果;具体地,所述St5还包括以下步骤:
St5.1.1,将训练集中的第i张CSI数据时频图输入至神经网络的序列输入层(sequenceInputLayer),得到时频图图像序列。这一步是为了将时频图图像转化为数值序列。在本实施例中,将3位数据采集实验者采集的数据分别输入至神经网络。每位数据数据采集实验者采集16个点的CSI数据,每个点的CSI数据经过St2的处理后生成3000张CSI数据时频图,3000张CSI数据时频图经过St3的处理后得到15000张CSI数据时频图;对每个数据采集实验者采集的数据而言,有15000×16=240000张CSI数据时频图作为模型的训练数据集,其中训练集与测试集的比例为7:3,即有168000张CSI数据时频图作为训练集,72000张CSI数据时频图作为测试集。每张CSI数据时频图输入进神经网络后得到一个定位分类结果,神经网络根据该定位分类结果与真实定位的误差,运用误差反向传播和梯度下降法更新神经网络的权值;下一张CSI数据时频图输入进神经网络时,神经网络利用更新过的权值来计算定位分类结果,又根据该定位分类结果与真实定位的误差来进一步更新权值;如此循环迭代,使定位分类结果与真实定位的误差逐渐减小,神经网络的权值逐渐收敛。
St5.1.2,将时频图图像序列输入到神经网络的序列折叠层(sequenceFoldingLayer),得到时频图图像矩阵。在本实施例中,一张CSI数据时频图输入到序列输入层和序列折叠层后,得到一个129×29的时频图图像矩阵。这一步是为了将数值序列转化为数值矩阵,为进行二维卷积运算做准备。
St5.2.1,将时频图图像矩阵输入到16通道3×3二维卷积层(convolution2dLayer)和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16。在本实施例中,将一个129×29时频图图像矩阵输入到16通道的 3×3二维卷积层中,其中填充模式(padding)设置为same,卷积核步长设置为1,激活函数设置为ReLU,得到一个127×27×16的时频图特征矩阵。
St5.2.2,将时频图特征矩阵输入到平均值池化层(averagePooling2dLayer),得到降维的时频图特征矩阵。平均值池化层通过对输入图像的每个小区域进行平均操作,来提取输入特征图的局部特征,从而降低特征图的大小,提高模型的计算效率。在本实施例中,将上一步处理得到的127×27×16的时频图特征矩阵输入至池化窗口大小(poolSize)为2×2,步长为2的平均值池化层中,得到64×14×16的降维的时频图特征矩阵。
St5.2.3,将降维的时频图特征矩阵输入到BN 层(batchNormalizationLayer),得到批量归一化的时频图特征矩阵。这一步是为了加快模型的训练和收敛的速度,防止过拟合。在本实施例中,将上一步处理得到的64×14×16的降维的时频图特征矩阵输入BN层,得到64×14×16的批量归一化的时频图特征矩阵。
St5.2.4,将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层(convolution3dLayer)和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32。这一步是为了进一步提取特征。在本实施例中,三维卷积层的填充模式(padding)设置为same,卷积核步长设置为1,激活函数设置为ReLU,最后得到62×12×32的二次卷积的时频图特征矩阵。
St5.2.5,将二次卷积的时频图特征矩阵输入到St5.2.2所述的平均值池化层和St5.2.3所述的BN 层,得到二次降维和批量归一化的时频图特征矩阵。在本实施例中,将62×12×32的二次卷积的时频图特征矩阵输入到平均值池化层和BN 层后,得到31×6×32的二次降维和批量归一化的时频图特征矩阵。
St5.2.6,将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20的全连接层(fullyConnectedLayer),得到1×20的特征向量。这一步把前层计算得到的特征空间映射为样本标记空间。
St5.3.1,将本次循环输入的CSI数据时频图经过上述步骤St5.1.1至步骤St5.2.6处理后所得到的1×20的特征向量,与之前的循环输入的CSI数据时频图经过上述步骤St5.1.1至步骤St5.2.6处理后所得到的1×20的特征向量,一共i个1×20的特征向量,一起输入到序列展开层(sequenceUnfoldingLayer),得到i×20的特征序列。在本实施例中,训练集的数量为168000;在第168000次循环中,i=168000,所有训练集CSI数据时频图经过St4.1和St4.2处理所得到的168000个1×20的特征向量,经过序列展开层的合并后,得到168000×20的特征序列。
St5.3.2,将i×20的特征序列输入到平坦层(flattenLayer),得到长度为i*20的一维的有序列结构的特征向量。在本实施例的第168000次循环中,168000×20的特征序列经过平坦层后,得到长度为3360000的一维的有序列结构的特征向量。这一步是为输入LSTM层做准备。
St5.3.3,把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的LSTM层,得到i个1×100的特征向量。在本实施例中第168000次循环中,长度为3360000的一维的有序列结构的特征向量,经过LSTM层后得到168000个1×100的特征向量。
St5.3.4,把i个1×100的特征向量输入到概率为 0.5 的丢弃层(dropoutLayer),得到i个丢弃处理后的特征向量。丢弃层将1×100的特征向量矩阵中的数据随机置零,每个数据被置零的概率为0.5。这一步能够防止过拟合,提高系统的泛化能力。
St5.3.5,把i个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层(softmaxLayer)和分类层(classificationLayer),输出i个定位分类结果。在本实施例中,定位分类数为16。在第168000次循环中,168000个丢弃处理后的特征向量输入到神经元数目为16的全连接层后,得到168000个定位分类结果。定位分类结果为1到16之间的整数,对应着16个采样点所划分的区域。
St6,计算定位分类结果与真实定位相比的误差值;通过误差反向传播法,将误差逐层往上传导,得到各层的误差值;通过梯度下降法,沿着误差梯度下降的方向更新神经网络权值。
St7,判断i是否大于或等于n;若i没有大于或等于n,则令i=i+1,重复St5和St6;若i大于或等于n,则将神经网络的权值固定,完成训练。由于CNN-LSTM神经网络本身就能进行误差反向传播,模型每输出一个CSI数据时频图所对应的定位分类结果都会沿着误差梯度下降的方向更新神经网络内部神经元的权值,随着循环次数i的增加,神经网络内部的权值会逐渐收敛,因此当神经网络模型输出了n个CSI数据时频图所对应的定位分类结果时,就已经完成了对模型的训练。
本发明所述的一种基于Wi-Fi的室内定位方法和装置具有以下优点:
1. 模型识别准确率较高。请参阅图12,图12为经过训练后的神经网络模型的识别准确率示意图,可见识别准确率均在97%以上。请参阅图13,图13为经过训练后的神经网络模型的识别结果混淆矩阵图,识别准确率平均值达到98.45%。
2. 在模型训练方法中加入了这一数据增强的步骤,使神经网络的训练数据集扩大,提高了识别性能。请参阅图14,图14为未进行数据增强和进行数据增强的识别准确率对比图,经过数据增强的神经网络模型,其识别准确率显著提高。
3. 选用CNN-LSTM模型作为定位分类模型,其定位效果优于单独的CNN或LSTM模型。请参阅图15,图15为三种神经网络分类模型的识别准确率和运行时间对比图,相比于卷积神经网络(CNN)和长短期记忆神经网络(LSTM)分类算法,CNN-LSTM分类算法的识别准确率最高,运行时间较短,为这三种分类算法中的最佳算法。
基于同一发明构思,本申请还提供一种电子设备,可以是服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。该设备包括一个或多个处理器和存储器,其中处理器用于执行程序实现方法实施例的图像处理方法;存储器用于存储可由所述处理器执行的计算机程序。
基于同一发明构思,本申请还提供一种计算机可读存储介质,与前述图像处理方法的实施例相对应,所述计算机可读存储介质其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所记载的图像处理方法的步骤。
本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。
Claims (8)
1.一种基于Wi-Fi的室内定位方法,包括以下步骤:
S1,通过无线网卡采集Wi-Fi信号的CSI数据,得到CSI数据包;
S2,对CSI数据做短时傅里叶变换,得到CSI数据时频图;
S3,将CSI数据时频图输入至神经网络模型,神经网络模型对CSI数据时频图进行特征提取、降维和分类后得到定位分类结果;
所述S3还包括以下步骤:
S3.1.1,将CSI数据时频图输入到神经网络的序列输入层,得到时频图图像序列;
S3.1.2,将时频图图像序列输入到神经网络的序列折叠层,得到时频图图像矩阵;
S3.2.1,将所述时频图图像矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;
S3.2.2,将时频图特征矩阵输入到平均值池化层,得到降维的时频图特征矩阵;
S3.2.3,将降维的时频图特征矩阵输入到BN 层,得到批量归一化的时频图特征矩阵;
S3.2.4,将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;
S3.2.5,将二次卷积的时频图特征矩阵输入到S3.2.2所述的平均值池化层和S3.2.3所述的BN 层,得到二次降维和批量归一化的时频图特征矩阵;
S3.2.6,将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20 的全连接层,得到1×20的特征向量;
S3.3.1,将本次输入的CSI数据时频图经过上述步骤S3.1.1至步骤S3.2.6处理后所得到的1×20的特征向量,与之前输入的CSI数据时频图经过上述步骤S3.1.1至步骤S3.2.6处理后所得到的1×20的特征向量,一共j个1×20的特征向量,一起输入到序列展开层,得到j×20的特征序列;之前输入的CSI数据时频图,是指在模型训练过程中输入的CSI数据时频图;若之前没有进行过模型训练,则j=1,1个1×20的特征向量经过序列展开层后得到1×20的特征序列;
S3.3.2,将j×20的特征序列输入到平坦层,得到长度为j*20的一维的有序列结构的特征向量;
S3.3.3,把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的LSTM层,得到j个1×100的特征向量;
S3.3.4,把j个1×100的特征向量输入到概率为 0.5 的丢弃层,得到j个丢弃处理后的特征向量;丢弃层将1×100的特征向量矩阵中的数据随机置零,每个数据被置零的概率为0.5;
S3.3.5,把j个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出j个定位分类结果,其中最后一个定位分类结果即为本次输入的CSI数据时频图对应的定位分类结果;所述定位分类结果为一个大于0的自然数,对应着训练集数据采样点所划分出来的室内空间区域。
2.根据权利要求1所述的基于Wi-Fi的室内定位方法,其特征在于:
所述S2还包括以下步骤:
S2.1,对CSI数据进行链路数据提取,得到链路子载波数据;
S2.2,提取每个数据包的链路子载波数据,组成子载波数据矩阵;
S2.3,对子载波数据取绝对值,得到子载波幅值数据矩阵;
S2.4,对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;
S2.5,对滤波子载波幅值数据做短时傅里叶变换,得到CSI数据时频图;短时傅里叶变换的公式如下:,其中/>代表源信号,即滤波子载波幅值数据中每个数据包的子载波数据的幅值信息;/>代表窗函数。
3.根据权利要求2所述的基于Wi-Fi的室内定位方法,其特征在于:所述神经网络模型通过以下训练方法进行优化:
St1,用无线网卡采集若干用于训练的CSI数据;
St2,对每一CSI数据做短时傅里叶变换,得到对应的原始CSI数据时频图;
St3,对每一原始CSI数据时频图做变换,得到对应的增强CSI数据时频图;
St4,将若干原始CSI数据时频图和增强CSI数据时频图,作为容量为n张CSI数据时频图的训练集;令i=1;
St5,将训练集中的第i张CSI数据时频图输入至神经网络模型,经过特征提取、降维和分类后得到定位分类结果;
St6,计算定位分类结果与真实定位相比的误差值;通过误差反向传播法,将误差逐层往上传导,得到各层的误差值;通过梯度下降法,沿着误差梯度下降的方向更新神经网络权值;
St7,判断i是否大于或等于n;若i没有大于或等于n,则令i=i+1,重复St5和St6;若i大于或等于n,则将神经网络的权值固定,完成训练。
4.根据权利要求3所述的基于Wi-Fi的室内定位方法,其特征在于:
所述St5还包括以下步骤:
St5.1.1,将训练集中的第i张CSI数据时频图输入至神经网络的序列输入层,得到时频图图像序列;
St5.1.2,将时频图图像序列输入到神经网络的序列折叠层,得到时频图图像矩阵;
St5.2.1,将时频图图像矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;
St5.2.2,将时频图特征矩阵输入到平均值池化层,得到降维的时频图特征矩阵;
St5.2.3,将降维的时频图特征矩阵输入到BN 层,得到批量归一化的时频图特征矩阵;
St5.2.4,将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;
St5.2.5,将二次卷积的时频图特征矩阵输入到St5.2.2所述的平均值池化层和St5.2.3所述的BN 层,得到二次降维和批量归一化的时频图特征矩阵;
St5.2.6,将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20 的全连接层,得到1×20的特征向量;
St5.3.1,将本次循环输入的CSI数据时频图经过上述步骤St5.1.1至步骤St5.2.6处理后所得到的1×20的特征向量,与之前的循环输入的CSI数据时频图经过上述步骤St5.1.1至步骤St5.2.6处理后所得到的1×20的特征向量,一共i个1×20的特征向量,一起输入到序列展开层,得到i×20的特征序列;
St5.3.2,将i×20的特征序列输入到平坦层,得到长度为i*20的一维的有序列结构的特征向量;
St5.3.3,把一维的有序列结构的特征向量输入到隐藏神经元个数为 100 的LSTM层,得到i个1×100的特征向量;
St5.3.4,把i个1×100的特征向量输入到概率为 0.5 的丢弃层,得到i个丢弃处理后的特征向量;
St5.3.5,把i个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出i个定位分类结果。
5.根据权利要求4所述的基于Wi-Fi的室内定位方法,其特征在于:
St3对原始CSI数据时频图做变换的方法,包括:
St3.1,对原始CSI数据时频图添加加性高斯噪声,得到第一增强CSI数据时频图;添加加性高斯噪声用式子表示为,式中/>为加性高斯噪声矩阵,/>为信号的能量谱密度矩阵,噪声/>;
St3对原始CSI数据时频图做变换的方法,还包括:
St3.2,对原始CSI数据时频图进行时域拉伸,得到第二增强CSI数据时频图;线性插值用式子表示为:,式中t表示当前时间,t0表示前一个时间点,t1表示后一个时间点,h表示当前时间CSI信号的幅值,h0表示前一个时间点CSI信号的幅值,h1表示后一个时间点CSI信号的幅值;
St3对原始CSI数据时频图做变换的方法,还包括:
St3.3,对原始CSI数据时频图进行频谱搬移,得到第三增强CSI数据时频图;所述频谱搬移是指在原始频谱的基础上,将给定频段以给定的量垂直向上移动,并保持底部不变;频谱搬移用式子表示为:,式中/>为信号的能量谱密度矩阵,/>为频谱移动的位移量;
所述St3对原始CSI数据时频图做变换的方法,还包括:
St3.4,对原始CSI数据时频图进行频谱放缩,得到第四增强CSI数据时频图;所述频谱放缩是指在原始频谱的基础上,乘以一个因子,得到幅值放大一定量的频谱图;频谱放缩用式子表示为:/>,式中/>为信号的能量谱密度矩阵,/>为放缩比例。
6.根据权利要求5所述的基于Wi-Fi的室内定位方法,其特征在于:
所述St2还包括以下步骤:
St2.1,对CSI数据进行链路数据提取,得到各链路的子载波数据;
St2.2,计算各链路子载波数据的方差,提取方差最小的链路的子载波数据,组成子载波数据矩阵;
St2.3,对子载波数据取绝对值,得到子载波幅值数据矩阵;
St2.4,对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;
St2.5,对滤波子载波幅值数据做短时傅里叶变换,得到原始CSI数据时频图。
7.一种基于Wi-Fi的室内定位装置,包括:
采集模块,用于采集Wi-Fi信号的CSI数据,得到CSI数据包;
预处理模块,用于对CSI数据做短时傅里叶变换,得到CSI数据时频图;
神经网络模型,用于对CSI数据时频图进行特征提取、降维和分类,得到定位分类结果;
所述神经网络模型包括输入层、CNN层和LSTM单元;
所述输入层包括序列输入层和序列折叠层;
所述序列输入层用于将CSI数据时频图转化为时频图图像序列;
所述序列折叠层用于将时频图图像序列转化为时频图图像矩阵;
所述CNN层包括第一卷积层、第一池化层、第一BN层、第二卷积层、第二池化层和BN层和第一全连接层;
所述第一卷积层用于将时频图图像矩阵输入到16通道3×3二维卷积层和激活层进行卷积提取特征,得到时频图特征矩阵;其中3×3为卷积核的大小;16通道指卷积层输出的特征数量为16;
所述第一池化层用于对时频图特征矩阵进行平均值池化,得到降维的时频图特征矩阵;
所述第一BN层用于对降维的时频图特征矩阵进行批量归一化,得到批量归一化的时频图特征矩阵;
所述第二卷积层用于将批量归一化的时频图特征矩阵输入到32通道的3×3三维卷积层和激活层,得到二次卷积的时频图特征矩阵;其中3×3为卷积核的大小;32通道指卷积层输出的特征数量为32;
所述第二池化层和BN层用于对二次卷积的时频图特征矩阵进行平均值池化和批量归一化,得到二次降维和批量归一化的时频图特征矩阵;
所述第一全连接层用于将二次降维和批量归一化的时频图特征矩阵输入到神经元数目为 20 的全连接层,得到1×20的特征向量;
所述LSTM单元包括序列展开层、平坦层、长短期记忆层、丢弃层和输出层;
所述序列展开层用于将本次输入的CSI数据时频图所对应的1×20的特征向量,与之前输入的CSI数据时频图所对应的1×20的特征向量,一共j个1×20的特征向量,转化为j×20的特征序列;之前输入的CSI数据时频图,是指在模型训练过程中输入的CSI数据时频图;若之前没有进行过模型训练,则j=1,1×20的特征向量经过序列展开层后得到1×20的特征序列;
所述平坦层用于将j×20的特征序列转化为长度为j*20的一维的有序列结构的特征向量;
所述长短期记忆层用于把一维的有序列结构的特征向量输入到隐藏神经元个数为100 的LSTM层,得到j个1×100的特征向量;
所述丢弃层用于把j个1×100的特征向量矩阵中的数据随机置零,每个数据被置零的概率为0.5,得到j个丢弃处理后的特征向量;
所述输出层用于把j个丢弃处理后的特征向量输入到神经元数目为定位分类数的全连接层,再输入到softmax层和分类层,输出j个定位分类结果,其中最后一个定位分类结果即为本次输入的CSI数据时频图对应的定位分类结果。
8.根据权利要求7所述的基于Wi-Fi的室内定位装置,其特征在于:
所述预处理模块包括链路数据提取单元、子载波数据提取单元、幅值提取单元、滤波单元和短时傅里叶变换单元;
所述链路数据提取单元用于对CSI数据进行链路数据提取,得到链路子载波数据;
所述子载波数据提取单元用于提取每个数据包的链路子载波数据,组成子载波数据矩阵;
所述幅值提取单元用于对子载波数据取绝对值,得到子载波幅值数据矩阵;
所述滤波单元用于对子载波幅值数据进行离群点去除和小波变换滤波,得到滤波子载波幅值数据;
所述短时傅里叶变换单元用于对滤波子载波幅值数据做短时傅里叶变换,得到CSI数据时频图;短时傅里叶变换的公式如下:
,
其中代表源信号,即滤波子载波幅值数据中每个数据包的子载波数据的幅值信息;代表窗函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310618224.8A CN116347598B (zh) | 2023-05-30 | 2023-05-30 | 一种基于Wi-Fi的室内定位方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310618224.8A CN116347598B (zh) | 2023-05-30 | 2023-05-30 | 一种基于Wi-Fi的室内定位方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116347598A CN116347598A (zh) | 2023-06-27 |
CN116347598B true CN116347598B (zh) | 2023-08-15 |
Family
ID=86882669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310618224.8A Active CN116347598B (zh) | 2023-05-30 | 2023-05-30 | 一种基于Wi-Fi的室内定位方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116347598B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108594170A (zh) * | 2018-04-04 | 2018-09-28 | 合肥工业大学 | 一种基于卷积神经网络识别技术的wifi室内定位方法 |
CN110543842A (zh) * | 2019-08-22 | 2019-12-06 | 清华大学 | 一种基于Wi-Fi信号的目标运动识别方法及系统 |
CN111142668A (zh) * | 2019-12-27 | 2020-05-12 | 中山大学 | 一种基于Wi-Fi指纹的定位和活动手势联合识别的交互方法 |
CN112784730A (zh) * | 2021-01-20 | 2021-05-11 | 东南大学 | 一种基于时域卷积网络的多模态情感识别方法 |
WO2023077297A1 (zh) * | 2021-11-03 | 2023-05-11 | 北京小米移动软件有限公司 | 信息反馈方法及装置、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3531350B1 (en) * | 2016-10-24 | 2021-04-21 | LG Electronics Inc. | Deep learning neural network based security system and control method therefor |
KR102435799B1 (ko) * | 2020-06-29 | 2022-08-25 | 주식회사 메디웨일 | 진단 보조 방법 및 장치 |
WO2022242018A1 (zh) * | 2021-05-21 | 2022-11-24 | 南京邮电大学 | 一种基于改进的cnn模型的室内目标定位方法 |
-
2023
- 2023-05-30 CN CN202310618224.8A patent/CN116347598B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108594170A (zh) * | 2018-04-04 | 2018-09-28 | 合肥工业大学 | 一种基于卷积神经网络识别技术的wifi室内定位方法 |
CN110543842A (zh) * | 2019-08-22 | 2019-12-06 | 清华大学 | 一种基于Wi-Fi信号的目标运动识别方法及系统 |
CN111142668A (zh) * | 2019-12-27 | 2020-05-12 | 中山大学 | 一种基于Wi-Fi指纹的定位和活动手势联合识别的交互方法 |
CN112784730A (zh) * | 2021-01-20 | 2021-05-11 | 东南大学 | 一种基于时域卷积网络的多模态情感识别方法 |
WO2023077297A1 (zh) * | 2021-11-03 | 2023-05-11 | 北京小米移动软件有限公司 | 信息反馈方法及装置、存储介质 |
Non-Patent Citations (1)
Title |
---|
基于深度学习的通信辐射源调制样式识别方法;董睿杰;杨瑞娟;李东瑾;彭岑昕;王国超;;空军预警学院学报(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116347598A (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109890043B (zh) | 一种基于生成式对抗网络的无线信号降噪方法 | |
Soro et al. | Joint time-frequency RSSI features for convolutional neural network-based indoor fingerprinting localization | |
Hamidi-Rad et al. | Mcformer: A transformer based deep neural network for automatic modulation classification | |
CN113221781A (zh) | 一种基于多任务深度卷积神经网络的载波信号检测方法 | |
CN114239657A (zh) | 一种基于复值干涉神经网络的时序信号识别方法 | |
CN116127298B (zh) | 基于三元组损失的小样本射频指纹识别方法 | |
US20240161251A1 (en) | Image denoising method and apparatus based on wavelet high-frequency channel synthesis | |
CN114821251B (zh) | 一种点云上采样网络的确定方法及确定装置 | |
Ali et al. | Modulation format identification using supervised learning and high-dimensional features | |
CN116347598B (zh) | 一种基于Wi-Fi的室内定位方法和装置 | |
CN113343801B (zh) | 基于轻量化卷积神经网络的无线信号自动调制识别方法 | |
Usman et al. | AMC-IoT: Automatic modulation classification using efficient convolutional neural networks for low powered IoT devices | |
Xiao et al. | Multi-scale attention based channel estimation for RIS-aided massive MIMO systems | |
CN116055270B (zh) | 一种调制识别模型及其训练方法、信号调制处理方法 | |
CN114624739A (zh) | 一种基于多语义特征融合网络的卫星压制干扰识别方法 | |
CN114269014A (zh) | 基于域自适应网络的大规模mimo动态环境指纹定位方法 | |
Zare et al. | Kernel-based generalized discriminant analysis for signal classification in cognitive radio | |
CN113688655A (zh) | 干扰信号的识别方法、装置、计算机设备和存储介质 | |
CN112132007B (zh) | 一种基于ResNet-SVM的调制方式识别方法及系统 | |
Li et al. | AMRnet: A Real-Time Automatic Modulation Recognition Network for Wireless Communication System | |
Chen et al. | Bayesian sparse channel estimation and tracking | |
CN117079043B (zh) | 基于可变形-扩张卷积金字塔特征的高光谱图像分类方法 | |
CN117222005A (zh) | 指纹定位方法、装置、电子设备及存储介质 | |
Qiang et al. | ResNet Based Modulation Pattern Recognition Method in Low SNR | |
Atanackovic et al. | Deep-learning based ship-radiated noise suppression for underwater acoustic OFDM systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |