基于GPS技術(shù)的救援目標(biāo)定位_第1頁
基于GPS技術(shù)的救援目標(biāo)定位_第2頁
基于GPS技術(shù)的救援目標(biāo)定位_第3頁
基于GPS技術(shù)的救援目標(biāo)定位_第4頁
基于GPS技術(shù)的救援目標(biāo)定位_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于GPS技術(shù)的救援目標(biāo)定位摘要隨著社會(huì)不斷發(fā)展,國內(nèi)外救援無人機(jī)需求日益增加,對(duì)救援無人機(jī)救援目標(biāo)定位的要求也越來越高,本篇論文主要研究基于GPS技術(shù)的救援目標(biāo)定位,對(duì)GPS組成以及基本原理進(jìn)行剖析。確定了總體方案后,基于STC89C52單片機(jī)的控制下進(jìn)行整體的系統(tǒng)設(shè)計(jì),利用Keil以及C語言進(jìn)行系統(tǒng)軟件開發(fā)設(shè)計(jì)。運(yùn)用卡爾曼濾波改進(jìn)算法對(duì)GPS目標(biāo)定位算法進(jìn)行優(yōu)化處理,并使用MATLAB軟件進(jìn)行仿真。最終在老師的指導(dǎo)下完成論文。關(guān)鍵詞:GPS、卡爾曼濾波、STC89C52單片機(jī)、目標(biāo)定位算法LocationofrescuetargetbasedonGPSTechnologyAbstractWiththecontinuousdevelopmentofsociety,thedemandforrescueUAVisincreasingathomeandabroad,andthedemandforrescueUAVrescuetargetpositioningisalsoincreasing.ThispapermainlystudiestherescuetargetpositioningbasedonGPStechnology,andanalyzesthecompositionandbasicprinciplesofGPS.Aftertheoverallschemeisdetermined,thewholesystemisdesignedbasedonSTC89C52singlechipmicrocomputer,andthesystemsoftwareisdevelopedanddesignedwithkeilandClanguage.TheimprovedKalmanfilteralgorithmisusedtooptimizetheGPStargetpositioningalgorithm,andMATLABsoftwareisusedforsimulation.Finally,thethesisiscompletedundertheguidanceoftheteacher.Keywords:GPS、Kalmanfiltering、STC89C52singlechipmicrocomputer、Targetpositioningalgorithm目錄1緒論 11.1設(shè)計(jì)目的、意義及技術(shù)要求 11.2國內(nèi)外發(fā)展概況 11.3本設(shè)計(jì)應(yīng)解決的主要問題 21.4開發(fā)系統(tǒng)及工具的選擇 22GPS相關(guān)技術(shù)研究 42.1GPS基本組成部份 42.2GPS目標(biāo)定位方式 43設(shè)計(jì)方案說明 63.1系統(tǒng)功能說明 63.2模塊設(shè)計(jì)大致方案 63.3總體方案確定 83.4系統(tǒng)軟件總體設(shè)計(jì) 83.5系統(tǒng)原理圖 93.6軟件詳細(xì)設(shè)計(jì) 103.7系統(tǒng)實(shí)物測試 114基于卡爾曼濾波的改進(jìn)算法 134.1卡爾曼濾波的基本原理 134.2基于卡爾曼濾波的改進(jìn)算法 145卡爾曼濾波改進(jìn)算法在GPS定位中的應(yīng)用 165.1野值處理方式 165.2對(duì)狀態(tài)以及觀測噪聲方差陣的處理 165.3對(duì)觀測噪聲和測量噪聲的處理 175.4MATLAB仿真卡爾曼濾波算法 175.5實(shí)驗(yàn)測試 18結(jié)論 20參考文獻(xiàn) 21謝辭 23附錄 24PAGE71緒論無人機(jī)就最近的時(shí)代潮流而言,是一個(gè)朝陽產(chǎn)業(yè)。無論是中國還是其他國家都在爭先恐后的搶占無人機(jī)的市場。最開始為了滿足各國軍方對(duì)于戰(zhàn)略裝備的需求無人機(jī)因此出現(xiàn)。后來民用無人機(jī)開始大規(guī)模的進(jìn)行使用,廣泛的運(yùn)用在各行各業(yè)。與此同時(shí),救援方式在慢慢變化,由最開始十分傳統(tǒng)的人工搜索到現(xiàn)在人們關(guān)注的智能救援。救援無人機(jī)的誕生水到渠成,這是一種全新的救援方式。救援無人機(jī)有救援效率高,救援速度快,更安全等等優(yōu)點(diǎn)。在特殊環(huán)境的救援任務(wù)下能夠發(fā)揮傳統(tǒng)救援所無法企及的高度。在這樣的情況下,救援無人機(jī)未來的發(fā)展就讓人們特別關(guān)注了,這是能夠在救援領(lǐng)域?qū)崒?shí)在在的幫助救援人員的優(yōu)秀輔助工具。未來的發(fā)展?jié)摿Ψ浅4?。GPS技術(shù)是運(yùn)用在救援無人機(jī)上的關(guān)鍵技術(shù),為了對(duì)救援無人機(jī)目標(biāo)定位進(jìn)行更好的設(shè)計(jì)技術(shù)要求。本文在前人的高度上,分別研究了GPS的具體組成方式、GPS系統(tǒng)的定位原理、卡爾曼濾波算法對(duì)提高GPS定位精度的幫助等。并設(shè)計(jì)定位系統(tǒng),使其可以應(yīng)用在救援無人機(jī)上,從而滿足高精度,高效率,高品質(zhì)的救援無人機(jī)要求。應(yīng)用潛力非常樂觀,可以讓融合了GPS技術(shù)的救援無人機(jī)實(shí)現(xiàn)更加高效率,高準(zhǔn)確度的目標(biāo)定位信息。滿足在各種條件下救援無人機(jī)的市場需求,完成優(yōu)秀的救援任務(wù)。1.1設(shè)計(jì)目的、意義及技術(shù)要求在當(dāng)今時(shí)代,有許多特殊的環(huán)境比如核電站,化學(xué)實(shí)驗(yàn)室等地方,對(duì)這些地方執(zhí)行救援任務(wù)時(shí)需要特別的注意,城市火災(zāi)、地震、海嘯等諸多災(zāi)難來臨時(shí),高效率、高靈活、高品質(zhì)的救援偵查工作格外的重要。如何安排人手都會(huì)在這些災(zāi)難面前顯得薄弱。而救援無人機(jī)天生的高機(jī)動(dòng)性,高效率,高靈活度,可以第一時(shí)間為救援人員提供救援現(xiàn)場的情況,從而輔助展開救援,隨著社會(huì)不斷地發(fā)展救援無人機(jī)必將是時(shí)代的潮流。本文將確定所使用的GPS系統(tǒng)的基本原理,確定所使用的硬件,然后對(duì)其進(jìn)行可行性分析,其次對(duì)GPS算法進(jìn)行研究,使用MATLAB軟件對(duì)卡爾曼濾波算法對(duì)GPS定位精度的改善進(jìn)行仿真,驗(yàn)證GPS和目標(biāo)定位算法的精度,對(duì)其進(jìn)行誤差分析。將現(xiàn)實(shí)生活中的影響因素納入誤差考慮范圍,對(duì)無人機(jī)進(jìn)行精度分析,在解算過程中,確定無人機(jī)高度、飛行速度方向等對(duì)目標(biāo)定位精度的影響,并進(jìn)行誤差分析。通過查找資料,分析國內(nèi)外研究背景和現(xiàn)有技術(shù)。使用基于GPS定位算法進(jìn)行定位。并且自主搭建硬件平臺(tái),完成硬件的選型、通訊及測試。研究目標(biāo)定位算法,使用KEIL以及C語言完成編程并進(jìn)行測試。1.2國內(nèi)外發(fā)展概況國外的研究情況比較可觀,早在一百多年前的英國,就研制開發(fā)了世界上首架無人飛機(jī)??上o人機(jī)最開始的研發(fā)重心主要是如何將其運(yùn)用在國外頻繁的戰(zhàn)爭上面。直到海灣戰(zhàn)爭之后,民用無人機(jī)才開始發(fā)展,從勘察偵查、地質(zhì)勘探、氣候預(yù)報(bào)、農(nóng)業(yè)噴施、電力監(jiān)控等各行各業(yè)都在進(jìn)行無人機(jī)的發(fā)展。發(fā)展速度迅速,成效顯著。在救援任務(wù)中同樣建功不少,是救援人員在進(jìn)行救援時(shí)候不可缺少的輔助工具。無論是地震還是海嘯,國內(nèi)外對(duì)救援無人機(jī)的應(yīng)用都在不斷增加,同時(shí)也在不斷地開發(fā)救援無人機(jī)更多的功能,以滿足日趨增加的無人機(jī)需求市場。我相信國內(nèi)外會(huì)不斷的對(duì)效率高,功能優(yōu),性價(jià)比高的無人機(jī)進(jìn)行研發(fā),使其結(jié)構(gòu)更加的模塊化、功能標(biāo)準(zhǔn)化。從而研究出更多的救援工作需要的功能。1.3本設(shè)計(jì)應(yīng)解決的主要問題(1)運(yùn)用軟件進(jìn)行模擬仿真(2)對(duì)硬件平臺(tái)的搭建、選型、通訊、測試(3)對(duì)GPS算法以及目標(biāo)定位算法進(jìn)行研究(4)環(huán)境影響因素下的誤差范圍(5)解算大地坐標(biāo)系下無人機(jī)目標(biāo)位置(6)安裝救援無人機(jī)的GPS系統(tǒng) 1.4開發(fā)系統(tǒng)及工具的選擇1.4.1STC89C52單片機(jī)簡介一塊完整單片機(jī)里面有電路芯片,還有裝載了微型計(jì)算機(jī)的主要功能部件,大體部分有中央處理器以及包括存儲(chǔ)器、定時(shí)器、I/O接口電路等在內(nèi)的模塊。能夠?qū)崿F(xiàn)穩(wěn)定而又高效的控制,功能單一的微型電腦就是單片機(jī),可以將其看作是一部很小的電腦,只能實(shí)現(xiàn)固定的部分功能。盡管單片機(jī)只是一個(gè)集成電路芯片,它一樣可以滿足對(duì)微型計(jì)算機(jī)系統(tǒng)的定義。因此單片機(jī)就是“SingleChipMicrocomputer”直譯過來的。如圖1.1所示。圖1.1單片機(jī)基本結(jié)構(gòu)單片機(jī)是嵌入式的系統(tǒng),也是微型計(jì)算機(jī)系統(tǒng),它可以在一塊電子芯片上實(shí)現(xiàn)計(jì)算機(jī)運(yùn)算的過程,同時(shí)因?yàn)槠湮⑿偷奶匦?,可以大大提高系統(tǒng)信號(hào)傳遞速度,有效的提高系統(tǒng)的運(yùn)行效率。1.4.2開發(fā)工具Proteus簡介目前享譽(yù)全球的Proteus仿真軟件可以將電路仿真、PCB設(shè)計(jì)、虛擬模型仿真融合在一起進(jìn)行運(yùn)用。Proteus仿真軟件在進(jìn)行設(shè)計(jì)的仿真同時(shí),還可以對(duì)單片機(jī)的元器件進(jìn)行仿真,包括各種單片機(jī)都能夠進(jìn)行仿真設(shè)計(jì)。從實(shí)現(xiàn)設(shè)計(jì)的理念到實(shí)際產(chǎn)品的選擇都可以一步到位,使用者可以隨時(shí)切換PCB設(shè)計(jì)、自行布圖、調(diào)試代碼、協(xié)調(diào)單片機(jī)與電路的仿真。使用方便快捷,能夠?yàn)閱纹瑱C(jī)自學(xué)者、從事單片機(jī)工作者提供完整而又優(yōu)秀的幫助。1.4.3Keil簡介51系列單片機(jī)C語言的軟件開發(fā)最常使用的就是Keil,這是一款非常實(shí)用的軟件,包含了豐富的庫函數(shù)以及提供給用戶的非常方便操作的Windows界面,在與其他設(shè)計(jì)開發(fā)系統(tǒng)相比,Keil軟件的模塊結(jié)構(gòu)完善性、編譯代碼生成效率、緊湊的語句匯編代碼等諸多方面都非常適合單片機(jī)系統(tǒng)設(shè)計(jì)開發(fā)使用。同時(shí)生成的代碼簡單易懂,供用戶理解、后期維護(hù)上有得天獨(dú)厚的優(yōu)勢(shì)。是一款非常容易上手使用的開發(fā)軟件。2GPS相關(guān)技術(shù)研究2.1GPS基本組成部份GPS的主要組成部份分為三個(gè)部份:第一個(gè)是處于太空的空間部份,由太空中的GPS衛(wèi)星組成;第二個(gè)是地面監(jiān)控,由地面監(jiān)控監(jiān)測以及計(jì)算空間中GPS所在位置運(yùn)行軌道的信息組成;第三部份是接收衛(wèi)星信號(hào)的用戶設(shè)備部份,這部分將會(huì)接收軌道信息等微型數(shù)據(jù),從而進(jìn)行計(jì)算得出所處位置。圖2.1描述了GPS衛(wèi)星的工作原理。圖2.1GPS組成及工作原理2.2GPS目標(biāo)定位方式在GPS定位各式各樣的方法里面,在不同的定位過程中都存在許多誤差,但是其定位方式都是根據(jù)空間中的衛(wèi)星信號(hào)被地面監(jiān)控部份攔截后對(duì)信號(hào)進(jìn)行加工。然后經(jīng)過計(jì)算機(jī)的解算將GPS衛(wèi)星的位置確定,同時(shí)確定地面接收機(jī)距離衛(wèi)星的距離,也被定義為偽距。由于實(shí)際的距離和有誤差的測量距離數(shù)據(jù)不一,因此在GPS的定位中,大家將觀測量定義為碼相位觀測量也就是GPS接收機(jī)和空間中的GPS衛(wèi)星之間的偽距,和載波相位觀察量。2.2.1GPS定位原理在目標(biāo)定位原理中,使用碼相位觀測量和載波相位觀察量的距離通過求解,最后將定位結(jié)果解算出來的方法。就是GPS定位使用的數(shù)學(xué)原理后方交會(huì)測量法。這種解算方法可以設(shè)時(shí)間t的GPS接收機(jī)收到了空間中3個(gè)衛(wèi)星的信號(hào)。圖2.4GPS目標(biāo)定位原理圖我們將地面觀測到t時(shí)間的3個(gè)衛(wèi)星分別命名為S1、S2、S3,然后建立空間直角坐標(biāo)系,分別將三個(gè)衛(wèi)星的坐標(biāo)系以X、Y、Z表示,設(shè)空間中的衛(wèi)星和地面接收機(jī)的距離為ρ1、ρ2、ρ3,列出數(shù)學(xué)方程(2.1):((式2.1)在理想條件下通過解算上式方程,可以求解得到GPS接收機(jī)的位置。但在實(shí)際計(jì)算時(shí)需要將接收機(jī)時(shí)鐘誤差考慮進(jìn)去,最少需要4個(gè)衛(wèi)星數(shù)據(jù)才能將實(shí)際的GPS地面接收機(jī)定位解算出來,ρ是接收機(jī)測量時(shí)間乘以光速的已知值。空間衛(wèi)星實(shí)際位置已知。列數(shù)學(xué)公式如下(2.2):((式2.2)在(2.2)式中,δtu乘以c代表的是GPS接收機(jī)的時(shí)鐘誤差和光速的相乘。3設(shè)計(jì)方案說明通過單片機(jī)控制輸入ASCII碼,進(jìn)入液晶顯示屏的內(nèi)部從而顯示內(nèi)容。電子液晶顯示用LCD12864,設(shè)計(jì)方案控制核心使用STC89C52單片機(jī),初步要求整體方便使用,外觀大方得體,便于操作,觀看簡便,能耗低。完成用單片機(jī)控制在LCD上顯示的速度、海拔、經(jīng)緯度等的程序設(shè)計(jì)。系統(tǒng)主要分為電源電路模塊,用來輸入穩(wěn)定電壓維持系統(tǒng)運(yùn)行。主控模塊,控制整個(gè)系統(tǒng)穩(wěn)定運(yùn)行。LCD12864模塊,顯示當(dāng)前狀態(tài),如時(shí)間、海拔、速度、方向、經(jīng)緯度等數(shù)據(jù)以供觀看。GPS定位模塊,將GPS的接收的位置信息進(jìn)行運(yùn)算,將結(jié)果輸入單片機(jī),由單片機(jī)內(nèi)部程序轉(zhuǎn)換為ASCII碼,輸入LCD模塊顯示。單片機(jī)模塊主要負(fù)責(zé)控制,以及讀取數(shù)據(jù)并進(jìn)行處理。GPS模塊GPS模塊定位導(dǎo)航信息定位導(dǎo)航信息LCD12864液晶顯示屏LCD12864液晶顯示屏用戶交互單片機(jī)系統(tǒng)電源電路單片機(jī)系統(tǒng)電源電路指示燈模塊復(fù)位電路指示燈模塊復(fù)位電路圖3.1系統(tǒng)結(jié)構(gòu)圖3.1系統(tǒng)功能說明(1)定位目標(biāo)功能地面接收機(jī)收到空間衛(wèi)星信號(hào)之后GPS模塊將數(shù)據(jù)運(yùn)算出來,然后發(fā)送到單片機(jī)中,轉(zhuǎn)換成代碼發(fā)送到顯示屏,從而精準(zhǔn)的將當(dāng)前海拔、速度、方向、經(jīng)緯度以及時(shí)間等信息顯示出來。(2)實(shí)時(shí)時(shí)間功能由單片機(jī)控制的GPS模塊可以不斷與空間中的單片機(jī)進(jìn)行聯(lián)系,通過解算衛(wèi)星的時(shí)間空間信息,可以方便快捷的顯示出來,從而監(jiān)測當(dāng)前時(shí)間。3.2模塊設(shè)計(jì)大致方案3.2.1控制模塊設(shè)計(jì)本設(shè)計(jì)運(yùn)用STC89C52控制兩個(gè)部份,第一部份是數(shù)據(jù)接收控制,將控制GPS進(jìn)行與空間衛(wèi)星的數(shù)據(jù)交換,以及GPS解算過程的發(fā)送。第二部分是顯示控制,將控制燈、LCD顯示模塊,由晶振、復(fù)位、電源電路組合的單片機(jī)將控制發(fā)送ASCII碼從而控制LCD上的字符發(fā)送以及顯示時(shí)序。3.2.2顯示電路設(shè)計(jì)本設(shè)計(jì)選用LCD12864液晶顯示,通過單片機(jī)控制GPS輸出數(shù)據(jù)到LCD上,改變字符發(fā)送、顯示時(shí)序,按照程序,將復(fù)雜的數(shù)據(jù)以簡單明了的方式顯示。串行口串行口52單片機(jī)GPS模塊LCD12864電源圖3.2設(shè)計(jì)原理圖3.2.3GPS模塊方案設(shè)計(jì)(1)使用傳統(tǒng)的串口接口單機(jī)控制的GPS模塊,速度快,傳輸穩(wěn)定,驅(qū)動(dòng)簡便,程序相對(duì)簡單。雖然價(jià)格也更加便宜,但是整體體積也會(huì)更加的大。(2)選用USB的接口單片機(jī)控制GPS,體積能做的較小,不太穩(wěn)定,需要復(fù)雜的程序支持,同時(shí)驅(qū)動(dòng)難。最終選擇第一種方法接口GPS以及單片機(jī)控制衛(wèi)星數(shù)據(jù)的接收。3.2.4電源模塊設(shè)計(jì)所有的模塊所需要的電源供電電壓都是5V,本設(shè)計(jì)選用穩(wěn)壓芯片做穩(wěn)壓核心,通過USB輸入220V交流電,用穩(wěn)壓芯片從而實(shí)現(xiàn)5V的單一穩(wěn)定電源供電。電路圖如下。圖3.3電源模塊電路圖3.3總體方案確定3.3.1系統(tǒng)硬件方案表3.1系統(tǒng)硬件方案名稱說明CPUAT89S52單片機(jī)顯示屏LCD12864GPSGPS模塊3.3.2應(yīng)用軟件表3.2應(yīng)用軟件名稱說明開發(fā)語言C語言開發(fā)工具Keil3.4系統(tǒng)軟件總體設(shè)計(jì)本設(shè)計(jì)總體設(shè)計(jì)由STC89C52單片機(jī)控制數(shù)據(jù)的輸入輸出,控制空間GPS衛(wèi)星與地面接收機(jī)的信息交換數(shù)據(jù),并通過卡爾曼濾波減少GPS模塊的誤差,提高效率。然后LCD在單片機(jī)的控制之下,傳出位置信息等等開發(fā)工具為Keil。通過C程序定義許多子程序來分別管理各個(gè)模塊,對(duì)各個(gè)子程序的操作,來構(gòu)建整個(gè)程序框架。如下圖所示。開始系統(tǒng)初始化開始系統(tǒng)初始化顯示開機(jī)信息顯示數(shù)據(jù)信息符合NY進(jìn)入中斷清除接收中斷標(biāo)志退出中斷數(shù)據(jù)格式判斷不符合標(biāo)志位符合數(shù)據(jù)接收標(biāo)志位01數(shù)據(jù)接收完畢清除標(biāo)志圖3.4系統(tǒng)主程序主要結(jié)構(gòu)圖3.5數(shù)據(jù)接收程序流程圖先是系統(tǒng)初始化,顯示開機(jī)信息,最后將系統(tǒng)接收到的信息綜合處理,得到數(shù)據(jù)通過單片機(jī)控制字符發(fā)送到顯示屏上。3.5系統(tǒng)原理圖圖3.6系統(tǒng)原理圖3.6軟件詳細(xì)設(shè)計(jì)3.6.1頭文件設(shè)計(jì)時(shí)運(yùn)用了頭文件,包含了不同子模塊的信息,不同的頭文件包含不同子模塊的內(nèi)容,從而將減小互相的影響,增強(qiáng)了系統(tǒng)穩(wěn)定性和移植性,為后續(xù)工作做好了基礎(chǔ),如果要使用其中的某個(gè)頭文件,只需要將C文件和H文件復(fù)制過去就行了。包含的頭文件如下:#include<reg52.h>#include<stdio.h>#include<string.h>#include"GPS.h"#include"LCD.h"#include"display.h"3.6.2系統(tǒng)I/O定義系統(tǒng)中運(yùn)用了不同的I/O對(duì)電源、LCD顯示屏、GPS模塊、提示燈電路等進(jìn)行分開定義控制,更加的便捷高效。sbitled1=P2^4;//接收數(shù)據(jù)指示燈sbitled2=P2^5;//GPRMC數(shù)據(jù)有效指示燈sbitled3=P2^6;//GPGGA數(shù)據(jù)有效指示燈#defineLCD_dataP2//數(shù)據(jù)口sbitLCD_RS=P0^7;//寄存器選擇輸入sbitLCD_RW=P0^6;//液晶讀/寫控制sbitLCD_EN=P0^5;//液晶使能控制sbitLCD_PSB=P0^4;//串/并方式控制3.6.3主函數(shù)主函數(shù)的具體內(nèi)容見附錄1,一方面主函數(shù)可以控制啟動(dòng)其他任何模塊,命令顯示,命令傳輸數(shù)據(jù)等。本設(shè)計(jì)中GPS模塊選擇的是串口,在單片機(jī)控制下更加穩(wěn)定。初始化串口、液晶屏、定位系統(tǒng)后等待GPS傳輸數(shù)據(jù)即可。3.6.4延時(shí)子函數(shù)延時(shí)函數(shù)在任何系統(tǒng)中都要使用,延時(shí)時(shí)間的長短直接決定了整個(gè)系統(tǒng)工作的效率,液晶顯示屏?xí)驗(yàn)檠訒r(shí)時(shí)間過短而顯示失敗,同樣不正常的延時(shí)會(huì)導(dǎo)致GPS的數(shù)據(jù)傳輸失敗。液晶顯示會(huì)因?yàn)檠訒r(shí)過長而響應(yīng)時(shí)間很長,影響系統(tǒng)工作效率voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voidtimer0(void)interrupt1{ staticucharcount=0; TH0=0x3c; TL0=0xb0; count++; if(count==200)//2*5秒鐘 { count=0; change_page++;//換頁 if(change_page==10) change_page=0; } }3.6.5LCD12864子模塊12864的顯示函數(shù),是系統(tǒng)對(duì)外的窗口,對(duì)于LCD模塊的函數(shù)要將數(shù)據(jù)輸出放在地址后面,并且增加檢測步驟,確定系統(tǒng)沒有在工作,上一次的數(shù)據(jù)已經(jīng)清理。具體的函數(shù)如附錄2。LCD12864的地址分別為,0x80、0x90、0x88、0x98。3.6.6GPS子模塊GPS模塊的函數(shù)用卡爾曼濾波處理,可以減少誤差,增加運(yùn)算精度以及效率,讓系統(tǒng)讀取GPS接收器的數(shù)據(jù)進(jìn)行分析處理的時(shí)候更加快速。具體函數(shù)如附錄3。3.7系統(tǒng)實(shí)物測試在室內(nèi)進(jìn)行的系統(tǒng)測試,GPS模塊無法正常使用。通過查找資料,將系統(tǒng)測試由室內(nèi)轉(zhuǎn)移室外進(jìn)行測試,系統(tǒng)正常運(yùn)行,并實(shí)現(xiàn)快速搜星,準(zhǔn)確目標(biāo)定位功能。正常顯示年月日、時(shí)間、經(jīng)緯度。運(yùn)用在救援無人機(jī)上,可以顯示當(dāng)前速度、航向、高度、海拔。具體如下圖:圖3.7系統(tǒng)測試圖1圖3.8系統(tǒng)測試圖2圖3.9實(shí)物圖4基于卡爾曼濾波的改進(jìn)算法在GPS的定位運(yùn)算中,最關(guān)鍵也是難點(diǎn)是對(duì)載波相位的求解。有兩個(gè)方式可以高效率的對(duì)單頻GPS整周模糊度進(jìn)行運(yùn)算。先取一個(gè)高精度的浮點(diǎn)解,再建立模糊度的搜索模型,從而可以實(shí)現(xiàn)對(duì)快速模糊度的計(jì)算。卡爾曼濾波和差分GPS定位相結(jié)合就可以更加高效率的進(jìn)行計(jì)算。4.1卡爾曼濾波的基本原理卡爾曼濾波將最小均方誤差作為標(biāo)準(zhǔn),把系統(tǒng)前估計(jì)值和當(dāng)前觀測值當(dāng)作變量參考的一部分,用來估算當(dāng)前的最佳值??柭鼮V波只需要有系統(tǒng)的狀態(tài)方程和觀測方程就可以完成。當(dāng)我們?cè)诂F(xiàn)實(shí)生活中,運(yùn)用卡爾曼濾波的前提是系統(tǒng)的狀態(tài)轉(zhuǎn)換離散而且并不連續(xù)在一起的,其次系統(tǒng)的狀態(tài)會(huì)受到外部的影響。第三無論是轉(zhuǎn)換還是觀測過程都會(huì)受到噪聲的干擾,最后是無法直接觀測的是系統(tǒng)的狀態(tài),可以將整個(gè)系統(tǒng)的變化宏觀看成不同狀態(tài)的轉(zhuǎn)換。假設(shè)Xt是t時(shí)刻系統(tǒng)的狀態(tài)變量,狀態(tài)轉(zhuǎn)換矩陣為A,狀態(tài)控制輸入為Ut,狀態(tài)控制為B,狀態(tài)變換過程中噪聲為X(式4.1)式中,滿足方差為Q、均值為零正態(tài)分布的噪聲wt。假設(shè)觀測噪聲、觀測量分別是Z(式4.2)式中,Ht為從狀態(tài)變量到觀測量的轉(zhuǎn)換矩陣,Vt在正態(tài)分布中均值是0,方差是R。圖4.1卡爾曼濾波應(yīng)用示意圖4.2基于卡爾曼濾波的改進(jìn)算法為了求解整周模糊度,運(yùn)用LAMBDA進(jìn)行模糊度搜索,再使用Kalman濾波算法對(duì)浮點(diǎn)結(jié)果進(jìn)行濾波修正,從而實(shí)現(xiàn)更加高效、精準(zhǔn)的運(yùn)行??柭鼮V波算法可以建立模型,運(yùn)用線性最小方差估計(jì)的運(yùn)算方法對(duì)系統(tǒng)模型中的動(dòng)態(tài)變換過程進(jìn)行修正和詮釋,而改進(jìn)后的卡爾曼濾波可以利用不同時(shí)刻的估計(jì)值和觀測值來隨時(shí)對(duì)動(dòng)態(tài)狀態(tài)向量進(jìn)行評(píng)估更新。可以讓系統(tǒng)更加便捷快速的對(duì)當(dāng)前時(shí)刻最優(yōu)估計(jì)值進(jìn)行高效計(jì)算。4.2.1Kalman濾波系統(tǒng)狀態(tài)方程為了更好的假設(shè)系統(tǒng)狀態(tài)正在動(dòng)態(tài)變換下的方程,把地面GPS接收信號(hào)機(jī)器上接收到的時(shí)間觀測歷元和狀態(tài)向量分別假設(shè)為t、Xt。X(式4.3)Xt-1為歷元t-1時(shí)刻的狀態(tài)向量;Ft為狀態(tài)轉(zhuǎn)移矩陣;w為歷元t-1時(shí)刻的系統(tǒng)噪聲向量,它服從均值為零、方差為Qt的正態(tài)分布。歷元t、t-1時(shí)刻的時(shí)間差為ΔtF(式4.4)4.2.2Kalman濾波觀測方程卡爾曼濾波算法的觀測方程使用相位偽距觀測值導(dǎo)出Z(式4.5)式中,Zt表示觀測值,λ為波長,?表示相位觀測值,Vt設(shè)為觀測時(shí)候的噪聲誤差。設(shè)系統(tǒng)修正了各項(xiàng)λ(式4.6)式中,噪聲ε服從正態(tài)分布,均值0、方差R。?ij,rb為雙差載波相位觀測值,rij,rb表示雙差偽距觀測值,整周模糊度Nij,rbr(式4.7)式中,GPS接收機(jī)移動(dòng)站指向衛(wèi)星j、衛(wèi)星i的單位向量為aj,r、ai.r。GPS接收機(jī)的基線向量brb。已知GPS基站的位置,基線向量H=(式4.8)卡爾曼濾波可在建立了狀態(tài)、觀測方程后,進(jìn)行狀態(tài)向量的估計(jì),估計(jì)值的計(jì)算、觀測修正兩個(gè)部分,計(jì)算公式為X(式4.9)P(式4.10)K(式4.11)X(式4.12)P(式4.13)式中,Pt為t時(shí)刻Xt狀態(tài)向量所對(duì)應(yīng)的協(xié)方差矩陣,雙差觀測值協(xié)方差矩陣Rt。在濾波過程中,5卡爾曼濾波改進(jìn)算法在GPS定位中的應(yīng)用5.1野值處理方式觀測時(shí)會(huì)因?yàn)闇y量設(shè)備和數(shù)據(jù)傳輸之類的問題在觀測序列中包含突發(fā)性野值,從而造成測量結(jié)果出現(xiàn)偏差。經(jīng)分析認(rèn)為,與一般的誤差對(duì)比,野值誤差會(huì)有很大的差異,可以明顯體現(xiàn)出來,可以使用大數(shù)定理的野值修正算法,將其轉(zhuǎn)化為定常系統(tǒng)。如式5.1(式5.1)采用基本卡爾曼濾波遞推算法進(jìn)行的濾波達(dá)到穩(wěn)態(tài)時(shí),新息序列為(式5.2)為零均值獨(dú)立正態(tài)同分布隨機(jī)序列。在觀測量為一維的情況下,有:(式5.3)由切比雪夫大數(shù)定律可知(式5.4)如果觀測數(shù)據(jù)中出現(xiàn)野值,就一定會(huì)導(dǎo)致新息序列的紊亂,因此修正出現(xiàn)野值后的新息序列就可以盡可能地避免卡爾曼濾波的準(zhǔn)確度由于野值的影響5.2對(duì)狀態(tài)以及觀測噪聲方差陣的處理獲得卡爾曼濾波最優(yōu)估計(jì)值的前提條件是準(zhǔn)確掌握系統(tǒng)中的狀態(tài)、觀測噪聲方差陣Q、R。Q、R對(duì)于濾波精度、濾波發(fā)散程度影響至關(guān)重要。經(jīng)過研究發(fā)現(xiàn),Q、R是隨著在觀測的物體不斷地變化地值。因此將狀態(tài)、觀測噪聲方差陣Q、R的時(shí)變性質(zhì)考慮進(jìn)卡爾曼濾波算法中是不可避免的,不能為了方便濾波模型的建立而隨意的對(duì)Q、R進(jìn)行取值。經(jīng)過研究參考文獻(xiàn)發(fā)現(xiàn),利用狀態(tài)、觀測噪聲方差陣Q、R來對(duì)信息進(jìn)行更新的方法被命名為自適應(yīng)卡爾曼濾波。自適應(yīng)卡爾曼濾波算法已經(jīng)出現(xiàn)了很多的研究方法,其中模型方差自適應(yīng)補(bǔ)償法在預(yù)測殘差和統(tǒng)計(jì)相應(yīng)的計(jì)算量生成卡爾曼濾波的模型的時(shí)候可以利用自身的觀測數(shù)據(jù)對(duì)模型中誤差進(jìn)行更新,保證了系統(tǒng)的穩(wěn)定性和統(tǒng)一性。而逼近法所使用的新息序列自適應(yīng)卡爾曼濾波被稱為Sage濾波,其預(yù)估狀態(tài)誤差協(xié)方差陣的方法是利用了前m步里面的殘差序列對(duì)系統(tǒng)中的狀態(tài)、觀測噪聲方差陣Q、R進(jìn)行實(shí)時(shí)性的觀測和記錄。在不同的使用前提下使用不同的自適應(yīng)卡爾曼濾波方法會(huì)給研究帶來更加便捷的體會(huì)。為了處理GPS目標(biāo)定位獲取的動(dòng)態(tài)數(shù)據(jù)選擇使用自適應(yīng)濾波算法的前提是掌握GPS動(dòng)態(tài)數(shù)據(jù)平穩(wěn)而又隨機(jī)過程的特點(diǎn),通過這一特點(diǎn)和參考文獻(xiàn)[20]提出新的Q、R自適應(yīng)估計(jì)方法,能夠?qū)⒆钚碌挠^測量實(shí)時(shí)輸入。從而提高了Q、R估計(jì)值的更新效率,實(shí)驗(yàn)證實(shí)這一方法使得精度提高、發(fā)散減少,被稱為差分Q/R自適應(yīng)卡爾曼濾波。5.3對(duì)觀測噪聲和測量噪聲的處理隨機(jī)誤差并不是0均值的白噪聲,會(huì)對(duì)GPS目標(biāo)定位帶來很多誤差。在進(jìn)行卡爾曼濾波的公式進(jìn)行運(yùn)算時(shí)正確處理誤差的方法是建立不同的誤差模型,有針對(duì)性地選擇卡爾曼濾波改進(jìn)算法對(duì)不同的隨機(jī)誤差進(jìn)行處理。而不是直接調(diào)用卡爾曼濾波函數(shù)進(jìn)行運(yùn)算,這樣可以取得最優(yōu)的估計(jì)值。點(diǎn)估計(jì)理論算法對(duì)卡爾曼濾波運(yùn)算GPS定位數(shù)據(jù)的動(dòng)態(tài)模型建立有很好的幫助,一方面可以從空間衛(wèi)星和地面接收機(jī)的偽距進(jìn)行誤差因素匯總,將隨機(jī)誤差的不一致等效位偽距的誤差。將隨機(jī)誤差的影響因素匯總為定位數(shù)據(jù)中的整體誤差,穩(wěn)定性好、運(yùn)算量少、效率更高。利用卡爾曼濾波器對(duì)動(dòng)態(tài)變換數(shù)據(jù)的處理。減少了中間誤差分類處理建模過程以及運(yùn)算量。讓GPS定位精度更高。效果更好。5.4MATLAB仿真卡爾曼濾波算法在研究實(shí)際誤差對(duì)濾波影響的改進(jìn)后使用MATLAB進(jìn)行仿真,在軟件對(duì)卡爾曼濾波仿真的時(shí)候會(huì)發(fā)生,因?yàn)橛?jì)算機(jī)字節(jié)等問題而導(dǎo)致的誤差過大,可能會(huì)破壞卡爾曼濾波算法的計(jì)算條件導(dǎo)致計(jì)算不準(zhǔn)確,仿真結(jié)果發(fā)散的情況。因此在將卡爾曼濾波運(yùn)用在GPS目標(biāo)定位的數(shù)據(jù)處理的時(shí)候,要結(jié)合具體情況,對(duì)卡爾曼濾波算法進(jìn)行針對(duì)性的改進(jìn)和避免,從而進(jìn)行精準(zhǔn)定位。在進(jìn)行改進(jìn)后的卡爾曼濾波處理GPS數(shù)據(jù)后的觀測圖如下所示。MATLAB具體仿真程序見附錄4。圖5.1帶有噪聲的觀測量圖5.2理想的觀測量圖5.3濾波后的觀測量5.5實(shí)驗(yàn)測試對(duì)卡爾曼濾波改進(jìn)算法進(jìn)行仿真試驗(yàn)前將GPS的數(shù)據(jù)進(jìn)行采樣,再將改進(jìn)后進(jìn)行采樣,從而驗(yàn)證設(shè)計(jì)的卡爾曼濾波改進(jìn)算法對(duì)GPS定位精度的影響。圖5.1系統(tǒng)實(shí)驗(yàn)測試圖圖5.2系統(tǒng)實(shí)驗(yàn)測試圖測試過程將系統(tǒng)實(shí)驗(yàn)采集的數(shù)據(jù)作為定位參考數(shù)據(jù),將實(shí)際測量的靜態(tài)GPS數(shù)據(jù)作為誤差,進(jìn)行濾波計(jì)算。結(jié)果如表5.1。表5.1卡爾曼濾波得到的誤差統(tǒng)計(jì)表濾波前濾波后經(jīng)度方向位置誤差最大正偏差4.56m2.15m最大負(fù)偏差-4.56m0.17m均方根2.13m0.54m緯度方向位置誤差最大正偏差11.46m3.27m最大負(fù)偏差-18.96m-4.9m均方根6.9m1.36m高度方向位置誤差最大正偏差25m0.45m最大負(fù)偏差-22.58m-10.79m均方根12.49m3.2m經(jīng)度方向速度估計(jì)誤差均方根0.015m/s0.001m/s緯度方向速度估計(jì)誤差均方根0.052m/s0.003m/s高度方向速度估計(jì)誤差均方根0.066m/s0.006m/s使用了卡爾曼濾波算法后的誤差明顯減小,在經(jīng)緯度方向位置誤差的正偏差、負(fù)偏差減少明顯,分別有一半和數(shù)十倍的差距,表格可以明顯看出來各個(gè)方面的誤差都明顯減少,作用非常顯著。明顯增強(qiáng)了GPS目標(biāo)定位精度,顯著改善了系統(tǒng)動(dòng)態(tài)性能。結(jié)論通過這次的畢業(yè)設(shè)計(jì),讓我更加清楚、明白地、牢固掌握了,大學(xué)四年所學(xué)的相關(guān)專業(yè)知識(shí)。大量自學(xué)了有關(guān)單片機(jī)方面的很多知識(shí)。至此,GPS救援目標(biāo)定位系統(tǒng)經(jīng)過一開始的懵懂設(shè)計(jì)、初步完善及最終的應(yīng)用檢驗(yàn),具備基本的功能。研究了GPS的目標(biāo)定位算法,自學(xué)了卡爾曼濾波算法、Keil單片機(jī)開發(fā)軟件、MATLAB仿真軟件、C語言,熟練掌握了單片機(jī)元器件焊接方法,最終完成了畢業(yè)設(shè)計(jì)。同時(shí)由于時(shí)間安排不當(dāng)和個(gè)人能力的不足,本設(shè)計(jì)也有很多的缺憾,值得進(jìn)一步的深入學(xué)習(xí)研究。在對(duì)系統(tǒng)軟件設(shè)計(jì)的時(shí)候,遭遇了很多挫折,在導(dǎo)師的幫助下一步步克服難題。碼代碼、焊元器件、實(shí)物測試過程、對(duì)算法的研究。一路走來收獲滿滿,也明白自己能力不足還要不斷地學(xué)習(xí)。比如對(duì)于引腳的定義,比如怎么將設(shè)計(jì)的GPS目標(biāo)定位結(jié)合地圖更加直觀的展現(xiàn)出來,如何將LCD上的內(nèi)容通過物聯(lián)網(wǎng)的方式傳輸?shù)绞謾C(jī),或者藍(lán)牙鏈接等等諸多問題值得去學(xué)習(xí)完善,讓我充分明白了學(xué)無止境。參考文獻(xiàn)[1]楊元喜何海波徐天河.論動(dòng)態(tài)自適應(yīng)濾波[J].測繪學(xué)報(bào),2001(04):13-18.[2]劉濤.陸基MMS中GPSINS濾波器的探討[J].邵陽學(xué)院學(xué)報(bào)(自然科學(xué)版),2008(04):39-41.[3]楊元喜文援蘭.衛(wèi)星精密軌道綜合自適應(yīng)抗差濾波技術(shù)[J].中國科學(xué)(D輯:地球科學(xué)),2003(11):90-97.[4]房建成萬德鈞吳秋平申功勛.GPS動(dòng)態(tài)濾波的新方法[J].中國慣性技術(shù)學(xué)報(bào),1997(02):4-10.[5]楊子俊廖鳳英韋慶.GPS在移動(dòng)機(jī)器人導(dǎo)航定位系統(tǒng)中的應(yīng)用[J].艦船電子工程,2005(06):9-11.[6]徐天河楊元喜.改進(jìn)的Sage自適應(yīng)濾波方法[J].測繪科學(xué),2000(03):28-30.[7]房建成申功勛高洪霞.民用導(dǎo)航型CA碼GPS接收機(jī)動(dòng)態(tài)定位的強(qiáng)跟蹤卡爾曼濾波研究[J].電子測量與儀器學(xué)報(bào),1998(02):1-6.[8]高怡高社生馮志華.一種新的非線性模型預(yù)測UPF算法[J].西北工業(yè)大學(xué)學(xué)報(bào),2012(05):113-117.[9]宋迎春陳正陽.GPS/INS組合導(dǎo)航中的自適應(yīng)濾波算法[J].湘潭大學(xué)自然科學(xué)學(xué)報(bào),2006(2):5-5.[10]馮志華高社生陳麗容焦雅林.動(dòng)力學(xué)模型系統(tǒng)誤差及其協(xié)方差陣的隨機(jī)加權(quán)擬合法[J].系統(tǒng)工程與電子技術(shù),2012(02):134-138.[11]魏武魏敏.基于小波神經(jīng)網(wǎng)絡(luò)的卡爾曼濾波在GPSDR系統(tǒng)中的應(yīng)用[J].微電子學(xué)與計(jì)算機(jī),2010(07):27-30.[12]張強(qiáng)孫紅勝胡澤明.目標(biāo)跟蹤中野值的判別與剔除方法[J].太赫茲科學(xué)與電子信息學(xué)報(bào),2014(02):108-111.[13]李巖任睿王旭剛.兩種卡爾曼濾波模型在修正彈彈道數(shù)據(jù)處理中的應(yīng)用比較[J].彈道學(xué)報(bào),2011(01):31-34.[14]鐘珊尹斌.基于Proteus的溫度測控系統(tǒng)仿真研究[J].電子設(shè)計(jì)工程,2011(24):129-131.[15]房建成高洪霞.民用導(dǎo)航型C/A碼GPS接收機(jī)動(dòng)態(tài)定位的強(qiáng)跟蹤卡爾曼濾波研究[J].電子測量與儀器學(xué)報(bào),1998(2):6-6.[16]馬華玲.仿真軟件在高校電子類課程設(shè)計(jì)中的應(yīng)用[J].教育教學(xué)論壇,2013(32):173-174.[17]高梅馬睿.淺談基于Proteus的電子類實(shí)訓(xùn)平臺(tái)構(gòu)建[J].數(shù)字技術(shù)與應(yīng)用,2015(10):229-229.[18]張曉培常二框.智能住宅小區(qū)安防系統(tǒng)的設(shè)計(jì)[J].河南科技,2016(23):2-2.[19]葛昌利.高精度GPS定位方法及其在無人機(jī)定位系統(tǒng)中應(yīng)用的研究[D].南京郵電大學(xué),2018[20]CWJang,JCJuang,FCKung.Adaptivefaultdetectioninreal-timeGPSpositioning[J].IEEProc.-Radar.SonarNavig,2000,147(5):676-684.謝辭為時(shí)一個(gè)學(xué)期的畢業(yè)設(shè)計(jì)即將結(jié)束了,這也意味著在北京理工大學(xué)珠海學(xué)院的大學(xué)生涯也即將結(jié)束。在畢業(yè)設(shè)計(jì)這段時(shí)間里,我得到了很大的提高,其中包含了對(duì)系統(tǒng)知識(shí)的理解、還有對(duì)有關(guān)方面書籍的認(rèn)識(shí)等等,這些都得益于李春老師的大力幫助。時(shí)間倏忽,轉(zhuǎn)眼間四年過去,在學(xué)校收獲了很多,學(xué)到了很多,我將會(huì)把所知所學(xué)進(jìn)行鞏固,報(bào)答父母的養(yǎng)育之恩,報(bào)答老師和學(xué)院的栽培。再次感謝。附錄1:主函數(shù)模塊/****************************************主函數(shù) /****************************************/voidmain(void){ ucharerror_num=0; Uart_Init();//初始化串口 Lcd_Init(); //初始化LCD GPS_Init();//初始化GPS rev_stop=0; REV_NO; while(1) { if(rev_stop)//如果接收完一行 { TR0=1;//開啟定時(shí)器 REV_YES; if(change_page%2==1)//換頁 { if(GPS_GGA_Parse(rev_buf,&GPS))//解析GPGGA { GGA_YES; GPS_DisplayTwo();//顯示第二頁信息 error_num=0; gps_flag=0; rev_stop=0; REV_NO; } else { error_num++; if(error_num>=20)//如果數(shù)據(jù)無效超過20次 { GGA_NO; error_num=20; GPS_Init();//返回初始化 } gps_flag=0; rev_stop=0; REV_NO; } } else { if(GPS_RMC_Parse(rev_buf,&GPS))//解析GPRMC { RMC_YES; GPS_DisplayOne(); //顯示GPS第一頁信息 error_num=0; gps_flag=0; rev_stop=0; led1=1; } else { error_num++; if(error_num>=20)//如果數(shù)據(jù)無效超過20次 { RMC_NO; error_num=20; GPS_Init();//返回初始化 } gps_flag=0; rev_stop=0; REV_NO; } } } }}2:延時(shí)子函數(shù)模塊#ifndef__LCD_H_#define__LCD_H_#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineLCD_dataP2//數(shù)據(jù)口sbitLCD_RS=P0^7;//寄存器選擇輸入sbitLCD_RW=P0^6;//液晶讀/寫控制sbitLCD_EN=P0^5;//液晶使能控制sbitLCD_PSB=P0^4;//串/并方式控制#defineDelayNOP();{_nop_();_nop_();_nop_();_nop_();};voidclr_screen();voiddelay(uintz);voidLcd_WriteCmd(ucharcmd);voidLcd_WriteDat(uchardat);voidLcd_Init(void);voidLcd_SetPos(ucharX,ucharY);voidLcd_DispLine(ucharline,ucharpos,uchar*str);#endif//__LCD_H_#include"LCD.h"voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voidclr_screen(){Lcd_WriteCmd(0x34);//擴(kuò)充指令操作delay(5);Lcd_WriteCmd(0x30);//基本指令操作delay(5);Lcd_WriteCmd(0x01);//清屏delay(5);}staticbitLcd_Busy(void){ bitresult; LCD_RS=0; LCD_RW=1; LCD_EN=1; DelayNOP(); result=(bit)(P0&0x80); LCD_EN=0; return(result);}voidLcd_WriteCmd(ucharcmd){ LCD_RS=0; LCD_RW=0; LCD_EN=0; _nop_(); _nop_(); LCD_data=cmd; DelayNOP(); LCD_EN=1; DelayNOP(); LCD_EN=0;}voidLcd_WriteDat(uchardat){ LCD_RS=1; LCD_RW=0; LCD_EN=0;LCD_data=dat; DelayNOP(); LCD_EN=1; DelayNOP(); LCD_EN=0;}voidLcd_Init(void){ LCD_PSB=1;//并口方式 Lcd_WriteCmd(0x34);//擴(kuò)充指令操作 delay(5); Lcd_WriteCmd(0x30);//基本指令操作 delay(5); Lcd_WriteCmd(0x0C);//顯示開,關(guān)光標(biāo) delay(5); Lcd_WriteCmd(0x01);//清除LCD的顯示內(nèi)容 delay(5);}voidLcd_SetPos(ucharX,ucharY){ucharpos;if(X==0){X=0x80;}elseif(X==1){X=0x90;}elseif(X==2){X=0x88;}elseif(X==3){X=0x98;}pos=X+Y;Lcd_WriteCmd(pos);//顯示地址}voidLcd_DispLine(ucharline,ucharpos,uchar*str){ inti=0; Lcd_SetPos(line,pos); while(str[i]!='\0') { Lcd_WriteDat(str[i]); i++; }}3:GPS子模塊voidGPS_Init(void){ Lcd_DispLine(0,0,init1); Lcd_DispLine(1,0,init2); Lcd_DispLine(2,0,init3); Lcd_DispLine(3,0,init4);}intGPS_RMC_Parse(char*line,GPS_INFO*GPS){ ucharch,status,tmp; floatlati_cent_tmp,lati_second_tmp; floatlong_cent_tmp,long_second_tmp; floatspeed_tmp; char*buf=line; ch=buf[5]; status=buf[GetComma(2,buf)]; if(ch=='C')//如果第五個(gè)字符是C,($GPRMC) { if(status=='A')//如果數(shù)據(jù)有效,則分析 { GPS->NS=buf[GetComma(4,buf)]; GPS->EW=buf[GetComma(6,buf)]; GPS->latitude=Get_Double_Number(&buf[GetComma(3,buf)]); GPS->longitude=Get_Double_Number(&buf[GetComma(5,buf)]); GPS->latitude_Degree=(int)GPS->latitude/100;//分離緯度 lati_cent_tmp=(GPS->latitude-GPS->latitude_Degree*100); GPS->latitude_Cent=(int)lati_cent_tmp; lati_second_tmp=(lati_cent_tmp-GPS->latitude_Cent)*60; GPS->latitude_Second=(int)lati_second_tmp; GPS->longitude_Degree=(int)GPS->longitude/100; //分離經(jīng)度 long_cent_tmp=(GPS->longitude-GPS->longitude_Degree*100); GPS->longitude_Cent=(int)long_cent_tmp; long_second_tmp=(long_cent_tmp-GPS->longitude_Cent)*60; GPS->longitude_Second=(int)long_second_tmp; speed_tmp=Get_Float_Number(&buf[GetComma(7,buf)]);//速度(單位:海里/時(shí)) GPS->speed=speed_tmp*1.85;//1海里=1.85公里 GPS->direction=Get_Float_Number(&buf[GetComma(8,buf)]);//角度 GPS->D.hour=(buf[7]-'0')*10+(buf[8]-'0'); //時(shí)間 GPS->D.minute=(buf[9]-'0')*10+(buf[10]-'0'); GPS->D.second=(buf[11]-'0')*10+(buf[12]-'0'); tmp=GetComma(9,buf); GPS->D.day=(buf[tmp+0]-'0')*10+(buf[tmp+1]-'0');//日期 GPS->D.month=(buf[tmp+2]-'0')*10+(buf[tmp+3]-'0'); GPS->D.year=(buf[tmp+4]-'0')*10+(buf[tmp+5]-'0')+2000; UTC2BTC(&GPS->D); return1; } } return0;}intGPS_GGA_Parse(char*line,GPS_INFO*GPS){ ucharch,status; char*buf=line; ch=buf[4]; status=buf[GetComma(2,buf)]; if(ch=='G')//$GPGGA { if(status!=',') { GPS->height_sea=Get_Float_Number(&buf[GetComma(9,buf)]); GPS->height_ground=Get_Float_Number(&buf[GetComma(11,buf)]); return1; } } return0;}staticfloatStr_To_Float(char*buf){ floatrev=0; floatdat; intinteger=1; char*str=buf; inti; while(*str!='\0') { switch(*str) { case'0': dat=0; break; case'1': dat=1; break; case'2': dat=2; break; case'3': dat=3; break; case'4': dat=4; break; case'5': dat=5; break; case'6': dat=6; break; case'7': dat=7; break; case'8': dat=8; break; case'9': dat=9; break; case'.': dat='.'; break; } if(dat=='.') { integer=0; i=1; str++; continue; } if(integer==1) { rev=rev*10+dat; } else { rev=rev+dat/(10*i); i=i*10; } str++; } returnrev;} staticfloatGet_Float_Number(char*s){ charbuf[10]; uchari; floatrev; i=GetComma(1,s); i=i-1; strncpy(buf,s,i); buf[i]=0; rev=Str_To_Float(buf); returnrev; }staticdoubleStr_To_Double(char*buf){ doublerev=0; doubledat; intinteger=1; char*str=buf; inti; while(*str!='\0') { switch(*str) { case'0': dat=0; break; case'1': dat=1; break; case'2': dat=2; break; case'3': dat=3; break; case'4': dat=4; break; case'5': dat=5; break; case'6': dat=6; break; case'7': dat=7; break; case'8': dat=8; break; case'9': dat=9; break; case'.': dat='.'; break; } if(dat=='.') { integer= i=1; str++; continue; } if(integer==1) { rev=rev*10+dat; } else { rev=rev+dat/(10*i); i=i*10; } str++; } returnrev;} staticdoubleGet_Double_Number(char*s){ charbuf[10]; uchari; doublerev; i=GetComma(1,s); i=i-1; strncpy(buf,s,i); buf[i]=0; rev=Str_To_Double(buf); returnrev; }staticucharGetComma(ucharnum,char*str){ uchari,j=0; intlen=strlen(str); for(i=0;i<len;i++) { if(str[i]==',') j++; if(j==num) returni+1; } return0; }staticvoidUTC2BTC(DATE_TIME*GPS){ GPS->second++; if(GPS->second>59) { GPS->second=0; GPS->minute++; if(GPS->minute>59) { GPS->minute=0; GPS->hour++; } } GPS->hour=GPS->hour+8; if(GPS->hour>23) { GPS->hour-=24; GPS->day+=1; if(GPS->month==2|| GPS->month==4|| GPS->month==6|| GPS->month==9|| GPS->month==11) { if(GPS->day>30) { GPS->day=1; GPS->month++; } } else { if(GPS->day>31) { GPS->day=1; GPS->month++; } } if(GPS->year%4==0) { if(GPS->day>29&&GPS->month==2) { GPS->day=1; GPS->month++; } } else { if(GPS->day>28&&GPS->month==2) { GPS->day=1; GPS->month++; } } if(GPS->month>12) { GPS->month-=12; GPS->year++; } }}voidInt_To_Str(intx,char*Str){ intt; char*Ptr,Buf[5]; inti=0; Ptr=Str; if(x<10) //當(dāng)整數(shù)小于10時(shí),轉(zhuǎn)化為"0x"的格式 { *Ptr++='0'; *Ptr++=x+0x30; } else { while(x>0) { t=x%10; x=x/10; Buf[i++]=t+0x30; //通過計(jì)算把數(shù)字轉(zhuǎn)化成ASCII碼形式 } i--; for(;i>=0;i--) //將得到的字符串倒序 { *(Ptr++)=Buf[i]; } } *Ptr='\0';}4:卡爾曼濾波器在MATLAB中應(yīng)用仿真clearall;%%慣性-GPS組合導(dǎo)航模型參數(shù)初始化

we

=360/24/60/60*pi/180;%地球自轉(zhuǎn)角速度,弧度/s

psi=10*pi/180;

%psi角度/弧度

Tge=0.12;

Tgn=0.10;

Tgz=0.10;

%這三個(gè)參數(shù)的含義詳見參考文獻(xiàn)

sigma_ge=1;

sigma_gn=1;

sigma_gz=1;

%%連續(xù)空間系統(tǒng)狀態(tài)方程

%X_dot(t)=A(t)*X(t)+B(t)*W(t)A=[0we*sin(psi)-we*cos(psi)1

0

0

100;

-we*sin(psi)0

0

0

1

0

010;

we*cos(psi)

0

0

0

0

1

001;

0

0

0

-1/Tge0

0

000;

0

0

0

0

-1/Tgn0

000;

0

0

0

0

0

-1/Tgz

000;

0

0

0

0

0

0

000;

0

0

0

0

0

0

000;

0

0

0

0

0

0

000;];%狀態(tài)轉(zhuǎn)移矩陣

B=[0

0

0

sigma_ge*sqrt(2/Tge)00000;

0

0

0

0sigma_gn*sqrt(2/Tgn)0000;

0

0

0

00sigma_gz*sqrt(2/Tgz)000;]';%輸入控制矩陣

%%轉(zhuǎn)化為離散時(shí)間系統(tǒng)狀態(tài)方程

%X(k+1)=F*X(k)+G*W(k)

T=0.1;

[F,G]=c2d(A,B,T);

H=[1

0

0000000;

0

-sec(psi)0000000;];%觀測矩陣

%%卡爾曼濾波器參數(shù)初始化

t=0:T:50-T;

length=size(t,2);

y=zeros(2,length);

Q=0.5^2*eye(3);

%系統(tǒng)噪聲協(xié)方差

R=0.25^2*eye(2);

%測量噪聲協(xié)方差

y(1,:)=2*sin(pi*t*0.5);

y(2,:)=2*cos(pi*t*0.5);

Z=y+sqrt(R)*randn(2,length);

%生成的含有噪聲的假定觀測值,2維

X=zeros(9,length);

%狀態(tài)估計(jì)值,9維

X(:,1)=[0,0,0,0,0,0,0,0,0]';

%狀態(tài)估計(jì)初始值設(shè)定

P=eye(9);

%狀態(tài)估計(jì)協(xié)方差

%%卡爾曼濾波算法迭代過程

for

n=2:length

X(:,n)=F*X(:,n-1);

P=F*P*F'+G*Q*G';

Kg=P*H'/(H*P*H'+R);

X(:,n)=X(:,n)+Kg*(Z(:,n)-H*X(:,n));

P=(eye(9,9)-Kg*H)*P;

end

%%繪圖代碼

figure(1)

plot(y(1,:))

holdon;

plot(y(2,:))

holdoff;

title('理想的觀測量');

figure(2)

plot(Z(1,:))

holdon;

plot(Z(2,:))

holdoff;

title('帶有噪聲的觀測量');

figure(3)

plot(X(1,:))

holdon;

plot(X(2,:))

holdoff;

title('濾波后的觀測量');

HYPERLINK如何給電腦重做系統(tǒng)給電腦重做系統(tǒng),自己學(xué)學(xué),可少花錢,哈哈[圖]

一、準(zhǔn)備工作:

如何重裝電腦系統(tǒng)

首先,在啟動(dòng)電腦的時(shí)候按住DELETE鍵進(jìn)入BIOS,選擇AdvancedBIOSFeatures選項(xiàng),按Enter鍵進(jìn)入設(shè)置程序。選擇FirstBootDevice選項(xiàng),然后按鍵盤上的PageUp或PageDown鍵將該項(xiàng)設(shè)置為CD-ROM,這樣就可以把系統(tǒng)改為光盤啟動(dòng)。

其次,退回到主菜單,保存BIOS設(shè)置。(保存方法是按下F10,然后再按Y鍵即可)

1.準(zhǔn)備好WindowsXPProfessional簡體中文版安裝光盤,并檢查光驅(qū)是否支持自啟動(dòng)。

2.可能的情況下,在運(yùn)行安裝程序前用磁盤掃描程序掃描所有硬盤檢查硬盤錯(cuò)誤并進(jìn)行修復(fù),否則安裝程序運(yùn)行時(shí)如檢查到有硬盤錯(cuò)誤即會(huì)很麻煩。

3.用紙張記錄安裝文件的產(chǎn)品密匙(安裝序列號(hào))。

4.可能的情況下,用驅(qū)動(dòng)程序備份工具(如:驅(qū)動(dòng)精靈2004V1.9Beta.exe)將原WindowsXP下的所有驅(qū)動(dòng)程序備份到硬盤上(如∶F:Drive)。最好能記下主板、網(wǎng)卡、顯卡等主要硬件的型號(hào)及生產(chǎn)廠家,預(yù)先下載驅(qū)動(dòng)程序備用。

5.如果你想在安裝過程中格式化C盤或D盤(建議安裝過程中格式化C盤),請(qǐng)備份C盤或D盤有用的數(shù)據(jù)。

二、用光盤啟動(dòng)系統(tǒng):

(如果你已經(jīng)知道方法請(qǐng)轉(zhuǎn)到下一步),重新啟動(dòng)系統(tǒng)并把光驅(qū)設(shè)為第一啟動(dòng)盤,保存設(shè)置并重啟。將XP安裝光盤放入光驅(qū),重新啟動(dòng)電腦。剛啟動(dòng)時(shí),當(dāng)出現(xiàn)如下圖所示時(shí)快速按下回車鍵,否則不能啟動(dòng)XP系統(tǒng)光盤安裝。如果你不知道具體做法請(qǐng)參考與這相同的-->如何進(jìn)入純DOS系統(tǒng):

光盤自啟動(dòng)后,如無意外即可見到安裝界面,將出現(xiàn)如下圖1所示

查看原圖

全中文提示,“要現(xiàn)在安裝WindowsXP,請(qǐng)按ENTER”,按回車鍵后,出現(xiàn)如下圖2所示

查看原圖

許可協(xié)議,這里沒有選擇的余地,按“F8”后如下圖3

HYPERLINK

查看原圖

這里用“向下或向上”方向鍵選擇安裝系統(tǒng)所用的分區(qū),如果你已格式化C盤請(qǐng)選擇C分區(qū),選擇好分區(qū)后按“Enter”鍵回車,出現(xiàn)下圖4所示

查看原圖

這里對(duì)所選分區(qū)可以進(jìn)行格式化,從而轉(zhuǎn)換文件系統(tǒng)格,或保存現(xiàn)有文件系統(tǒng),有多種選擇的余地,但要注意的是NTFS格式可節(jié)約磁盤空間提高安全性和減小磁盤碎片但同時(shí)存在很多問題MacOS和98/Me下看不到NTFS格式的分區(qū),在這里選“用FAT文件系統(tǒng)格式化磁盤分區(qū)(快),按“Enter”鍵回車,出現(xiàn)下圖5所示

查看原圖

格式化C盤的警告,按F鍵將準(zhǔn)備格式化c盤,出現(xiàn)下圖6所示

HYPERLINK

查看原圖

由于所選分區(qū)C的空間大于2048M(即2G),FAT文件系統(tǒng)不支持大于2048M的磁盤分區(qū),所以安裝程序會(huì)用FAT32文件系統(tǒng)格式對(duì)C盤進(jìn)行格式化,按“Enter”鍵回車,出現(xiàn)下圖7所示

查看原圖圖7中正在格式化C分區(qū);只有用光盤啟動(dòng)或安裝啟動(dòng)軟盤啟動(dòng)XP安裝程序,才能在安裝過程中提供格式化分區(qū)選項(xiàng);如果用MS-DOS啟動(dòng)盤啟動(dòng)進(jìn)入DOS下,運(yùn)行i386\winnt進(jìn)行安裝XP時(shí),安裝XP時(shí)沒有格式化分區(qū)選項(xiàng)。格式化C分區(qū)完成后,出現(xiàn)下圖8所示

被過濾廣告

查看原圖

圖8中開始復(fù)制文件,文件復(fù)制完后,安裝程序開始初始化Windows配置。然后系統(tǒng)將會(huì)自動(dòng)在15秒后重新啟動(dòng)。重新啟動(dòng)后,出現(xiàn)下圖9所示

HYPERLINK

查看原圖

9

查看原圖

過5分鐘后,當(dāng)提示還需33分鐘時(shí)將出現(xiàn)如下圖10

HYPERLINK

查看原圖

區(qū)域和語言設(shè)置選用默認(rèn)值就可以了,直接點(diǎn)“下一步”按鈕,出現(xiàn)如下圖11

查看原圖

這里輸入你想好的姓名和單位,這里的姓名是你以后注冊(cè)的用戶名,點(diǎn)“下一步”按鈕,出現(xiàn)如下圖12

HYPERLINK

查看原圖

如果你沒有預(yù)先記下產(chǎn)品密鑰(安裝序列號(hào))就大件事啦!這里輸入安裝序列號(hào),點(diǎn)“下一步”按鈕,出現(xiàn)如下圖13

HYPERLINK

查看原圖

安裝程序自動(dòng)為你創(chuàng)建又長又難看的計(jì)算機(jī)名稱,自己可任意更改,輸入兩次系統(tǒng)管理員密碼,請(qǐng)記住這個(gè)密碼,Administrator系統(tǒng)管理員在系統(tǒng)中具有最高權(quán)限,平時(shí)登陸系統(tǒng)不需要這個(gè)帳號(hào)。接著點(diǎn)“下一步”出現(xiàn)如下圖14

查看原圖

日期和時(shí)間設(shè)置不用講,選北京時(shí)間,點(diǎn)“下一步”出現(xiàn)如下圖15

HYPERLINK

查看原圖

開始安裝,復(fù)制系統(tǒng)文件、安裝網(wǎng)絡(luò)系統(tǒng),很快出現(xiàn)如下圖16

查看原圖

讓你選擇網(wǎng)絡(luò)安裝所用的方式,選典型設(shè)置點(diǎn)“下一步”出現(xiàn)如下圖17

HYPERLINK

查看原圖

點(diǎn)“下一步”出現(xiàn)如下圖18

HYPERLINK

查看原圖

繼續(xù)安裝,到這里后就不用你參與了,安裝程序會(huì)自動(dòng)完成全過程。安裝完成后自動(dòng)重新啟動(dòng),出現(xiàn)啟動(dòng)畫面,如下圖19

HYPERLINK

查看原圖

第一次啟動(dòng)需要較長時(shí)間,請(qǐng)耐心等候,接下來是歡迎使用畫面,提示設(shè)置系統(tǒng),如下圖20

查看原圖

點(diǎn)擊右下角的“下一步”按鈕,出現(xiàn)設(shè)置上網(wǎng)連接畫面,如下圖21所示

HYPERLINK

查看原圖

點(diǎn)擊右下角的“下一步”按鈕,出現(xiàn)設(shè)置上網(wǎng)連接畫面,如下圖21所示

查看原圖

這里建立的寬帶撥號(hào)連接,不會(huì)在桌面上建立撥號(hào)連接快捷方式,且默認(rèn)的撥號(hào)連接名稱為“我的ISP”(自定義除外);進(jìn)入桌面后通過連接向?qū)Ы⒌膶拵芴?hào)連接,在桌面上會(huì)建立撥號(hào)連接快捷方式,且默認(rèn)的撥號(hào)連接名稱為“寬帶連接”(自定義除外)。如果你不想在這里建立寬帶撥號(hào)連接,請(qǐng)點(diǎn)擊“跳過”按鈕。

在這里我先創(chuàng)建一個(gè)寬帶連接,選第一項(xiàng)“數(shù)字用戶線(ADSL)或電纜調(diào)制解調(diào)器”,點(diǎn)擊“下一步”按鈕,如下圖22所示

HYPERLINK

查看原圖

目前使用的電信或聯(lián)通(ADSL)住宅用戶都有帳號(hào)和密碼的,所以我選“是,我使用用戶名和密碼連接”,點(diǎn)擊“下一步”按鈕,如下圖23所示

查看原圖

輸入電信或聯(lián)通提供的帳號(hào)和密碼,在“你的ISP的服務(wù)名”處輸入你喜歡的名稱,該名稱作為撥號(hào)連接快捷菜單的名稱,如果留空系統(tǒng)會(huì)自動(dòng)創(chuàng)建名為“我的ISP”作為該連接的名稱,點(diǎn)擊“下一步”按鈕,如下圖24所示

查看原圖

已經(jīng)建立了撥號(hào)連接,微軟當(dāng)然想你現(xiàn)在就激活XP啦,不過即使不激活也有30天的試用期,又何必急呢?選擇“否,請(qǐng)等候幾天提醒我”,點(diǎn)擊“下一步”按鈕,如下圖25所示

HYPERLINK

查看原圖

輸入一個(gè)你平時(shí)用來登陸計(jì)算機(jī)的用戶名,點(diǎn)下一步出現(xiàn)如下圖26

HYPERLINK

查看原圖

點(diǎn)擊完成,就結(jié)束安裝。系統(tǒng)將注銷并重新以新用戶身份登陸。登陸桌面后如下圖27

HYPERLINK

查看原圖

六、找回常見的圖標(biāo)

在桌面上點(diǎn)開始-->連接到-->寬帶連接,如下圖32

查看原圖

左鍵點(diǎn)“寬帶連接”不放手,將其拖到桌面空白處,可見到桌面上多了一個(gè)“寬帶連接”快捷方式。結(jié)果如下圖33

HYPERLINK

查看原圖

然后,右鍵在桌面空白處點(diǎn)擊,在彈出的菜單中選“屬性”,即打開顯示“屬性窗口”如下圖34

查看原圖

在圖中單擊“桌面”選項(xiàng)卡,出現(xiàn)如下圖35

HYPERLINK

查看原圖

在圖中的左下部點(diǎn)擊“自定義桌面”按鈕,出現(xiàn)如下圖36

查看原圖

在圖中的上部,將“我的文檔”、“我的電腦”、“網(wǎng)上鄰居”和“InternetExplorer”四個(gè)項(xiàng)目前面的空格上打鉤,然后點(diǎn)“確定”,再“確定”,你將會(huì)看到桌面上多了你想要的圖標(biāo)。如下圖37

鍵盤上每個(gè)鍵作用!!!

F1幫助

F2改名

F3搜索

F4地址

F5刷新

F6切換

F10菜單

CTRL+A全選

CTRL+C復(fù)制

CTRL+X剪切

CTRL+V粘貼

CTRL+Z撤消

CTRL+O打開

SHIFT+DELETE永久刪除

DELETE刪除

ALT+ENTER屬性

ALT+F4關(guān)閉

CTRL+F4關(guān)閉

ALT+TAB切換

ALT+ESC切換

ALT+空格鍵窗口菜單

CTRL+ESC開始菜單

拖動(dòng)某一項(xiàng)時(shí)按CTRL復(fù)制所選項(xiàng)目

拖動(dòng)某一項(xiàng)時(shí)按CTRL+SHIFT創(chuàng)建快捷方式

將光盤插入到CD-ROM驅(qū)動(dòng)器時(shí)按SHIFT鍵阻止光盤自動(dòng)播放

Ctrl+1,2,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論