GPS衛(wèi)星坐標(biāo)計(jì)算_第1頁(yè)
GPS衛(wèi)星坐標(biāo)計(jì)算_第2頁(yè)
GPS衛(wèi)星坐標(biāo)計(jì)算_第3頁(yè)
GPS衛(wèi)星坐標(biāo)計(jì)算_第4頁(yè)
GPS衛(wèi)星坐標(biāo)計(jì)算_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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)介

1、衛(wèi)星定位技術(shù)與方法-根據(jù)廣播星歷參數(shù)計(jì)算衛(wèi)星坐標(biāo)作業(yè)報(bào)告指導(dǎo)教師: 熊 永 良 班 級(jí): 測(cè) 繪 二 班 學(xué)生姓名: 段 海 東 學(xué)生學(xué)號(hào): 2 0 0 8 0 7 8 3 作業(yè)日期: 2010 年 12月 08 日 目 錄一. 已知數(shù)據(jù)2二. 計(jì)算步驟21.平均角速度 (mean angular speed)22.規(guī)化時(shí)刻(normal time)33.平近點(diǎn)角(mean anomaly)34.偏近點(diǎn)角(eccentric anomaly)35.真近點(diǎn)角(true anomaly)36.升交距角(argument of ascending node)37. 軌道向徑(Orbital radi

2、us)38. 擾動(dòng)改正(Perturbed correction)410.衛(wèi)星在升交點(diǎn)軌道直角坐標(biāo)系中的坐標(biāo)411. 升交點(diǎn)經(jīng)度(Longitude of ascending node)5三. 源程序5四 程序運(yùn)行結(jié)果14七.作業(yè)體會(huì)15 根據(jù)廣播星歷參數(shù)計(jì)算衛(wèi)星坐標(biāo)一. 已知數(shù)據(jù): 根據(jù)以下的廣播星歷參數(shù)計(jì)算UTC2004年1月30日8點(diǎn)0分00秒20分00秒,每隔一分鐘的PRN7的衛(wèi)星坐標(biāo)。Compute the coordinate of PRN7 with interval of 1 minute.Navigation data:衛(wèi)星導(dǎo)航文件格式:二. 計(jì)算步驟:The steps f

3、or satellite coordinates1.平均角速度 (mean angular speed):Dn由廣播星歷獲得, GM=3.986005e+142.規(guī)化時(shí)刻(normal time):t0已知(由廣播星歷獲得),t為GPS周秒3.平近點(diǎn)角(mean anomaly): M0已知(由廣播星歷獲得)4.偏近點(diǎn)角(eccentric anomaly):迭代求解:初始值取E=M,以弧度為單位5.真近點(diǎn)角(true anomaly):6.升交距角(argument of ascending node):w近地點(diǎn)角距(argument of perigee)7. 軌道向徑(Orbital r

4、adius):8. 擾動(dòng)改正(Perturbed correction): 升交角距(Argument of ascending node) 軌道向徑(Orbital radius) 軌道頃角(Orbital inclination) 是升交角距 (the argument of ascending node)9. 改正后升交角距、軌道向徑、軌道傾角改正后升交角距(Corrected argument of ascending nod)改正后的軌道向徑(Corrected orbital radius)改正后的軌道傾角(Corrected orbital inclination) 10.衛(wèi)星在

5、升交點(diǎn)軌道直角坐標(biāo)系中的坐標(biāo):如下圖所示 11. 升交點(diǎn)經(jīng)度(Longitude of ascending node):如下圖所示12. 在地固坐標(biāo)系中的衛(wèi)星位置(Expressed in spheric coordinate system)三. 源程序:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.I

6、O;using System.Text.RegularExpressions;namespace Test public partial class Form1 : Form public Form1() InitializeComponent(); listView1.Columns.Add("序號(hào)", 40); listView1.Columns.Add("星歷內(nèi)容", 130); listView1.Columns.Add("導(dǎo)航數(shù)據(jù)", 130); listView1.GridLines = true; /顯示表格線 list

7、View1.View = View.Details;/顯示表格細(xì)節(jié) listView1.HeaderStyle = ColumnHeaderStyle.Clickable;/對(duì)表頭進(jìn)行設(shè)置 listView2.Columns.Add("時(shí)間", 60); listView2.Columns.Add("x坐標(biāo)", 150); listView2.Columns.Add("y坐標(biāo)", 150); listView2.Columns.Add("z坐標(biāo)", 150); listView2.GridLines = true;

8、 /顯示表格線 listView2.View = View.Details;/顯示表格細(xì)節(jié) listView2.HeaderStyle = ColumnHeaderStyle.Clickable;/對(duì)表頭進(jìn)行設(shè)置 private void button1_Click(object sender, EventArgs e) /讀取相對(duì)路徑 string str1 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; string filename = str1 + "navigation data.txt "

9、/讀取衛(wèi)星廣播星歷文件 StreamReader myreader = new StreamReader(filename, Encoding.Default); string myinfo = myreader.ReadToEnd(); myreader.Close(); /把衛(wèi)星廣播星歷里的D改為e,以便后續(xù)計(jì)算 string mystring = myinfo; string myinfor = mystring; myinfor = mystring.Replace("D", "e"); /把數(shù)據(jù)分開(kāi)讀入到一個(gè)數(shù)組中存儲(chǔ) string split

10、 = new string " " ; string arrs = myinfor.Split(split, StringSplitOptions.RemoveEmptyEntries); double M = new doublearrs.Length; /星歷代碼 string N = new stringarrs.Length; N0 = "PRN" N1 = "Yer" N2 = "Mon" N3 = "day" N4 = "H" N5 = "M"

11、 N6 = "sec" N7 = "a0" N8 = "a1" N9 = "a2" N10 = "IODE" N11 = "Crs" N12 = "delta-n" N13 = "M0" N14 = "Cuc" N15 = "e" N16 = "Cus" N17 = "sqrt(a)" N18 = "t0e" N19 = "Ci

12、c" N20 = "omega0" N21 = "Cis" N22 = "i0" N23 = "Crc" N24 = "omega" N25 = "omega-spot" N26 = "IDOT" N27 = "Codes on L2 channel" N28 = "GPS Week" N29 = "L2 P data flag" N30 = "SV accuracy"

13、; N31 = "SV health" N32 = "TGD" N33 = "IODC Issue of Data" N34 = "Transmission time of message" /把衛(wèi)星廣播星歷讀入到數(shù)組中 for (int i = 0; i < arrs.Length; i+) ListViewItem li = new ListViewItem(); li.Text = (i + 1).ToString(); li.SubItems.Add(Ni); li.SubItems.Add(arrs

14、i); listView1.Items.Add(li); Mi = double.Parse(arrsi); double t0e=460800.00; double t; double XK = new double21; double YK = new double21; double ZK = new double21; for (int l = 0; l < 21;l+ ) /計(jì)算平均角速度 double GM = 3986004.418e008; double n, n0; n0 = Math.Sqrt(GM / (Math.Pow(M17, 6); n = M12 + n0;

15、 /規(guī)劃時(shí)刻 t=t0e+l*60; double tk = t-t0e; double Mk = M13 + n * tk; / 迭代計(jì)算平近點(diǎn)角的計(jì)算 double Ek, Ek1; Ek = Mk; Ek1 = Mk + M15 * Math.Sin(Ek); do Ek = Ek1; Ek1 = Mk + M15 * Math.Sin(Ek); while (Math.Abs(Ek1 - Ek) > 1e-15); /計(jì)算真近點(diǎn)角 double Vk = Math.Atan(Math.Sqrt(1 - M15 * M15) * Math.Sin(Ek) / (Math.Cos(E

16、k) - M15); /反正切值的象限處理 double A1 = Math.Atan(Math.Sqrt(1 - M15 * M15) * Math.Sin(Ek); double A2 = Math.Cos(Ek) - M15; if (Vk < 0) if (A1 < 0 && A2 > 0) Vk += 2 * Math.PI; if (A1 > 0 && A2 < 0) Vk += Math.PI; else if (A1 <= 0 && A2 <= 0) Vk = Vk + Math.PI;

17、/計(jì)算升交角距 double fk = Vk + M24; /攝動(dòng)改正值的計(jì)算 double du = M14 * Math.Cos(2 * fk) + M16 * Math.Sin(2 * fk); double dr = M23 * Math.Cos(2 * fk) + M11 * Math.Sin(2 * fk); double di = M19 * Math.Cos(2 * fk) + M21 * Math.Sin(2 * fk); /攝動(dòng)改正 double uk = fk + du; double rk = Math.Pow(M17, 2) * (1 - M15 * Math.Cos

18、(Ek) + dr; double ik = M22 + di + M26 * tk; /計(jì)算衛(wèi)星在升交點(diǎn)軌道直角坐標(biāo)系的坐標(biāo) double xk = rk * Math.Cos(uk); double yk = rk * Math.Sin(uk); /計(jì)算升交點(diǎn)經(jīng)度 double we = 7.2921151467e-05; double jdt = M20 + (M25 - we) * tk - we * M18; /衛(wèi)星在地固坐標(biāo)系中的空間直角坐標(biāo) XKl = xk * Math.Cos(jdt) - yk * Math.Cos(ik) * Math.Sin(jdt); YKl = xk

19、 * Math.Sin(jdt) + yk * Math.Cos(ik) * Math.Cos(jdt); ZKl = yk * Math.Sin(ik); /輸出衛(wèi)星在地固坐標(biāo)系中的空間直角坐標(biāo) for (int i = 0; i < 21; i+) ListViewItem list = new ListViewItem(); list.Text = "第" + i.ToString() + "分鐘" list.SubItems.Add(XKi.ToString(); list.SubItems.Add(YKi.ToString(); list

20、.SubItems.Add(ZKi.ToString(); listView2.Items.Add(list); private void button2_Click(object sender, EventArgs e) /讀取相對(duì)路徑 string str1 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; string filename = str1 + "navigation data.txt " /讀取衛(wèi)星廣播星歷文件 StreamReader myreader = new StreamRead

21、er(filename, Encoding.Default); string myinfo = myreader.ReadToEnd(); myreader.Close(); /把衛(wèi)星廣播星歷里的D改為e,以便后續(xù)計(jì)算 string mystring = myinfo; string myinfor = mystring; myinfor = mystring.Replace("D", "e"); /把數(shù)據(jù)分開(kāi)讀入到一個(gè)數(shù)組中存儲(chǔ) string split = new string " " ; string arrs = myinfo

22、r.Split(split, StringSplitOptions.RemoveEmptyEntries); /星歷代碼 string N = new stringarrs.Length; N0 = "PRN" N1 = "Yer" N2 = "Mon" N3 = "day" N4 = "H" N5 = "M" N6 = "sec" N7 = "a0" N8 = "a1" N9 = "a2" N1

23、0 = "IODE" N11 = "Crs" N12 = "delta-n" N13 = "M0" N14 = "Cuc" N15 = "e" N16 = "Cus" N17 = "sqrt(a)" N18 = "t0e" N19 = "Cic" N20 = "omega0" N21 = "Cis" N22 = "i0" N23 = "Crc" N24 = "omega" N25 = "omega-spot" N26 = "IDO

溫馨提示

  • 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)論