67616

Исследование движения навигационных спутников GPS

Курсовая

Астрономия и авиация

Навигационные определения, в частности, вычисление координат потребителя в навигационном приемнике производится с использование координат видимых пользователем навигационных спутников.

Русский

2014-12-21

701 KB

46 чел.

НАЦИОНАЛЬНЫЙ АВИАЦИОННЫЙ УНИВЕРСИТЕТ

КАФЕДРА АЭРОНАВИГАЦИОННЫХ СИСТЕМ

КУРСОВАЯ РАБОТА

С дисциплины: “Моделирование АНС”

На тему: «Исследование движения навигационных спутников GPS»

                                                                                         Выполнил:

                                                                                                               С-та группы 501Мз

                                                                                           Рыбак М.И.

Киев-2014


ОГЛАВЛЕНИЕ

 Цели работы………………………………………………………………………………………3

 ВВЕДЕНИЕ……………………………………………………………………………………....3

[1]  Сведения из теории

[1.1] Алгоритм расчета траекторий движения навигационных спутников GPS

[1.2] Эфемериды и альманах навигационных спутников

[1.2.1] Протоколы передачи данных с навигационных спутников GPS

[1.2.2] Данные альманаха YUMA

[1.2.3] Данные альманаха SEM

[1.2.4] Время привязки данных альманаха

[2] Задание и порядок выполнения лабораторной работы

[3] Порядок выполнения лабораторной работы

[4] Примеры исследования

[5] Приложения

[5.1] Приложение 1. Листинг программы «Orbita_GPS1.m».

[5.2] Приложение 2. Листинг программы «Yuma_GPS_Alm1.m».

[5.3] Приложение 3. Листинг программы «Tim.m».

[5.4] Приложение 4. Листинг программы «ECEFLLH.m».

[5.5] Приложение 5. Листинг программы «LLHECEF.m».

[5.6] Приложение 6. Листинг программы «Example_Orbita.m».

[6] Рекомендуемая литература


Контрольная работа «Исследование движения навигационных спутников GPS»

Цели работы:

  1.  Изучение орбитального движения навигационных спутников GPS.
    1.  Расчета координат орбиты спутника GPS на любой момент времени.
      1.  Изучение данных альманаха спутников GPS.
        1.  Изучение элементов системы MatLab для инженерных применений.

Введение

Навигационные определения, в частности, вычисление координат потребителя в навигационном приемнике производится с использование координат видимых пользователем навигационных спутников. Для определения координат потребителя в трехмерном пространстве необходимо навигационных спутников и измеренные псевдодальности до навигационных спутников. В данной работе решается первая часть задачи – определяются координаты навигационных спутников по данным, передаваемым со спутников и декодированным в навигационном приемнике. Эта составляющая является одной из основных процедур в общем комплексе программ вторичной обработки.

  1.   Сведения из теории

  1.  Алгоритм расчета траекторий движения навигационных спутников GPS

Для расчета координат навигационных спутников GPS по данным оперативной и неоперативной информации, передаваемой со спутников, интерфейсный контрольный документ по GPS [ 1 ] предлагает следующий алгоритм расчета.

Координаты спутников в геоцентрической фиксированной системе координат (ECEF) рассчитываются по формулам:

.      (g. 1)

Скорректированная долгота восходящего узла () определяется из соотношения

.      (g. 2)

Координаты навигационного спутника в орбитальной плоскости:

.         (g. 3)

Скорректированное наклонение орбиты спутника:

.        (g. 3)

Скорректированный радиус орбиты спутника:

.        (g. 4)

Скорректированный аргумент широты:

.         (g. 5)

Поправка для коррекции аргумента широты:

.       (g. 6)

Поправка для коррекции радиуса:

.       (g. 7)

Поправка для коррекции наклонения:

.       (g. 8)

Аргумент широты:

.          (g. 9)

Эксцентрическая аномалия:

.        (g. 10)

Истинная аномалия:

.   (g. 11)

Уравнение Кеплера для эксцентрической аномалии, решаемое методом итераций:

.         (g. 12)

Средняя аномалия:

.         (g. 13)

Скорректированное среднее движение:

.          (g. 14)

Время отсчитываемое от опорной эпохи эфемерид:

,          (g. 15)

где :

t- системное время GPS на момент передачи сообщения (время скорректированное на величину задержки прохождения сигнала от спутника до потребителя, равную отношению дальности к скорости света);

tk – текущий момент времени. Этот параметр должен соответствовать истинной разности между системным временем GPS (t) и опорным временем задания эфемерид (toe) и учитывать момент перехода «начало/конец» недели. Учет момента перехода «начало/конец» недели производится так: если tk больше «302400» секунд, то из tk вычитается «604800» секунд; если tk меньше «-302400» секунд то к  tk прибавляется «604800» секунд («604800»- количество секунд в одной неделе.

Расчетное среднее движение:

,          (g. 16)

где - большая полуось эллиптической орбиты навигационного спутника.

В выражениях (g. 1- g. 16)

параметры: Crs, Δn, M0, Cuc, e, Cus, , toe передаются с навигационного спутника в подкадре 2 (их содержание описано в [1]);

параметры: Cic, , Cis, i0, Crc, ω,  (OMEGADOT), IDOT  передаются с навигационного спутника в подкадре 3 (их содержание описано в разделе 20 [1]);

параметры:

метр3/сек2 и радиан/сек есть элементы WGS-84.

Геометрический диапазон. Потребитель должен учитывать эффекты из-за скорости вращения Земли (см. Табл. 20-IV [1] ) в течение времени распространения сигнала , чтобы оценить задержку в пути в инерциальной системе координат. Определено, если потребитель работает в геостационарных координатах он должен прибавить к координатам (х, у, z).

 При расчете траектории движения навигационного спутника по данным альманаха в выражениях (g. 3 - g. 5) не учитываются поправки.

  1.  Эфемериды и альманах навигационных спутников

  1.  Протоколы передачи данных с навигационных спутников GPS

Основные данные оперативной и неоперативной информации спутников GPS приведены в таблице 1. Эти данные можно непосредственно получить с навигационного приемника или «скачать» с соответствующих сайтов организаций, занимающихся вопросами наблюдения за навигационными спутниками.

Таблица 1

№ п/п

Символьное обозначение параметра

Наименование параметра в редакции ICD-GPS-200C

Наименование параметра в русской редакции SARPS  по GNSS

Размерность

1

Week

Неделя

2

HEALTH

Здоровье спутника

3

M0

Mean Anomaly at Reference Time

Средняя аномалия на время привязки

Полуцикл

4

Δn

Mean Motion Difference From Computed Value

Отличие среднего движения от расчетного значения

Полуцикл/секунду

5

e

Eccentricity

Эксцентриситет

6

(A)1/2

Square Root of the Semi-Major Axis

Корень квадратный из большой полуоси орбиты спутника

метр1/2

7

(OMEGA)0

Longitude of Ascending Node of Orbit Plane at Weekly Epoch

Долгота восходящего узла орбитальной плоскости на недельную эпоху

Полуцикл

8

i0

Inclination Angle at Reference Time

Угол наклонения орбиты спутника наклонение орбиты спутника

Полуцикл

9

ω

Argument of Perigee

Аргумент перигея

Полуцикл

10

OMEGADOT

Rate of Right Ascension

Скорость изменения прямого восхождения

Полуцикл/секунду

11

IDOT

Rate of Inclination Angle

Скорость изменения угла наклонения

Полуцикл/секунду

12

Cuc

Amplitude of the Cosine Harmonic Correction Term to the Argument of Latitude

Амплитуда косинусной гармонической поправки к аргументу широты

Радиан

13

Cus

Amplitude of the Sine Harmonic Correction Term to the Argument of Latitude

Амплитуда синусной гармонической поправки к аргументу широты

Радиан

14

Crc

Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius

Амплитуда косинусной гармонической поправки к радиусу орбиты спутника

Метр

15

Crs

Amplitude of the Sine Harmonic Correction Term to the Orbit Radius

Амплитуда косинусной гармонической поправки к углу наклонения

Метр

16

Cic

Amplitude of the Cosine Harmonic Correction Term to the Angle of Inclination

Амплитуда косинусной гармонической поправки к углу наклонения

Радиан

17

Cis

Amplitude of the Sine Harmonic Correction Term to the Angle of Inclination

Амплитуда синусной гармонической поправки к углу наклонения

Радиан

18

toe

Reference Time Ephemeris (reference paragraph 20.3.4.5)

Опорное время привязки передаваемых эфемерид

Секунды

19

IODE

Issue of Data (Ephemeris)

Идентификатор набора данных эфемерид.

20

TGD

Параметры коррекции шкалы времени

Секунды

21

toc

Секунды

22

af2

с/с2

23

af1

с/с

24

af0

Секунды

25

ID

№ спутника

  1.  Данные альманаха YUMA

В таблице 2 приведены данные (для одного спутника), которые предоставляются файлами «Yuma127.txt». Эти данные отличаются от ICD-GPS-200C тем, что полуциклы переведены в радианы, наклонение орбиты дано в абсолютном значении.

Таблица 2

******** Week  127 almanac for PRN-01 ********

№ п/п согласно:

Таблицы 1

YUMA

25

1

ID:

01

2

2

Health:

000

5

3

Eccentricity:

0.5316257477E-002

18*

4

Time of Applicability(s):

319488.0000

8

5

Orbital Inclination(rad):

0.9676147078

10

6

Rate of Right Ascen(r/s):

-0.8228914196E-008

6

7

SQRT(A)  (m 1/2):

5153.642090

7**

8

Right Ascen at Week(rad):

-0.6743253709E+000

9

9

Argument of Perigee(rad):

-1.715832787

3

10

Mean Anom(rad):

-0.6197765497E+000

24***

11

Af0(s):

0.2136230469E-003

23****

12

Af1(s/s):

0.0000000000E+000

1

13

week:

127

  1.  Данные альманаха SEM

В таблице 3 приведены данные (для одного спутника), которые предоставляются файлами «Sem127.txt». Эти данные соответствуют ICD-GPS-200C. Для работы с ними в программах собственной разработки необходимо полуциклы перевести в радианы, а к отклонению наклонения орбиты спутника прибавить номинал 0.3 и результат перевести в радианы.

Таблица 3

28  CURRENT.ALM

127    319488

week:……toa по ICD-GPS-200C

1

PRN по ICD-GPS-200C

32

1

URA по ICD-GPS-200C

0.53162574768066E-0002

0.80013275146484E-0002

-0.26193447411060E-0008

№5 таблицы 1 (e)

№8 таблицы 1

10 таблицы 1

0.51536420898438E+0004

-0.21464443206787E+0000

-0.54616653919220E+0000

№6 таблицы 1

№7 таблицы 1

9 таблицы 1

-0.19728100299835E+0000

0.21362304687500E-0003

0.00000000000000E+0000

№3 таблицы 1

№24 таблицы 1

23 таблицы 1

0

№2 таблицы 1

9

Конфигурация спутников по ICD-GPS-200C

Примечание: текста обозначенного курсивом в альманахе Sem нет.

  1.  Время привязки данных альманаха

Время привязки данных альманаха определяется номером недели и количеством секунд, прошедших сначала недели. Неделя GPS начинается в ночь с субботы на воскресение ( первый день недели воскресение, седьмой суббота). Значения секунд в днях недели приводятся в таблице 4.

№ дня

Название дня

Секунды в дне от начала недели

1

Воскресенье

1…86400

61440

2

Понедельник

86401…172800

3

Вторник

172801…259200

4

Среда

259201…345600

319488

5

Четверг

345601…432000

405504

6

Пятница

432000…518400

503808 (19h56m48s)

7

Суббота

518401…604800

589824

  1.  Задание и порядок выполнения лабораторной работы

 2. 1. Разобратать программу расчета траектории движения навигационного спутника по формулам (g. 1- g. 16) для системы  MatLab.

2. 2. Подставить в программу исходные данные для альманаха навигационного спутника из файла альманаха, данного в приложении к настоящей работе. Номер навигационного спутника должен соответствовать номеру компьютера, на котором выполняется работа.

2. 3. Получить выходные данные работы программы в виде трехмерных графических изображения и в виде цифровых значений.

2. 4. Сопоставить полученные результаты с данными лабораторных работ, выполненных ранее.

2. 5. Исследовать траекторию движения спутника в пределах 24 часов и в пределах 10 минут в соответствии с рекомендациями, приведенными в комментариях

2. 6. Проанализировать результаты исследования и сделать выводы.

  1.  Порядок выполнения лабораторной работы

Создайте отдельную папку и скопируйте в нее папку «Орбита_GPS».

Запустите систему «Matlab» и настройте ее на доступ к Вашей папке.

Откройте в системе «Matlab» файл «Orbita_GPS1.m».

Выполните файл «Orbita_GPS1.m». Программа при первом запуске настроена таким образом, что результатом ее выполнения будет графическое окно (рис. 1).

Рисунок 1.- Графическое окно файла «Orbita_GPS1.m» после первого

включения программы

Откройте текст (листинг m- файла «Orbita_GPS1.m»), внимательно изучите его и все комментарии, начинающиеся с символа «%».

Обратите внимание на то, что в файле «Orbita_GPS1.m», имеются следующие программные функции:

Yuma_GPS_Alm1(Dat)- функция чтения данных альманаха,

ECEFLLH(lon, lat,hr) – функция преобразования координат,

Tim(d2,h,min,s) – функция расчета начала отсчета времени.

Перед тем, как продолжить работать с программой «Orbita_GPS1.m», необходимо ознакомиться с данными программными функциями. Для этой цели служит m- файл «Example_Orbita.m».

Откройте файл «Example_Orbita.m» и выполните указания, приведенные в строке 2. В окне MatLab «Command Window» Вы увидите результат выполнения программы в виде цифр, являющихся данными альманаха, но записанными в другом порядке. Сопоставьте полученные данные с данными альманаха и убедитесь в их соответствии.

Выполните указания, приведенные в строке 10. В окне MatLab «Command Window» Вы увидите результат выполнения программы в виде преобразованных координат.

Выполните указания, приведенные в строке 13. В окне MatLab «Command Window» Вы увидите результат выполнения программы в виде данных начала отсчета изучаемого орбитального движения навигационных спутников.

Подставте в файл «Example_Orbita.m» исходные данные с которыми Вы предполагаете работать и повторите все процедуры.

Вернитесь к файлу «Orbita_GPS1.m»), подставьте в него Ваши исходные данные и приступайте к исследованию орбитального движения спутников, последовательно выполняя указания в комментариях к программе.

  1.  Примеры исследования

Пример 1. Орбиты 27 спутников за 12 часов

Пример 2. Орбита спутника 19 за 23 часа

Пример 3. Доплеровская частота спутника 6 за 23 часа

 

Пример 4. Азимут спутника 23 за 2 недели

Пример 5. Азимут спутника 30 за 2 недели

Пример 6. Видимость 27 спутников за 24 часа

Пример 7. Следы 6 спутников за 12 часов

Пример 8 Проекции орбит 27 спутников на плоскость XY за 12 часов

Пример 9. Дальность до спутника 10.

  1.  Приложения
    1.  Приложение 1. Листинг программы «Orbita_GPS1.m».

clear all

%Входные данные

%Для работы с данной программой необходимо иметь текстовый

%файл альманаха в формате Yuma и входным данным Dat присвоить

% имя этого файла

Dat = '02_11_15_30.alm';

%Dat = 'имя файла альманаха, с которым Вы быдете работать';

%Данные о начале отсчета

d2='11/02/2004';h=10.0;min=0.0;s=0.0;

%В строку 11 или 12 введите дату и время,с которым Вы быдете работать

%d2='12/30/2004';h=12.0;min=0.0;s=0.0;

%d2='03/21/2003';h=9.0;min=49.0;s=40.0;

%Координаты позиции приемника:lat,lon -(радианы),hr-метры

lat=0.881278698506528;

%lat= pi/4;

lon=0.53169758803674;

hr=122.899802776054;

%В строки 18, 19, 20 введите координаты приемника,с которым Вы быдете работать

%lat=0.881278698506528;

%lon=0.53169758803674;

%hr=122.899802776054;

%Постоянные

%Скорость вращения Земли

OMEGAeDOT=7.2921151467e-005;

%OMEGAeDOT=0;

mu=398600500000000;

%Шаг с каким будут рассчитываться параметры орбит (step,секунды)

%step=60;

%Количество точек (L), в которых будут рассчитываться параметры орбит

%L=12*3600/step,L читается так: количество часов (например,12)

%*число секунд в часе (3600) деленное на шаг (step)

%L=12*3600/step;

step=60;

L=24*1*3600/step;

%В строки 35, 36 введите step и L, с которыми Вы будете работать

%step = 3600;

%L=24*3600/step;

%Задание цветов для графики

j_color = 0;

color6(1:14) = ['k' 'b' 'g' 'r' 'c' 'm' 'r' ':' 'g' ':' 'b' ':' 'k' 'h'];

%Чтение альманаха

[alm,max_kol] = Yuma_GPS_Alm1(Dat);

kol = 0;

for i = 1 : max_kol

       id = alm(i).ID;

   if id > 0

       kol = kol + 1;

       nom_ns(kol) = id;

   end

       nom_ns;

end

%Преобразование координат

[Rx,Ry,Rz] = ECEFLLH(lon, lat,hr);

%Rx=3504451.023;Ry=2061316.876;Rz=4897990.975;

%Rx=0;Ry=0;,Rz=0;

%Выбор спутников

kol =1;

%nom_ns(1:kol) = [1 3 4 5 6 7 8 9 10];

%В строку 63 введите количество спутников, которые Вы хотите исследовать

%kol =9

%В одну из строк 65-71 введите номнра спутников,которые Вы хотите исследовать

%Количество номеров спутников должно совпадать с kol из строки 63

%nom_ns(1:kol) = [1 13 14 26 29];        %1

%nom_ns(1:kol) = [2 5 22 28 30];         %2

%nom_ns(1:kol) = [3 6 7 31];              %3

%nom_ns(1:kol) = [4 11 15 17 24 ];       %4

%nom_ns(1:kol) = [8 9 25 27];            %5

%nom_ns(1:kol) = [10 18 20 21 23];       %6

%nom_ns(1:kol) = [1 3 4 5 6 7 8 9 10 11 13 14 15 17 18 19 20 21 23 24 25 26 27 28 29 30 31] ;

nom_ns(1:kol)=[10];

for k = 1 : kol

 i = nom_ns(k);

%+++++++++++++++++++++++++++++++++++++++++

%Начало отсчета текущего времени

[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 = abs(week - alm(i).Week);

   tk = t(j) + d_wn * 604800 - alm(i).TOA;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

dd = 302400.0 + d_wn * 604800;

while (abs(tk) > dd)

   if tk > dd

   tk = tk - 604800;

   else

       if tk < -dd

           tk = tk + 604800;

       end

           end

end % while

%%%%%%%%%%%%%%%%

%Справочник

%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));

   n=n0;

   %%Mk = C(10,i)+n*tk;

   Mk = alm(i).M0+n*tk;

   e=alm(i).e;

%-----------------------------

   %решить уравнение Кеплера

%-----------------------------------------

  eps = 1.0E-15;

  y = e * sin(Mk);

  x1 = Mk;

  x = y;

  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  %k  

%-----------------------------------------    

   Ek = x;

%--------------------

  F_CONST = 4.442807633E-10;

  deltr = F_CONST * alm(i).e * alm(i).A05 * sin(Ek);

  dt1 =  alm(i).Af0 + alm(i).Af1 * tk + deltr;

  tk = tk - dt1;

%--------------------

nuk =atan2(sqrt(1-alm(i).e^2)*sin(Ek),(cos(Ek)-alm(i).e));

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) = xkk *cos(OMEGAk)-ykk*cos(ik)*sin(OMEGAk);

Yk(j) = xkk*sin(OMEGAk)+ykk*cos(ik)*cos(OMEGAk);

Zk(j) = ykk*sin(ik);

%Дальности до спутников

PR(j) = sqrt((Xk(j) - Rx)^2 +  (Yk(j) - Ry)^2 + (Zk(j) - Rz)^2);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Перевод в географическую систему

%[lons,lats,hrs] = LLHECEF(Xk,Yk,Zk);

%(Llon(j),Llat(j),Hhr(j)) = [lons,lats,hrs];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%DETERMINE IF A CLEAR LINE OF SIGHT EXISTS

   xls  = Xk(j) - Rx;

   yls  = Yk(j) - Ry;

   zls  = Zk(j) - Rz;

range1 = sqrt(xls*xls+yls*yls+zls*zls);

if j>1

    doppler(j-1) = (range1 - range2) * 5.2514 / step;

end

range2 = range1;

%P(i)  =  ralt

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;

%   El(i,j)=satang;

  TT(j) =satang;

      

   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

   %Вариант 2 (азимут)

   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) = atan2(xaz,yaz);

%az(j) = atan2(yaz,xaz);

      %az(j) = atan(yaz/xaz);

end

if az(j) < 0

   az(j) = az(j) + pi*2;

   end  

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

end % j

for j = 1:L

   [Llon(j),Llat(j),Hhr(j)] = LLHECEF(Xk(j),Yk(j),Zk(j));

   if j > 1

       if abs(Llon(j)-Llon(j-1)) > pi

           Llon(j) = Llon(j) + 2*pi;

       end

   end

end

%axis([349258,352798, 2,15]);

%axis([-2.6e7 2.6e7 -2.6e7 2.6e7 -2.6e7 2.6e7]);

% color6(1:14) = ['k' 'b' 'g' 'r' 'c' 'm' 'r' ':' 'g' ':' 'b' ':' 'k' 'h'];

j_color = j_color + 1;

if (j_color > 14 )

   j_color = 1;

end   

S = color6(j_color);

 %Вывод всех графиков на одну панель командой subplot

              %График 1

subplot(4,2,1),plot(t,az(:),S),hold on,xlabel('Время'),ylabel('Угол азимута,радиан')

grid on

              %График 2

subplot(4,2,2),plot(t(1:(j-1)),doppler(:),S),hold on,xlabel('Время'),

 ylabel('Доплеровская частота'),grid on

              %График 3

subplot(4,2,3),polar(az(1:j),t,S),hold on, grid on

              %График 4

subplot(4,2,4),plot(t,TT(:),S),hold on,xlabel('Время'), ylabel('Угол видимости'),grid on

              %График 5

subplot(4,2,5),plot3( Xk(:),Yk(:),Zk(:),S),hold on, xlabel('Координата X')   

ylabel('Координата Y'),zlabel('Координата Z'),grid on               

              %График 6

subplot(4,2,6),plot(Llon(1:j),Llat(1:j),S),hold on, xlabel('Долгота'),ylabel('Широта')

grid on   

              %График 7

subplot(4,2,7),plot(Xk(:),Yk(:),S),hold on,grid on

              %График 8

subplot(4,2,8),plot(t,PR(:),S),hold on, xlabel('Время'),ylabel('Дальность,метр '),grid on

  hold on

% subplot(3,2,5)

%hold on

%subplot(3,2,6),grid on

 % hold on

 

           %1.График зависимости азимута спутников от времени

           %для вывода графика убрать символ %

% figure           

%plot(t,az(:),t,TT(:),S),hold on,xlabel('Время'),ylabel('Угол азимута,радиан'),grid on

% figure

           %2.График зависимости доплеровской частоты от времени

           %для вывода графика убрать символ %

%plot(t(1:(j-1)),doppler(:),S),hold on,xlabel('Время'),ylabel('Доплеровская частота')

%grid on

%figure

           %3.График зависимости азимута спутников от времени в полярной

           %системе координат для вывода графика убрать символ %

%figure

%polar(az(1:j),t,S),hold on, grid on

%figure

%polar(TT(1:j),t,S),hold on, grid on

           %4. График зависимости угла видимости спутника от времени

           %для вывода графика убрать символ %

%plot(t,TT(:),S),hold on,xlabel('Время'), ylabel('Угол видимости'),grid on

 %figure

           %5. График орбит спутников для вывода графика убрать символ %

 %plot3( Xk(:),Yk(:),Zk(:),S),hold on, xlabel('Координата X')   

%ylabel('Координата Y'),zlabel('Координата Z'),grid on     

 %figure

           %6. График следа спутника в координатах широта долгота

           %для вывода графика убрать символ %

%plot(Llon(1:j),Llat(1:j),S),hold on, xlabel('Долгота'),ylabel('Широта')

%grid on   

%figure;

           %7.График проекции орбиты спутника на плоскость XY

           %для вывода графика убрать символ %

%plot(Xk(:),Yk(:),S),,hold on,grid on

%figure;

            %8.График зависимости дальности до спутника от времени

            %для вывода графика убрать символ %

%plot(t,PR(:),S),hold on, xlabel('Время'),ylabel('Дальность,метр '),grid on

           %figure

            

 %hold on

%set(hplot, 'LineWidth',1.5);

%axis off;

%end

%get(hplot,'LineWidth')

%end

[xn,yn,zn,xe,ye]';

%[xn1,yn1,zn1,xe1,ye1]'

end % i

%Данные для котроля

Out= [week,alm(31).Week,max_kol];

clear

  1.  Приложение 2. Листинг программы «Yuma_GPS_Alm1.m».

function [alm,max_kol] = Yuma_GPS_Alm1(Dat)

fid =fopen(Dat,'rt');

max_kol=28;

max_kol = 1;

while not(feof(fid))

   max_kol = max_kol + 1;

   s1=fscanf(fid,'%s',6);

   if not(feof(fid))

       lenstr = length(s1);

       

              

       while (fscanf(fid,'%s',1) == '*')

       end

       str1 = fscanf(fid,'%s',1);

       lenstr = length(str1);

       n_sv = sscanf(str1,'%d');

       strID = str1(1:lenstr);

       ID = sscanf(strID,'%d');  

       alm(ID).ID = ID;   

       

       t_2=fscanf(fid,'%s',1);

       alm(ID).Health=fscanf(fid,'%d',1);

               

       t_3=fscanf(fid,'%s',1);

       alm(ID).e = fscanf(fid,'%g',1);

               

       t_4=fscanf(fid,'%s',3);

       alm(ID).TOA =fscanf(fid,'%g',1);

       t_5=fscanf(fid,'%s',2);

       alm(ID).deltai=fscanf(fid,'%g',1);%i0

       t_6=fscanf(fid,'%s',4);

       alm(ID).OMEGADOT=fscanf(fid,'%g',1);

       while not(fscanf(fid,'%c',1) == ':')

       end

       alm(ID).A05=fscanf(fid,'%g',1);

       t_8=fscanf(fid,'%s',4);

       alm(ID).omega0 =fscanf(fid,'%g',1);

       t_9=fscanf(fid,'%s',3);

       alm(ID).omega=fscanf(fid,'%g',1);

       t_10=fscanf(fid,'%s',2);

       alm(ID).M0=fscanf(fid,'%g',1);

       t_11=fscanf(fid,'%s',1);

       alm(ID).Af0=fscanf(fid,'%g',1);

       t_12=fscanf(fid,'%s',1);

       alm(ID).Af1=fscanf(fid,'%g',1);

       t_13=fscanf(fid,'%s',1);

       alm(ID).Week=fscanf(fid,'%g',1);

       

   end

  %C=A';

%Week_Alm(ID) =  alm(ID).Week;

  

  

     

end

  1.  Приложение 3. Листинг программы «Tim.m».

function [week,modeweek,d,dweek,weeks]=Tim(d2,h,min,s)

%d2='10/35/2003';h=23.0;min=59.0;s=59.0;

%week = ceil(DAYSDIF('1/6/1980',d2,3)/7);% текущая неделя

week = floor(DAYSDIF('1/6/1980',d2,3)/7);% предыдущая неделя

modeweek=week-1024;

d = DAYSDIF('1/6/1980',d2,3);

%dweek=6+fix(d-week*7);

dweek=fix(d-week*7);

weeks=(dweek)*24*60*60+h*60*60+min*60+s;

  1.  Приложение 4. Листинг программы «ECEFLLH.m».

function [Rx,Ry,Rz] = ECEFLLH(lon, lat,hr)

%Преобразование координат

%Входные данные:lon-долгота,lat-широта,h-высота;a,b-большая

%и малая оси эллипсоида

%Выходные данные:Rx,Ry,Rz- координаты в ECEF

%Для WGS-84;

%Rx=3504451.023;Ry=2061316.876;Rz=4897990.975;

%lat=0.881278698506528;lon=0.53169758803674;

%hr=122.899802776054;

a=6378137.0;

b=6356752.314;

 n=a*a/sqrt(a*a*cos(lat)*cos(lat)+b*b*sin(lat)*sin(lat));

 Rx=(n+hr)*cos(lat)*cos(lon);

 Ry=(n+hr)*cos(lat)*sin(lon);

 Rz=(b*b/(a*a)*n+hr)*sin(lat);

 

 

  1.  Приложение 5. Листинг программы «LLHECEF.m».

function [lons,lats,hrs] = LLHECEF(Xk,Yk,Zk)

a=6378137.0;

b=6356752.314;

%X=3504451.023;Y=2061316.876;Z=4897990.975;

%lat=0.881278698506528;lon=0.53169758803674;

%hr=122.899802776054;

   xy = sqrt(Xk*Xk + Yk*Yk);

   thet = atan(Zk*a/(xy*b));

   esq  = 1.0-b*b/(a*a);

 epsq = a*a/(b*b)-1.0;

   lats = atan((Zk+epsq*b*(sin(thet)^3))/(xy-esq*a*(cos(thet)^3)));

   lons = atan2(Yk,Xk);%!

if lons < 0

    lons = 2*pi + lons;

end ;

  n = a*a/sqrt(a*a*cos(lats)*cos(lats) + b*b*sin(lats)*sin(lats));

   hrs = xy/cos(lats)-n;

 %[lat,lon,hr]'

 end

  1.  Приложение 6. Листинг программы «Example_Orbita.m».

clear all

%Закомментируйте все строки, кроме 3 и 9 и исполните программу

%Dat = '02_11_15_30.alm';

%[alm,max_kol] = Yuma_GPS_Alm1(Dat);

%[alm(1:31).ID, alm(1:31).Health,alm(1:31).e, alm(1:31).TOA,...

%alm(1:31).deltai, alm(1:31).OMEGADOT,alm(1:31).A05, alm(1:31).omega0,...

%alm(1:31).omega, alm(1:31).OMEGADOT,alm(1:31).M0, alm(1:31).Af0,...

%alm(1:31).Af1, alm(1:31).Week]'

%max_kol

%Закомментируйте все строки, кроме 11 и 12 и исполните программу

%lat=0.881278698506528;lon=0.53169758803674;hr=122.899802776054;

%[Rx,Ry,Rz] = ECEFLLH(lon, lat,hr)

%Закомментируйте все строки, кроме 14 и 15 и исполните программу

d2='11/02/2004';h=10.0;min=0.0;s=0.0;

[week,modeweek,d,dweek,weeks]=Tim(d2,h,min,s)

  1.  Рекомендуемая литература

1. ICD-GPS-200C (есть электронная копия на компьютере), 160 с.

2. Дьяконов В. П., Абраменкова И. В., Круглов В. В. Matlab 5 с пакетами расширений.- М.:Нолидж. – 2001.- 878 с.

3. Бабак В. П., Конін В. В., Харченко В. П. Супутникова радіонавигація. К. : Техніка.-2004.- 327 с.

PAGE 1


 

А также другие работы, которые могут Вас заинтересовать

13316. Визначення коефіцієнта лінійного розширення тіл методом Менделєєва 444 KB
  Лабораторна робота № 1 Визначення коефіцієнта лінійного розширення тіл методом Менделєєва. Мета роботи: аВивчення теплового розширення твердих тіл. бВизначення коефіцієнта лінійного розширення різних матеріалів методом Менделєєва. Прилади та матеріали: прил...
13317. ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ПОВЕРХНЕВОГО НАТЯГУ РІДИНИ МЕТОДОМ ВІДРИВУ КРАПЛІ 285 KB
  Лабораторна робота № 2 ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ПОВЕРХНЕВОГО НАТЯГУ РІДИНИ МЕТОДОМ ВІДРИВУ КРАПЛІ. Мета роботи: а вивчення властивостей рідкого стану речовини; б експериментальне визначення коефіцієнта поверхневого натягу рідини та дослідження його залежності від
13318. ВИЗНАЧЕННЯ ТЕМПЕРАТУРНОГО КОЕФІЦЇЄНТА ОБЄМНОГО РОЗШИРЕННЯ РІДИН 341.5 KB
  Лабораторна робота №З ВИЗНАЧЕННЯ ТЕМПЕРАТУРНОГО КОЕФІЦЇЄНТА ОБЄМНОГО РОЗШИРЕННЯ РІДИН Мета роботи: а визначення теплового розширення речовин; 2 дослідне визначення коефіцієнта обємного розширення. Прилади і матеріали: прилад Дюлонга і Пті; нагрівам; лаборат
13319. ВИЗНАЧЕНИМ КОЕФІЦІЄНТА ТЕПЛОПРОВІДНОСТІ МЕТАЛІВ КАЛОРИМЕТРИЧНИМ МЕТОДОМ 242 KB
  Лабораторна робота №4 ВИЗНАЧЕНИМ КОЕФІЦІЄНТА ТЕПЛОПРОВІДНОСТІ МЕТАЛІВ КАЛОРИМЕТРИЧНИМ МЕТОДОМ Мета роботи: а вивчення явища тепло переносу; б експериментальне визначення коефіцієнта теплопровідності. Прилади та матеріали: калориметрична установка ваги з ...
13320. ВИЗНАЧЕННЯ ПИТОМОЇ ТЕПЛОТИ ПАРОУТВОРЕННЯ РІДИНИ 236 KB
  Лабораторна робота № 5 ВИЗНАЧЕННЯ ПИТОМОЇ ТЕПЛОТИ ПАРОУТВОРЕННЯ РІДИНИ Мета роботи: а вивчення процесів пароутворення; б експериментальне визначення питомої теплоти пароутворення води при температурі кипіння. Прилади та матеріали: калориметр з мішалкою ки
13321. ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ПОВЕРХНЕВОГО НАТЯГУ РІДИНИ МЕТОДОМ ВІДРИВУ КІЛЬЦЯ 168.5 KB
  Лабораторна робота № 6 ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ПОВЕРХНЕВОГО НАТЯГУ РІДИНИ МЕТОДОМ ВІДРИВУ КІЛЬЦЯ. Мета роботи: а вивчення властивостей рідкого стану речовини; б визначення коефіцієнта поверхневого натягу рідини від типу речовини; в визначення залежності коефі
13322. Визначення коефіцієнта Пуасона методом Клемана і Дезорма 473 KB
  Лабораторна робота №8 Визначення коефіцієнта Пуасона методом Клемана і Дезорма. Мста роботи: аВивчення законів ідеального газу. бЕкспериментальне визначення показника адіабати. Прилади і матеріали: балон з двома кранами рідинний манометр ручний насос. Кор...
13323. Визначення теплоти розчинення солі 460 KB
  Лабораторна робота № 9. Визначення теплоти розчинення солі. Мета роботи: адослідним шляхом визначити теплоту розчинення солі; бустановити залежність теплоти розчинення солі від концентрації розчину. Прилади та матеріали: посудина Дюара термометр мензурка сі...
13324. ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ВНУТРІШНЬОГО ТЕРТЯ ТА СЕРЕДНЬОЇ ДОВЖИНИ ВІЛЬНОГО ПРОБІГУ МОЛЕКУЛ ПОВІТРЯ 400 KB
  Лабораторна робота № 10 ВИЗНАЧЕННЯ КОЕФІЦІЄНТА ВНУТРІШНЬОГО ТЕРТЯ ТА СЕРЕДНЬОЇ ДОВЖИНИ ВІЛЬНОГО ПРОБІГУ МОЛЕКУЛ ПОВІТРЯ Мета роботи: а вивчення основних законів молекулярнокінетичної теорії газів; б експериментальне визначення основних параметрів молекулярн...