999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

提高IMU的精度和速度的硬件設計和程序優(yōu)化

2011-04-29 00:00:00張雨喬
今日財富 2011年1期

【摘要】在導航系統(tǒng)中,慣性測量組件(IMU)的精度和速度嚴重影響到導航計算機的性能。為了提高IMU系統(tǒng)的精度和速度,提出了在硬件方面采用高速AD轉(zhuǎn)換器和DSP,同時在程序中采用了基于LD分解的Kalman濾波技術,并采用線性匯編語言對濾波程序進行了優(yōu)化。系統(tǒng)的可靠性和速度得到很大的提高。

【關鍵詞】IMU DSP Kalman濾波 線性匯編語言

【中圖分類號】TP314【文獻標識碼】A【文章編號】1009-8585(2011)01-00-03

1 引言

捷聯(lián)慣性測量組件(IMU)在捷聯(lián)導航系統(tǒng)中所起的作用是相當重要的,其誤差參數(shù)標定的準確性以及速度直接影響著導航精度。載體的導航信息包括角速度和加速度,當這種導航信息發(fā)生變化時,陀螺儀和加速度計就會檢測到這種變化量,并進行相關的轉(zhuǎn)化,最后以脈沖數(shù)大小的形式來表示這種變化量的大小。數(shù)據(jù)采集卡就是用于在采樣時間內(nèi)統(tǒng)計脈沖的數(shù)目,并利用預先測定的標度因子進行解算處理,進而得出直觀的導航信息。因而,這里對采集卡速度和精度就有較高的要求。然而,隨著對IMU體積的要求,僅僅依靠硬件電路的設計來提高系統(tǒng)的速度和精度已經(jīng)難以達到要求,這就需要改進算法程序。

2 系統(tǒng)硬件電路

本系統(tǒng)主要采用了三個陀螺和三個加速度計、高速AD器件和核心處理器DSP。由于需要采集六路模擬量,而系統(tǒng)空間有限以及節(jié)省硬件開銷,故需要對輸入的信號進行依次選通,最后當所有的數(shù)據(jù)都采集完畢以后,再對數(shù)據(jù)進行補償處理,其基本框圖如圖1所示:

為了提高系統(tǒng)的速度,本系統(tǒng)采用了高速AD器件ADS5521和高性能核心處理器件TMS320C6713。ADS5521是一種高性能12位模數(shù)轉(zhuǎn)換器,它的采樣速度可以達到105MSPS,僅采用3.3V單電源供電,并且是內(nèi)置參考電壓。TMS320C6713芯片的關鍵性能特點是:最高可達225MHz的時鐘頻率;264K的在上數(shù)據(jù)存儲器,存儲資源足夠大;憑借超常指令字結構和二級高速緩存,DSP的性能可達2400MIPS,最大1800MFLOPS,速度非常快;

該系統(tǒng)采用這兩種芯片,在很大程度上可以提高系統(tǒng)的速度,但是系統(tǒng)的運行程序也會影響整個IMU的速度和精度,因此必須充分考慮程序的執(zhí)行時間和效率。

3 系統(tǒng)軟件設計以及優(yōu)化

DSP程序是系統(tǒng)進行數(shù)據(jù)處理的核心模塊。根據(jù)AD輸入的陀螺和加速度計信號進行誤差補償,然后轉(zhuǎn)化為RS422形式并發(fā)送給外部設備。整個系統(tǒng)根據(jù)功能要求主要分為兩個模塊:引導程序bootloader模塊和用戶程序模塊。

軟件結構如圖2所示。

引導程序Boot模塊:DSP的系統(tǒng)引導裝載(Boot)是指在系統(tǒng)加電時,由DSP將一段存儲在外部非易失存儲器中的代碼移植到高速存儲器單元中執(zhí)行。引導程序負責將中斷向量表和用戶代碼段從片外FLASH移植到其它高速存儲器中。

用戶程序模塊:首先數(shù)據(jù)采集程序采集陀螺和加速度計的數(shù)據(jù),然后對陀螺和加速度計的數(shù)據(jù)進行誤差補償處理,最后將補償后的數(shù)據(jù)通過RS422發(fā)送程序發(fā)送到系統(tǒng)的外部。參見圖3。

程序中最消耗時間的是數(shù)據(jù)處理程序中的誤差補償部分,在補償濾波程序中,為了防止發(fā)散,我們采用了LD分解的Kalman濾波技術,該技術的應用同時也提高的系統(tǒng)的精度。但是,該方法不僅增加了代碼的長度,而且消耗了大量的時間,因此要對次部分程序做大量的優(yōu)化工作。

3.1 利用編輯器選項優(yōu)化

C6000的C優(yōu)化器是TI 公司的一個創(chuàng)新,它對程序循環(huán)的流水處理使得C代碼的效率得到很大的提高,,只要在編譯時加入優(yōu)化項即可。

使用-mt編譯選項,使用此選項是函數(shù)在參數(shù)傳遞過程中,C編譯器會假設存儲器關聯(lián)消除,從而能夠更好的優(yōu)化。該系統(tǒng)中采用最高級別的優(yōu)化選項進行編譯: cl6x-o3-pm file.c-z。

3.2 采用C程序和匯編程序混合編程

混合編程的一般方法有三種:一是對C程序編譯后形成的匯編程序進行手工的修改與優(yōu)化。二是直接在C語言程序中嵌入?yún)R編語句。三是分別編寫C程序和匯編程序,再獨立編譯成目標代碼模塊,再進行鏈接。第三種方式是混合編程最常用的方式之一,也是我們系統(tǒng)采用的方式。在這種方式下,C程序與匯編程序均可使用另一方定義的函數(shù)與變量。

變量定義的規(guī)則與數(shù)組、指針的使用變量定義是混合編程的基本問題。C程序與匯編程序定義的變量相互之間可以進行訪問。在匯編程序中定義時,需要在變量前加下劃線“_”,然后再用.global定義為全局變量,在C程序中則需要說明為extern變量。

以下程序是為了完成LD分解的Kalman濾波的線性匯編程序而編寫的部分程序:

程序1:矩陣乘法

線性匯編程序

.global _mpyMatix

_ mpyMatrix:

.cproc a,b,c,n

.reg l_out,l_mid,l_in,i,j,sum,k,

v1,v2,v11,v21,v12,a_i,b_i,c_i

MV n,l_out

ZEROi

outloop: ZERO j

MV n,l_mid

midloop: ZEROsum

ZEROk

MV n,l_in

inloop:MPY i,n,v1

MPY k,n,v2

ADDv1,k,v11

ADDv2,j,v21

ADDv1,j,v12

LDW*+a[v11],a_i

LDW*+b[v21],b_i

MPYa_i,b_i,c_i

ADDsum,c_i,sum

ADDk,1,k

[l_in] SUBl_in,1,l_in

[l_in] B inloop

STWsum,*+c[v12]

ADDj,1,j

[l_mid]SUBl_mid,1,l_mid

[l_mid]B midloop

ADDi,1,i

[l_out]SUBl_out,1,l_out

[l_out]B outloop

.endproc

C程序中的聲明和調(diào)用

double mpyMatix(double *a, double *b, double *c,int n);

mpyMatix (a[0][0],b[0][0],c[0][0],n);

程序2:LD分解

.global _LDdis

_LDdis:

.eproc n,pmatrix,lmatrix,dmatrix

.reg i,j,k,m_loop1,m_loop2,m_loop3,

m_loop4, sum1,constant1,constant2, v1,v2,v3,

v, x,x1,y

ZERO i

MVn,m_loop1

Loop1:MPYn,i,x

ADDx,i,x

MVK1,constant1

STWconstant1,*+lmatrix[x]

ADDi,1,i

[m_loop1] SUBm_loop1,1,m_loop1

[m_loop1] B loop1

LDW*+pmatrix[0],x

STWx,*+dmatrix[0]

MVn,m_loop2

SUBm_loop2,1,m_loop2

MVconstant1,i

RCPDP x,constant2

Loop2:MPYn,i,x

LDW*+pmatrix[x],v1

MPYv1,constant2,v2

STWv2,*+lmatrix[x]

ADDi,1,i

[m_loop2] SUBm_loop2,1,m_loop2

[m_loop2] B loop2

MVn,m_loop3

SUBm_loop3,1,m_loop3

MVK 1,j

Loop3: MPYj,n,x1

MPYk,n,y

ZERO sum1

ZERO k

MVj,m_loop4

Loop4: ADDx1,k,x

ADDy,k,y

LDW*+lmatrix[x],v1

LDW*+dmatrix[y],v2

MPYv1,v2,v

MPYv,v1,v

ADDsum1,v,sum1

ADDk,1,k

[m_loop4]SUBm_loop4,1,m_loop4

[m_loop4]B m_loop4

ADDx1,j,x1

LDW*+pmatrix[x1],v3

SUBv3,sum1,v3

STWv3,*+pmatix[x1]

ADDj,1,j

[m_loop3]SUBm_loop3,1,m_loop3

[m_loop3]B loop3

由于空間有限,只列寫了一部分該程序。

4 結論

本系統(tǒng)在硬件電路上采用了高速AD器件和DSP芯片,同時在程序設計上也采取了適當?shù)膬?yōu)化措施,對于消耗時間比較長的誤差處理補償程序,采用了線性匯編語言編寫,雖然增加了代碼的長度,但是卻大大提高了系統(tǒng)的時間。

參考文獻

[1] 裴聽國,李漢舟.全數(shù)字IMU方案[J].中國慣性技術學報.2003.12:69-83.

[2] 李璞,蔡同英.捷聯(lián)測量裝置的數(shù)據(jù)采集技術[J].應用科技.2004.4:48-50.

[3] 陽明曄, 張志勇. 基于TMS320C6000系列DSP的C代碼優(yōu)化方法研究[J].微處理機.2004.4:59-64.

[4] 張淑艷,劉偉寧.TIC6200系列DSP代碼優(yōu)化技術研究[J].計算機工程.2006.1:82-86.

[5] 李方慧,王飛等.TMS320C600系列DSPs原理與應用[M].北京:電子工業(yè)出版社.2003.197-314.

主站蜘蛛池模板: 国产另类视频| av尤物免费在线观看| 亚洲综合久久成人AV| 国产精品短篇二区| 在线观看无码a∨| 天堂中文在线资源| 国产在线观看成人91| 国产区精品高清在线观看| 亚洲色图欧美一区| 国产区精品高清在线观看| 九九这里只有精品视频| 玖玖免费视频在线观看| 人妻中文久热无码丝袜| 大香伊人久久| 国产成人h在线观看网站站| 欧美va亚洲va香蕉在线| 久久人妻xunleige无码| 久久青青草原亚洲av无码| 中文无码精品A∨在线观看不卡 | 男女性午夜福利网站| 国产剧情无码视频在线观看| 在线播放91| 最新亚洲人成网站在线观看| 91精品国产麻豆国产自产在线| 国产精品私拍99pans大尺度| 丁香五月婷婷激情基地| 亚洲成综合人影院在院播放| 免费人成在线观看视频色| 亚洲精品波多野结衣| 亚洲精品国产日韩无码AV永久免费网 | 中文字幕波多野不卡一区| 日本www色视频| 欧美爱爱网| 国产幂在线无码精品| 中文字幕va| 亚洲无码不卡网| 伊人狠狠丁香婷婷综合色| 免费看久久精品99| 久久久久国色AV免费观看性色| 亚洲AⅤ波多系列中文字幕| 欧美丝袜高跟鞋一区二区 | 久久久久九九精品影院| 熟女成人国产精品视频| 97国产在线观看| 激情爆乳一区二区| 亚洲综合第一页| 无码人中文字幕| 成AV人片一区二区三区久久| 日本人真淫视频一区二区三区| 亚洲精选高清无码| 久久精品人人做人人爽电影蜜月| 日韩午夜福利在线观看| 91av成人日本不卡三区| 亚洲一区网站| 香蕉网久久| 欧美精品v| 色精品视频| 欧美爱爱网| 午夜国产不卡在线观看视频| 就去色综合| www.精品国产| 国产亚洲精品资源在线26u| 免费看久久精品99| 呦女亚洲一区精品| 999国产精品永久免费视频精品久久 | 成年午夜精品久久精品| 欧美成人A视频| 国产丝袜第一页| 99在线免费播放| 成人久久精品一区二区三区 | 国产午夜无码片在线观看网站 | 在线观看免费国产| 欧美一级高清视频在线播放| 欧美成人免费午夜全| a毛片在线免费观看| 日本少妇又色又爽又高潮| 三上悠亚精品二区在线观看| 四虎AV麻豆| 99视频在线精品免费观看6| 亚洲精品无码人妻无码| 91系列在线观看| 91青青草视频|