WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2014-Jun-29 13:50:17

sb432
Member
Registered: 2014-Jun-26
Posts: 3

Time taken by particular MACframe for retransmissions

Hi,

I need to keep sending a MACframe  until some time. My frame is

Code:

    followMe.header.length = 0;
    followMe.header.pktType = HOPPACKET;
    followMe.header.fullRate = HDR_FULLRATE_QPSK;
    followMe.header.codeRate = HDR_CODE_RATE_12;

What I can guess from this link is that http://warpproject.org/trac/wiki/802.11/PHY

If I use QPSK 1/2, my rate is 12Mbps. This means it is 1.5MBytes/s. If header length is 24 bytes then my rate wil be. 62500. Which means one MACframe will take 16us to transmit. Is my calculation correct?

So if I need to keep retransmitting this frame for a period of lets say 25ms. Then I retransmit this frame 25ms/16us = 156 number of times.

Regards,

Offline

 

#2 2014-Jun-30 08:41:08

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

Re: Time taken by particular MACframe for retransmissions

You are mixing the OFDM Reference Design and the 802.11 Reference Design. Judging by the field names in the code you pasted, it looks like you are using the OFDM Reference Design, which is a completely independent project from the 802.11 Reference Design.

Regarding your question, the reason the distinction is important is that the OFDM Reference Design only runs in 10MHz bandwidth (not 20MHz like the 802.11 Reference Design). This means that the rate of the QPSK 1/2 payload is 6Mbps. Furthermore, you need to account for PHY and MAC overhead in your calculation. The PHY has a preamble of STS and LTS symbols that take time to send and are on top of the 24 bytes of header. Also, the MAC can't send packets back-to-back. There are random backoffs between the transmissions as well as interframe spaces before ACK receptions. Also, if the ACK fails, there is a timeout that would occur.

If you want to send something for a certain amount of time, you are probably better off not hardcoding the number of transmissions. Instead, you probably want to just explicitly keep track of time in software and stop sending once the duration of time has passed that you want.

Offline

 

Board footer