WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2012-Aug-06 22:26:02

Julian
Member
Registered: 2010-Nov-10
Posts: 85

How to distinguish the failure because of collision or bad channel

Hi,
   Can some one tell me, how to tell whether a packet failure is due to a collision or due to a bad channel quality in the reference design?
I found that in the CSMA.C file, whenever there is a failure, the contention window will be increased. Does that mean, for the reference design, all failures are regarded as the result of collision?

Thanks

Offline

 

#2 2012-Aug-07 08:48:37

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

Re: How to distinguish the failure because of collision or bad channel

My understanding is that CSMA/CA behaves exactly the way you describe: all failures are regarded as the result of collision. Obviously this isn't the case, but as far as I'm aware there is nothing in the 802.11 standards to directly address this.

For my own research, I wanted a way to distinguish channel-induced failures from collisions. It's not perfect, but my proxy for a channel error was a (good header, bad payload) event, since our PHY on WARP has two checksums. The idea was that packets that collide tend to start at the same time thanks to carrier sense (note: this doesn't cover the hidden node case). If they start at the same time, the headers of each packet are very likely to be corrupt. If, however, the header is successfully decoded but the higher-rate (and therefore less reliable) payload fails, then that's indicative of a collision. It worked well for my purposes. One advantage of this is that its really easy to make the call on the source of the error in real-time... it's just C-code in the proper (good header) and (bad header) callbacks.

The better way to do it is to dig deeper into the PHY to perform collision detection. I talked a little about this in my thesis (Appendix A, Page 109). I ran some proof-of-concept experiments with WARPLab, but didn't get around to building it into the real-time design. The idea here is that the hidden node case (where a collision occurs partway through a packet reception) can be identified by using EVM to detect a sudden worsening of the packet's SNR.

Offline

 

#3 2012-Aug-08 10:19:28

Julian
Member
Registered: 2010-Nov-10
Posts: 85

Re: How to distinguish the failure because of collision or bad channel

Thank you , Chris

Offline

 

Board footer