发明内容
针对现有技术的缺陷,本发明提出一种Lora扫频测试方法、终端及服务器。在该方法中,下行扫频测试由应用服务器AS向Lora终端发送指定数目的扫频测试报文,Lora终端负责统计和收集下行扫频测试报文的数量和信号质量,并将结果返回给AS。上行扫频测试由Lora终端向AS发送指定数目的上行扫频测试报文,由AS负责收集上行测试报文的数量和信号质量。本发明提供的方法能够对Lora网络进行扫频测试,获取网络的性能参数,为网络优化提供帮助。
为实现上述目的,本发明提供了一种Lora扫频测试方法,该方法包括以下步骤:
Lora终端设置扫频的相关参数,并将所述相关参数传递给应用服务器AS,开启扫频工作;
上行扫频测试时,Lora终端向AS发送指定数目的上行扫频测试报文,AS收集上行扫频测试报文的数量和信号质量;
下行扫频测试时,AS向Lora终端发送指定数目的下行扫频测试报文,Lora终端统计和收集下行扫频测试报文的数量和信号质量,并将结果返回给AS。
根据本发明的另一方面,AS使用SF12data rate下发下行扫频控制报文和扫频响应报文,Lora终端通过RX2通道接收来自AS的扫频控制报文和扫频响应报文。
根据本发明的另一方面,Lora终端根据当前测试需求所确定的上行频率,使用SF12data rate发送上行扫频控制报文和扫频响应报文。
根据本发明的另一方面,所述Lora终端包括多个应用接口,扫频结束后可直接在终端上看统计信息。
根据本发明的另一方面,通过直接输入功率值或给每个功率编码来设置所述Lora终端的发射功率,功率值范围为从2dB到20dB的各个发射功率值。
根据本发明的另一方面,所述相关参数包括信道频率、频道带宽、数据率、编码率、发射功率、通信报文个数和通信报文间隔时间。
根据本发明的另一方面,设置每次扫频测试的通信次数和通信时间间隔,所述通信时间间隔大于最低速率下报文的发送时间、接收窗口时间和MAC状态机更新时间三者的总和。
根据本发明的另一方面,当对多个频率进行扫频并需要发送多个扫频报文时,在一个扫频频率上发送指定数目的扫频报文,然后再跳转到下一个频率发送指定数目的扫频报文,如此循环直至遍历所有频率;或者,在一个扫频频率上发送一个扫频报文,然后再跳转到下一个频率再发送一个扫频报文,如此循环直至遍历所有频率,其中,所述指定数目为大于1的整数。
根据本发明的另一方面,本发明提供了一种用于扫频测试的Lora终端,所述Lora终端包括处理器,所述处理器被配置为执行扫频测试方法。
根据本发明的另一方面,本发明提供了一种用于扫频测试的服务器,所述服务器包括处理器,所述处理器被配置为执行扫频测试方法。
本发明提供的Lora扫频测试方法、终端及服务器,能够对Lora网络进行扫频测试,获取网络的性能参数,为网络优化提供帮助。
通过参照以下附图及对本发明的具体实施方式的详细描述,本发明的特征及优点将会变得清楚。
具体实施方式
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了描述方便,本发明中除了指明服务器端和Lora终端之外,还使用发送端表示服务器端和Lora终端之一,使用接收端表示另一个,即若服务器是发送端,则Lora终端就是接收端,若Lora终端是发送端,则服务器就是接收端。
如图5所示,本发明提出一种Lora扫频测试方法、终端及服务器。在该方法中,下行扫频测试由应用服务器AS向Lora终端发送指定数目的扫频测试报文,Lora终端负责统计和收集下行扫频测试报文的数量和信号质量,并将结果返回给AS。上行扫频测试由Lora终端向AS发送指定数目的上行扫频测试报文,由AS负责收集上行测试报文的数量和信号质量。本发明提供的方法能够对Lora网络进行扫频测试,获取网络的性能参数,为网络优化提供帮助。
具体地,本发明提供的Lora扫频测试方法包括以下步骤:
Lora终端设置扫频的相关参数,并将所述相关参数传递给应用服务器AS,开启扫频工作;
上行扫频测试时,Lora终端向AS发送指定数目的上行扫频测试报文,AS收集上行扫频测试报文的数量和信号质量;
下行扫频测试时,AS向Lora终端发送指定数目的下行扫频测试报文,Lora终端统计和收集下行扫频测试报文的数量和信号质量,并将结果返回给AS。
考虑到简化实现的目的,将上行信道的扫频过程和下行信道的扫频过程分开实现。
考虑到野外作业的需要,扫频测试过程由Lora终端负责配置扫频测试的相关参数,且由Lora终端负责启动和终止扫频测试。
扫频测试过程主控依然由AS掌握,即由AS负责测试结果信息的统一储存,统计分析,结果显示、中间过程的切换指令和同步指令。
125kHz的带宽情况下,由于网关sx1301只能够在8个上行信道上进行接收,而250kHz和500kHz带宽情况下,网关sx1301只能够在一个上行信道上进行接收,所以网关需要反复更新接收频率配置文件,重启packet forward任务,这个过程也应由AS负责控制。
AS和终端之间传输的报文包括三种:扫频控制报文,扫频响应报文和扫频测试报文;
扫频控制报文:Lora终端负责扫频测试相关参数的配置,并负责启动和终止扫频测试。而AS负责扫频测试过程的控制和同步。所以Lora终端和AS都需要发送扫频控制报文。
扫频响应报文:针对扫频控制报文的响应,都归类为扫频响应报文。
扫频测试报文:用于上下行测试的数据报文。
扫频测试方法是:下行扫频测试由AS向Lora终端发送指定数目的扫频测试报文,Lora终端负责统计和收集下行扫频测试报文的数量和信号质量,并将结果返回给AS。上行扫频测试由Lora终端向AS发送指定数目的上行扫频测试报文,由AS负责收集上行测试报文的数量和信号质量。
为了来自AS的扫频控制报文能够到达终端推荐AS使用SF12data rate下发扫频控制和响应报文,Lora终端设置专门的RX2通道用来接收来自AS扫频控制和响应报文。
为了保证Lora终端发送的扫频控制和响应报文能够到达网关并转发给AS,推荐使用SF12data rate发送扫频控制和响应报文,但是发送扫频控制及响应报文上行频率,需要根据当前测试项确定。
考虑现场部署多个网关的情况下,在进行上行扫频测试的时候,需要同时调整多个网关的接收频率设置。
为了更清楚地了解本发明,下文分节对本发明进行更详细的说明。
1、上下行扫频测试的相关参数
进行上下行扫频测试的相关参数包括但不限于:信道频率、频道带宽、数据率、编码率、发射功率、通信报文个数和通信报文间隔时间。一次扫频测试中信道频率参数可能需要在8个频率中变化,但是其他参数如带宽、数据率、编码率、发射功率、通信报文个数和通信报文间隔时间必须都是一个固定值。
2、频率、频率带宽和信道
本发明可以对频率从430.0MHz到510MHz的所有信道进行扫频测试。频道带宽支持125KHz,250KHz和500KHz三种。当频道带宽为125KHz时,实际以频道带宽200KHz为步进,频率从430.1MHz到509.7MHz可以分配出399个信道。当频道带宽为250KHz时,实际以频道带宽400KHz为步进,频率从430.2MHz开始可以分配出199个信道。当频道带宽为500KHz时,实际以频道带宽600KHz为步进,频率从430.3MHz开始可以分配出133个信道。
3、数据率或扩频因子、编码率
扩频因子支持SF7-SF12对应数据率DR5–DR0。共6个速率。网关SX1301芯片在上行接收方向,无论是125kHz,250kHz还是500kHz带宽下,都支持SF7-SF12共6个数据率。编码率分为4种:4/5、4/6、4/7、4/8。
4、终端发射功率和网关发送功率
根据CN470/430代码,支持TX_POWER_0(最大且默认)到TX_POWER_7(最小)8个发送功率。但是根据Lora终端sx1276的实现代码sx1276.c,Lora终端的发射功率可以设置为从2dB到20dB的各个发射功率值。
网关支持的多种发射功率,由配置文件设置。NS发送下行报文时只能使用配置文件里设置好的发射功率。
5、每信道扫频通信次数和通信时间间隔
可以设置每次扫频测试的通信次数(测试报文发送次数)和通信时间间隔(测试报文发送时间间隔)。
通信时间间隔的设定,要考虑到最低速率下报文的发送时间,并且考虑接收窗口时间和MAC状态机更新时间。通信时间间隔要大于这三个时间的总和。特殊情况下,通信间隔时间可以缩短,报文可以以较小间隔连续发射。
6、网关SX1301芯片对以上参数的支持
在上行接收方向,SX1301芯片有IF0-IF7共8个接收通道,这些接收通道只支持125KHz带宽,但是可监听最多8个上行频率。可以在这些频率下的SF7-SF12所有的datarate下进行监听,同时接收最多8个报文。另外SX1301芯片还有一个IF8接收通道,可以配置成125kHz或250kHz或者500kHz带宽,只能监听一个频率,且只能通过设置,监听对应频率的一个data rate。也就是说如果扫频测试中信道带宽是250kHz或者500kHz,SX1301一次只能接收一个上行频率下的报文,不支持8个上行信道同时扫频测试。
在下行发送方向,SX1301只有一个发送通道,一次只能发送一个报文,可以设置发送报文的Radio channel(信道频率),Bandwidth(带宽),data rate(数据率),coding rate(编码率),RF output power(发射功率)。
SX1301收发支持所有4种coding rate。但是每个收发通道都必须事先指定codingrate。对于上行接收,一个通道不能像IF0-IF7同时监听所有data rate那样,监听所有的coding rate。一次只能设定一个coding rate。
7、终端SX1276/1278芯片对以上参数的支持
终端SX1276/1278芯片是半双工的单通道收发设备,收发不能同时进行,一次只能收发一个报文。一次收发都只能在事先配置的Radio channel(信道频率),Bandwidth(带宽),data rate和coding rate下进行。终端SX1276/1278芯片支持在125kHz或250kHz或者500kHz 3种带宽下,以及SF6-SF12共7个data rate下进行收发。其中SF6只支持特定情况下lora的快速通信,且网关SX1301芯片并不支持SF6,所以测试过程中无需对SF6进行测试。
终端SX1276/1278芯片收发支持所有4种coding rate。但是收发都必须事先指定coding rate。一次收发只能支持一种coding rate。
8、一次扫频测试中多个频点的切换方式
一次扫频测试过程中如果涉及到多个扫频频率,需要发送多个扫频报文时。有两种发送报文的方式:一种方式是,在一个扫频频率上发送指定数目的扫频报文,然后再跳转到下一个频率发送指定数目的扫频报文,如此循环直至所有频率;另一个种方式是,在一个扫频频率上发送一个扫频报文,然后在跳转到下一个频率再发送一个扫频报文,如此循环直至所有频率。
一次扫频测试过程中采用以上两种方式中的哪种方式,需要做到可配置。
9、Lora系统扫频测试初始状态定义
考虑到在OTAA模式下,断网有可能触发自动重连。建议初始状态下,Lora终端以ABP模式入网,将下行RX2设置为固定的下行频率,data rate为SF12。终端上行速率采用默认初始值,和网关默认的初始接收频率保持一致。
为了保证扫频测试过程能够正常启动,每次启动扫频测试前,Lora终端和网关必须恢复成默认初始状态。每次扫频测试结束,Lora终端和网关都应该恢复成默认的初始状态。
10、Lora系统扫频测试结果的收集
扫频测试过程中需要收集的测试结果信息包括:报文的信号质量(最大值,最小值和平均值),丢包率等信息。如果一次扫频过程中涉及到多个频点,那收集的测试结果信息应该是每个频点一份。一次PingPong过程的时延不在测试结果信息的收集访问之内。
Lora终端不做太多的数据保存,理论上不负责收集每个报文的报文质量数据。在PingPong测试过程中,AS发给Lora终端的Pong报文中可以携带刚刚收到的Ping报文的信号质量,以及简单的统计数据。而Lora终端发送给AS的Ping报文中可以携带上一个收到的Pong报文的信号质量,以及简单的统计数据。这样在PingPong交互过程中,就可以完成Lora通信两端测试结果信息的收集。
11、上下行同频扫频的Ping-Pong测试方法
图6是本发明中进行上下行同频扫频的Ping-Pong测试的流程示意图。在Lora终端和网关处于默认初始状态时,由Lora终端发起同频Ping-Pong扫频测试。下面结合图6给出Ping-Pong测试中的一些关键步骤。
步骤1、Lora终端负责配置本次上行扫频测试相关的参数,并在默认上行频率和SF12速率下通过扫频控制报文发送给AS。
步骤2、AS收到该控制报文后,马上根据配置参数配置Lora网关的上行接收信道,重启网关的packet forward任务,等待网关进入扫频频率接收状态;
步骤3、AS确认Lora网关准备就绪后,AS通过终端默认的Rx2下行频率和SF12速率向lora终端发送扫频响应报文,向Lora终端确认准备就绪,可以开始发送上行扫频测试报文Ping报文;
步骤4、Lora终端只有收到响应报文后,才会开始发送扫频测试报文(Ping报文),否则会多次重发配置参数,直至超时;
步骤5、Lora终端收到响应报文后,启动定时器定时,以指定的时间间隔(指定的扫频参数)开始发送Ping报文,发送完毕,Lora终端马上在相同的扫频参数下打开Rx2接收窗口(测试过程始终不打开Rx1窗口);
步骤6、AS在收到Lora终端的Ping报文后,尽快以(和Ping报文)相同的发送参数,发送Pong报文;
步骤7、Lora终端在收到Pong报文后,马上再发送一个Ping报文(而无需等到定时器超时)。如果Lora终端没有在定时器规定的超时时间内收到Pong报文,会在定时结束后再发送一个Ping报文;
步骤8、如此反复,直至Lora终端发送完配置参数指定数量的Ping报文。
步骤9、在Ping-Pong测试过程中,Lora终端负责收集下行Pong报文的信号强度,丢包率等信息,AS负责收集上行Ping报文的信号强度和丢包率信息;
步骤10、Lora终端在所有上行Ping报文发送完毕后,通过指定的各个上行扫频频率,以SF12的速率发送扫频测试控制报文,告知AS结束本次扫频测试。Lora终端发送完控制报文后,自行恢复为默认初始状态;
步骤11、AS收到结束扫频测试的控制报文后,将网关接收频率恢复成默认配置,重启网关packet forward任务,进入默认初始状态;
步骤12、至此,AS、网关和Lora终端都恢复成初始默认状态。
在上述测试方法中,需要注意的是:
1、AS发送Pong报文时,发送参数中的频率、带宽、coding rate、data rate都容易做到和Ping报文一致,但是Tx Power比较难做到一致。因为网关支持的Tx power和终端支持的Tx Power并不一致。而且网关通常以最大功率发射,不存在节省能耗的问题。所以没有必要测试网关的多个TxPower,因此可以在扫频配置参数中固定网关发送下行报文的TxPower。
2、需要考虑异常情况下,LoRa终端无法收到响应报文,AS无法收到扫频控制报文的情况,使用定时器建立超时机制,目的是为了将Lora终端和AS恢复到默认初始化状态。
异常处理:
一些异常情况下AS和Lora终端之间不能进行正常的控制通信,为了让AS,网关能够重新恢复到默认初始状态,需要采用一些异常处理机制。Lora终端因为有人工干预过程,可以由人工主动结束测试流程,恢复默认初始状态。
采用超时机制:AS在发送完测试启动响应报文,启动超时定时器,超时时间定义如下:报文数目*频率数目*(估计的收发时间+ping报文发送的时间间隔+一定的冗余时间)。如果超时定时器触发,AS恢复网关默认设置,退出测试状态。
超时机制的优化:为了保证AS超时时间能够尽可能和扫频测试的结束时间匹配,可以在Ping报文里携带当前报文的序号,AS在收到该Ping报文后,计算出剩余Ping报文的数量,并重置一下超时定时器,重置的超时时间=剩余Ping报文的数量*(估计的收发时间+ping报文发送的时间间隔+一定的冗余时间)。这样在一个正常的PingPong过程中,AS可以根据收到的Ping报文动态调整超时时间,使得超时时间和扫频测试的结束时间尽可能接近。
12、连续Ping-Pong测试
为了现场人员能够在移动过程中连续的测试Lora网络的通信情况,需要设计一种连续不间断的Ping-Pong测试方法。这种测试方法只针对单频点进行连续测试,不要求在多个频点之间进行连续的Ping-Pong测试。
连续PingPong测试过程和以上章节的说明基本一致。连续PingPong测试过程必须由人工主动停止。
异常处理:
一些异常情况下AS和Lora终端之间不能进行正常的控制通信,为了让AS,网关能够重新恢复到默认初始状态,需要采用一些异常处理机制。Lora终端因为有人工干预过程,可以由人工主动结束测试流程,恢复默认初始状态。
这里采用的超时机制和上一章节有所区别。AS在收到最后一个Ping报文后,启动定时器,定时时间采用固定值,例如5分钟。如果超时定时器触发,AS恢复网关默认设置,退出测试状态。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。