dhalperi / linux-80211n-csitool-supplementary

802.11n CSI Tool based on iwlwifi and Linux-2.6
http://dhalperi.github.com/linux-80211n-csitool/
195 stars 128 forks source link

Live Streaming CSI #274

Open asifhanif1122 opened 7 years ago

asifhanif1122 commented 7 years ago

Hi Everyone, I am asif hanif and have been working on CSI tool for a year. I am planning to work on "Live Display of CSI on MATLAB or Python". The reason behind this motive is that offline processing of CSI consumes a lot of time and sometimes results in wastage of time because results do not appear according to our expectation. I invite all CSI tool savvy guys to work on this maneuver. We can discuss ideas and strategies to get CSI in real time and display it on screen using MATLAB or Python scripts. We will make it public once we reach our milestone.

Current challenges in live CSI streaming are as follows; 1) You cannot process data until file is logged with CSI 2) Matlab processes CSI data in the form of single .dat CSI file

Possible Solutions; 1) Make one CSI file, log data for certain amount of time 2) Terminate data logging of first file and at the same time start two things; i) Start data logging of 2nd .dat file ii) process CSI of previous .dat file

I think this might help you understand the direction where we want to go. Your ideas are highly welcomed. Discuss your suggestions only in this issue thread so that everyone may benefit from it. For personal issues(CSI related) or something that you think is related to minor issues only, you are welcome to contact me through email.

My email address: ## asif.hanif@outlook.com

luxiangx commented 7 years ago

Hello, I am a postgraduate student from China. I'm glad to hear your work about Live Display of CSI. I have worked on CSI tool for half a year. And do some research about indoor positioning and behavior recognition. I do believe that your project will help us a lot. I have seen some similar projects, such as http://tns.thss.tsinghua.edu.cn/wifiradar/. Hope you can understand the Chinese. So, good luck! I’m waiting for your good news.

asifhanif1122 commented 7 years ago

@luxiangx thanks for sharing useful link.

caichao commented 7 years ago

@asifhanif1122 I offer my idea here. It is quite simple. I modify the original "log_to_file.c" file to put a TCP socket in it. The TCP socket will flush the obtained csi data to a local server. The local server runs on MATLAB. I have successfully displayed the csi in real time this way. We can directly see how the human motions affect the csi magnitude. To send the csi data through TCP channel, you have to know how the csi are warped in the data stream. A valid csi package starts with two byte headers. Every csi data (the real and imaginary part) is quantified by 5 bits. I suggest you read the "read_bf.c" file to check these. My code is not elegant, so I will not put them here. Hope these ideas can help you. I wish you could develop some awsome UI based on these and contribute it to the community. If you encounter any further problems, please contact me.

asifhanif1122 commented 7 years ago

@caichao thank you so much for your insightful thoughts. I will look into socket programming and will definitely contact in case of problems.

caichao commented 7 years ago

Hi, I have published the code. https://github.com/caichao/livestreamcsi.

2017-03-02 14:18 GMT+08:00 asifhanif1122 notifications@github.com:

@caichao https://github.com/caichao thank you so much for your insightful thoughts. I will look into socket programming and will definitely contact in case of problems.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/dhalperi/linux-80211n-csitool-supplementary/issues/274#issuecomment-283566978, or mute the thread https://github.com/notifications/unsubscribe-auth/ADQlrKOW47a4LifpNEH0mvAwl4szHcBYks5rhl8qgaJpZM4LXG5J .