SX1276的LoRa与FSK技术在室内定位中的应用研究*
2016-11-26付河
付 河
(广州 广日电气设备有限公司,广州 511447)
SX1276的LoRa与FSK技术在室内定位中的应用研究*
付 河
(广州广日电气设备有限公司,广州511447)
研究了SX1276进行RF传输特点、与微处理器的控制接口、RF接收滤波和发送放大等硬件电路的实现。微处理器通过开关控制天线与接收或者发送电路完成数据的传输。为了适应室内定位低功耗的要求,在空闲时,SX1276进入休眠状态,通过活动通道检测技术降低定位装置的电能消耗。根据接收信号强度的方法来测量参考点和目标的距离,利用三个参考点计算目标的空间坐标,实现对目标的准确定位。
室内定位;SX1276;RF;LoRa;FSK/OOK
引 言
定位技术从应用场合来分可以分为室外定位和室内定位。室外定位系统主要有美国的全球定位系统GPS (Global Positioning System)、俄罗斯的格洛纳斯(Global Navigation Satellite System)、欧洲的伽利略(Galileo Positioning System)和中国的北斗系统,这4个全球定位的系统各有特色,但是共同的弱点是主要在室外使用,在室内空间由于信号受到建筑物的屏蔽效应的影响,通常都会丢失信号、无法定位。为了弥补全球定位系统、迎合物联网Io T的需求,逐步发展了室内定位技术。室内定位主要采用无线通信方式,例如Wi-Fi、Bluetooth、ZigBee、超声波和RF,近年随着可见光通信技术的发展,可见光定位也有了一定的发展。无线定位的特点是可以绕过障碍物进行定位,可见光定位只能对可视范围内的物体进行定位。
1 室内定位原理和方法
室内定位原理主要有测量信号传输时间、角度和强度等。
①信号传输时间测量法,计算接收时间和发送时间的差与信号传输速率乘积。
②信号传输角度测量法,通过定向天线控制信号发送的方向,通过计算确定接收区域范围。
③信号强度测量法,通过接收信号的强度计算出发送装置和接收装置之间的距离。
不同测量方法各有优缺点,具体应用时需要根据定位方案和使用环境进行选择和取舍。本文根据SX1276芯片的特点,选用信号强度测量法。
2 硬件实现
SX1276工作的频率范围为-137 MHz~1020 MHz,支持FSK/OOK(Frequency-Shift Keying/On-Off Keying)、LoRa(Long Range)等调制解调方式,其中LoRa是Semtech公司特有的技术,通过LoRa技术可以实现超远距离和超强抗干扰通信,最远距离可以达到15 km。SX1276接收灵敏度为-148 dBm,由于在发送端口内置了功率放大单元,最大发送功率为+20 dBm,最大链路裕量是168 dB。SX1276的频率范围为137~1020 MHz,由于本文的技术主要用于室内定位,障碍物通常较多,为了增强信号对障碍物的穿透能力,选用低频段进行通信和定位,在此选用433 MHz的载波频率[1]。
2.1 控制接口设计
控制单片机选用瑞萨(Renesas)公司RL78/G14系列的R5F104BC,内部集成了EEPROM存储空间,可以用于存储相关参数[2,5]。SX1276与单片机的通信接口是SPI,但是R5F104BC单片机没有SPI接口,用4个通用的GPIO模拟SPI(图1显示了RF收发电路中的SCK、MISO、MOSI、NSS)时序,对SX1276进行控制。与此同时,还提供了状态指示信息DIO0~DIO5给单片机,供单片机快捷读取SX1276各种状态信息[1]。
2.2 收发电路设计
(1)接收和发送滤波电路
在图1中,RF(Radio Frequency)收发电路中方框A区域内是接收信号的滤波电路,通过电容和电感组成LC滤波器,滤除噪声信号,提高接收灵敏度;方框B区域内是发送信号的滤波放大电路,C10将前级滤波器输出的直流分量滤掉,在通过下一级的滤波放大电路后经天线发送出去。
(2)接收和发送选择电路
因为SX1276是半双工工作方式,所以同一时间接收和发送模式只能选择一种方式,选择功能通过开关完成,如图2所示。PE4259SCBC-Z是SPDT UltraCMOS RF开关,开关信号的频率范围为10~3.0 GHz,通过PE4259SCBC-Z设置天线是连接到接收电路还是发送电路。通过RF开关在接收和发送电路之间切换天线,与接收和发送分别用一根天线相比,在有效提高接收灵敏度的同时减少天线数量和产品占用的空间[3]。
图1 RF收发电路
3 定位算法和软件实现
3.1 定位算法
SX1276具有设置发送功率的功能,所以采用信号强度方法进行室内定位。简化的信号强度定位的基本原理[4]如下:
其中P为参考点A接收到被测量点T信号的信号强度(已知);P0为参考点A接收到从相距d0发送的信号强度(已知);d为参考点A与被测量点T之间的距离(未知); d0为参考点A和参考点B之间的距离(已知);n为环境因子(未知)。
为了更好地适应不同的环境,对参考参数P0、d0和n进行动态的修正,其中:P0为参考点B以与被测量点T相同功率发送信号,在参考点A接收到信号强度(已知);d0为参考点A和参考点B之间的距离(已知);n为利用式(1)分别测量参考点A、B和C之间信号强度Pab、Pac和Pbc,计算环境因子n1、n2和n3,然后对3个环境因子取平均得到n。
图2 RF收发选择电路
在图3定位方法示意图中,圆圈表示参考点A、B和C三点在对应接收信号强度的测量点可能的位置,三个圆的交点就是测量点的位置,Dab、Dac和Dbc是三个参考点之间的距离,d1、d2和d3分别是测量点和A、B、C三点之间的距离。
图3 定位方法示意图
通过式(1)计算距离d1、d2和d3,由式(2)、(3)和(4)可以计算出被测量点T的位置坐标(x,y,z)。
为了提升定位的精度,在定位过程中采取如下措施:
①竞争筛选参考点。根据接收时间选取参与计算的参考点,收到信号的参考点给出提示信息,当超过三个以上的参考点收到信息后,其他的参考点停止该测试点的信息处理,确保参与计算的参考点距离离被测量点T最近。
②双模式定位。由于SX1276具有LoRa和FSK两种工作模式,LoRa是远距离传输,FSK是近距离传输,如果用FSK模式没有搜寻最近距离的参考点,就转换成Lo-Ra搜寻较远距离的参考点;不管是FSK模式还是LoRa模式,功率都是逐渐变化的,这样可以保证用最近的参考点进行定位计算。
3.2 软件实现
在完成硬件设计后,要想实现上述的定位算法,还需要相关的软件支撑,软件主要完成以下功能。
(1)初始化
在初始化SX1276时,需要对载波频率、扩频因子、CRC校验方式、信号带宽、发送功率以及数据包结构进行设置。数据包结构有隐式报文头和显示报文头两种模式,显示报文头模式需要指定数据长度、校验字、误码率等;隐式报文头模式上述三个信息是事先约定的,不需要传输,可以提供信息交换效率与速度,在室内定位应用中选用隐式报文头模式传输数据。
(2)数据接收和发送
在图4中,简单描述了发送和接收程序之间的转换过程。从图中可以看出主要有三个阶段:CAD阶段、接收阶段和发送阶段,发送阶段不是必须存在,应答时才需要。
图4 数据接收和发送状态转移图
①CAD(Channel Activity Detection)活动信道检测阶段,考虑室内定位的应用特点,有些场合没有供电电源,必须采用电池供电,所以要尽可能降低产品功耗,提高电池的供电时间。如图4所示,采用CAD活动信道检测技术,该技术检测射频信号的先导信号,当检测到先导信号后, DIO3置1,然后扫描数据包是否完整,如果数据包完整启动接收初始化,否则回到CAD初始化状态。
②接收阶段,接收初始化之后,进入接收状态,如果开启跳频扩频模式,切换信道并将后续的数据全部接收, SX1276将DIO0置1,读取数据和信号强度。如果不需要应答,则进入CAD模式,否则转入发送模式。如果接收数据包超过规定时间,接收错误,进入CAD模式。
③发送阶段,发送过程与接收过程相类似,首先进行发送初始化,如果开启FHSS(Frequency Hopping Spread Spectrum)跳频扩频模式,用多个信道将数据发送出去,发送完成SX1276将DIO0置1,进入CAD模式。若发送数据超时,重复两次发送过程后进入CAD模式。
为了增强通信的可靠性,采用FHSS技术,当某个信道被其他设备占用时,利用其他空闲信道发送数据,如果在规定的时间段内数据没有发送完,再利用后续信道发送剩下的数据。
(3)接收处理数据
接收信号强度读取和计算,接收信号强度绝对值存储在RegRssiValue寄存器中,通过绝对值可以计算得到相对值,但是FSK/OOK模式和LoRa模式相对值计算方法不同。
式中,RSSI[dBm]为相对信号强度,RegRssiValue为绝对信号强度。
定位算法流程如图5所示。
图5 定位算法
4 定位效果验证
为了验证本文的定位方式的定位效果,在广州广日电气设备有限公司新能源研究中心进行测试,研究中心分为上下两层建筑,建筑为996 m2,每层的面积是448 m2,长度为28 m,宽度为16 m。以第一层为例说明定位的效果。图6应用图是第一层建筑的平面图,可以看出,这是一个新能源应用的展厅,有着多个房间和墙壁,同时还有大量的开关电源和无线网络存在,意味着空间存在一定的电磁干扰,可以在一定程度上检验定位系统对抗干扰的能力。为了简化计算,假设地面的高度位为0 m,在第一层和第二层分别布置了6个参考点,以第一层的6个参考点P1 (4,12,0)、P2(4,4,0)、P3(14,12,0)、P4(14,4,0)、P5(24, 12,0)、P6(24,4,0)为例,参考点的坐标信息被记录单片机R5F104BC内置的Flash中记录,Flash中数据的访问方式详见参考文献[5]。将三个被测对象分别放置在T1(5, 10,0)、T2(17,6,0)和T3(25,1,0)位置。下面结合表1~4简单介绍一下定位的方法和过程。
图6 应用图
第一步:参考点P1~P6的坐标是已知的,通过坐标可以计算出相互之间的距离。当检测到需要定位的目标时,参考点使用与目标相同的发射功率发射信号(本例以10 dBm功率发送信号),测量临近参考点的接收信号强度RSSI(Received Signal Strength Indicator),见表1。
表1 参考点关系
第二步:利用表1的数据和式(1)计算环境因子n,见表2。被测对象T1使用参考点P1、P2和P3进行定位;被测对象T2使用参考点P3、P4和P5进行定位;被测对象T3使用参考点P4、P5和P6进行定位。
表2 环境因子
表3 被测对象坐标
表4 结果分析 单位:m
第三步:利用表3被测对象坐标的数据和式(1)计算参考点和被测点之间距离;通过式(2)~(4)组成的方程组计算被测点的坐标。
第四步:分析测量结果与实际位置的偏差,如表4所列,3个被测试点的最大偏差都在以被测对象距离0.5 m为半径的球体内。
结 语
上述方法的定位精度已经可以满足一些领域的应用,如果需要更高的定位精度,可以通过以下方法实现:①选用计算能力更高的微处理器,用更多的参考点来修正环境因子,最大限度减少环境因素的影响;②增加测量的接收信号强度次数,对检测得到的接收信号强度增强滤波,有效去除测量噪声,使得计算用接收信号强度更接近真实的信号强度。
[1]Semtech Corporation.SX1276/77/78/79用户手册[EB/ OL].[2016-06].http://ww w.semtech.com.
[2]Renesas Electronics.RL78/G14用户手册硬件篇[EB/ OL].[2016-06].http://www.renesas.com.
[3]Peregrine Semiconductor.PE4259用户手册[EB/OL]. [2016-06].http://www.psemi.com.
[4]王静.基于信号强度室内定位技术的研究与实现[D].北京:北京工业大学,2009.
[5]付河.RF104BC单片机Flash中数据存储方法研究[M].北京:北京航空航天大学出版社,2016.
付河(高级工程师),主要从事自动控制和光机电一体化方面工作。
LoRa and FSK Technologies Application of SX1276 in Indoor Positioning
Fu He
(Electricity Facilities Guangri Guangzhou Co.,Ltd.,Guangzhou 511447,China)
The RF transceiver character of SX1276,the design of interface circuit between MCU and SX1276,the design of RF receiving filter and transmitting amplifier circuit are researched.The microprocessor transmits the data through the switch control antenna to the receiving or sending circuit.In order to meet the requirement of low-power,the SX1276 enters into sleeping mode when it is idle.The channel activity detection technology is used to reduce the positioning equipment power consumption.The distance between target and refer point is measured by the
signal strength.The coordinate of target is calculated by three reference points,and the exact positioning is achieved.
indoor positioning;SX1276;RF;LoRa;FSK/OOK
TP212.6
A
广东省重点科技专项(2013A011403001)。
(责任编辑:杨迪娜2016-06-02)