dhalperi / linux-80211n-csitool-supplementary

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

Problem getting AoA from CSI data #371

Open minseuk opened 6 years ago

minseuk commented 6 years ago

Hello. I'm a student studying Wi-Fi indoor localization using CSI packets. I got CSI packets with following csitool and got Unwrapped CSI phases. After ToF sanitization, I can obtain AoA values, but the result is different from actual angle in the environment. I did experiment on 5.745GHz and 3cm antenna distance.

Acutally, I studied this csitool for a long time, and I think my analysis algorithm including sanitization and MUSIC is correct. I guess the problem is caused from CSI data.

For example, this is a data for 60 degree, but it shows the AoA is 30 degree (have to add -90 degree in the pseudospectrum graph)

-60

-60_pseudospectrum

Is there any issue such as 'phase reverse' or 'x+90 degree x-90 degree' from your experience? I don't know if it was coincidence, but when i added Pi for certain antenna phase, I got almost exact result. I expect your response.

sandeep-bastola commented 6 years ago

Hello Minseuk,

I am also a student working on wifi based indoor localisation. But since I dont deal with AoA in my research, I cannot provide much inputs here. But sure we can help each other in many respects in the topic. Feel free to communicate me at ga42gup@tum.de . Thanks,

SusieYonng commented 6 years ago

Maybe your ground truth is 30 degrees? and keep the antenna spacing no more than wavelength/2.

minseuk commented 6 years ago

Hello SusieYonng. For this example, the phase difference from each antenna is about 0.35*2pi. I did an experiment in 5.745GHz and the 3cm antenna distance, so mathematically It shows asin(0.35/0.5745) = 37 degree. But the ground truth was 60 degree.

lax7 commented 6 years ago

Hi Minseuk, can you share your email. We can discuss, I also have similar problem.

esoltana commented 6 years ago

There is a constant LO offset between the three antennas that need to be manually removed before estimating AoA. Please check ArrayTrack paper for more information and the calibration process.

minseuk commented 6 years ago

@laxima Hello laxima. I'm sorry for late answer. My email is kms4105@kaist.ac.kr Thank you.

minseuk commented 6 years ago

@soltanaghaei Hello soltanaghaei. Thank you for your advice. I found ArrayTrack paper and know how to solve the offset problem. It was represented in 'implementation' part of that paper.

minseuk commented 6 years ago

Now, my next problem is how to handle 'differ phase difference' for each subcarrier. untitled As you can see, the phases of each antenna and subcarrier is varying. There must be multi-path problem and i'm searching the way if i can subtract several subcarriers that are considered as single path phase, or properly add or subtract phases. I'm currently reading the paper Tzur, Asaf, Ofer Amrani, and Avishai Wool. "Direction Finding of rogue Wi-Fi access points using an off-the-shelf MIMO–OFDM receiver." Physical Communication 17 (2015): 149-164.

titinho11 commented 5 years ago

Hello Minseuk,

I am also a student working on wifi based indoor localisation system, and i am also facing inconsistant angle of arrival results. Does Arraytrack's calibration make it work for you ?

zwlovefish commented 5 years ago

@minseuk hello, i am also dealing with localization system,Could you send me your matlab code ?please help me. thank you

zwlovefish commented 5 years ago

@minseuk my email is zjw1149610059@gmail.com