蓝牙BLE S=8(125K)和S=2(500K)关于Delta F1和Delta F2的测试探讨

起因:同事问起来为啥S=8和S=2需要用数据包类型为全1的方式进行测试时才能读取到Delta F1或者Delta F2;

此处对自己分析的进行了一些记录,主要参考蓝牙标准文档:RFPHY.TS.p20ed2 和 Core_v5.4;

1、首先了解Delta F1和DeltaF2的计算方式,见下图(图中为蓝牙标准文档RFPHY.TS.p20ed2内容)

大致就是说Delta F1需要固定数据为00001111才能计算,Delta F2需要固定数据为10101010,具体原因请自行了解蓝牙BLE的调制方式(GFSK);

2、然后了解一下S=8和S=2是做了什么

可以理解为通过FEC编码方式将数据改变了,但是其实际的传输方式还是采用的1M LE的方式。
需要理解的是,在BLE CODED模式下,首先会将蓝牙所有的数据使用FEC进行编码,这时原有的1个bit就变成2个bit,可以参照下图 CODED举例;而S=2其实就是进行CODED后保持不变,所以其对应的速率变成了500K,S=8则会在CODED的基础上将0变化为0011,将1变化为1100,这也就是为什么S=8速率为125k,因为1bit输入数据需要8bit输出来表示;

下图是BLE CODED的方式和部分数据

编码计算图

CODED举例

S=2/8对应CODED码

3、最后其实结合起来看

如果需要测试Delta F1和Delta F2,就需要获取到00001111及10101010这样序列的数据才行。

S=8的逻辑很简单,它根本就不能出来1010这样的,因为其最基本的组合都是0011这样,所以对应S=8只能测试Delta F1。

那么S=2呢?参考下面的图,当发送的数据bit全为1时,在进行3次运算后就可以得到输出为0101这样的序列,也就可以得到Delta F2的值,但是S=2时无法得到Delta F1的值,可以自行验证将10101010或PRBS9这样的包数据类型代入都是无法得到规律的00001111的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值