【MATLAB】基于Wi-Fi指纹匹配的室内定位-仿真获取WiFi RSSI数据(附代码)

这篇具有很好参考价值的文章主要介绍了【MATLAB】基于Wi-Fi指纹匹配的室内定位-仿真获取WiFi RSSI数据(附代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于Wi-Fi指纹匹配的室内定位-仿真获取WiFi RSSI数据

WiFi指纹匹配是室内定位最为基础和常见的研究,但是WiFi指纹的采集可以称得上是labor-intensive和time-consuming。现在,给大家分享一下我们课题组之前在做WiFi指纹定位时的基于射线跟踪技术仿真WiFi RSSI实验代码。

对数路径损耗模型

WiFi信号强度在空间中传播符合路径损耗模型。本文介绍的是较为常用的对数路径损耗模型,如下公式:
【MATLAB】基于Wi-Fi指纹匹配的室内定位-仿真获取WiFi RSSI数据(附代码),导航与定位,matlab,开发语言,信息与通信,5G
RSS衰减与距离的对数呈正比,假设已知一个参考距离d0以及这个距离上的RSS为
RSS(d0),那么距离为d的RSS(d)就可以通过上式计算得到。n是环境因子,在自由空间中一般取2就可以。
下图是实际RSS和模型仿真RSS的比较。在实际环境中,因为受到多径效应、非视距传播等噪声的影响,信号强度会发生变化,所以实际测量到的Wi-Fi信号一般如红线所示。

【MATLAB】基于Wi-Fi指纹匹配的室内定位-仿真获取WiFi RSSI数据(附代码),导航与定位,matlab,开发语言,信息与通信,5G

利用射线跟踪技术仿真得到Wi-Fi的RSSI数据

Wi-Fi信号沿直线传播,可以将其近似为射线进行分析。对于一个固定的发射源(即WiFi AP),在自由空间中,利用对数距离衰减模型即可计算各个位置的RSS,但是室内环境很复杂,信号可以遇到墙壁发生反射,各个反射后的信号又可以与未经反射的信号叠加,实际中测量到的信号其实包括了各个反射、绕射、散射信号。在射线跟踪中,计算出发射点与接收点之间的多条传播路径,分别对各个路径的信号进行分析,一般包括信号强度、相位在多次反射或绕射下的计算,然后叠加得到接收点上的信号。
在仿真实验中,我们把每个Wi-Fi AP看成一个固定的发射源,而接收器则要接受来自不同Wi-Fi AP的信号。接收器收到的信号中包含了来自每个WiFi AP的1条直射路径与6条(墙壁)反射路径的信号,因为反射后信号很小,所以我们不考虑反射信号路径。根据对数路径损耗模型,我们理论上可以计算出室内每点的WiFi RSSI强度,用于室内定位指纹库建立。
如下图,是仿真得到的某WiFi AP所覆盖的WiFi信号强度。
【MATLAB】基于Wi-Fi指纹匹配的室内定位-仿真获取WiFi RSSI数据(附代码),导航与定位,matlab,开发语言,信息与通信,5G

仿真实验MATLAB代码

实际上在射线仿真实验中涉及到了通信原理的知识,但是因为我本人不是通信出身,所以不做具体说明,想要了解射线传播原理的同学自己搜索相关知识~
以下是主程序代码:

if ~exist('radio_map_20_15.mat', 'file') %生成仿真环境
    disp('正在模拟射线跟踪...');
    generate_radio_map(0.01);  % 仿真射线网格大小
end

clc
clear;
load radio_map_30_30.mat; 
%变量为fingerprint %默认尺寸为20m*15m * 10ap,网格大小为0.01m
%注意:这里的仿真环境(fingerprint)是一个精度很高的指纹库,后面从这个仿真环境中进行取样(采集数据)并生成用于定位的指纹库。

%% 获取离线指纹库
%如果要研究指纹库构建上的优化,在这部分改进
[offline_rss, offline_location] = get_offline_data_uniform(fingerprint,100); %均匀采样
offline_location=offline_location/100; 
idx=[1:1:length(offline_location)]';
offline_location=[offline_location,idx];
save('offline_data_uniform', 'offline_rss', 'offline_location');
[offline_rss, offline_location] = get_offline_data_random(fingerprint); %随机采样
offline_location=offline_location/100;
save('offline_data_random', 'offline_rss', 'offline_location');

%% 获取在线定位阶段的数据
%前面默认的数据集的密度是0.01m,这样的话整个仿真系统的位置最小分辨率为0.01m,trace总是0.01的整数倍
roomLength = 30;
roomWidth = 30;
t = 1000;
[ loc, rss ] = get_online_data( fingerprint, 1, roomLength, roomWidth, t ); %得到轨迹与对应的RSS
save('online_data', 'loc', 'rss');
%%
clear fingerprint;

本仿真实验的完整代码:仿真获取WiFi RSSI数据
WiFi指纹定位的项目代码:WiFi指纹定位文章来源地址https://www.toymoban.com/news/detail-847709.html

到了这里,关于【MATLAB】基于Wi-Fi指纹匹配的室内定位-仿真获取WiFi RSSI数据(附代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Wi-Fi3怎么买? 19.9元360随身Wi-Fi3代今日开启首轮预约

    在众多歪粉们的期盼下,360随身WiFi 3代终于正式推出,将于今日上午10点在360随身WiFi官网开启首轮预约,预约成功的用户将在1月23日官网开卖活动中享受优先购买权。 据悉,360随身WiFi 3代是在前两代产品的基础上进行硬件升级,上网速度和WiFi信号稳定性都有较大提升。 官方

    2024年02月07日
    浏览(38)
  • 小米路由器怎么修改Wi-Fi信道?米路由器Wi-Fi信道设置方法

    大家都知道,有的时候出现网络连接不成功或者上网速度慢,那么这个时候通过修改Wi-Fi信道在一定程度上可以解决这个问题。那么对于小米路由器的用户来说,如何修改Wi-Fi信道呢?下面yii666小编为大家分享一下小米路由器Wi-Fi信道设置方法,感兴趣的朋友不要错过了。 1、

    2024年02月05日
    浏览(53)
  • Wi-Fi技术

    Wi-Fi技术:       Wi-Fi是一个创建于IEEE 802.11标准的无线局域网技术。IEEE 802.11是无线局域网通用的标准,它是由电气和电子工程师协会(IEEE)所定义的无线网络通信的标准。虽然经常将Wi-Fi与802.11混为一谈,但两者并不等同。 Wi-Fi联盟:     Wi-Fi联盟(Wi-Fi Alliance,简称WF

    2023年04月15日
    浏览(41)
  • 忽视了公共Wi-Fi接入风险:未对通过公共Wi-Fi接入网络的安全风险给予足够重视

    标题: 公共Wi-Fi接入安全风险的忽视与防护 随着互联网技术的飞速发展以及移动设备的普及应用,人们对无线网络的需求越来越高. 在公共场所如咖啡厅、酒店等地方经常提供免费Wi-Fi供用户访问网页和发送邮件等信息; 然而,这些看似方便快捷的网络服务背后却隐藏着巨大的安

    2024年02月02日
    浏览(52)
  • 了解Wi-fi频段概念

    信道带宽,应该了解wi-fi频段,这样才能分析有多少信道带宽可用,以及如何在没有任何干扰(失真)的情况下有效地使用它。 2.4 GHz Wi-Fi频段:在2.4 GHz频段,可用带宽为100 MHz,范围为2.4-2.5 GHz(2400-2500MHz)。因此,总可用带宽为100MHz,因此也相应地分配了信道宽度,使得信

    2024年02月05日
    浏览(38)
  • 小米Wi-Fi U盘版什么时候发布?小米Wi-Fi U盘版小米官网今日首发

    2014天猫双十一,小米公司可以说是风光无限,取得了前所未有的销售记录,不过小米公司似乎并未放缓前进的脚步。就在今天,小米官网将正式首发小米Wi-Fi U盘版。 小米Wi-Fi U盘版是在之前的小米随身Wi-Fi基础上进化而来的,和之前版本不同,这一次的小米Wi-Fi U盘版岁随身

    2024年02月07日
    浏览(37)
  • Wi-Fi连接握手包抓包

    环境:linux 网卡:需要加一个usb网卡,3070就不错 1.安装aircrack-ng包 2.开启网卡监听模式,打开需要开启的网卡,这里选wlan0,wlan1也可以 3.查看网卡信息, wlan0mon网卡名加了mon则表示成功 4.开始扫描WiFi,结束按ctrl+c即可 5.开始断开wifi 如:aireplay-ng -0 0 -c B8:37:65:94:5D:13 -a BC:5F:

    2024年02月12日
    浏览(41)
  • 如何查看电脑是否支持Wi-Fi 6

    目录 一、问题描述 二、Wi-Fi 6定义 三、解决方案 1、使用netsh命令解决,netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具; 2、通过Windows+R快捷键可以打开“运行窗口”,在“窗口”中输入“cmd”,点击“确定”打开命令行; 3、在命令行输入以下命

    2024年02月09日
    浏览(33)
  • ToBeWritten之物联网WI-FI协议

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬请移步知识星球 感谢大家一直以来对我CSDN博客的关注和支持,但

    2023年04月08日
    浏览(30)
  • 物联网应用中的 Wi-Fi 6

    近年来,设备智联在我们的日常生活中越来越常见。从智能家居设备到工业自动化系统,物联网技术正在改变我们与世界交互的方式。随着物联网设备的不断增多,对可靠、高容量和低功耗无线连接的需求变得尤为迫切。这就是 Wi-Fi 6(即 802.11ax)应运而生的原因,这一技术

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包