<<

Приложение в Текст программы

в данном приложении приведены тексты программ алгоритма вычисления навигационной оценки с использованием средневзвешенного МНК и регуляризирующего алгоритма вычисления навигационной оценки предложенной в работе; алгоритма вычисления навигационных решений в HIT; реализации методики вычисления статистических характеристик навигационной информации.

Программы написаны на базовой версии языка программирования высокого уровня FORTRAN 77,

Приложение содержит следующие материалы:

Файлы исходных данных.

Файл результатов работы программы.

Тексты программных компонент:

Основных программных модулей программы средневзвешенного МНК вычисляющего унифицированную оценку.

Основных программных модулей программы МНК, вычисляющего специализированную оценку, диссертации.

Программных модулей для общего использования программы средневзвешенного МНК и программы вычисляющей специализированную оценку.

в тексте программы содержатся комментарии, поясняющие содержание программного кода. Файлы исходных данных: Файл mnk_dat.l:

10 КОЛИЧЕСТвО ИЗМЕРЕННЫХ вЕКТОРОв ОТ 2 ДО 15

КОЛИЧЕСТвО ОЦЕНОЦЕННЕННЫХ вЕКТОРОв ОТ 1 ДО 14

ЧИСЛО УЧИТЫвАЕМЫХ ГАРМОНИК в ГПЗ ОТ О ДО 16

120. ИНТЕРвАЛ вРЕМЕНИ МЕЖДУ ИЗМЕРЕНИЯМИ (СЕК) ОТ 0. 86400.

40. 1ИАГ ИНТЕГРИРОвАНИЯ МОДЕЛИ ДвИЖЕНИЯ ОТ 0.1 ДО 120. (СЕК)

1 ПАРАМЕТР ДАТЧИКА СЛУЧАЙНЫХ ЧИСЕЛ ОТ -1 ДО 1000

1 КОЛИЧЕСТвО вАРИАНТОв ОЦЕНОК - (1)

1. МОДУЛЬ ОШИБКИ ИЗМЕРЕНИЙ ОТ 0, ДО 100.

1 ПРИЗНАК СИСТЕМЫ КООРДИНАТ - О ИЛИ 1

вАРИАНТ вЫЧ-ИЯ МАТРИЦЫ БАЛЛИСТИЧЕСКОЙ ПРОИЗвОДНОЙ: 1,2,3. ' '

01 вЫХОДНАЯ ТОЧНОСТЬ ПРИБЛИЖЕНИЯ ОЦЕНКИ в МНК

КОЭФФИЦ. СТАРЕНИЯ НАвИГАЦИОННОЙ ИНФОРМАЦИИ ОТ 1. ДО 0. 0.0 ИНТЕРвАЛ ПРОГНОЗА НАвИГАЦИОННОЙ ОЦЕНКИ

ПРИЗНАК вЫЧИСЛЕНИЯ ОЦЕНКИ С ДРУГИМ КОЛИЧ. ГАРМОНИК (3)

КОЛИЧ. ГАРМОНИК С КОТОРЫМ ОБРАБАТ. вЕКТОРА ОТ 0 ДО 16 0.03 БАЛЛИСТИЧЕСКИЙ КОЭФФИЦИЕНТ

0.0 ОШИБКА БАЛЛИСТИЧЕСКОГО КОЭФФИЦИЕНТА ОТ 0.

ДО 1. Файл alf_bet:

0 alfaorO. до 10, 1.0 beta от 0. до 10.

параметр =1. 1. параметр =1.

Файл BWS: вариант файла BWS для двух векторов измерений

-1080.000000000

Ozenmnk

38610.00000000 4053.85669606 -5246.36076709 .92093767 5.78952120 4,45317075 -.00021645

6601.958436134 .007158623 .015823935 -.073252961 2.489989338 7.209173710 -960.000000000 6530.135870851 298.230775801

862.202408960 -1.122498171 2.475637565 7.136880767

Prograram ШК_рагуля

с Используется прогноз с 16 гармониками в разложении. Программа вычисления оценки о метолом МНК спецяал доработка программы для двойного обращения к Gl_ с самый правильный вариант доработанный вариант с правильной дисперсией при alfa-0 с и знаком минус (-) при FI1L_F1 implicit real+8 (a-h,o-z)

dimension rvg(6},rva(6),rvnev(6),rv(6},osch(6) dimension rnom(16,7), rozen(16,7),radotk(16,7) /,REE(96>

dimension rvpoz(6),vo(6),vg(6), rvv(6),г!огг1(6),rlozz(6),DIS26 (5) COMMON /OBL1 /NDATA(3) common/STAR/ALT

COMMON / GEO /AMU,RE,OMZ,ALF,AJ2,AJ4 common/stat/atkpr(100,6) /,atk(100,6),woz(100,6),amd(100,6) common/c3/rvist(6}, rvistpr(6) common/otlad/npeh,h,ng,nskid common/parsbe/sbal

common/paratm/sun(2),ap,f1,fsh,pr,natm,ndate(3) common/c/r(16,7) ,hf (96, 6),ozz(16,7),roz(16,7) common/sigl_6/sig(6) coinmon/wesa_os/ABC_T (6) ,ABC (6) external fsbal

с орбита Коб - 250*350, наклонение 00,01 град Тд™ 5419.2 СЕК

data rvg/6682.242, 0.0, 0.0,-0.05840, 7.23971,0.00135/ с орбита 500 * 525 , наклонение 0,05 град с data rvg/6878.160,0.0,0.0,0.0,7.12324,0.00665/

do 2 i-1,6 2 rv(i)=rvg(i)

e=Q.005 npeh=0 sbal-0.0 ng=4

ndate{l>=l ndate(2)=1 ndate(3)=1990

ndata(l)*=ndate(l) data(2)=ndate(2) ndata[3)=ndate(3)

natm=l ' ko=12 kozn=l ' th=10.

tpro=5593.2 С tpro-1.2

с варианты работы nprog=0 {без прогноза и стат. обработ) с nprog=l (с прогнозом и стат. обработ) nprog=l

open (un±t=3, ^^^шпк^гег') open (unit=5,file=rmnk_dat,,status='oldl) read(5,100) ко,когп,пд,th,h,NVOZ,NWAR,S,npriz,nskid,e,alt /,TPRO,nwras,ngo,sbal, osbal 100 format <12/i2/i2/g20.5/g20.S/i3/i3/g20.5/i2/i2/g20.7/g20.7 //G20.7/i3/i4/g20.7/g20.7) write(3,100) ко,kozn,ng,th,h,NTOZ,NWAR,S, npriz,nskid,e,alt /,T PRO,nwras,ngo,sbal,о sbal writef*,107) tpro.nwar,KO,KOZN 107 format (' M.

H. К., ПРОГНОЗ ОЦЕНКИ HA',F11,3,' СЕК',/, /' Колич. вариантов =',i3,' КО,KOZN=',213 ) write(3,107) tpro close(unit=5)

open {unit=5,fiLe='abc_TP',status-"'old*) read(5,189) (abc_T(i),i=l,6)

109 format (g20.7) ? write{*,197) (abc_T(i>,i=l,6)

197 format (' вЕСА- abc_T ->',6F11.3)

close(unit=5) open (unit=5,file=*abc',status='old")

read(5,129) (abc(i),i=l,6} 129 format (g20.7)

write(*,127) (abc(i),i=l,6) 127 format (' вЕСА = abc ->',6Fll.3)

close(unit-5) call drk(ng)

do 18 klp=l,NWAR

if(nwras.eq.2} goto 188 if(nwras.eq.3) goto 188 if(nwras.eq.1) goto 188

188 continue t0=0.

open (unit=5,file='T0_nah',status='old') read(5,108) TO 108 format (g20.5}

close(unit-5) write(*,119) TO

119 format!' TO начальное=',E20.5) t=tO

do 32 i-1,6 32 rv(i)=rvg(i)

do 4 k"kozn,ko tv=t+th do 3 i-1,6 rnom(k,i+l)=rv(i)

r{k,i+l)=rv(i)

r(k,l)=t rnom(k,l)=t

call prog$t(tv, t,rv,rva,u,h,ndate,nskid,ng,fsbal)

t=tv

continue

do 22 i-1,kozn do 22 k-1,7 22 ozz (i, k) =r (i, k)

do 20 k=l,6 20 rvist(k)=r(ко,k+1) с прогн оцен

tv=r(ко,1)+tpro t=r(ko,l}

do 47 i=l,6 47 rvg(i)-rvist(i)

call prog$t(tv,t, rvg,rva,u,h,ndate,nskid,ng,fsbal) do 48 i-1,6 r(ko+1,i+1) =rvg (1)

mom (ko+1, i+l)=rvg(i) rvist (i) -=rvg (i)

4 в rvistpr(i)=rvg(i)

write(3,51) {(r(kk,ji+1),ji=l,6),кк=когп,ко) write(*,51) {formatC Номинальные вектора ->',9(/6(fl3.б))) с прогноз оценки ОТ0г=ГШ)г+к1р*7

write(3,65l} ng,ngo,sbal,osbal write651) ng,ngo,sbal,osbal

open (unit=l, file-'BWS') call wositms (ко, kozn,NVOZ, kip, s)

close(unit=l) if(nwras.eq.1) goto 8B8

с Доработка для ввода из BWS > ng = 4 как в ССН

if(nwras.eq.3) ng = ngo с обращение к МНК "

С тут нужно вставить прогноз г,т на Tnp=tpro tv=r.[ko, 1} +tpro

t=r(ко,1) do 147 i-1,6

rvg (i) =r [ко, i+1)

call prog?t(tv,t,rvg,rva,u,h,ndate,nskid,ng,fsbal) do 149 1=1,6 149 r {ko+1,i+1) =rvg (i)

r{ko+1,1)=R(K0,1)+TPRO с считывание первого проближения оценки в точке с* с из файла ozk_mnk который вычисляет программа mnk

650 format [f20.8) goto 788 do 148 i=l,6

r(ko+1,i+1) = rvist(i) + 0.000001

751 formate оценка 1 на момент t* из rvist ')

write(*,7$l) 78Э write{*,650} (r(ko+1,ji>,ji=l,7)

close(unit=5) write(3,551) (r(ko+1,ji+1),ji=l,6)

write(*,551) (r(ko+1,ji+1},ji=l,6) 551 formate вектор на tnp->', /6 (f 13.6))

write(3,52) ((r(kk,ji+1),ji=l,6),kk-kozn,ko+1) write(*,52) ({r(kk,ji+1),ji-1,6)rkk=kozn,ko+1)

formate возмущенные вектора ->?,16(/6(fl3.6))) с доработка для второй итерации Gl_ 1.04.02

do 272 i-1,6 R102Z1 (i) - rvist(i) 272 rvnev(i} = rvist(i) - r(ko+l,i+l) r_oz=0

do 572 1=1,3 572 r oz =r oz+| rvist(i)-r(ko+1,i+1))**2

WRITE"*,725У (rvist(ji},ji=l,6),(r(ko+1,ji+1),j i=l,6) /,[rvnev(ji),ji=l,6),г_ог 725 format (' до Gl_ rvist, r (ko+1,), rvnev, r__oz=> 1,/, 6gl6.S,/, /6gl6.8,/6gl6.8,fl2.5) it_Gl_ = 1

sbal = abal + osbal * 3bal write(3,651) ng,ngo,sbal,osbal

write(*,651) ng,ngo,sbal,osbal 651 format(* ng,ngo, sbal,osbal ->',2i4,2f13.6} 666 continue

call retannk_w[ко, kozn, e,npriz, kip,it_Gl_) с обращение к программе с весом по первой переменной на момент с последнего измерения t* alfa + beta = 1 , alfa>0, beta>0 alfa-1. beta-=0.

open (unit=5,file='alf_bet',status='old'J read{5,106) alfa,beta,гпак

106 format (g20.7) write(*,105) alfa,beta,znak

105 format С alfa,beta,2nak=',3f20,7) close (unit=5>

с вычисление оптимального коэффициента alfa

dp = 3600. dsk = 3600000000.

dp = 0.000277777777 dsk - 0.00000000027777777

if( it_Gl_ .It.

2 ) call BALOB(КО,KOZN) call alf_opt(al_op,dp,dsk, ko,kozn,sig_2_df ) al__oprl = al_op al_opr = al_cp

write!*,115) al_op

format (' alfa_optim после alf_opt=",?20.9)

open (unit=5,f ile='alf_opt*,status='old*) write(*,306) al_op,ko,kozn

write(5,306) al_op, ko, kozn 306 format (' alfa_optimalnoe=",f20.7,214) al_op=alfa

if(al_opr .It. 0. } al_opr = 0.

call DIS_ALOP( AL_OPr ,DP,DSK,KO,KOZH,DIS_A, DIS_A0 )

DIA=SQRT(DI3 A) ~ DIA0=SQRT(DIS_A0}

dul- ( (DtAO-DTA) /DIAO) *100. DPS-SQRT(DP)

Dsks-SQRT(Dsk) write{*,116) DIA, DIAO, DUL, al_opr, DPS,DSKS

write(5,116) DIA, DIAO, DOL, al_opr, DFS,DSKS

format С после DIS_AL0P=>',/,' DIS_A=',f23.13,/,

/' DIS_A0= *,f23.13, /, ' DUL%™*,F13.5,/,' al_op=',f13.5,/,' D_P_SK_ish= ',2f23.9) CALL DIS_2_6( AL_OPr , DIS_A,DIS26,KO,KOZN,DP,DSK)

write(*,1103) (sig(i),i=l,6),sig(l)+sig(2)+sig(3),sig(4)+sig(5)+sig(6) write(5,1103) (sig(i),i=l, 6),sig(l)+sig(2)+sig(3),sig(4)+sig(5)+sig(6)

format (' MHK( стандарт) sig_x_y_z_Vx_Vy_Vz,сум_1+2+3,сум_4+5+6=',/,6f12.6,/2f12.7) write(*,1104) dia, (DIS26(i),i=l,5),dia+dis26(1}+dis26(2),dis26(3)+dis26(4)+dis26(5) write(5,1104) dia,(DIS26(i), i=l,5) ,dia+dis26(1)+dis26(2),dis26(3)+dis26(4)+dis26(5)

formate (спец) sig x_y z _VJC VY Vz, сум_1+2+3, сум_4+5+6=',

//,6fl2.6,/2fl2.7) "" ~write(*7ll05) ((SIG(1)-dia)/SIG(1))*100., /(((SIG{I+l)-DIS26(i+l))/Sig(i+l))*100,,i=l,5 ) write(5,1105) ((SIG(1)-dia)/SIG(1))* 100., ({(SIG(I + 1)~ DIS26(i+1))/Sig{i+l))*100.,i=l,5 )

formatC Проц. уяуч {(станд)-(спец)/(стан)} %=>',/, 6fl2. 3) . close(unit=5) open (unit-5,file=,alf_op_s*,status"'old') ko_sig=abs( sig_2_df)/ sig_2_df write(*,316) (r(ko,l)+tpro),(r(ko,l)+tpro)/5400.,al_opr,al_oprl

/,ko_sig,sig(1),dia,((sig(l)-dia)/sig(1))U00.

write(5,316) (r[ko,1)+tpro),(r(ko,1)+tpro)/5400.,al_opr, /al_oprl,ko_sig,sig(l) ,dia, ((sig(1)-dia)/sig(1})"100. 316 format ('al_cp \ f 9.1, 3f7 .3, i7, f 10. 6, f 10. 6, f 9.2) close(unit=5) ALFA =

al_op callGl_(alfa,beta,znak,KO,KOZN,rlozz,it_Gl_) do 172 i=l,6 172 rvnev(i) = rvist(i)-rlozz(i)

WRITE(*,7 05) (rvist(ji),ji=l,6},(rlozz(ji),ji=l,6) /, (rvnev(ji),ji=l, 6) 705 format (' после Gl_ rvist,rl02Z,rvnev= ',/,6gl6.8,/,6gl6.8,/, /6fl6.8)

rnevmnk=abs(rnom(ko+l,2}-ozz(ko+1,2)] rnevdob=abs(rnom(ko+l,2)-rlozz(1)) rnev=abs{ozz(ko+1,2)-rlozz(1))

write(*,185) ozz(ko+1,2), rlozz(1),rnevmnk,rnevdob,rnev 1B5 formate после Gl_ gzz(ko+1,2), rlozz,= ',/,2f21.8,/,'rnevmnk,rnevdob,rnev= ', 3 f 21.

8)

WRITE(*,601} (ozz(ko+1,1+ji),Rlozz(ji), ozz(ko+1,1+ji)-RIOZZ(ji),rvist(ji)- RlOZZ(ji),ji=l,6)

601 format (' после Gl_ ozz,RIOZZ, ozz-rlozz, rvist-rlozz= 1,/,6(4с доработка для второй итерации Gl_ r{ko + 1 , 1+i) = rlozz(i)

920 ozz(ko + 1 , 1+i) - rlozz(iJ r_oz=0 R_OTK=0

do 448 i-1,3

R_OTK " R_OTK + (RlOZZl(i)-rlOZZ(i))**2 448 r~oz " r_oz + (rvist(i)-rlozz(i))**2

Г oz = sqrt(r_02) r_OTK=sqrt(r OTK) WRITE(*,702) IT_G1_

702 format {1 после Gl_ IT_G1_= ',14)

WRITE(*,701) (rvist(ji), ji-1,6) , (rlozz(ji),ji=l,6),r_oz,R_OTK 701 format (' после Gl_ rvist,rlozz,r_oz,R OTK= ', /, 6gl6.8,/,6gl6.8,/,2fl9.7) do 921 i-1,6

о доработка для второй итерации Gl_ 921 R10ZZ1 (i}=rlozz|i)

iff r_otk .LT. e ) goto 111 if( it_Gl_ .eq. 21 ) goto 111 i.t_Gl_ - it_Gl_ + 1 goto 666

111 continue с вычисление rozen () уточненной {) траектории do 320 i-1,6 320 rv(i}=oaz(ko+ 1 ,1+1)

do 310 i=l,6 310 ROZEN ( ko , i + 1 } = rv (i)

ROZEN ( ko ,1 ) = t t=ozz(ko+1,1}

do 40 k - kozn , ko tv = r ( ko + kozn - k , 1 ) call progSt(tv,t,rv,rva,u,h,ndate,nskid,ng,fsbal) do 30 i-1,6

ROZEN ( ko + kozn - k F 1 ) = tv 30 ROZEN ( ko + kozn - k , i + 1 ) = rv(i)

t=tv 40 continue

С вЫЧИСЛЕНИЕ КвАДРАТОв НЕвЯЗОК С вЕКТОРАМИ ИЗМЕРЕНИЙ 5.09.02 KI-K0-K0ZN+1 do 302 L=1,KI do 302 1=1,6

302 REE(6*(L-l)+I)=ROZEW(KOZN+L-1,1+1)-R{KOZN+L-1,I+l)

DO 301 LF=1, (KI*6) 301 REM2 = REM2 + REE(LF)**2 REM2 = SQRT(rem2) с Прогноц оценки с доработка

if(ko.eq.l6) koo - 16 iffko.lt.16) koo -ko+1 с для tnpor

do 444 i=l,6

rvv{i)-rvistpr(i) vg{i)= ozz( koo ,i+l) - rvistpr(i)

rozen (koo,i+1} - ozz( koo , i+1) 444 rnom (koo,i+1} = rvistpr(i)

t=r(ko+1,1) call GS_OCV{0,T,RVv,VG,VO)

WRITE (*,341) t, {rw(ji) ,vg(ji),vo(ji), ji=l, 6) 341 format (' t -rvv vg vo',g24.9, 6{/3g24 . 9)) do 440 k=kozn,koo

RADIOS1 = 0. RADIUS2 - 0. RADIUS3 =0.

ry - 0. vx = 0. vy = 0. vz = 0.

do 340 i-1,1

RADIUS1 = RADIUS1 + ( rnom(k,i+l) - R(k,L+l) }*+2 RADIUS2 = RADIUS2 + ( rnom(k,i+l) - ROZEN(k,i+1} )**2 RADIUS3 = RADICJS3 + ( rnom(k,i+2) - rozenfk,i+2) ) **2 vx= vx + ( rnom(k,i+4) - rozen(k,i+4) ) **2 vy- vy + ( rnom(k,i+5) - rozen(k, i+5] ) **2 vz= vz + ( rnora(k,i+6) - rozen(k,i+6) ) **Z 340 ry- ry + ( rnom(k,i+3) - rozen(k,i+3) ) **2

radotk(k,1) = SQRT(RADIUS1) * 1000. radotk(k,2) = SQRT(RADIUS2) * 1000.

radotk(k,3) = SQRT(RADIUS3) * 1000. ry - SQRT(ry) * 1000.

vx = SQRT(vx) * 1000. vy = SQRT(vy) * 1000. vz = SQRT(vz) * 1000.

440 continue

otkvt = rnom(koo,i+1) - ROZEN(koo,i+1) otkvt = ABS(vg(l)*1000.)

open (unit=4,file=*radot')

WRITE(4,300) (FORMAT(12)

WRITE(2, 240) (RADOTK(kk,l),RADOTK(kk, 2) , RADOTK(kk,3),KK=KOZN,KOo)

format (fl2.2,' ',?12.2,' \fl2.2)

close(unit=2) open (unit=2, file=,dr0_dob1)

WRITE(2,241) RADOTK(koo,2),RADOTK(koo, 3},гу,vx,vy,vz,REM2

format (3f13.2,3f12.6, f8.2) close(unit=2J do 37 k=l,6

osch(k)-rvist(k)-r(ko+1, k+1) 37 rvnev(k)=rvist(k)-ozz(ko+1,k+1)

srvnev=sqrt(rvnev(l)**2+rvnev(2)**2+rvnev(3)**2) sosch=sqrt(03ch(l)**2+osch{2)**2+osch{3)**2)

write(3,50)kip,ozz(ko+1,1),(rvnev(i),i=l,6), /(022(ko+1,ji+1),ji-1, G) write(*,50}kip,ozz(ko+1,1),(rvnev(i),i=l,6), /(ozz(ko+1,ji+1},ji-1,6) 50 formatC КОНЕЦ вариант ->',13,' время >',fl2.3,/,

/' НЕвЯЗКА rvist-ozz; ozzo,/6fl3.6/6f13.6) write(*,155) write(3,155)

155 formate КОНЕЦ в ГСК №K =>',/,

Г rvist , г , ozz , rvnev=rvist-ozz , rvist-r,rvistpr-rvpoz' /) write (*,150}rvist(ji},r(ko,ji+1) ,ozz(ko+1, ji+1),rvnev(ji),/osch(ji),atkpr(kip,ji},ji-1, 6)

write(*,151) srvnev,305Ch write(3,150)

(rvist {ji),r(ko+1,ji+1),ozz(ko+1, ji+1) , rvnev(j i}, /osch(j i),atkpr(kip,j i), ji-1,6}

write(3,151) srvnev,sosch 151 formate srvnev, sosch= \2fl8.6) 150 format (3f 14 .

6, 3f 11. 6) с доработка для фильтра

open (unit=4,file='ozenk_w3*) write(4,1100} (ozz(koo,i },i=l,7)

HOC format (7(g20.7/),' оценк из mnk_ws2') write(3,950) (ozz{koo, ji),ji-1,7)

write(*, 950) (ozz(koo, ji),ji=l,7} 950 formate оценк из ozenk_ws2',7f11.5)

goto BB8 open (unlt=2,file='dr0_kal.nu')

do 1320 i=l,G 1320 rv(i}=ozz(ko,i+1} do 1310 ii=l,6 1310 ROZEN ( ko , ii + 1 } = rv (ii)

ROZEN ( ko ,1 ) - t t=ozz(ko,1)

do 140 k = kozn , ko -1 tv = r ( ko + kozn - k - 1 , 1 } call prog$t(tv,t,rv, rva, u,h, ndate, nskid,ng,fsbal) do 130 il=l,6

ROZEN { ko + kozn - k - 1 , 1 ) - tv 130 ROZEN ( ko + kozn - k - 1 , il+1) = rv(il) t=tv

140 continue 1

с Прогноц оценки

call prooz (tpro,kip, ko,rvpoz) if(ko.eq,16) koo = 16 if(ko.lt.l6) koo = ko + 1 do 443 i-1,6

rozen (koo,i+1) = rvpoz(i) 443 rnom (koo,i+1) = rvistpr(i} do 1440 k=kozn,koo

RADIUS1 = 0. RADIUS2 = 0. RADIUS3 =0.

do 134D i=l,6 RADIUS1 - RADIU51 + ( rnom(k,i+l) - R(k,i+1) } **2 RADIUS2 - RADIUS2 + ( rnom(k,i+l) - ROZEN(k,i+1} )**2 1340 RADIUS3 = RADIUS3 + { r{k,i+l) - rozen(k,i+l) }**2

radotk(k,1) = SQRT(RADIUS1) * 1000. radotk(k,2) = SQRT(RADIUS2) * 1000.

radotk(k,3) = SQRT(RADIUS3) * 1000. 14 40 continue

koll-ko-kozn+1 koll=ko-kozn+2 WRITE(2,239} KOo

WRITE(2,240) (RADOTK(kk,1),RADOTKЈkk, 2).RADOTK(kk,3),KK-KOZN,KOo) close (tmit=4) close(unit=2)

18 continue

if(nprog.EQ.2} goto 888 nprog-2

888 close(unit=3) stop end

subroutine rakmnk_w{kizm,kozn, epsol,np,kol,it_Gl } implicit real*8(a-h,o-z) cowmon/c4/hfdt(6r96), POP(6) common/c3/rvist(6),rvistpr(6)

common/stat/atkpr (100, 6) ,atk (100, 6) ,woz (100, 6}, ажШОО, 6) COMMON/CONST/AM,DMU{6, 6) ,DX(6,6),WOS(6) common/c/r(16,7),hf{96, 6}, ozz(16,7),roz(16,7) common/newz/c(96) соштоп/sigl 6/sig(6)

dimension HOSI(6,6),RE{96),rvnev(6),VO{6),RVG(6} NITER-1 NIT0=1 M0BR=1

if( it_Gl_ .ge. 2 ) NOBR=2

HOZZ=l REM1 = -100. KI - KIZM - KOZN + 1

do 9 lp=l,6 9 pop(lp}-0.

call PROGOZE[KIZM,kozn,NOZZ) с вычисление баллистических производных

write(*,7) np

7 formate выч. бал. матрицы вариант ->',i2) k=0

55 call WIHROZ{kozn, kizm,NOZZ,NOBR)

IF{NQBR.EQ.1} call DAL(KIZM,kozn,np) с вычисление кор мат ошибок оценки по выборке k-1 ( HF(96,6) )

call MATOS(HOSI,KOZN,KIZM) с Прогноз оценки

с вычисление матрицы ошибок вычисление оценки

call OEENMNK(HOSI,KIZM,KOZN,it Gl_) do 28 k=l,6 RVG{K)"ROZ(KISM+1,K+1) 28 rvnev(k)=rvist(k)-roz(KIZM+1,k+1) write(3,59) (RVNEV{JI),JI=1,6) write)*,59) (RVNEV(JI) , JI=1,6) 59 formatC НЕвЯЗКА в ГСК ПЕР. ПРИБ. И НОКИН.1,/6f9.4) CALL GS OCV(0,R{KIZM,1),RVKEV,RVNEV,VO)

write(3~52) (VO(JI) , JI=1,6) write(*,52) (VO{JI),JI=1,6)

52 formate НЕвЯЗКА в ОСК ПЕР. ПРИв. И НОМИН.o,/6f9.4) write(3,52) (VO(JI), JI=1,б) do 2 L=1,KI+1

do 2 1=1,6

2 RE (6*(L-l)+I)=R02(KOZN+L-l,1+1)-R(KOZN+L-l, 1+1) do 27 K=1,6 RVG{K)=ROZ(KIZM+1, K+1) 27 rvnev{k)=rvist(k)-ozz(KIZM+1,k+1) write(3,61) (RVNEV(JI),JI-l,6),ro2 write(*,61) (RVNEV(JI),JI=1,6),ro2 61 formate НЕвЯЗКА в ГСК ОЦЕНКИ И НОМИН.',/6f9.4,f13.4) CALL GS_OCV(0,R(KIZM+1,1),RVG,RVNEV,VO) ro2=sqrt(vo(1)**2+vo(2)**2+vo(3)**2) write(*,51) (VO(JI),JI=1,6),ro2 51 formatC НЕвЯЗКА в ОСК ОЦЕНКИ И НОМИН.*,/6f9.4,f13.4) write(3,51) (VO{JI) , JI=1,6),ro2 do 33 nk=l,3 33 atk(kol,nk)=vo(nk) REM2=0.

DO 30 LF-1,96

0 REM2=REM2+RE(LF)* * 2

REM2-SQRT(REM2) REM-ABS(REM1-REM2) REM1-REM2

WRITE(3,89) REM2,REM WRITE(*,89) REM2,REM 89 FORMAT { 1 СУММА КвАДРАТОв ОТКЛОНЕНИЙ -\F13.6,/, /' ИЗМЕНЕНИЕ вЕЛИЧИНЫ СУММЫ КвАДРАТОв = ',F10.6) if( REM .LT. EPSOL) go to 4 if.( NITO .EQ. 1 ) go to 4 if( MITER .EQ. 1) go to 44 С КОРРЕКЦИЯ

WRITE(3,7 9) NITO,NITER WRITE{*,79) NITO,NITER 79 FORMATC NITO,NITER НОМЕР вНЕШ. И вНУТ. ИТЕР.= ',213) NITER = NITER + 1 NITO - NITO + 1 NOBR=2 goto 55

niter=l

do 13 J=l,7 13 ROZ(KIZM+1,J)=OZZ(KIZM+1, J) NOBR=l NITO=NITO+1 GOTO 55

do 45 ki=l,6

SIG(ki)=sqrt(hosi(ki,ki)) С КОРРЕКЦИЯ

WRITE(3,19) sig{l),sig(2),sig (3) WRITE(*,19) sig(l),sig(2),sig(3) 19 FORMATC SIG x,y, 2=', 3F13 . 7)

WRITE(*,302) {с(ji) , ji-1,6*(kizm-kozn+l)] 302 format (' в REKMNK_W c=',6gll.5)

continue return end

BLOCK DATA

implicit real*8(a-h,o-z) common/cl/pog{6) common/c4/hfdt{6,96),POP(6) COMMON / GEO / AMU,RE,OMZ,ALF,AJ2,AJ4

ПрИЛОЖ.- в COMMON/CONST/AM,DMU(6, 6),DX(6, 6),WOS(6> common/aeons 1/ayy, azz common/STAR/ALT common/am3/am35,am36,am37

data am35,am36, am37/34359738368. dO, 68719476736.dO, /137438953472.dO/ DATA AM,ALT/0.01, 1.001/ DATA WOS/1.,1.,1.,0.1,0.1,0.1/ DATA pog/0.01666666, 0.01666666,0.01666666, /1.666666d-5,1.666666d-5,1.666666d-5/ DATA DMU/3600.,0.,0.,0.,0.,0., 0.,3600.,0.,0.,0.,0., 0.,0.,3600.,0.,0.,0., 0.,0.,0.,3.6d+9,0.,0., 0.,0.,0.,0,,3.6d+9,0., 0.,0.,0.,0.,0.,3.6d+9/ DATA DX/2.77777777d-4,0.,0.,0.,0.,0. , 0.,2.77777777d-4,0.,0.,0.,0., 0.,0.,2.77777 777d-4,0.,0.,0., 0.,0.,0.,2.7777777d-10,0.,0., 0.,0.,0.r0.,2.7777777d-10,0., 0.,0.,0.,0.,0.,2.7777777d-10/ DATA azz/0.34359737368d+ll/ It ,ayy/0. 10123456789d+ll/ DATA AMD / 398600.5D 0 / If , RE / 6378.140D 0 / If , OMZ / 7.292115D-5 /

, ALF / 3.352824419290810D-3 /

, AJ2 / -1082.634796598096D-6 /

, AJ4 J 1.608D-6 / DATA AM/0.01/ END SUBROUTINE WIHROZ[kozn, kizm,nvar,NOBR} implicit real*8(a-h,o-z)

common/c3/rvist(6),rvistpr(6) common/otlad/npeh, h,ng, nskid common/parsbe/sbal

common/paratm/sun!2) ,ap, fl,fsh,pr,natm,ndate(3) common/c/r(16,7),hf{96,6),OZZ{16,7),roz(16,7) dimension rvg{6),RVA(6) external fsbal

IF(N0BR.EQ.2)GOTO 88

natm=l if(nvar.eq.2} goto 131

do 12 1=1,7

roz(KIZM+1,1)=R02(KIZM+1,1) 8в CONTINUE

do 22 i=kozn,kizm t=r(KIZM+KOZN-i+1,1) tv=r(KIZM+KOZN-i,1} do 13 m=l,6 tv=г(KIZM+KOZN-i,1}

rvg (m) = roz {KIZM+KOZN-i +1,m+1}

call prog$t(tv,t, rvg, rva, U,H,ndate,nskid,ng,fsbal) do 14 n=l,6 14 roz(KIZM+KOZN-i,n+l}=rvg(n)

roz(KIZM+KOZN-i,l)=r{KIZM+KOZN-i,1) 22 continue

go to 21 131 continue

do 1 1=1,7 1 roz(kozn,1)=ozz{kozn,1) do 2 i=kozn,kizm-1 t=r(i,l> tv=r(i+l,1) do 3 m=l,6

rvg(m)=roz(i,m+l)

call prog$t{tv,t,rvg, rva,U,H,ndate,nskid,ng,fsbal) do 4 n=l,6

roz(i+l,n+l)=rvg(n) roz[i+1,1)=r(i+1,1)

2 continue

21 write(*,52) ((rOZ(kk, ji),ji=l, 7),kk=kozn,kIZM+1) 52 formate вЕКТОРА ROZ WIHROZ ->',16{/7(fll.3))) return end SUBROUTINE BAL(KIZM,kozn,NPRIZ) implicit real*8(a-h,o-z)

dimension A(6,6), в{6, 6) ,C(6, 6), ro(6),rvg(6),RVA(S),RVAO(6} /,D(6,6) common/cl/pog(6) ^ common/с/r[16,7),hf(96,6),OZZ(16,7),roz{16,1)

common/otlad/npeh,h,ng,nskid common/STAR/ALT

common/parsbe/sbal COMMON/CONST/AM,DMU(6,6),DX(6,6},W03(6)

common/paratm/sun(2) , ap, f1, fsh,pr, natrn,ndate(3)

common/wesa_os/ABC_T(6),ABC{6} dimension VESO(6,6),VESG(6,6)

external fsbal

IF(NPRIZ.EQ.l) goto 7 IF(NPRIZ.EQ.2) goto 77 IF(NPRIZ.EQ.3)

goto 7 77 7 continue

ALTK=1. do 8 L=l,kizm-kozn+1

do 9 i=1,6 9 RVG(I)=ROZ{KIZM+ 1,1+1)

t-R{KIZM+ 1,1) tv=R(kozn+L-l,1)

if(npeh.eq.1)write(+,213) t,tv,(RVG(kl),kl=l,6)

213 formatC выч бл ло прог-'^аЮ.З/(6fl2.5))

call prog$t (tv,t, rvg, rva,U,H,ndate,n3kid,ng,fsbal)

do 11 i-1,6 11 ro(i)=rvg(i)

if(npeh.eq.1)write(*, 112) t,tv,(ro(kl),kl=l,6)

formatC выч бл после прог', 2f20. 7/(6f 12.5) )

do 13 j=l,6 do 14 m-1, 6 14 rvg(m)=ROZ(KIZM+1,m+1)

WOS(j}=pog(j1/3, rvg(j)=rvg(j)+wos{j)

t=R(KIZM+l,1) tv=R{kozn+L-1,1)

call prog$t(tv,t,rvg, rva,U,H,ndate,nskid,ng,fsbal)

do 16 i-1,6

16 hf(6*(L-l)+i,j)=ALTK*(rvg(i)-ro(i)J/wos{j) ALTK=ALTK*ALT

13 continue 8 continue goto 20

77 ALTK=1. do 99 n=l,KIZM-KOZN

99 ALTK-ALTK * ALT с дораб Тпрог do 319 i-1,6

319 RVG(I)=R0Z(kizm+1,1+1)

t=R{KIZM+1,1) tv=R(KIZM,1)

call prog$t (tv,t,rvg, rva,U,H,ndate,nskid,ng,fsbal) do 811 1=1,6 811 ro (i)=rvg{i)

do Э13 j=l,6 do 814 m=l,6

M 814 rvg(m)=ROZ(KIZM+1,M+1)

WOS (j )=pog (j) /10. rvg (j) =rvg (j ) +wos (j )

t=R(KIZM+l,1) tv-R(KIZM,1)

call prog$t(tv,t, rvg, rva,U,H,ndate,nskid,ng,fsbal) do 816 i-1,6

816 A(i,j)=(rvg(1)-ro(i))/wos(j} 813 continue

do 27 kl=l,6 do 27 k2=l,6 27 hf(6*(kizm-kozn)+kl, k2)=A(K1,K2) с дораб Тпрог do 118 L=l,kizm-kozn

ALTK=ALTK/ALT

do 17 kl=l,6 do 17 k2=l,6

17 в(kl,k2)=HF(6*(KIZM-KOZN-L+1> +kl,k2)

do 19 i-1,6' 19 RVG(I) =ROZ(kizm-L+1,1 + 1) t=R(KIZM-L+1,1) tv=R(KIZM-L,1)

call prog$t(tv,t, rvg,rva,U,H,ndate,nskid,ng,fsbal) do 111 i=l,6 111 ro(i)=rvg(i)

do 113 j=l,6 do 114 m=l,6 114 rvg(m)=ROZ(KIZM-L+1,M+1)

WOS(j)=pog(j)*3 rvg(j)-rvg(j)twos(j) t-R{KIZM-L+1,1}

tv=R(KIZM-L, 1) call prog$t(tv,t,rvg,rva,U,H,ndate,nskid,ng, fsbal)

do 116 i=l,6 116 A(i,j) = (rvg(i)-ro(i))/wos (j)

continue CALL DGMPRD[А,в,C,6,6,6) DO 51 11=1,6 DO 51 12=1,6 51 HF(6*(KIZM-KOZN-L )+11,12)=C(II,12)

118 continue goto 20

777 do 37 kl-1,6 do 37 k2=l,6 hf(6*{kizm-kozn)+kl,k2)=0.

37 hf(6*(kizm-kozn)+kl, kl)=1. do 38 L=l,kism-kozn

do 47 kl=l,6 do 47 k2-l,6

47 в(kl, k2)=HF(6*(KIZM-KOZN-L+1)+kl,k2)

do 29 i-1,6 29 RVG(I)=ROZ(kizm-L+l,1+1) ) t=R(KIZM-L+1,1) tv=t

call progSt(tv,t,rvg,RVAO,U,H,ndate,nskid,ng,fsbal) t=R(KIZM-L+1,1) TV=R(KIZM-L,1)

call prog$t{tv,t,rvg,RVA,W,H,ndate,nskid,ng,fsbal) t-R(KIZM-L+1,1) TV=R{KIZM-L,1)

call MP(t,RVAO,tv,RVA,A) CALL DGMPRD (А, в,C, 6, 6, 6)

DO 71 11-1,6 DO 71 12=1,6

71 HF(6*{KIZM-KOZN-L)+11,12)=C(II,12) 38 continue

С ДОРАБОТКА ДЛЯ тут нужен вес для перевода в из а ОСК

20 do 79 1=1,6

t*

veso{i,i)=abc T(i) 79 rvg(i) = r(kizm+1,1+i) t-r(kizm+1,1}~" call OCKGCK(T,RVG,VESO,VESG)

DO 371 11=1,6 DO 371 12=1,6

371 HF(6*(KIZM-KOZN+ 1 )+11,12 J =vesg(II,12)

Ki-(KIZM-K0ZN+ 2 )*6 IF(NPRIZ.NE.2) GO TO 87

DO 57 JJ=1,6 DO 57 11=1,6

57 B{JJ,II)=HF(JJ, II)

CALL NCAG[TO,NDATA,1,A) CALL DGMPRD(в,A,C,6,6, 6)

CALL NCAG(T, NDATA,2,D) CALL DGMPRD(D,С,B,6,6,6)

87 return end

SUBRQUTINE EROGOZE ( KI ZM, ko zn , И V AR) implicit real*8(a-h, o-z) COMMON/CONST/AM,DMU(6, 6) ,DX(6,6) ,W03 (6) common/otlad/npeh,h,ng,nskid

common/еЗ/rvist(6),rvistpr(6) cornmon/c4/hfdt(6,96},POP(6)

common/c/r(16,7) ,hf(96,6),ozz(16,7),roz(16,7) dimension rvg(6),rva(6) external fsbal

write(*,39) kizm,nvar 39 format{* ПДЦМ в 3 l',2[i5)) IF(NVAR.EQ.2) GOTO 5

roz(kizm+1,l)=r(kizm+1,1) do 17 j-1,б

с проверка коррекция 17 roz(kizm+1,j+1)-г(kizm+1,j+1)

GO TO 8 5 continue

DO 6 1-1,6 6 RVG(I}=0ZS(KOZN,I+l)

tv=R(KIZM,1) t=R(KOZN,1)

CALL PROGST(tv,t, RVG,RVA,U,H,NDATE,NSKID,NG,FSBAL) do 7 j=l,6 7 roz(kizm,j+l)=rvg(j)

roz[kizm,1)=TV 8 write{*,178) [rOZ(KIZM+1,kl), kl=l, 6)

178 formate в PROGOZ ROZ () *, (/ 6f 12. 5) ) continue return end

SUBROUTINE OZENKNK(HOSI,KIZM,KOZN,it_Gl_) implicit real*8(a-h,o-z) COMMON/CONST/AM,DMU(6,6),DX(6,6),WOS(6> common/c/r(16,7) ,hf(96,6},ozz(16, 7), roz(16,7J

common/c4/hfdt(6, 96),P0F(6) common/otlad/npeh,h,ng,nakid

common/newz/с(96)

dimension A (6),B(6),HOSI(6,6),RVDOB(6),RVG(6),vg(6),vo{6),rv ( 6} if(npeh.eq.1)write(*,7) {г(kizm,JJ+1),JJ=1,6) 7 formate 5 1 выч оцен DMPRV ИЗМЕРЕНИЕ r',/6F13.6)

K=KIZM-KOZN+l K6=K*6 do 1 L=1,K do 1 1=1,6

1 С(6*(L-l)+1}=R(KOZN+L-1,I+l)-ROZ{KOZN+L-1,I+l) do 33 ki-1,6

vg(ki)-roz[kizm+1,ki+1)/637800. 33 rv(ki)-r(kizm+1,ki+1) t=roz(kizm+1,1)

call GS_0CV(0,T,RV,VG,VO) do 111 1=1,6 111 С(6*K+I)=vo(i)

write(3,57) (C(JO),JO=l,K6+6} write(*,57) (C(JO),JO=l,K6+6)

57 format(1 C()',/16(/6f12.6)) K66-K6+6

CALL PRMV(K66,С,B) call DMPRV(HOSI,B, A, 6, 6}

WRITE(*,30) (A(JJ) , JJ=1, 6) 30 FORMAT(' в 5 HOSI*D*(r-roz) ',/6f13.6)

do 221 1=1,6 221 RVG{I)=ROZ(KIZM+1,I+l)

CALL GS_OCV(0,ROZ(KIZM+1,1),RVG,A,RVDOB) ro2=sqrt(RVDOB(1)**2+RVDOB(2)**2+RVD0B(3)**2) OZZ(KIZM+l,1)=R(KIZM+1,1)

DO 17 LI=1,6 17 B(LH=A{LI) WRITER,31) (POP (JJ) , JJ=1,6)

31 FORMAT (1 в 5 ПОПРАвКА -',/6^3.6)

DO 37 LJ=1,6 37 POP(LJ)™A(LJ) som=l,

if{ it_Gl_ .go. 2) som=0. do 5 J=2,7

5 OZZ(KIZM+1,J)=R0Z(KIZM+1,j)+som+B(J-1)

0ZZ(KIZM+1,1)=R(KIZM+1,1) WRITE(34) (B(JJ),JJ=1,6)

34 FORMATe в 5 ДОБАвКА =',/6fl3.6) write(*,4)

4 formate 5 3 выч оцен END') WRITE(*,302) (c(j1),ji=l,6"(kizm-kozn+1))

302 format (' c=a OZENMNK*,6gll.5) return end

SUBROUTINE MATOS(HOSI,KOZN,KIZM) implicit real*8(a-h,o-z)

Integer L,M COMMON/CONST/AM,DMU(6, 6),DX{6,6),WOS(6)

common/c/r(16,71,hЈ(96,6),ozz{16,7) , roz116,7) common/otlad/npeh,h,ng,nskid common/c4/hfdt(6, 96) ,POP(6) common/wesa os/ABC T(6),ABC(6)

dimension HFD{96,6},HOSI(6,6),L(6),M(6) KO-KIZM-KOZN+2 MK-K0*6

do 1 1=1,MK do 1 J-1,6 1 HFD(I,J)=HF(I, J)

if(npeh.eq.1)WRITE(*,32) ((HFD(JJ,II), I1=1,6),JJ=1,6)

FORMATC в MATOS HFD ',6(/6dl3,6)) DO 3 JT-1,MK DO 3 IT=1,6 3 HFDT(IT, JT)=HFD (JT,IT) if(npeh.eq.l) WRITE(*,33) {(HFDT(JJ,II),11=1,6),JJ=1,6)

FORMATC Б 2 1 HFDT ТРАНС', 6 (/6dl3, 6) ) с доработка do 11 ki = 1 , 6 do 11 kj = 1 , 6

11 DMU(ki,kj) - DMU(ki,kj) * abc(kj) call prddmu(KIZM,KOZH,hfdt)

36 FORMATC в 2 1 HFDT ТРАНС УМНОЖ HA DMO', 6 (/5dl3. 6))

if(npeh.eq.1)WRITE(*, 36) ((HFDT(JJ,II),11=1,6), JJ=1,6)

call PRD{MK,HFDT, HFD, HOSI) if(npeh.eq.l)WRITE(*,34) ((HOSI(JJ,II),11=1,6),JJ=1,6)

FORMATC в 2 1 HOSI ПРОИЗвЕДЕНИЕ HFDT,HFD', 6(/6dl3.6))

call DMINV(HOSI,6,D,L,M) WRITE(35)((HOSI(JJ,II),11=1,6),JJ=1,6)

FORMATC в HOSI (конец) ОБРАТНАЯ',6(/6dl3.6)) return end

Programm МШС_рвгуля С МОДУЛИ P E ГУЛ Я РИЗИ РУОЦЕЙ ПРОГРАММЫ SUBROUTINE G1 (alfa,beta,znak,КО,KOSN,roaz,it__G1_ ) с вымисленме первой компоненты вектора оценки G1 * специального с вида на момент времени t* с коэффициент alfa только справа с доработка итерации до 3-х it_Gl_ в Gl_ с самый правильный вариант С с доработанный вариант с правильной дисперсией при alfa=0

с и знаком минус (-) при FI1L_F1 С ДОРАБОТКА ДОМНОЖЕНИЕ вТОРОГО ЧЛЕНАПРИ ALFA НА DM0(1,1) implicit real*8(a-h,o-z) common/cl/pog (6)

common/c4/hfdt(6,96) , POP(6) common/c/r(16,7),hf(96,6),ozz(16,7),roz(16,7)

с матрица перехода hf_obr(96,6) между t* и ti i=l,k

COMMON/CBALOB/HFOB(96, 6) COMMON/CONST/AM,DMU{6,6),DX(6,6),WOS(6)

common/newz/c(96) common/gg/gli(16), gli_(16),FlTFl(16)

DIMENSION E(5),A(5,5),B(5),d(5),Cl(5),C2(5),X(6,96)

DIMENSION ROZZ(6), FF(6) open (unit-5, file=1alf_bet1,status='old')

read(5,106} alfaa_,betaa_,znakk_(znk al,znk_g 106 format (g20.7) write(*, 105) alfa,beta,гпак,znk_al, znkjj 105 format С alfa,beta, znak,znk_al,znk_g=',5f20.7)

close(unit=5) ко = ko if( it_Gl_ .It. 2 ) call balob(ко,когп)

DO 3 JT=1,6*(KO-KOZN+l) DO 3 IT=1,6

3 X(IT,JT)=HFOB(JT,IT)

С ДОРАБОТКА ДОМНОЖЕНИЕ вТОРОГО ЧЛЕНА ПРИ ALFA НА DMU(1,1)

DO 10 IK=1, KO-KOZN +?- 1 FlTFl (IK) =0.

С доработка обнуление члена в HFOB{l,l)> С FF(1) = 0.

DO 12 LO=l,6

12 FF(LO) = HFOB(6*(IK-l)+l,LO) DO 11 L0=1,6

11 FlTFl(IK) = FlTFl(IK) + FF(LO)*FF(LO)(LO,LO) С ДОРАБОТКА / SIGP - DNU(1,1) С ДЕЛЕНИЕ HA DX(1,1) НОРМИРУЮЩЕГО КОЭФ

FlTFl(IK) = sqrt( FlTFl(IK)/DX(1,1) ) 10 CONTINUE write{*,15) 0

WRITE(*,302) (c(ji),ji=l,6*(ko-kozn + 2 )) с обращение к подпрограмме вычисления gl{i) > (gli(16,7)) call agli(ko,kozn) write(*,15) 1 15 formatC в Gl_ ШАГ =>41) с обращение к подпрограмме вычисления gl_(i) > (gli_(16,7)) call agl_i(ko, kozn) WRITE(*,309) (FlTFl(JI),ji=l,16) 309 format {o F1TF1= ',6gl2.6) write(*,15) 2 GG=0.

ALFN=0. DO 1 IK=1,KO-KOZN + 1

ALFN=ALFN + FlTFl(IK) С тут ЕЩЕ УМНОЖИТЬ НА DMU(1,1) 16. минус > знаки минус - на + перед alfa

1 GG = GG + (BETA * Gil(IK) + znk g* ALFA* DMU(1,1) * Gil (IK)) CALL Fll_I(Fll,ko,kozn) K=KO-KOZN+l

с обращение к подпрограмме вычисления Е

call E_vek(E,ko,kozn) call А_МАТ(А,ko,kozn)

call C_VEK(B,ko,kozn) call D_VEK(D,ko,kozn)

call DMPRV (A, B, CI, 5, 5) call DMPRV (A, D, C2, 5, 5}

EA1C=0. EA1D=0.

WRITE(*, 300) (cl(ji),c2(ji),B(ji),d(ji),ji=l,5)

format (' cl= \gl2.6,' c2= \gl2.6,' B= \gl2.6,' d= ',gl2.6) WRITE!*,301) (ia(kl,ji),ji=l,5),kl=l,5)

format С a= o,/,5(gl4.6))

WRITE(*,302) (c(ji),ji=l,6*(ko-kozn + 2 ))

format С c= \6gl2.6)

WRITE (*, 372) (FlTFl (ji.), ji=l, 6* (ko-kozn + 2 )} 372 format С F1TF1- \6gl2.6)

DO 1 1-1,5 EAlC = EAlC + E(I)*C1(I)

EA1D = EA1D + E(I)*C2(I) WRITE(*,151} write(*,155) GG ,BETA, EAlC, / beta, Fll, beta, EAlD,alfa,ALFN

151 format<1 в Gl_ ->',/,' ( GG - beta * EAlC} / ',/,

/' [ beta * Fll} - beta * EA1D + znk_al*alfa* ALFN ',/)

format(3gl4.8,/,5gl2.6,gl3.3) R1NEV= znak*(GG - BETA * EAlC)

С / /(BETA + Fll - BETA * EA1D + znk_al * 1. * К * 1. )C DMU(1,1} минус > - С 2 знаки минус - на + перед alfa

/ /(BETA * Fll - BETA * EA1D + znk_al * ALFA" К * dmu(l,l)) R10ZZ = ROZ(KO+1, 2} + R1NEV ~ write(*,156) rlnev,R10ZZ

formatC в Gl_ => rlnev,R10ZZ => o, 2gl4 . 6) с вычисление комланент от Y,Z,Vx,Vy,Vz

С A-l *С - A-l*D*q* с А-1*С - A-1*D*R100Z

С А-1*С --> С A-1*D -> DO 91 L=2,6

91 ROZZ(L)= Cl(L-l) - C2(L-l)*R1NEV ROZZ(1)-RIOZZ

WRITE(*,602} rlnev, (ROZZ(ji), ji=2,6> 602 format (' в Gl_ поправка ROZZ= ',/,6gl6.8) WRITE(*,600) (ROZ(ko+1,1+ji), ji=l,6)

format С в Gl_ вектор оценки ROZ= ',/,6gl6.8) DO 71 L=2,6

71 ROZZ(L) = ROZ(KO+1,1+L) +ROZZ(L) WRITE(*,601) (ROZZ(ji),ji=l,6}

format (' в Gl_ вектор оценки ROZ2*" ',/,6gl6.9) ko = ko return end SUBROtIT 1KB agli(ko,kozn)

implicit real*8(a-h,o-z) common/c4/hfdt(6, 96),POP(6)

common/c/r(16,7),hf(96,6},022(16,7),roz(16,7) с матрица перехода hf_obr(96,6} между t* и ti i=l,k

common/gg/gli(16),gli_(16),FlTFl(16) common/newz/c(96)

DIMENSION A(6),D(6) do 8 L=l,ko-kozn + 2

gli(L) - 0. do 22 jk=l,6

d(jk)-r(kozn+L-1,1+JK) d(jk) - C(6*(L-IJ+JK)

22 A(JK) - HFdt ( 1 ,6*(L-l)+ JK ) DO 33 IK=1,6

33 gli(L) = gli(L} + D(IK)*A(IK) write(*,303) (A(KL),KL-1,6) 8 continue

303 FORMATC в GlI,A-',6gl2.6) RETURN END

SUBROUTINE agl i(ko,kozn)

implicit real*8(a-h,o-2) common/c4/hfdt(6,96),POP(6)

common/e/r(16,7} ,hf(96,6}, ozz(16, 7),roz(16,7) с матрица перехода hf_obr(96,6) между t* и ti i=l,k

common/gg/gli(16) ,gli_(16),FlTFl(16) common/cl/pog(6}

common/otlad/npeh, h, ng, nskid common/parsbe/sbal

COMMON/CSALOB/HFOB(96,6) COMMON/CONST/AM,DM0 (6,6),DX(6,6},WOS(6)

common/newz/с(96) common/paratm/sun(2),ap,f1,fsh,pr,natm,ndate(3)

dimension rvg(6) ,RVA(6} external fsbal

DIMENSION D(6),cp(96) DIMENSION CC{6)

с тут нужно прогнозы векторов измерений на момент оценки t*c исправл на tnpor

natm=l write(*,156) h,ng,ko 156 formate в aGl_i => h,ng,ko => *,gl4.6,2i4)

do 212 i = kozn , ko+1 t=r(i,1)

tv = r(ko+1,1) do 123 MC=1,6 123 rvg(MC)=r(i,MC+l) call

prog$t(tv,t,rvg,rva,U,H, ndate,nskid,ng,fsbal)

do 124 n=l,6 124 cp { 6*( i - kozn ) + n ) = rvg(n} - roz (ko+1, n+1) 212 continue do 8 LL=1, ko-kozn + 1

с тут нужно исправить на прогноз матрицы из tM3M a t*

gli_(LL) - 0. do 122 JK=1,6 d(jk) - CP(6*(LL-1)+JK)

CC(JK) = HFOB( 6*(LL-1)+1,JK) 122 CONTINUE

DO 33 IK=1,1 gli_[LL> = gli_(LL) + D(IK) * 1. / FlTFl(LL)

33 continue write(*,303) (D(IK),IK-1,1}

8 continue 303 FORMATC б G1I_, D-', 6gl2.6}

WRITE (304) (G1I_(LR) , LR = 1 , KO-KOZN +2) 304 format С в gli_,GlI_- 6gl2.6) WRITE(*,302) (gli_Jji),ji=l,ko-kozn+2)

302 format (' gli_= ',6gl2.6} RETURN END с подпрограмма вычисления вЕКТОРА Е subroutine Е vek(Е,ko,kozn) implicit real*8(a-h,o-2) cammon/c/r(16,7),hf(96,6),ozz(16,7),roz(16,7)

common/c4/hfdt(6, 96), POP(6) dimension A(6),в(6},e(5)

do 3 jk=l,5 e(jk) =0. do 8 L=l, ko - kozn + 2 do 7 K2 = l,6

7 а(K2) = HF(б*(L-l) + K2 , 1) do 6 k2=l,6

6 b(k2) - HFDT ( jk + 1 , 6*(L-l} + k2 } do 15 k2-l,6

15 e(jk} - e(jk) + a(k2)*b(k2) 0 continue

continue return end с подпрограмма вычисления МАТРИЦЫ A-l subroutine Л MAT(А,ко,kozn)

implicit real*8 (a-h,o-z) eoinmon/c/r (16,7) ,hf(96, 6),ozz(16,7),roz(16,7) dimension A(5,5),B(6),C(6) JK=1,5

do 3

common/c4/hfdt(6, 96), POP(6) dimension L(5),M(5) do 3 IK=1,5 A(jk,ik) =

do 7 K2 = 1 , 6

JK)

+ k2 ) 1 , 6

A(jk,ik)=A(jk,ik) + AJI

call DMINV(A,5,DD,L,M)

do 8 LL = I , ko-kozn + 2

B(k2) = HF(6*(LL-1) + K2 , 1 + do 6 k2=l,6

6 C(k2) = HFdt( IK+1 , 6*(LL-1) AJI=0. do 15 k2 =

15 AJI = AJI + B(k2)*C(k2)

continue 3 CONTINUE return end

подпрограмма вычислении вЫЧИСЛЕНИЕ с subroutine С VEK(CC,KO.KOZH)

common/newz/c(96)

implicit real*8 (a-h,o-z) common/c/r(16,7) ,hf(96, 6),ozz(16,7),roz(16,7) common/cJ/hfdt{6, 96) ,POP(6) CC(jk) = 0.

dimension CC(5),B(6),X(6) do 3 jk=l,5

do 8 L = 1 , ko - kozn + 2 do 7 kl-1,6

7 B(K1) = HFDT (JK + 1 , 6* (L-l) +kl )

CC(jk) = CC(JK)+ CCC

do 6 k2-l,6 6 X(k2) = С (6* (L-l)+ K2 ) CCC=0. do 15 k2 = l,6 15 CCC - CCC + B(k2)*X(k2)

8 continue 3 continue return end

С подпрограмма вычисления D

subroutine D VEK(D,ko,kozn) implicit real*8 (a-h,o-z) common/c/r(16,7) , hf(96,6),ozz(16,7),roz(16,7) common/c4/hfdt(6,96J,POP(6) dimension D(5),B(6) dimension С(6) do 7 k2=l,6

D(jk) = 0. + K2 , JK + 1 ) 6 * (LL-1) + K2 do 15 k2=l, 6

в continue return end

do 8 LL = 1 , ko do 9 k2=l,6

kozn + 2

9

)

15 Djk = Djk + B(k2)*C(k2)

do 3 jk=l,5 в(k2)=HF{6*(LL-1) C(k2) = HFDT(1, DJK=0

D(jk)-D(JK) +? DJK 3 CONTINUE с подпрограмма вЫЧИСЛЕНИЕ SUM Fll(i) subroutine Fll I(Fll,ko,kozn)

implicit real*8 (a-h,o-z) common/c/r(16,7) ,hf(96, 6),ozz(16,7),roz(16,7) соштоп/с4/hfdt(6, 96), POP(6) dimension B(6),X(6)

F11=0. do 8 L = 1 , ko - kozn + 2

do 7 kl=l,6 7 в(Kl)-HF(6*(L-l)+K1, 1) do 6 k2=l,6 6 X(K2)=HFDT(1,6*(L-l)+K2)

FF-0. do 15 k2=l,6 15 FF = FF + B(k2)*X(k2) F11-F11+FF

8 CONTINUE CONTINUE return end

FUNCTION FI X L(I,L,KO,KOZN) implicit real*8(a-h,o-z) common/c4/hfdt(6,96), POP(6)

common/c/r(16,7),hf(96, 6), ozz(16,7),roz(16,7) с матрица перехода hf_obr(96,6) между t* и ti i=l,k COMMON/CBALOB/HFOB(96, 6)

COMMON/CONST/AM, DMU(6,6), DX(6,6), WOS(6) common/FIL/FI1L_F1,FI1L,EA1FL, EA1D,Fill common/gg/gli(16), gli_(16), F1TF1{16)

DIMENSION FF(6),D(5) F111=F11 call

call A_MAT(A,ko, kozn) DO 1 11-1,5 DO 1 J=l,6

call D_VEK(D,ko,kozn) EA1=0. DO 4 J-1,5

EA1 - EA1 + E(J) * A(J,II)

3 EA(II) = EA1 DO 5

EA1C=0. DO 6 J=l,5

EAC(II) = EA1C

call DMPRV(A,D,C2,5,5} DO 2 11=1,5 2 EAlD = EA1D + E(I1) * C2(I1) DO 10 IK=1,KO-KOZN+l обнуление члена в HFOB(1,1)> DO 12 LO=* 1, 6 12 FF(LO) = HFOB(6*(IK-1)+1, LO) DO 11 LO=l,6

DIMENSION E(5), A(5,5), C2(5) DIMENSION EA(5),EAC(6),С(5,6)

1 C(I1,J) DO 3 11=1,5

CALL F11_I( Fll, KO, KOZN ) E vek(E,ko,kozn)

11=1,6

= HFDT( 11+1 , 6*(I-1)+J )

EA1FL=EAC(L)

EA1C я EA1C + EA(J) * C(J,II)

FlTFl(IK)-O. FF{1)

EAlD=0.

U FlTFl(IK) =o FlTFl(IK) + FF(LO) * FF(LO) * DX(LOrLO) С 2 ДЕЛЕНИЕ HA DX(1,1J НОРМИРШЦЕГО КОЭФ 10 FlTFl(IK) - SQRT(FlTFl(IK)/DX(1,1))

FI1L=HFDT(1,6*(1-1) +L) FIlLOB=HFOB(6*(1-1)+1, L)

С обнуление члена в HFOB(l,l)> iЈ ( L .EQ. 1 ) FI1LOB = 0.

NN-KO-KOZN+1

С знаки минус - из за - alfa в +

с FI_I_L=-(F11-EA1D)*FI1L0B*DMU(1,1) / FlTFl(I)+NN*(FI1L-EA1FL)

С знаки минус - из за - alfa

FI_I_L=(F11-EA1D)*FI1L0B*DHU(1,1) / FlTFl(I)-Nil*{FI1L-EA1FL) с доработанный вариант с правильной дисперсией при alfa=0

С И знаком минус (-> При FIlL_Fl DMU(1,1) МИНУС - НА + И DMU(1,1)

с sigp - > dmu(1,1) FI1L_F1 = ( FI1LOB * dmu(l,l) ) / FlTFl(I)

RETURH END

с Подпрограмма вычисления параметра alfa-optiшиш

SUBROOTIHB ALF OPT{AL OP,SIGP,SIGSK,KO,KQgH, sig_2_dЈ )

implicit real*8 (a-h,o-z) common/FIL/FI1L_F1, FI1L,EA1FL,EA1D,Fill common/ALL/AL(4, 6,16) DO 1 1= 1, KO - KOZN + 1 DO 1 L=l,6

AL(1,L, I)=FI_I_L(I,L,KO,KOZN)

AL(2,L, I)=FI1L~F1 AL(3,L,I)=FI1L AL(4,L,I)=ЈA1FL

1 CONTINUE

AL_HI =0. AL ZN = 0. DO 2 I = 1 , KO - KOZN + 1

DO 2 L - 1 , 3

AL_HI = AL_HI + SIGP * (AL(3,L,I) - AL{4,L,I))*AL(1,L,I) / + SIGSK * (AL(3,L+3,1) - AL(4,L+3,I))*AL(1,L+3,I)

2 AL_ZN = AL__ZN + SIGP * AL (2, L, I) *\AL (1, L, I) + SIGSK * AL (2, L+3, I) *AL (1, L+3,1) С > ~~

С DMU(1,1) МИНУС - HA + И DMU(1,1)

с AL OP - (AL HI/AL 2N)

AL_OP " - (AL_HI/AL_ZN) aig_2_df=al_zn с Знак второй производной=

RETURN END

С программа алгоритма вычисления навигационных решений в НП subroutine korka4(vl,v2,v3,v4,v5,v6,dx,dy,d2) implicit real*8 (a-h,o-z)

C0MM0N/XYZ1234/X, Y, Z,XC1,YC1,ZC1,XC2,YC2,ZC2,XC3,YC3,ZC3, /ХС4,YC4,ZC4

write(*,817) X,Y, Z,XC1,YC1,ZC1,XC2,YC2,ZC2,XC3,YC3,ZC3, /ХС4,YC4, ZC4 817 format (' XYZ 1234 ? KORKA4' ,5 (/3Ј28.12))

19700. + V6

19700. + V5

19700. + V4

write(3,817) X,Y, Z,XC1,YC1,ZC1,XC2,YC2,ZC2,XC3,YC3,ZC3,XC4,YC4,ИС4 ROCl_2 = XC1*XC1 + YC1*YC1 + ZC1*ZC1 ROC2_2 = XC2*XC2 + YC2*YC2 + ZC2*ZC2 ROC3_2 = XC3*XC3 + YC3*YC3 + 2C3*ZC3 ROC4_2 = XC4*XC4 + YC4*YC4 + ZC4*ZC4 dR21 = 27141.296947640508802112214488 + VI dR31 = 27141.296947640508802112214488 + V2 dR41 = 27141.296947640508802112214488 + V3 A21 =0.5 * ( ROC2_2 - ROCl_2 - dR21*dR21 ) A31 = 0.5 * ( R0C3_2 - R0C1_2 - dR31*dR31 ) A41 = 0.5 * ( ROC4_2 - ROCl_2 - dR41*dR41 ) write(*,10) A21,A31,A41 write(3,10) A21,A31,A41 10 format (' AR21,AR31,AR41 = ' ,3(/?26.11))

DET=(XC2-XC1)*(YC3-YC1)*(ZC4-ZC1)+ (XC4-XC1)*(YC2-YC1)*(ZC3-ZC1)+

/ (XC3-XC1)*(YC4-YC1}*(ZC2-2C1)- (XC4-XC1)*(YC3-YC1)*(ZC2-ZC1)- / (XC3-XC1)*(YC2-YC1)*(ZC4-2C1)- (XC2-XC1)*(YC4-YC1)*(ZC3-ZC1) DET_1=1./DET

B0X=( A21*(YC3-YC1)*(ZC4-ZC1) + A41*(YC2-YC1)*(ZC3-ZC1) + A31*(YC4-YC1)*(ZC2-ZC1) - / A41*(YC3-YC1)*(ZC2-ZC1) - A31*(YC2-YC1)*(ZC4-ZC1) - A21*(YC4-YC1)*(ZC3- ZC1)}*DET_1

BlX-( dR41*(YC3-YC1)*(ZC2-ZC1) + dR31*(YC2-YC1)*(ZC4-ZC1) + / dR21*(YC4-YC1)*(ZC3-ZC1) - dR21*(YC3-YC1}*(ZC4-ZC1) -

/ dR31*(YC4-YC1)*(ZC2-ZC1) - dR41 *(YC2-YC1)'(ZC3-ZC1) / )*DET_1

B0Y=( A31*(XC2-XC1)*(ZC4-ZC1) + A21*(XC4-XC1)*(ZC3-ZC1) + / A41*(XC3-XC1)*(ZC2-ZC1) -

/ A31*(XC4-XC1)*(ZC2-ZC1) - A21"(XC3-XC1)*(ZC4-ZC1) - / A41*(XC2-XC1) *(ZC3-ZC1)

ПрИЛОЖ. - в

/ > *DET_1

B1Y**( dR31* (XC4-XC1) * (ZC2-ZC1) + dR21*[ХСЗ-XCIJ * (ZC4-ZC1) + / dR41*(XC2-XC1)*(ZC3-ZC1} - dR31*(XC2-XC1)*(ZC4-ZC1) -

{ dR21*(XC4-XC1)*(ZC3-ZC1) - dR41*(XC3-XC1)*(ZC2-ZC1) )*DET 1

BOZ=( A41*(XC2-XC1)*(YC3-YC1) + A31* (YC2-YC1) MXC4-XC1) + f A21*(YC4-YC1)*(XC3-XC1) -

/ A21*(XC4-XC1)*(YC3-YC1) - A41*(YC2-YC1)*(XC3-XC1)-

/ A31*(YC4-YC1)*(XC2-XC1)

f )*DET 1

B1Z=( dR21*(XC4-XC1)*(YC3-YC1J / + dR41*(XC3-XC1)*(YC2-YC1) + dR31*(XC2-XC1)*(YC4-YC1)

/ - dR41*(XC2-XC1)*(YC3-YC1) - dR31*(XC4-XC1)*(YC2-YC1) / - dR21*(XC3-XC1)*(YC4-ZC1) )*DET_1

С

ARl = 1 - B1X*B1X - B1Y*B1Y - B1Z*B1Z BR1= - 2,*{ (B0X-XC1)*B1X + (BOY-YC1)*B1Y +

С

/ (BOZ-ZCl)*BlZ )

CR1 = - ( [BOX-XCI) **2 +o (BOY-YCl) **2 + [BOZ-ZCl) **2 ) write(3,3171 ARl, BR1,CR1,BRl*BRl-4*AR1*CR1,xc3 write(*,317} ARl, BR1,CR1,BR1*BRl-4*AR1*CR1,xc3 317 format (' . ARl,BR1,CR1,DIS,xc3 = \/,3G29.19,2G29.12) Rl_l = ( -BR1 + DSQRT(BRl*BRl-4*ARl*CRl) )/( 2*AR1 ) Rl_2 = ( -BR1 - DSQRT(BRl*BRl-4*ARl*CRl) )/( 2*AR1 ) XR_1 " B0X+B1X*R1_1 XR_2 = B0X+B1X*R1 2

YR_1 = B0Y+B1Y*R1_1 YR_2 =? B0Y+B1Y*R1_2

ZR_1 = B0Z+B1Z*R1_1 2R_2 = B0Z+B1Z*R1_2 RR_1 = SQRT ( XR_1* * 2 + YR_1**2 + 2R_l*+2 ) RR_2 = SQRT | XR_2 * * 2 + YR~2**2 + ZR~2**2 ) DEL_1 = ABSf 67 00. - RR_1 ) DEL_2 - AB3( 6700. - RR_2 ) IF(DEL_1 .LE. DEL_2) GOTO 2

XSL=XR_2 " YSL=YR 2 ZSL=ZR 2

GOTO 3

XSL=XR_1 Y3L-YR_1 ZSL=ZR_1

DX=X-XSL DY=Y-YSL 0Z=Z-ZSL write(917) XR 1,YR_1,ZR_1,XR_2,YR_2,ZR_2

write(3,917) XR~1, YR_1,ZR_1,XR_2,YR_2, ZR_2 917 format С . XR_1,YR_1,ZR_1,XR_2,YR_2,ZR_2',/,2(3f18.5/)) write(*,417) XSL,YSL,ZSL write(3,417) XSL,YSL,ZSL 417 format (' \/,3f27.8) return. end

function gn(ayy,azz) implicit real*3 (a-h,o-z) call gr(ayy,gl) call gr(azz,g2)

gn=cos(2*3.1416*gl)*sqrt(-2*alog(g2)) return end

Приложение Г

Координаты навигационных спутников х^, ycj, z^ ( 1 ~ 2, 3,4), соответствующие Зб-ти вариантам равномерно распределенным по плоскости местного горизонта спутника потребителя, и их схематичное расположение в проекции на плоскость OXY

(равносильно плоскости Отп) 1) 2) (Хс2 , Ус2, Zc2) = (26400., 0, 13000.); (Хс2 , Ус2 , Zci) - (26400., 0., 13000.); (ХсЗ , УсЗ , 2^3 ) = (0., 26400., 13000.); (ХсЗ , УсЗ , 2сЗ ) ~ (0., 26400., 13000.); (Хс4 , Ус4,гс4) = (-26400., 0, 13000.); (Xrf , Ус4 , Zc4 ) = (0., -264 00., 13000.); 3) 4)

(ХС2 , УС2, ZC2) = (26400., 0., 13000.); (Хсз , Уй, ) = (0., 26400., 13000.); (Хс4, Ус4, Zrf) = (18667.61902, 18667.61902, 13000.)

(xci, Ус2, zc2) = (26400., 0., 13000.) (ХсЗ , Усз, z^ ) = ( 0.0, 26400., 13000.) (хы, уы, z^) = (-18667.619, -18667.619, 13000.)

5) ; 6)

(хс2 , Ус2, ZC2 ) = (26400., 0., 13000.); ? (х^, ул, ^й) = (-26400., 0., 13000. );

(ХсЗ , ус3, ) = (0., 26400., 13000.); j (хс3, усз, za) = (0., -26400., 13000.);

(Хс4, Ус4, zc4) = (-13200., -22863.0706, (хы , Ус4, z^) = (26400., 0., 13000.)

13000.); :

7) ? 8)

(Хс2, Ус2 , ) = (-22863.07065, -13200., ; (х^, ус2 , т-а ) = (-13200., -22863.07065, 13000.); 13000.);

(ХсЗ , усз,^) = (0, -26400., 13000.); (хс3 ,уез.хсз) = (0.,-26400., 13000.); (Хс4, Ус4, Zc4> = (-18667.61902, (Хс4,Ус4, 2^) = (-18667.61902,

-18667.61902, 13000.) ; -18667.61902, 13000.)

9) * ' 10)"

(Хс2, Ус2 , Zc2 ) = (22863.07065, -13200.,; (хй, уС2, = (-13200., 22863.07065, 13000. 13000.); );

(Хсз , Усз, ) = (0., 26400., 13000.); (Хс3, Усз, ) = ( 0., 26400., 13000. );

(х^, уы , гы) = (-22863.07065, -13200., (хм, уС4, z^) = (-22863.07065, -13200., 13000. 13000.) )

11) : 12)

(Хс2, УсЗ , ) = (-13200., 22863.07065, ' (Хс2, ус2 , ъл ) = (-22863.07065, -13200., 13000.); ; 13000.);

(ХсЗ , Усз, 2сз) = (0., -26400., 13000.); (Xc3 , Усз, z^) = (0., 26400, 13000. );

(Хс4, Уы , Z*) = (13200., -22863.07065, (х^, уы , гы) = (-13200., -22863.07065, 13000.) 13000.)

13) 14)

(Хс2, Ус2 , ) = (13200., -22863.07065, {ха, yc2 , Zc2 ) = (18667.61902, 18667.61902, 13000.); 13000.);

(хсз , Усз, 2^з) = (0.,-26400., 13000.); ' (хс3 , Усз, Ъз ) = (0., 26400., 13000.);

(Хс4, Ус4 , Zc4) = (22863.07065., -13200, (Хс4, ус4, ъ*) = (22863.07065,13200., 13000. )

13000.) 15) 16)

(хс1, Ус2 , Zc2) = (18667.61902, 18667.61902, (xc2, yc2 , z^) = (18667.61902, 18667.61902, N 13000.); 13000.);

Ч (Хсз ,ycj,Zc3 ) = (0., 26400., 13000.); (x^ , y^, z^) = (0.,-26400., 13000.);

(xo4, Ус4 , ZC4) = ( 13200., 22863.07065, (Xc4tyc4,Zc4) = (18667.61902,

J3000.) _ -18667.61902,13000.);_ __

17) "" 18) ~ ' ' " *

(хй,УС2,2й) -(18667.61902, (xc2,ye2,zei) =(18667.61902,

-18667.61902,13000.); 18667.61902, 13000.);

(хсз, Усз, Zcj) = (0.; 26400., 13000.); (Xc3 , yc3, za) - (0., 26400., 13000. );

(хы, yc4, z*) = (-18667.61902, (xc4, yc+, z^) = (-18667.61902,

-18667.61902,13000.); 18667.61902,13000. );

19) 20)

(Хсг.УсЗ,Za) = (22863.07065, ! (x^,Ус2,za) =(-18667.61902,

-13200, 13000.); -18667.61902, 13000.);

(Хсз , Усз, ze3) = (0., 26400., 13000.); i (x^ , Ус3, Zc3) = (0., 26400., 13000. ); (xc4, yC4, zc4) = (-22863.07065, : (xc4j Ус4, z*) = (22863.07065,

13200., 13000.); 1 13200., 13000.);

21) 22)

(Хс2,УС2,2с2) =(18667.61902, (Хс2,Уа>2сг) = (-18667.61902,

-18667.61902, 13000.); -18667.61902, 13000.);

(Хсз , Усз, z*) = (0., 26400., 13000.); ; (x^ , Усз, z^) - (0., 26400., 13000. );

(Xrf, yc4, Zc4) - (-18667.61902, : (xc4, yc4, zc4) = (18667.61902,

18667.61902, 13000.); 18667.61902, 13000.);

23) . 24)

(Xc2, Ус2 , ze2 ) = (-18667.61902, (xC2, Ус2"zC2) =(-18667.61902, 18667.61902, 13000.); -18667.61902, 13000.);

(Хсз , Усз, Zc3) = (0., -26400., 13000.); (x^ , Уе3, z^) = (0., -26400., 13000. ); (Xc4) yc4, zc4) = (18667.61902, (xc4, yc4, z^) = (18667.61902,

-18667.61902, 13000. ); 18667.61902, 13000.);

25) 26)

(Xci, Ус2, zc2) = (-22863.07065, 13200., (xc2) yc2, zc2) = (18667.61902, 13000.) -18667.61902, 13000.);

(Хсз , Усз, Zc3) = (0., 26400., 13000.); (Хсз , yc3, zc3) = (0., 26400., 13000.); (Xc4, Ус4, Zc4) = (13200., -22863.07065 , (x^, yc4, zc4) = (-22863.07065 , 13200., 13000.); ; 13000,);

27) 28)

(xc2) Ус2 , ze2 ) = (13200., -22863.07065, (xc2, Ус2, zc2) = (0., -26400., 13000.); 13000.); ' (Хсз , Усз > Zc3) = (0., 26400., 13000.);

fe , Усз, zc3) = (0., 26400., 13000.); ; (x^, yc4 , zj) = ( -13200. , -22863.07065, (xc4, Ус4 " = (-13200., -22863.07065, i 13000.); 13000.); ;

29) 30)

(Xg2, yc2 , z^2 ) = (13200., 22863.07065, (xc2) yc2 , zc2 ) = (13200., 22863.07065, 13000.); 13000.);

(Хсз , Уез, z,3) = (0., 26400., 13000.); (xc3 , ye3, z^) = (0., 26400., 13000.); (Xc4, Ус4 , z^) = (-13200., 22863.07065, (xe4, yc4, zc4) = (0.,-26400., 13000.); 13000.); (Xc2,yc2,ze2) = (0., -26400., 13000.); (ХсЗ , УсЗ, Zc3) = С 0.26400., 13000.); (xc4,ye4,zc4) = (18667.61902 -18667.61902, 13000.);

32)

(х,2, Ус2,2,2) = (0., - 26400., 13000.);

(ХсЗ , Усз, zc3) = ( 0., 26400., 13000.);

(Хс4, Ус4 , Ze4) = (- 22863.07065, 13200., 13000.); 33) 34)

(Хсз, уС2, zc2) =(0., 26400., 13000.); : (хс2, ус2, Zc2) =(0., 26400., 13000.); (хс3 > Усз, zc3) ~ (-18667.61902, : (хс3 , ус3, z^) = (-18667.6I902,

18667.61902, 13000.); ; 18667.61902, 13000.);

(Хс4, Ус4 , Z,*) = (-22863.07065, 13200.,' (х^, ус4 , z^) = ( -13200., 22863.07065,

13000.); 13000.);

35) ~~ " 36)

(Хсг.усг.гй) =( 0., 26400., 13000.); : (х^, ус2, z^i) =( 0., 26400., 13000.);

(хсз, Усз, zd) = (-22S63.07065, 13200., , : (х"д , yc3, zc3) = (-18667.61902, 18667.61902,

13000.); ; 13000.);

(Xri, Ус4 , Zc4) = ( -13200, 22863.07065, : (х^, уС4, = (-26400., 0., 13000.); 13000.);

<< |
Источник: Боровков Владимир Алексеевич. Алгоритм спутниковой радионавигации низковысотного космического аппарата при перерывах в поступлении измерений: Дис. ... канд. техн. наук : 05.07.09 ,-М.: РГБ, 2006. 2006

Еще по теме Приложение в Текст программы: