(重慶郵電大學(xué) 重慶市移動通信技術(shù)重點實驗室,重慶 400065)
基于TMS320C6678的單歷元單基線“北斗”測姿算法的實現(xiàn)*
李玲霞,黎剛平**
(重慶郵電大學(xué) 重慶市移動通信技術(shù)重點實驗室,重慶 400065)
針對姿態(tài)測量的高精度問題和實時性,以及基于載波相位的“北斗”測姿算法中最小二乘模糊度去相關(guān)平差(LAMBDA)算法的高復(fù)雜運算,選擇TI公司高端處理器中的C6678多核數(shù)字信號處理器 (DSP)作為單歷元單基線“北斗”測姿算法實現(xiàn)平臺。根據(jù)算法的特點采用數(shù)據(jù)流模式對DSP多核進行任務(wù)分配:DSP的CORE0專門負責(zé)與“北斗”接收機UDP(User Datagram Protocol)通信,將“北斗”測姿算法中的各個分部算法分配到另外3個DSP CORE中執(zhí)行并利用基于消息隊列方式的核間通信技術(shù)進行數(shù)據(jù)核間通信。利用OEM617D“北斗”接收機采集的實時“北斗”數(shù)據(jù),經(jīng)過在多核DSP算法處理上運行后,將結(jié)果與Matlab仿真結(jié)果對比,表明本設(shè)計可滿足“北斗”測姿的精確性和實時性要求。
“北斗”測姿;單歷元單基線;多核DSP;用戶數(shù)據(jù)報協(xié)議網(wǎng)口傳輸;Cache技術(shù)
在基于“北斗”衛(wèi)星的定位與姿態(tài)測量領(lǐng)域,載波相位是高精度定位與姿態(tài)測量的主要方式,相對于偽距的觀測精度,載波相位的測量精度比其高出上百倍[1-2]。但要利用載波相位進行姿態(tài)測量必須保證能正確的解算出整周模糊度。目前,國內(nèi)外研究人員一直對整周模糊度進行了大量的研究,陸續(xù)提出了求解模糊度的算法,如快速模糊度逼近法[3](Fast Ambiguity Resolution Algorithm,FARA)、模糊度估算的優(yōu)化算法[4](Optimal method for estimating GPS ambiguities,OMEGA)和OTF(On The Fly,OTF)技術(shù)[5]等。但這些方法只能在長基線的情況下效果比較明顯。而在短基線情況下,由于雙天線收到的“北斗”數(shù)據(jù)存在高度相關(guān)性,這種相關(guān)性在求解模糊度帶來很大困難。而最小二乘模糊度去相關(guān)平差(Least-squares Ambiguity Decorrelation Adjustment,LAMBDA)算法首先對浮點解的協(xié)方差矩陣進行去相關(guān)運算,使得模糊度搜索空間由原來狹長的空間變?yōu)榍蛐慰臻g,這將提高整周模糊度的成功率。
隨著數(shù)字設(shè)備的發(fā)展,對以DSP為核心的實現(xiàn)平臺研究尤為重要。在多數(shù)系統(tǒng)的實現(xiàn)中,DSP通常是承載著復(fù)雜的核心算法任務(wù)的。隨著大型算法的運算越來越復(fù)雜,傳統(tǒng)單核DSP已難以滿足算法要求。而如果同時利用多片單核DSP集成系統(tǒng),將會帶來單核DSP間的接口連接過多、硬件設(shè)計復(fù)雜、系統(tǒng)面積過大等不利因素。TI公司的片上多核DSP TMS320C6678不但具備先進的Keystone架構(gòu),而且主頻可達1.4 GHz,同時兼顧浮點運算與定點運算[6]。
基于此,本文利用LAMBDA算法求解整周模糊度,同時使用TMS320C6678多核DSP實現(xiàn)”北斗”測姿算法。測試結(jié)果表明,采用TMS320C6678多核DSP能實時、精確地解算姿態(tài)角。
單歷元單基線“北斗”測姿算法包括“北斗”數(shù)據(jù)解析算法、偽距定位算法、LAMBDA算法、姿態(tài)角解算,其處理流程如圖1所示。
圖1 單歷元單基線“北斗”測姿算法處理流程圖
Fig.1 Flow chart of single-baseline Beidou surveying and attitude processing
輸入數(shù)據(jù)是由“北斗”衛(wèi)星信號經(jīng)OEM617D”北斗”接收機主副天線接收(由主副天線構(gòu)成超短基線,長度為1 m),經(jīng)射頻處理,中頻變頻和接收機內(nèi)部程序進行封裝后的字符串?dāng)?shù)據(jù)。輸入數(shù)據(jù)包括以#BDSEPHEMERISA字符為數(shù)據(jù)頭的“北斗”星歷數(shù)據(jù)和主副天線的“北斗”數(shù)據(jù)。配置“北斗”接收機向DSP端發(fā)送“北斗”數(shù)據(jù)的頻率為1 Hz。
2.1“北斗”數(shù)據(jù)解析
對從“北斗”接收機傳來的“北斗”星歷字符數(shù)據(jù)和主副天線的“北斗”字符數(shù)據(jù)進行提取,將部分需要轉(zhuǎn)為64 bit double型等其他類型的數(shù)據(jù)進行轉(zhuǎn)化。
2.2偽距定位算法
設(shè)置一個接收機當(dāng)前位置初始估計值為0或者上次定位的結(jié)果,根據(jù)偽距雙差觀測模型建立偽距雙差觀察方程,將偽距雙差方程進行線性化后,利用最小二乘法求解線性化后的偽距觀察方程,將求解的線性化后偽距觀察方程的解代入初始接收機位置估計值,更新接收機當(dāng)前的位置;再經(jīng)過多次迭代后誤差小于預(yù)先設(shè)定的值(本算法中設(shè)定norm(delta_x(1:3,1)) <1×10-7)后跳出迭代循環(huán)中,得到偽距定位的結(jié)果。經(jīng)多次測試和統(tǒng)計,目前利用本算法解算的偽距定位結(jié)果誤差在3~5 m內(nèi)[7]。
2.3LAMBDA算法
本接收設(shè)備由兩根天線構(gòu)成一個基線,可看作兩個“北斗”接收機,以同個衛(wèi)星的載波相位觀測量為參照,對兩個接收機的載波相位觀測方程作差,得到單差載波相位觀測方程,再在單差的基礎(chǔ)上進行兩個衛(wèi)星間的單差載波相位方程作差,就得到了雙差載波相位觀測方程。將基于雙差載波相位[8]的姿態(tài)測量方程統(tǒng)一寫成如下的一個線性矩陣形式[9]:
y=AΔbur+BN。
(1)
其中:y為接收機給出的雙差載波相位觀測量,Δbur是基線向量,N為需要被求解的整周模糊度,A和B為常系數(shù)矩陣。在姿態(tài)測量之所以使用雙差載波相位模型作為載波相位觀測模型,主要原因是經(jīng)過雙差處理后,能消除衛(wèi)星鐘差、接收機鐘差、星歷誤差等誤差。
先不考慮整周模糊度N的整數(shù)要求而直接利用加權(quán)最小二乘法求解浮點型加權(quán)最小二乘解(Δbur,N),即最優(yōu)最小二乘解使得殘余的加權(quán)平方和最小,即
(2)
根據(jù)公式(2)求出(Δbur,N),而(Δbur,N)的協(xié)方差矩陣
(3)
LAMBDA算法分為3步[10]:去相關(guān)、置換、搜索。
(1)先將浮點解及其協(xié)方差矩陣進行Z變換,再對協(xié)方差矩陣進行LDL分解,通過一系列的整數(shù)高斯變換得到滿足一定條件的Z矩陣。
(4)
(5)
2.4姿態(tài)角解算
在導(dǎo)航領(lǐng)域,姿態(tài)一般是表示載體在某一時刻相對于地面的角位置。大多數(shù)姿態(tài)都是表示載體坐標(biāo)系與站心坐標(biāo)系(東-北-天坐標(biāo)系)的角位置關(guān)系,用航向角、俯仰角、橫滾角來表示。假設(shè)載體坐標(biāo)系與站心坐標(biāo)系原點重合,按照一定的旋轉(zhuǎn)順序,將站心坐標(biāo)系旋轉(zhuǎn)3次,使得其與載體坐標(biāo)系重合。每次旋轉(zhuǎn)所參考的旋轉(zhuǎn)軸均為被旋轉(zhuǎn)坐標(biāo)系的坐標(biāo)軸,每次旋轉(zhuǎn)的角度被稱歐拉角。設(shè)坐標(biāo)系為a系,站心坐標(biāo)系為b系。a系在3次旋轉(zhuǎn)過程中,可以得到由歐拉角(俯仰角θ、航向角φ、橫滾角γ)表示的3個方向余弦矩陣。
繞x軸旋轉(zhuǎn):
繞y軸旋轉(zhuǎn):
繞Z軸旋轉(zhuǎn):
假設(shè)b系的旋轉(zhuǎn)順序為Z-Y-X,根據(jù)每次旋轉(zhuǎn)得到的方向余弦矩陣,可以得到姿態(tài)旋轉(zhuǎn)矩陣
(6)
則載體坐標(biāo)系與ENU坐標(biāo)系坐標(biāo)矢量關(guān)系如下:
(7)
(8)
由公式(8)可以得到航向角和俯仰角的表達式:
(9)
其中:φ為航向角,θ為俯仰角,[xb,yb,zb]為基線向量在站心坐標(biāo)系下的坐標(biāo)。
為了實現(xiàn)快速姿態(tài)測量,充分利用了C6678 DSP的多核。將整個“北斗”測姿算法分割為“北斗”數(shù)據(jù)解析、偽距定位算法、LAMBDA算法、姿態(tài)解算,將每個算法根據(jù)一定的任務(wù)分配模式分配到一個DSP核上。以下是實現(xiàn)過程中用到的關(guān)鍵技術(shù)。
3.1多核并行編程技術(shù)
多核DSP的并行編程方式主要有兩種,主從模式和數(shù)據(jù)流模式[11]。主從模式是一種集中控制和分布執(zhí)行的一個并行編程模式。數(shù)據(jù)流模式意味著分布式控制和分布執(zhí)行,該模式適合以流水的方式進行分布式控制和數(shù)據(jù)處理的應(yīng)用,而這種應(yīng)用通常包含幾個復(fù)雜的算法,單核DSP將無法滿足算法性能要求,并且各個算法之間有著頻繁的數(shù)據(jù)交換。
“北斗”測姿算法中含有較為復(fù)雜的矩陣運算,同時也算法間有著很強的數(shù)據(jù)依賴性,故“北斗”測姿算法的多核并行編程模式選用的是數(shù)據(jù)流模式。
3.2基于消息隊列方式的核間通信技術(shù)
德州儀器公司(TI)提供了多核開發(fā)套件(Multicore Software Development Kit,MCSDK),包括下列兩種核間通信方案:通知(Notify)方式和消息隊列(MessageQueue,MessageQ)方式[12]。
基于Notify方式的核間通信是利用核間的通信機制來實施的,而一個Notify攜帶的信息是非常小的,通常只有32 bit。Notify模塊更加側(cè)重于通知,而MessageQ卻可以傳遞變長的消息塊,更側(cè)重于傳遞消息。而實現(xiàn)“北斗”測姿算法的DSP核需要非常頻繁地進行不定長的數(shù)據(jù)傳輸,故使用MessageQ信息進行核間傳遞是最佳的方式。
3.3Cache一致性維護
對于C6678多核DSP來說,為多核配置一定的Cache的優(yōu)勢在于多核在處理數(shù)據(jù)的時候能直接從Cache中快速地讀取而不是去直接尋址到實際存儲數(shù)據(jù)的物理單元,因此多核系統(tǒng)中每個核都配置一個屬于自己的Cache[13]。多核的Cache模型如圖2所示。
在多核情況下,當(dāng)一個核改變一個存儲在共享內(nèi)存的數(shù)據(jù),而這個數(shù)據(jù)的改變需要被其他核去識別,這時就需要Cache一致性維護。在改變這個數(shù)據(jù)的時候?qū)嶋H上并沒有改變存儲在共享存儲中的數(shù)據(jù),改變的是儲存在屬于該核的Cache數(shù)據(jù)。這時其他的核無論是從自己的Cache中還是從共享存儲中讀取該數(shù)據(jù),都不能準(zhǔn)確地感受到該數(shù)據(jù)的變化。在SYS/BIOS的硬件抽象層(hal層)調(diào)用Cache模塊能完美地解決該問題,即在CORE0改變這個數(shù)據(jù)之后調(diào)用Cache_wbAll()函數(shù)或者Cache_wb()函數(shù)將該數(shù)據(jù)回寫到真正存著該數(shù)據(jù)的物理單元中,而在其他核試圖讀取該數(shù)據(jù)之前調(diào)用Cacha_disable()函數(shù)使該核的Cache失效,這樣使得讀取數(shù)據(jù)的時候直接從其真正的物理地址讀取。為了提高DSP更高效率處理數(shù)據(jù),我們一般使用Cache_wb()函數(shù)進行部分數(shù)據(jù)的回寫而不是全部數(shù)據(jù),使用Cache_disable()函數(shù)時使用的不是Cache_Type_All這個參數(shù)而是相應(yīng)的數(shù)據(jù)類型。
3.4DSP端用戶數(shù)據(jù)報協(xié)議網(wǎng)口傳輸技術(shù)
“北斗”接收機以1 Hz的頻率向DSP端發(fā)送數(shù)據(jù)且考慮到在將來“北斗”接收機與數(shù)字信號處理板卡會集成到一起,故設(shè)計多核DSP使用基于網(wǎng)絡(luò)開發(fā)套件(Network Developer’s Kit,NDK)的阻塞式UDP方式與“北斗”接收機進行通信。在SYS/BIOS實時內(nèi)核的條件下,德州儀器公司提供了NDK,內(nèi)部已經(jīng)集成了UDP協(xié)議棧[14]。在CCS5.5中,將NDK子系統(tǒng)加入SYS/BIOS工程中,配置好頭文件和路徑后,即可調(diào)用NDK子系統(tǒng)的組件來實現(xiàn)UDP傳輸。開發(fā)流程如圖3所示。
圖3 基于NDK子系統(tǒng)的阻塞式UDP開發(fā)流程圖Fig.3 Obstructive UDP development flow chart based on NDK subsystem
在配置目標(biāo)IP和本地IP時候,需要注意一定要保證目標(biāo)IP和本地IP在同一網(wǎng)段上,這樣才能進行通信。設(shè)備間可以直接用網(wǎng)線連接也可以通過交換機進行連接。由于“北斗”接收機以1 Hz頻率發(fā)送數(shù)據(jù),速率相對于千兆網(wǎng)口傳輸速率比較低,故使用網(wǎng)口傳輸完全滿足數(shù)據(jù)輸入的實時性。此外,在“北斗”接收機與DSP短距離直連的情況下,多核DSP單獨使用一個CORE0來運行UDP協(xié)議,這使得UDP的丟包幾乎可以忽略不計。
配置目標(biāo)IP、本地IP、網(wǎng)關(guān)IP等重要參數(shù)代碼如下:
char *HostName = “dsp”;
char *LocalIPAddr = “172.24.52.77”;
char *LocalIPMask = “255.255.255.0”;
char *GatewayIP = “172.24.52.1”;
char *DomainName = “receiver”;
char *DNSServer = “8.8.4.4”;
char *DestIPAddr = “172.24.52.209”;
char *DestIPMask = “255.255.255.0”;
NA.IPAddr = inet_addr(LocalIPAddr);
NA.IPMask = inet_addr(LocalIPMask);
strcpy( NA.Domain,DomainName );
端口號設(shè)置為60000。圖4所示為 PC端的網(wǎng)口調(diào)試助手實時接收的數(shù)據(jù)圖。
基于NDK阻塞式的UDP網(wǎng)口傳輸在速率上完全滿足1 Hz。由于”北斗”接收機跟DSP板直連且距離很近,在這種情況下,我們更多考慮的是在可以忽略UDP丟包的情況下,UDP的快速發(fā)送接收性能為后續(xù)的算法處理提供了高速數(shù)據(jù)輸入,同時也在實時性方面得到了更好的發(fā)揮。
4.1基于SYS/BIOS實時內(nèi)核的開發(fā)
SYS/BIOS是由TI公司開發(fā)的實時操作系統(tǒng)TI-RTOS的內(nèi)核組件[15],也被稱為“TI-RTOS Kernel”。在基于SYS/BIOS實時內(nèi)核進行開發(fā)時,借助了TI提供的MCSDK。MCSDK軟件框圖如圖5所示。
圖5 MCSDK軟件框圖Fig.5 Block diagram of MCSDK
在利用C6678 DSP進行實時嵌入式軟件開發(fā)時,往往需要使用到C6678 DSP的片內(nèi)外設(shè)、網(wǎng)口、運算庫函數(shù)、多核開發(fā)等,這時就可以在SYS/BIOS環(huán)境下調(diào)用MCSDK的LLDs、NDK、Algorithm Lib等組件。
4.2“北斗”測姿算法的具體實現(xiàn)
單歷元單基線“北斗”姿態(tài)測量算法的實現(xiàn)硬件平臺為TI公司的C6678評估板,設(shè)置其主頻為1 GHz,軟件集成開發(fā)環(huán)境為CCS5.5。算法實現(xiàn)總共使用了C6678的前4個核。CORE0負責(zé)實現(xiàn)網(wǎng)口接收“北斗”接收機的數(shù)據(jù),CORE1負責(zé)數(shù)據(jù)分類、數(shù)據(jù)解析并將各類數(shù)據(jù)壓入對應(yīng)的Message中,CORE2負責(zé)運行單點定位算法,CORE3負責(zé)運行LAMBDA算法,解算姿態(tài)角。
“北斗”測姿算法實現(xiàn)軟件框圖如圖6所示。
圖6 “北斗”測姿算法實現(xiàn)軟件框圖Fig.6 Software block diagram of Beidou attitude measurement algorithm
在CORE0接收到接收機發(fā)來的數(shù)據(jù)后,將數(shù)據(jù)立刻轉(zhuǎn)發(fā)CORE1,當(dāng)轉(zhuǎn)發(fā)完成后CORE0立刻又在等待下一數(shù)據(jù)的到來,而CORE1將數(shù)據(jù)作簡單的校驗,校驗正確后對數(shù)據(jù)進行解析分類,如果是星歷數(shù)據(jù),則將星歷數(shù)據(jù)解析后存入一個數(shù)據(jù)結(jié)構(gòu)中;如果是RANGEA消息,先進行解析,當(dāng)完成主副天線兩條RANGEA消息的解析后,立刻將主副天線的RANGEA消息壓入姿態(tài)隊列,之后再將存有星歷數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)封裝為消息壓入星歷隊列,這個過程之后CORE1立刻回到初始狀態(tài)。而CORE2開始處于接收隊列的等待狀態(tài),當(dāng)有姿態(tài)消息通過隊列傳來,CORE1將其接收,之后再接收星歷消息。最后將姿態(tài)消息與星歷消息進行單點定位算法,求得浮點解和浮點解的協(xié)方差矩陣,之后通過信號量觸發(fā)CORE3,將浮點解及其協(xié)方差矩陣傳輸給CORE3,CORE2恢復(fù)原來的狀態(tài)。CORE3則利用接收到的浮點解及其協(xié)方差矩陣進行LAMBDA算法、模糊度搜索得到整周模糊度矢量,然后進行坐標(biāo)轉(zhuǎn)換即可求得姿態(tài)角。
5.1多核DSP實現(xiàn)測試
測試場地位于重慶郵電大學(xué)逸夫科技樓頂樓,測試接收機為OEM617D“北斗”接收機。將雙“北斗”天線固定在剛體基線兩端,基線方向向東(航向角176°)。在靜態(tài)條件下,經(jīng)歷連續(xù)400歷元進行實時性測試后,隨機截取其中4次姿態(tài)測量數(shù)據(jù)、姿態(tài)角數(shù)據(jù)與Matlab仿真數(shù)據(jù)對比,如表1所示。
表1 實現(xiàn)與仿真數(shù)據(jù)對比Tab.1 Comparison between implementation and simulation data
經(jīng)過連續(xù)400歷元姿態(tài)測量結(jié)果與Matlab算法仿真結(jié)果取差值,如圖7所示。
圖7 姿態(tài)結(jié)果與Matlab算法仿真結(jié)果取差值Fig.7 Comparison between DSP results and Matlab algorithm simulation results
在DSP核主頻配置為1 GHz的情況下,對連續(xù)400歷元各個部分算法速度進行測試,結(jié)果如表2所示。
表2 各個部分算法速度測試Tab.2 Speed test of each part algorithm
根據(jù)1 GHz的主頻,時鐘周期數(shù)為89 496 991,其對應(yīng)的運行時間為0.089 496 991 s,小于數(shù)據(jù)接收的時間間隔1 s,說明本實現(xiàn)設(shè)計方案滿足實時性要求。
5.2結(jié)果分析
在連續(xù)400歷元分別在DSP平臺和Matlab算法仿真平臺分別進行姿態(tài)測量后,實現(xiàn)解算出的姿態(tài)數(shù)據(jù)與Matlab仿真解算出姿態(tài)角差值在<-4×10-7,5×10-7>。同時,對各個算法模塊進行速度測試,其總的運行時間小于數(shù)據(jù)接收的時間間隔1 s,符合姿態(tài)測量的精度要求和實時性要求,也同時說明C6678多核DSP為單歷元單基線“北斗”測姿算法提供了很穩(wěn)定的算法實現(xiàn)平臺。在姿態(tài)測量領(lǐng)域,利用多核DSP實現(xiàn)姿態(tài)測量算法能進行實時、精確的姿態(tài)解算。
本文以TMS320C6678多核DSP作為算法實現(xiàn)平臺,以SYS/BIOS實時內(nèi)核為軟件系統(tǒng)平臺,調(diào)用SYS/BIOS的IPC模塊、Cache模塊以及基于NDK的UDP模塊。在算法實現(xiàn)上,將算法分割為多個任務(wù),利用多核進行并行處理,實現(xiàn)了“北斗”姿態(tài)測量算法。在姿態(tài)測量領(lǐng)域,利用多核DSP進行姿態(tài)解算是一個新的思路。而在程序優(yōu)化上,由于TI公司為多核DSP匹配了很多已經(jīng)優(yōu)化的運算模塊如MATHLIB C66x等,故下一步研究的問題是如何調(diào)用多核DSP豐富的運算庫來優(yōu)化移植在DSP平臺上的算法代碼,從而實現(xiàn)更高效的姿態(tài)測量。
[1] 李晨陽. 載波相位在提高GNSS接收機精度中的應(yīng)用研究[D]. 北京:北京郵電大學(xué),2014.
LI Chenyang. Study on the application of carrier phase in improving GNSS receiver precision[D].Beijing:Beijing University of Posts and Telecommunications,2014.(in Chinese)
[2] LI Y,DUSHA D,KELLAR W,et al. Calibrated MEMS inertial sensors with GPS for a precise attitude heading reference system on autonomous farming tractors[C]// Proceedings of ION-GNSS2009.Savannah,Georgia:ION,2009:22-25.
[3] CHEN D S. Development of a fast ambiguity search filtering (FASF) method for GPS carrier phase ambiguity resolution[D]. Calgary,AB,Canada:Department of GeomaticsEngineering,University of Calgary,1994:31-41.
[4] 柴洪洲. 模糊度搜索的優(yōu)化算法[J]. 全球定位系統(tǒng),2002,27(1):10-12.
CHAI Hongzhou. Optimized algorithm of ambiguity search[J].GNSS World of China,2002,27(1):10-12. (in Chinese)
[5] TEUNISSEN P J G,VERHAGEN S. GNSS ambiguity resolution:when and how to fix or not to fix[C]//Proceedings of VI Hotine-Marussi Symposium on Theoretical and Computational Geodesy. Heidelberg,Berlin:IEEE Press,2008:143-148.
[6] Texas Instrument. TI TMS320C6678 multicore fixed and floating-point digital processor[M].Texas:TI,2014:13-15.
[7] 周巍.北斗衛(wèi)星導(dǎo)航系統(tǒng)精密定位理論方法研究與實現(xiàn)[D]. 鄭州:解放軍信息工程大學(xué),2013.
ZHOU Wei.Theoretical study and realization of precise positioning of Beidou satellite navigation system[D].Zhengzhou:Information Engineering University,2013.(in Chinese)
[8] 馬煦,常青,侯俊. 綜合利用電離層殘差法和載波相位變化率法探測并修復(fù)周跳[J]. 電訊技術(shù),2005,45(1):115-119.
MA Xu,CHANG Qing,HOU Jun. Detection and reparation for cycle slips using ionosphere residual error method and carrier phase rate method[J].Telecommunication Engineering,2005,45(1):115-119.(in Chinese)
[9] 張賢達,矩陣分析與應(yīng)用[M].北京:清華大學(xué)出版社,2004:548-561.
[10] TEUNISSEN P. The LAMBDA method for the GNSS compass[J]. Artificial Satellites,2006,41(3):89-103.
[11] Texas Instrument. TI multicore programming guide [M]. Texas:TI,2012:1-13.
[12] Texas Instrument. TI SYS/BIOS inter-processor communication (IPC) 1.25 user′s guide [M]. Texas:TI,2012:2-6.
[13] Texas Instrument. TI TMS320C66x DSP cache user guide [M]. Texas:TI,2010:10-20.
[14] Texas Instrument. TI network developer′s kit (NDK) v2.24 user′s guide [M]. Texas:TI,2014:6-10.
[15] Texas Instrument. TISYS/BIOS (TI-RTOS kernel) v6.45 user′s guide[M]. Texas:TI,2015:10-14.
ImplementationofSingle-epochSingle-baselineBeidouAttitudeMeasurementBasedonTMS320C6678
LI Lingxia,LI Gangping
(Chongqing Key Laboratory of Mobile Communications Technology,Chongqing University of Postsand Telecommunications,Chongqing 400065,China)
In order to realize high accuracy and real-time of attitude measurement and solve the problem of high complexity of Least-squares Ambiguity Decorrelation Adjustment(LAMBDA) algorithm in Beidou attitude measurement algorithm beased on carrier phase,the C6678 multi-core digital signal processor (DSP) with TI’s high-end processor is chosen as the single-apoch single-line Beidou attitude measurement platform. According to the characteristics of algorithm,the data stream mode is adopted to allocate tasks to multi-core:DSP’s CORE0 is responsible for the User Datagram Protocol (UDP)communication with the Beidou receiver,the various branches of Beidou attitude measurement algorithm are assigned to other three DSP COREs implementation. Running result of the real-time data collected by OEM617D Beidou receiver on the multi-core DSP algorithm is compared with the Matlab simulation result,which shows that the design can meet the real-time and accuracy requirements of the Beidou attitude measurement.
Beidou attitude measurement;single-epoch single-baseline;multi-core DSP;user datagram protocol network port transmission;Cache technology
date:2016-12-22;Revised date:2017-05-23
國家自然科學(xué)基金資助項目(61301126);重慶市基礎(chǔ)與前沿研究計劃項目(cstc2013jcyjA40032);重慶郵電大學(xué)博士啟動基金(A2012-33);重慶郵電大學(xué)青年科學(xué)研究項目(A2013-31)
**通信作者:1528709062@qq.com Corresponding author:1528709062@qq.com
TN965;P228.1
A
1001-893X(2017)10-1198-07
李玲霞(1976—),女,湖北武穴人,2010年于重慶郵電大學(xué)獲碩士學(xué)位,現(xiàn)為高級工程師,主要研究方向為未來移動通信理論與技術(shù)、寬度無線接入技術(shù);
Email:lilx@cqupt.edu.cn
黎剛平(1993—),男,江西撫州人,碩士研究生,主要研究方向為DSP嵌入式開發(fā)、“北斗”姿態(tài)測量。
Email:1528709062@qq.com
10.3969/j.issn.1001-893x.2017.10.016
李玲霞,黎剛平.基于TMS320C6678的單歷元單基線“北斗”測姿算法的實現(xiàn)[J].電訊技術(shù),2017,57(10):1198-1204.[LI Lingxia,LI Gangping.Implementation of single-epoch single-baseline Beidou attitude measurement based on TMS320C6678[J].Telecommunication Engineering,2017,57(10):1198-1204.]
2016-12-22;
2017-05-26