nexmonster / nexmon_csi

Channel State Information for Raspberry Pi. Use the pi-5.10.92 branch.
https://github.com/nexmonster/nexmon_csi/tree/pi-5.10.92
60 stars 26 forks source link

Strange CSI pattern #19

Open NormaalMeneer opened 2 years ago

NormaalMeneer commented 2 years ago

Hello @zeroby0

When I graph extracted (on a raspberry pi) CSI, it shows a strange pattern where there is a very big DC component (amplitude of the 0 subcarrier). I tried moving my raspy away from other electronic devices, and even removed the fan and the encassing, but that made no difference. Is this legit or is there a problem with the extraction or post processing?

big_cd_component

Thanks in advance!

zeroby0 commented 2 years ago

Hey @Seppe-d!

It is legit :D

There are a few subcarriers, including the 0 subcarrier, that have arbitrary values. I think it's used for doppler correction, and maybe for co-existence with other wireless. I'm not really sure :)

If you're using csi-explorer, you can remove the null subcarriers by setting remove_null_subcarriers = True in config.py (default option)

The indexes for null and pilot subcarriers are in https://github.com/nexmonster/nexmon_csi/blob/feature/python/utils/python/decoders/interleaved.py#L35

NormaalMeneer commented 2 years ago

Hi @zeroby0,

Thanks for your reply. I am using the csi-explorer but the remove_null_subcarriers was already set to True. In the amplitude graph, the large spike isn't centered around subcarries 0, so switching this option did not really make much difference. None of the CSI graphs I encountered by reading papers looked like this, so I suspect something is off.