一種基于雙天線的北斗定位系統(tǒng)設(shè)計與實現(xiàn)
摘要 前期實際北斗模塊定位誤差統(tǒng)計分析申得出了北斗模塊的定位誤差分布服從正態(tài)分布,根據(jù)北斗模塊定位誤差分布的規(guī)律,利用在同一塊電路板上的雙天線模塊接收北斗定位信號,將定位信息傳給TMS320F28335DSP芯片,DSP對北斗模塊給出的定位信息做實時算法處理,并將處理后的定位信息傳給嵌入式ARM芯片,ARM芯片在TFT液晶屏上更新定位信息,同時根據(jù)用戶要求來設(shè)置北斗模塊的工作模式。在接收不到北斗定位信息時DSP利用UKF濾波算法,將預(yù)測定位信息發(fā)送給ARM芯片,并標(biāo)記為預(yù)測信息,且顯示在TFT液晶屏上。
本文引用地址:http://2s4d.com/article/201610/306371.htm北斗定位系統(tǒng)是我國自主開發(fā)的全球定位系統(tǒng),目前北斗定位系統(tǒng)在軌運行衛(wèi)星已達(dá)16顆,截止2012年12月27日,我國的北斗定位系統(tǒng)空間信號接口控制文件正式版已公布,北斗定位導(dǎo)航業(yè)務(wù)正式對亞太地區(qū)提供無源定位、導(dǎo)航及授時服務(wù)。該系統(tǒng)可為汽車、客機(jī)和輪船等常用交通工具提供定位服務(wù),為精確制導(dǎo)武器提供定位導(dǎo)航服務(wù),其對我國軍事國防事業(yè)擺脫對國外GPS系統(tǒng)依賴有著重要意義,另外對農(nóng)牧業(yè)、漁業(yè)生產(chǎn)也有著重要意義。
在眾多實際應(yīng)用背景下,如何提高衛(wèi)星定位導(dǎo)航系統(tǒng)的定位精度就顯得尤為重要。本文提出一種基于雙天線結(jié)構(gòu)的構(gòu)想,以提高北斗定位模塊的定位精度為目的,在嵌入式ARM+DSP系統(tǒng)上實現(xiàn)北斗定位系統(tǒng)。
1 系統(tǒng)設(shè)計思想
在衛(wèi)星定位系統(tǒng)眾多應(yīng)用中,常用于描述衛(wèi)星定位精度的參數(shù)主要有水乎均方根誤差(Distance Root-Mean-Square,DRMS)、圓概率誤差(Circular Error Probable,CEP)和球概率誤差(Spherical Error Probable,SEP)等,這些參數(shù)被廣泛用于測量和各種定位系統(tǒng)中,其計算和準(zhǔn)確性與定位誤差的三維分布特征密切相關(guān)。文獻(xiàn)證明在一般情況下,定位誤差的三維分布呈橢球狀,被稱為誤差橢球。其幾何特征主要包括橢球的軸方向、軸長和軸比。軸方向是橢球的3個主軸所在的方向,軸長是定位誤差在橢球軸方向上的標(biāo)準(zhǔn)差,軸比是橢球3個軸長之間的比值。誤差橢球的軸比決定了真實位置落在DRMS圓上的概率。
在對文獻(xiàn)分析后,進(jìn)行單點100組連續(xù)北斗模塊定位測試,統(tǒng)計誤差分布規(guī)律,經(jīng)實際測試、統(tǒng)計分析得出北斗模塊的實際定位誤差近似服從正態(tài)分布,北斗定位模塊的水平定位誤差依91%的概率收斂于8~10 m之間,其中9 m處的分布概率為82%,如圖1所示。
DRMS值為9.0 m,記作R,在實際測量中北斗模塊給出一組定位數(shù)據(jù)(a1,b1),記作A,a1、b1分別表示經(jīng)度和緯度信息,則以(a1,b1)為圓心的DRMS圓如圖2所示。
在同一塊電路板上使用雙天線模塊接收北斗定位導(dǎo)航信息,由于將兩個天線并排安放,所以在任意時刻兩個北斗定位模塊相對于北斗衛(wèi)星的通信鏈路相同,兩個北斗定位模塊可見星情況和接收到的前端衛(wèi)星定位信息也相同。假定某一時刻兩個模塊接收到的定位信息分別為(a1,b1)和(a2,b2),以(a1,b1)和(a2,b2)為圓心,R為半徑的DRMS圓,兩圓記為A、B,則真實點依大概率收斂于兩個圓交點中(a3,b3)、(a4,b4)。根據(jù)前一時刻的位置信息和速度信息可排除其中一個交點(a3,b3)或(a4,b4),則剩下的點就為真實位置的最大概率分布點。
2 系統(tǒng)硬件設(shè)計
系統(tǒng)使用DSP+ARM雙芯片結(jié)構(gòu),DSP主要負(fù)責(zé)接收北斗模塊的定位信息和算法處理功能,ARM芯片負(fù)責(zé)與DSP芯片通信、控制TFT液晶屏的顯示功能。硬件設(shè)計主要包括電源部分、ARM部分、DSP部分、網(wǎng)絡(luò)部分、TFT液晶屏部分以及北斗模塊多部分的設(shè)計。
2.1 系統(tǒng)硬件結(jié)構(gòu)框圖
2.2 電源部分
系統(tǒng)使用較為常見的12 V電壓作為總的電源輸入,經(jīng)LM2596芯片得到5 V電壓作為DSP模塊和TFT液晶屏的電源,5 V電壓經(jīng)ASM1117得到3.3 V電壓作為ARM模塊和網(wǎng)絡(luò)部分以及TF卡的電源。
2.3 ARM部分設(shè)計
ARM芯片使用意法半導(dǎo)體公司的STM32F103VET6芯片,該芯片為32位Cortex—M3內(nèi)核微處理器,主頻最高可達(dá)72 MHz,封裝為LQFP100,減小了PCB板的面積。另外,還支持IO管腳的重映射配置,降低了PCB布線的難度,且支持JTAG、SWD兩種調(diào)試/下載模式,方便用戶使用市面上較為常見的調(diào)試工具J-LINK調(diào)試/下載程序,因此使用方便。
2.4 DSP部分說明
DSP部分使用的芯片為TI公司的新型數(shù)字信號處理器TMS320F28335,該款芯片最高主頻達(dá)150 MHz,采用哈佛流水線結(jié)構(gòu),并具有片內(nèi)硬件乘法器,完成一次浮點數(shù)的乘加運算只需10個機(jī)器周期,故可進(jìn)行高速數(shù)據(jù)運算。
2.5 網(wǎng)絡(luò)部分說明
網(wǎng)絡(luò)部分主要提供了一個可選功能,當(dāng)條件滿足時可將系統(tǒng)的定位信息發(fā)送到以太網(wǎng)上,供遠(yuǎn)端的用戶訪問、查詢。
系統(tǒng)使用美國微星公司的ENC28J60網(wǎng)絡(luò)芯片,該芯片為IEEE802.3兼容的以太網(wǎng)控制器,支持全/半雙工模式,工作電壓兼容TTL電平和CMOS電平,可編程會在發(fā)生沖突時自動重發(fā),可編程填充和CRC生成,用于快速發(fā)送數(shù)據(jù)的內(nèi)部FIFO、DMA以及硬件支持的IP校驗和計算。其封裝為SSOP28,與微處理器的鏈接方式為SPI總線,因此控制方便,最高速度可達(dá)10 Mbit·s-1。
2.6 TFT液晶屏部分說明
TFT液晶屏的每個像點均是由集成在像素點后面的薄膜晶體管來驅(qū)動的,從而可做到高速度、高亮度、高對比度顯示屏幕信息,是目前最佳的LCD彩色顯示設(shè)備之一,其效果接近CRT顯示器,是現(xiàn)在筆記本電腦和臺式機(jī)上的主流顯示設(shè)備。
系統(tǒng)使用16 bit真彩色,320×240分辨率TFT液晶屏。STM32F103ARM芯片負(fù)責(zé)TFT液晶屏的驅(qū)動,STM32F103ARM芯片與TFT液晶屏之間使用FSMC總線通信,以完成對該液晶屏的初始化和顯示控制。
2.7 北斗模塊部分說明
北斗模塊部分使用北京和芯星通公司的UM220北斗定位芯片,其可同時支持BD2 B1、GPS L1兩個頻點,輸出數(shù)據(jù)方式為USART,數(shù)據(jù)協(xié)議為NMEA 0183,默認(rèn)通信波特率為9 600 bit·s-1,并可根據(jù)用戶需要自行設(shè)定最高支持波特率為230 400 bit·s-1,其輸入/輸出信號類型均為LVTTL電平。
UM220通過串口與DSP連接,DSP通過串口完成對北斗模塊的配置,并接收其定位信息。
3 系統(tǒng)工作流程
3.1 系統(tǒng)總體工作流程
系統(tǒng)采用DSP+ARM雙核結(jié)構(gòu),DSP與ARM各司其職。在系統(tǒng)上電后,DSP、ARM芯片完成上電復(fù)位,DSP通過USART接收北斗定位模塊的定位信息,在不失星的情況下進(jìn)行北斗雙天線定位算法計算。而DSP在進(jìn)行北斗雙天線定位算法計算后,通過串口將計算后的北斗定位信息發(fā)送給ARM芯片。若處于失星的情況下,進(jìn)行UKF算法軌跡預(yù)測,并將得到的預(yù)測結(jié)果通過串口發(fā)送給ARM芯片,ARM芯片接收到北斗定位信息后,通過FSMC總線將定位信息更新到TFT液晶屏上,如圖5所示。
3.2 軌跡預(yù)測算法設(shè)計
系統(tǒng)采用無跡卡爾曼濾波(UKF)做為失星情況下的軌跡預(yù)測算法。無跡卡爾曼濾波(UKF)是一種基于最小方差估計準(zhǔn)則的非線性狀態(tài)估計器,其以非線性最優(yōu)高斯濾波器作為基本理論框架。UKF采用UT變換技術(shù),即采用確定的樣本點(Sigma點)來完成狀態(tài)變量統(tǒng)計特性沿時間的傳播,改進(jìn)了擴(kuò)展卡爾曼濾波(EKF)不能求解雅可比矩陣以及泰勒級數(shù)線性化只具有一階的低精度問題,其逼近精度可達(dá)二階或二階以上。U KF算法實現(xiàn)過程如下
Step1
式中,x為未失星前時刻北斗雙天線定位所得定位經(jīng)、緯度信息;px是x的協(xié)方差;n表示系統(tǒng)狀態(tài)維數(shù);北斗應(yīng)用中n取值為2;λ是微調(diào)參數(shù),其可控制樣本點到均值的距離。
式中,pzz是定位誤差的量測方差矩陣;pxz是定位誤差狀態(tài)向量與定位誤差量測向量的協(xié)方差矩陣。
4 系統(tǒng)測試
4.1 北斗雙天線定位測試
該測試需對北斗雙天線定位思想設(shè)計進(jìn)行驗證,對系統(tǒng)的定位精度進(jìn)行實際測試。在晴天的情況下,單北斗模塊定位精度約在9 m,雙天線北斗模塊定位精度約為3.3 m,GPS的定位精度約在10 m,這說明使用雙天線結(jié)構(gòu)大幅提升了北斗定位模塊的定位精度,如表1所示。
4.2 軌跡預(yù)測測試
軌跡預(yù)測測試選定在晴天情況下,首先沿固定路線運動,然后重新沿固定路線運動,在特定時刻經(jīng)北斗雙天線定位模塊的天線取下,然后對比路線軌跡與軌跡預(yù)測算法得到的軌跡數(shù)據(jù)。如圖6所示。
圖中橫軸坐標(biāo)為經(jīng)度坐標(biāo),標(biāo)定到“分”,均為東經(jīng)126°xx分,xx為圖中橫軸標(biāo)定坐標(biāo)值;縱軸坐標(biāo)為緯度坐標(biāo),標(biāo)定到“分”,均為北緯45°xx分,xx為圖中縱坐標(biāo)值。實線軌跡data1為在谷歌地圖上標(biāo)定的真實運動路線,星點狀軌跡data2為得到實際運動路線后,精確到重新測定運動軌跡失星時刻前后的運動路線。兩次軌跡對比結(jié)果表明,在失星情況下采用UKF算法所進(jìn)行軌跡預(yù)測得到臨近時刻定位數(shù)據(jù)的定位精度大約在10 m,介于單模塊北斗定位精度和GPS定位精度之間,但隨著失星時間的增長,軌跡預(yù)測的誤差將會增大,在20個采樣點后,軌跡預(yù)測得到數(shù)據(jù)的誤差將增大至50 m以上。
5 結(jié)束語
定位精度是本系統(tǒng)的關(guān)鍵,經(jīng)實際測試在晴天的情況下北斗雙天線定位思想設(shè)計可大幅度提高北斗定位模塊的定位精度。而在其他的定位系統(tǒng)上,若兩個定位模塊精度相差較小時,也可應(yīng)用雙天線定位思想,提高系統(tǒng)的定位精度。
此外,系統(tǒng)還可使用性能更好的嵌入式處理器,如TI的DM37XX系列芯片,內(nèi)嵌有“DSP+ARM”雙核,既可以做復(fù)雜運算,也可進(jìn)行復(fù)雜控制,這樣便可減小系統(tǒng)的體積與芯片使用數(shù)量,從而簡化系統(tǒng)設(shè)計,使系統(tǒng)更加便于使用。
- STM32單片機(jī)中文官網(wǎng)
- STM32單片機(jī)官方開發(fā)工具
- STM32單片機(jī)參考設(shè)計
評論