蓝牙规范-Vol 6:低功耗控制器 Part B 链路层规范 章节3比特流处理

3 比特流处理

蓝牙设备使用下面章节中定义的比特流处理方案。

图3.1表示了LE Uncoded PHYs的PDUs的比特流处理流程。
在这里插入图片描述
图3.2表示了LE Coded PHYs的PDUs的比特流处理流程。
在这里插入图片描述

3.1 错误检查

在接收数据包的时候,首先要检查接入地址(Access Adress),如果接入地址不正确,则拒收这个包,否则这个包被认为已经接收到。如果CRC不正确,这个包应该被拒绝掉,否则认为这个包被成功接收到而且是有效的。数据包只有在被认为是有效的时候才能被处理,除了接收机需要在即使CRC错误的情况下进行IQ采样。CRC错误的数据包可能会造成连接事件继续,如Section 4.5.1中定义。

3.1.1 CRC生成

CRC需要在所有链路层包的PDU中进行计算,如果PDU是加密的,则CRC需要在PDU进行加密以后再进行计算。

CRC多项式是一个24位的CRC, PDU中的所有比特都要从最小有效位开始按传输顺序进行处理,多项式的公式为: x24 + x10 + x9 + x6 + x4 + x3 + x + 1,对于每个数据通道PDU和同步连接PDU,移位寄存器应该预先设置为为ACL连接设置的CRC初始值,并在CONNECT_INDAUX_CONNECT_REQ PDU中传输。对于AUX_SYNC_IND PDU和它的子集,移位寄存器应该预先设置为描述定期广播序列的SyncInfo字段(见Section 2.3.4.6)中的CRCInit值。对于所有的广播物理通道PDUs,移位寄存器的值需要被提前设置为0x555555,对于每个同步广播PDU,
移位寄存器的值需要被提前设置为来自BIGInfo data(见Section 4.4.6.11)的BaseCRCInit值的最高有效的2个字节的和特定BIS的BIS_Number值来的最低有效的1个字节。对于BIG Control PDUs,最低有效字节为0。
在这里插入图片描述
位置0作为初始值的最低有效位,位置23作为初始值的最高有效位,CRC传输的时候,最高有效位首先被传输,例如,从位置23到位置0(见Section 1.2)。

图3.4 给出了一个线性反馈移位寄存器(LFSR)生成CRC的例子。
在这里插入图片描述

3.2 数据白化

数据白化用于避免在数据比特流中出现连续多个的0或者1的序列,例如0b00000000或者0b11111111。白化在所有链路层数据包的PDU和CRC中应用,并且在发射机的CRC生成阶段之后。数据包的其他地方不需要进行白化,去白化在接收机的CRC检查之前进行(见图3.1)。

白化和去白化使用相同的方式进行,通过使用带有x7 + x4 + 1多项式的7位线性反馈位移寄存器进行。在白化或去白化之前,移位寄存器被一个序列初始化,该序列来源于数据包以下列方式发送的时候的物理通道索引:

  • 位置0设置为1。
  • 位置1到6为发送或接收时用到的通道的索引,最高有效位在位置1,最低有效位在位置6。

例如:如果通道索引为23(0x17),则各位置设置如下:
位置0 = 1
位置1 = 0
位置2 = 1
位置3 = 0
位置4 = 1
位置5 = 1
位置6 = 1

图3.5展示了线性反馈移位寄存器(LFSR)进行数据白化的示例:
在这里插入图片描述

3.3 编码

编码只在LE Coded PHY中进行应用。

编码过程存在2个阶段,数据首先由Section 3.3.1中定义的前向纠错(FEC)卷积编码器编码,然后由Section 3.3.2中定义的模型映射器展开。

3.3.1 前向纠错(FEC)编码器

前向纠错卷积编码器使用约束长度K=4的非系统、非递归率1/2的代码。生成多项式为:
G0(x) = 1 + x + x2 + x3
G1(x) = 1 + x2 + x3
来自生成多项式 G0 (a0)的比特首先被发送,来自生成多项式G1 (a1)的比特第二顺位发送。

FEC卷积编码器的初始状态设置为全0,连续输入三个零的序列会使FEC卷积编码器恢复到初始状态,这个序列被称为终止序列。

图3.6说明了FEC卷积编码器的操作,正方形表示位存储操作,圆形表示mod 2的二进制加法。
在这里插入图片描述

3.3.2 模型映射器

模型映射器将FEC卷积编码器的每个比特转换为P符号,其中P的值取决于使用的编码方案,如图3.1所示(输出序列按照传输顺序):
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值