導(dǎo)航技術(shù)綜合實(shí)驗(yàn)報(bào)告_第1頁(yè)
導(dǎo)航技術(shù)綜合實(shí)驗(yàn)報(bào)告_第2頁(yè)
導(dǎo)航技術(shù)綜合實(shí)驗(yàn)報(bào)告_第3頁(yè)
導(dǎo)航技術(shù)綜合實(shí)驗(yàn)報(bào)告_第4頁(yè)
導(dǎo)航技術(shù)綜合實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

導(dǎo)航技術(shù)綜合實(shí)驗(yàn)報(bào)告2012年4月23日星期一一、實(shí)驗(yàn)?zāi)康睦碚摚夯菊莆战獯a星歷表(數(shù)制轉(zhuǎn)換)、求偽距觀測(cè)量、求衛(wèi)星位置和衛(wèi)星鐘差、最小二乘法求接收機(jī)位置的概念、方法和運(yùn)算的過(guò)程。實(shí)踐:通過(guò)對(duì)解碼星歷表(數(shù)制轉(zhuǎn)換)、求偽距觀測(cè)量、求衛(wèi)星位置和衛(wèi)星鐘差、最小二乘法求接收機(jī)位置的程序仿真實(shí)際掌握方法。二、實(shí)驗(yàn)的方法和步驟實(shí)驗(yàn)方法:結(jié)合課本的理論知識(shí)使用matlab仿真軟件完成實(shí)驗(yàn)。實(shí)驗(yàn)步驟:1、仔細(xì)閱讀課本基本了解理論知識(shí),掌握基本問(wèn)題的解決方法與方式。2、 認(rèn)真研究老師所給實(shí)驗(yàn)題目,明確實(shí)驗(yàn)要求和目的,確立完成實(shí)驗(yàn)的基本思路。3、 對(duì)照實(shí)驗(yàn)題目回顧書(shū)本理論知識(shí),結(jié)合理論知識(shí)確定解決問(wèn)題的方式方法。結(jié)算出理論值。4、 繪制原理框圖,方案流程圖。5、 確立仿真環(huán)境。6、繪制流程圖‘7、編程調(diào)試,得到結(jié)果與理論推導(dǎo)結(jié)果做對(duì)比。三、實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)9解碼星歷表(數(shù)制轉(zhuǎn)換)一.函數(shù)模塊解釋函數(shù)功能:根據(jù)導(dǎo)航數(shù)據(jù)位信息,將從子幀1,子幀2和子幀3中得到星歷數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制格式,并求第一子幀的時(shí)間周tow。一個(gè)子幀包含300數(shù)據(jù)位,導(dǎo)航信息共5個(gè)子幀。函數(shù)名稱:function[eph,tow]=ephemeris(bits,d30star)實(shí)驗(yàn)要求:實(shí)驗(yàn)代碼見(jiàn)實(shí)驗(yàn)9中的ephemeris.m文件,理解實(shí)現(xiàn)星歷解算的代碼,并把函數(shù)代碼和流程圖中的各個(gè)環(huán)節(jié)對(duì)應(yīng)起來(lái)。1、 獲得輸入的導(dǎo)航數(shù)據(jù)信息function[eph,tow]=ephemeris(bits,d30star)利用function形式,調(diào)用子函數(shù),輸入?yún)?shù)。2、 檢查導(dǎo)航數(shù)據(jù)的bits長(zhǎng)度是否滿足導(dǎo)航數(shù)據(jù)5個(gè)子幀的長(zhǎng)度要求iflength(bits)<1500error(theparameterbitsmustcontain1500bits!);end3、 檢查參數(shù)bits和d30star是否是字符串if~ischar(bits)error(theparameterbitsmustbeacharacterarray!);endif~ischar(d30star)error(theparameterd30starmustbeachar!);end4、 循環(huán)操作,一一對(duì)5個(gè)子幀進(jìn)行解碼。fori=1:5???end即外層循環(huán)。完成提取第一個(gè)子幀的位;subframe=bits(300*(i-1)+1:300*i)檢查所提供的30個(gè)位的奇偶forj=1:10[subframe(30*(j-1)+1:30*j)]=...checkphase(subframe(30*(j-1)+1:30*j),d30star);d30star=subframe(30*j);end用subframeid=bin2dec(subframe(50:52))提取子幀號(hào)4.4基于子幀的id號(hào)來(lái)進(jìn)行解碼,將位信息轉(zhuǎn)換為十進(jìn)制數(shù)。switchsubframeidcase1eph.weeknumber=bin2dec(subframe(61:70))+1024;eph.accuracy=bin2dec(subframe(73:76));%用戶測(cè)距精度eph.health二bin2dec(subframe(77:82));%衛(wèi)星的健康狀況eph.iodc=bin2dec([subframe(83:84)subframe(197:204)]);%數(shù)據(jù)、時(shí)鐘的發(fā)布號(hào)eph.t_oc=bin2dec(subframe(219:234))*2"4;%衛(wèi)星時(shí)鐘修正參數(shù)eph.iode_sf2=bin2dec(subframe(61:68));%數(shù)據(jù)與星歷發(fā)布號(hào)eph.m_0=...2"(-31)*gpspi;eph.e=...bin2dec([subframe(167:174)subframe(181:204)])...%離心率2"(-33);eph.sqrta=...bin2dec([subframe(227:234)subframe(241:264)])...%長(zhǎng)半軸的平方根eph.t_oe=bin2dec(subframe(271:286))*2"4;%參考時(shí)間星歷case32"(-31)*gpspi;eph.omega=...2"(-31)*gpspi;case4%almanac,ionosphericmodel,utcparameters.%svhealth(prn:25-32).%notdecodedatthemoment.%年歷,電離層模型,utc參數(shù)。sv正常(prn:25-32)。%此時(shí)不解碼。case5%---itissubframe5這是子幀5 %svalmanacandhealth(prn:1-24).%almanacreferenceweeknumberandtime.%notdecodedatthemoment.%sv年歷和正常值(prn:1-24)。年歷參考的周數(shù)和時(shí)間。%此刻不解碼。end%switchsubframeid...轉(zhuǎn)換子幀的idend%forall5sub-frames...對(duì)所有的5子幀5、糾正第一子幀中的周時(shí)間tow,當(dāng)前子幀的時(shí)間要在當(dāng)前的結(jié)果下減6stow=bin2dec(subframe(31:47))*6-30;%結(jié)論:通過(guò)對(duì)實(shí)驗(yàn)九的仿真,明確里在實(shí)際中結(jié)算星歷的方法與步驟。對(duì)導(dǎo)航星歷的求解,可以求解出相關(guān)信息。實(shí)驗(yàn)十求偽距觀測(cè)量函數(shù)功能:根據(jù)跟蹤的結(jié)果,以及計(jì)時(shí)的起始索引點(diǎn),來(lái)求偽距觀測(cè)值函數(shù)名稱:function[pseudoranges]=calculatepseudoranges(absolutesample,settings)輸入相應(yīng)的跟蹤變量和每顆衛(wèi)星的c/a碼起點(diǎn)及初值實(shí)驗(yàn)要求:補(bǔ)充完整實(shí)驗(yàn)代碼,并設(shè)計(jì)程序,根據(jù)所給輸入數(shù)據(jù)和結(jié)果驗(yàn)證代碼的正確性。1、 初始化接收機(jī)接收衛(wèi)星信號(hào)的時(shí)間為無(wú)窮大、根據(jù)通道c/a碼記錄結(jié)果,求每個(gè)衛(wèi)星的傳輸時(shí)間、然后求所有傳輸時(shí)間相對(duì)最先到達(dá)的衛(wèi)星的時(shí)間差、用相對(duì)時(shí)延差加上設(shè)置的一般到達(dá)時(shí)間作為該衛(wèi)星到達(dá)接收機(jī)的時(shí)間pseudoranges:用到達(dá)時(shí)間乘以光速獲得衛(wèi)星接收機(jī)的觀測(cè)偽距,作為輸出三.實(shí)驗(yàn)操作1.實(shí)驗(yàn)代碼補(bǔ)充:function[pseudoranges]=calculatepseudoranges(absolutesample,settings)%absolutesample是導(dǎo)航c/a碼起始索引點(diǎn)找到對(duì)應(yīng)的數(shù)字點(diǎn),除以每碼采樣點(diǎn)得到傳輸時(shí)間%absolutesample是一個(gè)四維的數(shù)組,包含四顆星的數(shù)據(jù)%初始化各衛(wèi)星傳輸時(shí)間為無(wú)窮大traveltime=inf(1,length(absolutesample));%求每碼采樣數(shù)據(jù)點(diǎn)(samplespercode=16368)samplespercode=round(settings.samplingfreq/...(settings.codefreqbasis/settings.codelength));%補(bǔ)充代碼%求每一個(gè)衛(wèi)星的數(shù)據(jù)點(diǎn)對(duì)應(yīng)的時(shí)間traveltime=absolutesample/samplespercode;minimum=floor(min(traveltime));%求相對(duì)時(shí)延dt=traveltime-minimum;%求估計(jì)的傳輸時(shí)間=時(shí)延+設(shè)定的初值(到達(dá)時(shí)間)traveltime=dt+settings.startoffset;%求偽距pseudoranges=traveltime*(settings.c/1000);end實(shí)驗(yàn)數(shù)據(jù)說(shuō)明:settings=mstoprocess:1000numberofchannels:4skipnumberofbytes:16000000filename:usbdata.bindatatype:int8if:4092000settings=mstoprocess:1000numberofchannels:4skipnumberofbytes:16000000filename:usbdata.bindatatype:int8if:4092000samplingfreq:16368000pseudoranges=1.0e+007*2.09262.15842.17912.0647結(jié)論:測(cè)量偽距的方法是采用相對(duì)方法測(cè)量偽距。選擇最靠前一個(gè)子幀1的起始點(diǎn)作為參考點(diǎn),先在不考慮所有衛(wèi)星的時(shí)鐘修正的問(wèn)題時(shí),可以認(rèn)為所有衛(wèi)星對(duì)應(yīng)子幀的起始點(diǎn)是在同一時(shí)刻發(fā)射的,而不同衛(wèi)星對(duì)應(yīng)子幀的起始點(diǎn)是在不同時(shí)刻接收到的,其它衛(wèi)星相對(duì)參考點(diǎn)的時(shí)間差求出來(lái),那么這個(gè)時(shí)間差就可以認(rèn)為是不同衛(wèi)星到接收機(jī)的信號(hào)傳輸時(shí)間相對(duì)差值。在相對(duì)時(shí)延的基礎(chǔ)上加上給定的參考點(diǎn)的衛(wèi)星到接收的傳輸時(shí)間就是每個(gè)衛(wèi)星的傳輸時(shí)間。程序?qū)?yīng)的偽距提取的主要過(guò)程:在對(duì)應(yīng)偽距提取時(shí)刻,找到各個(gè)通道子幀的起始位置,根據(jù)bit同步,找到子幀起點(diǎn)對(duì)應(yīng)于跟蹤結(jié)果中的起點(diǎn)(精度為c/a碼周期,即1ms);尋找對(duì)應(yīng)的起點(diǎn)的數(shù)據(jù)點(diǎn),然后用其除以c/a碼周期的采樣點(diǎn)數(shù),得到相對(duì)應(yīng)的傳輸時(shí)間;求所有通道中最小的傳輸時(shí)間,把它作為參考點(diǎn);求各個(gè)衛(wèi)星相對(duì)參考點(diǎn)的時(shí)間差?ti,然后再時(shí)間差的基礎(chǔ)上加上給定衛(wèi)星到接收機(jī)傳輸時(shí)間的初值(ti=tO+?ti),那么最后ti是對(duì)應(yīng)第i顆衛(wèi)星的傳輸時(shí)間,乘以光速就獲得該衛(wèi)星的偽距觀測(cè)值。每次提取偽距,耗時(shí)是500ms,第n次循環(huán)提取時(shí)都要把前面用去的解算時(shí)間加上去,所以程序的最后一步,每次循環(huán)后,在傳輸時(shí)間上加上了一個(gè)解算周期時(shí)間。實(shí)驗(yàn)十一、求衛(wèi)星位置和衛(wèi)星鐘差一.函數(shù)模塊解釋函數(shù)功能:利用測(cè)量的偽距求衛(wèi)星在ecef坐標(biāo)系中的坐標(biāo)位置和衛(wèi)星鐘差,其中的求解原理見(jiàn)gps簡(jiǎn)化版文件。函數(shù)名稱:function[satpositions,satclkcorr]=satpos(transmittime,prnlist,...eph,settings)實(shí)驗(yàn)要求:根據(jù)原理將上述代碼的原理在書(shū)上找到相應(yīng)的公式,并加以注釋和理解;根據(jù)satpos.m把實(shí)驗(yàn)代碼與流程圖聯(lián)系起來(lái)理解,并結(jié)合書(shū)上原理,理解求衛(wèi)星位置的函數(shù)過(guò)程。u=phi+...eph(prn).c_uc*cos(2*phi)+...eph(prn).c_us*sin(2*phi);所對(duì)應(yīng)公式:uk??k??uk%校正后的衛(wèi)星地心相徑r=a*(1-eph(prn).e*cos(e))+...eph(prn).c_rc*cos(2*phi)+...eph(prn).c_rs*sin(2*phi);所對(duì)應(yīng)公式:%校正后的軌道傾角rk?a?1?ecosek???rki=eph(prn).i_0+eph(prn).idot*tk+...eph(prn).c_ic*cos(2*phi)+...eph(prn).c_is*sin(2*phi); 所對(duì)應(yīng)公式:%計(jì)算升交點(diǎn)的經(jīng)度ik?io??ik?idot*tk.omega=eph(prn).omega_0+(eph(prn).omegadot-omegae_dot)*tk-...omegae_dot*eph(prn).t_oe;omega=rem(omega+2*gpspi,2*gpspi);所對(duì)應(yīng)公式:????t???t?k??0??ekeoe%求衛(wèi)星ecef坐標(biāo)satpositions(1,satnr)=cos(u)*r*cos(omega)-sin(u)*r*cos(i)*sin(omega);?x??s?x??satpositions(2,satnr)=cos(u)*r*sin(omega)+sin(u)*r*cos(i)*cos(omega);????y?r(??)r(?i)s所對(duì)應(yīng)公式:???z???0???rkcos?kcos?k?rksin?%本塊作用:求該衛(wèi)星的時(shí)鐘修正項(xiàng)?kcosik?satclkcorr(satnr)=(eph(prn).a_f2*dt+eph(prn).a_f1)*dt+...??rsin?cos??rsin?cos?cosikkkkkkk??eph(prn).a_f0-...??rksin?ksinikeph(prn).t_gd+dtr;??kk?y?satpositions(3,satnr)=sin(u)*r*sin(i);??所對(duì)應(yīng)公式:?ts?af0?af1?t?toc??af2?t?toc???tr2結(jié)論:衛(wèi)星的無(wú)攝運(yùn)動(dòng)對(duì)應(yīng)平滑的橢圓軌道,一般可通過(guò)一組適宜的參數(shù)來(lái)描述。但是,這組參數(shù)的選擇并不是惟一的。在定位的過(guò)程中,接收機(jī)的位置一般是用ecef坐標(biāo)描述的,為了后續(xù)計(jì)算衛(wèi)星和接收機(jī)之間的距離計(jì)算,就要統(tǒng)一兩者的坐標(biāo)參考系。一般是把衛(wèi)星由其軌道旋轉(zhuǎn)到ecef參照系。實(shí)驗(yàn)十二、最小二乘法求接收機(jī)位置一.函數(shù)模塊解釋函數(shù)功能:根據(jù)衛(wèi)星的估計(jì)位置和鐘差,以及測(cè)量的偽距來(lái)求接收機(jī)位置和時(shí)鐘誤差,用的算法是最小二乘法,原理見(jiàn)書(shū)。函數(shù)名稱:function[pos,el,az,dop]=leastsquarepos(satpos,obs,settings)實(shí)驗(yàn)要求:結(jié)合流程圖和求解原理補(bǔ)充完整函數(shù)代碼,然后設(shè)計(jì)實(shí)驗(yàn),將實(shí)驗(yàn)文件中所給的數(shù)據(jù)載入作為上輸入;驗(yàn)證實(shí)驗(yàn)結(jié)果是否和文件說(shuō)明中的結(jié)果是一致的。實(shí)驗(yàn)數(shù)據(jù)說(shuō)明:偽距.mat和衛(wèi)星坐標(biāo).mat是用于測(cè)試的衛(wèi)星文件和相應(yīng)的衛(wèi)星對(duì)應(yīng)的觀測(cè)偽距結(jié)果在實(shí)驗(yàn)12的說(shuō)明文檔中。實(shí)驗(yàn)要求:(1)結(jié)合流程圖和求解原理補(bǔ)充完整函數(shù)代碼,然后設(shè)計(jì)實(shí)驗(yàn),將實(shí)驗(yàn)文件中所給的數(shù)據(jù)載入作為上輸入;實(shí)驗(yàn)要求:結(jié)合流程圖和求解原理補(bǔ)充完整函數(shù)代碼,然后設(shè)計(jì)實(shí)驗(yàn),將實(shí)驗(yàn)文件中所給的數(shù)據(jù)載入作為上輸入;驗(yàn)證實(shí)驗(yàn)結(jié)果是否和文件說(shuō)明中的結(jié)果是一致的。function[pos,el,az,dop]=leastsquarepos(satpos,obs,settings)%用最小二乘的迭代算法求接收機(jī)的位置,原理參照課本%迭代次數(shù)設(shè)置nmbofiterations=7;dtr=pi/180;pos=zeros(4,1);x=satpos;nmbofsatellites=size(satpos,2);a=zeros(nmbofsatellites,4);omc=zeros(nmbofsatellites,1);az=zeros(1,nmbofsatellites);el=az;%開(kāi)始迭代運(yùn)算foriter=1:nmbofiterations6fori=1:nmbofsatellitesifiter==1%---initializevariablesatthefirstiteration rot_x=x(:,i);trop=2;else%---updateequations rho2=(x(l,i)—pos(l))"2+(x(2,i)—pos(2))"2+...(x(3,i)—pos(3))"2;traveltime=sqrt(rho2)/settings.c;%補(bǔ)充code%———correctsatelliteposition(dotoearthrotation)————————rot_x=e_r_corr(traveltime,x(:,i));%修正第i顆衛(wèi)星的位置%求仰角,方位角(有函數(shù)代碼)[az(i),el(i),dist]=topocent(pos(1:3,:),rot_x—pos(1:3,:));if(settings.usetropcorr==1)%———calculatetroposphericcorrection————————————————————trop=tropo(sin(el(i)*dtr),...0.0,1013.0,293.0,50.0,0.0,0.0,0.0);else%donotcalculateorapplythetroposphericcorrectionstrop=0;endend%ifiter==1 else%偽距的修正補(bǔ)充omc(i)=(obs(i)—norm(rot_x—pos(1:3),fro)—pos(4)—trop);%建立a設(shè)計(jì)矩陣補(bǔ)充a(i,:)= [(—(rot_x(1)—pos(1)))/obs(i)...(—(rot_x(2)—pos(2)))/obs(i)...(—(rot_x(3)—pos(3)))/obs(i)...1];end%fori=1:nmbofsatellites%判斷a的稚是否為4,否則方程無(wú)解補(bǔ)充ifrank(a)~=4pos=zeros(1,4);returnendx=a\omc;pos=pos+x;%位置迭代變換更新--補(bǔ)充endpos=pos;%計(jì)算精度因子--見(jiàn)原理ifnargout==4dop=zeros(1,5);q=inv(a*a);dop(1)=sqrt(trace(q));%gdopdop(2)=sqrt(q(1,1)+q(2,2)+q(3,3));%pdopdop(3)=sqrt(q(1,1)+q(2,2));%hdopdop(4)=sqrt(q(3,3));%vdopdop(5)=sqrt(q(4,4));%tdopend(2)驗(yàn)證實(shí)驗(yàn)結(jié)果是否和文件說(shuō)明中的結(jié)果是一致的。settings=mstoprocess:1000numberofchannels:4skipnumberofbytes:160000007filename:usbdata.bindatatype:int8if:4092000settings=mstoprocess

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論