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属于可选项,比较复杂,我就懒得写那么多了,反正大家也很少用