Open Yureien opened 3 years ago
Good question. Typically this CSI will go through a smoothing/denoising process which will eliminate high frequency changes like this, but I do not have any comment about why this should or should not be happening.
I think this is a very good question, and if you have any ideas of what might be causing this I would like to hear your thoughts. Can you help me and help this open source project by spending some time thinking/researching why something like this might be happening? That would be very helpful to the project. Thanks!
As far as I know the local oscillators on the TX/RX ESP32 boards always have some level of drift against each other, this could be 20 to 100 ppm, which may result a few kHz of frequency shift on the WiFi bands. This causes certain phase shift across time frames. Also when you look at the phase of the subcarriers in the same packet, the phase of neighbour subcarriers are similar but slightly different, and the phase slowly moves towards the same direction across subcarriers.
The other dominant factor is probably the sampling clock, which is not synchronised across ESP boards. The CSI packets are probably coming at a pretty discrete rate (e.g. default 100 pkt/s, not sure what's the max rate it can get if the packets are sent back to back @StevenMHernandez have you got any information on this?), that phase gets larger and larger when the clock ticks. When the next CSI packet is received at the station, there is probably already plenty of phase offsets accumulated so the phase looks to be oscillating.
So I guess unless the phase offset can be somehow compensated, the phase values are not very useful for any applications.
Hello, same issue here. The extracted amplitudes are very very variable over subcarriers but also over time (considering a single subcarrier).
Thise is a plot for a single subcarrier over ONLY 1 second (100 packets, since the rate is 100pk/s). Is it normal that it changes so rapidly every 10ms ?
Describe the bug The amplitude and phase keeps on rapidly oscillating (often alternatively) between two values, one higher and one lower. What exactly causes this? What's the best way to mitigate?
Example: This is the amplitude for subcarrier #55:
Here's a graph:
It's basically oscillating between a value around 10-12 and another around 17-21
Tool Settings
To Reproduce Steps to reproduce the behavior:
Desktop (please complete the following information):