一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于BIS的分布式自组网实时对讲方法与流程

2023-01-06 02:29:20 来源:中国专利 TAG:

一种基于bis的分布式自组网实时对讲方法
技术领域
1.本发明涉及蓝牙低功耗音频技术领域,具体的说,是一种基于bis的分布式自组网实时对讲方法。


背景技术:

2.在无移动通信网络或者信号不佳的地方,我们经常使用无线对讲机进行通信。现有的对讲机一般都采用调频广播技术,在固定的频段使用特定频率进行通信;由于频率固定,通信过程中信号容易被干扰,影响通信质量。其次,由于是单频广播通信方式,也就限定我们的通信只能是半双工的,在同一时间,只能有一边讲话,否则即会产生通信干扰。再者,因为信号的调制方式是普通的fm频率调制,出于fm调制方式的抗干扰能力限制,普通对讲技术的通信距离非常有限。所以,目前的对讲技术存在通信距离近、抗干扰能力弱、对话实时性差,而且不能实现通信组网的问题。


技术实现要素:

3.本发明的目的在于提供一种基于bis的分布式自组网实时对讲方法,用于解决现有技术中通信质量不高、通信距离受限以及抗干扰能力有限的问题。
4.本发明通过下述技术方案解决上述问题:一种基于bis的分布式自组网实时对讲方法,包括:步骤s100、各个蓝牙设备各自发送携带自身节点信息和邻居节点信息的广播包,接收来自邻居节点的广播包,广播包包括节点自身信息字段、一跳邻居节点字段和多跳邻居节点字段,其中,节点自身信息字段包含对应蓝牙设备的蓝牙设备地址和当前蓝牙时钟;一跳邻居节点字段包含直接接收范围内的蓝牙设备地址,以及当前蓝牙设备和邻居蓝牙设备之间的蓝牙时钟差值;多跳邻居节点字段包含间接接收范围内的蓝牙设备地址,以及当前蓝牙设备和间接邻居蓝牙设备之间的蓝牙时钟差值,获知网络中所有节点的蓝牙设备地址和时钟信息;步骤s200、按照设定规则对蓝牙设备进行排序,选取某个蓝牙设备的蓝牙时钟作为网络时钟;步骤s300、各个蓝牙设备根据自身的排序信息,分别占据网络时间轴上的不同位置,得到基于广播的无连接低功耗传输bis(broadcast isochronous stream)位置排列,即bis event(bis事件)位置排列;步骤s400、各个蓝牙设备开始创建bis音频流,发送音频数据包,进行实时对讲交互,并发送驻网广播包,网络中各个节点的驻网广播包在网络时间轴除bis占据位置(即音频数据包占据的时隙)以外的空闲位置发送;驻网广播包包括节点自身信息字段、网络时钟差字段和位置排列信息字段,位置排列信息字段包括排列地址和排列位图。
5.优选地,网络中各个节点在网络时间轴除bis占据位置(即音频数据包占据的时隙)以外的空闲位置依照bis位置排序发送驻网广播包。
6.已入网的蓝牙设备要离开网络,则通过停止bis广播、停止发送驻网广播包实现离网;该蓝牙设备的邻居节点检测到其离网以后,该邻居节点从自身驻网广播包中移除该蓝牙设备的位置排列信息,发送更新之后的驻网广播包,将该蓝牙设备离网事件以中继形式通知到网络中的其他节点;等到网络中的所有节点都已获知该蓝牙设备离网以后,各自更新自身驻网广播包内容。
7.离网的蓝牙设备仍然转发网络信息,离网的蓝牙设备发送的网络信息中继广播包节点自身信息字段、网络时钟差字段和位置排列信息字段、位置排列信息字段不再包含自身节点。
8.中途要加入网络的蓝牙设备,通过接收驻网广播包获取网络信息,得到网络时钟和位置排列信息,并在位置排列信息字段增加自身的排列地址和排列位图,网络中的其他节点接收到该蓝牙设备的驻网广播包后均更新各自的驻网广播包,该蓝牙设备入网完成。
9.本发明与现有技术相比,具有以下优点及有益效果:(1)本发明实现去中心化、分布式动态组网,支持实时全双工双向通信;同时借助蓝牙bis技术提高传输距离和抗干扰能力,最大程度地改善通信体验。
10.(2)本发明基于低功耗蓝牙bis技术,综合bis自身的抗干扰能力和远距离传输能力,使用动态分布式自组网的策略,智能规划通信时隙,避免信号互相干扰,达成远距离、高抗扰、实时双向通信的目的。
附图说明
11.图1为本发明的网络节点信息泛洪和信息采集示意图;图2为本发明的bis位置排列示意图;图3为本发明的驻网过程示意图;图4为本发明的离网过程示意图;图5为本发明的网络维持示意图;图6为本发明的入网过程示意图;图7为本发明的节点移动示意图;图8为本发明的流程图。
具体实施方式
12.下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
13.实施例1:结合附图8所示,一种基于bis的分布式自组网实时对讲方法,初始状态不存在任何bis广播,addr表示蓝牙地址,clk表示蓝牙设备时钟,bn addr表示蓝牙设备bn的蓝牙地址,bn clk表示蓝牙设备bn的蓝牙时钟;clk_oft_bn_bm表示蓝牙设备bn和蓝牙设备bm之间的时钟差clock offset,n=1,2,3,
……
;m=1,2,3,
……
且n≠m。
14.分布式自组网阶段,蓝牙设备各自进行节点信息“泛洪”,也即发送携带自身节点信息和邻居节点信息的广播包,该广播包的格式如图1所示,由节点自身信息、一跳邻居节点、多跳邻居节点三个字段组成。其中,节点自身信息包含对应蓝牙设备的蓝牙设备地址和当前蓝牙时钟;一跳邻居节点包含直接接收范围内的蓝牙设备地址,以及当前蓝牙设备和
邻居蓝牙设备之间的蓝牙时钟差值;多跳邻居节点包含间接接收范围内的蓝牙设备地址,以及当前蓝牙设备和间接邻居蓝牙设备之间的蓝牙时钟差值。蓝牙设备进行节点信息“泛洪”之时,同步进行邻居节点信息“采集”,也即接收来自邻居节点的特殊广播包。
15.以蓝牙设备b1获取整个网络的节点信息为例。假设蓝牙设备b3、蓝牙设备b5当前尚未采集到任何节点信息,因此发出的广播包只有自身信息;接着蓝牙设备b4收到蓝牙设备b5的广播包,因此蓝牙设备b4可以获知它和蓝牙设备b5之间的蓝牙时钟差clk_oft_b4_b5,随后发出携带节点自身信息{b4 addr,b4 clk}和一跳邻居节点{b5 addr,clk_oft_b4_b5}的广播包;然后蓝牙设备b2收到来自一跳邻居蓝牙设备b3、蓝牙设备b4的广播包后,分别获知蓝牙时钟差clk_oft_b2_b3、clk_oft_b2_b4,据此蓝牙设备b2可以推算出它和二跳邻居节点b5之间的蓝牙时钟差clk_oft_b2_b5,后续蓝牙设备b2发出的广播包就包含节点自身信息{b2 addr,b2 clk}、一跳邻居节点{b3 addr,clk_oft_b2_b3},{b4 addr,clk_oft_b2_b4}以及多跳邻居节点{b5 addr,clk_oft_b2_b5};最后蓝牙设备b1通过接收蓝牙设备b2发出的广播包,即可获知整个网络节点的蓝牙设备地址和时钟信息。
16.依次类推,网络中的所有节点,都可通过以上节点信息“泛洪”、“采集”的方式,或直接或间接(中继)地获取整个网络的节点信息。
17.通过组网阶段一段时间的信息泛洪和信息采集之后,各个节点都已获知整体网络信息。接下来,我们要做的是选取网络时钟,按照设定规则选择其中一个蓝牙设备的蓝牙时钟作为网络时钟。这里我们采用的是按照蓝牙设备地址选取网络时钟。由于蓝牙设备地址都是独一无二的,那么我们可以依照“谁的地址大选谁的时钟作为网络时钟”的标准,来确定整个网络的参考时钟。这里,我们假设蓝牙设备b1~b5的蓝牙设备地址依次从小到大。如此,蓝牙设备b5蓝牙时钟将会作为网络时钟。由于每个蓝牙设备都有完整的网络节点信息,所以网络时钟确定也是分布式单独完成的。
18.组网操作的最后一步,就是bis位置排列。在我们的实时对讲技术中,网络中的每个蓝牙设备设置相同的通信周期interval tbis(比如8 slots)。各个蓝牙设备根据自己的地址排序信息,分别占据网络时间轴上的不同位置,位置确定公式为(piconet clk % interval tbis)=d;其中,piconet clk表示网络时钟数值,%表示取余运算,d表示余数。这里,按照地址排序信息,由小到大,从0开始计数,如上就是0~4,排在最前面的蓝牙设备的第一个锚点anchor占据d=0的位置,排在最后面的蓝牙设备的第一个锚点anchor占据d=4的位置。最后的bis位置排列如图2所示。
19.如此一来,经过分布式自组网阶段,各路bis广播就可没有冲突地均匀排列在确定的网络时间轴上。后续通过各自的bis广播,我们就可实现无干扰、低时延、高可靠的实时对讲应用了。
20.2)驻网操作分布式自组网完成之后,各个蓝牙设备开始创建广播形式的bis音频流即bis广播,发送音频数据包,以便进行实时对讲交互。此时,网络中的蓝牙设备需要停止收发组网阶段的广播包。取而代之,开始发送驻网广播包,驻网广播包如图3所示,其由节点自身信息、网络时钟差、位置排列信息组成。其中,位置排列信息由排列地址及排列位图组成,排列地址和排列位图中数值为1的比特一一对应;排列位图bitmap表示网络时钟轴上已经占据的时隙比特;以图3为例,目前时隙0~4被占据,所以bitmap取值0x1f。这些信息在后续独立
蓝牙设备节点入网操作中会被用到,用以辅助入网设备获取网络时钟及位置排列信息。
21.3)离网操作对于希望中途离开网络的蓝牙设备,只需停止bis广播,同时停止发送驻网广播包。现以蓝牙设备b3为例,如图4所示,首先,蓝牙设备b3停止bis广播及驻网广播,等到其邻居节点——蓝牙设备b2检测到蓝牙设备b3离网以后,蓝牙设备b2会从驻网广播包中移除b3 addr及对应比特(排列位图由0x1f变为0x1b),然后发送更新之后的驻网广播包,以便将b3离网事件以中继形式通知到网络中的其他节点。接着,等到网络中的所有节点都已获知b3离网以后,各自都会更新其驻网广播包内容。至此,离网操作也就全部完成了。
22.优选地,即使最后只剩一个节点在线,也可维持本设计中的通信网络。如图5所示。维持方法就是,没有通话需求的蓝牙设备虽然停止了bis广播,但是仍可通过发送网络信息中继广播包继续转发网络信息。此时,离网转发节点发送的网络信息中继广播包与驻网广播包的区别是位置排列信息字段不再包含自身节点。以此方式维持网络的优点在于,可以实现后续快速组网,并且完全避免可能的通信互扰。
23.假设节点离网以后不转发网络信息,没有它的中继转发,距离较远的其他节点后续想要重新入网,就没办法获知现存网络信息,不能实现快速入网。因此,离网节点通过发送网络信息中继广播包,还可以协助相邻节点快速入网。
24.4)入网操作对于希望中途加入网络的蓝牙设备,通过接收“驻网广播包”获取网络信息。如图6所示,现以蓝牙设备b6为例,首先,蓝牙设备b6经由蓝牙设备b4获取网络信息,得到网络时钟及位置排列,根据位置排列信息,蓝牙设备b6决定占据之前蓝牙设备b3使用的位置;接着,蓝牙设备b6发送驻网广播包,其中位置排列信息字段增加b6addr及对应位置比特;最后,网络中的其他节点经过蓝牙设备b4一路中继,均会更新各自的驻网广播包内容。至此,入网操作也就完成了,蓝牙设备b6创建的bis即可没有干扰地和邻近的蓝牙设备进行通信。
25.优选地,入网以后各个节点的驻网广播包可以在网络时间轴除bis占据位置以外的空闲位置发送,如此可以最大化利用网络带宽,同时减少通信干扰。
26.5)节点移动在我们的实时对讲应用中,通常存在手持蓝牙设备移动,也即出现位置改变的状况。即使出现蓝牙设备节点移动,本发明提出的分布式自组织网络技术也能很好地解决问题。如图7所示。假设蓝牙设备b3出现节点移动情形,不再是蓝牙设备b2的一跳邻居节点,而是变成蓝牙设备b1的一跳邻居节点;这种情况,虽然蓝牙设备b2起初会因无法接收蓝牙设备b3发送的驻网广播,认为蓝牙设备b3已经离网,进而将蓝牙设备b3从其驻网广播包的位置排列信息字段移除,但是很快蓝牙设备b1再收到蓝牙设备b3的驻网广播包之后,会将信息中继到整个网络,最终蓝牙设备b2也会知晓,如此蓝牙设备b1、蓝牙设备b2均会察觉到蓝牙设备b3的节点移动事件。
27.可见,任意节点即使发生位置移动,只要尚在网络之中,也即存在通信范围内的邻居节点,也就不会造成其离网失联,其对网络中的其他节点也都是可见的。如果任意节点移动范围脱离网络通信范围,也即不存在通信范围内的任何邻居节点,那么就会退变成离网事件;但是只要其再次靠近网络,进入到网络通信范围内,该节点又可自动入网,再次成为网络中的一员了。
28.综上,本发明提出的分布式自组网实时对讲技术,不但可以随时分布式自组网,无需节点之间建立连接(ble link),无需中心节点控制组网;而且能够自动完成网络时钟确立,自动选择bis位置排列,实现真正意义上的无干扰全双工通信;再者,之后的节点驻网、网络维持也都简单可靠,节点的离网、入网也可自主、智能地完成,容许节点随意移动位置,完全满足真实对讲应用需求。
29.尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本技术公开的原则范围和精神之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献