一、单网关能容纳的节点的数量1、理论值假设单个网关每天最多可以接收a个数据包,每个节点的应用发包频率是每小时b个数据包的话,那么,单个网关最多可以容纳的节点的数目的理论值的计算式如下:S=a/(24*b)。比如,单个LoRaWAN网关如果搭载一个SX1301芯片的话,其每天最多可以接收150万个数据包,如果应用发包频率是每小时1包的话,那么理论上该LoRaWAN网关可以接入的节点的数目 S = 1500000/(24*1) = 62500个。
2、实际值比如,在不同的信号强度下,所用到的扩频因子SF也不同,那么,能发送的数据的长度也就不同,每次能发送的数据的长度不同就会导致需要分成的包的数量也不相同,从而导致即使使用同样的网关、同样的节点,但在节点的不同业务模式下,也会出现单个网关容纳节点的最大数目并不相同的情况。对于有8个信道的网关来说,在没有LBT(发包前监听信道)的前提下,具体的计算公式为:信道容量(即节点数量)S=8T/2et0。其中,8代表8个信道,T代表发送间隔,跟封包长度、速率有关系,1/2e 是基本Aloha算法最大吞吐量,e是常数,等于2.718,t0代表单包的ToA(Time on Air)。在10字节负载的前提下,速率与ToA的关系如表1所示。
举一个例子,假如使用SX1301芯片,在没有LBT(发包前监听信道)的情况下,并且平均每个包空中飞行时间t0=100ms(因此t0=0.1s),平均每个包一分钟发一次(因此T=60s),那么可以容纳多少这样的平均节点呢?S=8*60/(2*2.718*0.1)=883 ,因此,可以容纳883个节点。而且,采用不同算法,也会导致最大吞吐量的变化,从而引起理论容量的变化。比如,如果前提条件修改成每个节点都带有LBT功能,采用时隙Aloha算法而不是之前的基本Aloha算法来评估,则由于算法不同,导致最大吞吐量不同,此时最大吞吐量是1/e,因此信道容量(即节点数量)S=8T/et0 ,从而 ,则理论容量增加一倍,即883*2=1766个节点。
3、大致估算如果不想计算,那么,我们还可以通过以下简单的参考例,来做大致的估算。在网关信号覆盖较号的情况下,90%的信号强度满足SF9以上的速率的前提下,若发送50字节,5s频次,则一个8通道的网关差不多可以对应40个终端/节点。频次跟容量是线性关系,因此,如果实际需要的频次改成比如发送是10s频次,那么,可以推出该8通道的网关差不多可以接入80个终端/节点。在ADR开启、90%的终端速率大于DR3(SF9)的场景下,字节跟容量也差不多是线性关系,因此,也可以根据实际场景的字节简易的代入上述例子来获取一个估计值。
4、注意事项(1)网关数量由于最好1个节点能够保证2~3个网关能接收到数据,因此,假如根据上述方式计算得到总共需要N个网关来对应所有的节点,那么,具体到实际运用中,建议需要用2N~3N个网关,而不是N个网关,来对应所有的节点,以确保数据都能接收到。
(2)发送间隔二、多网关能容纳的节点的数量在实际应用场景下,单网关并不能满足覆盖和容量的要求。在满足一定的信号配比的情况下, 网关可以同时接收SF7~SF12 的信号数据。单网关解调和覆盖能力受限制,理论可以达到这个容量,但是实际上比较难, 但是多网关部署,就可以最大化网络容量。因此,实践中,往往更多的是用到了多网关。1、固定速率当速率固定时,如果具备N个网关,那么,多网关的容量 = 单网关的容量 * N。其中,单网关的容量可按照第一部分来计算或估算。2、开启ADR当开启ADR的时候,那么,多网关的容量就不是线性的变化了。根据Smetech公布的实际测量结果可知,当采用ADR的时候,多网关的容量 > 单网关的容量 * N.^2。
3、多网关部署建议(1)开启ADR开启ADR可以在同样数量的网关的前提下,尽可能多的扩充已有网关的总体容量。(2)选择同频部署同频部署可以使节点连接最近的网关,最大化网络的ADR效果。而ADR效果提升, 即为节点的速率最佳化。速率提升,代表TOA降低,从而代表容量增加,功耗降低。因此,采用多网关的时候,建议采用同频部署,可以比异频部署容纳更多的节点。只有在同频部署无法满足容量的需求下,才考虑增加异频网关的加入。(3) 部署的范围满足1个节点能被2~3个网关接收。