无线网卡显示某个标称速率,不等于应用能按该速率传输。发射功率、路径损耗、噪声、调制编码、重传和共享介质都会改变结果。最先需要分开的,是理论模型、协议协商值和设备实测值。

第 01 篇建立发送与传播成本,第 05 篇讨论 Wi-Fi 共享信道。本篇手算一个 5 GHz 链路预算和 Shannon 容量上界,并说明为什么它们不能代替真实无线观测。

编码把可靠性与速率绑定

物理层把比特映射为符号,并可加入纠错冗余。更高阶调制每个符号携带更多比特,但通常要求更好的信噪比;更强编码加入更多冗余,能修复一部分错误,却降低有效码率。

误码率必须连同调制、编码、信道模型、接收机和测量区间报告。仅写“SNR 为 20 dB,所以不会丢包”没有依据。MAC 重传还会把部分物理错误隐藏在应用吞吐之后。

Shannon 公式 C = B log2(1 + S/N) 给出指定带宽和信噪比下的理想信道容量上界。它不包含 802.11 前导码、导频、保护间隔、竞争退避、聚合、重传或实现损耗,因此不能直接当作 Wi-Fi PHY 速率,更不能当作应用吞吐。

模式提炼:从功率预算到协议结果逐层收窄

接收功率 → 噪声功率 → SNR → 理论上界 → 可选 MCS → 实际吞吐

每个箭头都需要额外条件。只计算链路预算,最多得到一个理想输入;设备选择了某个 MCS,也不证明业务没有排队或重传。

一个 5 GHz 自由空间案例

固定输入为:频率 5000 MHz,距离 0.01 km,发射功率 17 dBm,两端天线增益各 2 dBi,不计线缆等其他损耗。ITU-R P.525 的自由空间基本传输损耗公式按这些单位写为:

FSPL(dB) = 32.44 + 20 log10(distance_km) + 20 log10(frequency_MHz)

计算得到路径损耗约 66.42 dB,接收功率约 17 + 2 + 2 - 66.42 = -45.42 dBm。这个模型假设自由空间和远场传播,没有墙体、反射、遮挡、多径、极化失配或人体影响。

噪声模型采用 -174 dBm/Hz 的热噪声密度近似、20 MHz 带宽和 7 dB 接收机噪声系数,噪声功率约为 -93.99 dBm,得到 SNR 约 48.57 dB。代入 Shannon 公式,理论上界约 322.7 Mbit/s。

高 SNR 上界并不保证相应 Wi-Fi 速率。设备支持的 802.11 修订、空间流数、信道宽度、监管域、干扰、实现选择和共享时长都未进入算式。

漫游改变的是接入点,不是上述公式

漫游通常涉及客户端扫描候选 BSS、认证或重新关联,并更新网络侧的转发状态。何时离开当前 AP、如何给候选排序,可能由客户端与实现策略决定;不能仅用一个 RSSI 阈值描述所有设备。

链路预算可以解释距离和损耗怎样影响候选信号,却不能证明切换时延、丢包或会话连续性。真实漫游案例需要至少保存客户端事件、AP 侧关联记录、信道与时间戳,并说明 802.11k/v/r 等能力是否实际协商。

手算脚本

link_budget.py 读取固定输入,复算自由空间损耗、接收功率、噪声功率、SNR 和 Shannon 上界。

1
2
python3 source/_posts/2026-09-24-计算机网络E01-物理层与真实无线/link_budget.py --help
python3 source/_posts/2026-09-24-计算机网络E01-物理层与真实无线/link_budget.py

素材包括链路预算输入、手算脚本、计算结果、资料与运行记录和审阅记录。

条件、限制和反例

自由空间模型在室内多径和遮挡环境中可能严重偏离实际值。距离增加也不保证功率按单一路径平滑下降,位置变化可能造成衰落起伏。

接收功率高不等于干扰低。噪声底估算没有包含同频发送者、非 Wi-Fi 干扰和接收机非线性。

标称 PHY 速率高不等于应用吞吐高。半双工竞争、协议开销、重传和上层瓶颈都会减少有效吞吐。

练习

练习一:保持其他输入不变,把距离从 10 m 改为 20 m,计算自由空间损耗增加多少 dB,并说明为什么真实室内结果不必严格等于该差值。

练习二:把带宽从 20 MHz 改为 40 MHz,同时假设接收信号功率不变。计算噪声功率和 Shannon 上界,解释为何带宽翻倍不保证应用吞吐翻倍。

模式速查表

数值 来源 不能直接推出
路径损耗 传播模型与输入 真实室内接收功率
SNR 信号与噪声口径 固定 MCS 或零误码
Shannon 容量 理想信道上界 802.11 PHY 速率
PHY 速率 设备协商 应用吞吐
漫游事件 客户端/AP 记录 所有终端采用同一阈值

官方一手参考资料

验证边界

已验证:Python 3 标准库按固定输入复算自由空间链路预算、热噪声近似与 Shannon 容量上界,验证类型为 HAND_CALC。

NOT_RUN:当前环境没有无线网卡、可控 AP、射频仪表或隔离场地,未测 RSSI、噪声、MCS、误码、吞吐和漫游。模型结果与设备观测严格分开,不作为任何实际 WLAN 的容量结论。