码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CSI室内指纹定位——CSI数据说明


    1、可以使用一台无线路由AP作为发射机(共2根发射天线),使用一台配备了Intel WiFi Link 5300无线网卡和Ubuntu操作系统的台式机作为接收机(共3根接收天线)来进行实验。还可以使用两台配备Intel5300网卡的台式机做实验,一台做发射机,一台做接收机。最后可以通过修改NIC的设备驱动程序,来读取每个数据包接收时以CSI的形式记录在硬件中的CSI值,并生成包含CSI信息的dat文件。这些dat文件是以二进制进行保存的,最后我们还要使用MATLAB或者Python程序来读取dat文件,从而获取丰富的csi信息。每个位置点测试1500个数据包。

    2、使用MATLAB解析dat文件,显示1615*1个元胞数组,这些原胞数组包含了1615个1*1的结构体,每个结构体表示一个数据包的所有信息,包括了信道状态信息

    010b14fc977746b092181892a992ab51.png

    3、一个数据包的字段解释:

    timestamp_low : 时间戳,相连两包此值差单位为微秒 此参数可以确定出波形的横轴时间

    bfee_count : 驱动记录并发送到用户控件的波束测量值 的总数。可以用该变量来检测被丢弃的测量值

    Nrx:接收端使用的天线数量

    Ntx:发送端使用的天线数量 

    rssi_a, rssi_b, rssi_c:由接收端NIC测量出的RSSI值

    perm:展示NIC如何将3个接收天线的信号排列到3个RF链 上,上图中的数据表示天线A被发送到RF链A,天线B被发送 到RF链B,天线C被发送到RF链C。 

    rate:发包频率

    csi:csi值(后面详细解释)

    410612d6fda3466d9ca34e4066581a20.png

     4、csi值矩阵说明

    csi的值是一个n*m*30的复数矩阵,n表示发射天线的个数,m表示接收天线的个数,30是子载波个数。已知设备的发射天线为2根,接收天线为3根。复数形式为val=a+bi,我们可以得到复数的模 gif.latex?%5Csqrt%7Ba%5E2+b%5E2%7D   和相角 gif.latex?%5Ctheta%20%3DArctan%28b%2Ca%29,也就是对应的幅度和相位。matlab提供abs函数和angle函数可获取到该复数的幅值和相位。当然会由于硬件和环境带来的偏差导致相位难以处理,导致很多学者或者研究者放弃使用相位指纹。

    5、提取的幅值和相位如下:

    61a7d81624f345f891595539fe7fde13.png

    caa730cffe254b4d9bca8907885d14bc.png

    创作不易,尊重原创,因为存在博主直接剽窃,所以很多文章进行了删减,希望大家谅解。如有对室内CSI指纹定位感兴趣的可阅读下面的文章:

    1、室内定位之CSI指纹定位_数产小黑娃的博客-CSDN博客

    2、CSI室内指纹定位——相关通信名词解释_数产小黑娃的博客-CSDN博客

    3、室内定位之5G定位_数产小黑娃的博客-CSDN博客

    66b53385615046d18861282a38998f51.png

  • 相关阅读:
    华纳云:linux怎么配置jdk环境变量
    海报设计的黄金资源,设计师们不容错过的免费素材集结地!
    不同设备使用同一个Git账号
    ASP.NET Core 6框架揭秘实例演示[01]: 编程初体验
    linux学习笔记
    Go | 函数(包)的使用
    【自然语言实战】机器学习之基于评论内容的主题分类模型
    多级菜单 树结构 排序 前端 后端 java
    volatile关键字及内存可见性,指令重排序
    phmap 学习和思考
  • 原文地址:https://blog.csdn.net/qq_53860947/article/details/126449801
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号