[原創]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.  第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-7步是終端操作

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中波形會不斷變化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章