Файл: Учебное пособие ( Лабораторный практикум на компьютере ) Київ 2008 1.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 341
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
4.75 4.8 4.85 4.9 4.95 5
5.05 5.1 5.15 5.2 5.25
x 10 5
-4000
-2000 0
2000 4000 6000
Время
Д
оп л
е ро в
ск а
я ча ст от а
0 1
2 3
4 5
6 7
8 9
10
-1
-0.5 0
0.5 1
Долгота
Ши р
от а
Рис. 4.4. Доплеровская частота и следы 29 спутников за 12 часов (из графика 3 файла:Orbita_GPS.m)
-3
-2
-1 0
1 2
3
x 10 7
-3
-2
-1 0
1 2
3
x 10 7
Проекция орбит на плоскость XY
4.6 4.8 5
5.2 5.4
x 10 5
2 2.2 2.4 2.6 2.8 3
3.2 3.4
x 10 7
Время
Дал ьн ост ь,
ме тр
Рис. 4.5.Проекции орбит и дальности до 29 спутников за 12 часов (из графика 4 файла:Orbita_GPS.m)
Файл Orbita_GPS.m предоставляет широкие возможности для исследования самых различных вариантов орбитального движения навигационных спутников GPS исследова- телю, работающему с данной программой.
Приведем еще один вариант файла- программы, решающей задачу фильтрации спутников по здоровью и видимости из конкретной точки в заданное время.
84
4.1.6 Лабораторная работа 4. 2 «Наблюдение спутников GPS»
Пакет программ для выполнения лабораторной работы нужно сформировать само- стоятельно
1 2 3 4 5 6 7 8 9 ... 14
. Для выполнения работы в качестве входных данных потребуется альманах спутников GPS в формате YUMA, который можно получить с нескольких сайтов или с навигационного приемника, если приемник имеется в лаборатории.
Рекомендуется следующий порядок действий для выполнения лабораторной работы.
1. Задание 1. Запишите альманах в формате YUMA на жесткий диск компьютера. По умолчанию в комплексе программ установлен альманах с именем almanac_yuma_week0371_589824.txt (альманах приведен в приложении). Имя альмана- ха внесите в отчет.
2. Задание 2. Создайте папку ORBITA_GPSv2_My.
3. В папку ORBITA_GPSv2_My запишите: файл альманаха, с которым будете работать, скопируйте функции ECEFLLH, LLHECEF, Yuma_GPS_Alm1, файл Tim.m из папки
ORBITA_GPSv1 ифайл Orbita_GPS_1.m из папки ORBITA_GPSv2. Эти данные вне- сите в отчет в соответствующий раздел задания 2
4. Задание 3. Пользуясь комментариями к файлу Orbita_GPS_1.m установите время, в которое должны наблюдаться спутники. Выполните файл и результаты, полученные на графике, занесите в отчет.
5. Задание 4. Во входных данных файла Orbita_GPS_1.m измените время на 6 часов, вы- полнить файл и полученную конфигурацию наблюдаемых спутников занести в отчет.
Объяснить разницу между результатами задания 3 и задания 4.
6. Задание 5. Во входных данных файла Orbita_GPS_1.m, пользуясь комментариями ус- тановить вывод наблюдаемых спутников в таблицу, появляющуюся в командном окне после исполнения файла и сопоставить эту таблицу с данными, полученными с нави- гационного приемника на установленное в файле время.
Примечание: практически все навигационные приемники имеют опцию для отображения на компьютере наблюдаемых спутников в полярной системе координат.
4.1.7 Вопросы и задания для самоподготовки
1. Повторите вопросы к лабораторной работе 4. 1.
2. Рассчитайте, сколько времени спутник GPS находится в зоне видимости неподвижного наблюдателя?
3. В каких пределах изменяется угол видимости спутника?
4. В каких пределах изменяется азимут спутника?
5. Сколько спутников GPS могут одновременно находиться в зоне видимости?
85
4.1.8 Файл из папки ORBITA_GPSv2
Файл Orbita_GPS_1.m
clear all
%Имя m-файла:Orbita_GPS_1.m
%Программа рассчитывает углы видимости, азимута и положение видимых спутников на заданный момент времени навигационных спутников GPS
%Входные данные:
%файл альманаха в формате Yuma,имя файла альманаха присваивается
%переменной "Dat",например,Dat = 'имя файла альманаха';
%данные о начале отсчета "d2",d2='месяц/день/год';h=час;min=минута;s=секунда;
%координаты позиции приемника -lat(широта в радианах),lon (долгота в радианах,
%hr (высота в метрах);
%шаг с каким будут рассчитываться параметры (step,секунды);
%количество точек (L), в которых будут рассчитываться параметры орбит
%L=12*3600/step,L читается так: количество часов (например,12)
%число секунд в часе (3600) деленное на шаг (step)
%Постоянные:
%скорость вращения Земли
OMEGAeDOT=7.2921151467e-005;
A_WGS84=6378137.0;
B_WGS84=6356752.314;
%или
%OMEGAeDOT=0; mu=398600500000000;
F_CONST =
4.442807633E-10; kt=3;%установка времени на титульной надписи графика, определяется параметрами d2'; h; min; s и j или L;
%Задание цветов для графики j_color = 0; color6(1:14) = ['k' 'b' 'g' 'r' 'c' 'm' 'r' ':' 'g' ':' 'b' ':' 'k' 'h'];
%Входные данные
Dat = 'almanac_yuma_week0371_589824.txt'; d2='10/05/2006'; h=23.0; min=0.0; s=0.0; lat = 0.88032730015257;%50 градусов 26минут 20.54 секунд lon = 0.53109641675259;%30 градусов 25 минут 46.4995секунд hr=187.488;% метров
X_label=['Широта' ':' num2str(lat) ';' 'долгота' ':' num2str(lon) ';' 'высота' ':' num2str(hr)];
86
step=3600;%шаг отсчета времени в секундах (300=5 минутам);шаг можно изменять
L=(24*3600) / step;% убрать % перед L для вывода таблицы улов видимости и азимута
%L=1;% установить % перед L для вывода таблицы улов видимости и азимута
%Чтение альманаха
[alm,max_kol] = Yuma_GPS_Alm1(Dat); nom = 1; i = 0; k = 0; for i = 1 : max_kol id = alm(nom).ID;
Health = alm(nom).Health;
% fprintf('1: i=%i k=%i nom=%i id=%i Health=%i \n', i, k, nom, id, Health); if ( id > 0) if ( Health == 0) k = k + 1; nom_ns(k) = id;
% fprintf('2: i=%i k=%i nom=%i id=%i Health=%i \n', i, k, nom, id, Health); nom = nom + 1; else nom = nom + 1; end; else nom = nom + 1; end; end; % i kol = k; fprintf('kol=%i \n', kol);
% nom_ns%номер навигационного спутника
[Rx,Ry,Rz] = ECEFLLH(lon, lat,hr);
%Rx=0;Ry=0;,Rz=0;%центр масс Земли
%Начало отсчета текущего времени
[week,modeweek,d,dweek,weeks]=Tim(d2,h,min,s); for j = 1:L % 0:L t( j )=weeks+step*(j); %-step;
%t1(j) = t(j)/60; %изменение дискретности текущего времени
%d_wn = (week - alm(i).Week);
%d_wn = 0; d_wn=(modeweek-alm(i).Week);%если в альманахе не учтено 1024 87
L=(24*3600) / step;% убрать % перед L для вывода таблицы улов видимости и азимута
%L=1;% установить % перед L для вывода таблицы улов видимости и азимута
%Чтение альманаха
[alm,max_kol] = Yuma_GPS_Alm1(Dat); nom = 1; i = 0; k = 0; for i = 1 : max_kol id = alm(nom).ID;
Health = alm(nom).Health;
% fprintf('1: i=%i k=%i nom=%i id=%i Health=%i \n', i, k, nom, id, Health); if ( id > 0) if ( Health == 0) k = k + 1; nom_ns(k) = id;
% fprintf('2: i=%i k=%i nom=%i id=%i Health=%i \n', i, k, nom, id, Health); nom = nom + 1; else nom = nom + 1; end; else nom = nom + 1; end; end; % i kol = k; fprintf('kol=%i \n', kol);
% nom_ns%номер навигационного спутника
[Rx,Ry,Rz] = ECEFLLH(lon, lat,hr);
%Rx=0;Ry=0;,Rz=0;%центр масс Земли
%Начало отсчета текущего времени
[week,modeweek,d,dweek,weeks]=Tim(d2,h,min,s); for j = 1:L % 0:L t( j )=weeks+step*(j); %-step;
%t1(j) = t(j)/60; %изменение дискретности текущего времени
%d_wn = (week - alm(i).Week);
%d_wn = 0; d_wn=(modeweek-alm(i).Week);%если в альманахе не учтено 1024 87
tk = t(j) + d_wn * 604800 - alm(i).TOA; d_wn = abs(modeweek - alm(i).Week); dd = 302400.0 + d_wn * 604800; for k = 1 : kol i = nom_ns(k) ;
%Расчет орбит спутников по формулам if ( ( alm(i).A05 > 0 ) & ( alm(i).Health == 0 ) ) while (abs(tk) > dd) if tk > dd tk = tk - 604800; else if tk < -dd tk = tk + 604800; end end % if end % while
%Справочник по альманаху- цифра в скобках обозначает порядковый номер
%параметра альманаха в формате YUMA
%alm(ID).ID(1); alm(ID).Health(2); alm(ID).e(3); alm(ID).TOA(4); alm(ID).deltai(5);
%alm(ID).OMEGADOT(6); alm(ID).A05(7); alm(ID).omega0(8); alm(ID).omega(9);
%alm(ID).M0(10); alm(ID).Af0(11); alm(ID).Af1(12); alm(ID).Week(13); n0=sqrt((mu) / (alm(i).A05^6)); j2 = 1082.68E-6; re = (A_WGS84 + B_WGS84) / 2.; sin55 = sin(55.0 * pi / 180.0); dn = 1.5 * j2 * re * re / (alm(i).A05^4 ) * (1. - 1.5 * sin55 * sin55);
%dn = 0; n=n0 * (1 + dn);
Mk = alm(i).M0 + n*tk; e=alm(i).e;
%решение уравнения Кеплера eps = 1.0E-15; y = e * sin(Mk); x1 = Mk; x = y;
88
%Расчет орбит спутников по формулам if ( ( alm(i).A05 > 0 ) & ( alm(i).Health == 0 ) ) while (abs(tk) > dd) if tk > dd tk = tk - 604800; else if tk < -dd tk = tk + 604800; end end % if end % while
%Справочник по альманаху- цифра в скобках обозначает порядковый номер
%параметра альманаха в формате YUMA
%alm(ID).ID(1); alm(ID).Health(2); alm(ID).e(3); alm(ID).TOA(4); alm(ID).deltai(5);
%alm(ID).OMEGADOT(6); alm(ID).A05(7); alm(ID).omega0(8); alm(ID).omega(9);
%alm(ID).M0(10); alm(ID).Af0(11); alm(ID).Af1(12); alm(ID).Week(13); n0=sqrt((mu) / (alm(i).A05^6)); j2 = 1082.68E-6; re = (A_WGS84 + B_WGS84) / 2.; sin55 = sin(55.0 * pi / 180.0); dn = 1.5 * j2 * re * re / (alm(i).A05^4 ) * (1. - 1.5 * sin55 * sin55);
%dn = 0; n=n0 * (1 + dn);
Mk = alm(i).M0 + n*tk; e=alm(i).e;
%решение уравнения Кеплера eps = 1.0E-15; y = e * sin(Mk); x1 = Mk; x = y;
88
for k = 0 : 15 % количество итераций x2 = x1; x1 = x; y1 = y; y = Mk - (x - e * sin(x)); if (abs(y - y1) < eps) break end x = (x2 * y - x * y1) / (y - y1); end % kepler
Ek = x; deltr = F_CONST * alm(i).e * alm(i).A05 * sin(Ek); dt1 = alm(i).Af0 + alm(i).Af1 * tk + deltr; tk = tk - dt1; vd = 1. - alm(i).e * cos(Ek); nuk =atan2(sqrt(1-alm(i).e^2)*sin(Ek) / vd,(cos(Ek)-alm(i).e) / vd);
Ek = acos((alm(i).e+cos(nuk))/(1+alm(i).e*cos(nuk)));
Fk =nuk + alm(i).omega; uk =Fk; ik=alm(i).deltai; rk =(alm(i).A05^2)*(1.0-alm(i).e*cos(Ek)); xkk =rk*cos(uk); ykk =rk*sin(uk);
OMEGAk =alm(i).omega0+(alm(i).OMEGADOT-OMEGAeDOT)*tk-OMEGAeDOT*alm(i).TOA;
Xk(j,i) = xkk *cos(OMEGAk)-ykk*cos(ik)*sin(OMEGAk);
Yk(j,i) = xkk*sin(OMEGAk)+ykk*cos(ik)*cos(OMEGAk);
Zk(j,i) = ykk*sin(ik);
%Дальности до спутников
PR(j,i) = sqrt((Xk(j,i) - Rx)^2 + (Yk(j,i) - Ry)^2 + (Zk(j,i) - Rz)^2);
%Перевод в географическую систему если требуется
%[lons,lats,hrs] = LLHECEF(Xk,Yk,Zk);
%(Llon(j),Llat(j),Hhr(j)) = [lons,lats,hrs];
%расчет угла видимости спутника xls = Xk(j,i) - Rx; yls = Yk(j,i) - Ry; zls = Zk(j,i) - Rz; range1 = sqrt(xls*xls+yls*yls+zls*zls); if j>1 89
Ek = x; deltr = F_CONST * alm(i).e * alm(i).A05 * sin(Ek); dt1 = alm(i).Af0 + alm(i).Af1 * tk + deltr; tk = tk - dt1; vd = 1. - alm(i).e * cos(Ek); nuk =atan2(sqrt(1-alm(i).e^2)*sin(Ek) / vd,(cos(Ek)-alm(i).e) / vd);
Ek = acos((alm(i).e+cos(nuk))/(1+alm(i).e*cos(nuk)));
Fk =nuk + alm(i).omega; uk =Fk; ik=alm(i).deltai; rk =(alm(i).A05^2)*(1.0-alm(i).e*cos(Ek)); xkk =rk*cos(uk); ykk =rk*sin(uk);
OMEGAk =alm(i).omega0+(alm(i).OMEGADOT-OMEGAeDOT)*tk-OMEGAeDOT*alm(i).TOA;
Xk(j,i) = xkk *cos(OMEGAk)-ykk*cos(ik)*sin(OMEGAk);
Yk(j,i) = xkk*sin(OMEGAk)+ykk*cos(ik)*cos(OMEGAk);
Zk(j,i) = ykk*sin(ik);
%Дальности до спутников
PR(j,i) = sqrt((Xk(j,i) - Rx)^2 + (Yk(j,i) - Ry)^2 + (Zk(j,i) - Rz)^2);
%Перевод в географическую систему если требуется
%[lons,lats,hrs] = LLHECEF(Xk,Yk,Zk);
%(Llon(j),Llat(j),Hhr(j)) = [lons,lats,hrs];
%расчет угла видимости спутника xls = Xk(j,i) - Rx; yls = Yk(j,i) - Ry; zls = Zk(j,i) - Rz; range1 = sqrt(xls*xls+yls*yls+zls*zls); if j>1 89
doppler(j-1) = (range1 - range2) * 5.2514 / step; end range2 = range1;
P = sqrt(Rx * Rx + Ry * Ry + Rz * Rz); tdot = ( Rx*xls+Ry*yls+Rz*zls)/range1/P; xll = xls/range1; yll = yls/range1; zll = zls/range1; if tdot >= 1.00 b = 0.0; elseif tdot <= -1.00 b = pi; else b = acos( tdot); end satang = pi/2.0 - b;
TT =satang;
TT(j,i) =TT;%угол видимости спутников
%расчет угла азимута спутников xn =-cos(lon)*sin(lat); yn =-sin(lon)*sin(lat); zn = cos(lat); xe =-sin(lon); ye = cos(lon); xaz = xe*xll + ye*yll; yaz = xn*xll + yn*yll + zn*zll; if (xaz == 0) or (yaz == 0) az(j)= 0; else az(j,i) = atan2(xaz,yaz); end if az(j,i) < 0 az(j,i) = az(j,i) + pi*2; end
AZ(j,i) =az(j,i) *180/pi;%угла азимута спутников в градусах
EL(j,i) = TT(j,i) *180/pi;%угла видимости спутников в градусах
% ПЕРЕСЧЕТ ВРЕМЕНИ
A(j)=mod(t(j),86400);
90
P = sqrt(Rx * Rx + Ry * Ry + Rz * Rz); tdot = ( Rx*xls+Ry*yls+Rz*zls)/range1/P; xll = xls/range1; yll = yls/range1; zll = zls/range1; if tdot >= 1.00 b = 0.0; elseif tdot <= -1.00 b = pi; else b = acos( tdot); end satang = pi/2.0 - b;
TT =satang;
TT(j,i) =TT;%угол видимости спутников
%расчет угла азимута спутников xn =-cos(lon)*sin(lat); yn =-sin(lon)*sin(lat); zn = cos(lat); xe =-sin(lon); ye = cos(lon); xaz = xe*xll + ye*yll; yaz = xn*xll + yn*yll + zn*zll; if (xaz == 0) or (yaz == 0) az(j)= 0; else az(j,i) = atan2(xaz,yaz); end if az(j,i) < 0 az(j,i) = az(j,i) + pi*2; end
AZ(j,i) =az(j,i) *180/pi;%угла азимута спутников в градусах
EL(j,i) = TT(j,i) *180/pi;%угла видимости спутников в градусах
% ПЕРЕСЧЕТ ВРЕМЕНИ
A(j)=mod(t(j),86400);
90
her(j)=floor(A(j)/3600); m(j)=floor((A(j)-her(j)*3600)/60); sek(j)=A(j)-her(j)*3600-m(j)*60;
%Построение полярной системы координат if EL(j,i) < 0 elp = 180; else elp = (EL(j,i)-90); end; azp = (AZ(j,i) + 90.0); rad = pi / 180; x0 = 0; y0 = 0; xt(j,i) = (elp * cos(azp * rad)); yt(j,i) = -(elp * sin(azp * rad)); end % i = ns end; % if ( alm(i).A05 > 0 ) j_color = j_color + 1; if (j_color > 14 ) j_color = 1; end
S = color6(j_color); end % j = time
%ВНИМАНИЕ. Для вывода времени визуализации спутников на график установите kt t_itle=[d2 ' ' num2str(her(kt)) ':' num2str(m(kt)) ':' num2str(sek(kt))];
%X_label=['Широта' ':' num2str(lat) ';' 'долгота' ':' num2str(lon) ';' 'высота' ':' num2str(hr)];
%num2ctr(lat)
%num2str(her(kt))
%X_label=['66' ':']; n = 6; max_n = max(nom_ns); n_end = mod(max(nom_ns),n); n_end = mod(kol, n); n2 = fix(kol / n) * n - n +1;
%Формирование таблицы вывода времени UTC (Time), GPS (Tgps в секундах), номера спутника
(nns),
% углов видимости и азимута от времени и номера спутника for i=1:n:kol fprintf(' Time Tgps '); for k=1: n nns = nom_ns(i+k-1);
91
%Построение полярной системы координат if EL(j,i) < 0 elp = 180; else elp = (EL(j,i)-90); end; azp = (AZ(j,i) + 90.0); rad = pi / 180; x0 = 0; y0 = 0; xt(j,i) = (elp * cos(azp * rad)); yt(j,i) = -(elp * sin(azp * rad)); end % i = ns end; % if ( alm(i).A05 > 0 ) j_color = j_color + 1; if (j_color > 14 ) j_color = 1; end
S = color6(j_color); end % j = time
%ВНИМАНИЕ. Для вывода времени визуализации спутников на график установите kt t_itle=[d2 ' ' num2str(her(kt)) ':' num2str(m(kt)) ':' num2str(sek(kt))];
%X_label=['Широта' ':' num2str(lat) ';' 'долгота' ':' num2str(lon) ';' 'высота' ':' num2str(hr)];
%num2ctr(lat)
%num2str(her(kt))
%X_label=['66' ':']; n = 6; max_n = max(nom_ns); n_end = mod(max(nom_ns),n); n_end = mod(kol, n); n2 = fix(kol / n) * n - n +1;
%Формирование таблицы вывода времени UTC (Time), GPS (Tgps в секундах), номера спутника
(nns),
% углов видимости и азимута от времени и номера спутника for i=1:n:kol fprintf(' Time Tgps '); for k=1: n nns = nom_ns(i+k-1);
91
fprintf(' %2i ', nns); end; fprintf(' \n'); for j=1:L fprintf('%2i:%2i:%2i %i ',her(j),m(j),sek(j), t(j)); for k=1: n nns = nom_ns(i+k-1); fprintf('%6.1f *%6.1f ', EL(j,nns), AZ(j,nns) ); end; fprintf(' \n'); end ; % J=1:L if (i) == (n2) n = n_end; end; end% i hold on
%Окружности уровней на круговой диаграмме видимости спутников k1 = 10; k2 = 30; k3 = 50; k4 = 70; k5 = 85; k6=90; n=0; for k=1:5:365 n=n+1; m1 = pi / 180; x(n)=cos(k*m1); y(n)=sin(k*m1); end;
%График круговой диаграммы plot(k1*x(:),k1*y(:),'k:', k2*x(:),k2*y(:),'k:', k3*x(:),k3*y(:),'k:',k4*x(:),k4*y(:),'k:', k5*x(:),k5*y(:),'r', k6*x(:),k6*y(:),'r:'); text(5, 10,'80','FontSize',12,'FontName','TimesNewRoman'); text(18, 23,'60','FontSize',12,'FontName','TimesNewRoman'); text(32, 37,'40','FontSize',12,'FontName','TimesNewRoman'); text(45, 50,'20','FontSize',12,'FontName','TimesNewRoman'); text(55, 60,'5','FontSize',12,'FontName','TimesNewRoman'); text(62, 67,'0','FontSize',12,'FontName','TimesNewRoman'); grid on;
%Построение изображений видимых спутников на круговой диаграмме i=1;
92
%Окружности уровней на круговой диаграмме видимости спутников k1 = 10; k2 = 30; k3 = 50; k4 = 70; k5 = 85; k6=90; n=0; for k=1:5:365 n=n+1; m1 = pi / 180; x(n)=cos(k*m1); y(n)=sin(k*m1); end;
%График круговой диаграммы plot(k1*x(:),k1*y(:),'k:', k2*x(:),k2*y(:),'k:', k3*x(:),k3*y(:),'k:',k4*x(:),k4*y(:),'k:', k5*x(:),k5*y(:),'r', k6*x(:),k6*y(:),'r:'); text(5, 10,'80','FontSize',12,'FontName','TimesNewRoman'); text(18, 23,'60','FontSize',12,'FontName','TimesNewRoman'); text(32, 37,'40','FontSize',12,'FontName','TimesNewRoman'); text(45, 50,'20','FontSize',12,'FontName','TimesNewRoman'); text(55, 60,'5','FontSize',12,'FontName','TimesNewRoman'); text(62, 67,'0','FontSize',12,'FontName','TimesNewRoman'); grid on;
%Построение изображений видимых спутников на круговой диаграмме i=1;
92
for k=1:kol i = nom_ns(k) ; plot(xt(kt,i),yt(kt,i), 'Marker' ,'d','MarkerSize',20 ) title(t_itle); xlabel(X_label,'FontSize',12,'FontName','TimesNewRoman') set(get(gcf,'CurrentAxes'),'FontSize',14,'FontName','TimesNewRoman') hold on str1 = num2str( i, 2); text(xt(kt,i), yt(kt,i),str1,'FontSize',14,'FontName','TimesNewRoman','HorizontalAlignment','center' ); axis( [-100 100 -100 100]);
%axis( [-90 90 -90 90]); end clear
4.1.9 Пример выполнения файла Orbita_GPS_1.m
Расчет углов видимости и азимута c интервалом 1 час для 28 здоровых спутников, выполненный m-файлом Orbita_GPS_1.m приведен в таблице. Знак "-" (минус) обозначает невидимые в указанное время спутники.
Таблица
Углы видимости и азимута спутников GPS
6 октября 2006 года
Time
Tgps
1 2 3 4 5
6 0:0:0 432000 72.9*100.5 -46.1*321.4 -13.0*175.9 -16.4*313.7 -0.8*27.4
-53.0*75.4 1:0:0 435600 52.0*58.3 -25.7*328.2 -27.7*162.0 6.1*317.2
-0.0*5.2
-38.8*53.7 2:0:0 439200 26.6*60.6 -3.9*329.0 -32.9*141.1 28.5*309.9 -11.0*346.3 -21.6*38.6 3:0:0 442800 4.0*71.8 16.8*320.1 -27.1*118.8 42.2*283.5 -28.3*332.7 -6.8*22.4 4:0:0 446400
-16.0*86.0 29.1*296.8 -13.6*99.8 35.2*249.6 -46.7*319.6 -0.0*2.2 5:0:0 450000 -34.6*100.8 23.9*267.4 2.0*81.1 15.4*229.1 -61.5*296.6 -5.1*341.6 6:0:0 453600 -52.7*114.0 6.8*246.0 12.6*58.4 -4.9*215.1
-63.7*256.6 -19.2*324.9 7:0:0 457200 -70.8*120.3 -11.3*229.4 10.3*34.4 -20.3*199.3 -51.4*233.3 -36.6*310.1 8:0:0 460800 -84.6*49.6 -24.2*211.1 -4.1*17.8 -26.9*178.9 -33.3*230.4 -51.8*289.9 9:0:0 464400 -68.4*353.7 -27.6*189.7 -23.9*10.2 -22.2*157.6 -13.3*236.8 -57.4*257.5 10:0:0 468000 -47.7*352.9 -20.0*170.2 -44.5*8.0 -8.1*140.1 8.1*248.1
-48.6*230.5 11:0:0 471600 -26.1*352.4 -3.6*155.9
-64.3*5.9 11.5*124.4 31.1*262.4
-31.2*221.6 12:0:0 475200 -5.0*346.7 18.1*144.0 -81.0*337.1 30.4*103.0 56.0*278.8
-10.3*223.8 13:0:0 478800 11.4*331.9 40.6*125.4 -74.8*252.1 36.5*70.8 82.8*306.0 12.5*232.3 14:0:0 482400 16.0*308.0 50.7*86.9
-57.8*249.5 23.4*46.1 68.6*120.0 36.7*245.2 15:0:0 486000 6.2*284.5 36.2*55.6
-40.2*259.5 2.1*38.2 40.8*134.6 61.8*263.1 16:0:0 489600 -10.8*266.1 12.6*48.8
-21.9*272.2 -19.7*40.7 14.9*144.1 85.3*335.1 17:0:0 493200 -27.0*247.9 -10.3*53.7
-1.9*284.8 -39.8*49.3
-8.6*148.9 65.4*95.7 18:0:0 496800 -36.0*225.2 -30.7*64.4 20.6*294.7 -58.1*62.6
-28.9*147.0 39.9*114.6 19:0:0 500400 -33.0*201.2 -49.0*78.6 45.7*296.6 -74.9*82.6
-44.1*134.3 15.3*127.8 20:0:0 504000 -18.7*184.9 -65.8*95.3 67.5*266.4 -86.4*204.9
-49.5*108.7
-7.9*136.5 21:0:0 507600 3.0*176.9 -81.9*118.7 58.1*204.2 -71.6*272.3
-42.3*82.0
-29.2*139.1 22:0:0 511200 29.5*172.5 -81.1*291.1 31.7*188.9 -54.5*291.2 -27.5*62.8
-47.0*131.3 23:0:0 514800 58.2*161.8 -63.7*310.7 6.5*183.1 -35.7*305.0
-11.4*45.9
-56.7*106.0
Time
Tgps
7 8 9 10 11 13 0:0:0 432000 -36.9*144.7 -49.9*251.3 -16.8*0.2 -74.1*251.9 68.9*226.5
-14.8*220.0 1:0:0 435600 -42.3*120.7 -45.2*224.0 -37.5*353.1 -57.7*273.4 47.4*189.5 7.9*228.7 93
%axis( [-90 90 -90 90]); end clear
4.1.9 Пример выполнения файла Orbita_GPS_1.m
Расчет углов видимости и азимута c интервалом 1 час для 28 здоровых спутников, выполненный m-файлом Orbita_GPS_1.m приведен в таблице. Знак "-" (минус) обозначает невидимые в указанное время спутники.
Таблица
Углы видимости и азимута спутников GPS
6 октября 2006 года
Time
Tgps
1 2 3 4 5
6 0:0:0 432000 72.9*100.5 -46.1*321.4 -13.0*175.9 -16.4*313.7 -0.8*27.4
-53.0*75.4 1:0:0 435600 52.0*58.3 -25.7*328.2 -27.7*162.0 6.1*317.2
-0.0*5.2
-38.8*53.7 2:0:0 439200 26.6*60.6 -3.9*329.0 -32.9*141.1 28.5*309.9 -11.0*346.3 -21.6*38.6 3:0:0 442800 4.0*71.8 16.8*320.1 -27.1*118.8 42.2*283.5 -28.3*332.7 -6.8*22.4 4:0:0 446400
-16.0*86.0 29.1*296.8 -13.6*99.8 35.2*249.6 -46.7*319.6 -0.0*2.2 5:0:0 450000 -34.6*100.8 23.9*267.4 2.0*81.1 15.4*229.1 -61.5*296.6 -5.1*341.6 6:0:0 453600 -52.7*114.0 6.8*246.0 12.6*58.4 -4.9*215.1
-63.7*256.6 -19.2*324.9 7:0:0 457200 -70.8*120.3 -11.3*229.4 10.3*34.4 -20.3*199.3 -51.4*233.3 -36.6*310.1 8:0:0 460800 -84.6*49.6 -24.2*211.1 -4.1*17.8 -26.9*178.9 -33.3*230.4 -51.8*289.9 9:0:0 464400 -68.4*353.7 -27.6*189.7 -23.9*10.2 -22.2*157.6 -13.3*236.8 -57.4*257.5 10:0:0 468000 -47.7*352.9 -20.0*170.2 -44.5*8.0 -8.1*140.1 8.1*248.1
-48.6*230.5 11:0:0 471600 -26.1*352.4 -3.6*155.9
-64.3*5.9 11.5*124.4 31.1*262.4
-31.2*221.6 12:0:0 475200 -5.0*346.7 18.1*144.0 -81.0*337.1 30.4*103.0 56.0*278.8
-10.3*223.8 13:0:0 478800 11.4*331.9 40.6*125.4 -74.8*252.1 36.5*70.8 82.8*306.0 12.5*232.3 14:0:0 482400 16.0*308.0 50.7*86.9
-57.8*249.5 23.4*46.1 68.6*120.0 36.7*245.2 15:0:0 486000 6.2*284.5 36.2*55.6
-40.2*259.5 2.1*38.2 40.8*134.6 61.8*263.1 16:0:0 489600 -10.8*266.1 12.6*48.8
-21.9*272.2 -19.7*40.7 14.9*144.1 85.3*335.1 17:0:0 493200 -27.0*247.9 -10.3*53.7
-1.9*284.8 -39.8*49.3
-8.6*148.9 65.4*95.7 18:0:0 496800 -36.0*225.2 -30.7*64.4 20.6*294.7 -58.1*62.6
-28.9*147.0 39.9*114.6 19:0:0 500400 -33.0*201.2 -49.0*78.6 45.7*296.6 -74.9*82.6
-44.1*134.3 15.3*127.8 20:0:0 504000 -18.7*184.9 -65.8*95.3 67.5*266.4 -86.4*204.9
-49.5*108.7
-7.9*136.5 21:0:0 507600 3.0*176.9 -81.9*118.7 58.1*204.2 -71.6*272.3
-42.3*82.0
-29.2*139.1 22:0:0 511200 29.5*172.5 -81.1*291.1 31.7*188.9 -54.5*291.2 -27.5*62.8
-47.0*131.3 23:0:0 514800 58.2*161.8 -63.7*310.7 6.5*183.1 -35.7*305.0
-11.4*45.9
-56.7*106.0
Time
Tgps
7 8 9 10 11 13 0:0:0 432000 -36.9*144.7 -49.9*251.3 -16.8*0.2 -74.1*251.9 68.9*226.5
-14.8*220.0 1:0:0 435600 -42.3*120.7 -45.2*224.0 -37.5*353.1 -57.7*273.4 47.4*189.5 7.9*228.7 93
2:0:0 439200 -35.6*95.9 -29.9*210.4 -57.8*346.7 -40.1*290.0 21.1*181.8 32.2*242.9 3:0:0 442800 -21.4*76.8 -9.3*208.3 -74.7*323.0 -20.7*303.1 -2.3*176.2 57.3*264.1 4:0:0 446400 -6.0*59.4 14.3*213.4 -74.0*255.0 1.2*311.6
-20.6*166.4 79.9*324.4 5:0:0 450000 4.2*39.2 40.3*223.8 -58.4*239.5 25.1*311.9 -31.3*149.2 66.9*79.8 6:0:0 453600 3.0*17.6 67.7*241.6 -40.8*245.2 46.2*294.2 -31.8*126.8 42.1*106.9 7:0:0 457200 -9.4*0.8 82.7*31.9 -22.6*256.9 48.5*252.7
-22.5*105.9 17.7*123.8 8:0:0 460800 -27.8*350.2 56.8*74.6 -3.1*270.7 29.2*225.3 -8.2*87.4
-5.4*135.3 9:0:0 464400 -47.8*341.8 31.9*93.6 18.8*284.5 5.9*211.8 5.1*67.5
-27.0*140.9 10:0:0 468000 -66.0*324.8 8.8*109.5 44.1*295.2 -13.8*199.3 9.8*44.4
-46.0*136.8 11:0:0 471600 -72.6*272.9 -13.0*122.3 72.2*288.5 -26.3*181.9 1.9*23.9
-58.5*114.6 12:0:0 475200 -59.7*240.4 -33.5*130.2 70.8*179.4 -28.2*159.9
-14.7*11.4
-56.5*78.5 13:0:0 478800 -41.3*239.1 -52.2*128.9 41.1*169.9 -18.8*139.5
-34.5*5.5
-41.9*55.1 14:0:0 482400 -21.9*247.3 -65.7*106.0 13.7*170.5 -1.7*122.8
-54.3*1.9
-23.3*40.4 15:0:0 486000 -2.0*259.5 -63.8*62.2
-9.6*168.4 17.8*104.8 -72.5*349.4 -6.2*24.7 16:0:0 489600 19.0*273.1 -48.3*38.9
-27.7*159.9 30.9*78.0
-78.7*279.1 3.0*3.8 17:0:0 493200 41.9*285.7 -29.1*27.1
-38.1*142.0 26.3*48.7
-64.3*249.6
-1.0*341.5 18:0:0 496800 67.2*291.3 -10.8*14.6
-37.4*118.0 7.8*33.4
-46.9*253.2
-15.6*323.7 19:0:0 500400 80.9*182.9 1.6*356.3
-26.4*96.8 -14.2*30.8
-28.7*263.5
-34.1*309.3 20:0:0 504000 53.1*159.6 2.0*333.5
-10.5*78.8 -35.5*35.9
-9.5*275.5
-50.9*290.7 21:0:0 507600 24.6*162.0 -9.6*313.0 4.2*58.7
-55.1*46.5 11.6*286.5
-58.8*258.6 22:0:0 511200 -1.0*162.8 -26.6*296.0 9.2*34.3
-73.1*63.8 35.2*293.0
-51.4*228.5 23:0:0 514800 -22.5*157.9 -42.4*276.7 0.0*12.6
-86.8*161.9 59.9*284.1
-34.3*218.3
Time
Tgps
14 16 17 18 19 20 0:0:0 432000 32.0*51.0 -27.1*150.4 21.4*314.6 -29.0*86.9 8.0*191.3 43.9*274.1 1:0:0 435600 7.8*52.7 -15.8*130.6 24.4*287.5 -47.2*101.0 -13.6*182.3 69.5*293.5 2:0:0 439200 -13.9*62.5 1.8*113.9 12.0*263.0 -64.8*112.6 -28.2*166.8 82.3*103.7 3:0:0 442800
-33.2*76.3 19.8*94.3 -6.0*245.0 -82.2*105.9 -32.3*144.6 54.2*130.7 4:0:0 446400 -50.8*92.5 28.4*66.9 -21.7*227.4 -77.6*344.4 -25.0*122.4 26.9*142.5 5:0:0 450000 -67.7*110.3 19.9*41.5
-29.5*206.1 -58.2*342.6
-10.1*104.1 1.7*149.5 6:0:0 453600 -84.5*137.5 0.6*29.8
-26.1*184.3 -37.7*345.2 6.8*85.8
-20.6*150.7 7:0:0 457200 -77.3*309.4 -21.2*28.7 -12.3*168.0 -16.6*344.3 18.0*62.5
-38.7*142.8 8:0:0 460800 -58.4*324.3 -42.2*34.1 8.5*156.9 3.2*336.4 15.1*37.6
-48.9*121.5 9:0:0 464400 -37.9*332.9 -61.8*44.6 33.2*145.0 16.4*318.0 -0.4*21.7
-46.3*92.9 10:0:0 468000 -16.2*336.3 -80.0*62.6 54.3*116.9 15.8*292.6
-21.1*15.7
-33.3*71.1 11:0:0 471600 5.6*332.1 -82.4*235.2 51.7*69.6 2.7*270.4
-42.4*16.0 -16.7*54.3 12:0:0 475200 22.7*315.9 -65.8*259.5 29.6*52.6 -14.3*252.4 -63.0*19.0 -2.5*36.1 13:0:0 478800 25.8*288.2 -48.8*276.6 5.8*54.5
-27.9*232.9
-82.0*10.5 2.5*14.2 14:0:0 482400 12.8*263.3 -30.7*291.6 -15.7*63.9 -32.4*209.8
-78.2*246.0
-5.1*353.6 15:0:0 486000
-6.0*245.5 -10.8*303.4 -34.9*77.2 -25.3*188.9 -60.6*249.7 -21.4*338.7 16:0:0 489600 -22.4*228.1 11.6*310.0 -52.4*92.5 -8.7*175.5
-43.1*262.6
-40.5*326.9 17:0:0 493200 -30.8*206.5 35.2*306.5 -69.3*108.5 14.0*167.6
-25.0*276.8
-58.1*309.7 18:0:0 496800 -27.5*184.0 52.5*279.1 -86.3*126.8 40.3*158.8
-5.5*290.1
-66.5*271.9 19:0:0 500400 -13.4*167.4 45.7*236.5 -75.9*314.8 63.3*129.3 16.4*300.1
-57.8*237.6 20:0:0 504000 8.0*156.5 22.9*215.8 -56.9*325.9 58.5*70.8 40.8*302.1
-40.6*229.7 21:0:0 507600 33.4*145.0 -0.2*204.1
-36.6*333.1 34.4*57.7 62.7*277.8
-20.9*234.4 22:0:0 511200 55.4*117.0 -18.5*190.6 -15.1*335.4 10.4*62.9 57.7*218.9
-0.1*244.9 23:0:0 514800 52.9*67.5 -28.3*171.4 6.1*330.2 -11.0*74.1 32.1*198.7 21.9*259.0
Time
Tgps
21 22 23 24 25 26 0:0:0 432000 -48.3*124.6 2.8*84.1 14.5*215.6 -11.0*311.8 30.7*126.9
-65.7*19.8 1:0:0 435600 -65.0*113.1 -17.1*97.8 40.5*226.5 11.5*315.2 46.4*96.8
-84.2*14.0 2:0:0 439200 -70.3*67.1 -35.9*110.3 67.9*244.8 33.6*306.9 40.7*61.0
-77.5*238.2 3:0:0 442800 -57.8*33.5 -54.4*118.5 82.5*33.8 45.9*277.6 20.4*47.0
-60.5*247.6 4:0:0 446400 -39.2*21.2 -71.9*111.3 57.0*77.0 36.3*243.2 -1.9*47.8
-43.4*262.3 5:0:0 450000 -20.1*11.7 -77.5*41.6 32.4*95.9 15.0*224.2 -22.8*56.0
-25.3*277.7 6:0:0 453600 -4.0*358.1 -61.3*9.3 9.4*111.6 -6.0*210.8 -41.8*68.7 -5.2*291.9 7:0:0 457200 3.6*338.1 -40.9*3.4
-12.3*124.0 -21.6*194.8 -59.4*84.8 18.1*302.6 8:0:0 460800 -1.2*316.0 -20.1*358.0 -32.8*131.3 -27.7*173.6 -76.3*106.5 44.5*304.3 9:0:0 464400 -15.1*296.8 -1.6*347.3 -51.4*129.3 -22.3*151.8
-85.4*255.1 66.9*271.6 10:0:0 468000 -31.1*278.7 9.3*328.4
-64.6*106.0 -7.4*134.1
-68.4*297.5 55.7*210.6 11:0:0 471600 -42.6*255.9 7.2*305.1
-62.5*63.7 12.2*117.8
-49.6*312.4 28.5*196.1 94