3. 物理层与射频基础:2.4GHz ISM频段、跳频技术、调制方式(GFSK)、发射功率与接收灵敏度、链路预算计算

各位同学,咱们今天聊点实在的。蓝牙这东西,说到底就是个无线通信。无线通信靠什么?靠电磁波。而蓝牙用的,就是那个大名鼎鼎的 2.4GHz ISM 频段。

ISM 是 Industrial, Scientific, Medical 的缩写。说白了,就是工业、科学和医疗用的免费频段。你不用申请牌照,买颗芯片就能用。听起来很爽对吧?但代价就是——太挤了。

我做过一个智能家居网关的项目,调试的时候发现蓝牙老是断连。拿频谱仪一看,好家伙,Wi-Fi 信道 6 和 11 上两个大胖子占着位置,蓝牙的信号被压得死死的。这就是 2.4GHz 频段的日常。

2.4GHz ISM 频段:拥挤的免费高速公路

这个频段范围是 2.400 GHz 到 2.4835 GHz,总共 83.5 MHz 的带宽。蓝牙把它分成了 40 个信道,每个信道 2 MHz。

你想想看,Wi-Fi 一个信道就占 20 MHz 甚至 40 MHz。蓝牙这小身板,怎么跟人家抢?

嗯,这里就要靠跳频技术了。

跳频技术:打一枪换一个地方

蓝牙的跳频,说白了就是不让别人抓住你的规律。它会在 40 个信道之间快速切换,每秒跳 1600 次。每次只在一个信道上待 625 微秒,然后立刻跳到下一个。

为什么要这么做?两个原因:

  • 抗干扰:某个信道被 Wi-Fi 占了?没关系,我跳走就是了。丢一个包,下一个包换个信道重传。
  • 抗多径衰落:室内环境信号反射严重,某些频率点会形成死区。跳频能避开这些坑。

我曾经遇到过一个客户,说他们的蓝牙耳机在会议室里总是断断续续。我过去一看,会议室天花板上装了 4 个 Wi-Fi AP。我建议他们把蓝牙的跳频算法从基本模式改成自适应跳频(AFH),把被 Wi-Fi 占用的信道标记为“坏信道”,跳频序列自动避开它们。问题立刻解决了。

避坑指南:自适应跳频(AFH)是 BLE 4.0 引入的特性。如果你的设备工作在 Wi-Fi 密集环境,务必确认芯片支持 AFH 并正确使能。我曾经见过一个产品,芯片明明支持 AFH,但固件里没开这个功能,结果在商场里根本连不上。

下面这张图展示了蓝牙跳频的基本流程:

蓝牙跳频通信流程 主设备 (Master) 从设备 (Slave) 40 个物理信道 (0 ~ 39, 每个 2MHz) 跳频序列示例(每秒 1600 跳) ch 7 → ch 23 → ch 15 → ch 31 → ch 2 → ch 38 → ... 关键说明 • 主从设备使用相同的跳频序列,保持同步 • AFH 会标记被 Wi-Fi 占用的信道为“坏信道”,跳频时自动跳过 • 每个时隙 625 μs,主设备在偶数时隙发送,从设备在奇数时隙回复

调制方式:GFSK 是怎么工作的?

蓝牙物理层用的调制方式是 GFSK,全称是 Gaussian Frequency Shift Keying。名字挺长,但原理不复杂。

FSK 就是用两个不同的频率代表 0 和 1。比如频率 f1 代表 1,频率 f2 代表 0。GFSK 就是在 FSK 前面加了一个高斯滤波器,把信号的边沿变平滑。

为什么要加这个滤波器?

  • 减少带宽占用:信号边沿变缓了,高频分量就少了,占用的频谱更窄。
  • 降低邻道干扰:隔壁信道的设备不会被你吵到。

BLE 的 GFSK 调制指数在 0.45 到 0.55 之间。调制指数决定了两个频率的间隔。间隔太小,接收端不好区分 0 和 1;间隔太大,占用的带宽就宽了。0.5 是个折中值。

关键参数:BLE 的符号速率是 1 Msym/s(LE 1M PHY),也就是每秒传 100 万个符号。每个符号代表 1 个比特。所以原始数据速率就是 1 Mbps。

发射功率与接收灵敏度

这两个参数决定了你的蓝牙能传多远。

发射功率:BLE 标准规定最大发射功率是 +10 dBm(10 毫瓦)。实际产品通常用 0 dBm(1 毫瓦)或 +4 dBm(2.5 毫瓦)。

接收灵敏度:BLE 标准要求接收机能检测到 -70 dBm 的信号(误码率低于 0.1%)。好的芯片能做到 -96 dBm 甚至 -100 dBm。

我做过一个工业网关的项目,要求覆盖半径 100 米。我算了一下,0 dBm 发射功率、-96 dBm 接收灵敏度,在自由空间传播下,理论距离是 200 米左右。但实际测试只有 50 米。为什么?因为厂房里有金属货架、电机干扰、混凝土墙。这就是理论和现实的差距。

参数 BLE 标准要求 典型芯片性能 说明
最大发射功率 +10 dBm 0 ~ +8 dBm 功率越大,功耗越高
接收灵敏度 ≤ -70 dBm -90 ~ -100 dBm 数值越低,接收能力越强
链路预算 ≥ 70 dB 90 ~ 110 dB 发射功率 + 接收灵敏度绝对值

链路预算计算:到底能传多远?

链路预算就是算一下信号从发射机到接收机,一路上会损失多少能量。

公式很简单:

链路预算 (dB) = 发射功率 (dBm) + 发射天线增益 (dBi) - 路径损耗 (dB) + 接收天线增益 (dBi) + 接收灵敏度 (dBm)

实际项目中,天线增益通常按 0 dBi 估算(因为蓝牙天线大多是全向的,增益不高)。所以公式简化为:

链路预算 (dB) = 发射功率 (dBm) - 路径损耗 (dB) + 接收灵敏度 (dBm)

路径损耗用自由空间传播模型估算:

路径损耗 (dB) = 20 × log10(距离) + 20 × log10(频率) - 27.55

其中距离单位是米,频率单位是 MHz。对于 2.4 GHz,公式变成:

路径损耗 (dB) = 20 × log10(距离) + 40.05

举个例子:

  • 发射功率:0 dBm
  • 接收灵敏度:-96 dBm
  • 链路预算:0 - (-96) = 96 dB
  • 路径损耗不能超过 96 dB
  • 代入公式:96 = 20 × log10(距离) + 40.05
  • 解得:log10(距离) = 2.7975,距离 ≈ 627 米

这是自由空间的理论值。实际环境中,室内有墙壁、家具、人体遮挡,路径损耗会大很多。一般室内环境按 30~40 米估算比较靠谱。

注意:链路预算计算只是估算,不能作为最终设计依据。实际项目中一定要做现场测试。我曾经有一个项目,理论计算能传 100 米,实际在工厂里只有 20 米。后来发现是金属货架造成了多径衰落,信号在接收端互相抵消了。

实际项目中的射频设计要点

做蓝牙网关开发,射频部分有几个坑一定要避开:

  1. 天线匹配:天线和射频芯片之间需要做阻抗匹配,通常是 50 欧姆。不匹配会导致反射,发射功率出不去,接收信号进不来。
  2. PCB 布局:射频走线要短、要直,避免直角拐弯。射频电路周围不要走数字信号线,尤其是时钟线。
  3. 电源去耦:射频电路对电源噪声很敏感。PA(功率放大器)工作时会从电源吸取大电流,如果去耦电容不够,电源电压会跌落,导致发射功率不稳定。
  4. 屏蔽:如果网关里有 Wi-Fi 模块,一定要做好屏蔽。Wi-Fi 的发射功率比蓝牙大得多,会直接把蓝牙接收机堵死。

我见过最离谱的一个案例,是有人把蓝牙天线直接放在金属外壳里面。信号根本出不去,通信距离不到 1 米。后来在外壳上开了一个槽,把天线露出来,距离立刻到了 30 米。

好了,物理层和射频基础就聊到这里。这些是蓝牙通信的底层基石,后面讲协议栈的时候,你会反复用到这些概念。