蓝牙与802.11b干扰问题的解决( 二 )


表1; 主单元信道状态
表2; 从单元信道状态
其中Mast-F0~Mast-F78表示蓝牙主单元信道,Mast-State[0]~Mast-State[78]表示主单元信道对应状态;Slave-F0~Slave-F78表示蓝牙从单元信道,Slave-State[0]~Slave-State[78]表示从单元信道对应状态 。
蓝牙的数据传输是由主单元控制,因此,从单元必须将主单元的最新信道状态表通知主单元 。为此,我们定义一个新的LMP(链路治理协议)PDU,用以携带主单元信道状态 。从单元每隔一定时间(channel-state-update-ininterval)计算一次丢包率、刷新信道状态表并通过上述PDU发送到主单元 。
2.2自适应包选择延迟发送机制

;蓝牙物理信道是一个时分双工的跳频信道,信道之间以彼此近似正交的跳频序列区分 。信道使用伪随机跳频序列表示,频率在79个射频信道中随机跳变 。每个微网使用唯一信道跳频序列,它是根据主单元蓝牙设备地址确定 。信道以时隙为单位传输信息,在一个时隙(单时隙分组情况)或多个时隙(多时隙分组情况)内采用一个射频跳频点传输信息 。频率跳变速度是1600跳/s 。一个时隙的长度为625微秒 。在时隙中主单元和从单元以时分复用方式,交替传输分组 。主单元在偶数时隙开始传输分组,从单元仅在奇数时隙开始传输分组 。一个分组传输时间可以占用一个时隙、三个时隙或五个时隙 。传输某个分组期间,跳频保持不变 。对于传输单时隙分组,使用的跳频由当前蓝牙时钟值导出 。对于传输多时隙分组,跳频根据传输首时隙时钟值导出 。传输多时隙分组后,传输下一分组的跳频也根据该分组首时隙时钟值确定 。根据蓝牙标准规定,ACL链路可以占用一、三、五时隙传输数据,但是,目前在实际使用过程中,占用时隙方式是固定的 。我们提出的这一个算法就是在满足上面这个条件的基础上,根据信道的情况采用延迟发送机制 。具体如下:
(1)单时隙包处理机制
在发送该单时隙包之前,主单元先查看一下由信道评估机制产生的master/slave的信道状态表 。在图1中,假如?1和?2只要有一个是不良信道,那么主单元就延迟到下一个偶数时隙来接着判定是否可以发送 。只有?1、?2全是优良信道,该数据包才能存该时刻发送 。
图1; 时隙与信道
(2)三时隙数据包处理机制
在发送这个三时隙包之前,主单元先检查?k和?k 3是否都是优良信道,只有这两个频率都是优良信道,这个包才答应发送;假如?k是不良信道,这个三时隙的数据包就延迟到?k 2进行发送,在发送之前也要经过这样的判决;假如?k是优良信道,?k 3是不良信道,那么首先判定?k 1是不是优良信道,假如是,那么将数据封装成单时隙的数据包进行发送,假如不是,那么就延迟到?k 2进行发送判决 。
(3)五时隙数据包处理机制
五时隙包也采用近似的机制,假如?k和?k 5都是优良信道,这个包答应发送;假如?k是不良信道,这个五时隙的数据包就延迟到?k 2进行发送判决;假如?k是优良信道,?k 5是不良信道,那么首先判定?k 3是不是优良信道,假如是,那么将数据封装成三时隙的数据包进行发送,假如不是,那么就判定?k 1是否是优良信道,假如是,那么封装成单时隙包进行发送,假如?k 1和?k 3同样也为不良信道,那么就延迟到?k 2进行上面这种判决机制 。如图2是此机制的算法流程图 。
图2; 算法流程图
2.3方法比较
以往的OLA方法[3]由于802.11b系统总是在22MHz频段内通信,所以假定蓝牙系统能够通过检测识别出802.11b系统占用频段 。假如某一时刻蓝牙主单元预备以跳频点?2n发送k(k=1、3、5)时隙分组并发现?2n k将落入802.11系统22MHz频段内,则改以k’时隙(k’=1、3、5,k’≠k)分组发送,使接收频点成为?2n k’,避免发生频率冲突;假如某一时刻蓝牙主单元将以跳频点?2n、?2n m(m=2、4、6)连续发送分组并发现?2n m 。将落入802.11系统22MHz频段内,则要求应答从单元发送(m’-1)时隙(m’=2、4、6,m’≠m)分组,使主单元下一个发送频点改为?2n m’,避免频率冲突 。假如所有可供选择的分组对应传输频点均无法避免频率冲突,则暂不发送,等待其余恰当跳频点 。由此可看出自适应包选择延迟发送方法相对于此OLA方法的优点:(1)此OLA方法没有考虑当前蓝牙主单元发送频点的信道情况,而自适应包选择延迟发送方法考虑了,这样会进一步减小干扰;(2)自适应包选择延迟发送方法没有使用时隙覆盖,节省功率 。

推荐阅读