付 河
(廣州 廣日電氣設備有限公司,廣州 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,近年隨著可見光通信技術的發展,可見光定位也有了一定的發展。無線定位的特點是可以繞過障礙物進行定位,可見光定位只能對可視范圍內的物體進行定位。
室內定位原理主要有測量信號傳輸時間、角度和強度等。
①信號傳輸時間測量法,計算接收時間和發送時間的差與信號傳輸速率乘積。
②信號傳輸角度測量法,通過定向天線控制信號發送的方向,通過計算確定接收區域范圍。
③信號強度測量法,通過接收信號的強度計算出發送裝置和接收裝置之間的距離。
不同測量方法各有優缺點,具體應用時需要根據定位方案和使用環境進行選擇和取舍。本文根據SX1276芯片的特點,選用信號強度測量法。
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.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 定位算法
為了驗證本文的定位方式的定位效果,在廣州廣日電氣設備有限公司新能源研究中心進行測試,研究中心分為上下兩層建筑,建筑為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)