Simulating the 802.11a PHY Model: Making It AccurateJeongkeun Lee, Sung-Ju Lee, HP Labs Jiho Ryu, Taekyoung Kwon, Seoul National University
Physical Layer Capture
802.11 Frame Receive Procedure
• If SINR(2nd) > CAPTURE_Thres• Second Frame Capture (SFC) : drops the 1st frame’s preamble and tries to detect the 2nd frame’s preamble
• Otherwise, • First Frame Capture (FFC) : continue to detect the 1st frame’s preamble
•Un-captured frame signal increases the interference power
Net TCP Throughput Performance
Carrier Sense
Simulator Model Revision
• Preamble Detection (PD)
• PHY holds the CS busy for the duration indicated in the PHY header
• Energy Detection (ED)
• If the preamble portion was missed, the PHY holds the CS busy for any signal above CSThresh
Preamble PHY Header MAC frame (variable size) MAC CRC
1)Detects and measure signal energy
2)Timing synchronization
Frame format:
Receiver actions:
1)Read bitrate, frame length info etc.
2)Parity bit check
3)Go into Receiving state (Lock on)
1)Read payload 1)Frame error check
• Three steps for a successful frame reception
1) Preamble detection 2) PHY header reception 3) MAC CRC check
• Preamble Capture
Second FramePreamble
First FramePreamble
• Receiver has already locked on the 1st frame (in Receiving state)
• If Message-In-Message (MIM) mode is implemented and SINR(2nd) > CAPTURE_Thres
• Unlock the 1st frame and begin to re-synchronize with the 2nd frame (SFC)
• W/O MIM mode, MAC frame capture is not possible.
• MIM mode implementation is chipset-dependent• Atheros chipset supports MIM mode
• Prism chipset does not
• MAC Frame Capture
time Second FramePreamble
First FramePreamble
11b 11g 11a
CS mode PD, ED, or PD+ED
PD+ED PD+ED
CSThresh
= RX_sensitivity
= RX_sensitivity
= RX_sensitivity + 20dB (standard)= RX_sensitivity + 10dB (in Atheros)
PHY3: PHY2 + MAC Frame Capture
PHY1: PHY0 + SINR-based preamble detection
PHY2: PHY1 + Preamble Capture
(CSThres=RX_sensetivity)
CSThres = RX_sense + 20dB
Ex) A NEW frame arrives, RX_sens < rss(NEW) < RX_sens+20dB, sinr(NEW) < CAPTURE_Thres - In real systems with preamble detection and high CSThres (PHY1), PD and ED fail -> Stay in idle state - In original Qualnet model (PHY0), the receiver goes into the receiving state but it will fail the CRC check
Conclusion
PHY0: Original Qualnet 3.9.5
• The aggregated TCP throughput can increase up to 430% with the revised PHY model• Extended version will be presented at ACM MSWiM 2008
Motivation
• Measurement-based testbed studies show operations of frame reception, capture effect and carrier sensing in real IEEE 802.11 systems differ from those of popular research simulators
• Different chipset vendors implement physical layer capture differently
• Revise the 802.11a PHY model simulation model • SINR-based Preamble Detection • Second Frame Capture : preamble capture + MAC frame capture• Carrier Sense threshold
• Observe the effects of the revised models on network performance
• Selected References
[Wintech07Lee] J. Lee, W. Kim, S. J. Lee, D. Jo, J. Ryu, T. Kwon, and Y. Choi. “An Experimental Study on the Capture Effect in 802.11a Networks,” ACM WiNTECH, Montreal, Canada, Sept. 2007.
[ICNP04Kochut] A. Kochut, A. Vasan, A. Shankar, and A. Agrawala. “Sniffing out the correct physical layer capture model in 802.11b,” IEEE ICNP, Berlin, Germany, Oct. 2004.
rss(NEW) >
RX_Sensitivity
Lock onto the NEW frame;Receiver state ← receiving;NEW frame becomes RCV;
Frame error?
Preamble Detection based on
sinr(NEW)
Revised Models sinr(NEW) >
CAPTURE_Thres
NEW frame arrival time is within
RCV frame’s preamble time
Drop the RCV frame;int_power += rss(RCV);
PHY2(Preamble Capture)
Another NEW frame arrives in the middle of RCV frame reception
PHY0, PHY1(No 2nd Frame
Capture)
RCV Frame reception success
YES
NO
YES
NO
YES
Discard the NEW frame; int_power += rss(NEW);
NO
NO
YES
YES
A NEW frame arrives
NO
NO
RCV Frame reception failure
YES
RCV frame ends;Compute frame error based on sinr(RCV) and bitrate;
PHY0(CurrentModel)
PHY3(Preamble + Mac Frame Capture)
Discard the NEW;int_power += rss(NEW);
Receiver state ← sensing;
YES
Receiver state ← idle;
NO int_power>
CSThres
1st
2nd
1st
2nd
PHY1: 350% increase over PHY0
Top Related