共计 1229 个字符,预计需要花费 4 分钟才能阅读完成。
背景痛点
在无线局域网高密度部署场景下,IEEE 802.11 DCF 协议的饱和性能问题日益凸显。当大量节点竞争信道时,传统的静态参数配置(如固定竞争窗口 CW)会导致以下问题:
- 冲突概率指数级增长,吞吐量急剧下降
- 信道利用率不足 30%(理论极限约 80%)
- 公平性问题:新加入节点难以获得传输机会
理论解析
Bianchi 模型通过三维离散时间马尔可夫链刻画节点行为:
- 状态空间建模:
[(s(t), b(t), c(t)) \in [0,m] \times [0,W_i-1] \times {0,1} ] - (s(t)): 退避阶段(0 到最大重试次数 m)
- (b(t)): 退避计数器(当前阶段窗口大小(W_i=2^i CW_{min}))
-
(c(t)): 信道状态(空闲 / 繁忙)
-
稳态概率求解:
通过马尔可夫链平衡方程推导传输概率 τ:
[\tau = \frac{2(1-2p)}{(1-2p)(W+1) + pW(1-(2p)^m)} ]
其中冲突概率 p 满足:
[p = 1 – (1-\tau)^{n-1} ] -
吞吐量闭式解:
[S = \frac{P_{tr} P_s E[P]}{(1-P_{tr})\sigma + P_{tr}P_s T_s + P_{tr}(1-P_s)T_c} ] - (P_{tr}): 至少一个节点传输的概率
- (T_s/T_c): 成功传输 / 冲突持续时间
实现方案
NS- 3 仿真核心代码(节选):
// 计算传输概率 τ
double CalculateTau(uint32_t n, uint32_t W, uint32_t m) {double p = 0, tau = 2.0 / (W + 1); // 初始值
for (int iter = 0; iter < 10; iter++) { // 迭代求解
p = 1 - pow(1 - tau, n - 1);
double denom = (1 - 2*p)*(W + 1) + p*W*(1 - pow(2*p, m));
tau = 2 * (1 - 2*p) / denom;
}
return tau;
}
// 计算饱和吞吐量
double CalculateThroughput(double tau, uint32_t n, double Ts, double Tc) {double Ptr = 1 - pow(1 - tau, n);
double Ps = n * tau * pow(1 - tau, n - 1) / Ptr;
return Ptr * Ps * 1500 * 8 / (Ptr*Ps*Ts + Ptr*(1-Ps)*Tc + (1-Ptr)*9e-6);
}
性能验证
| CWmin/CWmax | 理论吞吐量(Mbps) | 仿真结果(Mbps) |
|---|---|---|
| 15/1023 | 4.12 | 4.08 |
| 31/1023 | 5.67 | 5.62 |
| 63/1023 | 6.84 | 6.79 |

避坑指南
- 物理层适配:
- 模型假设理想信道,实际需考虑误码率影响
-
建议通过 PER 测试校准冲突概率 p
-
隐藏终端处理:
- RTS/CTS 机制会改变时隙结构
-
需调整 (T_s/T_c) 的计算公式
-
动态负载适应:
- 实时监测节点数量 n
- 采用指数加权移动平均 (EWMA) 更新 τ
思考题
如何将模型扩展到支持 MCS 多速率场景?需要考虑:
– 不同速率节点的传输时间差异
– 速率选择对冲突窗口的影响
– 跨层优化策略
正文完
发表至: 无线通信技术
近两天内
