IEEE 802.11p DSRC Wireless Model
The IEEE 802.11p DSRC module implements the physical layer and Medium Access Control (MAC) layer of Dedicated Short-Range Communications (DSRC) / ITS-G5 over 10 MHz channels in the 5.9 GHz ITS band.
It provides high-fidelity parity with ns-3 v3.42 and OMNeT++ Veins 5.2.
1. Physical Layer (PHY) Models
The PHY model simulates radio wave propagation, obstacle attenuation, diffraction around occluding corners, cumulative interference, and frame error decoding.
1.1. Dual-Slope Log-Distance Path Loss
In vehicular environments, radio waves reflect off ground asphalt and roadside barriers, producing a distinct two-slope path loss curve with a characteristic breakpoint distance.
Implemented in DualSlopePathLoss:
- Carrier Frequency: \(f_c = 5.9\,\text{GHz}\).
- Reference Loss at \(d_0 = 1\,\text{m}\):
$\(PL_0 = 20 \log_{10}\left(\frac{4 \pi \cdot 1.0 \cdot f_c}{c}\right) \approx 47.85\,\text{dB}\)$
- Breakpoint Distance (\(d_{break}\)): \(120.0\,\text{m}\).
- Near-field Path Loss Exponent (\(\gamma_1\)): \(2.05\).
- Far-field Path Loss Exponent (\(\gamma_2\)): \(3.90\).
1.2. Log-Normal Shadow Fading
Log-normal shadow fading models slow signal variations caused by foliage and topography:
- Line-of-Sight (\(\text{LoS}\)): \(\sigma_{LoS} = 3.1\,\text{dB}\).
- Non-Line-of-Sight (\(\text{NLoS}\)): \(\sigma_{NLoS} = 8.3\,\text{dB}\).
1.3. Building Obstacle Penetration Attenuation
Using the building polygons parsed from SUMO or OpenStreetMap (osm.poly.xml), the engine performs 2D ray-casting:
- Calculates the total internal distance \(d_{pen}\) traversed through concrete walls.
- Attenuation: \(0.85\,\text{dB/m}\) up to a maximum cap of \(45.0\,\text{dB}\):
$\(\text{PL}_{pen} = \min(d_{pen} \times 0.85\,\text{dB/m}, 45.0\,\text{dB})\)$
1.4. ITU-R P.526 Knife-Edge Corner Diffraction
When buildings occlude the direct line of sight between two vehicles, radio signals diffract around the closest building corner.
Implemented in FresnelKnifeEdge:
- Fresnel-Kirchhoff Parameter \(\nu\):
$\(\nu = h \sqrt{\frac{2(d_1 + d_2)}{\lambda d_1 d_2}}\)$
where \(h\) is the clearance height, \(\lambda = c / f_c \approx 0.0508\,\text{m}\), and \(d_1, d_2\) are the distances from transmitter and receiver to the corner vertex. 2. Diffraction Loss \(J(\nu)\):
$\(J(\nu) = \begin{cases} 0\,\text{dB}, & \nu \le -0.78 \\ \left[ 6.9 + 20 \log_{10}\left(\sqrt{(\nu - 0.1)^2 + 1} + \nu - 0.1\right) \right]_{0}^{45\,\text{dB}}, & \nu > -0.78 \end{cases}\)$
2. Interference Tracking & Reception Decider
Implemented in CumulativeInterferenceTracker, providing strict architectural equivalence to ns-3 v3.42 InterferenceHelper:
2.1. Piecewise Constant SINR Chunking
A packet reception interval \([t_{start}, t_{end}]\) is sliced into distinct temporal chunks at every boundary where concurrent interferers start or stop transmitting:
- In each chunk \(i\), total interference power \(I_i\) is summed in linear Watts:
$\(I_i = \sum_{j \in \text{active interferers}} P_{rx, j}(t_{mid})\)$
$\(\text{SINR}_i = \frac{P_{rx, desired}}{I_i + N_0}\)$
(where thermal noise floor \(N_0 = -99.0\,\text{dBm} \approx 1.259 \times 10^{-13}\,\text{W}\)).
2.2. Receiver Capture Effect (\(\gamma_{cap} = 4.0\,\text{dB}\))
If interfering signals overlap with the desired packet:
- Evaluates the Signal-to-Interference Ratio: \(\text{SIR}_i = \frac{P_{rx, desired}}{I_i}\).
- Destructive collision: If \(\text{SIR}_i < 4.0\,\text{dB}\) and \(\text{SINR}_i < 6.0\,\text{dB}\), capture fails and the packet is lost (\(\text{PSR} = 0\)).
- Successful capture: If \(\text{SIR}_i \ge 4.0\,\text{dB}\), the receiver locks onto the desired signal despite the simultaneous interferer.
2.3. Analytical Packet Error Rate (PER) Curve
For each chunk, the PER for IEEE 802.11p OFDM 6 Mbps (QPSK 1/2 with convolutional coding) is computed using the ns-3 NistErrorRateModel logistic curve:
The total Packet Success Rate is the product across all chunks:
3. MAC Layer & EDCA Contention
Implemented in EdcaChannelAccess according to IEEE 802.11-2016 / 802.11p:
3.1. 4 Access Categories (EDCA ACs)
| Access Category | Constant | Traffic Type | \(AIFSN\) | \(CW_{min}\) | \(CW_{max}\) |
|---|---|---|---|---|---|
VoiceSafety |
AC_VO (0) |
Emergency / High-Priority Safety (DENM) | 2 | 3 | 7 |
Video |
AC_VI (1) |
High-throughput video / sensor sharing | 3 | 7 | 15 |
BestEffort |
AC_BE (2) |
Standard periodic Cooperative Awareness (CAM) | 6 | 15 | 1023 |
Background |
AC_BK (3) |
Non-safety background telemetry | 9 | 15 | 1023 |
3.2. Timing Parameters
- Slot Time (\(\sigma\)): \(13\,\mu\text{s}\).
- SIFS: \(32\,\mu\text{s}\).
- AIFS: \(AIFS[AC] = SIFS + AIFSN[AC] \times \sigma\).
- Backoff Delay: \(AIFS[AC] + \text{UniformRandom}(0, CW) \times \sigma\).
- Air Duration: \(40\,\mu\text{s} + \lceil(16 + 8 L_{bytes} + 6)/24\rceil \times 8\,\mu\text{s}\) at 6 Mbps.
3.3. Internal Contention Resolution
When multiple queues within the same node have frames ready at the same time:
The winning queue transmits. Subordinate colliding queues double their contention window (\(CW \leftarrow \min(2 \times CW + 1, CW_{max})\)) and re-enter backoff.
3.4. Channel Monitor (CBR) & DCC
ChannelMonitor calculates the true union of channel busy intervals over a sliding \(100\,\text{ms}\) window:
The measured CBR is fed every 100 ms into Decentralized Congestion Control (DCC Reactive FSM or LIMERIC) to regulate CAM generation intervals (\(T_{off}\)).