[原创]Linux 802.11n CSI Tool下csi数据的可视化

Linux 802.11n CSI Tool下csi数据的可视化

前言

本文主要应用了lubingxian的可视化工具,对他们的工作表示感谢。具体效果是当我们在终端收数的时候,matlab上的脚本会实时显示csi数据的SNR,变幻的效果还是挺震撼的。

在我们配置好CSI Tool以后,可以通过简单的步骤实现对csi数据的可视化。

我使用的是64位Ubuntu12.04LTS版本+matlab2014b。matlab的安装和破解不作为本文重点,其详细教程参考博主ClaireQi的博客即可,已然很给力了:

https://blog.csdn.net/wangxiao7474/article/details/76150852

csi数据可视化

1. ctrl+alt+T新建命令行窗口A,执行

git clone https://github.com/lubingxian/Realtime-processing-for-csitool

2.  matlab端的操作:打开matlab,执行Realtime-processing-for-csitool/matlab目录下的read_bf_socket.m

默认端口是8090,这时matlab的command window会显示waiting for connection on port 8090

3. 进入目录Realtime-processing-for-csitool/netlink,将log_to_server.c文件拷贝到linux-80211n-csitool-supplementary/netlink目录下。

4. 终端操作:A窗口中cd linux-80211n-csitool-supplementary/netlink 

5. A窗口中gcc log_to_server.c -o log_to_server

6. ctrl+alt+T新建命令行窗口B,在B窗口中ping 无线AP,格式:sudo ping <APaddress> -i <timeinterval> 如: sudo ping 192.168.12.1 -i 0.05

7. A窗口中 执行 sudo ./log_to_server 127.0.0.1 8090

这里127.0.0.1是本机ip地址, 8090为端口号。

这样我们就可以在matlab中看到变化的csi了。如果第6步的timeinterval设置得太小,会导致csi变化滞后于收数速度,甚至在关闭A、B窗口后一段时间仍可看到csi数据的变化。 所以综合考虑AP和client之间距离,调整timeinterval,可得到满意的效果。

两台电脑的方案

假定电脑a作为matlab执行脚本方,电脑b作为执行终端收数方,两台电脑需连接同一个无线网络。

电脑a执行1、2步骤,等待收数。

电脑b执行1、3、4、5、6、7步骤。第7步骤中的ip地址换为电脑a的ip地址,可在a电脑上的connection information ipv4下的IP Address查看,如 为192.168.12.26,那么第7步执行sudo ./log_to_server 192.168.12.26 8090即可。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

单台电脑的最终效果如下图所示:Figure 1中波形会不断变化。

猜你喜欢

转载自blog.csdn.net/u014645508/article/details/82887470