WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2019-Feb-12 12:32:57

Yan Wang
Member
Registered: 2018-Oct-25
Posts: 21

802.11 Reference Design: The different value of MCS in AP and STA

Hello,

I was confused about the values of MCS when I using the log_capture_two_nodes_two_flow.py. When I set MCS=3, I found that the packets received in AP have MCS=4, but the packets received in STA have MCS=3. When I changed the MCS to 2, both AP and STA's packets have the MCS value equal to 2.

Best regards,
Yan

Offline

 

#2 2019-Feb-12 14:39:24

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 802.11 Reference Design: The different value of MCS in AP and STA

What version of the 802.11 Reference Design are you using? Did you make any other changes to the C or Python code?

My first guess is some dependence on PHY Mode - NONHT MCS 3 and HTMF MCS 4 are both QPSK, code rate 3/4. What are the `phy_mode` values for the AP and STA receptions in your logs?

Offline

 

#3 2019-Feb-12 15:09:09

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: 802.11 Reference Design: The different value of MCS in AP and STA

I think you are describing the intended behavior. An HTMF MCS 3 packet is 26 Mbps. The standard dictates that ACKs should be sent using the NONHT PHY at the highest basic rate not exceeding the rate of the packet being acknowledged. In this case, ACKs should be sent at NONHT MCS 4 since that corresponds to a 24 Mbps waveform. Is that consistent with what you are seeing? The log should show that all DATA packets in both directions are HTMF MCS 3 and all ACK packets in both directions are NONHT MCS 4.

Offline

 

#4 2019-Feb-13 10:09:09

Yan Wang
Member
Registered: 2018-Oct-25
Posts: 21

Re: 802.11 Reference Design: The different value of MCS in AP and STA

murphpo wrote:

What version of the 802.11 Reference Design are you using? Did you make any other changes to the C or Python code?

My first guess is some dependence on PHY Mode - NONHT MCS 3 and HTMF MCS 4 are both QPSK, code rate 3/4. What are the `phy_mode` values for the AP and STA receptions in your logs?

The version is 1.7.7. I changed the python code to just let AP's local generator start a flow to STA and STA's local generator cannot start a flow to AP.
The 'phy_mode' value is set as 'HTMF'.

Offline

 

#5 2019-Feb-13 11:31:08

Yan Wang
Member
Registered: 2018-Oct-25
Posts: 21

Re: 802.11 Reference Design: The different value of MCS in AP and STA

chunter wrote:

I think you are describing the intended behavior. An HTMF MCS 3 packet is 26 Mbps. The standard dictates that ACKs should be sent using the NONHT PHY at the highest basic rate not exceeding the rate of the packet being acknowledged. In this case, ACKs should be sent at NONHT MCS 4 since that corresponds to a 24 Mbps waveform. Is that consistent with what you are seeing? The log should show that all DATA packets in both directions are HTMF MCS 3 and all ACK packets in both directions are NONHT MCS 4.

If I let the script start the traffic flow from AP to STA and STA to AP, I found that the DATA packets both in AP and STA in MATLAB are MCS 3, but I cannot find the ACK packet in MATLAB. I can find the ACK packet in raw log data by using python. Is this because of the code of 'chan_est_to_HDF5.py' discard the ACK packets? However, when I changed the code to let the script only starts the traffic flow from AP to STA, I found that the ACK packets in STA are MCS 4 and the DATA packet in AP are MCS 3 in MATLAB.

Best regards,
Yan

Offline

 

#6 2019-Feb-14 09:19:59

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 802.11 Reference Design: The different value of MCS in AP and STA

I'm pretty sure Chris is right - you're seeing a mix of NONHT MCS 4 ACKs and HTMF MCS 3 DATA packets. You must consider PHY_MODE anytime you look at MCS index - the MCS index by itself is not enough to know what waveform/rate was used.

You can examine and customize the chan_ests_to_HDF5.py script to see how it selects packets for export to the MATLAB-compatible HDF5 file.

Offline

 

#7 2019-Mar-05 08:20:02

Yan Wang
Member
Registered: 2018-Oct-25
Posts: 21

Re: 802.11 Reference Design: The different value of MCS in AP and STA

Hello,

When I observed the ACK packets received in STA, I found that there are some packets have MCS equal to 0 as can be seen in the figure. The first column is the timestamp, the second column is the received power, the third column is the flag value, the fourth column is the MCS value, the fifth column is the mac address.
Thus, I am confused about the meaning of these ACK packets.

https://upload.cc/i1/2019/03/05/aCUL6B.png

Thanks,
Yan

Offline

 

#8 2019-Mar-05 11:18:19

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 802.11 Reference Design: The different value of MCS in AP and STA

You will need to examine the logs more closely to understand the Tx/Rx exchange that results in the ACKs you list above. If the STA observes an ACK where addr1 is the STA's MAC address, there must be a TX_LOW entry at the STA for the transmission that was acknowledged. In general an ACK will be transmitted as a NONHT waveform at a datarate not greater than the waveform being acknowledged.

Offline

 

Board footer