无线的核心权衡是「频率换距离」:频率越高,带宽越大、传得越近。 自由空间损耗公式里频率和距离都是平方项,所以各有一个 20 dB 的斜率。
3.3 讲完了有线,3.4 进入无线。 这一节先把「有哪些无线技术、它们各自站在权衡线的哪一点」铺开。
一、一条权衡线
所有无线技术都在同一条线上选位置:
| 技术 | 频段 | 距离 | 速率 |
|---|---|---|---|
| 蓝牙 | 2.4 GHz | 10 m | 1~3 Mbps |
| WiFi | 2.4/5 GHz | 50~100 m | 百 Mbps 级 |
| ZigBee | 2.4 GHz | 10~100 m | 250 kbps |
| WiMAX | 2~11 GHz | 几公里 | 几十 Mbps |
| 蜂窝(4G/5G) | 0.7~3.5 GHz | 几公里 | 百 Mbps 级 |
第一行和第四行用的是同一个频段,距离差三个数量级: 所以「频率决定距离」这句话要加个前提——「同样的发射功率和天线」。 WiMAX 的基站有几十瓦功率和高增益天线,蓝牙只有毫瓦级。 第二行和第三行同为 2.4 GHz、距离相近,速率差四百倍: 因为 ZigBee 要的是「一颗电池用两年」,WiFi 要的是「看视频不卡」。 所以「同一频段」不代表「同一类技术」——设计目标不同,取舍就完全不同。
二、损耗怎么算
自由空间损耗公式:
损耗(dB) = 20·lg(d) + 20·lg(f) − 147.55(d 用米、f 用赫兹)
| 频段 | 1 米 | 10 米 | 100 米 |
|---|---|---|---|
| 2.4 GHz | 40.1 dB | 60.1 dB | 80.1 dB |
| 5 GHz | 46.4 dB | 66.4 dB | 86.4 dB |
| 60 GHz | 68.0 dB | 88.0 dB | 108.0 dB |
每一行内,距离翻 10 倍损耗加 20 dB;同一列内,频率翻 10 倍损耗也加 20 dB。 两个 20 都来自公式里的平方项——所以「翻十倍」这个动作在这个公式里永远是「加 20 dB」。 第三行那个 60 GHz 是毫米波:同样功率下只能传几十米,还怕一张纸挡住。 但它换来的是巨大的可用带宽(57~71 GHz 有好几个 GHz 连续频段)。 所以 60 GHz 只做「同一房间内的高速短距」,比如无线投屏。
三、公式之外的两个现实
真实环境比公式残酷得多:
| 因素 | 典型衰减 | 说明 |
|---|---|---|
| 穿一堵承重墙 | 10~20 dB | 等于把距离除以 3~10 |
| 人体遮挡 | 3~10 dB | 所以「站在路由器前面」真的有用 |
| 同频干扰 | 无法预算 | 邻居的路由器不在公式里 |
第一行是最容易被低估的:20 dB 折回距离就是「除以 10」, 所以「标称 100 米」的路由器,隔一堵墙就只剩十几米。 这不是虚标,是「标称值按自由空间算」。 第三行是「算不出来的那部分」:公式假设「只有你和基站」,真实环境里还有几十个邻居。 所以无线网络的性能,「住在哪里」比「买什么设备」影响更大。 这也是为什么「同款路由器在两家表现完全不同」。 所以看无线指标要养成一个习惯:先问「这个数是在什么环境下测的」, 再看数值——「实验室 1000 Mbps」和「你家客厅 1000 Mbps」是两回事。
四、动手 Demo:无线通信的种类,本质是「频率换距离」
套自由空间损耗公式,算三个频段在 1/10/100 米上的损耗。 再按 100 dB 预算反推「理论能传多远」。
import math
def fspl(f_mhz, d_m):
return 20 * math.log10(d_m) + 20 * math.log10(f_mhz * 1e6) - 147.55
for name, f in (('2.4 GHz', 2400), ('5 GHz', 5000), ('60 GHz', 60000)):
print('%-9s 1m %.1f dB 10m %.1f dB 100m %.1f dB'
% (name, fspl(f, 1), fspl(f, 10), fspl(f, 100)))
for name, f in (('2.4 GHz', 2400), ('5 GHz', 5000), ('60 GHz', 60000)):
d = 10 ** ((100.0 - 20 * math.log10(f * 1e6) + 147.55) / 20.0)
print('%-9s 100 dB 预算下理论 %.0f 米' % (name, d))
实跑输出:
--------------------------------------------------------------------
无线通信的种类,本质是「频率换距离」
--------------------------------------------------------------------
**无线没有「线」这个约束,换成了另一个约束:频率越高,传得越近。**这条规律可以算——
自由空间损耗的公式里,频率是平方项,距离也是平方项。
公式:`损耗 = 20·lg(d) + 20·lg(f) − 147.55`(d 用米,f 用赫兹,结果单位 dB)。
频段 1 米损耗 dB 10 米损耗 dB 100 米损耗 dB
-------------------------------------------------------------------------
2.4 GHz(WiFi/蓝牙) 40.1 60.1 80.1
5 GHz(WiFi) 46.4 66.4 86.4
60 GHz(毫米波) 68.0 88.0 108.0
**同一频段内,距离每翻 10 倍,损耗多 20 dB**;**同一距离上,频率每翻 10 倍,损耗也多 20 dB。**
**这两个 20 都来自公式里的平方项,不是巧合。**
**把这张表翻译成「能传多远」**:
频段 同样预算下的理论距离
---------------------------------
2.4 GHz 994 米
5 GHz 477 米
60 GHz 40 米
**第三行那个数字小得离谱,这就是毫米波的处境**:**同样功率下只能传几十米,还怕一张纸挡住。**
**所以 60 GHz 只能做「同一房间内的高速短距」**(比如无线投屏),
**它换来的是巨大的带宽——频率高,可用频段就宽。**
**但上面这两行数字要打个大折扣再看**:
**算的是「自由空间」——没有墙、没有家具、没有邻居的理想环境。**
**真实室内每穿过一堵承重墙,信号要掉 10~20 dB。**
**20 dB 折回距离,等于把距离再除以 10。**
**所以 2.4 GHz 那个九百多米,落到家里就是几十米**——
**不是算法错了,是「自由空间」这个前提不成立。**
**这就是无线通信的第一条权衡:频率越高,带宽越大、距离越短**。
**下面几节的 WiFi、蓝牙、WiMAX、ZigBee,全部是在这条权衡线上选不同的点。**
表里每一行都是「加 20 dB 距离翻十倍」:2.4 GHz 从 1 米到 100 米,损耗从 40.1 到 80.1。 频率那一栏也一样:2.4 到 60 GHz 是 25 倍,损耗多了 28 dB。 第二张表的「994 米」看着离谱,但它是照公式算出来的:自由空间、100 dB 预算、没有墙。 真实室内每穿一堵墙掉 10~20 dB,20 dB 折回距离就是除以 10, 所以实际是几十米——不是算错了,是「自由空间」这个前提不成立。 60 GHz 只有 40 米,这个数决定了它的用途:它只能做「同一房间内」的高速链路, 比如 4K 无线投屏——距离短没关系,反正就在一个屋子里。 而它换来的带宽是 2.4 GHz 的几十倍。
30 秒实验
- 把预算改成 110 dB,看 2.4 GHz 的理论距离变成多少。
- 算一下:60 GHz 的损耗比 2.4 GHz 多多少 dB?折回距离是几倍?
- 想一下:为什么 5 GHz 的穿墙能力比 2.4 GHz 差?
常见误区
- 以为「频率越高传得越远」。 正好相反,频率越高损耗越大、距离越短。
- 以为「标称 100 米」是室内实测值。 是自由空间的理论值,穿墙要打折。
- 以为「同频段的技术差不多」。 蓝牙和 WiFi 都在 2.4 GHz,但设计目标完全不同。
自测三问(点开对答案)
1. 无线通信的核心权衡是什么? —— **频率换距离**:频率越高,可用带宽越大,但传得越近。 2. 距离翻十倍,损耗增加多少?为什么? —— **20 dB。** 因为公式里距离是对数平方项,lg(10d) − lg(d) = 1,乘 20 就是 20 dB。 3. 为什么标称 100 米的路由器,隔一堵墙就只剩十几米? —— **因为标称值按自由空间算。** 穿一堵承重墙要掉 10~20 dB,20 dB 折回距离就是除以 10。下一节具体看 WiFi:它和以太网的规矩差在哪。
- ☐ (本节完,下一节 3.4.2 IEEE802.11)