francescamen / SHARP

Learning algorithm for human activity recognition with a commercial IEEE 802.11ac router

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nexmon makecsiparams command

CristianTuretta opened this issue · comments

Dear @francescamen
thank you for the interesting article and work you carried out. Just a question, what is the parameters passed to Nexmon makecsiparams command to collect CSI values you used in your experiment? Thank you very much.

Cristian

Hi @CristianTuretta!

Sorry for the very late reply, I didn't receive any notification and I just saw your message by chance.
You probably already solved but I answer you anyway. We used the following parameters:
-c 36/80
-C 0xf
-N 1
-b 0x88
and we also set the MAC address of the transmitting device through the -m parameter.
Please, feel free to contact me if you need further information!

Best,
Francesca

Hi @CristianTuretta!

Sorry for the very late reply, I didn't receive any notification and I just saw your message by chance. You probably already solved but I answer you anyway. We used the following parameters: -c 36/80 -C 0xf -N 1 -b 0x88 and we also set the MAC address of the transmitting device through the -m parameter. Please, feel free to contact me if you need further information!

Best, Francesca

Hi Francesca. Thanks for sharing this wonderful work. In the readme, you said that two terminals are exchanging traffic in channel 42 (5.21 GHz for the centre frequency and 80 MHz of bandwidth). While here you said that your configuration is 36 channels with 80 MHz. May I ask if there is a mistake or if I missed something? Thank you so much for your help.

Best, Jingtao

Hi Jingtao!

You understood correctly. The terminals were exchanging traffic on channel 42 which is the first channel with 80 MHz bandwidth in the 5 GHz band.
However, the Nexmon configuration requires indicating the 20 MHz channel corresponding to the beginning of the selected spectrum, together with the bandwidth: this is why we used channel 36 and bandwidth 80 to configure Nexmon to capture on IEEE 802.11ac channel 42. You can find the correspondence in different tables online like this.

I hope this solved your doubt!
Best,
Francesca

Hi Jingtao!

You understood correctly. The terminals were exchanging traffic on channel 42 which is the first channel with 80 MHz bandwidth in the 5 GHz band. However, the Nexmon configuration requires indicating the 20 MHz channel corresponding to the beginning of the selected spectrum, together with the bandwidth: this is why we used channel 36 and bandwidth 80 to configure Nexmon to capture on IEEE 802.11ac channel 42. You can find the correspondence in different tables online like this.

I hope this solved your doubt! Best, Francesca

Hi Francesca.

Thanks for your helpful reply. Could you please provide the reference or link regarding this information ("the Nexmon configuration requires indicating the 20 MHz channel corresponding to the beginning of the selected spectrum, together with the bandwidth")? Since I read the usage example in the nexmon_csi use 157/80 which is not the beginning of the selected 80MHz spectrum (149 channel for 155, 80 MHz channel).

Another problem is that could I apply this method in a single antenna device (e.g., pi 4B). Since I plot the doppler spectrum as below using this code. The CSI collected using the pi 4B under one person moving up stair and the figure is not that similar to yours which present in the paper.

1_p_up_doppler

Could you please give me some ideas regarding this? I hope it would not bother you. Thank you so much.

Best regards,
Jingtao

Dear Jingtao,

About nexmon_csi I have no references, what I told you is derived from our experience in working with the tool. I suggest you ask directly the developers for that.

About the second question, the method should work also with a single antenna device used as a collector: in that case you need to set ``number of cores'' to 1 in the scripts. You need also to adjust the noise level according to your environment.
The plot you obtained seems not correct to me and I am not able to understand what went wrong with the data or processing by just looking at the result. I suggest you visualize the data step by step during the processing to recognize where you are having problems. Did you apply the phase sanitization? If you don't apply it you would not be able to extract the Doppler effect as the carrier frequency offset completely hide the phase shift associated with the moving targets.

Best,
Francesca

Dear @GuoJingtao-1997,

I uploaded the Doppler traces I obtained from our data and some examples of plots. You can find the link to the shared folder at https://github.com/francescamen/SHARP/tree/main#pre-computed-doppler-traces

I also uploaded to the repository the code to plot the Doppler traces, you can find the details at https://github.com/francescamen/SHARP#doppler-computation

I hope that this may help solve the issues with your dataset.

Best,
Francesca