当前位置: 首页 > ai >正文

蓝牙BLE协议之——PHY层

注:本系列所有文章基于蓝牙6.0协议栈核心规范文档,由SIG规定 

目录

一、介绍

二、PHY物理信道与跳频

40个RF信道

跳频算法

三、PHY类型

a. FEC编码(使用一个卷积编码器)

b. Pattern Mapper(模式映射器)

四、调制方式


一、介绍

PHY(Physical Layer,物理层)是BLE协议栈的最底层,负责物理信号的调制、发射与接收,如下图所示

BLE PHY层主要完成以下任务:

  • 调制与解调:将比特流转换为无线电信号,或将无线电信号还原为比特流。

  • 频率控制:基于40个RF信道(2.4GHz ISM免费频段),实现跳频。

  • 发射功率控制:决定发射信号的强度。

  • 接收灵敏度支持:决定接收信号的最低强度。

  • 接入地址识别:用于同步与识别连接。

二、PHY物理信道与跳频

40个RF信道

每个信道2MHZ

广播信道(上图黄色部分):2402Mhz、2426Mhz、2480Mhz

数据信道(上图蓝色部分):除了广播信道之外的37个信道

跳频算法

跳频算法 CSA #1就是基于这37个数据信道,先检测不拥挤的信道,做标记整出一张信道MAP,然后再约定一个在MAP中自增的一个Hop值,典型的算法是F(n+1) = [F(n) + hop] % 37

自适应跳频 CSA #2则在基础跳频上加了检测这张MAP上的信道,检测到某个信道拥堵了就改一下那个信道,映射到空闲信道上去

名称全称版本特点
Basic Channel Selection Algorithm #1CSA #1Bluetooth 4.0~4.1简单、固定算法
Channel Selection Algorithm #2CSA #2Bluetooth 5.0起更复杂、更抗干扰、更安全

三、PHY类型

BLE PHY有三种主要类型:

PHY类型数据速率调制方式应用场景
LE 1M PHY1 MbpsGFSK默认PHY,用于大多数通信场景
LE 2M PHY2 MbpsGFSK

更高速的通信(功耗更低,时延更短)

但是通讯距离变短

LE Coded PHY125 kbps / 500 kbpsGFSK + FEC(前向纠错)长距离通信,可靠性更高

实际上 LE Coded PHY也是基于1M phy只是引入了FEC机制

使用1:2 或 1:8 的编码率,分别称为:

  • S=2:每1个比特编码成2个比特(速率500 kbps)

  • S=8:每1个比特编码成8个比特(速率125 kbps)

编码使用以下两步处理:

a. FEC编码(使用一个卷积编码器)
  • 输入比特通过卷积编码器产生多个冗余比特

  • 增强抗干扰能力

b. Pattern Mapper(模式映射器)

将编码后比特映射成特定的比特模式以增强解码鲁棒性,例如:

  • 0 → 0000

  • 1 → 1111

四、调制方式

BLE使用的调制方式是GFSK(高斯频移键控)

  • 将“0”或“1”编码为不同频偏的射频信号

  • 高斯滤波器用于平滑频谱,减少带宽占用

  • 所有BLE PHY类型都基于GFSK,但参数不同(如频偏)

不同PHY主要在以下参数上有所不同:

参数含义LE 1MLE 2MLE Coded
频偏“0”和“1”之间的频率差±250 kHz±500 kHz±250 kHz
符号率每秒传输的比特数1 Msps2 Msps1 Msps
高斯滤波器BT值控制频谱宽度和平滑度0.50.50.5

用频偏表示‘0’和‘1’:

比特频偏(相对载波)实际意义
0-Δf(负频偏)信号向低频偏移
1+Δf(正频偏)信号向高频偏移

 不同PHY的频偏:

PHYΔf
LE 1M±250 kHz
LE 2M±500 kHz
LE Coded±250 kHz

总结1Mphy下的各种频偏以及漂移误差容忍

项目说明
标称调制频偏±250 kHz理想 GFSK 频移,表示‘0’‘1’
可接受偏移误差±80 kHz允许你不是刚好±250
最小要求≥ 185 kHzBLE 1M PHY最低标准
中心频率偏差±150 kHz可忽略调制时的影响(接收机通过同步和锁相环可以补偿掉)
漂移(包内)≤ 50 kHz 总幅度,≤ 400 Hz/μs 速率为了保证接收机的锁相环(PLL)能跟得上频率的变化,不然同步会丢失
http://www.xdnf.cn/news/8022.html

相关文章:

  • 力扣-长度最小的子数组
  • vscode包含工程文件路径
  • uni-app(3):互相引用
  • GEE数据下载问题记录
  • 第十节第六部分:常见API:DateTimeFormatter、Period、Duration
  • 数据仓库工具箱第三版——读书笔记(未完)
  • IO原理与高性能网络编程深度剖析
  • Java 大视界 -- 基于 Java 的大数据分布式存储在视频会议系统海量视频数据存储与回放中的应用(263)
  • 【Java】—— 常见的排序算法
  • PHP7内核剖析 学习笔记 第七章 面向对象
  • 在uni-app中修改上一个页面的值,可以通过多种方式实现,这里提供几种常见的方法:
  • CVE-2024-42323
  • FPGA:CLB资源以及Verilog编码面积优化技巧
  • Opencv---RotatedRect
  • RPA在持续集成和持续部署中的角色是什么?
  • 力扣HOT100之二叉树:124. 二叉树中的最大路径和
  • 野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(四)安装RKNN Toolkit2
  • 服务架构演变过程
  • 腾讯音乐一面
  • PyTorch性能调优实战:从算子优化到分布式训练全攻略
  • 【前端】每日一道面试题4:什么是CSS容器查询(Container Queries)?与媒体查询有何区别?
  • 【MySQL】06.MySQL表的增删查改
  • 元宇宙赛道新势力:芯谷产业园创新业务如何重构产业格局
  • docker命令
  • 前端流行框架Vue3教程:22. 组件生命周期
  • 黑马k8s(十二)
  • 跨境支付风控失效?用代理 IP 构建「地域 - 设备 - 行为」三维防护网
  • 固定资产全链路数字化:从采购到报废的智能管理方案
  • Day 0015:Metasploit 基础解析
  • Java 海康录像机通过sdk下载的视频无法在线预览问题