GPS单点定位实验报告.docx

上传人:b****8 文档编号:12437606 上传时间:2023-06-05 格式:DOCX 页数:11 大小:81.69KB
下载 相关 举报
GPS单点定位实验报告.docx_第1页
第1页 / 共11页
GPS单点定位实验报告.docx_第2页
第2页 / 共11页
GPS单点定位实验报告.docx_第3页
第3页 / 共11页
GPS单点定位实验报告.docx_第4页
第4页 / 共11页
GPS单点定位实验报告.docx_第5页
第5页 / 共11页
GPS单点定位实验报告.docx_第6页
第6页 / 共11页
GPS单点定位实验报告.docx_第7页
第7页 / 共11页
GPS单点定位实验报告.docx_第8页
第8页 / 共11页
GPS单点定位实验报告.docx_第9页
第9页 / 共11页
GPS单点定位实验报告.docx_第10页
第10页 / 共11页
GPS单点定位实验报告.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

GPS单点定位实验报告.docx

《GPS单点定位实验报告.docx》由会员分享,可在线阅读,更多相关《GPS单点定位实验报告.docx(11页珍藏版)》请在冰点文库上搜索。

GPS单点定位实验报告.docx

GPS单点定位实验报告

GPS原理与应用实验

 

题目:

GPS单点定位

 

专业:

测绘工程

班级:

12-01

学号:

2012212600

姓名:

王威

指导教师:

陶庭叶

 

时间:

2014.11

 

1、实验目的......................................................3

2、实验原理………..........................................3

3、实验内容……..............................................3

4、实验效果图..................................................9

5、实验总结......................................................9

 

一.实验目的

1.深入了解单点定位的计算过程;

2.加强单点定位基本公式和误差方程式,法线方程式的记忆;

3.通过上机调试程序加强动手能力的培养。

二.实验原理

一个接收机接受三个火三个以上卫星信号,得出卫星坐标和伪距,利用间接平差计算接收机的坐标。

三.实验内容

1.程序流程图

 

2、实验数据

3、实验程序代码

PrivateSubCommand1_Click()

CommonDialog1.Filter="TXTfiles|*.txt|"

CommonDialog1.FilterIndex=1

CommonDialog1.ShowOpen

OpenMe.CommonDialog1.FileNameForInputAs#1

DoWhileNotEOF

(1)

LineInput#1,Text

textbuff=textbuff+Text+vbCrLf

Loop

Close#1

kk=MSFlexGrid1.Rows-1

Dima

ReDima(kk-1)

a=Split(textbuff,vbCrLf)

Forj=1Tokk

Fori=1To5

MSFlexGrid1.TextMatrix(j,i)=a(j-1+5*(i-1))

Nexti

Nextj

Fork=1Tokk

MSFlexGrid1.TextMatrix(k,0)="第"&k&"个点"

Nextk

MSFlexGrid1.TextMatrix(0,1)="X"

MSFlexGrid1.TextMatrix(0,2)="Y"

MSFlexGrid1.TextMatrix(0,3)="Z"

MSFlexGrid1.TextMatrix(0,4)="伪距"

MSFlexGrid1.TextMatrix(0,5)="钟差"

EndSub

PrivateSubCommand2_Click()

kk=MSFlexGrid1.Rows-1

X0=0:

Y0=0:

Z0=0

c=299792458

Dima()

ReDima(kk-1,3)

Dimll()

ReDimll(kk-1,0)

Forii=1To100

Fori=1Tokk

l=(MSFlexGrid1.TextMatrix(i,1)-X0)/Sqr((MSFlexGrid1.TextMatrix(i,1)-X0)^2+(MSFlexGrid1.TextMatrix(i,2)-Y0)^2+(MSFlexGrid1.TextMatrix(i,3)-Z0)^2)

m=(MSFlexGrid1.TextMatrix(i,2)-Y0)/Sqr((MSFlexGrid1.TextMatrix(i,1)-X0)^2+(MSFlexGrid1.TextMatrix(i,2)-Y0)^2+(MSFlexGrid1.TextMatrix(i,3)-Z0)^2)

n=(MSFlexGrid1.TextMatrix(i,3)-Z0)/Sqr((MSFlexGrid1.TextMatrix(i,1)-X0)^2+(MSFlexGrid1.TextMatrix(i,2)-Y0)^2+(MSFlexGrid1.TextMatrix(i,3)-Z0)^2)

a(i-1,0)=l

a(i-1,1)=m

a(i-1,2)=n

a(i-1,3)=-1

lk=MSFlexGrid1.TextMatrix(i,4)-Sqr((MSFlexGrid1.TextMatrix(i,1)-X0)^2+(MSFlexGrid1.TextMatrix(i,2)-Y0)^2+(MSFlexGrid1.TextMatrix(i,3)-Z0)^2)+c*MSFlexGrid1.TextMatrix(i,5)

ll(i-1,0)=lk

Nexti

gzs=xc(qiuni(xc(zz(a),a)),xc(zz(a),ll))

X0=X0-gzs(0,0)

Y0=Y0-gzs(1,0)

Z0=Z0-gzs(2,0)

j=j+1

Nextii

Text2.Text="X="&X0&vbCrLf&vbCrLf&"Y="&Y0&vbCrLf&vbCrLf&"Z="&Z0

V=jian(ll,xc(a,gzs))

zjl=xc(zz(V),V)

σ0=Sqr(zjl(0,0))/(kk-3)

Qx=qiuni(xc(zz(a),a))

Text3.Text="σX="&σ0*Sqr(Qx(0,0))&vbCrLf&vbCrLf&"σY="&σ0*Sqr(Qx(1,1))&vbCrLf&vbCrLf&"σZ="&σ0*Sqr(Qx(2,2))

EndSub

PrivateSubForm_Load()

MSFlexGrid1.ColWidth

(1)=1300

MSFlexGrid1.ColWidth

(2)=1300

MSFlexGrid1.ColWidth(3)=1300

MSFlexGrid1.ColWidth(4)=1300

Text2.Text=""

Text3.Text=""

EndSub

'矩阵相减

PublicFunctionjian(m,n)

Dimi,jAsInteger

IfUBound(m,1)<>UBound(n,1)OrUBound(m,2)<>UBound(n,2)Then

MsgBox("请确认输入数组是否可以相减!

")

Else

Dimc()

ReDimc(UBound(m,1),UBound(n,2))

Fori=0ToUBound(c,1)

Forj=0ToUBound(c,2)

c(i,j)=m(i,j)-n(i,j)

Nextj

Nexti

jian=c

EndIf

EndFunction

'矩阵的转置

PublicFunctionzz(a)

DimiAsInteger,jAsInteger,tAsInteger,b()

IfUBound(a,1)=UBound(a,2)Then

Fori=0ToUBound(a,1)

Forj=0ToUBound(a,2)

Ifi

t=a(i,j)

a(i,j)=a(j,i)

a(j,i)=t

EndIf

Nextj

Nexti

zz=a

Else

ReDimb(UBound(a,2),UBound(a,1))

Fori=0ToUBound(a,2)

Forj=0ToUBound(a,1)

b(i,j)=a(j,i)

Nextj

Nexti

zz=b

EndIf

EndFunction

'两矩阵相乘

PublicFunctionxc(a,b)

DimiAsInteger,jAsInteger,kAsInteger

IfUBound(a,2)<>UBound(b,1)Then

MsgBox("这两个矩阵不能够相乘")

ExitFunction

EndIf

ReDimsd(UBound(a,1),UBound(b,2))

Fori=0ToUBound(a,1)

Forj=0ToUBound(b,2)

Fork=0ToUBound(b,1)

sd(i,j)=sd(i,j)+a(i,k)*b(k,j)

Nextk

Nextj

Nexti

xc=sd

EndFunction

PublicFunctionqiuni(a)

Dimc,m%,n%,p#,l%,i%,j%,ab#

m=UBound(a,1)

n=UBound(a,2)

Ifm<>nThen

MsgBox("该矩阵不可逆!

")

ExitFunction

EndIf

ReDimc(m,2*n+1)

Fori=0Tom

Forj=0Ton

c(i,j)=a(i,j)

Nextj

Nexti

Fori=0Tom

Forj=m+1To2*m+1

c(i,j)=0

Nextj

Nexti

i=0

Forj=m+1To2*m+1

c(i,j)=1

i=i+1

Nextj

Fork=0Ton

Ifc(k,k)=0Then

Fori=k+1Ton

Ifc(i,k)<>0Then

GoTothis

EndIf

Nexti

Ifi=n+1Then

MsgBox("该矩阵不可逆!

!

!

")

ExitFunction

EndIf

this:

Forj=0To2*m+1

p=c(k,j)

c(k,j)=c(i,j)

c(i,j)=p

Nextj

EndIf

ab=1#/c(k,k)

Forj=0To2*m+1

c(k,j)=c(k,j)*ab

Nextj

Fori=0Ton

Ifi<>kThen

Forj=0To2*m+1

Ifj<>kThen

c(i,j)=c(i,j)-c(i,k)*c(k,j)

EndIf

Nextj

c(i,k)=0

EndIf

Nexti

Nextk

Fori=0Tom

Forj=0Tom

a(i,j)=c(i,j+n+1)

a(i,j)=Round(a(i,j),4)

Nextj

Nexti

qiuni=a

EndFunction

 

四.实验结果图

五.实验总结

此次实验让我深入了解单点定位的计算过程,加强了对单点定位基本公式和误差方程式,法线方程式的记忆。

并通过上机调试程序加强了自己动手能力的培养。

通过此次实验为以后的GPS的学习打下了基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2