ble cs技术(三):信道与跳频
信道与信道选择
信道划分
在BLE中,信道资源被划分了40个,每个宽2M。而在CS中,信道被划分为78个(从2402-2480),其中有六个用于避开常见的广播信道而不允许使用,也就是能用的只有72个。具体划分参考:
BLUETOOTH CORE SPECIFICATION Version 6.0 | Vol 6, Part H 1CHANNEL SOUNDING PHYSICAL CHANNELS
信道过滤
Bluetooth Channel Sounding 信道索引过滤图由链路层过程维护,该过程称为Channel Sounding 信道图更新过程,它允许发起方或反射方根据其对本地信道条件的评估,通知对方使用或避免使用哪些信道。任何信道选择算法都不会选择被排除的信道。
过滤确认好的信道将整理成为一个一位数组,用于后续跳频使用。例如
ChannelArray[10]={1,3,5,7,9,11,13,15,17,19},指示可用信道为1-20中的单数信道。
跳频
Bluetooth Channel Sounding 中定义了一套信道选择规则(CSA)。它们统称为 CSA #3,单独称为 CSA #3a、CSA #3b 和 CSA #3c。
- CSA #3a 仅用于选择在mode 0 step中使用的通道。
- CSA #3b 和 CSA #3c 都设计用于非mode 0 step,但在Bluetooth Channel Sounding 程序实例中只能使用其中之一。
洗牌算法cr1
在介绍三种跳频算法前需要先说明一个基础的洗牌算法cr1,三种跳频算法都是基于该洗牌算法进行衍生。
CSA #3a
3a算法用于mode 0的跳频,公式如下:
Mode0ShuffledChannelArray = cr1( length_of( filteredChannelArray ),filteredChannelArray )
其中length_of为取输入的信道数组长度
CSA #3b
NonMode0ShuffledChannelArray = cr1( length_of( filteredChannelArray ),filteredChannelArray )
3a和3b是一样的,区别只是mode 0和非模式0时候使用不同的随机数
CSA #3c
3c属于可选项,比较复杂,我就懒得写那么多了,反正大家也很少用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!