Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flip on relative phase between antennas #219

Open
Deltaaaaaaaaaa opened this issue Jun 1, 2021 · 3 comments
Open

Flip on relative phase between antennas #219

Deltaaaaaaaaaa opened this issue Jun 1, 2021 · 3 comments

Comments

@Deltaaaaaaaaaa
Copy link

Thank you for this amazing CSI tool!
I'm collecting CSI using AC-86U as receiver(4 antennas) and Nexus6P as transmitter(1 antenna), to estimate AoA.
In a static environment, I found the relative phase between antennas filp over time, which makes AoA estimation unreliable.
This is a heat map of CSI phase with respect to the first antenna.
04c27b0c57b25e982f2a8fd3905c38f
Have you guys met the same problem?
What might result in this flip?
Is there some related signal processing procedure in AC-86U?
How can I calibrate this?
Thanks in advance!

@Deltaaaaaaaaaa
Copy link
Author

@quantumhub @yujianyuanhaha @matthiasseemoo Greetings! Could you guys give me some hint? Thanks in advance!

@yujianyuanhaha
Copy link

yujianyuanhaha commented Jun 3, 2021

@Deltaaaaaaaaaa I am glad you look into the AoA or AOA-ToF estimation, I am met the same issue.

You can easily unwrap the phase using pseduo code like below

if Phase(j) -  Phase(j-1) > pi
        Phase(j) = Phase(j-1) - 2*pi;
  elseif Phase(j)- Phase(j-1) < -pi
         Phase(j) =Phase(j)+ 2*pi;
 end

but it does not fixed the issue ....

Although tons of work is has been done but much of them is noisy and hard to implement.

(1) Spoty [paper link] [open source link], this work require you to swap the ant to calibrate the antenna.

(2) a more recent one Robust and Practical WiFi Human Sensing
Using On-device Learning with a Domain Adaptive Model
argue diff over diff spatial stream should be constant over package, while such claim does not match with your observation.

Let me know if you figure out a better way

Best

Jet

@Deltaaaaaaaaaa
Copy link
Author

@Deltaaaaaaaaaa I am glad you look into the AoA or AOA-ToF estimation, I am met the same issue.

You can easily unwrap the phase using pseduo code like below

if Phase(j) -  Phase(j-1) > pi
        Phase(j) = Phase(j-1) - 2*pi;
  elseif Phase(j)- Phase(j-1) < -pi
         Phase(j) =Phase(j)+ 2*pi;
 end

but it does not fixed the issue ....

Although tons of work is has been done but much of them is noisy and hard to implement.

(1) Spoty [paper link] [open source link], this work require you to swap the ant to calibrate the antenna.

(2) a more recent one Robust and Practical WiFi Human Sensing Using On-device Learning with a Domain Adaptive Model argue diff over diff spatial stream should be constant over package, while such claim does not match with your observation.

Let me know if you figure out a better way

Best

Jet

Hi, Thanks for your reply!
Have you tried to look into the frequency of the phase flip?
It seems to happen randomly, but the is added phase value is fixed.
I think research on the condition or the frequency of the flip might be helpful to calibrating it.

Best
Jimbo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants