Linux 802.11n CSI Tool

详情参照:http://dhalperi.github.io/linux-80211n-csitool/faq.html

FAQ, Things to Know, and Troubleshooting

常见问题、须知和故障排除

1.How do I set wireless data rates (or get/set other station information)? [+]
如何设置无线数据速率(或获取/设置其他站点信息)?

2.How do I process CSI with MATLAB or Octave? [+]
我如何使用 MATLAB 或 Octave 处理 CSI?

A.解析 CSI 跟踪文件
使用MATLAB/Octave,切换到CSI Tool补充资料中的matlab目录:

现在读入 CSI 跟踪文件。 补充材料中包含一个示例文件,但您也可以使用按照安装说明的最后一步生成的文件。

请注意,这使用从 read_bfee.c 编译的 MEX 文件来解压二进制 CSI 格式。 如果这不起作用,请使用 MATLAB/Octave 重新编译此 MEX 文件,然后重试。

B.检查 CSI
在我们的示例文件中,csi_trace 是一个 1x29 元胞数组,其中包含 29 个结构体。 这包含 29 个接收数据包的 CSI 信息。 让我们检查其中一个条目:

注意花括号 {},而不是括号 ()。
(在示例跟踪中,timestamp_low 无效且始终为 4。)

让我们分解一下这个显示:
timestamp_low 是 NIC 的 1 MHz 时钟的低 32 位。 它大约每 4300 秒或 72 分钟包装一次。 此字段尚未记录在示例跟踪中,因此所有值都是任意值且始终等于 4。
bfee_count 只是驱动程序记录并发送到用户空间的波束成形测量总数的计数。 内核和用户空间之间的网络链路通道是有损的,因此它们可用于检测在此管道中丢弃的测量值。
Nrx 代表这个网卡用来接收数据包的天线数量,Ntx 代表传输的空间/时间流的数量。 在这种情况下,发送方发送了一个单流数据包,而接收方使用所有 3 个天线来接收它。
rssi_a、rssi_b 和 rssi_c 对应于接收 NIC 在每个天线端口的输入处测量的 RSSI。 该测量是在数据包前导期间进行的。 该值以 dB 为单位,相对于内部参考; 要获得以 dBm 为单位的接收信号强度,我们必须将其与以 dB 为单位的自动增益控制 (AGC) 设置 (agc) 相结合,并减去一个魔术常数。 下面解释这个过程。
perm 告诉我们 NIC 如何将来自 3 个接收天线的信号排列到 3 个处理测量值的 RF 链中。 [3 2 1] 的样本值意味着天线C被送到RF Chain A,Antenna B到Chain B,Antenna A到Chain C。这个操作由NIC中的天线选择模块执行,一般对应于ordering 天线按 RSSI 降序排列。
rate 是发送数据包的速率,格式与上面定义的 rate_n_flags 相同。 请注意,天线位被省略,因为接收器无法知道使用了哪些发射天线。
csi 是 CSI 本身,标准化为内部参考。 它是一个 Ntx×Nrx×30 3-D 矩阵,其中第三维跨越 OFDM 信道中的 30 个子载波。 对于 20 MHz 宽的信道,这些对应于大约一半的 OFDM 子载波,而对于 40 MHz 宽的信道,这大约是每 4 个子载波中的一个。 测量哪些子载波由 IEEE 802.11n-2009 标准定义(在第 50 页的表 7-25f 中)。
既然我们已经描述了这个结构体的所有字段,我们需要将它们放在一起,以绝对单位而不是英特尔的内部参考水平来计算 CSI。 特别是,我们需要将 RSSI 和 AGC 值组合在一起以获得以 dBm 为单位的 RSS,并包括噪声以获得 SNR。 如果没有噪声(如示例情况),我们将使用 -92 dBm 的硬编码本底噪声。 我们使用脚本 get_scaled_csi.m 来做到这一点:

最后,csi 是一个 1×3×30 矩阵,表示该链路的 MIMO 信道状态。 它的单位是线性的——即不是 dB——电压空间。 这是我见过的所有教科书都使用的格式,也就是说,我们对 CSI(在教科书中,通常称为 H)进行了归一化处理,这样就有了单位噪声。

C.绘制信噪比
让我们看看我们测量的 1×3 链路上的三个不同空间路径:

在 plot 命令中,squeeze() 通过删除第一个单维将 csi 转换为 3×30 矩阵。 db() 从线性(电压)空间转换为对数(以 10 为底,幂)空间。 abs 将每个复数转换为其大小。 最后,.’ 算子将压缩后的 CSI 从 3×30 矩阵转置为 30×3 矩阵,并且不对复数求补。 结合起来,我们得到了下面的图像。

我们看到这是一条大部分平坦的链路,频率选择性衰落相对较小(大多数天线对约为 3 dB)。 然而,最好的天线 C 和最差的天线 A 之间存在公平的(可能是 8 dB)差异。这与 rssi_a 和 rssi_c 之间的差异相匹配(正如我们预期的那样)。

D.计算有效 SNR 值
我们将通过向您展示如何从我们的 CSI 矩阵计算有效 SNR 来结束对 CSI 的讨论。 为此,我们使用 get_eff_SNRs 脚本,该脚本将 CSI 矩阵作为输入并返回线性(功率)空间中有效 SNR 值的 7×4 矩阵。 4 列对应于使用四种 802.11 调制方案的有效 SNR,即 BPSK/QPSK/16QAM/64QAM。 7 行对应于具有 3 个天线和 1、2 或 3 个空间流的 7 个可能的天线选择。 特别地,前 3 行对应于使用天线 A、B 或 C 的单流传输。接下来的 3 行对应于使用天线 AB、AC 或 BC 的双流传输。 最后一行对应于使用所有天线的 3 流传输。

好吧,这很令人失望! 发生了什么? 好吧,请注意,这是一个 1×3 链路,因此唯一有效的天线配置是 SIMO 与我们测量的单个发射天线。 其他 6 行对应一个非常小的 SNR,即一个大的负 dB。
让我们看看一个 3×3 矩阵:

这里,所有 7 行都是有效的,因为有 3 个发射天线。 我们看到所有的 SIMO 流都很有可能工作; 事实上,对于 BPSK 和 QPSK,误差非常小,以至于 MATLAB 的误差函数无法将其与零区分开来,并且 SNR 实际上是无穷大。 MIMO2 速率也可能有效,但只有部分 MIMO3 速率有效。 有关更多详细信息,请参阅我们的 SIGCOMM 2010 论文。

3.Why does “deauthenticating […] by local choice (reason=3)” appear with dmesg? [+]
为什么dmesg 会出现“deauthenticating […] by local selection (reason=3)”
4.Does the CSI Tool work with a different Intel device (e.g., IWL 6300)? [+]
CSI 工具是否适用于不同的英特尔设备(例如 IWL 6300)?
5.For which packets is CSI measured? [+]
CSI 测量哪些数据包?
6.Which subcarriers are measured? [+]
测量哪些子载波?
7.Why doesn’t the CSI tool work for encrypted access points? [+]
为什么 CSI 工具不适用于加密接入点?
8.How is the CSI tool code licensed? [+]
CSI 工具代码如何授权?
9.The CSI Tool does not support a feature I want. Can I reprogram/modify the firmware source code? [+]
CSI 工具不支持我想要的功能。 我可以重新编程/修改固件源代码吗?
10.How do I deal with firmware crashes in AP mode? [+]
如何处理AP模式下固件崩溃?
11.How can I get CSI measurements on multiple links at once? [+]
如何一次获得多个链路上的 CSI 测量结果?
12.Can I log other information like payloads or sequence numbers for received packets? [+]
我可以记录其他信息,例如接收到的数据包的有效载荷或序列号吗?
13.Why am I unable to operate in AP or IBSS (ad-hoc) modes on 5 GHz channels? [+]
为什么我无法在 5 GHz 信道上以 AP 或 IBSS(ad-hoc)模式运行?
14.Why does “module verification failed: signature and/or required key missing” appear? [+]
为什么会出现“模块验证失败:签名和/或所需密钥丢失”?

【笔记】Linux 802.11n CSI Tool部分机翻相关推荐

  1. edup无线网卡驱动安装linux,802.11n无线网卡驱动-edup 802.11n驱动下载最新版-802.11n驱动西西软件下载...

    edup 802.11n驱动是一款支持大部分802.11n无线网卡的驱动,802.11n标准虽然在2009年才得到IEEE的正式批准,不过采用MIMO OFDM技术的厂商已经有很多,如果你的网卡是采用 ...

  2. CSI Tool的安装

    本文记录了自己安装Linux 802.11n CSI Tool的点(xue)点(lei)滴滴. 环境配置 首先,需要一个Intel WiFi Link 5300无线网卡,网上卖的该型号网卡主要有两种接 ...

  3. 2022/07 CSI TOOL 安装及使用

    目录 1 硬件部分 2 操作系统 3 CSI TOOL 安装 4 CSI TOOL 运行 AP模式及可视化 Monitor模式 接受端 发射端 运行过程中 Monitor模式的实时可视化 5 Matl ...

  4. 802.11 n wlan linux驱动下载,802.11n无线网卡驱动

    802.11n无线网卡驱动万能包是专门针对802.11n无线网卡整理的无线万能驱动包,适用天Win7/Winxp/win8/Win10,包括64位和32位系统.主要是结合物理层和MAC层的优化来充分提 ...

  5. 【书籍翻译笔记】Next Generation Wireless LANs 802.11n and 802.11ac: Chapter1

    下一代无线局域网 如果您一直在寻找一种方法,在IEEE 802.11n和802.11ac WLAN标准上实现最新速度,而不必费力地浏览整个802.11规范,那么就不要再多看了. 本文全面概述了802. ...

  6. broadcom 802.11n linux驱动下载,broadcom 802.11n驱动下载

    broadcom 802.11n网络适配器程序是用于笔记本正常上网适配的网卡驱动,针对特定的产品进行网络修复,可以直接在设备管理器里查看有没有未安装的硬件,从而了解相关的网络问题. broadcom ...

  7. rtl8191s linux驱动下载,rtl8191s wlan adapter驱动-RTL8191s 802.11n 150M/300Mbps无线网卡驱动程序下载 --pc6下载站...

    RTL8191s802.11n150M/300MbPS无线网卡驱动程序是usb外置realtekrtl8191s网卡,rtl8191swlanadapter驱动适用于xp.win7的64位和32位系统 ...

  8. Atheros CSI Tool环境搭建之路由器配置记录---2022/03/22

    Atheros CSI Tool路由器配置 路由器刷入OpenWRT固件 准备工作: 刷入步骤 官网对于安装openwrt的指导 硬件准备 安装OpenWRT Install from binary ...

  9. 从零开始的Linux 802.11WiFi CSITool(AP和monitor模式均亲测可用)

    从零开始的Linux WiFi CSITool(AP和monitor模式均亲测可用) 主要参考 1.官方资料: 2.亲测可用安装教程: 零.Linux及CSI相关知识的学习 1.Linux相关 1.1 ...

最新文章

  1. 以太坊再爆高危漏洞!黑客增发ATN 1100万枚token事件始末
  2. Linux VNC黑屏(转)
  3. GridView的 使用
  4. 95-230-010-源码-WordCount走读-概述
  5. VUE3(template使用)
  6. Android Xfermode 实战 实现圆形、圆角图片
  7. 日历java代码_java 日历代码实现
  8. 如何卸载Windows预安装内置应用
  9. Slat撒盐加密原理
  10. ITIL 4Foundation认证
  11. ORACLE DG断档处理
  12. python内置函数视频_建议你吃透 Python 的 68 个内置函数!(附Python 400集视频教程)...
  13. Intellij IDEA 中文帮助手册
  14. 国家地址json记录
  15. 新加坡国立大学Robby T. Tan教授招收计算机视觉方向博士生
  16. Linux 压缩、解压工具
  17. 可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)
  18. 大厂面试 Mysql数据库相关面试题总结
  19. python bs4 find_all_网络爬虫(三)BS4提取之find_all
  20. 宏观角度分析百度、360搜索和搜狗

热门文章

  1. 利用自定义方法显示数组中的全部数据
  2. java+找数组中最大数_Java程序查找数组中最大的数字
  3. 1.Spring、Spring Boot 和 Spring Cloud 有什么关系?
  4. iamsujie.com活了一年了
  5. 社会工程学之信息刺探
  6. css样式的叠加,CSS的叠加
  7. 在ArcGIS中勾绘全流域方法
  8. html5 css3实现字幕滚动的效果
  9. 黑马训练营10届开学典礼
  10. 我是一个硬盘(转自北大未名)