Тип работы:
Предмет:
Язык работы:


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

Работа №17946

Тип работы

Бакалаврская работа

Предмет

математика

Объем работы48
Год сдачи2017
Стоимость5750 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
296
Не подходит работа?

Узнай цену на написание


Реферат 3
Введение 4
1. Реализация метода сопряженных градиентов на Julia 5
1.1 Конфигурационный файл 7
1.2 Главная часть программы 8
1.3 Результаты работы программы 14
2. Сравнение скорости работы программы godunovMatrix с
использованием типа BigFloat с программой использующей тип Float64 14
3. Реализация различных версий метода сопряженных градиентов 15
4. Сравнение скорости работы программы godunovMatrix реализованной на julia с программой МСГ реализованной на C++ 22
5. Универсальная интерполяция орбит ГЛОНАСС и GPS по данным IGS 25
6. Чтение и запись файлов в Julia 30
6.1 Сравнение методов чтения и записи в Julia 30
6.2 Метод записи и чтения бинарного файла в Julia 32
7. Сравнение времени работы алгоритма метода сопряженных
градиентов и оператора “AB” в Julia 34
Заключение 37
Список сокращений 38
Список использованных источников 39
Приложения А - В 41 -47


При решении задач космической навигации появляются большие системы линейных алгебраических уравнений (СЛАУ). К примеру, задача определения координат приемника GPS/ГЛОНАСС. По сигналам навигационных спутников получаем разряженную систему из 4 миллионов ненулевых элементов. Требуется найти быстрый и точный способ решения таких систем в числах высокой точности. Один из методов решения СЛАУ - «Метод сопряженных градиентов» (МСГ).
Метод сопряженных градиентов [10] - предназначен для решения систем линейных алгебраических уравнений вида: А ■ х = b, где A - матрица размерности M*N, b - вектор размерности M.
Метод сопряженных градиентов при точных вычислениях приводит к ответу за конечное число шагов, но по сути является итерационным процессом, слабым местом которого является критерий остановки - определение номера шага процесса, после которого точность приближения к решению системы линейных уравнений на данном компьютере не может быть существенно улучшена.
Для тестирования алгоритма МСГ была выбрана СЛАУ Годунова. Эта система является плохо обусловленной. Для размерности равной 200, число обусловленности для СЛАУ Годунова составляет 7.76e16. Эту систему удобно использовать для проведения тестов корректности работы программ для решения СЛАУ, так как её решение для любой размерности легко можно вычислить по формулам. СЛАУ Годунова приведена в приложении А.
Выяснилось, что у МСГ есть множество вариантов реализации алгоритма. В работе будут рассмотрены все найденные варианты алгоритма с целью выявления наиболее быстрого и при этом не уступающего другим алгоритмам в точности нахождения решения. МСГ будет применен для решения СЛАУ, полученной из задачи определения положения спутников по их навигационным сигналам. В процессе исследования МСГ оказалось, что МСГ требователен к точности представления чисел в ЭВМ.
На сегодняшний день набирает популярность язык программирования Julia. Так как в Julia есть специальный тип данных (BigFloat) для работы с числами высокой точности, где мантисса числа указывается пользователем, то в целях ознакомления и изучения языка, алгоритм МСГ будет реализован на Julia. В процессе изучения языка, возникали вопросы, которые не описываются в официальной документации.
Julia[5] — высокоуровневый высокопроизводительный свободный язык программирования с динамической типизацией, созданный для математических вычислений. Эффективен также и для написания программ общего назначения. Julia написана на Си, C++ и Scheme.
На официальном сайте языка программирования Julia указано, что Julia практически не уступает в скорости языку C++. В работе будет проведено сравнение скорости работы программы на языке Julia с подобной программой, написанной на C++.
Необходимо проверить, как изменяется скорость работы программы при использовании чисел высокой точности. Сравниваться будут 2 подобные программы. В одной будет использоваться тип данных BigFloat, в другой - Float64.
Считывание координат спутников из текстовых файлов формата “txt” и составление матрицы в Julia занимает много времени и оперативной памяти. Поэтому поднимается вопрос о наиболее эффективном способе чтения и записи на жесткий диск.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


У метода сопряженных градиентов есть различные вариации алгоритма, но нельзя точно определить, какой работает быстрее и точнее других одновременно. МСГ работает приемлемо, но он требователен к точности представления чисел. Рекомендуется использовать числа большой точности, что замедляет работу программы. Например, для размерности СЛАУ Годунова равной 400 время работы программы при использовании чисел большой точности увеличилось в 57 раз. Но, как показывает практика, для системы размерностью 26004x6 время работы алгоритма МСГ меньше в 1,5 раза, чем время работы встроенного в Julia оператора “AB” при одинаковой точности представления чисел.
Среди всех возможных вариантов чтения-записи в Julia определен наиболее быстрый. Разработана методика быстрого чтения-записи файлов, хранящих координаты, время и названия спутников. Эта методика ускоряет время считывания в 660 раз.



1. Годунов, С.К. Решение систем линейных уравнений - Новосибирск: Наука, 1980.
2. Киреев, И.В. Метод сопряженных градиентов. Красноярск, 2011.
3. Киреев, И.В. Экономичные критерии останова итераций в методе сопряженных градиентов / И.В. Киреев // Вычислительные технологии. - Красноярск, 2015. - Т. 20, № 2.
4. Feng Y. and Zheng Y. Efficient interpolations to GPS orbits for precise wide area applications. GPS Solutions, 2005, vol. 9, pp 67-72 .
5. Julia documentation [Electronic resource] / Bezanson J., Karpinski S., Shah V.B. - Mode of access: https://docs.julialang.org/en/stable.
6. Horemuz, M. and Andersson, J. V. Polynomial interpolation of GPS satellite coordinates. GPS Solutions, 2006, vol. 10, pp 67-72 .
7. Official site of IGS [Electronic resource] / IGS. - Mode of access: http://www.igs.org/products.
8. Saving and loading variables in Julia Data format [Electronic resource] / Holy T. E., Hinsen K., Short T., Kornblith S. - Mode of access:
https: //github .com/ JuliaIO/JLD jl.
9. Schenewerk, M. A brief review of basic GPS orbit interpolation strategies. GPS Solutions, 2003, vol. 6, pp 265-267.
10. Shewchuk J. R. An Introduction to the Conjugate Gradient Method Without the Agonizing Pain. Technical report, School of Computer Science, Carnegie Mellon University, 1994, vol. CMU-CS-94-125.
11. Tsarev, S. P., Pustoshilov, A. S. Universal Coefficients for Precise Interpolation of GNSS Orbits from Final IGS SP3 Data. 2017 International Siberian Conference on Control and Communications, SIBCON 2017 - Proceedings 2017.
12. Ushakov Yu. Evaluation of acceleration and motion model parameters of a space vehicle from IGS final orbits. 2013 International Siberian Conference on
Control and Communications, SIBCON 2013 - Proceedings 2013, Article number 6693594.
13. Xue S. and Yang Y. Recursive algorithm for fast GNSS orbit fitting. GPS solutions, 2016, vol. 20, 151-157.
14. Yousif H. and El-Rabbany A. Assessment of Several Interpolation Methods for Precise GPS Orbit. The journal of navigation, 2007, vol. 60, pp 443-455.


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ