一种LoRa通讯网络传输速率智能扫描及动态优化配置的方法与流程

文档序号:21084957发布日期:2020-06-12 16:50阅读:370来源:国知局
一种LoRa通讯网络传输速率智能扫描及动态优化配置的方法与流程
本发明涉及lora无线通讯领域,尤其涉及一种lora通讯网络传输速率智能扫描及动态优化配置的方法。
背景技术
:随着物联网技术的发展,lora无线通信技术渐渐崭露出头角,成为了实现万物互联愿景的必不可少的技术手段之一。lora技术的应用场景十分广泛,常见的有物流追踪、位置定位、林业监测等。无论在何种应用场景之下,lora网络布局的核心一步总是要最终得到布局点位适合的lora传输速率。这一步关系到整个lora网络后期能否稳定传输,因此需要进行周密的测试探究。传统的lora传输速率测试中借助手工调试方式,人工进行某两点点位处的lora传输性能测试,这个过程需要要携带电脑、对讲机等许多工具辅助调整lora节点的各个传输速率。这样的测试只能一次测试一个速率,然后双方再次修改到另一个速率上继续进行测试。如果遇到测试环境恶劣,如在野外山地,则会严重拖延工期。因此会存在以下问题:耗费人力物力资源多、劳动强度大、测试周期长、测试环境受限、测试效果不理想等。显然,借助传统手工调试进行lora通讯网络传输速率测试并不能很好地跟上当今日益增长的lora网络布局的节奏,严重阻碍了lora网络在多场景之下的布局应用。另外,传统的速率测试流程没有直接对接后续的lora组网信息配置,使得在lora组网时需要人为将传输速率再次录入到配置文件中,当网络节点足够多时就会显得配置操作非常麻烦。目前,国内外学者对lora传输速率的探究大多重在后期的传输数据分析之上,但尚未提出一种快速、准确、方便、灵活的传输速率测试的方法,从而从数据源头保证测试速率的可靠性,即使在恶劣环境之下也能很好地完成测试任务。技术实现要素::本发明目的在于针对传统lora传输速率测试的效率低、周期长、成本大、测试环境受限等问题,提供一种lora通讯网络传输速率智能扫描及动态优化配置的方法。所提出的智能扫描及动态优化配置的方法采用各个传输速率及其对应最小传输周期作为传输速率表预设的参数项,并采取改良的连续多包传输机制作为扫描机制。所提出的智能扫描及动态优化配置的方法能够快速、准确、方便、灵活地进行lora传输速率测试,缩短lora网络测试、配置及部署的周期,加快了lora网络应用布局,更好地满足日益增长的物联网通讯需求。为了达到上述目的,本发明提供一种lora通讯网络传输速率智能扫描及动态优化配置的方法,其特征在于,包括以下的步骤:(1)传输速率表预设;(2)传输速率扫描;(3)传输速率动态配置;其中,所述传输速率表预设是指,既包含一系列传输速率的预设,也包含对应的一系列最小传输周期的预设,所述传输速率可由公式来确定,其中dr为传输速率;sf为lora调制的扩频因子,取值范围是6~12之间的整数;bw为lora调制信号的带宽,取值范围为125~500khz;cr为调制编码率,可以由公式确定,其中n取值为1~4之间的整数。所述最小传输周期由实验测试和理论公式计算得到,实验测试及理论验证所得如下关系:tmin=toa+tc+tother其中,tmin是指最小传输周期,所述最小传输周期是指在传输数据长度为lora最大设定负载长度下的对应传输速率的传输周期,最大设定负载长度可由对应lora芯片手册获得;toa是指lora调制信号的空中传输时间,可由理论公式求得;tc是指其他类型通信接口的传输时间,包括uart接口及其他实际设备中所使用到的通信接口,由对应通信接口的波特率按对应类型通信接口的传输负载长度换算可得,如果数据处理单元直接控制lora芯片,则tc=0;考虑到实际情况还应包含程序处理过程所花费的时间,tother为数据协议格式解封装、程序数据处理时间,一般情况下小于10ms,可由实验测得。上述toa的获得有一个简便的方法,通过实验可以直接使用示波器测试lora芯片高电平的持续时间即为toa的时间。所述传输速率的预设是指,选取多个不同传输速率作为测试目标,各个传输速率仅在带宽或扩频因子选取上有区分度,不以调制编码率作为区分条件,即所有设定传输速率的调制编码率均一致;所述传输速率的范围是由上述传输速率计算公式计算得到且在1kbps到37.5kbps之间的一系列传输速率,理论可知小于1kbps的传输速率测试所花费的传输时间过长,不适用于大容量数据包的收发,所谓大容量数据包指的是需要被分组成为多个lora数据包进行传输的数据,由理论得高于37.5kbps的传输速率不可靠;所述最小传输周期是指,该最小周期已经是能正常传输数据包所容忍的最小周期,低于此周期的lora传输将出现信道冲突。由示波器测试lora芯片引脚的波形图可知,当一个传输速率对应设定的传输周期值小于上述方法所得的最小传输周期值时就会导致发送数据包交叠,波形图显示不为规律的周期性方波,lora传输不可正常使用;当一个传输速率对应设定的传输周期大于等于上述方法所得的最小传输周期值时就能正常发送数据包而不会出现交叠的现象,波形图显示为规律的周期性方波。所述智能扫描及动态优化配置的方法,其特征还在于,所述步骤(3)中,所述传输速率的扫描中,采用了连续多包传输机制;其特征还在于,所述传输速率之间按所述传输速率表顺序进行切换,由预设表的最高速率作为起始速率;其特征在于,所述当前传输速率测试包括所述传输速率表中的各个传输速率的连通性测试,以及发送节点向接收节点连续发送数据包的丢包率测试,当连通性测试未成功,则跳过丢包率测试并切换到下一个传输速率上。所述连通性测试是指所述传输速率下,收发双方成功建立连接时发送节点所发送过的数据包个数,同时连通性测试的数据包上限设置为5s内当前传输速率能够传输的总包数向下取整的结果,超过此上限则连通性测试失败;所述连续发送数据包是指,丢包率测试过程中所述发送节点向所述接收节点连续发送数据包的方式;在连续发送数据包过程中,所述接收节点记录的数据包接收情况的数据,包括所述每个包的信噪比(snr)、所述信号强度(rssi)以及所述发送的总包数字段和当前包号字段,等到发送完毕之后,接收节点向发送节点返回确认接收结束信息,结束所述丢包率测试。所述连续多包传输机制是丢包率测试采用的传输机制,其特征还在于,lora上下行的通信都由同一个节点发起,在上行通信链路中,发送节点a先发送请求数据给接收节点b,接收节点b接收到后回复ack确认信息,之后紧接着开始连续发送数据包给发送节点a,知道发送数据结束后发送一个带结束字段的数据包给节点a;在下行通信链路中,发送节点a先发送请求数据给接收节点b,接收节点b接收到后回复ack确认信息,之后发送节点a开始连续发送数据包给接收节点b,直到发送数据完毕后继续发送一个带结束字段的数据包给接收节点b。如果当上下行请求数据发送后未收到接收节点b的回复,则发送节点a会继续发送请求信号给b节点。所述智能扫描及动态优化配置的方法,其特征还在于,传输节点在扫描完一遍传输速率表之后,对各个传输速率下的接收数据包进行统计,得到所述传输速率表中的各个传输速率下的丢包率(plr)、平均信号强度(asnr)、平均信噪比(arssi)。将所有测试传输速率按照丢包率划分成三个等级,第一个等级的丢包率小于等于5%,第二个等级的丢包率在5%~10%,第三个等级的丢包率大于10%,一个等级内的多个传输速率按照从高到低的顺序优先选取,不同等级内的传输速率按照从第一等级往第三等级的顺序优先选取,最后获得的传输速率即为该位置的最佳传输速率,并将最佳传输速率和对应的最小传输周期参数存放在配置文件里,并由设备通信程序调用该配置文件即可完成传输速率的动态配置。其中,在传输速率动态配置结束后程序会实时监测在后续传输过程中是或否超时,超时时间即等待时间窗口t0设置为1~2s的固定时长(一般设定为2s,也可为1~2s之间的任意值)加上当前传输速率对应的最小传输周期之和,当发生超时后会按照传输速率表预设再次初始化传输速率并进行新一次的传输速率扫描过程,从而确定一个新的最佳传输速率再进行配置。本发明的优点本发明提供的一种lora通讯网络传输速率智能扫描及动态优化配置的方法,能够快速、准确、方便、灵活地进行lora传输速率测试。“快速”体现在采用各个传输速率及其对应最小传输周期作为传输速率表预设的参数项,缩短了测试时间,提高了测试效率;同时,本方法采用了连续多包传输机制作为扫描机制,进一步提高了扫描的效率,节省了人力成本;“准确”体现在基于大量测试数据包验证过后的传输速率性能更真实准确;“方便”体现在只需携带更少量的测试设备即可完成测试任务,无需携带笔记本电脑等其他多余设备;“灵活”体现在传输速率可动态配置,并且能进行动态调整。本方法缩短了lora网络测试、配置及部署的周期,加快lora网络应用布局,更好地满足日益增长的物联网通讯需求。附图说明:图1根据本发明实施例的智能监测方法流程图;图2是根据本发明实施例的传输速率测试的节点交互时序图;图3根据本发明实施例的传输速率测试的时间消耗随传输总包数的关系图;具体实施方式:下面结合附图和具体实例对本发明做进一步说明:本发明实施例设备结构为以zynq核心板通过mini-pcie与lora模块连接方式,zynq与lora模块之间为串口通信,选用6dbi增益的玻璃钢天线作为lora模块的天线,lora模块的输出功率为20dbm。本发明实施例以表1所示的四个速率为例进行说明。将表1的四个传输速率作为预设表的速率,lora装置选用sx1278芯片作为收发器,利用测试直接获取lora的toa,即利用示波器同时测试sx1278芯片的8号引脚和20号引脚,测试在不同传输速率下的收发数据信号周期性方波图,根据高低电平的持续时间得到toa。然后,由于本实施例使用zynq主板uart串口与lora数据处理单元进行通信,其串口波特率设置为115200bps,设置8位数据位,1位开始位和1位结束位,无校验位,因此实际串口的数据传输率计算为:串口通信协议根据lora最大设定负载长度255字节来定义,加上串口协议的必要字段,其大小为291字节左右,因此可以计算得到tc=25.9ms。另外由测试程序耗时得到tother=3ms。因此,可以得到tmin=toa+28.9ms,只需要得到各传输速率按负载255字节传输时的空中传输时间即可得到一系列最小传输周期。通过示波器测试得到以21875bps按lora最大设定负载长度255字节传输时的发送周期为toa=100ms,另外通过toa的理论计算公式可以得到toa=99.9ms,进一步验证了测试结果的正确性。具体的理论计算过程如下:首先,求得该传输速率下的符号速率,由公式计算tsym为lora符号速率;bw为带宽,21875bps对应bw=500khz;sf为扩频因子,21875bps对应sf=7。其次,获取前导码时间,由公式计算tpreamble=(npreamble+4.25)×tsym=(8+4.25)×0.256=3.136ms,tpreamble为前导码时间;npreamble为已设定的前导码长度,本实施例采用前导码长度npreamble=8;tsym为lora符号速率。然后,获取有效负载的传输时间,由公式计算其中tpayload为有效负载的传输时间;payloadsymbnb为有效负载的符号数;ceil为向上取整函数,max为取最大值函数;pl为有效负载的字节数,这里设定为lora最大设定负载长度255字节;sf为扩频因子,21875bps对应sf=7;本实施例设定h=0,de=0,即使用报头并且不采取低速率优化;cr为编码率,21875bps对应cr=1。最后,21875bps对应的空中传输时间为公式计算toa=tpreamble+tpayload=3.136+96.768=99.904ms。在实验中测得21875bps传输速率下的最小传输周期tmin=128.9ms,为保证传输数据包准确而不产生交叠,向上取整数值为130ms即可。此时再用示波器查看sx1278的波形图就可以清楚的看到最小传输周期,并且能够计算得到占空比。可以看到传输速率越大,发送周期越短,发送占空比越低,数据传输效率越高。以传输速率21875bps为例,在最小传输周期下的发包率高达7.69packet/s,扫描速率有极高的提升。扫描速率的提升带来的好处是能够测试更多的数据包,使得测试结果更加稳定准确。表1lora装置的平均发送周期及发送占空比传输速率(bps)312562501250021875发送周期(ms)735385205130发送占空比(%)95.9292.2185.3776.92图1为根据本发明实施例的智能监测方法流程图,本发明的技术方案为:一种lora通讯网络传输速率的智能扫描及动态优化配置的方法,传输速率表预设;传输速率扫描;传输速率动态配置。首先初始化lora测试节点以传输速率表中最高传输速率进行测试,扫描机制采用连续多包传输机制;发送节点先对接收节点进行连通性测试,如果在连通性测试数据包上限范围内收到接收节点回复,则继续进行丢包率测试,否则跳过丢包率测试,切换到下一个更低的传输速率进行测试;各传输速率下性能分析,得到丢包率(plr)、平均信噪比(asnr)、平均信号强度(arssi),将所有测试传输速率按照丢包率等级进行划分,给出一个该节点位置的最佳传输速率;在得到最佳传输速率之后,将最佳传输速率和对应的最小传输周期存放在配置文件里;通信程序调用配置文件获得最佳传输速率并进行自身参数配置,实现动态配置的功能;最后设置超时时间即等待时间窗口t0,当传输发生超时后会按照传输速率表预设重新进行扫描和速率确定。如图2所示为传输速率测试采取的数据包传输机制,本申请实施例提出了连续多包传输机制,即比如在发送节点连续发送n个数据包给接收节点之后,收到接收节点的确认结束标志。具体过程为发送节点发送连通请求,接收节点回复收到,发送节点再依次向接收节点连续发送pack1,pack2,pack3...packn-1,并在发送最后一个数据包packn时附带结束标志,接收节点最后回复确认结束。然而,传统的测试协议机制为发送节点一发一收的请求应答形式,即发送节点呼叫一次接收节点之后接收一条数据。图3所示测试时间随测试总包数的关系阐述了两种机制传输时间的差异,设在某个传输速率下,发送一条数据所需的空中传输时间为t,发送的总包数为k,t可以由lora公式计算求得,则一发一收机制下完成一次测试所需的时间为t*k*2,而本发明中提出的传输机制所需的时间为t*k。在21875bps的传输速率下,实验测得t=100ms,设定此次发送数据包k=100packets,假设都使用最小传输周期,则传统的测试协议完成一条数据的测试所需的时间为20s,而连续多包传输机制仅需要10s。如果将传输速率换成6250bps,则传统的测试协议测试100个数据包需要花费1min11s,而连续多包传输仅需要35.5s。由此可知,即使都使用最小传输周期,所述连续多包传输机制也要比传统的测试协议机制节省一半的测试时间。接收节点接收到每一个数据包之后都会进行记录,记录信息有当前测试速率、发送总包数、当前接收包号、信噪比、信号强度、以及测试数据。为了达到测试效果准确的目的,发送节点发送0xaa的十六进制数据,接收节点发送0x55的十六进制数据,使得收发节点的经过lora调制技术调制后的电平信号保持正交,以验证通信链路的状态是否正常。在首先以21875bps传输速率进行测试时,先进行连通性测试,该速率下的连通性测试包数上限由设定规则可知为38packets。发送节点一次发送一个测试数据包,并设置每次等待的时间窗口t0,由于21875bps传输速率对应的最小传输周期为130ms,固定时长设为2s,因此t0=2s+130ms=2130ms,如果发送节点在2130ms内没有收到接收节点的回复,则记录下第一次以21875bps传输速率连通失败,接着再次发送一个测试数据包,同样等待2130ms,并记录此次连通情况;如果发送节点在2130ms内收到了接收节点的回复,则证明21875bps传输速率连通成功,并退出连通性测试环节,接着进入到丢包率测试环节。如果当发送完毕38个测试包都超时,则证明连通性测试失败,说明该传速速率不可用,此刻不再进行丢包率测试,直接切换到下一个更低的12500bps传输速率。在对当前所在的传输速率测试结束之后,会由高到低切换到第二个传输速率上进行测试。传输速率按照预设表扫描完一遍之后会进入到传输速率配置的操作。因此,在测试过程中不需要携带额外的测试辅助设备即可完成整个测试流程。在测试结束之后,节点接收的各传输速率下的测试数据会统计得出丢包率、平均信号强度和平均信噪比。将四个速率按照丢包率进行分级,测试包数均为1200packets,测试距离为1.3km的山区,天线架设高度为3m,得到plr(21875bps)=0.33%,plr(12500bps)=0,plr(6250bps)=o,plr(3125bps)=0.25%。因此,直接选取dr=21875bps作为最佳传输速率,并选取130ms作为对应最小传输周期。在获得最佳传输速率之后,将其存入配置文件中,lora通信程序调用该配置文件自动获取最佳传输速率,无需手动配置参数,从而实现传输速率动态配置功能。上述实施例只是本发明的优选的应用实施例,本发明的保护范围并不局限于该实施例。凡在本发明的精神和原则范围内,所作的任何修改、改进、等同替换等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1